• Nenhum resultado encontrado

Um método para localização facial Invariante a rotação

N/A
N/A
Protected

Academic year: 2021

Share "Um método para localização facial Invariante a rotação"

Copied!
70
0
0

Texto

(1)Keylly Eyglys Araújo dos Santos. Um método para Localização Facial Invariante a Rotação. Natal Fevereiro de 2011.

(2) Seção de Informação e Referência Catalogação da Publicação na Fonte. UFRN / Biblioteca Central Zila Mamede. Santos, Keylly Eyglys Araújo dos Um método para localização facial Invariante a rotação.. Keylly. Eyglys Araújo dos Santos – Natal, RN, 2011. 64 f.; il.. Orientador: Adrião Duarte Dória Neto Co-orientador: Allan Medeiros Martins. Dissertação (Mestrado) - Programa de Pós-Graduação em Engenharia Elétrica e Computação da Universidade Federal do Rio Grande do Norte. 1. Imagem – Dissertação. 2. Localização facial – Dissertação. 3.. Invariância a rotação. – Dissertação. 4. Busca de padrões – Dissertação. 5. Segmentação de pele – Dissertação. I Dória Neto, Adrião Duarte. II Martins, Allan Medeiros.. III. Universidade Federal do Rio Grande do. Norte. IV. Título.. RN/UF/BCZM. CDU 621.397.33.

(3)

(4) Dedico este trabalho aos meus pais, que sempre me apoiaram e incentivaram, dando-me a oportunidade que não tiveram..

(5) Agradecimentos Ao prof. Adrião, meu orientador, pela sua grande ajuda e paciência, servindo como exemplo para mim. Ao prof. Allan, meu co-orientador, por despertar minha curiosidade pelas imagens digitais e por sempre me ajudar quando preciso. Aos meus amigos do LSI, pelo incentivo, disposição para ajudar sempre que necessário e pelas horas de descontração. Aos professores do DCA, pela contribuição em minha formação. A minha noiva, Emmliene, pelo apoio desprendido diariamente, por emprestar suas fotos para realizar testes e principalmente pelo seu carinho quando bate o cansaço..

(6) Resumo A localização facial tornou-se um assunto muito discutido nos últimos anos, surgiram inúmeras aplicações, desde sistemas biométricos (que necessitam localizar a face antes de identifica-la), até sistemas complexos de varredura de multidões (procurando por criminosos). O método mais utilizado para localizar faces em imagens digitais é a técnica de Vioja e Jones, que não é invariante a rotação, conseguindo identificar apenas pequenos ângulos de rotação, mesmo assim comprometendo alguns algoritmos que necessitam da face sem rotação, como a biometria facial. A técnica apresentada propõe a invariância a rotação de face em imagens digitais, baseando-se na segmentação da pele para calcular a dispersão e estimar o ângulo de rotação da face. Possibilitando que técnicas já consolidadas possam realizar a localização da face em uma imagem rotacionada no sentido inverso..

(7) Sumário Lista de Figuras. 3. Lista de Tabelas. 6. 1 Introdução. 8. 1.1. Motivação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 8. 1.2. Objetivos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 9. 1.3. Organização do texto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 9. 2 Processamento de Imagens 2.1. 2.2. 2.3. 10. Representação da cor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 10. 2.1.1. Fenômenos visuais. . . . . . . . . . . . . . . . . . . . . . . . . . . .. 11. 2.1.2. RGB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 12. 2.1.3. CMY. 14. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Representação espacial de imagens. . . . . . . . . . . . . . . . . . . . . . .. 16. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 16. 2.2.1. Pixel e Voxel. 2.2.2. Relação de vizinhança. . . . . . . . . . . . . . . . . . . . . . . . . .. 17. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 19. 2.3.1. Segmentação por amplitude . . . . . . . . . . . . . . . . . . . . . .. 20. 2.3.2. Segmentação por Agrupamento . . . . . . . . . . . . . . . . . . . .. 23. 2.3.3. Segmentação de pele . . . . . . . . . . . . . . . . . . . . . . . . . .. 28. Segmentação.

(8) Sumário. 2.4. 2. Rotação de imagens. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 3 Técnicas de localização facial. 33. 35. 3.1. Rede Neural Convolutiva . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 35. 3.2. Técnica de Viola-Jones . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 38. 3.2.1. Extração de Características. . . . . . . . . . . . . . . . . . . . . . .. 39. 3.2.2. Integral da imagem . . . . . . . . . . . . . . . . . . . . . . . . . . .. 39. 3.2.3. Classificador AdaBoost . . . . . . . . . . . . . . . . . . . . . . . . .. 41. 4 Deteção de rotação de face. 48. 5 Resultados. 50. 6 Conclusão e Perspectivas Futuras. 54. 6.1. Conclusão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 54. 6.2. Perspectivas Futuras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 55. Referências Bibliográficas. 56. A Apêndice A. 60. A.0.1 A.1. Matriz de variância e covariância . . . . . . . . . . . . . . . . . . .. Matriz de variância e covariância discreta A.1.1. 60. . . . . . . . . . . . . . . . . . .. 62. Autovalor e Autovetor . . . . . . . . . . . . . . . . . . . . . . . . .. 62.

(9) Lista de Figuras 2.1. Contrastes simultâneos . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 11. 2.2. Contrastes simultâneos com os pequenos quadrados deslocados. 12. 2.3. Diagrama ilustrativo, mostrando o processo físico ocorrido na mistura de cores aditivas. . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 2.4. Cubo de cores RBG. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 2.5. Diagrama de mistura de cores RGB, partindo do preto e seguindo para o branco. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 2.6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 14. 15. Representação de imagens digitais por matrizes de pontos discretos em um grid retangular. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 2.8. 13. Diagrama de mistura de cores CMY, partindo do branco e seguindo para o preto.. 2.7. 13. Consistência do pixel em uma imagem digital.. 17. Em um grid quadrado,. cada pixel representa uma região quadrada da imagem. A figura mostra a mesma imagem, representada por uma quantidade diferente de pixels, caso a quantidade de pixels seja suficiente, a imagem parecerá contínua.. .. 18. . . . . . . . .. 19. 2.10 Os três tipos de vizinhança de um voxel em imagens tridimensionais. . . .. 19. 2.11 Exemplo de um texto escaneado e o seu histograma . . . . . . . . . . . . .. 21. 2.9. Os dois tipos de vizinhança em imagens bidimensionais. A área escura de. c, representa um objeto digital conectado pela vizinhança-8..

(10) Lista de Figuras. 4. 2.12 Exemplo de segmentação de uma única imagem utilizando vários níveis de separação. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 22. 2.13 Parábola que aproxima o vale entre os dois picos de luminosidade . . . . .. 23. 2.14 Segmentação multinível, primeiro nível de segmentação . . . . . . . . . . .. 24. 2.15 Segmentação multinível, segundo nível, primeira ramificação . . . . . . . .. 25. 2.16 Segmentação multinível, segundo nível, segunda ramificação . . . . . . . .. 26. 2.17 Agrupamento de classes para uma medida bi-dimensional. 28. . . . . . . . . .. 2.18 Versão simplificada do algoritmo de segmentação de Coleman e Andrews (1979). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 29. 2.19 Exemplo do plano de espaço de cor YCbCr com Y fixado em 0.5 (utilizando uma escala de 0 a 1). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 30. 2.20 Exemplo da imagem em YCbCr . . . . . . . . . . . . . . . . . . . . . . . .. 31. 2.21 Algumas amostras de pele utilizadas para gerar a função de densidade de probabilidade de um pixel ser de pele . . . . . . . . . . . . . . . . . . . . . 2.22 Exemplo da aplicação da probabilidade em cada pixel de uma imagem. 31. . .. 32. 2.23 Exemplo da função de densidade de probabilidade representativo da pele .. 33. 2.24 Ilustração de uma rotação. 𝜃. . . . . . . . . . . . . . . . . . . . . . . . . . .. 2.25 Exemplo de rotação em uma imagem em. 34. 𝜋 5 rad, utilizando interpolação. bilinear (Späth, 1995) e sem preenchimento de pixels inexistentes. . . . . .. 34. 3.1. Rede convolutiva para o processamento de imagens . . . . . . . . . . . . .. 37. 3.2. Exemplo de retângulos de características. 2 retângulos de características são exibidos em A e B, 3 retângulos de características são exibidos em C e 4 retângulos em D. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 40. 3.3. Cálculo de uma região retangular . . . . . . . . . . . . . . . . . . . . . . .. 42. 3.4. Cálculo de um elemento de característica . . . . . . . . . . . . . . . . . . .. 43. 3.5. Características selecionadas pelo AdaBoost. 45. . . . . . . . . . . . . . . . . ..

