SIDNEY GITCOFF TELLES
ANÁLISE DO DESEMPENHO DE ALGORITMOS PARA O RECONHECIMENTO DE OBJETOS APLICADOS EM AMBIENTES RESIDENCIAIS
São Bernardo do Campo 2017
ANÁLISE DO DESEMPENHO DE ALGORITMOS PARA O RECONHECIMENTO DE OBJETOS APLICADOS EM AMBIENTES RESIDENCIAIS
Dissertação de Mestrado, apresentada ao Centro Universitário da FEI para obtenção do título de Mes-tre em Engenharia Elétrica. Orientado pelo Prof. Dr. Flavio Tonidandel.
São Bernardo do Campo 2017
de objetos aplicados em ambientes residenciais / sidney gitcoff Telles. São Bernardo do Campo, 2017.
135 p.
Dissertação - Centro Universitário FEI. Orientador: Prof. Dr. Flavio Tonidandel.
1. Robôs Autônomos Residenciais. 2. Reconhecimento de Objetos. 3. Visão Computacional. 4. Classificação de Objetos. I. Tonidandel, Flavio, orient. II. Título.
Elaborada pelo sistema de geração automática de ficha catalográfica da FEI com os dados fornecidos pelo(a) autor(a).
Versão 2016
ATA DA BANCA EXAMINADORA
Programa de Pós-Graduação Stricto Sensu em Engenharia Elétrica PGE-10
Aluno: Sidney Gitcoff Telles Matrícula: 115319-6
Título do Trabalho: Análise do desempenho de algoritmos para o reconhecimento de objetos aplicados
em ambientes residenciais.
Área de Concentração: Inteligência Artificial Aplicada à Automação Orientador: Prof. Dr. Flavio Tonidandel
Data da realização da defesa: 06/10/2017
ORIGINAL ASSINADA
Avaliação da Banca Examinadora:São Bernardo do Campo, 06 / 10 / 2017.
MEMBROS DA BANCA EXAMINADORA
Prof. Dr. Flavio Tonidandel Ass.: ___________________________________ Prof. Dr. Paulo Sérgio Silva Rodrigues Ass.: ___________________________________ Prof. Dr. Francisco de Assis Zampirolli Ass.: ___________________________________
A Banca Julgadora acima-assinada atribuiu ao aluno o seguinte resultado: APROVADO REPROVADO
Aprovação do Coordenador do Programa de Pós-graduação
________________________________________ Prof. Dr. Carlos Eduardo Thomaz VERSÃO FINAL DA DISSERTAÇÃO
APROVO A VERSÃO FINAL DA DISSERTAÇÃO EM QUE FORAM INCLUÍDAS AS RECOMENDAÇÕES DA BANCA
EXAMINADORA
Agradeço aos meus pais pelo incentivo e total apoio que me foi dado.
Agradeço ao meu orientador Prof. Dr. Flavio Tonidandel, pelo apoio, motivação, pelas sugestões, pelas aulas ministradas, pela oportunidade dada e por acreditar no meu trabalho.
Aos professores do Centro Universitário da FEI pelo incentivo e pelas aulas ministradas: Prof. Dr. Paulo Sergio Silva Rodrigues e Prof. Dr. Plinio Thomaz Aquino Junior.
Aos amigos do grupo da RoboFei, Msc. Claudio de Oliveira Vilão Junior, Msc. Isaac, Aislan, Msc. Thiago P. Homem, Msc. Danilo Perico, Vinícius Nicassio e Msc. Marcos Laure-ano.
Aos amigos do Laboratório @HOME, Leonardo, Lucas, Thiago, Rodrigo, Rafael e Ma-rina pelo apoio, descontração e ajuda.
Ao meu amigo Msc. Eng. Cleber Willian Gomes pelo incentivo em iniciar o curso de mestrado.
Agradeço a minha noiva Giuliana de Gouveia Moia pelo total apoio, incentivo e compa-nheirismo nas horas mais difíceis.
Agradeço a Capes pela bolsa de estudos de mestrado.
E o último e mais importante agradecimento à minha querida Avó Maria de Lourdes Ferreira Peres, um exemplo de pessoa. Confiou em minha capacidade e me deu muita força. Hoje não está mais entre nós fisicamente, mas sempre esteve em meus pensamentos quando precisei de respostas para os problemas que enfrentei durante esse 1 ano de sua partida.
A visão computacional e os desafios de trabalhar dentro do campo de reconhecimento de objetos para robôs autônomos residenciais motivam o desenvolvimento de novas técnicas e o estudo para encontrar os seus melhores resultados. Extrair informações de uma imagem envolve em observar a imagem toda, pixel a pixel, à procura de informações relevantes em uma determinada região. Reunir essas informações e distinguir os conjuntos de dados é um dos principais desafios durante o reconhecimento de objetos. A insuficiência do conhecimento de qual a melhor técnica para cada tipo de objeto em estudo (retangular, cilíndrico e irregular), juntamente com as variações que podem ocorrer na imagem (borrões, ruídos, iluminação, entre outros), tornam aleatórias as utilizações das técnicas, podendo perder em eficiência e desempe-nho. Este trabalho estudou as técnicas para reconhecimento de objetos para robôs autônomos residenciais com o foco na competição da RoboCup, categoria @Home, com o intuito de anali-sar, para cada objeto deste estudo, qual é a melhor técnica a ser utilizada. As técnicas escolhidas para o experimento foram SIFT, SURF, ORB, HAAR e HOG, sendo que, essas duas últimas, HAAR e HOG, não atenderam aos requisitos mínimos para a competição e foram retirados do experimento deste trabalho. Assim, os testes executados com as técnicas SIFT, SURF e ORB, tiveram resultados expressivos para a descrição dos objetos em cena. Para a classificação das informações geradas, foi utilizado o classificador SVM, que gerou as Matrizes de Erro (Matri-zes de Confusão), com as quais foram feitos todos os cálculos e comparativos para determinar qual técnica se comportou melhor para cada tipo de objeto. Dois testes foram realizados: Di-visão (base de imagens da ALOI) verificou qual a quantidade mínima de imagens necessárias para treino, para que cada técnica tenha bons resultados; Luminosidade (base de imagens da ALOI e base de imagens do ambiente real) verificou o desempenho em reconhecer objetos com diferentes incidências de luz para cada técnica. No primeiro teste identificou-se que, para o bom funcionamento das técnicas, foi necessário, no mínimo, 30% de imagens para treino. No se-gundo teste, determinou-se qual foi a melhor técnica para cada tipo de objeto. O SIFT e o ORB tiveram bons desempenhos para os objetos cilíndricos, SURF para os retangulares e, por fim, o SURF e o ORB para os objetos do tipo irregulares. Chegou-se a conclusão que, a junção das três técnicas é a melhor solução para o reconhecimento da gama de tipos de objetos estudado neste trabalho.
Palavras-chave: Robôs Autônomos Residenciais. Reconhecimento De Objeto. Visão Compu-tacional. Classificação De Objetos.
The Computer vision and the challenges of working in the object recognition field for residential autonomous robots motivate the development of new techniques and the study to find the best results. Extracting information from an image means to observe the whole picture, pixel by pixel, searching for relevating information in a determined region. To group this infor-mation and distinguish the data sets is one of the main challenges during the object recognition. The knowledge insufficiency of which technique is the best for each kind of object being studied (rectangular, cylindrical and irregular), along with the variations that may occur in the image (blur, noises, illumination, and many others), make the utilization of the techniques to become random, causing a loss in efficiency and performance. This work studied the techniques within the object recognition for residential autonomous robots with the focus turned into the RoboCup competition, @Home category, in order to analyze, for each object in this study, which is the best technique that should be used. The chosen techniques to this experiment were SIFT, SURF, ORB, HAAR and HOG, however HAAR and HOG couldn’t attend to the competition minimum requirements, so they were taken out of this work experiments. Thus, SIFT, SURF and ORB tests had expressive results for the description of the objects presented in the scene. For the generated information classification, the SVM was used as a classificatory, which created Er-ror Matrix (Confusion Matrix), allowing then to make all the calculations and comparisons to determinate which technique had the best behavior for each object type. Two tests were re-alized: Division (ALOI image database) verified the minimum quantity of images necessary for the training, so that every technique had good results; Luminosity (ALOI database and real environment images database) verified the object recognition performance with different light incidence for each technique. In the first test, it was observed that, for a good performance in the techniques, it was necessary to have at least 30% of the images for the training. In the second test, was verified which was the best technique for each object type. SIFT and ORB had good results for cylindrical objects, SURF for the rectangular objects and, at end, SURF and ORB with the irregular ones. It was concluded that grouping these three techniques is the best solution for the object set type recognition studied in this work.
Keywords: Residential Autonomous Robots. Object Recognition. Computer Vision. Object Classification.
Ilustração 1 – Pirâmide gaussiana. . . 30
Ilustração 2 – Processo para encontrar os melhores pontos chaves (detalhes definidos no texto). . . 31
Ilustração 3 – Construção do descritor do ponto de interesse. . . 32
Ilustração 4 – Características SIFT do cenário correspondendo com as do treinamento. . 33
Ilustração 5 – Retângulos para identificação de pontos HAAR. . . 34
Ilustração 6 – Retângulos para identificação de pontos HAAR com adicionais inclinados. 34 Ilustração 7 – Sequência para identificação de pessoas na rua. . . 35
Ilustração 8 – Retângulos para detecção dos pontos chaves. . . 37
Ilustração 9 – Pirâmide invertida. . . 38
Ilustração 10 – Pontos de interesse encontrados em espaços de escalas diferentes. . . 39
Ilustração 11 – Filtros ondaletas de HAAR nas direções x e y, respectivamente. . . 39
Ilustração 12 – Determinando orientação do vetor dos pontos chaves. . . 39
Ilustração 13 – Ponto de interesse com a orientação. . . 40
Ilustração 14 – Orientação dos vetores dos pontos chaves do cenário. . . 40
Ilustração 15 – Correspondência dos pontos utilizando ORB. . . 42
Ilustração 16 – Exemplo de classificação do SVM. . . 43
Ilustração 17 – Gráfico de comparativo da execução das técnicas. . . 46
Ilustração 18 – Símbolos utilizados para diferenciar jogadores no campo de futebol de robôs. . . 47
Ilustração 19 – Desempenho do algoritmo SIFT com CPU e GPU. . . 48
Ilustração 20 – Câmera Logitech C920 PRO 15MP Full HD. . . 52
Ilustração 21 – Diagrama de bloco da arquitetura utilizada neste trabalho. . . 53
Ilustração 22 – Imagem de um objeto da base de dados ALOI com variação de Lumino-sidade. . . 54
Ilustração 23 – Configuração do ambiente da ALOI para extração das imagens. . . 54
Ilustração 24 – Fluxograma das metodologias aplicadas nos experimentos. . . 56
Ilustração 25 – Diagrama de atividade para extração de imagens. . . 57
Ilustração 26 – Arena RoboCup@Home. . . 58
Ilustração 27 – Prateleira com os objetos. . . 59
Ilustração 28 – Imagem dos objetos da base de dados ALOI escolhidos para os testes. . . 61
Ilustração 29 – Imagem do objeto cilíndrico com pouca e muita luminosidade para reco-nhecimento. . . 62
Ilustração 30 – Imagem do objeto retangular com pouca e muita luminosidade para reco-nhecimento. . . 62
Ilustração 31 – Imagem do objeto irregular com pouca e muita luminosidade para reco-nhecimento. . . 62
do vetor de Teste - SIFT ALOI. . . 64
Ilustração 33 – Gráfico das médias das precisões geradas com a variação de luminosidade para cada classe - SIFT ALOI. . . 65
Ilustração 34 – Gráfico do desvio padrão e erro padrão - SIFT ALOI. . . 66
Ilustração 35 – Gráfico dos valores da precisão pela divisão dos dados em porcentagem de teste - SURF ALOI. . . 67
Ilustração 36 – Gráfico das médias das precisões geradas com a variação de luminosidade para cada classe - SURF ALOI. . . 68
Ilustração 37 – Gráfico do desvio padrão e erro padrão - SURF ALOI. . . 69
Ilustração 38 – Gráfico dos valores da precisão pela divisão dos dados em porcentagem de teste - ORB ALOI. . . 70
Ilustração 39 – Gráfico das médias das precisões geradas com a variação de luminosidade para cada classe - ORB ALOI. . . 71
Ilustração 40 – Gráfico do desvio padrão e erro padrão - ORB ALOI. . . 71
Ilustração 41 – Gráfico de média das técnicas - ALOI. . . 72
Ilustração 42 – Gráfico de desvio padrão e erro padrão das técnicas - ALOI. . . 72
Ilustração 43 – Prateleira do laboratório com os objetos dispostos. . . 73
Ilustração 44 – Cenário para extração das imagens para formação da base de imagens do laboratório. . . 74
Ilustração 45 – Imagem dos objetos da base de dados do lab. . . 74
Ilustração 46 – Cenário para extração das imagens do ambiente. . . 75
Ilustração 47 – Imagem do objeto caixa extraída do laboratório. . . 76
Ilustração 48 – Imagem do objeto lata extraída do laboratório. . . 76
Ilustração 49 – Imagem do objeto irregular extraídas do laboratório. . . 76
Ilustração 50 – Gráfico das médias das precisões geradas com a variação de luminosidade para cada classe - SIFT lab. . . 77
Ilustração 51 – Gráfico do desvio padrão e erro padrão - SIFT lab. . . 78
Ilustração 52 – Gráfico das médias das precisões geradas com a variação de luminosidade para cada classe - SURF lab. . . 79
Ilustração 53 – Gráfico do desvio padrão e erro padrão - SURF lab. . . 79
Ilustração 54 – Gráfico das médias das precisões geradas com a variação de luminosidade para cada classe - ORB lab. . . 80
Ilustração 55 – Gráfico do desvio padrão e erro padrão - ORB lab. . . 80
Ilustração 56 – Gráfico de média das técnicas - lab. . . 81
Tabela 1 – Tabela das técnicas utilizadas pelas equipes na competição RoboCup . . . . 49 Tabela 2 – Tabela da arquitetura do computador utilizado. . . 53 Tabela 3 – Resultados finais . . . 83
BRIEF Binary Robust Independent Elementary Features. FAST Features from Accelerated Segment Test.
HOG Histogram of Gradients.
ORB Oriented FAST and Rotated BRIEF. SIFT Scale Invariant Feature Transform. SURF Speed-Up Robust Features.
1 INTRODUÇÃO . . . 21 1.1 OBJETIVO . . . 22 1.2 MOTIVAÇÃO . . . 22 1.3 JUSTIFICATIVA . . . 23 1.4 ORGANIZAÇÃO DO TRABALHO . . . 23 2 REVISÃO TEÓRICA . . . 25 2.1 RECONHECIMENTO DE OBJETOS . . . 25
2.1.1 Introdução à Visão Computacional . . . 25
2.1.2 Detectores De Pontos Chaves . . . 26
2.1.3 Descritores . . . 28
2.1.3.1 Detector de Cantos de Harris . . . 28
2.1.3.2 Scale Invariant Feature Transform (SIFT) . . . 29
2.1.3.3 HAAR . . . 33
2.1.3.4 Histogram of Gradients (HOG) . . . 35
2.1.3.5 Speeded-Up Robust Features (SURF) . . . 36
2.1.3.6 Oriented FAST and Rotated BRIEF (ORB) . . . 41
2.1.4 Classificadores . . . 42
2.1.4.1 Support Vector Machine (SVM) . . . 42
3 TRABALHOS RELACIONADOS . . . 45
4 ANÁLISE DE ALGORITMOS PARA RECONHECIMENTO DE OBJE-TOS . . . 51
4.1 MATERIAIS E MÉTODOS . . . 51
4.2 ARQUITETURA . . . 51
4.3 BASE DE IMAGEM . . . 53
4.4 METODOLOGIA . . . 55
4.4.1 Desempenho pela Divisão . . . 55
4.4.2 Desempenho com Alteração de Luminosidade . . . 55
4.5 DOMÍNIO . . . 58
4.5.1 Reconhecimento de Objetos . . . 58
5 EXPERIMENTOS E RESULTADOS . . . 61
5.1 EXPERIMENTO 1 - BASE DA ALOI . . . 61
5.1.1 Experimento - SIFT . . . 64
5.1.1.1 Desempenho Pela Divisão . . . 64
5.1.1.2 Desempenho com Alteração de Luminosidade . . . 65
5.1.2 Experimento - HAAR . . . 66
5.1.3 Experimento - HOG . . . 66
5.1.4.2 Desempenho com Alteração de Luminosidade . . . 68 5.1.5 Experimento - ORB . . . 69 5.1.5.1 Desempenho Pela Divisão . . . 69 5.1.5.2 Desempenho com Alteração de Luminosidade . . . 70 5.2 DISCUSSÃO - COMPARANDO OS RESULTADOS COM A BASE ALOI . . 71 5.3 EXPERIMENTO 2 - LABORATÓRIO . . . 73 5.3.1 Experimento - SIFT . . . 77 5.3.1.1 Desempenho com Alteração de Luminosidade . . . 77 5.3.2 Experimento - SURF . . . 78 5.3.2.1 Desempenho com Alteração de Luminosidade . . . 78 5.3.3 Experimento - ORB . . . 79 5.3.3.1 Desempenho com Alteração de Luminosidade . . . 79 5.4 DISCUSSÃO - COMPARANDO OS RESULTADOS DO LABORATÓRIO . . 81 6 CONCLUSÃO . . . 83 REFERÊNCIAS . . . 85 APÊNDICE A – Dados Coletados dos Experimentos - Precisão Pela Divisão 89 APÊNDICE B – Dados Coletados dos Experimentos - Desempenho Com Alteração De Luminosidade . . . 127
1 INTRODUÇÃO
Quando se fala em robôs autônomos residenciais, uma das coisas que vem à mente é: como o robô enxergará os objetos e como irá distinguir um dos outros na tomada de decisão? O principal sensor utilizado é a câmera, por onde entram as informações necessárias e importantes para o processamento e para o auxílio da tomada de decisão.
Com dados capturados pela câmera, houve a necessidade do processamento e interpre-tação da imagem, o que motivou o desenvolvimento da área conhecida como visão computaci-onal, que nada mais é do que, os diversos processamentos das imagens capturadas do mundo real para o digital. Surgindo assim, muitas técnicas que façam o processo de extração de in-formações relevantes das imagens que possibilitaram a tomada de decisão. Assim, juntando as informações extraídas da imagem com a tomada de decisão, surge o reconhecimento de objetos. Existem técnicas de processamento de imagem para descrever e classificar todas as in-formações capturadas pela câmera. Algumas dessas técnicas efetuam a descrição da imagem, tais como, por extração de cantos (HARRIS; STEPHENS, 1988), extração de pontos chaves (LOWE, 1999; BAY et al., 2008; RUBLEE et al., 2011), extração de características (VIOLA; JONES, 2001; DALAL; TRIGGS, 2005), reconhecimento pelas características globais de um objeto (RODRIGUES, P. S.; ALBUQUERQUE ARAÚJO, 2002), entre muitas outras. Na clas-sificação das informações geradas pelos descritores, existem técnicas que utilizam separadores de dados em um plano com uma reta baseada em seus delimitadores (CORTES; VAPNIK, 1995). Alguns aplicam diversos classificadores para serem mais robustos (FREUND; SCHA-PIRE, 1995) e, diversos outros, classificam os dados que foram encontrados dos descritores das imagens processadas pela câmera do robô do mundo real para o digital.
As técnicas utilizadas neste trabalho para extração das características da imagem, são todas baseadas nos cálculos de gradientes de imagem, isto é, as técnicas aplicam equações para encontrarem características importantes na imagem e, ao final de todos os processos, os gradi-entes são uns dos mais importantes a serem considerados. As técnicas que serão apresentadas neste trabalho (Seção 2.1.3) que utilizam cálculos de gradientes serão: Detector de Canto de Harris (HARRIS; STEPHENS, 1988), SIFT (LOWE, 1999), HAAR (VIOLA; JONES, 2001), HOG (DALAL; TRIGGS, 2005), SURF (BAY et al., 2008), ORB (RUBLEE et al., 2011). E na classificação dos dados extraídos da imagem, onde serão extraídos os resultados do reco-nhecimento de objetos, será apresentado o SVM (CORTES; VAPNIK, 1995), que consiste em um separador de dados em um plano guiado por dois vetores de suporte, que são encontrados à partir dos máximos e mínimos da amostra (Subseção 2.1.4.1). Um classificador com boa generalização, depende de ajustes finos dos parâmetros para que execute uma boa separação e consiga concluir, através de matrizes de confusão, a precisão de acerto sobre qual objeto está na imagem.
No entanto, apesar das técnicas existentes, diversos são os problemas para o reconhe-cimento de objetos em robôs autônomos residenciais. Como por exemplo, as quantidades de
formas diferentes de objetos, variações na luminosidade, diferença de escala, rotação e até obs-trução parcial, variáveis que não podem ser desconsideradas durante qualquer formulação de solução de problemas em residências. A visão computacional de um robô autônomo é extre-mamente sensível a essas variações do ambiente que um objeto pode ter, mesmo sendo em pequena proporção, resultando na não extração ou classificação das informações na imagem corretamente.
Thomas Wissepeintner et al. (2009) criaram uma categoria a qual chamaram de @Home (BEEK et al., 2017) em uma das mais famosas e importantes competições de robótica mundial, a RoboCup, com o principal objetivo de incentivar pesquisadores do mundo todo a desenvolverem pesquisas na área de robôs autônomos residenciais. O principal propósito é o desenvolvimento e compartilhamento de novas tecnologias para esse âmbito, a fim de colaborar com o mundo científico e trazer novas formas de resolver os problemas mais complexos (WISSPEINTNER et al., 2009).
Assim, este trabalho pretende contribuir para demonstrar qual técnica é a melhor para reconhecer um determinado tipo de objeto, seja ele cilíndrico, ou retangular, ou irregular, per-mitindo que seja possível juntar técnicas que obtiverem melhores resultados com intuito de reconhecer a maior quantidade possível de objetos, mesmo em condições adversas encontradas em residências e nos ambientes de competição da RoboCup@Home.
1.1 OBJETIVO
O objetivo deste trabalho é estudar a acurácia e o desempenho das técnicas SIFT (LOWE, 1999), HAAR (VIOLA; JONES, 2001), HOG (DALAL; TRIGGS, 2005), SURF (BAY et al., 2008) e ORB (RUBLEE et al., 2011), utilizando o classificador SVM (CORTES; VAPNIK, 1995), para identificar três tipos diferentes de objetos: cilíndricos, retangulares e irregulares.
A avaliação será feita utilizando comparativo das matrizes de confusão geradas para cada técnica com os tipos de objetos cilíndricos, retangulares e irregulares. Serão feitas varia-ções no objeto como luminosidade e alteração da posição, afim de testar a robustez da técnica e atribuir um rótulo para cada técnica de qual tipo de objeto (cilíndrico, retangular ou irregular) foi mais robusta em reconhecer. Ao final deste processo, espera-se ter um comparativo entre todas as matrizes de todas as técnicas e as que obtiverem melhor desempenho, sejam unidas em um robô para que tenha sucesso na tarefa de reconhecer diversos objetos na competição RoboCub, categoria @Home, mesmo com ou sem as variações do ambiente.
1.2 MOTIVAÇÃO
A motivação para este trabalho surgiu pela quantidade de técnicas existentes que exe-cutam a extração e classificação dos dados retirados de imagens para efetuar o reconhecimento de objetos. Como em uma residência existem diversos objetos, surgiu a necessidade também
de reconhecer uma gama maior de objetos. Para cada técnica, pouco se sabe sobre qual é a melhor para reconhecer determinados tipos de objetos, mesmo esses estando, ou em posições diferentes, ou com iluminações diferentes. Portanto, a falta de conhecimento de qual a melhor técnica a ser aplicada para cada tipo de objeto e suas variações (luminosidade e posição), que possam existir em residências, motiva o desenvolvimento deste estudo.
1.3 JUSTIFICATIVA
Em uma competição de robôs em ambientes que simulam residências e tarefas diárias, destaca-se a complexidade em reconhecer diversos objetos encontrados ao redor no ambiente, como também, problemas com diferentes posições que os objetos possam assumir, luminosida-des diferentes que podem incidir sobre o objeto, até mesmo obstruções que possam ocorrer por outros objetos ou móveis encontrados em quaisquer residências. Tais dificuldades motivam o estudo para unir técnicas, nas quais cada uma deverá conter um rótulo de mais adequada para cada tipo de objeto e que superem as possíveis variações que possam ocorrer, auxiliando na exe-cução com sucesso das tarefas de reconhecimento de objetos, tanto na competição de robótica como de uso em residências.
1.4 ORGANIZAÇÃO DO TRABALHO
Este trabalho está dividido em 6 capítulos. O primeiro capítulo apresenta os objetivos do trabalho, a justificativa e a forma de organização do mesmo. No capítulo seguinte será apre-sentado o embasamento teórico para compreensão do trabalho. No Capítulo 3, apresentamos estudos relacionados ao trabalho proposto. Os métodos e materiais aplicados neste trabalho são apresentados no Capítulo 4. No Capítulo 5, é descrito o experimento realizado. E por fim, apresenta-se a conclusão deste trabalho.
2 REVISÃO TEÓRICA
Nesta seção é apresentado o referencial teórico dos conceitos necessários para a realiza-ção deste trabalho de pesquisa no que se refere às técnicas que auxiliam no reconhecimento de objetos. Nesta seção é apresentado o reconhecimento de objetos dividido em quatro subseções: Introdução à Visão Computacional, Detectores de Pontos Chaves, Descritores e Classificadores. A primeira subseção trata da introdução à visão computacional. Na segunda subseção é apresentado o que é ponto chave e quais são os requisitos mínimos para encontrar bons pon-tos chaves. Na terceira subseção são descritas as técnicas que auxiliam no reconhecimento de objetos, algumas das quais são baseadas em detectores de pontos chave e outros na extração de características da imagem. E por último, na subseção classificadores, é apresentado a técnica que será utilizada para classificação dos dados gerados pelas técnicas de extração de caracterís-ticas da imagem.
2.1 RECONHECIMENTO DE OBJETOS
Reconhecimento de objetos é um dos ramos na área de visão computacional e, para que seja efetuado, é necessária uma descrição e classificação das características encontradas do cenário com o intuito de identificar e atribuir um rótulo para o objeto visto (GONZALEZ; WOODS, 2000).
Para executar o reconhecimento de um objeto é necessária a utilização de técnicas que façam a detecção de características do objeto alvo (objeto alvo é o que deverá ser reconhecido). Essas técnicas são conhecidas por técnicas de descrição, que serão apresentadas na Seção 2.1.3. Ao final de cada processo de descrição, há a necessidade de processamento das carac-terísticas encontradas do cenário e do objeto alvo. Para isso, são utilizadas técnicas de clas-sificação das características. Existindo diversas delas, uma das técnicas de clasclas-sificação será apresentada na Seção 2.1.4.
2.1.1 Introdução à Visão Computacional
Para melhor entendimento sobre reconhecimento de objetos, esta seção irá apresentar os conceitos básicos de visão computacional. Sabe-se que tudo que vemos é considerado uma imagem e, na área tecnológica tudo que é visto do mundo real e transferido para a tela de um computador é considerado como uma Imagem Digital.
"Uma imagem pode ser definida como uma função bidimensional, f(x,y) em que x e y são coordenadas espaciais (plano), e a amplitude de f em qualquer par de coordenadas (x,y)é chamada de intensidade ou nível de cinza na imagem nesse ponto. Quando x, ye os valores de intensidade de f são quantidades finitas e discretas, chamamos de imagem digital."
Em uma imagem digital existe uma quantidade finita de elementos que possuem loca-lização e valores definidos. Esses elementos são essenciais para a formação da imagem e são conhecidos pelo nome de pixel. Podemos citar, por exemplo, a utilização de critério de diferen-ciação de televisores utilizados no mercado: uma televisão com resolução 1920 x 1080, contem 1920 pixels nas colunas verticais por 1080 pixels em sua linhas horizontais, formando assim uma matriz de pixels que ao se juntarem formam a imagem (GONZALEZ; WOODS, 2000).
Segundo Gonzalez e Woods (GONZALEZ; WOODS, 2000), a visão computacional é o processamento de imagens digitais. Esse processamento é divido em três níveis:
a) baixo Nível - O processo de baixo nível tem como principal foco melhorar a qua-lidade da imagem, como remoção dos ruídos, melhora do contraste, remoções de borrões que podem ocorrer captação da câmera e correções de qualquer tipo de falha que possa ocorrer da aquisição e envio da imagem;
b) médio Nível - O processo de médio nível tenta, de alguma forma, destacar as características em regiões da imagem que sejam importantes, utilizando diversos métodos. Um deles é a segmentação, que faz com que a imagem seja particio-nada em regiões de interesse, podendo também, obter a classificação de objetos individuais. Portanto, extrai da imagem regiões que possam ser úteis ao processo. Neste nível é possível efetuar o reconhecimento de objetos pela forma, quando a segmentação da região é muito específica, pode-se rotular o objeto;
c) alto Nível - O processo de alto nível encontra-se muito mais próximo à cognição humana. Faz a extração e classificação das informações da imagem tendo como auxílio as técnicas de interpretação de objetos e cenas. Em resumo, seria raciocí-nio cognitivo e a inferência de informações de um ser humano ao ver no ambiente um determinado objeto e poder rotulá-lo com um devido nome. Portanto, o alto nível é onde o reconhecimento de objeto é efetuado pelas técnicas que serão apre-sentadas na Subseção 2.1.3.
Apresentaremos as técnicas neste trabalho que utilizam os níveis Baixo e Médio durante a extração de características da imagem e, para a realização deste trabalho será utilizado o Alto Nível.
2.1.2 Detectores De Pontos Chaves
Detectores de pontos chaves fazem parte do processamento de imagem de alto nível, conforme foi visto na Seção 2.1.1, e indica que foi feito todo o processamento da imagem, melhora da qualidade da imagem e seleção da região de interesse, até o alto nível. O principal foco é fazer a verificação na imagem utilizando pixel por pixel à procura de características que possam ser consideradas como importantes (BYEONG-HO, 2007). As técnicas que utilizam a detecção de pontos chaves são SIFT, SURF e ORB (serão apresentados na subseção 2.1.3), e cada uma precisa atender a requisitos de propriedades de cada ponto encontrado na imagem
para que sejam considerados bons pontos chaves. As características importantes para o pro-cesso de procura pelos pontos chaves são vértices, bordas ou regiões, e nela estão contidas as análises de intensidade e cor para que possam encontrar um ponto em que se mantenham es-táveis com relação às variações de escala, ruído, iluminação ou outras propriedades. Portanto, uma característica ou ponto chave é um padrão de imagem local sendo diferente de toda sua vizinhança (TUYTELAARS et al., 2008).
Para que os pontos encontrados na imagem sejam bons pontos chaves, conforme Tuyte-laars et al.(2008) (um dos criadores da técnica SURF (subseção 2.1.3.5)), deverão apresentar as seguintes propriedades:
a) repetibilidade: Quando há duas imagens do mesmo objeto, a quantidade de pon-tos característicos detectados em ambas as imagens deverá ser alta e tendo alta correspondência entre os pontos de cada imagem encontrados. Existem duas pro-priedades para tornar um ponto chave com repetibilidade:
– invariância: Mapear as deformações que poderão ocorrer em uma imagem e, a partir dela, formular matematicamente um método que anule a deformação e mantenha as características do ponto encontrado;
– robustez: Capacidade de tornar o método menos sensível às pequenas varia-ções de deformavaria-ções, tornando-o mais preciso na detecção da característica. As deformações consideradas são: ruídos, borrões, artefatos de compressão, entre outros;
b) distinção: É analisada em volta de cada ponto à procura de padrões de intensi-dade com muita variância, fazendo assim, uma combinação desses elementos para distinguir o ponto encontrado dos demais pontos;
c) localidade: Todas as características devem ser locais. Com isso, reduzir-se-ão as chances de acontecer oclusões, permitindo aproximações simples dos modelos matemáticos de deformações geométricas e fotométricas;
d) precisão: Dependendo da localidade do ponto, a precisão é necessária durante o cálculo de correspondências dos pontos. Podendo ser útil para cálculos de geome-tria epipolar ou calibração de câmera;
e) eficiência: Encontrar as características do ponto para definir se é um ponto chave, devendo ser executado em menor tempo possível.
Há uma grande variedade de detectores de características, muito deles são dependentes do tipo de característica que se deseja encontrar. Existem 3 categorias que são as mais utilizadas na detecção, as quais são: borda, canto ou região (TUYTELAARS et al., 2008).
As propriedades mostradas estão contidas no processamento das técnicas SIFT, SURF e ORB, portanto não serão consideradas neste trabalho como metodologia de análise e compara-tivo com outras aplicações, mas servem como demonstracompara-tivo de que cada ponto encontrado tem sua propriedade e sua avaliação para ser considerado um bom ponto chave.
Na próxima seção serão apresentadas as técnicas de descrição: Detector de Cantos de HARRIS (HARRIS; STEPHENS, 1988); Transformações de Características Invariantes em
Escala (Scale Invariant Features Transform - SIFT) (LOWE, 1999); HAAR (VIOLA; JO-NES, 2001); Histogramas de Gradientes Orientados (Histogram of Gradients - HOG) (DALAL; TRIGGS, 2005); Acelerador de Características Robusto (Speed Up Robust Features - SURF) (BAY et al., 2008) e Orientado FAST e Rotacionado BRIEF (Oriented FAST and Rotated BRIEF - ORB) (RUBLEE et al., 2011).
2.1.3 Descritores
Descritores são técnicas que executam a extração dos pontos chaves ou características de imagens, de um objeto móvel ou imóvel, pessoa, curvaturas de calçadas nas ruas, entre qualquer outro objeto que venha à aparecer na imagem. Durante a extração, essas técnicas deverão seguir as propriedades descritas anteriormente (Seção 2.1.2). Existem diversas técnicas que fazem a extração e descrição e, a seguir, serão apresentadas algumas técnicas, respeitando a ordem em que elas foram inventadas.
2.1.3.1 Detector de Cantos de Harris
O detector de canto de Harris foi proposto por Harris e Stephens (1988) para encontrar cantos da rua para carros autônomos. Seu método utiliza matriz de auto-correlação (Equação 1) para a detecção de características locais em imagens. Ela é conhecida também pelo nome de matriz de segundo momento, descrevendo a distribuição dos gradientes em uma vizinhança local.
Na execução da detecção de cantos é passada uma janela, sendo uma pequena matriz de pixels que começa no canto superior esquerdo e é passada por toda a imagem finalizando na parte inferior direita à procura de pontos onde existam grandes variações de intensidade que podem ser considerados cantos.
M =X x,y w(x,y) ∗ I2 x(x,σD) Ix(x,σD)Iy(x,σD) Ix(x,σD)Iy(x,σD) Iy2(x,σD) , (1)
a) (x,y) é a coordenada do ponto na imagem;
b) w(x,y) é a janela na coordenada do ponto (x,y);
c) I é a intensidade na coordenada do ponto (x,y),
com Ix(x,σD) = ∂ ∂xg(σD∗ I(x)), (2) g(σ) = 1 2πσ2e −x2+y2 2σ2 , (3)
Onde σD é núcleo gaussiano que será utilizado para os cálculos de derivada da imagem local.
utilizando uma escala de integração σI. Após o resultado do cálculo, os pontos da vizinhança
que tiverem alterações de sinais serão considerados os autovalores da matriz de auto-correlação (M). Portanto, para encontrar os cantos de uma imagem, basta observar onde os sinais estão variando e se seus autovalores são altos (HARRIS; STEPHENS, 1988). Como os valores e os autovalores terão que combinar, Harris e Stephens (1988) pensaram em uma equação que pudesse combinar sem ter um custo computacional muito alto. Eles chamaram a equação de Cornerness (Equação 4). Essa equação é utilizada para extrair o ponto chave, o canto, consi-derando os máximos locais utilizando supressão não máxima, fazendo assim, os pontos serem invariantes a rotação, translação e iluminação.
corneness = det(M ) − λtr(M ) (4)
"Onde det(M) é o determinante de M e tr(M) é seu traço, inserindo o traço para redução da resposta dos operadores de contornos retos fortes."(HARRIS; STEPHENS, 1988).
λ é um fator para o traço e geralmente é alternado entre os valores de 0,04 e 0,15 para reduzir
melhor os operadores de contornos retos fortes.
O resultado da Equação 4, sendo alto, aumenta a possibilidade de existência de um canto na região da imagem onde está sendo feita a verificação.
Esta técnica foi apresentada por ser utilizada na base do descritor FAST (TUYTELA-ARS et al., 2008), utilizada para descrever os dados da imagem da técnica ORB (será explicado na Subseção 2.1.3.6), que será utilizada nos testes deste trabalho.
2.1.3.2 Scale Invariant Feature Transform (SIFT)
SIFT Lowe (1999) é uma técnica de extração de pontos chaves, utilizado para encontrar pontos de interesse, curvaturas únicas, em imagens que se mantenham estáveis à transforma-ções de escala, invariância a rotação e invariante a luminosidade. Invariância de escala é quando o objeto poderá estar em distâncias focais diferentes captadas pela câmera, não sofrendo assim, alterações durante o processo de extração dos pontos chaves; os mesmos pontos deverão ser encontrados em todas as variações de distâncias focais entre o objeto e a câmera. Na invariação de rotação, mesmo o objeto estando rotacionado, o ponto chave encontrado terá uma orienta-ção, tornando a característica do ponto única e independente da posição que o objeto estará no cenário. Na invariação de luminosidade, a técnica consegue extrair pontos mesmo que haja muita ou pouca luminosidade (LOWE, 1999).
SIFT foi criado por Lowe (1999) com o propósito de reconhecer objetos que possam estar em outra posição no cenário ou parcialmente obstruído. Lowe (1999) garante que para reconhecer qualquer objeto em uma cena é necessário apenas identificar 3 pontos de interesse do objeto. Para o caso do objeto estar obstruído parcialmente, a quantidade mínima de pontos de interesse necessários para encontrar, reconhecer e reconstruir são de 10 pontos.
Para explicar o funcionamento da técnica, a primeira etapa para a extração dos pontos de interesse é calcular uma pirâmide gaussiana (GONZALEZ; WOODS, 2000). O objetivo de se fazer a pirâmide é reduzir as dimensões da imagem em patamares e, para cada patamar criado, é feita uma suavização com uma gaussiana (Equação 5), chamando esse processo de Espaço de Escala. Executando uma busca por pontos de interesse nos níveis adjacentes da pirâmide, como mostra na Figura 1, utilizando blocos de 8x8 pixels para calcular em cada patamar do espaço de escala os máximos e mínimos da gaussiana (Equação 6), esse processo será recursivamente executado por toda imagem até que alcancem todos os pontos de interesse de cada patamar do espaço de escala.
L(x,y,σ) = G(x,y,σ) ∗ I(x,y), (5)
onde L(x,y,σ) é a convolução da imagem original I(x,y), x e y são as coordenadas do centro do quadro, σ é a escala aplicada na imagem e G a função Gaussiana definida como:
G(x,y,σ) = √1
2πσe
−(x2+y2)/2σ2
. (6)
Figura 1 – Pirâmide gaussiana.
Fonte: Autor "adaptado de"Lowe, 1999.
A técnica utiliza o núcleo da gaussiana (Equação 6) para conseguir delimitar os máxi-mos e mínimáxi-mos em cada nível do patamar do espaço de escala gerado e a utilização dos mesmáxi-mos para encontrar os possíveis pontos de interesse na imagem. Na próxima etapa é feito o cálculo utilizando a Equação 7 que é chamada de Diferença de Gaussianas (DoG), por utilizar a dife-rença dos pares de filtros gaussianos criados nos patamares do espaço de escala juntamente com todos os pontos de interesse encontrados, concluindo assim, a diferença dos pontos encontrados por cada par de patamar do espaço de escala (LOWE, 1999).
D(x,y,σ) = (G(x,y,kσ) − G(x,y,σ)) ∗ I(x,y)
= L(x,y,kσ) − L(x,y,σ), (7)
Onde k é o fator constante de separação entre os espaços de escalas.
Com os possíveis pontos chaves encontrados em todos os níveis do espaço de escala, a técnica faz um processo de descartar pontos que não são interessantes, fazendo isso em duas etapas. Na primeira são descartados os pontos que tiveram baixo contraste que podem ser sen-síveis a ruído ou mal localizados ao longo de uma borda ou próximos a centros de planos. Na segunda é feita uma verificação de pontos que estão em arestas à procura se estes estão em cur-vaturas principais; os que não estiverem são considerados pontos de bordas e são descartados. Tendo ao final na imagem apenas pontos chaves únicos e definidos sendo de curvaturas (LOWE, 1999).
Figura 2 – Processo para encontrar os melhores pontos chaves (detalhes definidos no texto).
Fonte: Lowe, 1999.
Como pode ser visto, o demonstrativo do funcionamento da técnica na Figura 2, em que são encontrados os pontos de interesse na imagem. Primeiro é inserida uma imagem (Figura 2 (a)) depois é encontrado todos os máximos e mínimos da diferença de gaussianas (Figura 2 (b)). Lowe (1999) demonstrou os pontos de interesse por vetores, cada um com sua intensidade e magnitude. O descarte dos pontos com baixo contraste é executado e resulta na Figura 2 (c), e o descarte dos pontos de bordas resulta na Figura 2 (d). Tendo ao final apenas pontos de curvaturas únicos e distintos dos demais.
Após definição dos pontos chaves em curvaturas, é adicionada uma ou mais orienta-ções para cada ponto utilizando gradiente de imagem local. Para encontrar a orientação de um ponto, é necessário considerar as orientações das regiões vizinhas ao ponto, fazendo com que ao adicionar esses pontos da vizinhança no histograma, seja adicionado junto uma ponderação da magnitude de gradiente.
No histograma, quando todas as orientações forem colocadas, os picos que forem en-contrados serão correspondentes às direções dominantes dos gradientes locais e, no final, serão utilizados para definir a orientação do ponto. Esse processo é chamado de descritor de pontos chaves. No descritor computa-se as magnitudes e orientações dos gradientes amostrados, con-forme pode-se ver na Figura 3. Na esquerda temos os gradientes ponderados de cada vizinho do ponto chave centralizado por uma gaussiana e, na direita, a soma desses gradientes mostrando qual será a orientação, com base no maior gradiente, ponto chave (LOWE, 1999). Formando assim a descrição do ponto chave encontrado.
Figura 3 – Construção do descritor do ponto de interesse.
Fonte: Autor "adaptado de"Lowe, 1999.
Após essas etapas, as orientações que tiverem os maiores resultados serão chamadas de características SIFT. Com a obtenção das características, qualquer classificador poderá ser usado para classificar possíveis objetos em uma imagem. Portanto, quando a técnica encontrar um conjunto de características que possam ser parecidas com as que já foram processadas no treinamento do classificador, há grande possibilidade de essas características serem do mesmo objeto. Um exemplo de funcionamento da técnica SIFT com classificador FANN (aproximação rápida de vizinhos mais próximos (MUJA; LOWE, 2009)) é mostrado na Figura 4, na qual à esquerda temos a imagem do cenário e na direita a imagem com as características do objeto alvo sendo comparadas com a imagem do cenário, mostrando a correspondência das características que em alta quantidade reconheceu qual é o objeto que está na cena (LOWE, 1999).
Esta técnica fará parte dos experimentos deste trabalho, para alcançar os mesmos resul-tados que D. Lowe (1999) obteve ao desenvolver-lá.
Figura 4 – Características SIFT do cenário correspondendo com as do treinamento.
Fonte: Autor "adaptado de"Lowe, 1999.
2.1.3.3 HAAR
HAAR (HAAR, 1910) foi um pesquisador matemático que propôs as ondaletas de HAAR (do inglês Haar Wavelets), sendo utilizado inicialmente no mundo de visão compu-tacional por Viola e Jones (VIOLA; JONES, 2001). A ideia foi aplicar as ondaletas de HAAR para a detecção de pessoas e tentar, ao máximo, vencer os desafios simplificando as imagens digitais. O principal foco do método é rastrear por toda a imagem, utilizando as janelas de pi-xels, a procura por características HAAR que possam ser consideradas como partes de objetos de interesse. Para encontrar as características HAAR, é feita a soma dos pixels que estão em cada área das janelas e após, é feita a diferença de cada uma das áreas, a fim de encontrar um contorno ou áreas claras e escuras que possam representar alguma característica importante em uma imagem.
De início, quando Viola e Jones (VIOLA; JONES, 2001) utilizaram as características HAAR para encontrar os pontos de interesse, eles estipularam 4 formatos de características (Figura 5). Primeiro formato de característica foi o valor de características de 2 retângulos (Figura 5a e Figura 5b), no qual eles fazem a soma das diferenças das duas áreas do retângulo, sem que o retângulo sofra alterações na dimensão e em sua forma, fazendo com que todos os dados fossem calculados na vertical ou na horizontal. O segundo formato foi um pouco diferente dos outros dois, sendo o valor de características de 3 retângulos (Figura 5c), no qual é feita uma subtração da soma dos valores das extremidades do retângulo pela soma feita no quadrante interno do retângulo. E a terceira e última, foi o valor de características de 4 retângulos (Figura 5d) que efetua o cálculo da diferença da soma dos retângulos diagonais.
Com os retângulos propostos por Viola e Jones (VIOLA; JONES, 2001), percebeu-se uma falta na detecção dos pontos de interesse, na questão do objeto estar rotacionado, ou a borda ser uma curva. Com isso, Lienhart e Maydt (LIENHART; MAYDT, 2002) propuseram uma evolução no que Viola e Jones criaram, que seria a detecção de características com
retân-Figura 5 – Retângulos para identificação de pontos HAAR.
Fonte: Autor "adaptado de"Viola, Jones, 2001.
gulos com inclinação de 45o (Figura 6), permitindo assim uma maior amplitude para detectar
as características de possíveis objetos na imagem.
Figura 6 – Retângulos para identificação de pontos HAAR com adicionais inclinados.
Fonte: Lienhart; Maydt, 2002.
Para ocorrer o reconhecimento de objeto, é necessário um treinamento prévio, conforme a maioria das técnicas de reconhecimento de objetos que serão consideradas neste trabalho. Para executar o treinamento são necessárias diversas imagens dos objetos alvos que deverão ser reconhecidos. Estas imagens são chamadas de "Imagens Positivas". É necessário também utilizar diversas imagens que são chamadas de "Imagens Negativas", e nelas não deve existir o objeto alvo que será reconhecido. Em um arquivo XML são gerados todos as características de HAAR das imagens negativas e positivas.
Quando já estiverem todas as características HAAR postas dentro do XML, o funciona-mento do HAAR segue um padrão de espaço de escala dentro de uma janela de pixels testando todos as características salvas, para cada uma que for encontrada na imagem é acumulado a porcentagem dessa correspondência. Essa janela é passada por toda a imagem e, quando a por-centagem de características for 100%, é marcada na imagem as linhas dessa janela informando onde provavelmente está o objeto alvo. Depois a janela é aumentada em escala e assim até que atinja um limiar estipulado.
No final, quando todos os tamanhos de espaço de escala da janela forem passados, é feita a média das janelas marcadas com 100% para informar a localidade provável do objeto alvo. Essa técnica é chamada de exposição exaustiva, que faz com que haja uma redução nas chances de a técnica encontrar falsos positivos e aumentam a velocidade com que a técnica faz a detecção do objeto alvo.
Esta técnica fará parte dos experimentos deste trabalho para que possa ser medido seu desempenho, comparando os resultados, com as demais técnicas que serão executadas nos ex-perimentos.
2.1.3.4 Histogram of Gradients (HOG)
Histograma de Gradientes Orientados ou HOG (em inglês Histogram of Gradients) é uma técnica para o reconhecimento de objetos que utiliza uma forma diferente de extrair carac-terísticas de objetos. Sua principal diferença é que, ao invés de encontrar o ponto chave em uma imagem, ele descreve através da distribuição dos gradientes de intensidade dos pixels ou pelas direções das bordas, a aparência e forma de um objeto que esteja disposto na imagem (DALAL; TRIGGS, 2005).
Dalal e Triggs (2005) propuseram com o HOG conseguir identificar pessoas nas ruas. Eles tinham a preocupação com a variação de luminosidade dependendo da hora do dia e a existência de algum poste que esteja alterando a luminosidade na rua. Por conta dessa variação de luminosidade, pensaram na utilização dos gradientes ao invés de usar a intensidade de cada pixel. Utilizando a intensidade de cada pixel, um determinado ponto na imagem com incidência de luz e o mesmo ponto com uma sombra têm valores diferentes de intensidade o que causa uma confusão durante a comparação dos dois pontos. Utilizando gradientes ao invés de cálculos da intensidade de pixel, não é necessária a preocupação com a variação de luminosidade, pois o local que está sendo feito o cálculo dos gradientes tem correspondência dos dois pontos durante a comparação entre duas imagens. E para as pequenas variações que pudessem ocorrer em regiões da imagem, eles pensaram na utilização de histogramas dos gradientes, o que tornou o sistema muito mais robusto e invariante às mudanças durante o processo de extração dos gradientes.
Figura 7 – Sequência para identificação de pessoas na rua.
Fonte: Dalal; Triggs, 2005.
Segundo Dalal e Triggs (2005), para a produção dos descritores, o processo deverá ser seguido em cinco etapas, ao final de cada etapa é feita a normalização, como pode ser visto na Figura 7. Primeiro é feito o pré-processamento para a normalização da imagem com o
objetivo de diminuir a influência dos efeitos de iluminação. Podendo ser opcional esse passo ou até ser substituído, segundo o autor, por outras técnicas como compressão gama, cálculo de raiz quadrada ou o registro de cada canal de cor, tudo de acordo com a necessidade da imagem de entrada. Na segunda etapa, é feito o cálculo dos gradientes de primeira ordem da imagem, capturando os contornos dos objetos, silhuetas e algumas informações de textura, neste ponto aumentando a tolerância a variação de iluminação. Na terceira etapa são construídos os histogramas locais utilizando janelas de pixels para detecção, que são de tamanhos fixos e são movimentadas por toda a imagem executando o cálculo para cada grupo de pixel. Essa janela é dividida em uma grelha de células, de 4 x 4 ou 8 x 8 pixels, fazendo o cálculo para que cada célula da janela forme um histograma de orientação de gradientes. Em seguida, os blocos de células de 2 x 2 são combinados para normalização do contraste da imagem, assim regulando a luminosidade que o objeto contém e ruídos que possam atrapalhar na quantização de magnitude do gradiente de cada pixel. Magnitude essa calculada para a seleção das melhores orientações por eleição, sendo a orientação de maior magnitude a orientação do ponto. Na quarta etapa, são feitas todas as normalizações para refinar os locais de células e de contrastes para melhorar a invariância à luminosidade, sombras e bordas. Com o agrupamento das células são formados os blocos, e analisando a energia local das vizinhanças dos blocos o resultado será a normalização de cada célula. Os blocos normalizados são definidos como descritores de HOG. Por fim, todos os blocos que estavam na janela são unidos em um único vetor que também está normalizado, formando um descritor da imagem resultante (DALAL; TRIGGS, 2005).
Portanto, Dalal e Triggs (2005) propuseram uma técnica para identificar pedestres. O primeiro passo é a aquisição da imagem; ela é passada por um pré-processamento no qual é feita a normalização do gamma e das cores para que não hajam ruídos e também, para que as bordas e cores estejam bem definidas. Efetuando o cálculo dos gradientes na imagem é realizada a eleição para escolher a melhor orientação e, após definido, aplica-se a normalização do contraste com a sobreposição dos blocos para os cálculos dos histogramas locais. E por último, é feita a utilização da janela em blocos normalizados para definição dos descritores de HOG e aplicando na SVM (CORTES; VAPNIK, 1995) (que será explicada na Seção 2.1.4) para efetuar a classificação e poder dizer se na janela de detecção há um pedestre ou não.
Serão executados testes com essa técnica neste trabalho, para medição da precisão em reconhecer objetos que contém formas diferentes, podendo assim, comparar os resultados e poder rotular se esta técnica é boa no reconhecimento de quais objetos (cilíndricos, irregulares e retangulares) que serão apresentados neste trabalho.
2.1.3.5 Speeded-Up Robust Features (SURF)
SURF (BAY et al., 2008), é uma técnica de extração de pontos chaves de imagens. Ele é muito semelhante ao SIFT, porém, segundo Bay et al. (2008), SURF é muito mais rápido que
o SIFT e utiliza muito menos recursos computacionais. A proposta da técnica é melhorar as extrações das características sendo mais robusto, tendo repetibilidade e distintividade.
Na detecção de pontos chaves, o principal cálculo que a técnica executa é baseado na matriz Hessiana (Equação 8). A matriz foi escolhida por conter uma elevada precisão em seus resultados. Durante o processo de extração dos pontos chaves da imagem, utilizando a matriz Hessiana, a técnica utiliza os pontos onde o determinante da matriz é máximo. Em uma imagem no ponto x = (x,y), a matriz Hessiana H(x,σ) terá x definido utilizando uma escala de σ. Logo a matriz será: H(x,σ) = Lxx(x,σ) Lxy(x,σ) Lxy(x,σ) Lyy(x,σ) (8)
onde Lxx(x,σ) representa a convolução da derivada gaussiana de segunda ordem ∂
2
∂x2g(σ) com
a imagem em um ponto x, e similarmente para Lxy(x,σ) e Lyy(x,σ).
É feita uma aproximação à Matriz Hessiana para verificar se aquele ponto é ou não um ponto chave da imagem. Para isso, são utilizadas derivadas parciais das intensidades dos pixels da imagem. Na detecção do ponto chave, são usados os valores máximos e mínimos do determinante da matriz Hessiana. Para fazer o processamento das derivadas de segunda ordem de Gauss é necessária a utilização de muito processamento computacional, tornando o processo demorado quando aplicado a imagem toda. Pensando nisso, Bay et al. (2008) tendeu a simplificar o processo derivativo utilizando filtragem da imagem, que seria dividir em retângulos, como mostra Figura 8.
Figura 8 – Retângulos para detecção dos pontos chaves.
Fonte: Bay et al., 2008.
O funcionamento da técnica SURF é percebido pela ordem das imagens, da esquerda para a direita. Primeiro ele utiliza uma máscara discretizada e cortada da derivada parcial de segunda ordem no ponto y,(Lyy) e xy,(Lxy) (Figura 8 a e b). No segundo passo é feita
a aproximação à derivada parcial gaussiana de segunda ordem em y,(Dyy), em x(Dxx) e na
direção xy,(Dxy) (Figura 8 c e d). Os quadrados em cinza tem o valor zero.
Supondo um ponto qualquer e utilizando os filtros da Figura 8, ponto x = (x,y,σ), a execução do cálculo do determinante da Matriz Hessiana é feito da seguinte forma:
Com o resultado da Equação 9, é possível utilizá-los nos cálculos para encontrar o de-terminante da matriz Hessiana para cada pixel da imagem.
Durante a extração dos pontos chaves da imagem, a técnica deverá se comportar invari-ante a escala, conforme explicado na Subseção 2.1.3.2. A invariação de escala é a deformação que o objeto sofre tendo distância focal em relação a imagem original alterada. No SURF a invariação de escala é feita com espaço de escala e ela é implementada sob a forma de pirâmide invertida, conforme Figura 9.
Figura 9 – Pirâmide invertida.
Fonte: Bay et al., 2008.
A utilização de uma pirâmide invertida é muito interessante por não usar apenas a redu-ção do tamanho da imagem para encontrar os pontos chaves, e sim usar imagens integrais que fazem com que tenham uma expansão no filtro sem obter aumento nem diminuição do custo, mantendo constante. Como a escala será diferente por conta da pirâmide, para encontrar os pontos chaves é necessário determinar os máximos e mínimos no mapa de resposta, resultan-tes dos determinanresultan-tes calculados da matriz Hessiana (Equação 9), para cada um dos pixels da imagem.
Na Figura 10 pode ser visto uma imagem de um campo de flores onde os círculos são os pontos de interesse encontrados na imagem com base nos máximos encontrados através do determinante da matriz hessiana, e a diferença dos tamanhos dos círculos, põe em prática a funcionalidade do espaço de escala. Para cada medida de diâmetro dos círculos correspondem a um ponto de interesse encontrado em cada patamar do espaço de escala.
E para a última etapa para a detecção dos pontos chaves da imagem, a técnica determina a orientação de cada ponto utilizando filtros HAAR, como explicado na Seção 2.1.3.3, fazendo o mapeamento da variação direcional do ponto em x ou em y. Na Figura 11 é mostrado quais são os retângulos de HAAR utilizados.
O retângulo de HAAR identifica todos os pontos que estão ao redor do ponto chave e calcula para cada ponto a direção em x e y, utilizando uma ponderação baseada nas distâncias do ponto para o vizinho, tendo como principal resposta os cálculos de uma função Gaussiana. Após, é feita uma soma de todas as orientações que foram estimadas, formando assim, um novo vetor tendendo a proximidade do ponto chave, que poderemos entender melhor ao observarmos
Figura 10 – Pontos de interesse encontrados em espaços de escalas diferentes.
Fonte: Bay et al., 2008.
Figura 11 – Filtros ondaletas de HAAR nas direções x e y, respectivamente.
Fonte: Bay et al., 2008.
a Figura 12, que contém os pontos que foram encontrados das orientações em um plano de 360 graus. O maior gradiente é criado pela média da quantidade de pontos existentes na região. Figura 12 – Determinando orientação do vetor dos pontos chaves.
Fonte: Bay et al., 2008.
Na Figura 13 é possível perceber a funcionalidade do SURF encontrando os pontos de interesse em diversos espaços de escala, representados pelos quadrados de diferentes tamanhos e no interior um traço indicando para qual lado os retângulos de HAAR encontraram a maior orientação, representando dessa forma na imagem a orientação do ponto.
O último passo da técnica é extrair os pontos do cenário, utilizando como base os pontos chaves já encontrados do objeto. A técnica encontra os pontos chaves do ambiente e é criado a partir do centro desse ponto encontrado um quadrado onde ele verifica as respostas das mesmas
Figura 13 – Ponto de interesse com a orientação.
Fonte: Bay et al., 2008.
Ondaletas de HAAR utilizados no treinamento, encontrando também os vetores de cada ponto. Em seguida, é feita uma comparação com os vetores dos pontos chaves que existem da base treinada com a imagem da cena, possibilitando afirmar se aquele é um objeto conhecido ou não. Podemos verificar na Figura 14 como é feita a soma dos vetores dos vizinhos e como é gerado um vetor maior que servirá para as devidas comparações.
Figura 14 – Orientação dos vetores dos pontos chaves do cenário.
Fonte: Bay et al., 2008.
Finalizando assim o processo de identificação e descrição dos pontos chaves encontrados na imagem, para que sejam utilizadas para treinamento de classificadores e, após o classifica-dor treinado, sejam utilizados para extrair os pontos chaves de novas imagens para que sejam executados os testes no classificador.
Está técnica também fará parte dos experimentos deste trabalho. Utilizado para compa-ração com as outras técnicas durante o reconhecimento de objetos de diferentes formas, sendo os cilíndricos, retangulares e irregulares.
2.1.3.6 Oriented FAST and Rotated BRIEF (ORB)
ORB (2011) tem uma proposta muito interessante, ele foi elaborado para superar as téc-nicas SIFT (Seção 2.1.3.2) e SURF (Seção 2.1.3.5). Essa superação seria na velocidade em extrair pontos chaves da imagem e também em poder ser acessível para qualquer dispositivo móvel, portanto, sendo possível execução em dispositivos com baixa capacidade de proces-samento. ORB é quase duas ordens de magnitude mais rápido que SIFT e uma ordem mais rápida do que o SURF, produzindo também resultados similares no reconhecimento de objetos (RUBLEE et al., 2011).
Na extração de pontos chaves, ORB foi desenvolvido, utilizando dois principais conteú-dos da literatura que seriam o FAST (TUYTELAARS et al., 2008), para a detecção conteú-dos pontos de interesse, e o descritor BRIEF (CALONDER et al., 2010).
Os pontos de interesse encontrados por FAST utilizam a medida de canto de Harris (des-crito na Seção 2.1.3.1), e não possui a representação da orientação do ponto chave, e com isso, surgiu a necessidade de Rublee et al. (2011) encontrassem uma alternativa para o problema, implementando então a utilização da intensidade do centroide (ROSIN, 1999). Este método assume que a intensidade do canto é deslocada de seu centro, e portanto, poderá ser descrita por um vetor que vai do centro do ponto para o centroide (RUBLEE et al., 2011).
Com o ponto de interesse identificado, a técnica então aplica o descritor BRIEF que constrói uma sequência binária que representa um patch de imagem. Para a construção da sequência binária é utilizada uma série de testes binários os quais passam por avaliação de cada patchda imagem, e depois, estas passam por uma função que soma todas as avaliações. Porém, BRIEF não é invariante a rotações dos planos e o ORB veio com uma alteração no BRIEF fazendo com que ele seja guiado pela orientação dos pontos chaves (Equação 10), tornando assim, invariante à rotação (RUBLEE et al., 2011).
Θ = arctan2(m01,m10), (10)
onde Θ é a orientação que será aplicada ao ponto junto com BRIEF.
O ORB funciona da seguinte forma: com os patchs criados pelo modelo alterado de BRIEF, chamado de BRIEF dirigido, é construída uma tabela de pesquisas padrões, e após, são utilizados os testes binários para ter uma alta variação nos padrões gaussianos de bits nas características. Cada teste é executado com todos os patches, ordenando os testes por uma distância média de 0,5, formando assim, o vetor T. Depois de feita a pesquisa no vetor T, cada resultado é posto no vetor R e removido de T. A última parte é executar novamente um teste no vetor T e comparado com todos os resultados que já estão em R, se a correlação for inferior a um limiar, este valor é posto no vetor R, se os valores forem excedentes desse limiar então são descartados. Esse processo é feito até que alcance um valor de 256 teste e o limiar seja reajustado. Caso não alcance a quantidade de testes estipulada como aceitável (RUBLEE et al., 2011).
Figura 15 – Correspondência dos pontos utilizando ORB.
Fonte: Rublee et al., 2011.
Na Figura 15 a execução da técnica em um cenário à esquerda e o objeto que mais teve correspondência à direita. Os pontos vermelhos significam os pontos encontrados pela técnica e os que tiveram correspondência são os que estão com as linhas em verde, mostrando qual ponto do cenário foi correspondente com o ponto do objeto.
2.1.4 Classificadores
Existem diversos classificadores na literatura. Dentre eles, existem os que utilizam ár-vores de decisão, e até cascata de classificadores (FREUND; SCHAPIRE, 1995). Será apre-sentado neste trabalho o SVM - Support Vector Machine (CORTES; VAPNIK, 1995). Sua escolha deve-se a Dalal e Triggs (2005), que utilizaram o SVM na classificação dos gradientes para identificar pedestres, por ter boa generalização e flexibilidade em separar hiperplano em diversas dimensões (RUSSELL; NORVIG, 1995).
2.1.4.1 Support Vector Machine (SVM)
Máquina de Vetores de Suporte (em inglês Support Vector Machine - SVM) é uma téc-nica de aprendizado de máquina supervisionado e que foi desenvolvida por Cortes; Vapnik (1995) para análise de dados e reconhecimento de padrões (estimar funções indicadores). Muito utilizado para classificação e análise de regressão (estimar funções de valores reais), com base na teoria de aprendizado estático. Aprendizado estático busca encontrar um bom classificador, com bom desempenho, para manusear um conjunto de dados (LORENA; CARVALHO, 2003). Existem três propriedades principais que incentivam a utilização das SVM’s. A primeira delas é que as SVM’s proporcionam uma boa generalização, fazendo o uso de separadores de margem máximos que são fronteiras de decisão. Fronteira essa que abrange a maior distância possível com relação aos pontos de uma amostra. A segunda propriedade é que as SVM’s criam uma separação linear em hiperplano, pode-se também, introduzir os dados em um espaço de di-mensão superior com a utilização do truque de kernel. Com ele é possível fazer com que os dados sejam separados facilmente no espaço de dimensão superior, quando não são separados
linearmente no espaço original. E por fim, a última propriedade, a SVM é um método não pa-ramétrico na qual todas as amostras de treinamento deveriam ser armazenadas, porém, durante a execução não são todas as amostras que são armazenadas, apenas uma pequena fração. Por-tanto, as SVM’s mesmo assumindo serem não paramétricas combinam partes das paramétricas, tornando flexíveis na representação de funções complexas e sendo resistentes às superadapta-ções (RUSSELL; NORVIG, 1995).
A Figura 16 mostra como é o funcionamento de uma SVM com duas classes espalhadas pelo gráfico (pontos preenchidos e pontos não preenchidos). A linha mais escura é denominada separador máximo de margem, já citada anteriormente. Cada uma das linhas tracejadas são os vetores de suporte que se baseiam pelos pontos com círculos maiores ao redor (RUSSELL; NORVIG, 1995).
Figura 16 – Exemplo de classificação do SVM.
Fonte: Russell; Norvig; Intelligence, 1995.
Nem sempre os dados de entrada de uma SVM poderão ser separados linearmente. Para que a SVM consiga fazer a separação, os dados de entrada poderão ser mapeados e ir para um espaço de dimensões superiores. Assim, eles quase sempre poderão ser separados linearmente. O mapeamento é feito por uma função específica denominada de função truque de kernel, sendo aplicada aos pares dos dados de entrada para que os produtos escalares sejam avaliados em al-gum espaço de características de interesse. Porém, a utilização de espaços de dimensões supe-riores são computacionalmente custosos e se forem muito supesupe-riores podem tornar o processo inviável para computadores de uso convencional (RUSSELL; NORVIG, 1995).
Para que a SVM tenha precisão na separação, existe um parâmetro que permite maior flexibilidade na classificação, um Parâmetro de Custo (C). Sua função é executar a melhor sepa-ração das classes, podendo até aceitar dados que estavam em outra classe. Com isso, a altesepa-ração
neste parâmetro pode causar tanto uma classificação específica como genérica. Sendo um parâ-metro muito determinante para a funcionalidade do classificador. Por causa disso, existem dois métodos para encontrar o melhor valor deste parâmetro no exato momento onde os vetores de dados para classificação são enviados a SVM, sendo eles os que utilizam pesquisa de grade e o padrão de busca (ANDREW, 2000). Pesquisa de grade utiliza passos geométricos para testar todos os valores do parâmetro em toda a faixa de busca e a busca padrão que começa no centro da faixa de busca, executando experimentos em cada sentido. Assim, analisando os vetores de entrada e ajustando o parâmetro para uma melhor classificação dos dados.
Durante a execução do treinamento foi gerado um vetor de característica, sendo um vetor com todas as características das imagens de todos os objetos, separando este vetor em uma porcentagem para treino e outra para teste. O que o classificador SVM executará é a criação de um hiperplano maximizando a separação entre esse vetor de treino, encontrando a melhor separação dos dados para o vetor de teste ser inserido. As imagens, em um processo anterior, são embaralhadas, para assim, tornar o treino da SVM mais robusto e não tornar-se viciado os valores de entrada. E em seguida, na execução do teste com o restante do vetor, foram enviadas ao classificador SVM para que faça a classificação e a geração da matriz de confusão dos resultados obtidos.
Portanto, o processo que foi utilizado neste trabalho para inserir os dados no SVM foi feito da seguinte forma: Os dados para inserção no classificador teve que conter tanto um vetor com as características do objeto como outro vetor com a classe que essas características pertencem. Todos os dados estavam em vetores numéricos inteiros. Em seguida, foi utilizada a verificação para adequação dos parâmetros de separação dos valores de entrada, por pesquisa de grade.
Para validação do classificador, foi utilizado o método de validação cruzada (KOHAVI et al., 1995), garantindo assim, a confiabilidade dos resultados obtidos. Depois, com o restante do vetor separado para teste, foram inserido novamente na SVM sem o vetor com as classes esperadas, finalizando todo o processo na geração das matrizes de confusão onde foi notável a eficiência de cada técnica.
Finalizando o entendimento, o classificador SVM é de extrema importância para o pro-cesso de reconhecimento de objeto. É nele que foi possível dizer se em uma determinada ima-gem há um objeto específico. Para isso, foi executado o treino passando "quais características são"junto de "qual objeto é", demonstrando o porque a técnica é classificada como aprendizado de máquina supervisionado, para que o classificador separe de acordo com cada objeto. E para o teste, foi entregue o vetor com novas características, sem dizer de qual objeto é, para que ele, em sua separação de treino, diga qual é o objeto.