Descritores de Imagens André Tavares da Silva PPGCA/UDESC Outubro de 2017 André Tavares da Silva (PPGCA/UDESC) Descritores de Imagens Outubro de 2017 1 / 18
Descritores Locais e Frameworks SIFT SURF Viola-Jones HOG André Tavares da Silva (PPGCA/UDESC) Descritores de Imagens Outubro de 2017 2 / 18
SIFT (scale-invariant features transform) SIFT [Lowe, 1999] é uma técnica de processamento de imagens que permite a detecção e extração de descritores locais, razoavelmente invariáveis a mudanças de iluminação, ruído de imagem, rotação, escala e pequenas mudanças de perspectiva. Utiliza uma representação que se utiliza de uma pilha de imagens contendo níveis de detalhe do espaço de escala linear (figura 3). André Tavares da Silva (PPGCA/UDESC) Descritores de Imagens Outubro de 2017 3 / 18
SIFT (scale-invariant features transform) Essa pilha de imagens em vários níveis de detalhe é geralmente denominada oitavas de Gaussianas. Cada nível f i da pirâmide contém uma oitava obtida através da sub-amostragem sobre oitava f i 1, localizada no nível imediatamente inferior. Esse processo é repetido recursivamente até que se obtenha o nível de representação desejado, geralmente contendo blocos de 8 8 pixels, associado as maiores escalas observáveis. Proporcionou um passo importante na representação de objetos através de suas partes, gerando um grande avanço em diversas áreas, como, reconhecimento de objetos, navegação automática de robôs, rastreamento e criação de imagens panorâmicas. André Tavares da Silva (PPGCA/UDESC) Descritores de Imagens Outubro de 2017 4 / 18
SIFT (scale-invariant features transform) A obtenção de descritores SIFT é feita nas seguintes etapas: Detecção de extremos (máximos e mínimos): Nesta primeira etapa é feita procura para todas escalas e localizações de uma imagem. Isto é feito utilizando-se a função Diferença de Gaussianas (DoG) de modo a se identificar pontos de interesse invariáveis à escala e rotação. Localização de pontos chave: Para cada localização em que foi detectado um extremo, um modelo detalhado é ajustado de modo a determinar localização e escala. Pontos chaves, ou pontos de interesse, são então selecionados baseando-se em medidas de estabilidade. André Tavares da Silva (PPGCA/UDESC) Descritores de Imagens Outubro de 2017 5 / 18
SIFT (scale-invariant features transform) Definição de orientação: É definida a orientação de cada ponto chave através dos gradientes locais da imagem. Toda operação a partir de então será feita com relação a dados da imagem transformados em relação à orientação, escala e localização de cada ponto chave. Desta maneira se obtém invariância a estas transformações. Descritor dos pontos chaves: Nesta etapa é feita a construção dos descritores ao se medir gradientes locais em uma região vizinha a cada ponto de interesse. Estas medidas são então transformadas para uma representação que permite níveis significativos de distorção e mudança na iluminação. Para cada ponto de interesse, são definidas n n regiões, com k k pixels cada, ao redor da localização do ponto chave. Geralmente n = k = 4. Para cada região, é feito um histograma em 8 direções. Este histograma é feito com as magnitudes dos pixels pertencentes a cada região. O descritor é então representado pelos histogramas das regiões. André Tavares da Silva (PPGCA/UDESC) Descritores de Imagens Outubro de 2017 6 / 18
SURF (Speeded Up Robust Features) [Bay et al., 2008] propuseram uma versão relaxada do operador DoG na qual wavelets de Haar são usadas para calcular uma aproximação das derivadas de segunda ordem do núcleo Gaussiano. Essa aproximação foi usada pelos autores para a construção do método SURF. A deteção de pontos-chaves do método SURF explora o uso de imagens integrais para calcular eficientemente uma aproximação do operador DoG em diferentes escalas, o que lhe confere um desempenho de 3 a 7 vezes melhor do que o apresentado no SIFT. André Tavares da Silva (PPGCA/UDESC) Descritores de Imagens Outubro de 2017 7 / 18
SURF (Speeded Up Robust Features) As posições detectadas são também refinadas usando interpolação realizada no valor do determinante da matriz Hessiana. Como o operador DoG apresenta fortes respostas nos cantos e junções, o número de pontos-chaves detectados pelo SURF geralmente é bem menor do que os reportados pelos operadores LoG (Laplacian of Gaussian) ou DoG. Apesar disso, os autores afirmam que SURF reporta pontos-chaves tão estáveis quanto aqueles encontrados pelo SIFT. André Tavares da Silva (PPGCA/UDESC) Descritores de Imagens Outubro de 2017 8 / 18
SIFT SURF SURF e SIFT apresentam as seguintes diferenças: SURF usa um modelo aproximativo do espaço de escala, baseado em imagens integrais. A detecção dos pontos de interese no SURF é baseada na supressão de não-máximos do determinante da matriz Hessiana enquanto o SIFT utiliza uma aproximação do traço dessa matriz. Em consequência disto, SURF tende a detectar cantos e regiões com textura enquanto SIFT geralmente tende a detectar bolhas e arestas. André Tavares da Silva (PPGCA/UDESC) Descritores de Imagens Outubro de 2017 9 / 18
Viola-Jones O método de detecção de objetos Viola-Jones [Viola and Jones, 2004] é o primeiro framework de detecção de objetos para fornecer taxas de detecção competitivos em tempo real. Embora possa ser treinado para detectar uma variedade de classes de objeto, foi motivada principalmente pelo problema de detecção de faces. Este algoritmo é implementado em OpenCV como cvhaardetectobjects(). André Tavares da Silva (PPGCA/UDESC) Descritores de Imagens Outubro de 2017 10 / 18
Viola-Jones O recurso empregado pelo framework de detecção utiliza as somas dos pixels da imagem com áreas retangulares (figura 11). Embora tenham alguma semelhança com transformada de Haar, ela é um pouco mais complexa uma vez que os recursos utilizados por Viola e Jones contam com mais de uma área retangular. André Tavares da Silva (PPGCA/UDESC) Descritores de Imagens Outubro de 2017 11 / 18
Viola-Jones A figura 11 mostra quatro diferentes tipos de características utilizados. O valor das características é a soma dos pixels dentro de rectângulos claros subtraídos da soma dos pixels dentro de rectângulos sombreados. Como é de se esperar, essas características retangulares são bastante primitivas se comparado a alternativas mais modernas. Apesar de serem sensíveis às características verticais e horizontais, o feedback é consideravelmente mais grosseiro. André Tavares da Silva (PPGCA/UDESC) Descritores de Imagens Outubro de 2017 12 / 18
Viola-Jones Características de retângulos podem ser calculadas muito rapidamente utilizando uma representação intermediária da imagem original (ex.: Figura 13(a)) chamada de imagem integral. A imagem integral (Figura 13(b)) na posição x e y contém a soma dos pixels a esquerda e acima de x e y, inclusive. André Tavares da Silva (PPGCA/UDESC) Descritores de Imagens Outubro de 2017 13 / 18
Viola-Jones Usando a imagem integral, a soma dos pixels dentro da região retangular destacada na imagem original pode ser realizada com quatro acessos na imagem integral calculando C + A - (B + D), sendo 64 + 5 - (14 + 16) = 39 Como nesta técnica os retângulos são adjacentes, para características de dois retângulos a diferença da soma dos dois retângulos pode ser calculada em apenas seis acessos, oito no caso de características de três retângulos e nove para características de quatro retângulos. André Tavares da Silva (PPGCA/UDESC) Descritores de Imagens Outubro de 2017 14 / 18
Viola-Jones A velocidade com que as características podem ser calculadas podem não compensar seu número. Por exemplo, em uma sub-janela de 24x24 pixels, há um total de 162.336 características. Seria proibitivamente caro avaliar todos eles. Assim, o framework de detecção de objetos proposto por Viola e Jones utiliza uma variante do algoritmo de aprendizagem AdaBoost tanto para selecionar as melhores características quanto para treinar classificadores utilizam este método. Exemplo: https://www.youtube.com/watch?v=hpctwxf0qf4 André Tavares da Silva (PPGCA/UDESC) Descritores de Imagens Outubro de 2017 15 / 18
HOG (Histogram of Oriented Gradients) A ideia principal do descritor HOG [Dalal and Triggs, 2005] é que a aparência e forma de objetos em uma imagem podem ser descritos através da distribuição dos gradientes de intensidade dos pixels ou pelas direções das bordas. O processo para gerar o descritor pode ser dividido em quatro etapas: cálculo do gradiente em cada pixel, agrupamento dos pixels em células, agrupamento das células em blocos e obtenção do descritor. André Tavares da Silva (PPGCA/UDESC) Descritores de Imagens Outubro de 2017 16 / 18
HOG (Histogram of Oriented Gradients) Primeiro utiliza-se máscaras derivada discreta pontual tanto no eixo vertical como horizontal para o cálculo do gradiente de cada pixel. O passo seguinte é responsável por agrupar os pixels de uma determinada região, criando-se o que se chama de célula. Após a segunda etapa, os blocos são criados através do agrupamento de células de uma certa região. Na etapa final, cria-se o descritor. André Tavares da Silva (PPGCA/UDESC) Descritores de Imagens Outubro de 2017 17 / 18
HOG (Histogram of Oriented Gradients) O descritor nada mais é do que uma lista dos histogramas de todas as células de todos os blocos. A atenuação do problema das variações locais de iluminação ou de contraste entre o primeiro plano e o plano de fundo, se dá através da normalização de cada histograma de acordo com seus próprios valores. O último passo no reconhecimento de objetos usando HOG é alimentar os descritores em um sistema de reconhecimento baseado em aprendizado supervisionado. No artigo original foi utilizado o classificador SVM (Support Vector Machines) utilizando um núcleo (kernel) linear, sendo usado para detecção de pedestres em vídeo. André Tavares da Silva (PPGCA/UDESC) Descritores de Imagens Outubro de 2017 18 / 18
Bay, H., Tuytelaars, T., and Gool, L. V. (2008). Surf: Speeded up robust features. In Computer Vision and Image Understanding (CVIU), volume 110, pages 346 359. Dalal, N. and Triggs, B. (2005). Histograms of oriented gradients for human detection. In Conference on Computer Vision and Pattern Recognition (CVPR), pages 886 893. Lowe, D. G. (1999). Object recognition from local scale-invariant features. In IEEE International Conference on Computer Vision, volume 2, pages 1150 1157. Viola, P. and Jones, M. J. (2004). Robust real-time face detection. International Journal of Computer Vision, 57(2):137 154. André Tavares da Silva (PPGCA/UDESC) Descritores de Imagens Outubro de 2017 18 / 18