Sie sind auf Seite 1von 70

Universidade de Braslia Instituto de Cincias Exatas Departamento de Cincia da Computao

Avaliao de Caractersticas Haar em Um Modelo de Deteco de Face

Edson Lek Hong Ma

Monograa apresentada como requisito parcial para concluso do Bacharelado em Cincia da Computao

Orientador Prof. Dbio Leandro Borges

Braslia 2007

Universidade de Braslia UnB Instituto de Cincias Exatas Departamento de Cincia da Computao Curso de Bacharelado em Cincia da Computao

Coordenador: Prof a Cludia Nalon .

Banca examinadora composta por: Prof. Dbio Leandro Borges (Orientador) CIC/UnB Prof. Li Weigang CIC/UnB Prof. Marco Aurelio de Carvalho CIC/UnB

CIP Catalogao Internacional na Publicao Ma, Edson Lek Hong. Avaliao de Caractersticas Haar em Um Modelo de Deteco de Face / Edson Lek Hong Ma. Braslia : UnB, 2007. 70 p. : il. ; 29,5 cm. Monograa (Graduao) Universidade de Braslia, Braslia, 2007. 1. Deteco de Faces. Caractersticas Haar, 2. Classicador Cascata, 3. Viso por Computador CDU 004

Endereo: Universidade de Braslia Campus Universitrio Darcy Ribeiro Asa Norte CEP 70910900 Braslia DF Brasil

Universidade de Braslia Instituto de Cincias Exatas Departamento de Cincia da Computao

Avaliao de Caractersticas Haar em Um Modelo de Deteco de Face

Edson Lek Hong Ma

Monograa apresentada como requisito parcial para concluso do Bacharelado em Cincia da Computao

Prof. Dbio Leandro Borges (Orientador) CIC/UnB Prof. Li Weigang Prof. Marco Aurelio de Carvalho CIC/UnB CIC/UnB Prof a Cludia Nalon . Coordenador do Bacharelado em Cincia da Computao

Braslia, 28 de junho de 2007

Dedicatria
Dedico este trabalho aos meus pais, minha irm e minha namorada que inmeras vezes souberam exprimir palavras de motivao para que eu possa seguir em frente nesta caminhada tortuosa e desaadora.

Edson Lek Hong Ma

Agradecimentos
minha me Isabel, que, desde sempre respondia as minhas perguntas pacientemente, exceto quando abusava de sua boa vontade nas horas de descanso. Ela foi, em grande parte, a responsvel na minha formao bsica matemtica e incentivo para o estudo voltado para as cincias exatas, e acredito que de algum modo me motivou para o caminho da computao. Ao meu pai, Marcos, que mesmo sempre atarefado, me ajudou nos momentos de decises srias e difceis e colaborando desde cedo a me mostrar um pouco do mundo da informtica. Ele sempre soube expressar motivaes para que eu busque inovaes tecnolgicas, por meio de inmeras idias interessantes, e que eu consiga de alguma forma faz-lo sentir orgulho com inovaes na rea de estudo que decidi seguir. Que ele continue sendo a pessoa responsvel e justa que sempre foi, como tambm toro para que possa diminuir seu ritmo de trabalho e ter um dia seu descanso merecido. Ao meu tio, Alan, que mesmo agora morando distante, foi quem me iniciou no mundo da informtica me permitindo h tempos atrs, utilizar seu computador antigo para entretenimento e experimentos frustrados, na qual ele pacientemente restaurava o sistema inmeras vezes. minha namorada Julia, que sempre esteve presente em grande parte da minha vida e que a pessoa que mais me incentivou a prosseguir em meu trabalho de graduao. Agradeo a compreenso e meus momentos de ausncia, devido aos compromissos, e que ela continue sendo essa pessoa mais adorvel e carinhosa. Toro para que possa em sua vida acadmica, obter o sucesso em seus estudos e quando tambm chegar seu momento de formatura, comemorarmos juntos uma nova fase de nossas vidas. minha irm Beatriz, que em todo momento sempre foi parte essencial da famlia e sempre apresentou pontos de vista diferentes para questes da vida. Que ela alcance felicidades e realizaes na vida acadmica, prossional e pessoal tanto quanto eu acho que merece. Que ela continue sempre alegre, animada e paciente como sempre foi e desejo que tenhamos mais oportunidades para nosso divertimento danando salsa. Aos meus grandes amigos da UnB que espero levar para vida... Jos Ricardo, Gabriel Medina, Thiago Horta, Irving Rocha, Alberto Rios, Ilan Alisson, Victor Bortone, Bruno Catete, Gustavo Zerlotini, e tantos outros que sempre estiveram presentes e unidos nessa vida acadmica. Agradeo em especial ao Victor, Ilan e Catete pelas suas contnuas palavras de incentivo que nunca me deixaram esquecer que no momento em que gostamos daquilo que fazemos, todo trabalho cansativo se torna prazeiroso. Ao gestor e colegas do Projeto CDTC, que durante minha elaborao do trabalho, sempre caram curiosos e interessados no resultado nal. Todos de alguma forma colaboraram, seja participando dos testes ou ajudando em

problemas tcnicos no meu ambiente de desenvolvimento. Que a equipe deste projeto continue sempre motivada a compreender mais os ensinamentos da losoa GNU e que obtenham grandes sucessos na vida prossional. Uma meno especial ao meu orientador Prof. Dbio Leandro Borges (Universidade de Braslia) pelo acompanhamento efetivo em todas as etapas desse projeto, sempre me guiando para que eu no perdesse o foco desse estudo. Foi ele quem me mostrou a rea de Viso Computacional, at ento desconhecida por mim, e me motivou a trabalhar com ele em momento to oportuno. Aos professores que me serviram de inspirao por mostrarem gosto e talento na transmisso de conhecimentos e que de fato poderiam ser chamados de mestres. A eles minha eterna admirao por seguirem uma prosso por vezes to desgastante e sem o devido reconhecimento que lhes direito. Aos amigos que mesmo com a minha ausncia nas comemoraes, no so menos amigos. Em especial aos amigos da poca do colgio, que se entitulam "povo do machurrasco", desejo-os felicidades e sucessos, e que continuemos rindo de suas trapalhadas e que nunca esqueam da nossa amizade de vrios anos. Edson Lek Hong Ma

Resumo
Este trabalho consiste em avaliar um conjunto de caractersticas Haar para deteco de faces. O principal objetivo identicar quais caractersticas proporcionam melhor deteco de faces em condies diferenciadas. O conjunto de caractersticas Haar e a estrutura geral do classicador foram inicialmente propostos por Viola & Jones [1] e posteriormente extendidos por Lienhart & Maydt [2]. Os resultados aqui obtidos indicam um subconjunto de caractersticas com melhor desempenho e que podem ser melhor aproveitados em aplicaes futuras. Resultados e extenses futuras so indicados neste trablaho. Palavras-chave: Deteco de Faces. Caractersticas Haar, Classicador Cascata, Viso por Computador

Abstract
This work consists upon evaluating a set of Haar features for face detection. The main objetive is to identify which features can provide better face detection on different conditions. The set of Haar features and the general classier framework were initially proposed by Viola & Jones [1], and further extended by Lienhart & Maydt [2]. The results here obtained indicate a subset of features with better performance and which can be used wisely in future applications. Results and future extensions are indicated in this work. Keywords: Face Detection, Haar Features, Cascade Classier, Computer Vision

Sumrio
Lista de Figuras 11

Captulo 1 Introduo 12 1.1 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 1.2 Estratgia e Estrutura do Projeto . . . . . . . . . . . . . . . . . 15 Captulo 2 Metodologias Existentes Captulo 3 Aspectos Relativos a Abordagem Escolhida 3.1 Deteco de Face por Viola-Jones . . . . . . . . . . . . 3.2 Imagem Integral . . . . . . . . . . . . . . . . . . . . . . 3.2.1 Normalizao da Imagem Integral . . . . . . . 3.3 As Caractersticas . . . . . . . . . . . . . . . . . . . . . 3.4 O Classicador Fraco . . . . . . . . . . . . . . . . . . . 3.5 Algoritmos de Aprendizado . . . . . . . . . . . . . . . 3.5.1 AdaBoost . . . . . . . . . . . . . . . . . . . . . . 3.5.2 Erro no Treinamento . . . . . . . . . . . . . . . 3.6 Cascata de Classicadores . . . . . . . . . . . . . . . . 3.6.1 Treinamento da Cascata de Classicadores . . Captulo 4 Experimentos 4.1 Base de Imagens . . . . . . . . . . 4.2 Ferramentas Utilizadas . . . . . 4.2.1 Equipamentos Utilizados 4.2.2 OpenCV . . . . . . . . . . 4.3 Avaliao das Caractersticas . . 4.4 Treinamento da Cascata . . . . . 4.5 Resultados Obtidos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 18 18 19 24 25 29 30 31 33 33 34 37 37 38 38 38 42 43 44

Captulo 5 Concluses 49 5.1 Concluso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 5.2 Propostas Futuras . . . . . . . . . . . . . . . . . . . . . . . . . . 50 Apndice A Exemplos de Imagens 51 A.1 Alguns Exemplos do Banco de Imagens . . . . . . . . . . . . . 51 A.1.1 Imagens Positivas . . . . . . . . . . . . . . . . . . . . . . 51 A.1.2 Imagens Negativas . . . . . . . . . . . . . . . . . . . . . 52

A.1.3 Imagens Usadas Para Testes de Deteco . . . . . . . . 53 Apndice B B.0.4 B.0.5 B.0.6 Informaes Adicionais 55 Exemplo de Sada de Treinamento da Cascata . . . . . 55 Cdigo Fonte do Programa facedetect.c . . . . . . . . . . 58 Licenas de Uso . . . . . . . . . . . . . . . . . . . . . . . 63

10

Lista de Figuras
3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 3.11 3.12 3.13 3.14 3.15 3.16 4.1 4.2 4.3 4.4 4.5 4.6 Componentes Bsicos do Modelo de Viola e Jones . . . . . . . Exemplos de Imagens de Face . . . . . . . . . . . . . . . . . . Exemplos de Imagens com Filtro Sobel Aplicada . . . . . . . Mais Exemplos de Imagens de Face . . . . . . . . . . . . . . . Exemplo de Imagem Integral . . . . . . . . . . . . . . . . . . Exemplo de Clculo da Imagem Integral . . . . . . . . . . . . Exemplo de Subtrao de Retngulos Adjacentes . . . . . . . Exemplo da Imagem Integral para Retngulos Rotacionados Clculo da Imagem Integral Rotacionada . . . . . . . . . . . Representao de Retngulos Rotacionados . . . . . . . . . . As Caractersticas Bsicas do Tipo Haar . . . . . . . . . . . . As 14 caractersticas Extendidas Propostas por LeinHart . . Caractersticas Bsicas com seus Respectivos Pesos . . . . . Caractersticas CORE . . . . . . . . . . . . . . . . . . . . . . Caractersticas ALL . . . . . . . . . . . . . . . . . . . . . . . . Cascata de Classicadores . . . . . . . . . . . . . . . . . . . . Taxa de Erro vs Estgios da Cascata . . . . Taxa de Deteco vs Taxa de Falso Positivo Taxa de Erro vs Estgios da Cascata . . . . Taxa de Deteco vs Taxa de Falso Positivo Taxa de Erro vs Estgios da Cascata . . . . Taxa de Deteco vs Taxa de Falso Positivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 19 20 20 21 22 23 23 24 25 26 27 28 29 30 34 45 46 46 47 47 48

5.1 Exemplos de Possveis Caractersticas No Simtricas . . . . . 50 A.1 A.2 A.3 A.4 Exemplos de Imagens Positivas . . . . . . . . . . . . . . . Exemplos de Imagens Negativas . . . . . . . . . . . . . . Exemplos de Imagens de Face Usadas para Teste . . . . Outros Exemplos de Imagens de Face Usadas para Teste . . . . . . . . . . . . 51 52 53 54