(11) 5. Lista de Figuras. 3.6. Figura esquemática da árvore de decisão em cascata. . . . . . . . . . . . .. 46. 3.7. Exemplo de faces que fazem parte do treinamento . . . . . . . . . . . . . .. 47. 4.1. Diagrama de blocos do processo . . . . . . . . . . . . . . . . . . . . . . . .. 49. 5.1. A esquerda (em a e b) frames aplicados ao Viola-Jones, a direita (em a e b) aplicados ao método proposto. . . . . . . . . . . . . . . . . . . . . . . .. 51. 5.2. Comparação entre o seno do ângulo real e do estimado . . . . . . . . . . .. 51. 5.3. Amostras em um ambiente diferente. Viola-Jones/Proposto. 52. 5.4. Amostras de imagens utilizadas para realizar o teste de localização. . . . .. 53. A.1. Variações do autovalor . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 63. . . . . . . . ..

(12) Lista de Tabelas 5.1. Tabela comparativa entre os métodos de Viola-Jones e aquele aqui Proposto 53.

(13) Lista de Algoritmos 1. Cálculo de uma característica como mostrado na Figura 3.2 A ou B. . . . .. 41.

(14) Capítulo 1. Introdução A busca de padrões, associado a áreas como interação humano-computador e segurança, vem crescendo na última década, um exemplo disso seria o controle para vídeo game. Kinect, comercializado pela Microsoft, em que o conceito de segurar algum objeto para controlar um jogo está sendo questionado, já que o próprio usuário é o controle. Na área de segurança, a necessidade de analisar/procurar pessoas em câmeras de vigilância tenta automatizar esta tarefa e inclusive ampliar, realizando este trabalho em multidões, sem a necessidade de intervenção humana.. 1.1. Motivação. A segurança é um dos temas mais discutidos em jornais, revista e televisão.. Surgem. novos equipamentos, técnicas e treinamentos para segurança doméstica, pública e até análise forense. Esta última é de fundamental importância em crimes planejados e sem testemunha ocular, apenas câmeras de vigilância. A busca automática de faces elimina a necessidade de que técnicos forenses analisem as gravações de segurança com várias horas de duração, para identificarem quem entrou ou saiu da região onde aconteceu o crime, reduzindo horas de investigação criminal e de custos corporativos. Ao mesmo tempo em.

(15) 9. 1.2.. Objetivos. que torna-se possível aumentar a interação entre deficientes físicos que são impossibilitados de movimentar seus membros. Com um simples movimento da cabeça, inclinando para a direita ou esquerda ele pode realizar ações, visualizar fotos, ou seja, disponibilizar um controle adicional para quem é impossibilitado de utilizar os dispositivos atuais de entrada para computadores (teclado e mouse).. 1.2. Objetivos. É possível verificar que existem muitas técnicas de localização facial na literatura, mas poucas delas são invariantes à rotação no plano. A principal motivação para a idealização deste trabalho foi elaborar uma técnica que localizasse faces em imagens digitais mesmo que estejam rotacionadas, realizando assim uma contribuição para a área de pesquisa em reconhecimento de padrões com invariância a rotação. Além de realizar o processo de localização facial, também se objetiva identificar o ângulo de rotação, possibilitando a correção do ângulo de captura, ou utilizando esta informação para outra finalidade.. 1.3. Organização do texto. Este texto está organizado em um capítulo sobre Processamento de imagens, Capítulo 2, onde será abordado temas como a formação da imagem, percepção visual humana, espaço de cores, segmentação, rotação. Segue-se por um capítulo onde serão abordadas algumas técnicas de localização facial, o Capítulo 3, onde algumas das principais técnicas de localização facial serão abordadas, seguindo com a proposta apresentada (Capítulo 4), resultados, (Capítulo 5) e finalmente as conclusões e perspectivas futuras que estão no Capítulo 6..

(16) Capítulo 2. Processamento de Imagens Este capítulo irá apresentar a representação de imagens digitais através da. espacial,. representação. além de explanar rapidamente o funcionamento do sistema de visão humano e. os espaços de cores. Será abordado o tema da segmentação e rotação de imagens, além de matriz de covariância, autovetores e autovalores.. 2.1. Representação da cor. Embora o processo realizado pelo cérebro humano para perceber e interpretar as cores seja um fenômeno fisiológico não completamente compreendido, a natureza física da cor pode ser expressada como em uma base formal, assegurada por resultados teóricos e experimentais. A caracterização da cor é o centro da ciência da cor. Em uma luz acromática (sem cor), seu único atributo é a intensidade ou quantidade. As luzes cromáticas são espectros eletromagnéticos na faixa de aproximada de 400 a 700 nm.. Três quantidades básicas. de qualidade são utilizadas para descrever uma fonte de luz cromática: radiância, luminância e brilho. A. radiância. é a quantidade de energia que flui da fonte de luz, sendo. normalmente medida em Watts (W). A. luminância,. medida em lumens (lm), é a quan-.

(17) 11. 2.1.. Representação da cor. Figura 2.1: Contrastes simultâneos. tidade de energia que um observador percebe estar vindo da fonte de luz. Por exemplo, uma fonte de luz trabalhando em uma faixa infra-vermelha de espectro, terá um valor de radiância, pois está emitindo energia, mas um observador não conseguirá percebê-la, ou seja, a luminância será zero. Finalmente tem-se o. brilho. que é um descritor subjetivo. praticamente impossível de se mensurar. Isto personifica a noção acromática de intensidade sendo um dos fatores para a descrição de sensação de cor (Gonzalez e Woods, 2008).. 2.1.1 Fenômenos visuais O sistema visual é muito complexo, mas possui alguns fenômenos que necessitam serem mencionados. Tais fenômenos estão inter-relacionados, em alguns casos minimamente, em outros largamente.. Contraste Simultâneo O fenômeno de contraste simultâneo é ilustrado pela Figura 2.1. Os quadrados menores possuem a mesma intensidade luminosa, mas devido a intensidade ao redor, os pequenos quadrados não parecem ter o mesmo brilho. Na Figura 2.2 os pequenos quadrados foram deslocados, colocados um ao lado do outro, e só então é possível perceber que são iguais..

(18) Capítulo 2.. Processamento de Imagens. 12. Figura 2.2: Contrastes simultâneos com os pequenos quadrados deslocados. Adaptação cromática A matiz de percepção da cor depende da adaptação do visualizador (Brindley, 1963). Por exemplo, a bandeira dos Estados Unidos por alguns instantes não aparenta ser vermelha, branca e azul se o visualizador for submetido a uma luz vermelha de alta intensidade antes de ver a bandeira.. As cores da bandeira aparentarão se deslocar na matiz em. direção ao complemento do vermelho, o ciano (Pratt, 2007).. 2.1.2 RGB O. RGB. é considerado um espaço de cor aditivo, onde a cor principal é o preto e o restante. das cores são formadas adicionando luz Vermelha (. Red), Verde (Green) ou Azul (Blue).. O processo de reprodução de cor é simples, bastando misturar as três luzes (cores) básicas para formar cores diferentes. Em termos físicos, o espectro de cada luz é sobreposto pelo espectro do outro, realizando uma mistura dos comprimentos de onda, como é possível ver na Figura 2.3. Este processo é chamado de Este é o principal. espaço de cor. reprodução aditiva. (Poynton, 2003).. utilizado em imagens digitais. A Figura 2.4 ilustra. a composição das cores através do sistema RGB. A mistura de todas as cores primárias resulta na cor branca, como exemplificado pela Figura 2.5..

(19) 13. 2.1.. Representação da cor. Figura 2.3: Diagrama ilustrativo, mostrando o processo físico ocorrido na mistura de cores aditivas Fonte: Poynton (2003). Figura 2.4: Cubo de cores RBG.