Captulo 1 Introduo
A atual evoluo da tecnologia de informtica vem permitindo a criao de novos artefatos mais efetivos e amigveis para a interao homemmquina, em contraste ao uso de dispositivos tradicionais como por exemplo: o teclado,o mouse e os monitores. Somado a isso, o barateamento do custo, o aumento de performance dos computadores e a facilidade para a aquisio de imagens de vdeo permitem que sistemas de viso computacional possam ser desenvolvidos em computadores pessoais e sistemas embarcados. O rpido crescimento, na rea de pesquisa relacionada ao processamento de faces, baseado na premissa de que as informaes sobre a identidade de uma pessoa, seu estado e intenes, podem ser extradas de tal forma que os computadores reajam de acordo com elas, como por exemplo: a observao da expresso de uma face humana. Nos ltimos dez anos, o reconhecimento de expresses faciais e de face tem atrado grande ateno devido ao estudo nos ltimos 30 anos por psiclogos, neurocientistas e engenheiros. Quando o ser humano observa uma imagem, inmeros processos em sua mente surgem para que seja feita a sua devida interpretao. O processo de pensamento cria a compreenso do que uma imagem representa e, mais adiante, uma interpretao dos objetos observados, em que permite, alm da interao com o cenrio, formar opinies a respeito dos acontecimentos analisados. A rea de estudo da viso computacional est diretamente focada na simulao dos processos de pensamento humano que acontecem no crebro. A tarefa de simular essa habilidade natural do ser humano de aprendizado e de compreenso a misso dos pesquisadores dessa rea. Imagine na observao de uma foto que contm um certo nmero de pessoas. Naturalmente, ocorre uma interpretao para permitir a quanticao do nmero de pessoas no cenrio observado, e algumas podero ser reconhecidas como amigos ou conhecidos de determinada pessoa. Esse um modo resumido e intuitivo de entender o objetivo da rea de reconhecimento facial: o grau de inferncia sobre elementos de uma imagem. Entretanto, para que seja possvel um reconhecimento de quaisquer objetos, necessrio que saiba a localizao do mesmo e, no caso de o domnio do estudo humanas, essa rea de estudo chamada de deteco de face. 12

Dene-se aqui, portanto, a deteco de face como: "Dada uma imagem arbitrria, o objetivo da deteco de face determinar a existncia ou no de uma imagem e caso positivo, retornar a localizao e a rea de cada face." A tarefa de localizao precisa de uma face no algo trivial, pois inmeros fatores podem aumentar a sua diculdade como por exemplo a luminosidade, a escala, a localizao e a orientao da face[3]. Os desaos associados deteco de face podem ser atribudos aos seguintes fatores: Posio A posio do objeto/cmera em relao a uma viso frontal, pode estar rotacionado em 1800 . Sendo assim, alguns elementos da face humana (por exemplo olhos), podem Presena ou Ausncia de Componentes A presena de caractersticas faciais como por exemplo: barba, bigode, culos e cabelo podem inuenciar a deteco. Expresso Expresses humanas em uma face podem alterar a sua aparncia. Ocluso A presena de objetos e sombras podem esconder regies de uma face. Orientao da Imagem A rotao da imagem observada pode afetar diretamente a possibilidade da localizao de faces. Condies da Imagem Fatores como a luminosidade e condies de um sensor de captura, podem inuenciar na qualidade da imagem. Como consequncia, tambm poderia dicultar na sua interpretao. Diante dos desaos ilustrados, a deteco de face vem se tornando a cada dia mais popular em pesquisas e reas comerciais, portanto, inmeros modelos so apresentados para que em seu domnio de uso sejam bem ecientes. A motivao para o estudo desse projeto a escolha de um modelo popular nessa rea para que possa, por meio da anlise dos seus pontos essenciais, realar informaes que facilitariam a visualizao de elementos potenciais de melhoria de performance. Pesquisadores tm buscado encontrar caractersticas invariantes nas faces humanas com o objetivo de resolver a questo da deteco. A hiptese que sustenta essa idia a observao de que os seres humanos conseguem sem muito esforo detectar faces e objetos em diferentes condies de luminosidade e posio. Logo, deve existir alguma propriedade ou caractersticas que so invariveis, mesmo com as variaes das condies externas. Existem inmeros modelos que procuram detectar, primeiramente, essas caractersticas invariantes e, em seguida, inferir que existe um rosto naquele local. 13

Dentro desse contexto, foi estudado um modelo de deteco facial baseado nas caractersticas invariantes. Segundo Viola&Jones [1], seu sistema permite a deteco de face de forma rpida e robusta. Seu modelo baseado apenas na informao presente em imagens em tons de cinza, diferente de sistemas que usam informaes auxiliares como cor e sequncia de imagens. As caractersticas invariantes que so citados em seu artigo so originados pelo trabalho de Papageorgiou [4] ,que evidencia o uso de wavelets haar para a identicao de diferenas de intensidade entre regies diferentes. Viola&Jones buscou, pela utilizao de diferenas de reas retangulares, simular estruturas semelhantes entre amostras de uma classe de objeto em estudo: faces humanas. Em funo desses estudos, o presente projeto est na anlise das caractersticas demonstradas por Viola&Jones e Lienhart[2]. O objetivo nal do trabalho est em descobrir quais caractersticas inuenciam mais o detector de faces estudado.

1.1

Objetivos

Os objetivos deste trabalho so: Estudar sobre a Deteco de Face e quais so as condies favorveis e desfavorveis para essa tarefa Conhecer as principais abordagens e escolher, dentre eles, o que ser utilizado para estudo nesse projeto. Estudar o modelo de deteco de face baseado em caractersticas invariantes, proposto por Viola&Jones[1] Vericar vantagens e desvantagens do modelo utilizado. Pesquisar projetos relacionados a proposta de Viola&Jones[1] e as mudanas feitas por eles. Avaliar as caractersticas do Tipo Haar[4] ,vericando a performance fornecida por cada uma delas. Conhecer a biblioteca voltada para Viso Computacional, fornecida pela Intel: Open Source Computer Vision Library (OpenCV) [5] Avaliao de classicadores para um conjunto de caractersticas, por meio de um algoritmo de aprendizado [6]. Relatar as lies aprendidas ao aplicar testes de performance, por meio de classicadores gerados, utilizando a biblioteca OpenCV;

14

1.2

Estratgia e Estrutura do Projeto

Para alcanar o objetivo, foi feito um estudo terico sobre deteco de face focado no modelo descrito por Viola&Jones. Das trs contribuies citadas no artigo um ponto foi particularmente analisado, que so as caractersticas utilizadas para o treinamento de um classicador para a deteco facial. Essa pesquisa possibilitou delinear estratgias para que em trabalhos futuros possam melhorar as taxas de deteco de uma face e tambm permitiu o uso de ferramentas fornecidas pela biblioteca OpenCV, tendo conscincia das limitaes impostas pelas suas funes implementadas. O Captulo 2 dene o que a deteco de face, relata reas relacionadas a esse estudo e cita modelos de deteces populares existentes. O Captulo 3 apresenta o modelo de deteco facial proposto por Viola&Jones, onde so apresentadas as trs contribues chave: introduo de uma representao de imagem chamada de "Imagem Integral" e o uso de caractersticas do tipo Haar; um algoritmo de aprendizado "boosting" e uma estrutura chamada de "cascata de classicadores." para acelerar o processo de deteco de face. Alm disso, descrito a contribuio do artigo de Lienhart&Maydt [2] para melhorar a taxa de deteco de faces. O Captulo 4 descreve de que forma foram feitas as avaliaes do sistema existente. apresentado a base de imagens utilizada para a criao e testes dos classicadores e, alm disso, citado as ferramentas que foram utilizadas e como foi o processo de criao dos classicadores. Ao nal, so ilustrados grcos de performance comparando cada uma das caractersticas utilizadas pelo sistema, para que se possa realar quais delas so mais importantes para um processo de deteco de face. Por m, o captulo 5 em que h as concluses, mostra tambm o esboo de alguns pontos de interesse que podem ser analisados e implementados para dar uma continuao a este projeto.

15

Captulo 2 Metodologias Existentes


A rea de pesquisa de Viso Computacional muito ampla, e mesmo na rea de deteco de face, existem outros problemas correlatos, os quais podem ser citados a seguir:localizao de face que foca na determinao da posio de uma nica face em uma imagem. Isso uma forma mais simplicada do problema da deteco, pois j assume previamente a existncia de apenas uma face [7]. O objetivo da deteco de caractersticas faciais descobrir a presena e localizao de caractersticas de rosto, como por exemplo: olhos, nariz, sobrancelhas, boca, lbios e orelhas, assumindo tambm que existe apenas uma nica face na imagem [8] [9]. Reconhecimento ou identicao de faces faz a comparao entre uma imagem de entrada e um banco de imagens, informando se existem semelhanas.[10] [11]. A autenticao de faces tem o propsito da vericao da identidade pessoal dada uma imagem de entrada.[3]. Evidentemente, a deteco de face o primeiro passo em um sistema automatizado que resolve os problemas acima. Vale ressaltar que muitos artigos usam o termo deteco de face, porm seus mtodos e experimentos utlizam imagens que possuem apenas uma nica face. interessante fazer uma distino entre localizao e deteco de face, em que a ltima permite que mltiplas faces em uma imagem possam ser encontradas. Dentre os modelos de deteco facial, um dos mtodos baseado em comparaes de formas (normalmente frontais) pre-denidas ou parametrizadas por uma funo. Dada uma imagem de entrada, a correlao entre ela e um padro base feita de forma independente em cima dos contornos da face, dos olhos, do nariz e da boca. A existncia, ou no, de uma face em virtude da resposta dessa correlao, e essa abordagem tem uma vantagem que consiste na simplicidade de sua implementao. Porm, foi provado que esse modelo no adequado para todas as situaes, principalmente onde h muita variao de escala, de posio e de forma. Dario e Maltoni [7] sugerem um modelo de deteco baseado em formas. Seu sistema caracterizado pela utilizao de informaes presentes em imagens em tons de cinza, descartando o uso de informaes como cores e movimento. Segundo os autores, a motivao para o uso de poucas variaes no tipo de informao pelo fato de que muitas cmeras de segurana instaladas em shopping, bancos e aeroportos, ainda capturam imagens em 16

preto e branco. Nesse cenrio, a abordagem criada leva a trs contribuies bsicas: a tcnica de localizao tenta aproximar e detectar a posio da imagem (candidatos a posies), onde a probabilidade de encontrar uma face alta modulo AL - Aproximate Location; a segunda contribuio, por meio das localidades de alta probabilidade de ter face, procura aperfeioar a acurcia da localizao e vericar a presena de uma face verdadeira. Modulo FLFV - Fine Location and Fine Verication. Sistemas que utilizam formas, geralmente apresentam uma extrao inicial de bordas por meio de um operador gradiente; alguns outros mtodos utilizam informaes de direo, de mximo e minimo valor do mdulo e, seguindo essa idia, Dario&Maltoni apresentam o conceito de imagem direcional. Essa imagem direcional computada pelo mtodo proposto por Donahue e Roklin[12] ,caracterizado no clculo da imagem direcional em cada um das janelas locais. Um operador gradiente utilizado para a extrao das vrias estimativas de direo. A combinao dos dois mdulos (AL e FLVF) resultou em um sistema com bons resultados com boas taxas de deteco, tendo uma no deteco das 70 imagens testadas. Ao m, tambm foi evidenciada uma boa ecincia no algoritmo, tendo uma taxa de processamento de 13 imagens por segundo, em uma mquina Intel Pentium II 266Mhz.

17

Captulo 3 Aspectos Relativos a Abordagem Escolhida


Neste captulo sero descritos os componentes centrais e a metodologia do sistema de deteco de faces proposta por Viola & Jones[1]. Alm disso, ilustrada uma contribuio do artigo de Reiner Lienhart[2] que a adio de novos fatores para a deteco de faces rotacionadas. O escopo desta pesquisa est direcionado ao estudo da implementao da tcnica descrita, observao dos resultados obtidos pelas metodologias anteriores e uma avaliao nas caractersticas utilizadas de modo que dena quais so as mais relevantes para o problema de deteco de faces.

3.1

Deteco de Face por Viola-Jones

A tcnica de Viola&Jones[1] e o uso de algumas caractersticas chaves, permitem uma implementao rpida e robusta para a deteco facial. Segundo o autor, sua tcnica utiliza apenas imagens simples em tons de cinzas e com isso se distingue de outros modelos, pois no baseada em informaes auxiliares como por exemplo a diferena de sequncia de vdeos e o uso de cores. No entanto, mesmo com uma maior limitao de informaes usadas, so obtidas altas taxas de deteco. O modelo de Viola&Jones[1] fornece trs contribuies bsicas para a deteco de face ilustradas na Figura 3.1. Primeiramente baseia-se no uso de caractersticas Haar bsicas, avaliadas rapidamente por meio de uma nova forma de representao da imagem chamada "Imagem Integral". Logo em seguida, a segunda contribuio utiliza-se do conceito citado anteriormente para gerar um conjunto de caractersticas. Por meio da aplicao de um algoritmo de aprendizado boosting chamado de AdaBoost, ltra-se o conjunto no intuito de diminuir o nmero de caractersticas geradas. Ao nal, a terceira contribuio deste modelo a gerao de uma estrutura de rvore dos classicadores fracos boosted, para que gere inferncias rpidas e robustas na construo de um classicador forte[1].

18

Figura 3.1: Componentes Bsicos do Modelo de Viola e Jones

3.2

Imagem Integral

Para haver um sistema que detecte com sucesso faces humanas, o algoritmo deve possuir duas caractersticas fundamentais: acurcia e velocidade. Isso frequentemente gera um trade-off entre os dois pontos e onde se encontra a diculdade nesses tipos de sistemas. Um dos maiores problemas em desenvolver um sistema que possa trabalhar com classes de objetos complexos encontrar uma representao adequada para a imagem. Para ilustrar a importncia de uma codicao visual apropriada, as guras 3.2 e 3.3 ilustram imagens de faces com seus respectivos mapas de borda. claramente visvel que as representaes baseadas em pixel e bordas so inadequadas em algumas situaes; as imagens de fundo podem variar de textura e perder a sua consistncia, alm de existir vrias informaes falsas que no pertencem a classe do objeto em estudo.

Figura 3.2: Exemplos de Imagens de Face A Figura 3.4 ilustra claramente a complexidade para encontrar padres na intensidade dos pontos(pixels) ou texturas nas faces. Em contrapartida, h uma maior facilidade em discernir reas de uma face, ou partes da face (olhos, nariz e boca), em relao ao plano de fundo. Por meio do uso de uma nova representao de imagem, Viola & Jones[1] descrevem um meio para a avaliao rpida de caractersticas e que tambm acelera a tarefa de classicao no sistema. 19

Figura 3.3: Exemplos de Imagens com Filtro Sobel Aplicada

Figura 3.4: Mais Exemplos de Imagens de Face Imagens Integrais so entendidas de modo bem intuitivo: elas so construdas simplesmente somando os valores da intensidade dos pixels a esquerda e acima de um ponto (pixel) em questo. Viola & Jones[1] ressaltam que na verdade essa representao a composio de dois clculos: primeiro ao longo das linhas e depois das colunas. A idia da Imagem Integral encontrada de forma semelhante a tabela das somas de reas, muito usada na rea de computao grca [13]. Um exemplo de Imagem Integral ilustrada Figura (3.5), com reas do Tipo I (Representao em intensidades de pixel) e rea do Tipo II (Representao em Imagem Integral). A beleza em usar esta representao intermediria para aumentar a velocidade de extrao de caractersticas, justicada pelo fato de que qualquer retngulo em uma imagem poder ser calculado por meio da imagem integral. So necessrios apenas quatro ndices da imagem integral para calcular qualquer retngulo e como consequncia imediata, precisa-se de apenas uma nica passagem para obter dados desejados em subregies de uma imagem. 20

Figura 3.5: Exemplo de Imagem Integral

Formalizando a imagem integral, temos: II(x, y) =


x <=x,y <=y

I(x , y )

(3.1) (3.2)

II(1, y) = II(x, 1) = II(1, 1) = 0 Onde II(x,y) a Imagem Integral e I(x,y) a Imagem Original

Dado um retngulo com suas coordenadas (x1 , y1 ) e (x4 , y4 ), podemos observar as quatro referncias usadas para o clculo de um retngulo na Figura 3.2. (x1 , y1 , x4 , y4 ) = II(x4 , y4 ) II(x4 , y1 ) II(x1 , y4 ) + II(x1 , y1 ) (3.3)

Uma outra forma de referenciar os pontos de um retngulo, pela utilizao da sua medida de comprimento (w - width) e altura (h - height), com isso a equao 3.3 recongurada da seguinte forma: (x, y, x + w, y + h) = II(x + w 1, y + h 1) II(x + w 1, y 1) II(x 1, y + h 1) + II(x 1, y 1) (3.4)

interessante atentar ltima soma na equao 3.4. A soma ocorre devido a interseo de dois retngulos com referncias em (x + w 1, y 1) e (x 1, y + h 1), que gera duas subtraes na rea de referncia (x 1, y 1).

AB = II(x6 , y6 )II(x2 , y2 )II(x1 , y6 )+II(x1 , y1 )II(x6 , y1 )+(x2 , y2 ) (3.5) 21

Figura 3.6: Exemplo de Clculo da Imagem Integral

22

Figura 3.7: Exemplo de Subtrao de Retngulos Adjacentes Ilustrada na Figura 3.7 e representada pela equao 3.5, claramente visvel a necessidade de seis referncias para o clculo de uma subtrao entre dois retngulos adjacentes. Um aprimoramento na tcnica de Viola & Jones [1] proposto por Lienhart e Maydt[2], onde so introduzidas extenses no conjunto das caractersticas do tipo Haar. Essa adio prov resultados com melhores deteces e menores taxas de erro na classicao ,e, para isso, foi necessria uma extenso no conceito da Imagem Integral: permitir o clculo para retngulos rotacionados em 450 . Como indicado na frmula 3.6 e na imagem 3.8, o clculo da Imagem Integral Rotacionada feito por base do canto mais a direita e abaixo do retngulo, localizado no ponto (x,y), at os limites superiores ainda dentro da imagem. IIR(x, y) =
y <=y,y <=y|xx |

I(x , y )

(3.6)

Figura 3.8: Exemplo da Imagem Integral para Retngulos Rotacionados Da mesma forma que a Imagem Integral sem rotao, calculou-se a Imagem Integral Rotacionada com as referncias citadas na gura 3.9. Pode-se observar tambm uma soma na referncia IIR(x + 1, y 1), que onde ocorre uma interseco de reas da Imagem Integral Rotacionada das referncias IIR(x 1, y 1) e IIR(x + 1, y 1). Alm disso, temos dois 23

Figura 3.9: Clculo da Imagem Integral Rotacionada pontos (pixels) que tambm se sobrepem: I(x , y ) e I(x , y 1). IIR(x, y) = IIR(x 1, y 1) + IIR(x + 1, y 1) i IIR(x, y 2) + I(x , y ) + I(x , y 1) IIR(1, y) = IIR(x, 1) = IIR(x, 2) = 0 IIR(1, 1) = IIR(1, 2) = 0 (3.8) (3.7)

A Imagem Integral Rotacionada (IIR) tambm pode ser reescrita utilizando informaes de comprimento (w - width) e a altura (h - height) de uma rea retangular, demonstradas pela equao 3.9 e pela gura 3.10 IIR(x, y) = IIR(x h, y + h 1) + IIR(x + w, y + w 1) IIR(x + w h, x + w + h 1) IIR(x, y 1) (3.9)

3.2.1

Normalizao da Imagem Integral

Uma contribuio importante colocada por Lienhart[2] o clculo da imagem integral quadrada, a qual usada para a normalizao da variao encontrada ao extrair caractersticas da imagem. Esta propriedade signica que para calcular uma imagem integral quadrada, simplesmente multiplicamos os valores da imagem por ela mesma. A funo desta normalizao diz respeito s variaes de iluminao nas imagens, que devido a natureza dos tipos de caractersticas existentes em uma face, podem favorecer regies de alteraes abruptas de luminosidade(como por exemplo regies de borda) contribuindo para o aumento de falsas deteces. O mecanismo de deteco de face visa a partes da imagem com mudanas mais chamativas e a normalizao das caractersticas pelo uso da imagem integral quadrada diminui esse efeito. A funo expressa pela equao 3.10: 24

Figura 3.10: Representao de Retngulos Rotacionados II 2 (x1 , y1 , x4 , y4 ) = (I(x1 , y1 , x4 , y4 ) I(x1 , y1 , x4 , y4 )) = II(x4 , y4 ) II(x4 , y1 ) II(x1 , y4 ) + II(x1 , y1 ) (3.10)

Esse clculo da normalizao de caractersticas utiliza valores calculados da varincia de uma imagem. O uso da imagem integral quadrada permite que este clculo seja feito de modo rpido, seguindo a equao 3.11 2 = 1 N x2 ,j ( i
xi ,j

1 N

xi ,j )2
xi ,j

(3.11)

3.3

As Caractersticas

No sistema de Viola&Jones, um conjunto simples de caractersticas usado. Essas tm relaao ao conjunto de caractersticas descritas no artigo de [4] na qual apenas caractersticas (tipo Haar) retangulares simples so usadas, remanescentes das funes bsicas Haar[4]. Estas caractersticas 25

so equivalentes diferena de intensidade entre sub-regies, e como visto anteriormente, so muito fceis de computar. Viola & Jones[1] relatam o fato de que a escolha do uso de caractersticas, ao invs de modelos baseados em estatsticas de pontos da imagem (pixel), importante devido aos benefcios do domnio de conhecimento adhoc, sendo que podemos extrair conhecimentos encobertos nas imagens, dicilmente encontradas em um conjunto nito de treinamentos. No caso de deteco de face, este fato particular bem importante e utilizado para a representao das informaes faciais aproximadas e tambm para as poucas informaes relacionadas a planos de fundo de uma imagem teste. As caractersticas nada mais so do que avaliaes do conjunto das informaes de intensidade de um ponto (pixel). Esse processo consiste na soma da intensidade dos pixels de regies brancas das caractersticas, subtrado da soma da intensidade do restante cinza da imagem. Os resultados so usados como valor da caracterstica em uma determinada localizao e podem ser combinados para a formao de hipteses fracas nas imagens. Pelo artigo de Viola & Jones[1] ,quatro caractersticas do tipo Haar foram escolhidas para o uso. A primeira formada por uma diviso horizontal(a), a segunda formada por uma diviso vertical(b), a terceira contm duas divises verticais(c) e nalmente a quarta(d) formada por ambas divises horizontais e verticais. Sendo assim, temos trs tipos de caractersticas com variaes nos nmeros de sub-retngulos: Dois sub-retngulos duplos, um sub-retngulo triplo e um sub-retngulo qudruplo.

Figura 3.11: As Caractersticas Bsicas do Tipo Haar Uma das principais contribuies citadas no artigo de Lienhart [2] foi a aprimorao do sistema deteco de face por meio da busca de novos tipos de caractersticas utilizadas. Uma formalizao do conjunto possvel de caractersticas dentro de uma subjanela de tamanho xo foi feita, e observa-se que o nmero extremamente grande. A equao a seguir demonstra o fato: caracteristicaI =
i I={1,...,N }

wi .II (ri )

(3.12)

onde wi so os pesos, ri os retngulos e N um nmero arbitrrio escolhido.

26

Como consequncia, h a necessidade de impor limites para os tipos de caractersticas usadas e foram estabelecidas as seguintes condies: So consideradas apenas as combinaes ponderadas das somas de pixels de dois retngulos. (N=2); Os pesos tm sinais opostos, usados para compensar a diferena de tamanho das reas entre dois retngulos. Logo, para retngulos que no se sobrepem, temos a igualdade wo .Area(ro ) = w1 .Area(r1 ). Se atriburmos wo = -1, temos w1 = Area(ro )/Area(r1 ); Foram escolhidas caractersticas que se assemelham as caractersticas do tipo haar [4] e que tambm tenham semelhanas a partes do sistema visual humano (olhos e partes de uma face rotacionada). (3.13)

Figura 3.12: As 14 caractersticas Extendidas Propostas por LeinHart A Figura 3.3 representa as caractersticas propostas por Viola & Jones[1] e a extenso proposta por Lienhart & Maydt[2]. As reas escuras possuem pesos positivos e as reas mais claras, pesos negativos.

A Figura 3.3 cita as caractersticas e seus respectivos pesos, de acordo com a equao 3.13. 27

Figura 3.13: Caractersticas Bsicas com seus Respectivos Pesos Um ponto importante muitas vezes passado despercebido durante estudos do artigo de Viola & Jones[1] a seleo do conjunto de caractersticas de tamanhos dos retngulos xos, neste caso, 24 por 24 pixels. Eles armam que o nmero de caractersticas (F) em seu sistema, de 45396 e claramente visvel a existncia de um processo complexo de avaliao delas reduzindo o espao de caractersticas que uma janela 24 por 24 pixels pode representar. Implementaes relatadas em [1] [14] indicam variaes do nmero de caractersticas utilizadas para atacar o problema. Lienhart e Maydt [2] ilustram uma explicao lgica para a escolha do seu conjunto de caractersticas, derivadas das bsicas, que podem ser visveis em sua implementao. Eles assumem que as caractersticas devem manter sempre o mesmo aspecto, sendo que seu nmero pode ser formalizado da seguinte maneira: F = X.Y (W + 1 w X +1 Y +1 )(H + 1 h ) 2 2 (3.14)