(20) Capítulo 2.. Processamento de Imagens. 14. Figura 2.5: Diagrama de mistura de cores RGB, partindo do preto e seguindo para o branco.. 2.1.3 CMY Já o. CMY. é considerado um espaço de cor subtrativo.. No espaço de cor aditivo,. adicionam-se luzes para misturar as cores, e no espaço de cor subtrativo a ideia é misturar tintas, pigmentos, com o objetivo de subtrair cores de uma luz branca. Este é o processo que normalmente ocorre na natureza ao nosso redor: os objetos recebem luz branca (luz com todos os espectros de cores), e o material de cada objeto é que irá lhe dar sua cor. Por exemplo, um fruto quando verde, possui esta cor devido a clorofila absorver todos os espectros de cores, exceto a cor verde. A medida que a fruta amadurece, a clorofila é quebrada/degradada pelo. etileno. (Khan, 2006), e com isso perdendo sua característica. de absorver todas as cores exceto o verde. Quando maduro, a clorofila já está degradada, e outros elementos serão responsáveis por compor a cor do fruto, absorvendo alguns espectros de cores (dependendo de sua composição química) e refletindo outros. O CMY é largamente utilizado na indústria gráfica, misturando tintas com o objetivo de compor uma mistura capaz de absorver determinados espectros de luz.. As cores. Cyan), Magenta (Magenta) e Amarelo (Yellow).. A mistura. básicas do CMY são o Ciano (.

(21) 15. 2.1.. Representação da cor. Figura 2.6: Diagrama de mistura de cores CMY, partindo do branco e seguindo para o preto.. de todas as cores básicas irá resultar na cor preta (absorção de todos os espectros de luz), como se pode ver na Figura 2.6. Existe uma variação chamada. CMYK,. onde o K representa exclusivamente a cor. preta. A adição de uma tinta na for preta tem como vantagens:. ˆ. A combinação em 100% de ciano, magenta e amarelo embebeda o papel, demorando para secar, e por algumas vezes sendo impraticável. Isto, em alguns momentos pode causar borrões na impressão. ˆ. A combinação em 100% de ciano, magenta e amarelo (com as tintas comumente oferecidas no mercado) resulta em um marrom muito escuro mas, não que chega a ser totalmente preto.. ˆ. Os textos são tipicamente pretos. ˆ. Usando uma tinta preta, diminuem os custos com as outras tintas..

(22) Capítulo 2.. 2.2. Processamento de Imagens. 16. Representação espacial de imagens. 2.2.1 Pixel e Voxel Imagens constituem uma distribuição de irradiação em um plano. Em termos matemáticos, a irradiação espacial pode ser descrita como uma função contínua de duas variáveis espaciais:. 𝐸(𝑥1 ,𝑥2 ) = 𝐸(𝑥). (2.1). Computadores não podem representar imagens contínuas, somente matrizes de números digitais.. Sendo assim, é necessário representar imagens como matrizes de pontos bi-. dimensionais.. O ponto do grid 2-D é chamado de. pouco conhecido, é chamado de. voxel.. pixel,. o ponto do grid 3-D, embora. O pixel representa a irradiação correspondente à. sua posição no grid. A posição do pixel (em sua representação mais simples) é comumente obtida através da notação de matrizes. O primeiro índice, linha, o segundo,. 𝑀 até. x. 𝑁. 𝑛,. representa a posição da. a posição da coluna (ver Figura 2.7a). Se a imagem digital contém. pixels, ou seja, é representado por uma matriz. 𝑁 − 1,. 𝑚,. e o índice. 𝑚. de 0 até. 𝑀 − 1.. 𝑀. x. 𝑁,. o índice. 𝑛. percorre de 0. Em concordância com a notação de matriz, o. eixo vertical (eixo y), cresce de cima para baixo e não ao contrário, como é comumente visto em gráficos no plano cartesiano (primeiro quadrante). Por sua vez, o eixo horizontal (eixo x), cresce da forma usual, da esquerda para a direita. Cada pixel não representa apenas um ponto na imagem, mas toda uma região retangular, a célula elementar do grid. O valor associado, representa a irradiação média de seu correspondente na imagem contínua. A Figura 2.8 mostra a mesma imagem representada por um número diferente de pixels, como indicado na legenda. Qual a quantidade suficiente de pixels?. Não existe uma resposta única para esta.

(23) 17. 2.2.. (a) Imagem 2-D. Representação espacial de imagens. (b) Imagem 3-D. Figura 2.7: Representação de imagens digitais por matrizes de pontos discretos em um grid retangular.. pergunta. Para uma observação visual de uma imagem digital, o tamanho do pixel deve ser tão pequeno quanto a resolução espacial do sistema de visão do observador. Para uma determinada tarefa, o pixel deve ser tão pequeno quanto a menor escala de um objeto que desejamos observar. O que impede a obtenção de resoluções cada vez melhores é a limitação de pixels da tecnologia dos sensores.. 2.2.2 Relação de vizinhança Uma propriedade importante em imagens discretas é a sua relação de vizinhança, uma vez que definem uma região ligada, e portanto, um. objeto digital.. Um grid retangular em duas. dimensões, possui dois critérios de vizinhança (Figura 2.9), vizinhança-4 e vizinhança-8. Ambos os tipos de vizinhança são necessários para uma definição apropriada dos objetos de regiões conectadas.. A região ou objeto é chamada de. conectada,. quando. conseguimos chegar a qualquer pixel na região, passando por um pixel vizinho. O objeto escuro mostrado na Figura 2.9c é um objeto de vizinhança-8, embora constitua dois objetos em vizinhança-4. Na Figura 2.10 podemos visualizar a vizinhança de um voxel,.

(24) Capítulo 2.. Processamento de Imagens. 18. (a) 3x4. (b) 12x16. (c) 48x64. (d) 192x256. Figura 2.8: Consistência do pixel em uma imagem digital. Em um grid quadrado, cada pixel representa uma região quadrada da imagem. A figura mostra a mesma imagem, representada por uma quantidade diferente de pixels, caso a quantidade de pixels seja suficiente, a imagem parecerá contínua. Fonte: Jähne (2005).

(25) 19. 2.3.. (a) vizinhança-4. (b) vizinhança-8. Segmentação. (c) Objeto digital. Figura 2.9: Os dois tipos de vizinhança em imagens bidimensionais. A área escura de. c,. representa um objeto digital conectado pela vizinhança-8. Fonte: Jähne (2005). com 6, 18 e 26 voxeis vizinhos.. 2.3. Segmentação. Segmentar uma imagem implica na separação da imagem em regiões de atributos semelhantes. O atributo mais comum para segmentação é a amplitude da luminância em uma imagem monocromática e os componentes de cores para imagens coloridas.. Bordas e. texturas também são atributos bastante utilizados para segmentação (Pratt, 2007). Segundo Pratt (2007), não existe uma teoria de segmentação de imagens. Não surgiu. (a) vizinhança-6. (b) vizinhança-18. (c) vizinhança-26. Figura 2.10: Os três tipos de vizinhança de um voxel em imagens tridimensionais. Fonte: Jähne (2005).

(26) Capítulo 2.. Processamento de Imagens. 20. um método padrão para segmentação de imagens, ao invés disso, surgiram uma coleção de métodos que ganharam popularidade. Haralick e Shapiro (1985) estabeleceram o seguinte guia qualitativo para uma boa segmentação de imagem: “Regiões de uma segmentação de imagem devem ser uniformes e homogêneas com respeito a mesma característica como o tom de cinza ou textura. Regiões interiores devem ser simples e sem pequenos buracos. Regiões adjacentes de uma segmentação devem ter valores significantemente diferentes com respeito a característica em que eles são uniformes. Os limites de cada segmento devem ser simples, não serrilhados, e serem espacialmente precisas.”. Descreveremos algumas técnicas de segmentação de imagens.. 2.3.1 Segmentação por amplitude Os métodos de segmentação apresentadas nesta sessão, são baseadas em um limiar de separação na amplitude de luminância ou na componente de cor.. Limiarização de luminância de dois níveis Muitas imagens podem ser caracterizadas por conter objetos observados com brilho razoavelmente uniforme, sobre um fundo com brilho diferente. Exemplos típicos são cartas escritas a mão, textos impressos, amostras biomédicas microscópicas e até aviões em uma pista. Para estas imagens, a luminância é uma característica que separa muito bem o objeto observado do restante da imagem. Quando o objeto observado é próximo do branco e o fundo próximo do preto, ou vice-versa, a tarefa torna-se trivial, basta escolher um valor de cinza intermediário entre os dois níveis de cores (objeto e fundo). O problema prático deste método, é quando a imagem está sujeita a ruídos e quando o objeto e o fundo podem assumir uma ampla faixa de cinza. Outro problema é quando o fundo não é uniforme. Na Figura 2.11a, vemos um texto escaneado em escala de cinza.. Na Figura 2.11b. temos o histograma de 2.11a, dividido em 256 níveis de cinza (0 a 255).. Nas Figuras.

(27) 21. 2.3.. (a) Texto escaneado. Segmentação. (b) Histograma. Figura 2.11: Exemplo de um texto escaneado e o seu histograma. de 2.12a a 2.12f visualizamos a segmentação da Figura 2.11a, utilizando 6 limiares de separação diferentes. Com isso, percebe-se que a escolha do limiar de separação deve ser feita com a maior cautela possível (baseando-se no histograma da imagem), uma escolha inadequada irá resultar em uma segmentação imprópria ou de pior qualidade. Existem algumas técnicas para encontrar o melhor nível de separação para a. arização de luminância de dois níveis.. limi-. A solução para um histograma apresentado na. Figura 2.13, por exemplo, seria o mínimo da parábola, que aproxima o vale entre os picos de luminosidade, o qual para a parábola. 𝑦 = 𝑎𝑥2 + 𝑏𝑥 + 𝑐,. é dado por. 𝑥 = −𝑏/2𝑎.. Outros algoritmos para localizar um limiar de separação foram desenvolvidos: Otsu (1979) desenvolveu um algoritmo usando diferença euclidiana.. Posteriormente, Sahoo. et al. (1988) reportaram que o método desenvolvido por Otsu (1979) é a melhor técnica de seleção de um limiar que eles tenham testado (sendo hoje uma das técnicas mais consolidadas para obtenção de tal limiar de separação).. Limiarização multinível de luminância Uma segmentação eficaz pode ser obtida em algumas classes de imagens utilizando uma aplicação recursiva da. limiarização multinível. sugerida por Tomita et al. (1973).. Na. primeira etapa do processo, a imagem é limiarizada para separar a região com maior.

(28) Capítulo 2.. Processamento de Imagens. 22. (a) Nível 100. (b) Nível 150. (c) Nível 180. (d) Nível 210. (e) Nível 230. (f ) Nível 240. Figura 2.12: Exemplo de segmentação de uma única imagem utilizando vários níveis de separação.

(29) 23. 2.3.. Segmentação. Figura 2.13: Parábola que aproxima o vale entre os dois picos de luminosidade. luminância da região com menor luminância. Este processo é repetido enquanto o histograma não for unimodal, conforme as Figuras 2.15a a 2.16d.. 2.3.2 Segmentação por Agrupamento A segmentação por agrupamento ganhou destaque na comunidade científica com a publicação de Haralick e Kelly (1969), onde imagens aéreas multi-espectrais, de regiões agrícolas, eram segmentadas de acordo com sua cobertura de terra.. A segmentação por. agrupamento é simples, mas normalmente necessita de um grande poder computacional. Considerando-se um vetor. 𝑥 = [𝑥1 , 𝑥2 , ..., 𝑥𝑁 ]𝑇. mensurando cada pixel de coorde-. nadas (j,k) em uma imagem. A medida de cada pixel pode ser valores multiespectrais, componente de cor, cor derivada, ou até características dos pixels vizinhos, como a média e desvio padrão sobre uma janela de movimento. Na Figura 2.17, podemos ver um exemplo de agrupamento para um vetor. 𝑥. com duas dimensões..

(30) Capítulo 2.. Processamento de Imagens. 24. (a) Imagem original. (b) Histograma. (c) Segmento 0. (d) Histograma. (e) Segmento 1. (f ) Histograma. Figura 2.14: Segmentação multinível, primeiro nível de segmentação.

(31) 25. 2.3.. (a) Segmento 00. (b) Histograma. (c) Segmento 01. (d) Histograma. Segmentação. Figura 2.15: Segmentação multinível, segundo nível, primeira ramificação.

(32) Capítulo 2.. Processamento de Imagens. 26. (a) Segmento 10. (b) Histograma. (c) Segmento 11. (d) Histograma. Figura 2.16: Segmentação multinível, segundo nível, segunda ramificação.

(33) 27. 2.3.. Segmentação. Coleman e Andrews (1979) desenvolveram uma segmentação de imagem robusta e relativamente eficiente. A Figura 2.18 é um diagrama de fluxo que descreve a versão simplificada do algoritmo de segmentação de imagens monocromáticas. O primeiro estágio do algoritmo envolve a extração das características. Em um conjunto de experimentos, Coleman e Andrews (1979) utilizaram 12 medidas em janelas quadradas de tamanho 1x1, 3x3, 7x7 e 15x15 pixels. No segmentador (última etapa), cada pixel é associado ao centro mais próximo.. O algoritmo de computação dos agrupamentos começa por estabelecer dois centros de agrupamentos iniciais. Todos os vetores de características são associados ao centro mais próximo. Em seguida, o número de centros de agrupamentos é incrementado por uma unidade, e o fator de qualidade. 𝛽. 𝛽. é computado a cada iteração, até que o valor máximo de. seja determinado. Isto estabelece o número ótimo de agrupamentos. Quando o número. de agrupamentos é incrementado por uma unidade, o novo centro do agrupamento torna o vetor de característica mais distante do seu atual centro mais próximo. O fator. 𝛽. é. definido por. 𝛽 = 𝑡𝑟{𝑆𝑊 }𝑡𝑟{𝑆𝐵 } onde. 𝑆𝑊. e. 𝑆𝐵. (2.2). são a matriz interna e entre agrupamentos de dispersão, sendo. 𝑡𝑟{.}. o. traço da matriz. A matriz interna de dispersão (𝑆𝑊 ) é calculada por. 𝑆𝑊 =. 𝐾 1 ∑︁ 1 ∑︁ (𝑥𝑖 − 𝑢𝑘 )(𝑥𝑖 − 𝑢𝑘 )𝑇 𝐾 𝑀𝑘 𝑘=1. onde K é um número de agrupamentos, agrupamento,. 𝑥𝑖. 𝑥𝑖 𝜖𝑆𝑘. 𝑀𝑘. é o número de elementos no vetor no k-ésimo. é o vetor de elementos no k-ésimo agrupamento,. ésimo agrupamento e. 𝑆𝑘. (2.3). 𝑢𝑘. é a média do k-. é o conjunto de elementos no k-ésimo agrupamento. A matriz. de dispersão entre-agrupamentos (𝑆𝐵 ) é definida por.

(34) Capítulo 2.. Processamento de Imagens. 28. Figura 2.17: Agrupamento de classes para uma medida bi-dimensional Fonte: Pratt (2007). 𝑆𝐵 =. 𝐾 1 ∑︁ (𝑢𝑘 − 𝑢0 )(𝑢𝑘 − 𝑢0 )𝑇 𝐾. (2.4). 𝑘=1. onde. 𝑢0. é a média de todos os vetores de características, calculado por. 𝑀 1 ∑︁ 𝑢0 = 𝑥𝑖 𝑀. (2.5). 𝑖=1. onde. 𝑀. representa o número de pixels que deverão ser agrupados. Coleman e Andrews. (1979) conseguiu, subjetivamente, um excelentes resultados do seu algoritmo de agrupamento em imagens coloridas e monocromáticas.. 2.3.3 Segmentação de pele A detecção de pele tem um papel muito importante em várias aplicações de visão computacional, entre os principais estão a localização/reconhecimento facial, reconhecimento de gestos, segurança visual. Normalmente, a região de pele é segmentada e detectada por correspondência de.

(35) 29. 2.3.. Segmentação. Figura 2.18: Versão simplificada do algoritmo de segmentação de Coleman e Andrews (1979) Fonte: Pratt (2007). histograma, classificação estatística e limiarização baseada em pixel ou por agrupamento (Huang et al., 2008). A cor da pele humana de raças diferentes, embora percebida diferentemente pelos humanos, diferencia-se apenas em intensidade, ao invés de crominância. A invariância de crominância da pele humana possibilita a implementação de um método simples e consistente método de segmentação de pele. Para o problema de detecção de face envolvendo imagens coloridas contendo cenas complexas, recomendam-se os trabalhos de Petrescu e Gelgon (2000) e de Manza (2010). O algoritmo utilizado neste trabalho para segmentação de pele foi baseado no trabalho de Jones e Rehg (1999) e Zheng et al. (2004), utilizando um modelo representativo da pele, construído a partir de um conjunto de imagens de treinamento contendo amostras de pele retiradas de diversos pontos da face, de vários indivíduos de diferentes idades, etnias e ambos os sexos. Neste algoritmo a imagem em estudo, em formato RGB, é processada de forma a diminuir a influência da luminosidade.. A imagem é convertida para o formato de cor. YCbCr, onde Y representa a intensidade luminosa (sendo descartada na segmentação). O processo também é realizado nas amostras de pele, utilizando-se apenas as componentes de crominância..

(36) Capítulo 2.. Processamento de Imagens. 30. Figura 2.19: Exemplo do plano de espaço de cor YCbCr com Y fixado em 0.5 (utilizando uma escala de 0 a 1). Conversão da imagem no formato RGB para YCbCr YCbCr. é conhecido como o espaço de cores puras, onde o Y representa a intensidade. luminosa, Cb a componente de diferença de azul e Cr a componente de diferença de vermelho. Na Figura 2.19, é possível ver o espaço de cor do YCbCr para o Y fixado em 0.5. A Figura 2.20 exemplifica como os canais do formato YCbCr são distribuídos. Podemos visualizar que toda a informação de luminância se concentra no canal Y e as informações de cores nos canais Cb e Cr. A conversão entre o espaço de cor RGB e o espaço de cor YCbCr é realizado através da Equação 2.6 (Kuo et al., 2006). Os valores obtidos em YCbCr estarão entre 0 e 255.. ⎡. ⎤. ⎡. 0.504 0.098 ⎢ 0.257 ⎢ 𝑌 ⎥ ⎢ ⎢ ⎥ ⎢ 𝐶𝑏 ⎥ = ⎢ −0.148 −0.291 0.439 ⎥ ⎢ ⎢ ⎣ ⎣ ⎦ 0.439 −0.368 −0.071 𝐶𝑟. ⎤ ⎡ ⎥ ⎥ ⎥ ⎥ ⎦. ⎤. ⎡. ⎤. ⎢ 𝑅 ⎥ ⎢ 16 ⎥ ⎥ ⎢ ⎥ ⎢ ⎢ 𝐺 ⎥ + ⎢ 128 ⎥ ⎥ ⎢ ⎥ ⎢ ⎦ ⎣ ⎦ ⎣ 128 𝐵. (2.6). A Figura 2.21 exibe algumas amostras de pele utilizadas para gerar a função de.

(37) 31. 2.3.. (a) RGB. (b) Y. (c) Cb. (d) Cr. Segmentação. Figura 2.20: Exemplo da imagem em YCbCr. Figura 2.21: Algumas amostras de pele utilizadas para gerar a função de densidade de probabilidade de um pixel ser de pele.

(38) Capítulo 2.. Processamento de Imagens. 32. (a) Imagem original. (c). Imagem. binária. (b) Probabilidade do pixel. inter-. (d) Imagem binária. mediária Figura 2.22: Exemplo da aplicação da probabilidade em cada pixel de uma imagem. densidade de probabilidade de um pixel ser de pele, representado pela Figura 2.23. Como é possível perceber, a função de densidade de probabilidade é gaussiana e cada pixel da imagem recebe uma probabilidade de ser de pele de acordo com a Equação 2.7.. 1. 𝑇 𝐶 −1 (𝑥−𝜇). 𝑓 (𝐶𝑏,𝐶𝑟) = 𝑒− 2 (𝑥−𝜇) Onde. 𝑥 = (𝐶𝑏,𝐶𝑟)𝑇 , 𝜇 = 𝐸{𝑥}. e. 𝐶 = 𝐸{(𝑥 − 𝜇)(𝑥 − 𝜇)𝑇 }.. (2.7). C é uma matriz 2x2 onde. sua inversa será calculada uma única vez. A Figura 2.22b mostra a segmentação da imagem utilizando a Equação 2.7, onde cada pixel recebe uma probabilidade de ser pele. A Figura 2.22c exibe a segmentação por limiarização, considerando cada pixel com probabilidade superior a. 0.4 (obtido em-. piricamente) e a Figura 2.22d exibe o objeto final, após a aplicação de operadores morfológicos de abertura e fechamento. Esta segmentação de pele foi utilizada originalmente.

(39) 33. 2.4.. Rotação de imagens. Figura 2.23: Exemplo da função de densidade de probabilidade representativo da pele. por Carvalho e Tavares (2005) para localizar faces.. 2.4. Rotação de imagens. A rotação de um sistema de coordenadas possui duas propriedades importantes. O vetor não tem o seu tamanho ou norma modificados e o sistema de coordenadas continua ortogonal. A transformação com essas duas propriedades é conhecido na álgebra como transformação. ortonormal.. A imagem rotacionada por ser calculada através da Equação 2.8, realizando uma rotação. 𝜃. em sentido anti-horário (observar Figura 2.24), os pixels na nova imagem que. não possuem correspondentes na imagem antiga são preenchidos utilizando a interpolação dos pixels ao redor.. ⎡ ⎢ ⎣. 𝑥′ 𝑦′. ⎤. ⎡. ⎤ ⎡. ⎤. ⎥ ⎦ =. ⎢ cos 𝜃 − sin 𝜃 ⎥ ⎢ 𝑥 ⎥ ⎣ ⎦ ⎣ ⎦ sin 𝜃 cos 𝜃 𝑦. (2.8). Na Figura 2.25b, nas quatro pontas, existem regiões na cor preta, que são pixels que não existiam na imagem sem rotação..

(40) Capítulo 2.. Processamento de Imagens. 34. Figura 2.24: Ilustração de uma rotação. (a) Imagem Original. 𝜃. (b) Imagem rotacionada. Figura 2.25: Exemplo de rotação em uma imagem em. 𝜋 5 rad, utilizando interpolação. bilinear (Späth, 1995) e sem preenchimento de pixels inexistentes..

(41) Capítulo 3. Técnicas de localização facial Neste capítulo serão apresentadas algumas técnicas de localização facial que apresentam bons resultados na literatura atual. Começaremos pelas. Redes Neurais Convolutivas, que. é uma das novidades e seguiremos pela técnica de Viola e Jones (2001) que, sem dúvida, é a principal técnica de localização facial da atualidade.. 3.1 A. Rede Neural Convolutiva. Rede Neural Convolutiva. Uma. rede convolutiva. é uma classe especial de perceptrons de múltiplas camadas.. é um perceptron de múltiplas camadas projetado para reconhecer. formas bidimensionais com um alto grau de invariância quanto a translação, escala, inclinação e outras formas de distorção. Esta difícil tarefa é aprendida de uma forma supervisionada por meio de uma rede cuja estrutura inclui as seguintes formas de restrições (LeCun e Bengio, 1995):. 1.. Extração de características. campo receptivo. Cada neurônio recebe seus sinais de entrada de um. local na camada anterior, o que o força a extrair características. locais. Uma vez que uma característica seja extraída, sua localização exata se torna menos importante desde que a sua posição em relação a outras características seja.

(42) Capítulo 3.. Técnicas de localização facial. 36. aproximadamente preservada.. 2.. Mapeamento de características. de múltiplos. Cada camada computacional da rede é composta. mapas de características, sendo cada mapa de características na forma. de um plano dentro do qual os neurônios individuais estão restritos a compartilhar o mesmo conjunto de pesos sinápticos.. ˆ Invariância a deslocamento,. introduzida na operação de um mapa de carac-. kernel ). terísticas através do uso de convolução com um núcleo (. de pequeno. limitadora ). tamanho, seguido por uma função sigmóide (. ˆ Redução do número de parâmetros livres,. obtida através do uso de compartil-. hamento de pesos.. 3.. Subamostragem.. Cada camada convolutiva é seguida por uma camada computa-. cional que calcula a. média local. e realiza uma. subamostragem,. reduzindo, desta. forma, a resolução do mapa de características. Esta operação tem o efeito de reduzir a sensibilidade da saída do mapa de características em relação a deslocamentos e outras formas de distorção.. O desenvolvimento de redes convolutivas, como descrito acima, tem motivação neurobiológica, com origem no trabalho de Hubel e Wiesel (1962) sobre sensibilidade local e neurônios seletivos à orientação no córtex visual de um gato. A Figura 3.1 mostra a planta arquitetural por uma rede convolutiva constituída de uma camada de entrada, quatro camadas ocultas e uma camada de saída. Esta rede é projetada para realizar. processamento de imagens.. A camada de entrada, constituída de. 28x28 nós sensoriais, recebe a imagem de diferentes caracteres manuscritos que foram aproximadamente centradas e normalizadas em tamanho. Depois disso, as plantas computacionais se alternam entre convolução e sub-amostragem..

(43) 37. 3.1.. Rede Neural Convolutiva. Figura 3.1: Rede convolutiva para o processamento de imagens. ˆ. A primeira camada oculta realiza convolução. Consiste de quatro mapas de características, com cada mapa consistindo de 24x24 neurônios.. A cada neurônio é. atribuído um campo receptivo de tamanho 5x5.. ˆ. A segunda camada oculta realiza subamostragem e calcula a média local. Consiste também de quatro mapas de características, mas cada mapa é constituído agora de 12x12 neurônios.. Cada neurônio tem um campo receptivo de tamanho 2x2,. um coeficiente treinável, um O coeficiente treinável e o. bias. bias. treinável e uma função de ativação sigmóide.. controlam o ponto de operação do neurônio; por. exemplo, se o coeficiente é pequeno, o neurônio opera em um modo quase linear.. ˆ. A terceira camada oculta realiza uma segunda convolução. Consiste de 12 mapas de características, com cada mapa consistindo de 8x8 neurônios. Cada neurônio nesta camada oculta pode ter conexões sinápticas com vários mapas de características da camada oculta antecedente.. De resto, ela opera de forma similar à primeira. camada convolutiva.. ˆ. A quarta camada oculta realiza uma segunda subamostragem e cálculo da média local.. Consiste de 12 mapas de caractetísticas, mas cada mapa consiste de 4x4. neurônios. De resto, opera de forma similar à primeira camada de subamostragem.. ˆ. A camada de saída realiza um estágio final de convolução. Consiste de 26 neurônios,.

(44) Capítulo 3.. Técnicas de localização facial. 38. sendo que a cada neurônio é atribuído um caracter de 26 caracteres possíveis. Como anteriormente, a cada neurônio é atribuído um campo receptivo de tamanho 4x4.. O perceptron de múltiplas camadas descrito na Figura 3.1 contém aproximadamente 100.000 conexões sinápticas, mas apenas cerca de 2600 parâmetros livres. Esta dramática redução do número de parâmetros livre é obtida pelo uso de compartilhamento de pesos. A capacidade da máquina de aprendizagem é, desta forma, reduzida, o que, por sua vez, melhora a sua habilidade de generalização.. O que é ainda mais notável é que os. ajustes dos parâmetros livres são feitos a partir da forma estocástica da aprendizagem por retropropagação A arquitetura apresentada na Figura 3.1 é chamada de LeNet-5 (LeCun et al., 1998), foi utilizada para realizar o reconhecimento dos caracteres manuscritos do alfabeto. As aplicações das. Redes Neurais Convolutivas. no reconhecimento de padrões em imagens. vai muito além do reconhecimento de caracteres, existem aplicações em reconhecimento de objetos e inclusive face. Poucas foram as pesquisas que realizaram publicações na arquitetura original da rede convolutiva.. As pesquisas mais promissoras realizaram algumas modificações na. arquitetura como é o caso de Matsugu et al. (2002); Tivive e Bouzerdoum (2004, 2003). Tivive e Bouzerdoum (2003) conseguindo um resultado de até 96.9% de acerto.. 3.2. Técnica de Viola-Jones. Desenvolvida por Viola e Jones (2001), é possivelmente a técnica de localização de faces/objetos mais utilizada no meio científico e na industria, sendo facilmente encontrado em câmeras fotográficas digitais, softwares de webcam e na maioria dos softwares de identificação facial (a quem pertence a face). Sua principal vantagem é baixa complexidade computacional e sua paralelização, podendo realizar a localização da face em uma imagem de 320x240 em tempo real..

(45) 39. 3.2.. Técnica de Viola-Jones. Esta técnica não utiliza do movimento de um vídeo nem da cor do pixel para acelerar o processamento da imagem. É utilizada a ideia de. Janela de Processamento. que. extrai características da imagem, aplica-a a uma árvore de decisão que iterativamente irá informar a existência ou não de uma face nesta janela. Existem 3 pontos importantes na concretização do algoritmo, que seriam a. Imagem. Integral da. o que permite uma rápida avaliação da característica de cada janela esquecendo. a ideia de trabalhar diretamente com a luminosidade do pixel, o método com que o classificador é construído, que seleciona o mínimo de características a serem treinadas com uma implementação do. AdaBoost. (Adaptative Boosting) e por último a combinação. sucessiva entre classificadores simples em uma estrutura em cascata.. 3.2.1 Extração de Características A extração de características é baseada em uma ideia simples, que não utiliza diretamente a intensidade do pixel, o que torna a tarefa de aprendizagem mais fácil, o que é um dos motivos para a grande velocidade da técnica. A característica utilizada é a transformada de Haar exemplificada por Horta (2007) para segmentar regiões da imagem, como mostrado na Figura 3.2, da forma como descrita por Papageorgiou et al. (1998). A característica nada mais é do que a soma de todos os pixels da região branca subtraído da soma dos pixels da região hachurada.. 3.2.2 Integral da imagem Um algoritmo convencional para calcular a característica descrita em 3.2.1. seria a utilização de 2 laços aninhados para realizar a soma de cada uma das regiões de cada retângulo e em seguida realizar a subtração de cada um, como demonstrado pelo Algoritmo 1:. onde I(x,y) é a luminância da imagem A Integral da Imagem acelera esse cálculo realizando apenas uma vez, fazendo com.

(46) Capítulo 3.. Técnicas de localização facial. 40. Figura 3.2: Exemplo de retângulos de características. 2 retângulos de características são exibidos em A e B, 3 retângulos de características são exibidos em C e 4 retângulos em D. que o cálculo da característica seja realizado com pouquíssimas operações aritméticas. A equação 3.1 representa como a obtemos.. 𝑖𝑖(𝑥,𝑦) =. ∑︁. 𝑖(𝑥′ ,𝑦 ′ ). (3.1). 𝑥′ ≤𝑥,𝑦 ′ ≤𝑦 onde ii(x,y) é a Integral da Imagem e i(x,y) é o valor do pixel da imagem original. Com esta representação é possível calcular a soma de qualquer retângulo realizando apenas 4 acessos a matriz da Integral da Imagem. A Figura 3.3 ilustra como a Integral da imagem funciona. No ponto 1 teremos a soma de todas os valores dos pixels da imagem a partir do ponto (0,0). A soma de todos os pixels da área D é calculada realizando 4 acessos a ii(x,y) como demonstrado na equação 3.2.. 𝐴𝐷 = 𝑉4 − 𝑉3 − (𝑉2 − 𝑉1 ). (3.2). Na Figura 3.4 tem-se um exemplo de uma das caraterísticas explicadas em 3.2.1. Para.

(47) 41. 3.2.. Técnica de Viola-Jones. 𝑎𝑙𝑡𝑏 ← altura da região branca 𝑎𝑙𝑡ℎ ← altura da região hachurada 𝑙𝑎𝑟𝑔𝑏 ← largura da região branca 𝑙𝑎𝑟𝑔ℎ ← largura da região hachurada 𝑠𝑜𝑚𝑎1 ← 0; for 𝑥 ← 1 to 𝑙𝑎𝑟𝑔𝑏 do for 𝑦 ← 1 to 𝑎𝑙𝑡𝑏 do 𝑠𝑜𝑚𝑎1 ← 𝑠𝑜𝑚𝑎1 + 𝐼(𝑥,𝑦); 𝑠𝑜𝑚𝑎2 ← 0; for 𝑥 ← 1 to 𝑙𝑎𝑟𝑔ℎ do for 𝑦 ← 1 to 𝑎𝑙𝑡𝑏 do 𝑠𝑜𝑚𝑎2 ← 𝑠𝑜𝑚𝑎2 + 𝐼(𝑥,𝑦) 𝑐𝑎𝑟𝑎𝑐𝑡𝑒𝑟𝑖𝑠𝑡𝑖𝑐𝑎 ← 𝑠𝑜𝑚𝑎1 − 𝑠𝑜𝑚𝑎2. Algoritmo 1: Cálculo de uma característica como mostrado na Figura 3.2 A ou B calcular esta característica é necessário realizar apenas seis acessos a Integral da Imagem como é demonstrado na equação 3.3.. 𝐴𝑟𝑒𝑎𝑏𝑟𝑎𝑛𝑐𝑎 = 𝑉6 − 𝑉5 − (𝑉4 − 𝑉3 ) 𝐴𝑟𝑒𝑎ℎ𝑎𝑐ℎ𝑢𝑟𝑎𝑑𝑎 = 𝑉4 − 𝑉3 − (𝑉2 − 𝑉 1) 𝐶𝑎𝑟𝑎𝑐𝑡𝑒𝑟𝑖𝑠𝑡𝑖𝑐𝑎 = 𝐴𝑟𝑒𝑎𝑏𝑟𝑎𝑛𝑐𝑎 − 𝐴𝑟𝑒𝑎ℎ𝑎𝑐ℎ𝑢𝑟𝑎𝑑𝑎. (3.3). 3.2.3 Classificador AdaBoost Com a ideia da. Integral da Imagem. formada podemos partir para o classificador. Uma. variação do Adaptative Boosting (Kuncheva, 2004) é utilizadoa tanto para selecionar um pequeno conjunto de características como para treinar o classificador. Na sua forma original, o AdaBoost é utilizado para auxiliar o treinamento de classificadores simples, do tipo simples separadores lineares. O classificador linear simples é definido por:. 𝑆=. 𝑐 ∑︁ 𝑖=1. 𝑊 [𝑖]𝑥𝐼𝑛𝑡𝑒𝑔𝑟𝑎𝑙𝐼𝑚𝑎𝑔𝑒𝑚[𝐹.𝐼𝑛𝑑𝑒𝑥[𝑖]],. (3.4).

(48) Capítulo 3.. Técnicas de localização facial. 42. Figura 3.3: Cálculo de uma região retangular. 𝐹.𝑠𝑐𝑜𝑟𝑒 = 𝑎𝑏𝑠(𝑆 − 𝐹.𝑚𝑒𝑑𝑖𝑎_𝑓 𝑎𝑐𝑒) < 𝑎𝑏𝑠(𝑆 − 𝐹.𝑚𝑒𝑑𝑖𝑎_𝑛𝑎𝑜_𝑓 𝑎𝑐𝑒),. 𝐹 𝑎𝑐𝑒𝐿 𝑜𝑐𝑎𝑙𝑖𝑧𝑎𝑑𝑎 =. 𝑛 ∑︁. 𝐹 [𝑗].𝑠𝑐𝑜𝑟𝑒 > 𝑙𝑖𝑚𝑖𝑎𝑟. (3.5). (3.6). 𝑗=1 onde c é o número de características, o i representa cada característica utilizada pelo classificador, W é o vetor de pesos para as características, IntegralImagem[F.Index[i]] representa o resultado da operação da transformada de Haar na imagem.. S é o so-. matório das características para cada classificador, F.media_face é a média para S que o classificador encontrou durante o treinamento de amostras positivas, F.media_nao_face é a média para S durante o treinamento de amostras negativas, limiar é a separação para o somatório de todas as características do classificador.. Se o somatório ultrapassar o. limiar, o classificador simples considera como face. É utilizada uma janela de 24x24 pixels para extrair as características discutidas em 3.2.1.. Nesta janela é possível formar uma combinação de aproximadamente 180.000. características. Esta combinação é absurdamente elevada, e qualquer classificador que tivesse que analisar todas estas combinações estaria fadado a lentidão na classificação..

(49) 43. 3.2.. Técnica de Viola-Jones. Figura 3.4: Cálculo de um elemento de característica. Para solucionar este problema, o classificador é projetado para uma única característica que melhor separe um exemplo positivo de um exemplo negativo de face. Para cada característica, um classificador simples determina um limiar de separação ótimo para a função de classificação. Um classificador simples paridade. 𝑝𝑗. ℎ𝑗 (𝑥). consiste de uma característica. 𝑓𝑗 ,. um limiar. 𝜃𝑗. e uma. que indica a direção do sinal da inequação:. ℎ(𝑥) =. ⎧ ⎪ ⎨ 1 𝑠𝑒𝑝𝑗 𝑓𝑗 (𝑥) < 𝑝𝑗𝜃𝑗 ⎪ ⎩ 0. 𝑐.𝑐.. Na prática, apenas uma característica não é suficiente para realizar uma detecção com poucos erros. As características são selecionadas em vários passos, como ilustrado a seguir.. ˆ. Obter amostras das imagens (𝑥1 ,𝑦1 ), ..., (𝑥𝑛 ,𝑦𝑛 ), onde itivos e negativos da imagem. 𝑦𝑖 = 0,1. para exemplos pos-.

(50) Capítulo 3.. ˆ. Técnicas de localização facial. Inicializar os pesos. 𝑢1,𝑖 =. 1 1 2𝑚 , 2𝑙 para. 44. 𝑦𝑖 = 0,1. respectivamente, onde m e l são o. número de amostras negativas e positivas, respectivamente. ˆ. Para t = 1, ..., T:. 1. Normalize os pesos,. 𝑢𝑡,𝑖 ←. ∑︀𝑛𝑢𝑡,𝑖 , onde 𝑗=1 𝑢𝑡,𝑗. 𝑢𝑡. é uma distribuição de probabili-. dade.. ℎ𝑗 , que deve ser treinado ape∑︀ O erro é avaliado observando 𝑢𝑡 , 𝜖𝑗 = 𝑖 𝑢𝑖 |ℎ𝑗 (𝑥𝑖 )−. 2. Para cada característica, j, treinar o classificador nas com esta característica.. 𝑦𝑖 | 3. Escolher o classificador 4. Atualize os pesos: onde e. ˆ. 𝜖𝑖 = 0. 𝛽𝑡 =. ℎ𝑡 ,. com o menor erro. 𝜖𝑡 .. 𝑢𝑡+1,𝑖 = 𝑢𝑡,𝑖 𝛽𝑡1−𝜖𝑖. se o exemplo. 𝑥𝑖. é classificado corretamente,. 𝜖𝑖 = 1. caso contrário,. 𝜖𝑡 1−𝜖𝑡 .. O melhor classificador é. ℎ(𝑥) =. ⎧ ⎪ ⎨ 1 ∑︀𝑇 𝛼𝑡 ℎ𝑡 (𝑥) ≥ 𝑡=1 ⎪ ⎩ 0. onde. 1 2. ∑︀𝑇. 𝑡=1 𝛼𝑡. 𝑐.𝑐.. 𝛼𝑡 = log 𝛽1𝑡. O resultado da utilização do algoritmo para a seleção de um conjunto reduzido de características pode ser demonstrado na Figura 3.5. É possível perceber que as características selecionadas foram a de dois retângulos na altura dos olhos com o nariz e a outra foi entre os olhos e a testa. No primeiro caso o algoritmo percebeu a diferença de luminosidade entre o nariz e a região dos olhos, no segundo caso percebeu a semelhança de luminosidade entre os olhos e a diferença para a região superior do nariz..

(51) 45. 3.2.. Técnica de Viola-Jones. Figura 3.5: Características selecionadas pelo AdaBoost. O segredo para ter uma detecção rápida é ter uma sequência de classificadores. O primeiro classificador descarta a maioria das sub-janelas da imagem com falso-positivo com pouquíssimo processamento, pois realiza o cálculo de apenas 2 características (Figura 3.5), Viola e Jones (2001) estimam que essa operação é realizada com aproximadamente 60 instruções de um microprocessador, os classificadores seguintes realizam a mesmo procedimento, mas utilizam um número maior de características. À medida que a subjanela passa pelos classificadores ela é aplicada a outro classificador mais complexo e que utiliza mais processamento. como uma face.. Se a sub-janela passar em todas as etapas é reconhecida. A Figura 3.6 ilustra esta árvore de decisão.. Nesta figura é possível. observar que existe um nível hierárquico entre os classificadores, o primeiro classificador é aplicado a todas as imagens, caso ele classifique como face, o segundo classificador é aplicado e assim por diante. As sub-janelas rejeitadas são descartadas como faces não sendo necessário a aplicação do restante dos classificadores. Pelo fato dos classificadores serem treinados com a meta heurística AdaBoost, os classificadores subsequentes são treinados com as amostras que os primeiros classificadores possuem maior dificuldade, ou seja os falso-positivo que passam pelos primeiros classificadores dificilmente irão passar pelos classificadores subsequentes..

(52) Capítulo 3.. Técnicas de localização facial. 46. Figura 3.6: Figura esquemática da árvore de decisão em cascata. A varredura da imagem A varredura da imagem é realizada a partir do pixel (0,0) com uma sub-janela de 24x24 pixels.. A busca segue crescendo no eixo X, seguido pelo eixo Y (linha a linha).. Ao. término da busca de 24x24 pixels a janela é aumentada por um fator de escala e o processo recomeça com a sub-janela de um tamanho aumentado. Isto se repete até que a sub-janela esteja do tamanho da janela original.. Treinamento Classificadores com mais características possuem uma taxa de falsos-positivos menor e uma alta taxa de detecção.. Em contrapartida, necessitam de mais processamento.. A. técnica ideal seria, para cada classificador, selecionar um limiar de separação entre as amostras positiva e negativamente classificadas, de forma que minimize o número de características que serão utilizadas. Solucionar este problema, porém, não é simples. Na prática uma técnica simples é utilizada para o treinamento.. Em cada estágio. de treinamento é selecionado um limite mínimo de reconhecimento e um limiar máximo de falsos-positivos.. O treinamento consiste em acrescentar retângulos de característi-. cas como descrito na Sessão (3.2.1) nas várias faces que fazem parte do treinamento.

(53) 47. 3.2.. Técnica de Viola-Jones. Figura 3.7: Exemplo de faces que fazem parte do treinamento. (na Figura 3.7 se podem observar exemplos das faces) até que esses parâmetros sejam respeitados. Terminado este procedimento, o treinamento está concluído..

(54) Capítulo 4. Deteção de rotação de face Este capítulo irá apresentar o método proposto para realizar a localização facial assim como o seu ângulo de rotação. A segmentação da pele na imagem é realizada através do método proposto por Jones e Rehg (1999) e Zheng et al. (2004) e o ângulo de rotação estimado através da densidade dos pixels.. Visão Geral O método se divide em 3 principais etapas. Na primeira etapa a imagem é segmentada, na segunda é calculada a dispersão dos pixels e na terceira etapa a imagem é rotacionada no sentido inverso.. A Figura 4.1 apresenta o diagrama de blocos de todo o processo. realizado para localizar a face. Inicialmente a imagem é convertida do espaço de cor RGB para YCbCr, onde as características da pele podem ser detectadas nos canais Cb e Cr. Cada canal é uma nova imagem em escala de cinza. Na etapa de segmentação, a cada par de pixel (das imagens Cb e Cr) é aplicada a Equação 2.7 (Página 32): e todos os pixels com probabilidade superior a. 0.4. são considerados pixels de pele. A saída do processo de segmentação é. uma imagem binária (Figura 2.22d, Página 32). Na etapa seguinte é calculada a matriz de covariância (Equação A.8, Página 62), que irá calcular a variância e covariância dos.

(55) 49. Figura 4.1: Diagrama de blocos do processo. 𝑥. vetores. e. 𝑦. da imagem binária, formados com a posição espacial de cada pixel. Em. seguida é calculado os autovalores e autovetores da matriz de covariância, onde será obtido o ângulo médio de dispersão dos pixels, dado por. 𝜃 = 𝑐𝑜𝑠−1 (𝑒𝑚 · 𝑦𝑣 ) onde. 𝑒𝑚. é o autovetor de maior autovalor e. 𝑦𝑣. é o vetor vertical. (4.1). (1,0)𝑇 .. estar de cabeça para baixo, estima-se um segundo ângulo acrescido de em. 𝜃1. e. 𝜃2 .. Como a face pode. 𝜋. rad, resultando. Com os dois ângulos estimados são geradas duas novas imagens (baseando-se. na imagem original), essas imagens são rotacionadas em sentido contrário (ou seja, e. −𝜃2 ). e aplicadas ao algoritmo de Viola e Jones (2001).. −𝜃1.

(56) Capítulo 5. Resultados Todas as imagens apresentadas neste capítulo foram obtidas através do software implementado para este trabalho, na linguagem C. Os resultados foram obtidos aplicando o algoritmo de Viola e Jones (2001) e aquele aqui o proposto a um vídeo. A Figura 5.1 exibe alguns frames comparando o desempenho do método de Viola-Jones e do método proposto. Nesta figura, mostra-se que o método de Viola-Jones consegue localizar faces com algumas leves rotações, mas quando essa inclinação começa a se aproximar de 15°a face deixa de ser localizada. Isto se deve ao fato de que as funções de base de Haar que são utilizadas como descritores deixam de. aprovar. a imagem como uma possível face, as. características da localização espacial dos olhos, boca, nariz se perdem (Ver Figura 3.5, na Página 45). Neste momento o método proposto é ativado para estimar o ângulo de rotação, realizando uma rotação inversa e possibilitando que o método de Viola-Jones possa novamente localizar a face. A Figura 5.2 mostra o erro na estimativa do ângulo de rotação.. Para realizar o. experimento foi utilizada uma foto sem rotação na face. Esta foto foi rotacionada em ângulos variando de 0°a 360°, armazenado o ângulo estimado e o ângulo real. A Linha preta representa o seno do ângulo real de rotação da face (obtido utilizando a Equação 2.8), enquanto a linha azul é o seno ângulo estimado. O erro médio de. 5.5297 graus com.

(57) 51. (a) Viola-Jones/Proposto. (b) Viola-Jones/Proposto. Figura 5.1: A esquerda (em a e b) frames aplicados ao Viola-Jones, a direita (em a e b) aplicados ao método proposto. Figura 5.2: Comparação entre o seno do ângulo real e do estimado.

(58) Capítulo 5.. Resultados. 52. Figura 5.3: Amostras em um ambiente diferente. Viola-Jones/Proposto. variância de. 2.7376 graus.. A Figura 5.3 é um exemplo do resultado em um ambiente completamente diferente, com uma textura de pele diferente, com iluminação diferente.. Neste novo ambiente,. mesmo com um foco de luz atrás da face, o método proposto se mostrou eficiente em localizar a face.. É possível perceber que o algoritmo está sujeito aos falsos-positivos. gerados pela técnica de Viola-Jones (Figura 5.3, quarta linha), uma vez que só entra em ação quando o método de Viola-Jones é incapaz de localizar a face, como o algoritmo de Viola-Jones informa que localizou uma face (mesmo não existindo) o método proposto não é ativado. A Tabela 5.1 apresenta uma comparação dos falsos-positivos (quando o algoritmo localiza uma face que não existe) e falsos-negativos (quando o algoritmo deixa de localizar uma face existente) entre o método de Viola-Jones e o método aqui proposto. O resultado foi extraído aplicando-se um vídeo com. 1193. frames (Na Figura 5.4 são.

(59) 53. Figura 5.4: Amostras de imagens utilizadas para realizar o teste de localização Algoritmo. Falso-positivo. Falso-negativo. Viola-Jones. 3.43%. 46.71%. Proposto. 8.35%. 4.02%. Tabela 5.1: Tabela comparativa entre os métodos de Viola-Jones e aquele aqui Proposto. exibidos alguns destes frames), contendo propositalmente variação na rotação da face, gerando como saídas imagens como as encontradas pela Figura 5.1. Foi realizada uma contagem (humana) da quantidade de erros contidos em cada imagem, assim como os acertos. Embora a tabela não expresse a taxa de acerto, ela pode ser obtida através do complemento da soma dos erros. Como o método proposto é acionado apenas quando o método de Viola-Jones não localiza a face, o erro de falso positivo acaba sendo uma soma do erro de Viola-Jones acrescido dos erros gerados pelo método proposto. Também é possível perceber que a taxa de falso-negativo diminui de 46.71% para 4.02%..

(60) Capítulo 6. Conclusão e Perspectivas Futuras 6.1. Conclusão. A Interação Humano-Computador é um dos temas mais abordados em feiras de tecnologia, mostrando que a operação através de um mouse ou teclado está ficando obsoleta. Assim como os sistemas biométricos caminham para uma abordagem não invasiva, a localização da face e seu respectivo ângulo de rotação permitem que algoritmos já existentes possam funcionar sem realizar modificações em seu funcionamento.. O método proposto mostrou-se satisfatório para uma grande quantidade de imagens apresentadas, realizando a localização da face independente de seu ângulo de rotação com uma pequena taxa de falso-positivo e falso-negativo.. Uma notável melhora em. relação ao método de Viola-Jones é percebida a medida que o ângulo de rotação da face cresce. Os métodos se segmentação de pele estão em constante evolução, possibilitando a melhora dos resultados em um momento futuro. O desenvolvimento de uma heurística para decidir quando utilizar apenas o Viola-Jones e quando utilizar o método proposto poderia diminuir as taxas de falso-negativo, embora não fosse possível diminuir a taxa de falso-positivo..

(61) 55. 6.2. 6.2.. Perspectivas Futuras. Perspectivas Futuras. Este trabalho abre caminho para pesquisa na área de Interação Humano-Computador, melhorando o seu desempenho, podendo ser usado em jogos que utilizam o movimento da cabeça. A mesma ideia pode ser utilizada como um novo meio de comunicação entre os tetraplégicos com os computadores,.

(62) Referências Bibliográficas Brindley, G. S. (1963).. Afterimages.. Scientific American.. Carvalho, F. J. S. e Tavares, J. M. R. S. (2005). Metodologias para identificação de faces em imagens: Introdução e exemplos de resultados.. Congreso de Métodos Numéricos. en Ingeniería. Coleman, G. B. e Andrews, H. C. (1979). Image segmentation by clustering.. Proc. IEEE,. 57. Gonzalez, R. C. e Woods, R. E. (2008).. Digital Image Processing, Third edition. Pearson.. Haralick, R. M. e Kelly, G. L. (1969). Pattern recognition with measurement space and spatial clustering for multiple images.. Haralick, R. M. e Shapiro, L. G. (1985).. Proc. IEEE, 57.. Image Segmentation Techniques. Machine Vision. International.. Horta, T. C. O. (2007). Um estudo das transformadas wavelets de haar e gabor para detecção de objetos. Master’s thesis, Universidade de Brasília.. Huang, D., Wunsch, D., Levine, D., e Jo, K. (2008).. Advanced Intelligent Computing. Theories and Applications with Aspects of Contemporary Intelligent Computing Techniques: 4th International Conference on Intelligent Computing, ICIC 2008 Shanghai,.

Referências

Documentos relacionados

Varr edura TCP Window ( cont inuação) ACK- win manipulado Não Responde ACK- win manipulado ICMP Tipo 3 Firewall Negando Firewall Rejeitando Scanner de Porta... Var r edur a FI N/

Nas Lições de Epicteto há inúmeras passagens onde o tó soma é apresentado como o primeiro item listado entre aquelas coisas “não sobre nós”, ou seja, que não nos

Se algum dos efeitos secundários se agravar ou se detectar quaisquer efeitos secundários não mencionados neste folheto, informe o seu médico ou farmacêutico.. Este folheto

A aceleração é um invariante quando passamos de um referencial a outro qualquer, animado de movimento relativo de translação uniforme. 3.5 Movimento Relativo de

O diretor da Agência Nacional de Energia Elétrica (Aneel), Edvaldo Santana, disse ontem que o atual cenário de turbulências no setor elétrico “está caminhando para

Como todos os medicamentos, Quetiapina Accord pode causar efeitos secundários, no entanto estes não se manifestam em todas as pessoas.. Se algum dos seguintes efeitos secundários

Para a descrição qualitativa da elevação do eixo horizontal para a vertical de um elipsoide rígido, analisaremos o movimento de um ovo cozido que é girado sobre uma

No 8º dia após o último comprimido de DELLAX 20 e DELLAX 30 (ou seja, após os 7 dias da semana de intervalo), inicie a fita seguinte, mesmo que a hemorragia não tenha parado.