Tal que X = W e Y = H , onde X e Y representam o fator de escala w h mximo nas direes X e Y; W o comprimento da imagem (width) e H a altura da imagem (height) e, w e h so o comprimento e altura das caractersticas. e a quantidade de as caractersticas rotacionadas em 45o so denidas pela equao: Y +1 X +1 )(H + 1 z ), z = w + h. (3.15) 2 2 Em linhas gerais, as frmulas simplesmente denem que o nmero dos tipos de caractersticas bsicas dependem do fator de escala mximo que F = X.Y (W + 1 z 28

Figura 3.14: Caractersticas CORE cada tipo representa. Rapidamente podemos perceber que a combinao de alteraes do tamanho dos retngulos nos eixos x e y juntamente com suas permutaes, representam um conjunto completo de sub-retngulos de determinado tipo. A Tabela 3.1 lista o nmero de caractersticas possveis em uma janela de tamanho 24x24. Tipo 1(a); 1(b) 1(c); 1(d) 2(a); 2(c) 2(b); 2(d) 2(e); 2(g) 2(f); 2(h) 3a 3b Total w/h 2/1; 1/2 2/1; 1/2 3/1; 1/3 4/1; 1/4 3/1; 1/3 4/1; 1/4 3/3 3/3 X/Y 12/24; 24/12 8/8 8/24; 24/8 6/24; 24/6 6/6 4/4 8/8 3/3 Quantidade 43,200 8,464 27,600 20,736 4,356 3,600 8,464 1,521 117,941

Tabela 3.1: Nmero de Caractersticas Dentro de uma janela 24x24 A implementao de Lienhart[2] contida na biblioteca OpenCV [5], alm dos tipos chamados de bsicos ilustrados em 3.3, so denidos tambm os nomes "CORE" e "ALL", ilustrados nas guras 3.14 e 3.15.

3.4

O Classicador Fraco

A principal inferncia provida por este sistema pelo uso de "classicadores fracos". Um classicador fraco hj uma simples estrutura contendo um vetor de caracterstica fj , um limiar j e uma paridade pj . A idia bsica desse classicador, encontrar um limiar que melhor separa o valor de uma caracterstica entre imagens denidas como positivas das negativas. Denido pela equao 3.16, temos o valor de paridade pj podendo ter valor 1 caso os exemplos positivos forem classicados abaixo do limiar j 29

Figura 3.15: Caractersticas ALL ou ento -1 se os mesmos exemplos forem classicados acima deste mesmo limiar. hj (x) = 1 Se pj fj (x) < pj j 0 Caso Contrrio (3.16)

Para que complete a tarefa de classicao, importante descobrir um limiar timo j . No artigo de Viola & Jones[1], este limiar no denido de modo claro e assumido apenas que favorece o valor de menor erro de predio. Logo, temos como consequncia vrios modelos que procuram descobrir um bom limiar. Carbonetto [15] ilustra dois mtodos para encontrar este limiar e ambos so baseados em duas distribuies feitas, um para valores associados a caractersticas contendo face (C0 ) e outra para os que no contm face (C1 ). Um dos mtodos pelo clculo da mdia entre as duas distribuies pela extrao de todos os valores das caractersticas nas duas classes separadas. Outro mtodo que reduz erros associados ao valor do limiar analiticamente determinar um ponto de encontro pela avaliao das duas distribuies (C0 ) e (C1 ), a qual podemos vericar pela equao 3.17. = 1 1 1 f (x) + f (x) 2 |Co | xC |C1 | xC
o 1

(3.17)

Temos ento f(x) como sendo as caractersticas da classe C0 ou C1 que iro ser extrados, e (|C0 |, |C1 |) representam os tamanhos destas classes. Neste caso, o parmetro pj contribui como sendo o sinal da diferena entre os dois somatrios da equao 3.17 e mesmo no sendo um modo muito elegante de escolher um limiar, as suas decincias so compensadas pelos algoritmos de aprendizado boosting.

3.5

Algoritmos de Aprendizado

Algoritmos de aprendizado so importantes para aprimorar a acurcia de uma classicao, baseado em observaes passadas. A tarefa de um 30

computador no trabalho de classicao prover a melhor estimativa possvel para uma inferncia do tipo de classe do objeto em questo e essa inferncia alcanada por meio do emprego de um bom algoritmo de aprendizado. Durante o processo de classicao, importante pensar no contexto que a informao disponibilizada para o algoritmo, pois nesse tipo de sistema existe uma grande quantidade de informaes para serem utilizadas e h uma necessidade de uma rotulao delas, pois sem essa identicao, no h contribuies para uma boa acurcia na inferncia. Este um problema bem comum em tarefas de aprendizado: facilidade em extrair um grande volume de dados para classicao, mas grande diculdade na seleo na do processo que relevante para a inferncia. Esse um fator limitante para a performance do sistema como um todo e existem algumas solues propostas para melhorar esse problema, as quais baseiam-se nas combinaes de dados fracos podendo eventualmente disponibilizar um classicador mais forte. Em outras palavras, o classicador forte nal produzido pelo algoritmo de aprendizado simplesmente um conjunto de caractersticas com pesos que classica de forma precisa dois conjuntos de imagens pr-rotuladas as quais as caractersticas com pesos maiores so boas para a classicao de exemplos denidos como parte de certo conjunto.

3.5.1

AdaBoost

Boosting o nome do processo que forma hipteses fortes por meio da combinao linear de hipteses fracas. A construo de predies que tenham alta acurcia certamente uma rdua tarefa. Por outro lado no to difcil obter regras de inferncias de baixa probabilidade (hipteses fracas), como por exemplo, atravs de escolha por meio de um limiar . Por outro lado, essas regras permitem predies que so ligeiramente melhores do que randmicas. No contexto na deteco de Viola&Jones[1], hipteses fracas podem ser representadas como classicadores fracos derivados de um conjunto de caractersticas extradas. Uma implementao do algoritmo de aprendizado AdaBoost Adaptive Boost[6] descrita na Tabela 3.2. Nesse exemplo, em particular, foi feita uma modicao na parte dos pesos com o propsito de favorecer a classicao para objetos do tipo face. A diferena de implementao, comparada a implementao clssica, evidenciada na inicializao do peso sobre o tamanho da base de dados, o seu valor congurado de forma que os exemplos denidos como tendo face iro ter maiores pesos (ou importncia). Isso mostrado no passo inicial do algoritmo. A idia base do AdaBoost a aplicao da distribuio do peso nos conjuntos de exemplos e a modicao desta distribuio com o decorrer das iteraes do algoritmo. Os pesos so inicialmente normalizados em 3.18 e, logo depois, reajustados em 3.19. Na fase inicial, essa distribuio de pesos mais uniforme, contudo, a cada iterao no algoritmo, os classicadores 31

Dados exemplos de Imagens ( x1 , y1 ), ..., (xn , yn ) onde x para exemplos negativos e positivos respectivamente.

e yi = 0, 1

1 1 Inicialize os pesos w1 , i = 2m , 2l para yi = 0, 1 respectivamente, onde m e l so nmeros negativos e positivos respectivamente.

Para t = 1, ..., T : 1. Normalize os pesos, wt ,i wt ,i


n j=1

onde wt uma distribuio de probabilidade. (3.18)

wt ,j

2. Para cada caracterstica j, treine um classicador hj restrito ao uso de apenas uma nica caracterstica. O erro avaliado levando em conta wi , ej = Wt ,i |hj (xi ) yi |. 3. Escolha um classicador, ht , com o menor erro et . 4. Atualize os pesos wt+1 = wt ,i t1et (3.19)

onde ei = 0 se exemplo xi for classicado corretamente, et ei se no for, e t = 1et 5. O classicador nal forte denido por: h(x) = 1 Se T t ht (x) t=1 0 Caso Contrrio
1 2 T t=1

, onde t = log

1 (3.20) t

Tabela 3.2: Algoritmo AdaBoost Modicado [1] fracos retornam hipteses alterando o peso da distribuio. Esta modicao da distribuio do peso evidenciada na equao 3.19, a qual indica que o peso atual o produto por ele mesmo e por um fator t , que no caso a produo do menor erro do classicador/hiptese escolhida. Considerando que a classicao, gerada pelo classicador fraco, feita corretamente nas imagens, ento o seu peso reduzido. Ao contrrio disto, no haveria mudana nos pesos, caracterizando os exemplos provenientes de um conjunto de dados, os quais no so corretamente classicados, como ganhadores de valores com maiores pesos. possvel armar que Adaboost est focado nas classicaes ruins, ou ento dados de difcil classicao, e esta a caracterstica principal deste algoritmo: minimizar o erro sobre um conjunto de treinamento. Uma das vantagens do AdaBoost a no existncia de outros parmetros, alm dos turnos T, para que melhore o aprendizado. 32

Aps sucessivas iteraes do algoritmo, o resultado consiste em um conjunto de hipteses com pesos, em que aqueles que possuirem menores erros de classicao, ganham maior importncia e , dessa maneira, este processo chamado de hiptese forte ou classicador forte. Essa hiptese forte nal, criada aps T iteraes do algoritmo de Adaboost, ilustrada pela equao 3.20 e observa-se um classicador binrio baseado na soma de pesos individuais (limiar) e a soma de produtos de cada um dos pesos dos classicadores fracos (t ht (x)) de uma amostra x.

3.5.2

Erro no Treinamento

A propriedade mais pertinente em um algoritmo Adaboost a sua caracterstica de reduzir erros de treinamento. Considerando que o erro de treinamento et de uma hiptese ht como 1 t , t , se a hiptese (ht ) for uma 2 tentativa aleatria de classicar um tipo de informao, este ir tender a 1 uma taxa de erro de 2 (em tarefas de classicao binria). Logo, t uma forma eciente de medir o quanto uma predio melhor que uma hiptese (ht ) randmica. No artigo de Fruend e Schapire [6], provado que um erro de treinamento de um classicador nal forte (H) formalizado na equao 3.21.
t [2

et (1 et )] = exp(2

t [sqrt1 2 t t )

2 4t ]

(3.21)

3.6

Cascata de Classicadores

Aumentar a velocidade de uma tarefa de classicao, geralmente implica em um aumento inevitvel de erros. O nico meio de diminuir o tempo para a classicao, reduzir o nmero de avalio dos "classicadores fracos" encontrados. Como consequncia de uma reduo dos classicadores, haveria uma melhora na velocidade, porm prejudicaria a acurcia do sistema. Como soluo, Viola & Jones[1] propem para optimizao do sistema, o uso de classicadores em estruturas de rvores de deciso ou cascata de classicadores. Descrito por Viola & Jones[1] como uma rvore degenerativa de deciso (decision stump), essa uma estrutura contendo um encadeamento de classicadores do mais genrico ao mais especco, segundo o qual os primeiros nveis da cascata no so muito precisos, apesar de conseguir classicar uma grande quantidade de amostras com uma pequena quantidade de caractersticas. Com o decorrer do processo, assumindo que uma amostra foi de fato classicado de forma positiva, a classicao ir se tornar cada vez mais na e o nmero de caractersticas que iro ser avaliadas tambm ir crescer. O uso da cascata caracteriza o fato de que, em uma imagem durante uma tarefa de deteco, a maioria das subjanelas analizadas pelo classi33

Figura 3.16: Cascata de Classicadores cador so rejeitadas. Por essa razo, uma generalizao nos primeiros estgios deve ser sucientemente alta para que evite a passagem para estgios subsequentes, subjanelas classicadas como falso positivas.

3.6.1

Treinamento da Cascata de Classicadores

Embora a cascata melhore de forma signicativa a velocidade da classicao, ela pode tambm melhorar a acurcia atravs da seleo inteligente dos ns das rvores em sua estrutura. Isso alcanado por uma sistemtica abordagem focada na reduo da taxa de falsos positivos de cada n, melhorando a taxa de deteco. A reduo da taxa de falsos positivos a que indica a ecincia do algoritmo de deteco, e apesar do AdaBoost conseguir uma reduo de erro na classicao, sendo que apenas com o seu uso no atingida uma menor taxa de falsos positivos no sistema. Viola & Jones, em seu artigo, ilustra que dada uma rvore de classicao treinada, a taxa de falso positivo o produto de todas as taxas de falsos positivos encontrados nos ns de sua rvore. F = D=
K t=1

fp,i (3.22) di

K t=1

possvel, por meio da cascata de classicadores, adequar uma baixa taxa de falsos positivos para que melhore seus valores, como por exemplo, em [1] , onde descrito que para alcanar uma taxa de detecao de 0.9, necessrio apenas dez estgios do classicador. De fato, o que mais motivador, que nesse nvel do classicador, a taxa de falso positivo de 0.3, e isso demonstrado na aplicao de valores na equao 3.22. (F = 0.3010 6 106 ) (3.23)

A motivao citada por Viola&Jones, para o uso da cascata de classicadores em um algoritmo genrico, ilustrada na Tabela 3.3, a facilidade na compreenso de seu funcionamento. Nesse algoritmo, alguns parmetros so necessrios para a construo da cascata de classicadores, so eles: a taxa de deteco mnima aceitvel (d) e a taxa de falsos positivos mxima 34

aceitvel (f) de cada estgio; o conjunto de amostras positivas e negativas (P e N respectivamente); e o valor da taxa de falso positivo requerida no sistema como um todo (falvo ). Por meio dessas informaes, o algoritmo tenta atravs de interaes de boosting crescer a cascata de classicadores. Ao m, a taxa de falso positivo Fi comparada ao valor Falvo e, se no atingir a taxa desejada, mais amostras sero carregadas.

35

Selecione valores para: 1. f: o mximo valor de aceitao para a taxa de falso positivo por camada 2. d: o mnimo valor de aceitaao da taxa de deteco por camada. Selecione o valor total da taxa de falso positivo, Falvo . P = conjunto das amostras positivas. N = conjunto das amostras negativas. Fo = 1.0; Do = 1.0; i = 0 Enquanto Fi >Fa lvo i=i+1; ni = 0 ; Fi = Fi1 Enquanto Fi > f x Fi1 ni = ni + 1 Use P e N para treinar com ni caractersticas pelo AdaBoost. Avaliar a atual cascata de classicador no conjunto de validao para determinar Fi e Di . Diminuir o limiar doi-nsimo classicador at que a cascata atual tenha uma taxa de deteco pelo menos d x Di1 (Isso tambm afeta Fi ). N=0 Se Fi > Falvo ento avalie o atual detector em um conjunto de imagens negativas e coloque qualquer deteco falsa no conjunto N. Tabela 3.3: Algoritmo de Treinamento da Cascata [1]

36

Captulo 4 Experimentos
4.1 Base de Imagens

Os conjuntos de imagens, que foram utilizados para o treinamento do classicador e para os testes de performance do detector, foram adquiridos de vrios stios de universidades com pesquisas na rea de viso computacional. Cada instituio disponibiliza seus bancos de imagem, de acordo com uma licena prpria, os quais podem ser visualizados ao nal deste documento B.0.6.1, e, geralmente, permitido o seu uso para ns acadmicos. As imagens no seguiram os padres usados nos artigos de Viola&Jones [1], pois no foi encontrado de maneira explcita, na Internet,o seu banco de imagens. Os primeiros testes realizados seguiram por base o banco de imagens fornecido pela MIT/CBL, porm as imagens de face, consideradas como positivas, eram de tamanho 19x19 e os resultados obtidos foram muito limitados, pois eram imagens recortadas apenas na parte da face, sem caractersticas extras importantes que poderiam aumentar a acurcia de um detector. Logo, foi feita uma procura em imagens de tamanho 24x24, utilizadas como estudo por [1] [2] [15] [14] e, o uso de imagens dessa escala, justicado pelo fato de que caractersticas adicionais (cabelo, orelhas, barba, etc..) podem ser usadas tambm para melhorar a acurcia do detector, pois ocorre uma ligeira variedade adicional. Para a criao do classicador, necessrio usar dois tipos de base de dados (Tabela 3.3): imagens positivas e negativas. As imagens positivas devem conter a classe do objeto alvo a ser detectado, que no presente caso, consiste de faces humanas; em contrapartida, as imagens negativas so as que no possuem objetos face humana. Nesse projeto, as imagens positivas foram escolhidas com o critrio de serem faces frontais ou giradas entre 15o a 45o , sendo que todas foram retiradas de trs bases de dados: VidTIMIT1 , Yale DATABASE B2 e USENIX3 . Todas as imagens foram recortadas da rea onde continha uma face, convertidas para tons de cinza e reduzidas ao
1 2

http://users.rsise.anu.edu.au/ conrad/vidtimit/ http://cvc.yale.edu/projects/yalefacesB/yalefacesB.html 3 ftp://ftp.uu.net/published/usenix/faces/

37

tamanho 24x24 4 . A primeira tentativa de uso de imagens negativas foi por meio de fotos aleatrias tiradas de uma cmera de celular: todas imagens aleatrias,as quais no continham faces humanas. Nesse caso, o treinamento no ocorreu com sucesso, pois em muitas imagens, alguns objetos se aproximavam signicativamente do limiar e o classicador no conseguia distinguir a real presena de face, e, consequentemente, o processamento entrava em um loop innito. Logo, foi preciso encontrar outra forma de conseguir imagens negativas, e, dessa forma, foi identicado um conjunto de imagens de paisagens ao ar livre 5 . Foram retiradas, da coleo pessoal do autor deste trabalho, imagens contendo objetos que poderiam atrapalhar no processo de classicao, como exemplo: paisagens com construes e rvores isoladas, dando prioridade aquelas com cenrio mais uniforme. Para os testes de Performance, a base utilizada foi adquirida no stio da Universidade de Cambridge 6 . As imagens com mltiplas faces foram obtidas pelo Google Image, com as palavras-chave: soccer team, world cup soccer team e taekwondo team. Todo a base de imagens contm 1040 imagens negativas de tamanho 192x128, 2252 positivas de tamanho 24x24, 400 images para teste de tamanho 92x112 e 8 imagens de tamanhos variados para deteco de mltiplas faces.

4.2
4.2.1

Ferramentas Utilizadas
Equipamentos Utilizados

Aps traar estratgias para a pesquisa, a escolha dos equipamentos utilizados consistiu em uma etapa importante para esse projeto. Foram utilizados,basicamente, trs computadores para testes e processamento do classicador, alm de um dispositivo de captura de vdeo webcam. As caractersticas dos computadores so relatadas na Tabela 4.2.1.

A webcam, utilizada para os testes de deteco em tempo real 7 , captura imagens em resoluo 640x480, com denio de um MegaPixel.

4.2.2

OpenCV

OpenCV (Intel Open Source Computer Vision Library) uma coleo de funes em C/C++, as quais implementam alguns algoritmos populares de
Uso do software mogrify - Pacote ImageMagick http://www.imagemagick.org Homepage of Hans van Haterens Lab - Natural Stimuli Collection http://hlab.phys.rug.nl/archive.html 6 http://www.cl.cam.ac.uk/research/dtg/attarchive/facedatabase.html 7 Sonix Technology Co., Ltd.
5 4

38

Nome Do Computador MVC - Servidor/Desktop UNI -Notebook HP dv2110-TX ERIK - Servidor/Desktop Processador Intel Pentium D 2.80 Ghz Intel Core 2 Duo 2.00 Ghz Intel Core 2 Duo 1.86 Ghz Sistema Operacional Ubuntu 6.10 - Linux version 2.6.15-28-386 Ubuntu 7.04 - Linux version 2.6.20-16-generic Ubuntu 7.04 - Linux version 2.6.20-16-generic

Memria RAM 2064900 kB 1034260 kB 1027348 kB Localidade UnB-LARA Casa Casa

Tabela 4.1: Computadores Utilizados Processamento de Imagem e Viso Computacional. possvel armar que consiste em uma plataforma de nvel mdio-alto composto por mais de 300 funes, sem a necessidade do uso de bibliotecas externas, embora possam ser utilizadas, caso haja necessidade.[5]. O desenvolvimento do projeto foi realizado a partir de funes j existentes do OpenCV e fornece um conjunto de ferramentas para a deteco de face com base nos modelos estudados no Captulo3. Para se alcanar uma aplicao funcional, a primeira etapa, logicamente, a escolha do objeto o qual se deseja detectar. Os aplicativos citados podem ser utilizados para deteces de outros tipos de objetos, como por exemplo, um copo. O foco do estudo do presente trabalho foi faces humanas, portanto a necessidade de buscar imagens a serem utilizadas para esse m. Os tipos de imagens utilizados podem ser vistos no Anexo A.1. Aps a preparao dos dados, a fase do treinamento da cascata de classicadores feita por meio do aplicativo opencv-haartraning. Informaes do funcionamento do algoritmo de treinamento se encontram em 3.6. Como resultado do treinamento, a cascata de classicadores utilizada na etapa seguinte com o propsito de se testar a performance da classicao. Ao nal deste processo, so observadas imagens da deteco e uma tabela contendo o nmero de imagens detectadas, de falsos positivos e daqueles que no foram detectados. Infelizmente, a aplicao opencvperformance.cpp no est funcionando de modo correto. opencv-createsamples.cpp opencv-haartraining.cpp opencv-performance.cpp facedetect.cpp
Usage : opencvcreatesamples [ i n f o < c o l l e c t i o n _ f i l e _ n a m e >]

39

10

15

[img <image_file_name >] [ vec <vec_file_name >] [bg <background_file_name >] [num <number_of_samples = 1000 >] [ b g c o l o r <background_color = 0 >] [ inv ] [randinv ] [bgthresh <background_color_threshold = 80 >] [maxidev <ma x_ i nt ens i ty _deviati o n = 40 >] [maxxangle <max_x_rotation_angle = 1.100000 >] [maxyangle <max_y_rotation_angle = 1.100000 >] [maxzangle <max_z_rotation_angle = 0.500000 >] [show [ < s c a l e = 4.000000 >]] [w <sample_width = 24 >] [h <sample_height = 24 >]

O primeiro aplicativo utilizado de nome opencv-createsamples, cria uma estrutura de imagens .vec para ser usado, posteriomente, pelo classicador. O comando que foi utilizado para criar a base de dados positivo para o estudo nesse projeto a seguir: opencv-createsamples -info positives.txt -vec positives.vec -num 600 -bg 0 -w 24 -h 24 De forma que, positives.txt um arquivo contendo os nomes dos arquivos linha a linha das imagens positivas, -num indica as 600 imagens positivas utilizadas e -w 24 -h 24 relaciona-se ao tamanho de cada imagem. Esse aplicativo permite simular imagens tiradas no mundo real, como diferenas de luminosidade, reexo, rotaes e rudos.
Usage : opencvhaartraining data <dir_name> vec <vec_file_name > bg <background_file_name > [npos <number_of_positive_samples = 2000 >] [nneg <number_of_negative_samples = 2000 >] [ nstages <number_of_stages = 14 >] [ n s p l i t s <number_of_splits = 1 >] [mem <memory_in_MB = 200 >] [sym ( default ) ] [nonsym ] [ minhitrate <min_hit_rate = 0.995000 >] [maxfalsealarm <max_false_alarm_rate = 0.500000 >] [weighttrimming <weight_trimming = 0.950000 >] [eqw ] [mode <BASIC ( default ) | CORE | ALL >] [w <sample_width = 24 >] [h <sample_height = 24 >] [ bt <DAB | RAB | LB | GAB ( default ) >] [ e r r <misclas s ( default ) | g i n i | entropy >] [ m a x t r e e s p l i t s <max_number_of_splits_in_tree_cascade = 0 >] [minpos <min_number_of_positive_samples_per_cluster = 500 >]

10

15

20

O segundo aplicativo usado para a criao da cascata de classicadores ,observando, a seguir, a linha de comando utilizada.3.6.1. opencv-haartraining -data face_trained_test -vec positives.vec -bg negatives.txt -nstages 20 -minhitrate 0.999 -maxfalsealarm 0.5 -npos 600 -nneg 1000 -nonsym -mem 600 -mode BASIC > face_trained_test.log 40

Comentrios sobre pontos relevantes: Foi utilizado o parmetro face_trained_test o qual uma pasta que ir conter informaes sobre a cascata treinada; positives.vec o arquivo gerado na etapa da criao das imagens positivas; negatives.txt o arquivo contendo o nome dos arquivos das imagens, linha a linha, utilizados; 20 o nmero de estgios que a cascata de classicadores pode alcanar; 0.999 a mnima taxa de deteco requerida; 0.5 a mxima taxa de falso positivo; 600 o nmero de imagens positivas utilizadas; 1000 o nmero de imagens negativas utilizadas; nonsym o parmetro que especica que o objeto para deteco no simtrico 600 a limitao do quanto de memria ram do sistema ir consumir BASIC so quais as caractersticas utilizadas para treinamento. (Essa parte foi modicada para adaptar a anlise das caractersticas) face_trained_test.log arquivo contendo informaes de cada passo do treinamento. O terceiro aplicativo usado para com o intuito de ilustrar a taxa de deteco efetiva e a taxa de falsos positivos.
Usage : t e s t data < c l a s s i f i e r _ d i r e c t o r y _ n a m e > i n f o < c o l l e c t i o n _ f i l e _ n a m e > maxSizeDiff < m a x _ s i z e _ d i f f e r e n c e = 0.000000 >] [maxPosDiff < m a x _ p o s i t i o n _ d i f f e r e n c e = 2.000000 >] [ s f < s c a l e _ f a c t o r = 0.000000 >] [ ni ] [nos <number_of_stages = 20 >] [ rs < r o c _ s i z e = 1>] [w <sample_width = 24 >] [h <sample_height = 24 >]

10

No caso do presente trabalho, ao invs de utilizar essa aplicao, foram usados dados gerados pelo treinamento do classicador. A justicativa para isso que esta aplicao no est bem implementada, e, em situaes, nas quais o banco de imagem utilizado possui arquivos desviando-se sutilmente do padro, resultam em segmentation fault. Outro fator consiste na dimenso das imagens utilizadas no classicador de tamanho 24x24 e as do 41

banco de imagens com dimenses 92x112, alm da taxa de falso positivo e a deteco mudar conforme a escala da imagem. A aplicao facedetect.cpp B.0.5 usada para ilustrar que o classicador pode ser adotado tambm para deteces em tempo real.

4.3

Avaliao das Caractersticas

A avaliao das caractersticas propostas por Viola & Jones[1] e Lienhart & Maydt[2] feita pela criao da cascata de classicadores pelo uso de algumas caractersticas isoladas ou um grupo de caractersticas. Foram geradas 13 cascatas de classicadores, no intuito de analisar a importncia de cada caracterstica utilizada. Ser utilizada a notao ilustrada na Figura 3.3 1. face_trained_test1a.xml - 1a 2. face_trained_test1b.xml - 1b 3. face_trained_test1c.xml - 2a 4. face_trained_test1d.xml - 2c 5. face_trained_test1e.xml - 2b 6. face_trained_test1f.xml - 2d 7. face_trained_test2.xml - 1a + 1b 8. face_trained_test3.xml - 1a + 1b + 2a 9. face_trained_test4.xml - 1a + 1b + 2a + 2c 10. face_trained_test5.xml - 4a + 1a + 1b + 2a + 2c 11. face_trained_test6.xml - 1a + 1b + 2a + 2c + 2b + 2d 12. face_trained_test7.xml - 1a + 1b + 2a + 2c + 2b + 2d + 4a 13. face_trained_test8.xml - 1a + 1b + 2a + 2c + 2b + 2d + (1c,1d,2e,2f,2g,2h) Os primeiros 6 testes foram feitos para vericao da existncia de diferenas entre elas e dessa forma seria possiver vericar qual a importncia de cada uma delas na deteco. Os testes de 2 ao 5 foram feitos para a vericao da ocorrncia de melhorias na taxa de falsa deteco no treinamento. Os testes de 6 ao 8 foram feitos para a vericao de ganhos usando caractersticas rotacionais, em relao a taxa de falsa deteco.

42

Sigla 1a 1b 1c 1d 1e 1f 2 3 4 5 6 7 8

Caractersticas 43200 43200 27600 27600 27600 27600 86400 114000 141600 162336 181200 201936 238400

Tempo de Processamento(seg) 18787 5803 5556 17018 5682 12545 19593 36308 42840 42916 5936 18618 16632

Mquina Utilizada Uni Erik MVC Erik MVC Uni Erik Uni MVC Uni Erik MVC Erik

Tabela 4.2: Informaes Sobre o Treinamento

4.4

Treinamento da Cascata

Aps o treinamento de uma cascata de classicadores, so gerados arquivos com a seguinte estrutura:
Cascata : Estgio1 : C l a s s i f i c a d o r 1 1 : ( e s t e o chamado c l a s s i f i c a d o r f r a c o ) C a r a c t e r s t i c a 1 1 ( Cada c a r a c t e r s t i c a envolve um daqueles retngulos ) Classificador12 : Caracterstica12 : ... Estgio2 : Classificador21 : Caracterstica21 : ....

10

Aps o treinamento, so encontradas pastas numeradas de 0 a N (N+1 o nmero de estgio completados). Em cada uma destas pastas, existe um arquivo em formato txt de nome "AdaBoostCARTHaarClassier.txt", cada qual contendo informaes sobre um estgio do classicador. Em outras palavras, uma cascata de classicadores Adaboost composta de N estgios de classicadores. Viola&Jones cita, em seu artigo, que sua cascata de classicadores possui 38 estgios [1]. Ser descrito, a seguir, o contedo do arquivo "AdaBoostCARTHaarClassier.txt" A primeira linha do arquivo txt o nmero X de classicadores fracos que compe o classicador forte do estgio atual. Voc pode observar uma sequncia repetitiva a partir da segunda linha, at a linha 7 ou 8. Temos X estruturas similares a esta at a ltima linha. 43

X 1 2 21 2 6 3 0 1 24 2 3 3 0 2 haar_x2 1.368438e002 0 1 4.482732 e001 2.745696e001

A linha 2 condiz com o nmero de ns em uma rvore de deciso. A linha 3 representa o nmero de retngulos envolvido na computao da caracterstica haar. A linha 4 possui 6 nmeros inteiros, os quais representam os parmetros do 1o retngulo. A linha 5 possui 6 nmeros inteiros, os quais representam os parmetros do 2o retngulo. A linha 6 um nome para a caracterstica. A linha 7 contm parmetros de limiar da frmula dos classicadores fracos. A linha 8 relativa a estrutura do classicador. Aps passar por todos os estgios, um arquivo .xml gerado a partir das informaes encontradas nesses diretrios.

4.5

Resultados Obtidos

Realizou-se a criao de seis cascatas de classicadores, cada uma utilizando apenas uma nica caracterstica, denida na Seo 4.3. Os testes apontam que o intervalo da taxa de falso positivo, como pode ser observado na Figura 4.5, menor para a caracterstica 1a, mostrando ser a mais eciente durante algumas etapas da classicao.[1]. Porm os testes baseados na Taxa de Deteco e Taxa de Falsa Deteco ilustram resultados diferentes, A caracterstica 1a no obteve muitos bons resultados de deteco. A justicativa dada nesse teste a diferena de escala, tamanho, imagens com pequenas rotaes em relao a base de dados utilizada pelo treinamento do classicador. Como o classicador tm um tamanho xo, de acordo com [2], as caractersticas utilizadas por ele mantm uma proporo no encontrada nas imagens de teste (rostos de escala diferente). Na Figura 4.5, possvel observar as diferenas impostas a cada acrscimo de cada caracterstica ao treinamento da cascata de classicadores, na qual a 1a mostrou melhores resultados, novamente devido a sua baixa taxa de falso positivo. Ao contrrio das taxas de treinamento, os testes apontam piores resultados para a caracterstica 1a. Conclui-se que em imagens mais reais, apenas a utilizao da nica caracterstica infere em muitas regies com probabilidades de ter uma face. Observa-se Uma melhoria com o acrscimo de 44

Figura 4.1: Taxa de Erro vs Estgios da Cascata retngulos semelhantes (mesma quantidade de retngulos positivos e negativos) porm com as caractersticas giradas em 90o , como por exemplo, o acrscimo ao conjunto de caracterstica 1a caracterstica 1b. No h grandes acrscimos quando h adio da caracterstica 4a ao conjunto 1a+1b+2a+2c. Nota-se que a caracterstica aumenta o nmero de falsos positivos e diminuindo a taxa de deteco. Logo, conclui-se que essa caracterstica contribui para um pequeno aumento na deteco de pouca rotao a um custo do aumento do falso positivo. Ilustrada na Figura 4.5, todas as taxas de falso positivo apresentam parmetros semelhantes. Isso demonstra que, para este caso, tanto a adio de uma nica caracterstica 4a quanto de todas quelas rotacionadas propostas por Lienhart&Maydt[2], no demonstraram mais ecientes entre si no momento do treinamento do classicador. O grco comparativo da Figura 4.5 ilustra treinamento visando a comparao entre o acrscimo de uma nica caracterstica 4a e a adio de todas as rotacionadas propostas por Lienhart[2]. Observa-se melhores resultados ao acrscimo de todas as rotacionadas e uma sutil melhora com o acrscimo da caracterstica 4a. Esse fato justica o no uso dessa caracterstica em seus treinamentos.

45

Figura 4.2: Taxa de Deteco vs Taxa de Falso Positivo

Figura 4.3: Taxa de Erro vs Estgios da Cascata 46

Figura 4.4: Taxa de Deteco vs Taxa de Falso Positivo

Figura 4.5: Taxa de Erro vs Estgios da Cascata 47

Figura 4.6: Taxa de Deteco vs Taxa de Falso Positivo

48

Captulo 5 Concluses
5.1 Concluso

O presente trabalho proporcionou no s o aprendizado de diversas tcnicas relacionadas a deteco de faces como tambm uma tima forma de aplicao das mesmas. As tcnicas utilizadas e at mesmo as que somente foram estudadas para o presente projeto foram de demasiada importncia ao conhecimento da rea de viso computacional. O projeto possibilitou a juno prtica das contribuies citadas na bibliograa estudada, por meio do uso das ferramentas fornecidas pela biblioteca OpenCV, porm nem todas as aplicaes foram possveis de serem utilizadas devido a falhas nas implementaes existentes. Alguns esboos de anlises para buscar melhorias foram feitas, mas devido a forma como foi implementada algumas aplicaes, no foram possveis de serem aproveitadas a curto prazo. Uma diculdade foi a utilizao das ferramentas de treinamento da cascata de classicadores. Um fator limitante o tempo de processamento da cascata que pode durar horas e at dias e desse modo, para se conseguir resultados breves para o estudo desse projeto, foi necessrio a diminuio da quantidade de imagens utilizadas para o treinamento. Como consequncia o classicador no to robusto comparado s que existem citadas nas bibliograas mais populares da rea. O classicador desse projeto utilizou 600 imagens positivas e 1000 imagens negativas para seu treinamento e para um classicador de maior preciso, necessrio pelo menos o dobro de imagens. Segundo Viola&jones[1], seu classicador foi construdo com mais de 15 mil imagens. Outro ponto a se considerar na escolha das imagens utilizadas para o treinamento do classicador. Vrios tipos de imagem e tamanhos diferentes foram utilizados, e com bastante frequncia, o treinamento parava em loop innito e todo o processo teve que ser reiniciado. A procura dos melhores tipos de imagens foi um desao. Um ponto positivo nesse estudo foi compreender vrios pontos de diculdade na criao de um detector de face e criar um bom entendimento de que existem algumas caractersticas em faces humanas que podem ser utiliza49

das para a deteco. Outro ponto positivo ter conseguido criar aplicaes reais para evidenciar que a tcnica robusta e de boa performance. Finalmente, a proposta do estudo de caractersticas invariantes no s para deteco como tambm tem grande potencial para ser aplicado alguns conceitos na rea de reconhecimento. O sistema ainda pode ser aprimorado para aumentar a robustez, como por exemplo a deteco de faces em perl e rotacionadas. Os resultados encontrados nesse projeto certamente cumprem com as expectativas, pois mantm a consistncia de acordo com a bibliograa utilizada.

5.2

Propostas Futuras

Como foi dito, muitos pontos podem ser melhorados de forma a aumentar a robustez do sistema. Algumas sugestes so a anlise de novas caractersticas que possa permitir a melhoria da performance e tambm conseguir detectar mais do que faces frontais. A modicao de algumas caractersticas de forma que elas no sejam simtricas poderia ser um ponto de partida para a busca de novos trabalhos, como ilustrado na Figura 5.2.

Figura 5.1: Exemplos de Possveis Caractersticas No Simtricas Outro ponto a se considerar buscar uma forma de acelerar o processo de treinamento do algoritmo, visto que para bancos de imagens numerosos, o tempo gasto para retorno de resultado extravagante. Uma ltima questo importante a citar que se tente utilizar interfaces mais amigveis do que a linha de comando, pois muitas vezes difcil o controle de todos os parmetros e formatos de arquivos necessrios para um treinamento da cascata de classicadores.

50

Apndice A Exemplos de Imagens


A.1
A.1.1

Alguns Exemplos do Banco de Imagens


Imagens Positivas

Figura A.1: Exemplos de Imagens Positivas

51

A.1.2

Imagens Negativas

Figura A.2: Exemplos de Imagens Negativas

52

A.1.3

Imagens Usadas Para Testes de Deteco

Figura A.3: Exemplos de Imagens de Face Usadas para Teste

53

Figura A.4: Outros Exemplos de Imagens de Face Usadas para Teste

54

Apndice B Informaes Adicionais


B.0.4
B.0.4.1

Exemplo de Sada de Treinamento da Cascata


Em Estrutura de Diretrio

Esse o estgio 0 da cascata para um classicador contendo apenas a caracterstica x2.


8 1 2 0 2 8 16 0 1 4 2 4 16 0 2 haar_x2 5.833102 e02 0 1 6.605728e01 8.008384 e01 1 2 8 1 16 10 0 1 16 1 8 10 0 2 haar_x2 1.015640e01 0 1 7.205223 e01 5.214551e01 1 2 16 2 6 5 0 1 19 2 3 5 0 2 haar_x2 1.092377e02 0 1 5.382904 e01 4.783939e01 1 2 0 4 14 2 0 1 7 4 7 2 0 2 haar_x2 3.275000 e02 0 1 3.148117e01 7.289469 e01 1 2 8 9 10 11 0 1 13 9 5 11 0 2 haar_x2

10

15

20

25

30

55

35

40

45

50

55

9.737531 e03 0 1 2.704394 e01 8.607931e01 1 2 0 1 6 17 0 1 3 1 3 17 0 2 haar_x2 6.313805 e02 0 1 2.697243e01 7.049640 e01 1 2 7 3 2 1 0 1 8 3 1 1 0 2 haar_x2 4.728731e04 0 1 8.828063e01 2.191384 e01 1 2 11 4 4 11 0 1 13 4 2 11 0 2 haar_x2 1.557752e02 0 1 4.949364 e01 3.725764e01 1.260443e+00 1 1

60

B.0.4.2

Em formato XML

10

15

20

<?xml v e r s i o n="1.0"?> <opencv_storage > < f a c e _ t r a i n e d _ t e s t 1 t y p e _ i d="opencv-haar-classifier"> <size > 24 24 </ s i z e > <stages > <_> <! stage 0 > <t r e e s > <_> <! t r e e 0 > <_> <! r o o t node > <feature > <rects > <_> 0 2 8 16 1. </_> <_> 4 2 4 16 2 . < / _ > </ r e c t s > < t i l t e d >0 </ t i l t e d > </ feature > <threshold >0.0583310201764107 </ threshold > < l e f t _ v a l >0.6605728268623352</ l e f t _ v a l > < r i g h t _ v a l >0.8008384108543396 </ r i g h t _ v a l > </_ > </_>

56

25

30

35

40

45

50

<_> <! t r e e 1 > <_> <! r o o t node > <feature > <rects > <_> 8 1 16 10 1. </_> <_> 16 1 8 10 2 . < / _ > </ r e c t s > < t i l t e d >0 </ t i l t e d > </ feature > <threshold >0.1015639975667000</ threshold > < l e f t _ v a l >0.7205222845077515 </ l e f t _ v a l > < r i g h t _ v a l >0.5214551091194153</ r i g h t _ v a l > </_ > </_> <_> <! t r e e 2 > <_> <! r o o t node > <feature > <rects > <_> 16 2 6 5 1. </_> <_> 19 2 3 5 2 . < / _ > </ r e c t s > < t i l t e d >0 </ t i l t e d > </ feature > <threshold >0.0109237702563405</ threshold > < l e f t _ v a l >0.5382903814315796 </ l e f t _ v a l > < r i g h t _ v a l >0.4783939123153687</ r i g h t _ v a l > </_ > </_> <_> ... ...

55

...
60

65

70

75

<_> <! t r e e 20 > <_> <! r o o t node > <feature > <rects > <_> 8 4 8 10 1. </_> <_> 12 4 4 10 2 . < / _ > </ r e c t s > < t i l t e d >0 </ t i l t e d > </ feature > <threshold >0.0255949199199677</ threshold > < l e f t _ v a l >0.4165337979793549 </ l e f t _ v a l > < r i g h t _ v a l >0.3098720014095306</ r i g h t _ v a l > </_ > </_ > </ trees > <stage_threshold >1.2490710020065308</ stage_threshold > <parent >18 </ parent > <next >1</next > </_ > </ stages > </ f a c e _ t r a i n e d _ t e s t 1 > </ opencv_storage >

57

B.0.5
/ /

Cdigo Fonte do Programa facedetect.c

Universidade de B r a s l i a I n s t i t u t o de Exatas Departamento de Cincia da Computao Aluno : Edson Lek Hong Ma Matrcula : 01/31474 Fornecido pela b i b l i o t e c a Open Source Computer Vision Library h t t p ://www. i n t e l . com/ t e c h n o l o g y /computing/opencv/ Este programa d e t e c t a f a c e s em imagens e s t t i c a s ou em um d i s p o s i t i v o de captura Sua s i n t a x e : f a c e d e t e c t cascade=<arquivo . xml> <imagem opcional >

10

15

20

25

#include "cv.h" #include "highgui.h" #include #include #include #include #include #include #include #include #include < s t d i o . h> < s t d l i b . h> < s t r i n g . h> < a s s e r t . h> <math . h> <f l o a t . h> < l i m i t s . h> <time . h> <ctype . h>

30

35

40

# i f d e f _EiC #define WIN32 #endif s t a t i c CvMemStorage s t o r a g e = 0 ; s t a t i c CvHaarClassifierCascade cascade = 0 ;

45

void detect_and_draw ( IplImage image ) ; const char cascade_name = "haarcascade_frontalface_alt2.xml" ; / " h a a r c a s c a d e _ p r o f i l e f a c e . xml " ; /

50

int main ( int argc , char argv ) { CvCapture capture = 0 ; IplImage frame , frame_copy = 0 ;

58

55

int o p t l e n = s t r l e n ( "--cascade=" ) ; const char input_name ; //Cria uma Janela cvNamedWindow ( "result" ,CV_WINDOW_AUTOSIZE) ;

60

//Se encontrar a palavra cascade , //carrega uma cascata , ou ento usa um padro i f ( argc > 1 && strncmp ( argv [ 1 ] , "--cascade=" , o p t l e n ) == 0 ) { cascade_name = argv [ 1 ] + o p t l e n ; input_name = argc > 2 ? argv [ 2 ] : 0 ; } else { f p r i n t f ( stderr , "ERROR: Could not load classifier cascade\n" ); f p r i n t f ( stderr , "Usage: facedetect --cascade=\"<cascade_path>\" [filename| camera_index]\n" ) ; return 1; //cascade_name = " haarcascades/ h a a r c a s c a d e _ f r o n t a l f a c e _ a l t . xml "; //input_name = argc > 1 ? argv [ 1 ] : 0 ; } //Tenta carregar uma casca ta de c l a s s i f i c a d o r e s cascade = ( CvHaarClassifierCascade ) cvLoad ( cascade_name , 0 , 0 , 0 ); i f ( ! cascade ) { f p r i n t f ( stderr , "ERROR: Could not load classifier cascade\n" ); f p r i n t f ( stderr , "Usage: facedetect --cascade=\"<cascade_path>\" [filename| camera_index]\n" ) ; return 1; }

65

70

75

80

85

90

s t o r a g e = cvCreateMemStorage ( 0 ) ; //Caso e x i s t a uma cmera , u t i l i z e a i f ( ! input_name || ( i s d i g i t ( input_name [ 0 ] ) && input_name [ 1 ] == \0 ) ) capture = cvCaptureFromCAM ( ! input_name ? 0 : input_name [ 0 ] 0 ) ; else capture = cvCaptureFromAVI ( input_name ) ; i f ( capture ) { for ( ; ; ) { i f ( ! cvGrabFrame ( capture ) )

95

100

59

105

110

break ; frame = cvRetrieveFrame ( capture ) ; i f ( ! frame ) break ; i f ( ! frame_copy ) frame_copy = cvCreateImage ( cvSize ( frame>width , frame> height ) , IPL_DEPTH_8U, frame>nChannels ); i f ( frame>o r i g i n == IPL_ORIGIN_TL ) cvCopy ( frame , frame_copy , 0 ) ; else c v F l i p ( frame , frame_copy , 0 ) ; //Aqui que o c e r n e da d e t e c o detect_and_draw ( frame_copy ) ; cvShowImage ( "result" , frame_copy ) ; i f ( cvWaitKey ( 5 ) >= 0 ) break ; } //Libera memria cvReleaseImage ( &frame_copy ) ; cvReleaseCapture ( &capture ) ; } else { //Tenta car re ga r a imagem lena . jpg padro const char filename = input_name ? input_name : ( char ) "lena. jpg" ; IplImage image = cvLoadImage ( filename , 1 ) ; //Se a lena no e s t i v e r p r e s e n t e , carregue de um //arquivo contendo um conjunto de imagens ! i f ( image ) { //Aqui que o c e r n e da d e t e c o detect_and_draw ( image ) ; cvShowImage ( "result" , image ) ; cvWaitKey ( 0 ) ; cvReleaseImage ( &image ) ; } else { / Aqui assumes e que o t e x t o tem uma l i s t a contendo nome dos arquivos linha a linha / FILE f = fopen ( filename , "rt" ) ; if ( f ) { char buf [ 5 0 0 + 1 ] ; char buf2 [ 5 0 0 + 1 ] ; char dotPos ; int pos ;

115

120

125

130

135

140

145

150

155

60

while ( f g e t s ( buf , 500 , f ) ) { int len = ( int ) s t r l e n ( buf ) ; while ( len > 0 && i s s p a c e ( buf [ len 1]) ) { len ; } buf [ len ] = \0 ; f p r i n t f ( stdout , "file: %s - " , buf ) ; dotPos = index ( buf , . ) ; pos = dotPos buf ; strncpy ( buf2 , buf , pos ) ; buf2 [ pos ]=\0 ; s t r c a t ( buf2 , "_out.jpg" ) ; p r i n t f ( "new file : %s\n" , buf2 ) ;

160

165

170

175

image = cvLoadImage ( buf , 1 ) ; i f ( image ) { // d e t e c t a a f a c e detect_and_draw ( image ) ; //e salva em um arquivo ! i f ( ! cvSaveImage ( buf2 , image ) ) { f p r i n t f ( stderr , "Could not save the image file: %s" , buf ) ; } cvReleaseImage ( &image ) ; } } fclose ( f ) ; }

180

185

190

} } cvDestroyWindow ( "result" ) ;

195

return 0 ; } void detect_and_draw ( IplImage img ) { FILE p o s i t i v e s ; s t a t i c CvScalar c o l o r s [ ] = { {{0 ,0 ,255}} , {{0 ,128 ,255}} , {{0 ,255 ,255}} , {{0 ,255 ,0}} , {{255 ,128 ,0}} , {{255 ,255 ,0}} , {{255 ,0 ,0}} ,

200

205

210

61

{{255 ,0 ,255}} }; double s c a l e = 1 . 3 ;


215

220

IplImage gray = cvCreateImage ( cvSize ( img>width , img>height ) , 8 , 1 ); IplImage small_img = cvCreateImage ( cvSize ( cvRound ( img>width / scale ) , cvRound ( img>height / s c a l e ) ) , 8, 1 ) ; int i ; int count ; cvCvtColor ( img , gray , CV_BGR2GRAY ) ; cvResize ( gray , small_img , CV_INTER_LINEAR ) ; cvEqualizeHist ( small_img , small_img ) ; cvClearMemStorage ( s t o r a g e ) ; i f ( cascade ) { double t = ( double ) cvGetTickCount ( ) ;

225

230

//Quantas f a c e s encontrou ? CvSeq f a c e s = cvHaarDetectObjects ( small_img , cascade , storage , 1 . 1 , 2 , 0/ CV_HAAR_DO_CANNY_PRUNING / , cvSize ( 3 0 , 30) ) ;
235

t = ( double ) cvGetTickCount ( ) t ; // p r i n t f ( " d e t e c t i o n time = %gms\n " , t / ( ( double ) cvGetTickFrequency ( ) 1 0 0 0 . ) ) ; for ( i = 0 ; i < ( f a c e s ? f ac e s >t o t a l : 0 ) ; i ++ ) { CvRect r = ( CvRect ) cvGetSeqElem ( fa ce s , i ) ; CvPoint c e n t e r ; int radius ; c e n t e r . x = cvRound ( ( r>x + r>width 0 . 5 ) s c a l e ) ; c e n t e r . y = cvRound ( ( r>y + r>height 0 . 5 ) s c a l e ) ; radius = cvRound ( ( r>width + r>height ) 0.25 s c a l e ) ; c v C i r c l e ( img , center , radius , c o l o r s [ i %8] , 3 , 8 , 0 ) ; } } cvReleaseImage ( &gray ) ; cvReleaseImage ( &small_img ) ; }

240

245

250

62

B.0.6
B.0.6.1

Licenas de Uso
Licena de Uso das Imagens

CAMBRIDGE The ORL f a c e database This d i r e c t o r y c o n t a i n s a s e t o f f a c e s taken between A p r i l 1992 and A p r i l 1994 at the O l i v e t t i Research Laboratory in Cambridge , UK.
10

There are 10 d i f f e r e n t images o f 40 d i s t i n c t s u b j e c t s . For some o f the s u b j e c t s , the images were taken at d i f f e r e n t times , varying l i g h t i n g s l i g h t l y , f a c i a l e x p r e s s i o n s ( open / c l o s e d eyes , smiling / nonsmiling ) and f a c i a l d e t a i l s ( g l a s s e s / nog l a s s e s ) . A l l the images are taken against a dark homogeneous background and the s u b j e c t s are in upr i g ht , f r o n t a l p o s i t i o n ( with t o l e r a n c e for some s i d e movement ) . The f i l e s are in PGM format and can be c o n v e n i e n t l y viewed using the xv program . The s i z e o f each image i s 92x112 , 8 b i t grey l e v e l s . The images are organised in 40 d i r e c t o r i e s ( one for each s u b j e c t ) named as : sX

15

where X i n d i c a t e s the s u b j e c t number ( between 1 and 40) . In each d i r e c t o r y there are 10 d i f f e r e n t images o f the s e l e c t e d s u b j e c t named as : Y . pgm
20

where Y i n d i c a t e s which image for the s p e c i f i c s u b j e c t ( between 1 and 10) . When using these images , please g i v e c r e d i t t o O l i v e t t i Research Laboratory . A convenient r e f e r e n c e i s the f a c e r e c o g n i t i o n work which uses some o f these images :

25

F . Samaria and A . Harter "Parameterisation of a stochastic model for human face identification" 2nd IEEE Workshop on A p p l i c a t i o n s o f Computer Vision December 1994 , Sarasota ( F l o r i d a ) . The paper i s a v a i l a b l e via anonymous f t p from quince . camo r l . co . uk and i s s t o r e d in pub / users / f s / IEEE_workshop . ps . Z I f you have any question , please email Ferdinando Samaria : fs@cam o r l . co . uk

30

Natural Stimuli C o l l e c t i o n

63

Note : the data f i l e s can a l s o be obtained by anonymous f t p from hlab . phys . rug . nl ( go t o d i r e c t o r y pub , s u b d i r e c t o r y i1_200 c o n t a i n s images 1 . . 2 0 0 , e t c . ; the time s e r i e s o f i n t e n s i t i e s are in s u b d i r e c t o r y timser o f pub ; the video f i l e s in s u b d i r e c t o r y video o f pub ) S t i l l Images The data below can be downloaded f r e e l y for s c i e n t i f i c , non commercial uses . I f you publish work based on these data , please c i t e the a r t i c l e where t h i s c o l l e c t i o n o f images and i t s c a l i b r a t i o n are f i r s t d e s c r i b e d :

10

van Hateren , J .H. , van der Schaaf , A. ( 1 9 9 8 ) Independent component f i l t e r s o f natural images compared with simple c e l l s in primary v i s u a l c o r t e x . Proc . R. Soc . Lond . B 265:359 366. Preprint v e r s i o n 2 1 / 1 1 / 9 7 : p o s t s c r i p t 3 . 3 Mb, compressed p o s t s c r i p t 1 . 4 Mb, PDF 1 . 2 Mb, a bst rac t , demo ; r e p r i n t as published : PDF 0 . 4 Mb S t i l l image c o l l e c t i o n ( approximately 4000 l a r g e c a l i b r a t e d images , obtained with a Kodak DCS420 camera )

VidTIMIT
5

The VidTIMIT dataset i s Copyright l 2001 Conrad Sanderson . D i s t r i b u t i o n and research usage o f t h i s dataset i s permitted under the f o l l o w i n g c o n d i t i o n s : 1 . This n o t i c e i s l e f t i n t a c t and not modified in any way . 2 . The VidTIMIT dataset i s provided as i s . There i s no warranty as t o the f i t n e s s for any p a r t i c u l a r purpose . 3 . The author o f the VidTIMIT dataset ( Conrad Sanderson ) i s not r e s p o n s i b l e for any d i r e c t or i n d i r e c t l o s s e s r e s u l t i n g from the use o f the dataset . 4 . Any p u b l i c a t i o n s ( such as c o n f e r e n c e papers , j o u r n a l a r t i c l e s , t e c h n i c a l reports , book chapters , books ) r e s u l t i n g from the usage o f the VidTIMIT dataset should c i t e the f o l l o w i n g article : C . Sanderson and K.K. Paliwal . I d e n t i t y V e r i f i c a t i o n Using Speech and Face Information . D i g i t a l Signal Processing 1 4 ( 5 ) :449 480 , 2004. (PDF) The VidTIMIT dataset i s comprised o f 44 f i l e s , in t o t a l taking up about 3 Gb . Each z i p i s on average 71 Mb These f i l e s are a v a i l a b l e o n l i n e with the kind a s s i s t a n c e o f the Australian National University Please do not overload the s e r v e r download only one f i l e at a time

10

15

20

64

NOTE: You are f r e e t o use the Yale Face Database B for research purposes . I f experimental r e s u l t s are obtained that use images from within the database , a l l p u b l i c a t i o n s o f these r e s u l t s should acknowledge the use o f the "Yale Face Database B" and r e f e r e n c e i t s paper . Without permission from Yale University , images from within the database cannot be i n c o r p o r a t e d i n t o a l a r g e r database which i s then p u b l i c l y d i s t r i b u t e d . Georghiades , A . S . and Belhumeur , P .N. and Kriegman , D. J . From Few t o Many : I l l u m i n a t i o n Cone Models for Face Recognition underVariable Lighting and Pose . IEEE Trans . Pattern Anal . Mach . I n t e l l i g e n c e 2 3 ( 6 ) : 643 660 ,2001.

USENIX
5

This i s the USENIX f a c e s archive . from 2547 s i t e s .

I t c u r r e n t l y c o n t a i n s 5592 f a c e s

Please do NOT do a d i r e c t o r y l i s t i n g in the top d i r e c t o r y o f t h i s arch ive as i t c o n t a i n s over 2547 e n t r i e s ! ! !


10

15

Face f i l e s are s t o r e d in t h i s archive by email address . There i s a s u b d i r e c t o r y for each email address host|domain| s i t e and then a f i l e in that d i r e c t o r y for each user at that s i t e . For example , the f a c e for barb@labyrinth . com would be found in l a b y r i n t h . com / barb .Z. Each f a c e i s compressed and thus ends with the . Z s u f f i x . Faces with no email address are in the d i r e c t o r y noemailaddress l i s t e d by f u l l name ( and a l s o compressed ) . Other u s e f u l f i l e s in t h i s archive :

20

README f u l l index format programs / with f a c e s


25

this f i l e s o r t e d l i s t o f f u l l names t o f a c e f i l e path d e s c r i p t i o n o f the format o f f a c e f i l e s subdir o f some programs t o do fun things

This f a c e s archive was l a s t updated Oct 21 1994 with 390 f a c e s from the San Diego USENIX LISA VIII c o n f e r e n c e . Other changes t o the f a c e s ar chive at that time :
30

updated f u l l index ( o f course ) updated programs / l a b e l s . ps t o undo aspect r a t i o problem FaceSaver w i l l next appear at the USENIX winter c o n f e r e n c e in New Orleans , LA, January 1995.

35

40

Please note there i s c u r r e n t l y no way t o submit or modify your f a c e data except at a USENIX c o n f e r e n c e . We know what happens whenever there i s a way t o write t o things on the net the 15 year o l d s mess i t up for everyone . FaceSaver e x i s t s through my vo lunteer time only , the good graces o f Lou Katz who owns the trademark , and

65

UUNET who provi des the f t p s e r v i c e . Also , there i s no mechanism t o remove o l d f a c e s . This i s considered a f e a t u r e . I f you _ r e a l l y _ want an o l d embarrasing f a c e nuked , send me a request .
45

Future plans : clean up the programs d i r e c t o r y so f i l e names b e t t e r r e f l e c t conte nts c r e a t e a d i r e c t o r y o f information on the FaceSaver system and software f i x image d i t h e r i n g problems in p r i n t i n g l a b e l s improve the placement o f the camera r e l a t i v e t o the d i s p l a y monitor f i x many l i t t l e f e a t u r e s Note , the s i n c e FaceSaver i s both trademarked and copyrighted , i t can not be setup at events other than USENIX c o n f e r e n c e s .

50

55

Comments , suggestions , g r i p e s : Barb Dijker barb . d i j k e r @ l a b y r i n t h . com

60

This i s a database o f f a c e s and nonf ac e s , that has been used e x t e n s i v e l y at the Center for B i o l o g i c a l and Computational Learning at MIT . I t i s f r e e l y a v a i l a b l e for research use . I f you use t h i s database in published work , you must r e f e r e n c e : CBCL Face Database #1 MIT Center For B i o l o g i c a l and Computation Learning http : //www. ai . mit . edu/ p r o j e c t s / c b c l

10

CONTENTS: Training s e t : 2 ,429 f a c e s , 4 ,548 nonf a c e s Test s e t : 472 f a c e s , 23 ,573 nonf a c e s The t r a i n i n g s e t f a c e were generated for [ 3 ] . The t r a i n i n g s e t non f a c e s were generated for [ 2 ] . The t e s t s e t i s a subset o f the CMU Test Set 1 [ 4 ] , information about how the subset was chosen can be found in [ 2 ] . The t a r b a l l s t r a i n . t a r . gz and t e s t . t a r . gz contain s u b d i r e c t o r i e s with the images s t o r e d in i n d i v i d u a l pgm f i l e s . These pgm images can be processed using the f u n c t i o n s in the ccode d i r e c t o r y . Note that the ccode d i r e c t o r y i s not a complete program , merely a c o l l e c t i o n o f f u n c t i o n s that are u s e f u l for reading in the pgm f i l e s . These f u n c t i o n s have s u c c e s s f u l l y been used numerous times t o read in and convert t h i s data ; we are u n l i k e l y t o have time t o respond t o requests regarding help with these f u n c t i o n s , or o f f e r other programming help .

15

66

20

For those who dont want t o work with the image f i l e s d i r e c t l y , we provide the f i l e s svm . t r a i n . normgrey and svm . t e s t . normgrey . These f i l e s are in the proper format t o be read by the SvmFu SVM s o l v e r "http://www.ai.mit.edu/projects/cbcl/" , but should be e a s i l y c o n v e r t i b l e for use by other algorithms . In each f i l e , the f i r s t l i n e c o n t a i n s the number o f examples (6 ,977 t r a i n i n g , 24 ,045 t e s t ) , the second l i n e c o n t a i n s the number o f dimensions (19 x19 = 361) . Each a d d i t i o n a l l i n e c o n s i s t s o f a s i n g l e image , histogram equal ized and normalized so that a l l p i x e l values are between 0 and 1 , f o l l o w e d by a 1 for a f a c e or a 1 for a non f a c e . This i s the data that was used in [ 1 ] . A s l i g h t l y modified v e r s i o n o f the dataset was used in [ 2 ] the histogram normalization was i d e n t i c a l , but a d d i t i o n a l l y , the corne rs o f the image were masked out .
25

For any quest ions regarding t h i s dataset , please c o n t a c t Stan B i l e s c h i ( b i l e s c h i @ m i t . edu )

30

35

[1] @TECHREPORT{ alvira2001 , AUTHOR = {M. A l v i r a and R . R i f k i n } , TITLE = {An Empirical Comparison o f SNoW and SVMs for Face Detection } , INSTITUTION = { Center for B i o l o g i c a l and Computational Learning , MIT} , YEAR = { 2 0 0 1 } , TYPE = {A . I . memo} , ADDRESS = { Cambridge , MA} , NUMBER = {2001 004} }

40

45

[2] @TECHREPORT{ heisele2000 , AUTHOR = {B . Heisele and T . Poggio and M. P o n t i l } , TITLE = { Face Detection in S t i l l Gray Images } , INSTITUTION = { Center for B i o l o g i c a l and Computational Learning , MIT} , YEAR = { 2 0 0 0 } , TYPE = {A. I . memo} , ADDRESS = { Cambridge , MA} , NUMBER = { 1 6 8 7 } } [3] @PHDTHESIS{ sung96 , AUTHOR = {K.K. Sung } , TITLE = { Learning and Example S e l e c t i o n for Object and Pattern Recognition } , SCHOOL = { MIT, A r t i f i c i a l I n t e l l i g e n c e Laboratory and Center for Biological and Computational Learning } , ADDRESS = { Cambridge , MA} ,

50

55

67

YEAR = { 1 9 9 6 } }
60

65

70

[4] @ARTICLE{ rowley98 , AUTHOR = {H. A . Rowley and S . Baluja and T . Kanade } , TITLE = { Neural NetworkBased Face Detection } , JOURNAL = {IEEE Transactions on Pattern Analysis and Machine Intelligence } , YEAR = { 1 9 9 8 } , PAGES = {23 38} , VOLUME = { 2 0 } , NUMBER = { 1 } }

68

Referncias Bibliogrcas
[1] Paul Viola and Michael J. Jones. Robust real-time face detection. Int. J. Comput. Vision, 57(2):137154, 2004. [2] Rainer Lienhart, Alexander Kuranov, and Vadim Pisarevsky. Empirical analysis of detection cascades of boosted classiers for rapid object detection. Technical report, Microprocessor Research Lab, Intel Labs, December 2002. [3] Hjelmas E. and Low B.K. Face detection: A survey. Computer Vision and Image Understanding, 83:236274(39), September 2001. [4] Constantine P. Papageorgiou, Michael Oren, and Tomaso Poggio. A general framework for object detection. In ICCV 98: Proceedings of the Sixth International Conference on Computer Vision, page 555, Washington, DC, USA, 1998. IEEE Computer Society. [5] Open source computer vision library http://sourceforge.net/projects/opencvlibrary/. [6] R. Schapire. The boosting approach to machine learning: An overview, 2001. [7] D. Maio and D. Maltoni. Real-time face location on gray-scale static images. PR, 33(9):15251539, September 2000. [8] Huitao Luo, Jonathan Yen, and Dan Tretter. An efcient automatic redeye detection and correction algorithm. icpr, 02:883886, 2004. [9] Phillip Ian Wilson and John Fernandez. Facial feature detection using haar classiers. J. Comput. Small Coll., 21(4):127133, 2006. [10] Zhaomin Zhu, Takashi Morimoto, Hidekazu Adachi, Osamu Kiriyama, Tetsushi Koide, and Hans Juergen Mattausch. Multi-view face detection and recognition using haar-like features. [11] W. Zhao, R. Chellappa, P. J. Phillips, and A. Rosenfeld. Face recognition: A literature survey. ACM Comput. Surv., 35(4):399458, 2003. [12] M. J. Donahue and S. I. Rokhlin. On the use of level curves in image analysis. CVGIP: Image Underst., 57(2):185203, 1993. 69

[13] Franklin C. Crow. Summed-area tables for texture mapping. In SIGGRAPH 84: Proceedings of the 11th annual conference on Computer graphics and interactive techniques, pages 207212, New York, NY, USA, 1984. ACM Press. [14] Rainer Lienhart and Jochen Maydt. An extended set of haar-like features for rapid object detection. In IEEE ICIP 2002, volume 1, pages 900903, September 2002. [15] P. Carbonetto. Robust object detection using boosted learning, 2002.

70

Das könnte Ihnen auch gefallen