Sie sind auf Seite 1von 85

UNIVERSIDADE SALVADOR UNIFACS

PROGRAMA DE PS-GRADUAO EM REDES DE COMPUTADORES


MESTRADO PROFISSIONALIZANTE EM REDES DE COMPUTADORES

POMPLIO JOS SILVA ARAJO JNIOR

UM SISTEMA DE DESCRIO DE CONTEXTO COM AGENTES DE RECONHECIMENTO DE FACE

Salvador 2005

POMPLIO JOS SILVA ARAJO JNIOR

UM SISTEMA DE DESCRIO DE CONTEXTO COM AGENTES DE RECONHECIMENTO DE FACE

Dissertao apresentada Universidade Salvador, como parte das exigncias do Curso de Mestrado Profissional em Redes de Computadores, rea de concentrao em Redes de Computadores, para obteno do ttulo de Mestre. Orientador: Prof. Dr. Celso Alberto Saibel Santos

Salvador 2005

O esforo dirigido a um objetivo tem sempre por prmio, com a consecuo daquilo a que se aspira, a satisfao que o triunfo proporciona. Atkinson , Thomas

AGRADECIMENTOS

Gostaria de agradecer a minha famlia, DELENDA, minha esposa e o pequeno ARTUR, pelo o apoio e incentivo durante todo tempo de estudo. Agradeo a meus pais, POMPILIO e DARCI, que propiciaram uma belssima educao voltada para o desenvolvimento profissional e pessoal.

Agradeo, imensamente, aos meus colegas e amigos de profisso GUSTAVO, ANDREI e ALEXANDRE pelo apoio e pacincia em destinar seu precioso tempo para ouvir e discutir questes relevantes realizao deste projeto.

Agradeo a todos que colaboraram com suas imagens, sem as quais no seria possvel a realizao dos testes de reconhecimento de faces.

Agradecimentos

especiais

ao

meu

professor

orientador,

pelos

conhecimentos compartilhados e pela compreenso e pacincia.

RESUMO

Arajo Jr., P. Um Sistema de Descrio de Contexto com Agentes de Reconhecimento de Face. 2005. Dissertao (Grau de Mestre em Cincias), Universidade Salvador, Salvador-Bahia. Grande quantidade de informaes udio-visuais est sendo digitalizada em arquivos digitais, na Web, em computadores pessoais e de empresas que s tende a aumentar com o decorrer do tempo. Na maioria das vezes, essas informaes perdem o valor devido dificuldade de serem acessadas, filtradas e organizadas. Em poucos anos o usurio ir se deparar com um enorme nmero de vdeos provenientes de muitas fontes que tornar invivel a seleo dos dados sem uma forma mais inteligente de procura. A padronizao MPEG-7 possibilita que as mdias sejam descritas e armazenadas de forma organizada, objetivando futuras consultas. Os estudos esto direcionados para melhorar as formas de converter as imagens e sons em descries no formato da norma. Partido desse princpio, este trabalho apresenta um modelo de sistema de descrio de contexto que flexibiliza o desenvolvimento de agentes especializados, permitindo a diviso da tarefa de descrio das mdias e possibilitando a especializao do sistema dentro da rea de interesse. Um grupo de agentes foi desenvolvido para descrio e reconhecimento de faces humanas, utilizando a fuso de algumas tcnicas de reconhecimento de padres j conhecidas. Palavras-chave: Reconhecimento de faces, descrio automtica de contedo, MPEG-7, Agentes.

ABSTRACT

Arajo Jr., P. A context description system with face recognition agents. 2005. Thesis (Degree of Master of Science), Universidade Salvador, Salvador-Bahia. A great amount of audio-visual information is being digitalized into digital files, on the Web, in personal and enterprise computers tend to increase with time. Sometimes, this information loses its value because of the difficulty to being accessed, filtered and organized. In a few years the user will face an enormous number of videos coming from several sources and that will make impracticable the data selection task, unless there is a more intelligent search engine. The MPEG-7 standardization makes possible media being described and stored in an organized manner, aiming future search queries. Present studies on this field are being directed to improve the way images and sounds are converted into norms description. Starting from this principle, this paper presents a context description system model that makes flexible the development of specialized agents, enabling the division of the task of media description and making possible systems specialization inside the field of interest. A group of agents was developed for description and recognition of human faces, using a fusion of some well-known standard recognition techniques. Keywords: Face recognition, automatic content description, MPEG-7, Agents.

LISTA DE FIGURAS
Figura 1 - Taxa de Verificao ..................................................................................14 Figura 2 - Resultado da verificao por ambientes ...................................................15 Figura 3 - Taxa de identificao ................................................................................16 Figura 4 - Taxa de deteco e identificao para falsa deteco de 1% ..................16 Figura 5 - Relacionamento dos objetos MPEG-7 ......................................................26 Figura 6 - Neurnio ...................................................................................................28 Figura 7 - Neurnio Artificial ......................................................................................30 Figura 8 - Rede neural com 4 camadas ....................................................................31 Figura 9 - Sistema de Descrio de Contexto ...........................................................37 Figura 10 - Diagrama de classes relacionais do MPP...............................................40 Figura 11 - Interface do MPP ....................................................................................42 Figura 12 - Inteface do Agente de Identificao de Cor ............................................45 Figura 13 - Descrio da cor na regio delimitada ....................................................46 Figura 14 - Enquadramento do rosto.........................................................................48 Figura 15 - Regio dos olhos ....................................................................................49 Figura 16 - Visualizao das regies de borda .........................................................49 Figura 17 - Mscara de procura ................................................................................50 Figura 18 - Dimenses da mscara de procura ........................................................50 Figura 19 - Diagrama de classes relacionais do Agente de Localizao de Faces...52 Figura 20 - Visualizao do resultado da procura .....................................................53 Figura 21 - Diagrama de classes relacionais do Agente de reconhecimento de face56 Figura 22 - Grfico de variao do peso ...................................................................57 Figura 23 - Rede neural ............................................................................................58 Figura 24 - Interface do Agente de Reconhecimento de Face ..................................59 Figura 25 - Localizao correta dos olhos.................................................................62 Figura 26 - Outra regio confundida com os olhos....................................................63 Figura 27 - Olhos identificados sem preciso............................................................63 Figura 28 - Grfico do resultado do teste de verificao ...........................................65 Figura 29 - Grfico do resultado do Teste de Identificao.......................................66 Figura 30 - Grfico do resultado do Teste de Procura em Lista ................................67 Figura 31 - Comparao com o FRVT2000 ..............................................................68

SUMRIO

1 INTRODUO .........................................................................................................9 1.1 TRABALHOS RELACIONADOS .........................................................................10 1.2 ESCOPO DO TRABALHO ..................................................................................11 1.3 OBJETIVOS ........................................................................................................11 1.4 MOTIVAO.......................................................................................................12 2 DESCRIO DE CONTEXTO E RECONHECIMENTO DE FACE........................19 2.1 AGENTES ...........................................................................................................19 2.2 DESCRIO DE CONTEXTO ............................................................................21 2.3 REDES NEURAIS ARTIFICIAIS .........................................................................27 2.4 IDENTIFICAO BIOMTRICA E RECONHECIMENTO DE FACE ..................32 3 SISTEMA DE DESCRIO DE CONTEXTO ........................................................36 3.1 AGENTES DESCRITORES ................................................................................43 3.2 COLOR IDENTIFY AGENT .................................................................................44 3.3 AGENTES DE RECONHECIMENTO DE FACES ...............................................46 3.3.1 Agente de localizao de face..........................................................................47 3.3.2 Agente de Reconhecimento de Face ...............................................................53 4 AVALIAO DO SISTEMA...................................................................................61 4.1 AVALIAO DO AGENTE LOCALIZAO DE FACE .......................................61 4.2 AVALIAO DO AGENTE LOCALIZAO DE FACE .......................................64 4.3 INCLUSO DO AGENTE DE IDENTIFICAO DE COR NO RECONHECIMENTO DA FACE ...............................................................................68 5 CONCLUSES ......................................................................................................70

REFERNCIAS..................................................................................................73

Captulo 1
1 INTRODUO
O crescimento rpido e a disseminao das aplicaes multimdia, aliados s novas tecnologias oriundas do processo de convergncia, tornam crescente a necessidade de criar novas formas de compactao e armazenamento das informaes multimdia. Alm disso, a evoluo computacional dos dispositivos e redes computacionais j permite que o usurio possa acessar as informaes de qualquer lugar e de varias formas. possvel definir infinitas situaes de possveis interaes do usurio com a aplicao. Isto significa que as formas clssicas de programao onde cada situao previamente definida, j no atendem completamente as exigncias do mercado.

Dentro deste cenrio, as questes que este trabalho tenta responder so:

Como implementar um sistema que permita o desenvolvimento de aplicaes de extrao de informaes de contexto da mdia e ao mesmo tempo flexibilizar a adio de novos algoritmos de aquisio?

10

Com o sistema apresentado possvel criar agentes de localizao e reconhecimento de faces que tenham resultados satisfatrios?

No decorrer do texto, sero mostradas as implementaes de alguns agentes descritores, dentre os quais esto agentes que juntos permitiro o reconhecimento do rosto humano a partir de caractersticas extradas da imagem que o representa. O esquema de reconhecimento est baseado numa fuso de mtodos estatsticos e de redes neurais utilizado para identificao das faces.

1.1 TRABALHOS RELACIONADOS


Entre os textos utilizados para produo desse trabalho destacam-se o de Luciene Marin e Jorge Barreto [21] do departamento de Informtica e Estatstica da Universidade Federal de Santa Catarina e o de Renato Correia Vieira e Mauro Roisenberg [28] do Laboratrio de Conexionismo e Cincias Cognitiva da Universidade Federal de Santa Catarina. O primeiro faz uma abordagem terica dos principais mtodos de reconhecimento de padres, mostrando os principais mtodos e abordagens usadas, porm no est direcionado a nenhuma implementao. O segundo discute alguns conceitos de redes neurais e faz uma anlise sobre aspectos prticos de implementao.

Outros textos tambm deram grande ajuda no desenvolvimento do trabalho, como exemplo pode ser apresentado o artigo RECONHECIMENTO DE RIS de Daniel Gomes, Matheus Moreira e Reinaldo Silva [12], que apresenta detalhes matemticos para o reconhecimento de padres. No poderia deixar de ser citado outro trabalho de Jorge Barreto sobre Redes Neurais e Artificiais que da um embasamento terico e prtico sobre as redes neurais.

11

1.2 ESCOPO DO TRABALHO


A quantidade de aplicaes que podem utilizar o resultado prtico da norma MPEG-7 muito grande, uma vez que fcil se imaginar a quantidade de dados multimdias j armazenados e sem nenhuma indexao. Atravs da abordagem proposta, diferentes agentes podem ser desenvolvidos para a descrio do contedo de vdeos sem ou com a interao humana. Isto permite definir uma arquitetura extensvel baseada em agentes e voltada descrio de caractersticas dos vdeos.

No projeto e implementao dos agentes de reconhecimento de faces, foram realizados vrios experimentos com objetivo de viabilizar a escolha correta das caractersticas das faces a serem procuradas. Os mtodos foram aprimorados na medida em que os resultados satisfatrios foram sendo obtidos.

Nas implementaes foram utilizados os princpios de Engenharia de Software, fazendo uma estruturao adequada para viabilizar estudos posteriores na rea. Uma maior nfase foi dada capacidade de composio do sistema com componentes elementares e agrupando-os a fim de compor mdulos maiores (bottom-up) [1].

1.3 OBJETIVOS
O objetivo principal da dissertao apresentar e implementar um modelo de sistema de aquisio de informaes sobre um contedo multimdia, tendo uma arquitetura desenvolvida para permitir flexibilidade no desenvolvimento de agentes especializados em algum tipo de descrio.

12

Como objetivo secundrio, o trabalho apresenta uma implementao da arquitetura proposta com a utilizao de dois agentes especializados na localizao e reconhecimento da face humana. O primeiro agente procura as coordenadas dos olhos humano na imagem como ponto de partida para o detalhamento das caractersticas do rosto. Esses dados so passados para o segundo agente que identifica o rosto a partir de dados armazenados anteriormente. Um terceiro agente extrai caracterstica de cor da pele e dos olhos para auxiliar na identificao da face.

1.4 MOTIVAO
Os mtodos de identificao biomtrica sempre foram muito importantes dentro da sociedade, as pessoas precisam carregar consigo documento que as identifique. O primeiro mtodo que teve sucesso foi a leitura das impresses digitais. Atualmente, mtodos mais sofisticados esto surgindo para garantir o mnimo de erro no processo de identificao. Um sistema biomtrico um sistema de reconhecimento de padres que estabelece a autenticidade de uma caracterstica fisiolgica ou comportamental possuda por uma pessoa [11].

Sistemas de reconhecimento utilizam a premissa de que no existem pessoas completamente idnticas. Um mtodo muito eficaz o mapeamento das ris dos olhos humanos, porm aspectos prticos restringem sua utilizao, um deles a necessidade de ter uma imagem de boa definio e feita a menos de um metro do olho [12].

O sistema de reconhecimento de face o de maior pesquisa atualmente devido a sua simplicidade e quantidade de aplicaes. Segundo Marin e Barreto [21]

13

um sistema de reconhecimento de face um sistema biomtrico que identifica ou verifica seres humanos atravs de uma caracterstica exclusivamente da face.

Existem dois problemas bsicos de um sistema de reconhecimento de face: a identificao e a verificao. Na identificao, dada uma pessoa a ser investigada e uma galeria de faces, a tarefa identificar a classe correta da face investigada. Na verificao, dado um conjunto de faces e uma face declarada com sendo de uma classe, deseja se verificar a autenticidade da declarao.

Os mais importantes estudos sobre reconhecimento de face do mundo esto presentes no Face Recognition Vendor Test (FRVT), um evento que acontece periodicamente patrocinado pelo governo norte americano atravs do departamento de defesa e combate as drogas dos Estados Unidos. O ltimo FRVT aconteceu em 2002 e o prximo ser em outubro de 2005. O objetivo do FRVT reunir os maiores fabricantes de software para realizar testes de performances em sistemas de reconhecimento de face. Em 2002, dez participantes foram ao encontro. Os sistemas so testados utilizando um banco de dados com 121.589 imagens de 37.437 pessoas diferentes [13]. Os testes foram feitos em trs etapas:

i. Verificao: Eu sou quem digo ser?

ii. Identificao: Quem eu sou?

iii. Procura em lista: Voc pode procurar por mim?

O resultado para o teste de verificao com a taxa de falso alarme de 0,1% foi cerca de 80% de acerto em mdia para os trs melhores softwares.

14

Considerando 1% e 10% de falso alarme o resultado foi de 90% e 96% respectivamente de acerto em mdia (figura 1).

Figura 1 - Taxa de Verificao

Foi considerado em um banco de dados com 37.437 indivduos, considerando que as imagens de um mesmo indivduo foram tiradas no mesmo dia.

Testes tambm foram realizados para verificar a robustez dos sistemas com outras variantes como:

i. Ambiente fechado considerando o mesmo dia

ii. Ambiente fechado considerando o mesmo dia com iluminao diferente

iii. Ambientes iluminao

fechado

considerando

dias

diferentes

com

mesma

iv. Ambientes fechado considerando dias diferentes com iluminao diferente

15

v. Ambientes abertos considerando o mesmo dia

Nesse caso, os resultados forma o mostrado da figura a seguir.

Figura 2 - Resultado da verificao por ambientes

O teste de identificao do FVRT 2002 tambm considera uma base de dados de 37.437 de indivduos. A identificao considera que uma imagem sem identificao apresentada ao sistema que responde com a identificao correta. Testes adicionais foram feitos considerando a respostas do sistema com mais de uma possibilidade de identificao, ou seja, para a imagem de uma pessoa o sistema apresenta n possibilidade para sua identificao. Ser considerada aceita se a identificao correta estiver entre as n possibilidades. Os testes foram realizados para n = 1,10 e 50.

16

Figura 3 - Taxa de identificao

Alm da verificao e identificao j comentadas anteriormente, a procura em lista a identificao utilizando um tamanho de listas de imagens diferentes, ou seja, o sistema ir identificar uma pessoa em listas de diferentes tamanhos. Neste caso, o sistema deve dizer se o indivduo est na lista e identificlo, ou informar que aquela pessoa no pertence lista. Caso uma pessoa seja identificada incorretamente acontece um falso alarme. O Tamanho da lista variou de 25 a 3.000 imagens.

Figura 4 - Taxa de deteco e identificao para falsa deteco de 1%

17

Os participantes apresentam seu sistema e descrevem os mtodos de reconhecimento de face. Algumas caractersticas importantes aparecem em todos os sistemas:

i. Existem etapas de procura da face dentro da imagem, de comparao e de deciso.

ii. Na localizao da face necessrio procurar pontos de referncias como olhos, boca, nariz, etc.

iii. Existem normalizaes a serem introduzidas para minimizar efeitos externos com iluminao, contraste, brilho, etc.

Os mais bem colocados utilizam mtodos estatsticos e de redes neurais para a comparao e adaptao do sistema. As tcnicas estatsticas so utilizadas tanto na extrao de caractersticas com na tarefa de classificao. As abordagens mais utilizadas so: Mtodos de correlao; Mtodos de decomposio de valor singular; Mtodos de baseados em expanso de Karhune-Loeve; Mtodos baseados em discriminao linear de Fisher; Mtodos baseados em modelo de Makrov escondido.

O mtodo de correlao tenta casar a imagem procurada com o conjunto de imagens de treinamento. um mtodo muito custoso, pois h a necessidade de comparao das imagens uma a uma. Na abordagem de Karhunen-Loeve, extraemse caractersticas especificas da face so extradas pela projeo da face em um

18

sistema de coordenadas dadas por autovetores da matriz covarincia do conjunto de imagens de uma mesma pessoa. A comparao entre duas faces dada pela distncia euclidiana dos pontos no sistema de coordenadas [14].

O mtodo de discriminao linear Fisherface a uma reduo da dimensionalidade do espao de caractersticas pelo uso do discriminante linear de Fisher, que usa informaes de um grupo de classes e cria um conjunto de vetores com os parmetros referentes face so enfatizadas e as caractersticas de iluminao, expresses faciais so amenizadas [15]. O mtodo baseado no modelo de Markov escondido feito a partir de dois processos inter relacionados, uma cadeia de Markov secreta no observvel com finitos nmeros de estados, uma matriz de probabilidade de transio de estado e uma distribuio de probabilidade de estado inicial e um conjunto de funes de densidade de probabilidade associado a cada estado [16].

Captulo 2
2 DESCRIO DE CONTEXTO E RECONHECIMENTO DE FACE
Este captulo concentra-se em dar um embasamento terico sobre agentes, o padro de descrio de contexto MPEG-7, as redes neurais artificiais e os mtodos de descries biomtricas e reconhecimento de face.

2.1 AGENTES
Os agentes ainda no possuem uma definio aceita universalmente. Muitos autores conceituam de diversas ticas de acordo com seus trabalhos. Resende [29] faz uma definio mais abrangente dizendo que um agente uma entidade capaz de agir em um ambiente, de se comunicar com outros agentes, possuindo recurso prprios, movido por um conjunto de inclinaes, capaz de perceber seu ambiente, que pode dispor de uma representao parcial deste ambiente, podendo eventualmente se reproduzir e cujo comportamento tende a atingir seus objetivos utilizando as competncias e recursos que dispe e levando em conta os resultados de suas funes de percepes e comunicao, bem como as suas representaes internas.

20

Algumas caractersticas so consideradas por todos como essenciais para representar um agente:

Autonomia de deciso execuo sobre suas atitudes, criando e selecionando as alternativas para atingir seus objetivos. No sistema de descrio de contexto (SDC) apresentado nesse trabalho os agentes tero autonomia para enviar ou no as descries, dependendo do contedo da mdia que o ambiente apresentar.

Competncia para decidir o que escopo do seu trabalho, verificando se ele o mais habilitado para resolver o problema, sem a interferncia externa. No SDC os agentes sero habilitados para funes especficas, sabendo bem claramente que tipo de ambiente poder ser descrito por ele.

Existncia de uma agenda prpria necessria para definir metas a serem alcanadas com um objetivo nico. Os agentes do SDC se organizam para descrever uma mdia sob sua tica quando percebe as alteraes no ambiente. Nesse momento, os passos a serem seguidos so traados e executados.

Segundo WEISS [30], os agentes podem ter caracterstica de reatividade quando possuem habilidades de perceber seu ambiente e responder s mudanas, de modo a atender aos seus objetivos; de pr-atividade quando capaz de apresentar um comportamento orientado a metas, tomando iniciativa para atingir

21

seus objetivos; e habilidade social para interagir com outros agentes para alcanar seus objetivos.

A descrio apresentada por Licia Barbosa [31] sobre o funcionamento dos agentes reativos caracteriza muito bem os agentes do SDC.

O funcionamento de um agente reativo segue o modelo estmulo-resposta, no qual as aes so tomadas sem nenhuma referncia histrica ao passado e nem previso futura, baseando-se apenas na percepo do ambiente e respondendo adequadamente s mudanas nele ocorridas. Os agentes do SDC so essencialmente reativos, pois sente as alteraes no ambiente, caracterizadas pela mdia a ser descrita, e decide suas tarefas com a finalidade de descrev-la. Porm apresenta a habilidade social quando se comunica com outros agentes e a pr-atividade quando define os passos a serem tomados ao perceber alteraes no sistema. Alm disso, os agentes do SDC podem utilizar informaes passadas e previses futuras em suas descries.

2.2 DESCRIO DE CONTEXTO


As descries realizadas pelo Sistema de Descrio de Contexto apresentado sero feitas seguindo as orientaes da norma MPEG-7 [2][5]. A definio do MPEG-7 iniciou-se partir de 1996, um padro ISO/IEC desenvolvido pelo Moving Picture Experts Group, que tambm desenvolveu os padres MPEG-1 em 1992, o MPEG-2 em 1994 e o MPEG-4 em 1999 [3], todos focados em codificao, distribuio e armazenamento de vdeo digital. Os padres MPEG-1 e MPEG-2 propiciaram o desenvolvimento de produtos como o Vdeo CD, MP3, e outros aplicativos e servios associados a contedos multimdia. O MPEG-4, o mais

22

recente padro da famlia, inclui o suporte a representao baseada em objetos. Este tipo de representao permite que os objetos que compem a aplicao sejam codificados usando diferentes resolues espaciais e temporais, permitindo maior adaptabilidade do contedo a diferentes formas de acesso ao contedo (a resoluo do objeto pode ser ajustada para se adequar capacidade do meio de transporte das informaes e banda pode ser alocada para os objetos mais importantes).

O padro MPEG-7 pode ser definido como uma interface para descrio de contedos multimdia (Multimedia Content Description Interface) disponibilizando um conjunto de ferramentas para a descrio de contedo multimdia. Tanto sistemas que atuam com usurios humanos como os automatizados por meio de processamento computacional esto no escopo do padro.

At meados de 2004, algumas alteraes na norma MPEG-7 foram solicitadas, apesar dela j est praticamente definida. Logo depois da apresentao dos primeiros rascunhos da norma, estudos foram iniciados para permitir implementaes de sistemas de descries de contexto. Algumas ferramentas j foram disponibilizadas e at comercializadas, todas com o objetivo de auxiliar o usurio a extrair informaes de contexto da mdia. Entretanto, poucas destas ferramentas permitem a coleta automtica destas informaes. Os dados udiosvisuais que se aplicam ao MPEG-7 so as imagens estticas, grficos, textos, udios, vdeos e composies desses elementos formando uma apresentao multimdia. A descrio no depende da maneira com que os dados so estocados ou codificados. MPEG-7 possui diferentes granularidades que permite diferentes nveis de descrio. Alm disso, a descrio depende da aplicao e do usurio, ou seja, um mesmo contedo multimdia pode ter diferentes descries, dependendo da

23

viso dos descritores. O nvel de abstrao est relacionado com a maneira com que as informaes so extradas. fcil extrair informaes de baixo nvel de forma automtica, mas dados de alto nvel necessitam sistemas mais sofisticados ou de interao humana.

conjunto

de

ferramentas

de

descrio

(Description

Tools),

representados por elementos com metadados, suas estruturas e relacionamentos, so definidos em forma de descritores (Descriptors) e esquemas de descrio (Description Schemes) para criar descritivos que sero utilizados por aplicativos com funes para pesquisar, filtrar e navegar de forma eficiente em contedos multimdia [4].

Com Description Tools possvel descrever as cenas independentemente de como o contedo codificado ou armazenado. Qualquer tipo de mdia pode ser descrito. Quando um usurio humano participa do processo de descrio, os contedos podem depender de fatores externos e podem ser diferentes para a mesma cena, a depender do usurio, da poca, etc.

Dentro de uma apresentao multimdia existem informaes que so inerentes ao contedo como taxa de transmisso, tipo de mdia, tamanho da tela, nmero de canais de udio, etc, que so importantes para qualificar os dados disponveis para o cliente. Porm essas informaes so de fcil aquisio. A grande dificuldade adquirir informaes de alto nvel, como um tipo de paisagem ou se uma pessoa esta danando ou jogando futebol. O propsito do padro MPEG7 definir um conjunto de mtodos e ferramentas que permita o acesso pelas mais variadas aplicaes nos mais diversos ambientes, neste caso, existe a necessidade

24

de se utilizar um modelo flexvel e com possibilidades de extenses. Para atender este requisito o XML foi utilizado como linguagem para representao textual da descrio de contedo. O XML Schema a base para o DDL (Description Definition Language) [6], usado para a definio sinttica das ferramentas de descrio (Descriptions Tools).

Os principais elementos da norma MPEG-7 so:

Descriptors (D), que define a sintaxe e semntica de cada elemento metadado.

Description Schemes (DS), que especifica a estrutura e semntica dos relacionamentos entre seus componentes que pode ser Descriptors ou outro Description Schemes;

Description Definition Language (DDL) para definir a sintaxe da ferramenta de descrio que permite criar um novo Description Schemes e Descriptor;

Ferramentas de sistema que permite o suporte ao formato binrio para uma estocagem e/ou transmisso eficiente.

O conjunto de DS denominado no padro MPEG-7 de Multimedia Description Schemes (MDS). As Description Tools permitem criar descries do contedo com informaes sobre: Criao e produo do contedo (diretor, ttulo, etc); informaes relacionadas utilizao do contedo; armazenamento do contedo (formato, codificador); estruturao do contedo no tempo e espao

25

(cortes na cena, seguimentos); informaes de baixo nvel (cor, textura, definio); como procurar o contedo de (sumrio, ndices, etc.); coleo de objetos; possibilidades de interao com o usurio; formato (indica o tipo de codificao utilizado para o arquivo, ex. JPEG, AVI, que auxilia na determinao de como o material ser apresentado pelo terminal do usurio); condies para acesso ao material: o que inclui links para registros com informaes sobre propriedade intelectual, direito-autoral e preo; classificao (qualificao) do contedo em categorias pr-definidas; links para outros materiais considerados relevantes (esta informao pode oferecer outros recursos relacionados ao tema pesquisado o Contexto, que no caso de material no ficcional, importante se reconhecer a data da gravao).

A Description Definition Language (DDL) define a sintaxe das Description Tools e permite a criao de novos DS, permitindo a modificao dos DS existentes. A DDL baseada no XML Schema. Em razo do XML Schema no ter sido designado especificamente para descrio de contedos audiovisuais, foram adicionadas algumas extenses, desse modo a DDL ficou dividida nos seguintes componentes:

O XML Schema estrutura da linguagem

O XML Schema definio dos tipos de dados

Extenses especficas para o padro MPEG-7

As descries geradas por uma ferramenta MPEG-7 sero associadas ao contedo de forma a permitir uma eficiente procura e filtro dos dados de interesse do

26

usurio. Os dados descritivos podem ser alocados no mesmo stream ou gravados no mesmo arquivo, mas tambm podem ficar em outro local. Quando alocados diferentemente, mecanismo de associao deve ser criado para permitir o rpido acesso nos dois sentidos.

O MPEG-7 define vrias formas de descrio que pode ser feita on-line ou off-line, por streams, e em tempo real (descrio no momento da captura das imagens e/ou udios) ou no.

O padro no especifica interoperabilidade entre aplicativos e no define formas de anlise e algoritmos de extrao, pois o grupo acredita que a todo o momento podem surgir novos estudos e resultado permitindo que a competio industrial trouxesse timos resultados.

Figura 5 - Relacionamento dos objetos MPEG-7

27

A DLL possui a definio das ferramentas de descrio do MPEG-7, e tambm possui a extenso que pode especificar uma aplicao externa. Depois da descrio pronta no formato XML, pode existir uma etapa de codificao binria (BiM) [7].

Em sistemas baseados em MPEG-7, a descrio dos contedos pode ser feita de forma manual ou automtica, gerando seqncia de dados que podem ser armazenados ou enviados aos repositrios automaticamente atravs de streams. Uma aplicao de usurio pode realizar consultas em um banco de descries e navegar nas informaes da apresentao. Neste cenrio as informaes podem ser estocadas em formato de texto ou binrias.

Nesse trabalho, foi utilizado o MPEG-7 para as descries das mdias, os agentes analisam as imagens e sons e enviam o resultado atravs da codificao apresentada. Os agentes devem ter completa noo da norma, pois a forma de resposta a uma solicitao de descrio deve ser realizada no formato MPEG-7. Como ser visto no prximo captulo, o mdulo principal do sistema no far qualquer descrio, somente ir formatar os dados recebidos pelos agentes. Isso significa que outros formatos diferentes de descrio de contexto podem ser utilizados, desde que todos os agentes passem a responder com o novo formato.

2.3 REDES NEURAIS ARTIFICIAIS


Foram utilizados alguns conceitos das Redes Neurais Artificiais para o reconhecimento de faces. Os conceitos biolgicos so importantes para o entendimentos das RNAs. O neurnio serviu como inspirao para a criao das RNAs, ele tem um corpo celular chamado soma e diversas ramificaes conhecidas

28

como dendritos, que conduzem sinais das extremidades para o corpo celular. Existe uma ramificao chamada axnio, que transmite um sinal do corpo celular para suas extremidades. Na maioria dos casos um axnio conectado a dendritos de outro neurnio pelas sinapses [8][9].

As sinapses tm a funo de memorizar as informaes. medida que uma sinpse estimulada e consegue ativar outro neurnio o nmero de neurotransmissores liberados aumenta na prxima vez que o neurnio for ativado. Isso significa um aumento da conexo entre os dois neurnios. Dessa forma a rede vai se fortalecendo sempre que a situao que inicia o estmulo acontece.

Figura 6 - Neurnio

Apesar de servir como inspirao, as redes neurais naturais so diferentes as RNAs de hoje. O modelo geral do neurnio artificial (figura 7) tem as entradas wi*ui combinadas usando uma funo f. Utilizando um vetor de referncia o e a funo de sada g, obtm-se o estado y de ativado ou no ativado.

29

Em [11] Hernandez apresenta uma sntese histrica que posiciona os estudos atual:

Dcada de 40: McCulloc e Pitts [10] apresentam uma proposta para a descrio matemtica com base nas estruturas neurais biolgicas.

Dcada de 50: A IBM apresenta um modelo de redes neurais na 1 Conferncia Internacional de Inteligncia Artificial em 1956. Em 1959, foi demonstrada a rede adaptativa Adaline, que pode ser vista como um modelo linear dos principais mecanismos de processamento de informao e adaptao presentes no neurnio biolgico.

Dcada de 60: Rosenblat apresenta um modelo neural no linear e adaptativo que permite expressar os processamentos representados no modelo de McCulloc e Pitts e mostra um algoritmo de treinamento eficaz. Marvin Minsky e Seymour Papert publicaram um livro chamado Perceptrons, em que vrios aspectos tericos e limitaes do Perceptron de Rosenblat so formalizados e estudados.

Dcada de 80: John Hopfield apresentou um sistema neural artificial capaz de armazenar nas interconexes entre os neurnios informaes complexas, como imagens por exemplo. A primeira conferncia Estados Unidos-Japo sobre redes neurais realizou-se na cidade de Kioto.

Dcada de 90: 1 congresso de Redes Neurais no Brasil.

30

Atualmente, os principais congressos brasileiros e internacionais so: Congresso Brasileiro de Redes Neurais, Simpsio Brasileiro de Redes Neurais, International Joint Conference on Neural Networks e o International Conference on Artificial Neural Networks.

Para a formao da rede, os neurnios so ligados por conexes, chamadas de conexes sinpticas. Os neurnios que recebem excitaes externas so chamados neurnios de entrada e correspondem a camada de conexo aos sensores do sistema. Os neurnios que tm suas respostas usadas para alterar o mundo exterior so chamados neurnios de sada. Os outros neurnios que no so nem de entrada nem de sada so conhecidos como neurnios internos.

Figura 7 - Neurnio Artificial

O fato de poder aprender com as situaes passadas que faz das RNA serem diferentes dos sistemas convencionais. Retropropago ou Backpropagation a regra de aprendizado mais utilizada. Nesse caso, a partir do resultado positivo ou negativo de um estmulo, calcula-se o gradiente do erro com relao aos valores sinpticos da camada de sada. Os valores dos coeficientes wi so corrigidos pendo-

31

se ento calcular o erro da penltima camada, e assim por diante, at a camada de entrada.

Figura 8 - Rede neural com 4 camadas

O trabalho de Minsky & Papert [10] constituiu o primeiro estudo sobre a complexidade dos problemas que as RNAs podem resolver. Foi mostrado que uma RNA sem camadas internas no podem resolver problemas linearmente no separveis.

O bom resultado do reconhecimento de face depende de como as informaes so apresentadas rede neural. Um processamento anterior faz-se necessrio para que as informaes relevantes para a identificao sejam acentuadas. Algumas restries devem ser consideradas: o grau de liberdade do sistema que est relacionado com o nmero de conexes da rede, e o nmero do conjunto de treinamento. Segundo [17], aconselhvel que o tamanho do conjunto de treinamento do conjunto de dados exceda ao nmero de conexes. O aumento do nmero de camadas de entrada e o nmero de exemplos de treinamento ajudam

32

a capacidade de generalizao da rede neural, porm isso pode afetar o comportamento de convergncia da rede.

2.4 IDENTIFICAO BIOMTRICA E RECONHECIMENTO DE FACE


Segundo [19], a biometria o ramo da cincia que estuda a mensurao dos seres vivos atravs de suas caractersticas. Em relao a tecnologia da informao a biometria est ligada principalmente segurana na identificao de pessoas. FERREIRA [20] separa as caractersticas biomtricas com sendo fisiolgica (como impresso digital ou caractersticas faciais) ou comportamental (como assinaturas manuscritas ou amostra de voz). Alguns sistemas j so considerados suficientemente seguros para dispensar a necessidade de login e senha.

No sistema de reconhecimento de face que ser apresentado, assim como todos os sistemas estudados, a autenticao biomtrica envolve duas fases: A inicial que corresponde ao registro da pessoa no sistema atravs de repasse das suas caractersticas. Nessa fase as caractersticas so gravadas no sistema para que seja posteriormente comparada com um indivduo sem identificao. A segunda face a comparao da pessoa que tenta acessar o sistema com o banco de dados de caractersticas. Dificilmente a coincidncia ser perfeita, cabe ao sistema definir margem de tolerncia que permitam a identificao com o mnimo de erro.

Os sistemas podem ser utilizados para identificao (Um-Para-Um) ou para verificao (Um-Para-Muitos) [20]. Na verificao um indivduo apresenta uma identidade e o sistema faz uma autenticao, nesse caso necessrio uma preciso maior, normalmente encontrada em sistemas de reconhecimento de ris ou retina.

33

Na identificao, o reconhecimento realizado quando se faz uma busca no banco de dados, comparando as informaes at que se encontre um registro idntico, com uma margem de erro inclusa.

Uma das abordagens para a identificao biomtrica o reconhecimento atravs de casamento de modelos, utilizando uma operao genrica que compara duas entidades do mesmo tipo. A imagem a ser reconhecida comparada com um modelo armazenado, considerando todas as variaes possveis da imagem [21]. A mtrica utilizada normalmente a correlao ou uma funo da distncia. Fica claro que esse mtodo exige disponibilidade de muito recurso computacional, porm pode ser facilmente viabilizado considerando os recursos atuais [22].

O casamento feito atravs do clculo da distncia mnima pode ser feito atravs da distncia Euclidiana. Seja x = (x1, x2, x3, xn) um vetor de dimenso n que submetido ao sistema, e W = (w1, w2, w3, wm) um conjunto de vetores que representa classes de padres armazenados. Calcula-se ento a distncia euclidiana do vetor x com todos os vetores de W, e escolhe-se a menor distncia.

Para o casamento feito por correlao, utiliza-se o conceito descrito por GONZALEZ [23], que se baseia na procura de uma sub imagem W de dimenso J x K dentro de uma imagem F de tamanho maior M x N. O ponto de correlao calculado como:

34

Um problema que pode deixar esse mtodo invivel a variao de amplitude da imagem dentro da imagem F. Nesse caso, utiliza-se o coeficiente de correlao, definido como:

A utilizao do coeficiente de correlao diminui o erro por variao de amplitude, porm a eliminao completa do erro se torna muito difcil e custoso. Alguns pesquisadores usam o mtodo de correlao: CHOI [24] utiliza para determinar a presena de uma imagem ou objeto dentro de uma cena; CONNELL [25] faz reconhecimento de caracteres e BOLLE [26] faz uma anlise do mtodo de casamento de modelos no reconhecimento de pessoas.

A abordagem estatstica faz uso de dados passados para aprimorar a deciso no momento da identificao do padro correto. H a necessidade de uma fase de treinamento do sistema, quando dados so inseridos antes do uso efetivo.

Para o reconhecimento de face, os mtodos mais usados so os baseados em expanso Karhunen-Loeve [27]. A anlise feita com a extrao de alguns parmetros da face usados para sua representao. Os parmetros so obtidos pela projeo em um sistema de coordenadas obtido pela matriz covarincia dos vetores de treinamento. A comparao feita pelo clculo da distncia Euclidiana entre suas representaes.

35

Nesse trabalho foram utilizadas todas as tcnicas j discutidas. Para a localizao inicial da face, foram utilizados mtodos de correlao para encontrar os olhos como ponto de partida. Uma rede neural de duas camadas utilizada com o nmero de neurnios igual ao nmero de faces armazenadas. Mtodos estatsticos so usados na etapa de clculos dos coeficientes da rede que so modificados na fase de treinamento. O clculo leva em conta a ordem cronolgica do treinamento, dando um peso maior para as imagens mais recentes de uma mesma face.

Captulo 3
3 SISTEMA DE DESCRIO DE CONTEXTO
Conforme apresentado anteriormente, o objetivo deste trabalho propor um sistema para a descrio automtica de contexto baseado nas caractersticas do contedo do vdeo. A proposta um sistema com infra-estrutura para criao de subprogramas especializados (Agentes Descritores AD), que sero conectados ao Mdulo Principal de Processamento (MPP) e podero assistir a apresentaes multimdias e descrever as cenas dentro de sua tica. O resultado final uma descrio no formato MPEG-7, contendo a reunio das informaes coletada por todos os agentes, sendo mais completas quanto for o nmero de AD e de suas habilidades.

No diagrama a seguir representa o Sistema de Descrio de Contexto SDC:

37

Figura 9 - Sistema de Descrio de Contexto

O SDC formado pelo Mdulo Principal de Processamento (MPP) e pelos Agentes Descritores (AD). O MPP responsvel pela criao do ambiente de descrio para os AD, sincronizando e controlando as mdias. Quatro sub-mdulos fazem parte do MPP:

Processador e Sincronizador (PS) responsvel pela lgica do sistema, bem como o controle e sincronismo do sistema. formado principalmente pela classe cMPP (figura 10).

Interface de Entrada (IE) responsvel pela aquisio das mdias. A aquisio pode ser feita atravs da leitura de arquivos de vdeo, imagens e som ou atravs de um driver de captura. Esse sub-mdulo utiliza a classe cAcesso.

38

Interface de Sada (IS) responsvel pela formatao dos dados recebidos do PS e pela criao da mensagem de sada no formato MPEG-7. A classe cAcesso implementa as funes do IS.

Controlador de Agentes (CA) responsvel pelo controle dos agentes e faz a interface com o PS. O CA cria Agentes Internos (AI) para cada Agente Descritor com objetivo de unificar a forma de comunicao, ou seja, quando o CA encontra um AD, ele cria um instncia da classe cAgente responsvel por representar internamente o AD. A classe cAgentController implementa o CA e a classe cAgent implementa o AI.

Os Agentes Descritores so compilados separadamente e podem ser adicionados ao sistema em tempos de execuo. Os ADs sero detalhados no item 3.1.

O processo de descrio inicia-se com a leitura de uma mdia atravs do sub-mdulo IE que repassa ao PS. A mdia enviada de forma sincronizada aos Agentes Descritores atravs o Controlador de Agentes. Os AD fazem a anlise e emite suas descries. Para a anlise os Agentes Descritores podem,

eventualmente, se comunicar com outros AD.

O Controlado de Agentes realiza a procura por agentes quando o programa iniciado ou quando o diretrio de agentes configurado no sistema alterado. A rotina inicial valida e verifica o formato do agente (.Net, COM, Java, etc). Os Agentes Internos so criados a partir da classe cAgent para atribuir aos Agentes

39

Descritores uma instncia correspondente a cada um deles existente no diretrio. Essa classe possui os principais mtodos dos agentes.

A classe do CA, chamada cAgentController, faz a validao dos agentes verificando a existncia dos mtodos obrigatrios. Em uma segunda etapa para iniciar a utilizao dos agentes, o CA verifica a interdependncia entre os agentes e faz o repasse dos ponteiros para que eles possam se comunicar. A comunicao entre os agentes importante para permitir a diviso de tarefas e a reutilizao das funes realizadas por eles.

A classe cAgente tem a principal funo de fazer a interface entre os agentes e o Mdulo de Processamento Principal. Os seus mtodos so:

Public Public Public Public Public Public Public Public Public Public Public Public

Property InterfaceType() As String Property Name() As String Property Type() As String Property Description() As String Property Author() As String Property Version() As String Property Information() As String Property Obj() As Object Property Enabled() As Boolean Property DependentAgent() As String() Sub Config() Sub setDependentAgent(ByVal obj As Object)

Para varrer um arquivo multimdia, um objeto timer instanciado para chamar a rotina TimerScanFile_Elapsed() em espaos de tempo predefinido. Quando um arquivo aberto, os frames so separados e enviados aos agentes de forma seqencial atravs dessas rotinas.

Para o caso da varredura atravs do driver de captura, outro objeto timer instanciado para chamar a rotina TimerScanFile_Elapsed(), tambm em espaos

40

de tempo predefinido, porm os frames que so enviado para os agentes so somente aqueles que estiver disponvel no momento da coleta, causando a perda de alguns quadros devido ao tempo de leitura dos agentes.

O diagrama a seguir mostra o relacionamento, os principais mtodos e propriedades das classes do MPP.

Figura 10 - Diagrama de classes relacionais do MPP

A cMPP a principal entre as classes da camada de negcio, ela responsvel pela parte lgica do mdulo e pela comunicao entre os objetos das camadas de interface e acesso a dados.

41

Alm das classes mostradas no diagrama, outras classes foram criadas e compiladas independentes do projeto, elas realizam funes indiretas, mas que so importantes para o funcionamento do sistema. Uma dessas classes a cBitBlt compilada no arquivo AVImetodos.dll que possui mtodos de manipulao de imagens. A funo mais importante dessa classe a getFrameVetor() usada para transformar a imagem que capturada atravs do objeto BITMAP do .NET para um vetor de duas dimenses contendo as corres dos pixels. Essa transformao necessria para garantir que todos os agentes podero ler as imagens, independente da tecnologia de software usada. Outra classe importante a AVICAP, compilada no arquivo comAVICAP.dll, usada para controlar os drivers de captura de vdeo.

Foi criada uma classe chamada cAVIFrameExtract que responsvel pela leitura e manipulao dos frames do arquivo. Quando solicitado o objeto repassa o handle do frame ao sistema que renderiza o quadro e o transforma em vetor, repassado aos agentes. Da mesma forma uma seqncia de bits enviada para os agentes contendo as amostras de udio. Na interface principal do sistema possvel visualizar o frame que est sendo varrido no momento, os agentes disponveis e o resultado da discrio no formato XML.

42

Figura 11 - Interface do MPP

medida que os agentes respondem com as descries, os dados so reunidos e disponibilizados pra a interface de sada atravs da classe frmMain j no formato MPEG-7, podendo ser transmitidos ou arquivados. As respostas dos agentes so descries no formato texto contendo dados referentes ao tempo, regio, tipo de descrio, etc.

Como descrito anteriormente, a distribuio dos frames para os agentes ocorre de forma seqencial, limitando o tempo de acesso para cada agente. Em uma tentativa da utilizao de threads paralelos ocorreram vrios erros de sincronizao, principalmente quando os agentes se comunicam com outros. Um estudo futuro

43

poder viabilizar um processamento paralelo, permitindo melhorar o tempo de resposta dos agentes.

3.1 AGENTES DESCRITORES


Os agentes descritores so subprogramas compilados em arquivos separados utilizando a tecnologia .Net e ActiveX1 da Microsoft, contendo os

mtodos e funes para anlise das mdias. Os agentes devem implementar os seguintes mtodos:

getName() Retorna o nome do agente

getType() Retorna o tipo de agente (Vdeo, udio ou os dois)

getDescription() Retorna um a breve descrio de suas funes

getAuthor() Retorna o autor do agente

getVersion() Retorna a verso do agente

getInformation() Retorna informaes do estado do agente durante a descrio

Config() Permite a configurao do agente

Load_Frame(vColor As Integer(,), frameNumber As Long, FrameCount As Long) Realiza anlise do frame e retorna a descrio

Tecnologia de componentizao que implementa o Common Object Model (Nota 3).

44

descrio

Load_Audio Realiza a anlise da amostra de udio e retorna a

Para a criao e um Agente Descritor que funcione corretamente, basta a criao de uma DLL implementando esses mtodos e deposit-la no diretrio de agentes com a exteno .ag.

Nos agentes implementados, outros mtodos foram introduzidos, porm so especficos de cada agente descritor. Os agentes implementados foram:

Color Identify Agent (comAgColorIdentify) - identificador de cores em regies definidas do frame;

Grupos de agentes de reconhecimento de faces

Face Loalizator Agent posiciona a face no frame e repassa o Face Calculator Agent.

Face Calculator Agent realiza funes de identificao da face e armazenamento de dados referentes as faces reconhecidas.

3.2 COLOR IDENTIFY AGENT


O Agente de identificao de cor relativamente simples. O objetivo identificar cores pr-selecionadas pelo usurio atravs da interface de configurao. Havendo a cor na regio indicada, a descrio repassada para o MPP. No formulrio de configurao possvel cadastra uma lista de cores a serem identificadas, bem como a regio para a procura de cada item.

45

Figura 12 - Inteface do Agente de Identificao de Cor

Para a identificao da cor, obtm-se os valores das mdias dos valores de RGB:

A implementao do procedimento Load_Frame pode ser encontrada no Anexo C.

Como resultado tem-se as cores identificadas com o frame de incio e a durao. No trecho do resultado retornado em uma simulao realizada verifica-se a identificao da cor vermelha de um carro que teve incio no frame 176 com durao de 3 frames.

46

Figura 13 - Descrio da cor na regio delimitada

As possibilidades de aplicaes para esse agente so muitas, podendo ser utilizado como elemento primrio em processo industrial para anlise de colorao de produtos qumicos, na identificao de carros em corrida

automobilstica, em anlise climticas, etc.

3.3 AGENTES DE RECONHECIMENTO DE FACES


A tarefa de reconhecer a face humana em uma imagem no fcil, muitos problemas de ordem prtica fazem com que os algoritmos sejam complexos e extensos. O problema foi dividido em trs partes principais: a localizao da face dentro da imagem, o levantamento das caractersticas biomtricas e a comparao

47

estatstica com dados j guardados com a estimativa e deciso. A seguir sero descritos os agentes que realizaro as tarefas.

3.3.1 Agente de localizao de face

O Agente de Localizao de Face responsvel pela localizao da face humana dentro do frame, uma das mais complicadas tarefas para o reconhecimento do rosto. Para garantir robustez, o algoritmo deve ser imune a algumas variantes:

Ao tamanho da face dentro da imagem

Ao posicionamento do rosto

s intensidades de cor, brilho e luminncia

direo do rosto

definio da imagem

Na implementao foram definidas algumas premissas para iniciar a criao do modelo de procura: O rosto deve ter as dimenses mnimas e mximas dentro do quadro em que seja detectado. A distncia entre a borda superior do rosto e a borda superior do quadro, somadas ao intervalo do queixo at o final inferior do quadro devem ter no mximo a mesma dimenso da face. O rosto deve est posicionado na direo frontal (olhando para frente), limitando a inclinao em 10. O rosto deve est completamente compreendido no quadro.

48

A partir das premissas apresentadas, calculamos os valores mximos e mnimos das principais dimenses necessrias para a deteco.

0 < A+B < C dIMax > do > dIMin dIMax = lenY / 17.5 dIMin = lenY / 25.6 dFMax > F > dFMin dFMax = lenY / 3.77 dFMin = lenY / 6.11

Figura 14 - Enquadramento do rosto

Obedecendo a forma natural de reconhecer o rosto humano, os olhos servem como objetivo principal na primeira procura. Quando o algoritmo consegue localizar perfeitamente os olhos, todos os outros pontos ficam de fcil localizao, j que pode se estimar as regies de encontro.

49

Figura 15 - Regio dos olhos

Outra importante caracterstica que faz dos olhos um timo ponto de partida para o algoritmo de localizao o contraste existente entre a parte clara e escura do olho, isso permite uma fcil deteco do contorno da ris. Foi utilizada essa variao de luminncia para realizar a primeira fase de deteco dos olhos.

A partir da regio central da imagem, o algoritmo percorre o quadro da esquerda para a direita detectando as variaes de luminncia acentuadas. Todos os possveis pontos de bordas so reunidos como coleo de objetos chamados de bordas da ris (cIrisEdge).

Figura 16 - Visualizao das regies de borda

50

A segunda etapa localizar a regio dos olhos a partir dos pontos encontrados. Para isso, foi utilizado o mtodo da correlao que usa imagens de treinamento para encontrar a regio que mais se identifique com a mesma. Apesar de ser um modelo computacionalmente custoso, algumas simplificaes na imagem de referncia podem facilitar sua implementao. Nesta etapa no necessrio achar nenhuma caracterstica do rosto, portando pode-se usar uma imagem de referncia que seja facilmente implementada. Em uma primeira simulao adotamos dois crculos dentro de um retngulo, dividindo os dois crculos em duas partes.

Figura 17 - Mscara de procura

Figura 18 - Dimenses da mscara de procura

51

As variveis u e t foram introduzidas para considerar a inclinao do rosto e a variao de escala do rosto em relao ao frame. A varredura acontece nas quatro dimenses representadas pelas variveis i, j, t e u, com o objetivo de encontrar o valor mximo da funo:

onde,

PBL = Pontos de borda esquerda

PBR = Pontos de borda direita

L = Regio esquerda dos crculos

R = Regio direita dos crculos

N = Regio dentro do retngulo de fora dos crculos

Foi verificado que a funo realmente teria o ponto mximo na regio do olho, porm no tem preciso nos casos de poucos pontos selecionados. Uma nova funo f2 foi usada obtendo um resultado mais satisfatrio.

52

A seguir mostrado o diagrama de classes do agente:

Figura 19 - Diagrama de classes relacionais do Agente de Localizao de Faces

Aps o encontro das coordenadas o agente finaliza sua leitura do frame e repassa os dados para o outro agente, o agFaceCalculator, atravs da funo setEyes(intFrameIndex, X1, Y1, X2, Y2). Foi implementada uma interface que permite verificar se as coordenadas esto corretas antes da chamada ao novo agente.

53

Figura 20 - Visualizao do resultado da procura

3.3.2 Agente de Reconhecimento de Face

O Agente de Reconhecimento de Face realiza a funo de encontrar em um banco de dados a face que mais se aproxima daquela repassada pelo Agente Localizao de Faces (ALF).

A primeira tarefa sincronizar os dados que so recebidos pelo MPP e pelo ALF para que os clculos sejam feitos em relao ao mesmo frame. Quando as coordenadas dos olhos so recebidas, os dados so armazenados incluindo o nmero correspondente ao frame. Ao receber o frame do MPP atravs do mtodo Load_Frame(), dado prosseguimento ao processo de reconhecimento.

Para realizar o reconhecimento necessrio que existam informaes sobre outras faces j memorizadas. Cada face lida pelo sistema armazenada em um arquivo de aproximadamente 80KB. Um banco de dados guarda as informaes

54

referentes a cada imagem. Uma imagem corresponde a um arquivo e associada a uma face. No banco foi criada uma tabela chamada tbImage com os seguintes campos:

idImage Cdigo da imgem. Corresponde ao nome do arquivo de imagem;

idFace Cdigo atribudo a face, ou seja um imagem reconhecida;

Name Nome da pessoa reconhecida

Description - Descrio

EyeX1

EyeY1

EyeX2

EyeY2

ImageOrder Ordem cronolgica do reconhecimento

Confirmed Flag de confirmao

Active Flag de ativao

55

O processo de reconhecimento assemelha-se com uma rede neural de duas camadas, uma de entrada e uma de sada. Para representar uma imagem, adotamos as seguintes premissas:

I. Uma

imagem

ser

representada

por

uma

matriz

100X100,

independente do tamanho original.

II. A matriz considerar apenas os valores de luminncia dos pixels.

III. De uma matriz secundria de 50X50, exatamente no centro da matriz principal, ser extrado os valores mximo e mnimo de luminncia com objetivo de normalizao.

IV.

O centro do olho da direita ficar na posio 23X35. O centro do

olho da esquerda ficara na posio 23Xj, onde j depender da inclinao do rosto.

As premissas objetivam minimizar a interferncia dos fatores externos como grau de luminosidade, dimenses da imagem, etc. A funo getMatrix(Integer) retorna um vetor com duas dimenses contendo a matriz correspondente a imagem desejada. O diagrama a seguir mostra os mtodos das classes do agente.

56

Figura 21 - Diagrama de classes relacionais do Agente de reconhecimento de face

Ao iniciar o agente a rotina chamada doCollectionMWS() cria um matriz W que contm os coeficientes wij. Cada valor obtido calculado a mdia das ltimas 10 matrizes das imagens j armazenadas para cada face, ou seja, cada face ter uma matriz de coeficientes. Pode-se considerar que um neurnio ser criado para cada rosto reconhecido.

Para criar a matriz W tambm foi levado em considerao o momento que a imagem foi arquivada, ou seja, as ltimas imagens tm um peso maior para o clculo da mdia. Isso faz com que o efeito do tempo tenha relevncia no reconhecimento da face.

57

Imagem n n-1 n-2 n-3 n-4 n-5 n-6 n-7 n-8 n-9

Peso 0,144788 0,125483 0,111004 0,101351 0,094112 0,08832 0,085907 0,084459 0,083012 0,081564

0,15 0,14 0,13 0,12 0,11 0,1 0,09 0,08 n n-1 n-2 n-3

Imagem X Peso

n-4

n-5

n-6

n-7

n-8

n-9

Figura 22 - Grfico de variao do peso

Uma outra matriz S ser criada similarmente a matriz W, porm ela guardar um fator de ponderao para cada elemento da matriz W. Os valores de S sero calculados com o complemento do desvio padro dos valores das ltimas 10 matrizes de cada face. O objetivo dar um peso maior para as regies que tem o maior nmero de acerto.

58

Quando uma nova face recebida, cria-se uma imagem que recebe um cdigo de controle (idImage). Uma matriz U criada a partir da imagem para ser a entrada da rede.

Figura 23 - Rede neural

Cada neurnio calcula uma distncia euclidiana entre os vetores U e Wi, ponderada pelo vetor Si.

O resultado um valor que ser mais prximo de zero se os valores da matriz U se aproximar dos valores da matriz W. A rotina Find_Face() e a rotina BalancedNormalEucDistance() que calcula a distncia euclidiana normalizada ponderada so mostradas no Anexo D.

Ento quanto maior for a expresso e = 1 fi, maior ser o similaridade com a face procurada. A interface mostra as cinco faces que mais se assemelham imagem de entrada.

59

Figura 24 - Interface do Agente de Reconhecimento de Face

Quanto mais prximo de 1 for o valor da expresso, menor ser o erro da operao de busca. Caso a face no tenha nenhuma imagem no banco de dados, o cadastro pode ser realizado inserindo nome e descrio da pessoa.

Ocorrendo um erro que indique uma face incorreta para a imagem, o usurio pode interferir selecionando a face correta. Nesse caso, a confirmao far com que a nova imagem faa parte do banco de dados e seja lavada em conta nos clculos da nova matriz W.

Neste captulo foi apresentada a arquitetura do sistema de descrio de contexto, bem como a sua implementao. Detalhes prticos foram discutidos mostrando como o prottipo foi projetado e posto em funcionamento. Trs agentes descritores tambm foram mostrados, o primeiro foi criado com o objetivo de permitir a identificao de cores dentro da cena. Os outros dois agentes foram criados para

60

um objetivo nico, a identificao biomtrica de pessoa atravs da imagem da face, para isso eles se comunicam, trocando informaes coma finalidade de reconhecer a face.

Todos os agentes mostrados neste trabalho foram projetados para permitir o funcionamento sem interao humana durante as descries. Uma vez configurado, os agentes observam a mdia e a descrevem automaticamente.

Apesar de no ser projetado para fazer parte do processo de reconhecimento de face, o Agente Identificador de Cor foi reutilizado para auxiliar na identificao do rosto humano. Para isso foram necessrias as seguintes alteraes nos agentes:

- Para que os agentes passem a se comunicar, o Agente de Localizao de Face introduziu o Agente de Identificao de Cor como dependente. A alterao feita no mtodo getDependenceAgent(). Com isso o Agente de Localizao de Face poder fazer chamadas de mtodos a qualquer mtodo do outro agente.

- O mtodo setEyes() foi criado no Agente de Identificador de Cor com o objeto de receber as coordenadas do olhos repassada pelo Agente de Localizao de Face.

Com as informaes recebidas o Agente de Identificador de Cor define a regio da face onde far a extrao e identificao da cor. As cores da pele e olhos so caractersticas que podem ser configuradas para auxiliar na identificao da face. A descrio dos testes ser feita no item 4.3.

Captulo 4
4 AVALIAO DO SISTEMA
Este captulo descreve e analisa os testes realizados no sistema desenvolvido. Sero analisados os desempenhos dos dois agentes de

reconhecimento de face. Para o agente de localizao de face ser calculada a taxa de identificao correta da face. Para o agente de reconhecimento sero feitos testes de verificao, identificao e procura em lista.

Nos testes foram usadas 170 imagens de 119 pessoas diferentes adquiridas de diversas fontes diferentes. So fotos de rostos em posio frontal com indivduo olhando para frente e com os olhos necessariamente abertos.

4.1 AVALIAO DO AGENTE LOCALIZAO DE FACE


Durantes os testes as imagens foram submetidas ao sistema e a localizao foi considerada realizada com sucesso quando os olhos foram localizados corretamente conforme mostrado na figura 25.

62

Figura 25 - Localizao correta dos olhos

Trs casos podem ocorrer quando a localizao no realizada com sucesso. No primeiro caso o agente no consegue identificar nenhuma regio que tenha aparncia prxima aos olhos nas dimenses corretas. Nesse caso, o erro pode acontecer caso o rosto no esteja obedecendo as dimenses descritas no item 2.6.1 e mostradas na figura 14. O segundo caso ocorre quando outros pontos dentro da imagem so confundidos com os olhos ocorrendo uma falsa deteco (figura 25).

63

Figura 26 - Outra regio confundida com os olhos

Um

terceiro

caso

acontece

quando

os

olhos

so

identificados

corretamente, mas a coordenada no calculada com preciso (figura 26).

Figura 27 - Olhos identificados sem preciso

64

Em alguns casos uma nova leitura da mesma imagem redimensionada pode eliminar o erro. Das 170 imagens 153 foram identificadas corretamente sem necessidade de redimensionamento. Depois do redimensionamento apenas duas imagens no foram identificadas corretamente sendo desabilitadas para etapa de reconhecimento.

Identificado corretamente Sem redimencionamento Com redimencionamento 90% 99%

Olhos no encontrados 2% 0%

Posicionamento incorreto 4% 0%

Localizado sem preciso 4% 1%

4.2 AVALIAO DO AGENTE LOCALIZAO DE FACE


Das 170 imagens, 168 formam identificadas corretamente e repassadas pelo Agente de Localizao de Face para o Agente de Reconhecimento de Face. Trs tipos de testes forma realizados: O primeiro foi a verificao em que uma imagem apresentada juntamente com um a suposta identificao do candidato. O sistema tem que confirmar se a identificao da imagem apresentada correta. Uma falsa verificao acontece quando o sistema confirma uma identificao que no corresponde a pessoa correta. O segundo teste foi a identificao em que uma imagem apresentada e o sistema apresenta um grupo de possveis identidades para o indivduo. A lista que o sistema apresenta foi testada com trs tamanhos diferentes: uma, cinco e dez identificaes. O terceiro teste foi a procura em lista na qual o sistema tem que verificar se a imagem pertence a uma lista de tamanhos diferentes e, posteriormente identific-la.

65

O teste de verificao foi realizado em duas etapas que se diferencia pela quantidade de imagens de uma mesma pessoa j armazenada no sistema, ou seja, na primeira etapa menos de trs imagens de cada candidato foram armazenadas antes da verificao, na segunda etapa trs ou mais imagens de uma mesma pessoa j pertencia ao banco antes do teste. Com era de se esperar, medida que um nmero de imagens gravadas cresce a preciso na verificao cresce, pois a rede neural vai sendo treinada.

O grfico mostra que o treinamento da rede neural melhora a taxa de verificao correta, principalmente quando se exige uma taxa de falsa confirmao pequena.

Taxa de Falsa Confirmao X Taxa de Verificao


100% 90% 80% 70% 60% 50% 40% 30% 20% 10% 0%
0, 01 % 0, 05 % 0, 03 % 0, 09 % 0, 23 % 0, 16 % 0, 47 % 0, 37 % 0, 81 % 0, 61 % 1, 07 % 1, 79 % 1, 47 % 2, 13 %

Treinamento com menos de trs imagens

Treinamento com trs ou mais imagens

Figura 28 - Grfico do resultado do teste de verificao

No teste de identificao mostrou que 86% das imagens apresentadas ao sistema foram identificadas corretamente como o primeiro da lista. Considerando

66

que a identificao correta est entre as duas primeiras apresentadas como resposta do sistema, 92% tiveram identificao correta. Quando foram consideradas listas de respostas de 5 e 10 pessoas, a taxa de identificao foi 98%.

Tamanho da Lista de Resposta X Taxa Identificao


110% 100% 90% 80% 70% 60% 50% 40% 30% 20% 10% 0%

86%

92%

98%

98%

10

Figura 29 - Grfico do resultado do Teste de Identificao

O ltimo teste foi a procura em lista que apresenta a maior dificuldade ao sistema, pois alm de detectar se o indivduo est na lista, necessrio que ele seja identificado. Uma falsa deteco acontece quando apresentada uma imagem de uma pessoa que no est na lista e o sistema detecta e indica uma identidade incorreta.

O teste foi feito com uma lista de 107 pessoas e foram apresentadas 55 imagens 110 imagens de 20 pessoas diferentes, das quais 10 estavam na lista e 10 no estavam. O resultado apresentado no grfico.

67

Taxa de Falsa Deteco X Taxa de Deteco e Identificao


80% 70% 60% 50% 40% 30% 20% 10% 0%
0, 15 % 0, 63 % 0, 37 % 0, 22 % 0, 43 % 0, 02 % 0, 03 % 0, 05 % 0, 09 % 0, 51 % 0, 86 % 1, 00 % 1, 17 % 1, 33 % 1, 59 %

Figura 30 - Grfico do resultado do Teste de Procura em Lista

Os testes de verificao e identificao no podem ser comparados com o FRVT2000 descrito no item 2.3, pois o nmero de imagens no banco de dados muito diferente. Porm, o teste de procura em lista mostra que o sistema apresentado tem performance prxima dos mais bem colocados no FRVT2000. O grfico mostrado na figura 5 apresenta o resultado dos trs softwares resultados para uma falsa deteco de 1%, para essa taxa o agente de reconhecimento de face teve uma performance de 72,72% de deteco e identificao.

68

Figura 31 - Comparao com o FRVT2000

Algumas ponderaes devem ser feitas em relao a esta comparao. As imagens utilizadas no FRVT2000 possuam especificaes que no foram consideradas nesse teste, as fotos do FRVT2000 foram separadas por tipos de ambientes, faixa etria, sexo, etc. As imagens do FRVT2000 foram feitas sobre um rigoroso procedimento especificado no documento [18].

4.3 INCLUSO DO AGENTE DE IDENTIFICAO DE COR NO RECONHECIMENTO DA FACE


O objetivo desta avaliao demonstrar que o sistema proposto extensvel e que outras descries podem ser realizadas com a incluso de agentes especficos ao sistema. As alteraes no Agente de Localizao da Face (ALF) e no Agente de Identificao de Cor (AIC) descritas no final do captulo anterior foram implementadas.

O ALF encontra a as coordenadas dos olhos e repassa ao AIC atravs da funo setEyes(), que calcula algumas regies do rosto e faz a coleta das cores dos

69

pixels. Inicialmente foi escolhida a regio central da testa para coletar o valor RGB mostrado a trecho do cdigo MPEG-7 abaixo.

<?xml version="1.0" encoding="iso-8859-1"?> <Mpeg7 xmlns="urn:mpeg:mpeg7:schema:2001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mpeg7="urn:mpeg:mpeg7:schema:2001" xsi:schemaLocation="urn:mpeg:mpeg7:schema:2001 Mpeg72001.xsd"> <Description xsi:type="ContentEntityType"> <MultimediaContent xsi:type="VideoType"> <Video> <TemporalDecomposition> <FreeTextAnnotation>Left eye:(162,30; 130,23) Right eye:(215,69; 128,69) </FreeTextAnnotation> <FreeTextAnnotation>Frame:1 identity Name:Foto36 - Face ID:0000000036 but not confirmed.</FreeTextAnnotation> <FreeTextAnnotation> **Frame 1 - Skin color: (Red=228, Green=175, Blue=135) ** <FreeTextAnnotation> </TemporalDecomposition> </Video> </MultimediaContent> </Description> </Mpeg7>

A prxima etapa caracterizar a cor, selecionando a colorao da pele (negro, pardo, branco, etc.). Faz-se necessrio uma etapa de processamento para eliminar a interferncia de fatores externos na mensurao da cor como iluminao, brilho, etc. O resultado, ento, enviado ao Agente de Reconhecimento de Face (ARF) que faz a comparao com os dados armazenados das no banco de dados.

A anlise feita pelo ARF levando em considerao as caractersticas extradas por ele e pelas caractersticas enviadas pelo AIC ou outros agentes criados para essa funo. Cada informao ponderada analisando a estatstica de erro durante o processo de identificao.

O sistema formado pelo grupo de agentes de reconhecimento de faces ter a preciso da identificao proporcional ao nmero de agentes extratores de caracterstica. Os agentes tambm podem sofrer alteraes e serem trocados sem que o sistema possa sofrer influncia no funcionamento.

Captulo 5
5 CONCLUSES

Sistema

de

Descrio

de

Contexto

apresenta

caractersticas

importantes que o flexibiliza para inmeros trabalhos posteriores, ele permite a construo de agentes para extrair e descrever qualquer tipo de caractersticas em vdeos, sem que seja necessrio modificaes no sistema, apenas desenvolvendo uma class .net ou um componente Activex e inserindo da pasta de leitura configurada no Sistema.

O Sistema objetivou a descrio automtica de vdeos com a utilizao de mltiplos agentes funcionando ao mesmo tempo, porm possvel desenvolver agentes que utilizem tcnicas manuais ou semi-automticas. Esse objetivo foi alcanado com a implementao dos agentes descritos nos itens anteriores.

Alm da possibilidade da criao de novos agentes, outros estudos so necessrios para melhorar a performance do sistema. A incluso da etapa descrio de udio no foi implementada e sugere estudos na rea de sincronismo com o vdeo e de como os agentes vo coletar as amostras de udio. Outra rea

71

importante para melhorar o sistema em relao a forma com que os frames de vdeo so transferidos para os agentes. Na implementao atual os valores RGB dos pixels so inseridos em um vetor de duas dimenses e enviados para cada agente seqencialmente, ou seja, um agente aguarda o processamento do anterior. Certamente um estudo mais aprofundado sobre o sincronismo das informaes permitiria o processamento paralelo.

Em relao aos Agentes de Reconhecimento de Face, muitos estudos podem otimizar bastante seus resultados. Em relao ao Agente de Localizao de Face necessrio que os algoritmos usados para a procura dos olhos da face sejam otimizados, pois o tempo gasto inviabiliza o reconhecimento automtico em tempo real. O terceiro erro descrito no item 4.1 pode ser minimizado com um psprocessamento aps o encontro dos olhos. Os outros dois erros podem ser minimizados com redimensionamento da imagem e ajuste de contraste feito automaticamente antes de scanear a imagem.

Os testes puderam mostrar que o Agente de Reconhecimento de Face apresentou uma performance comparada com os softwares do ltimo FRVT. Porm necessrio inserir uma etapa de processamento 3D para o reconhecimento de faces no frontais. No FRVT2000 alguns estudos foram apresentados nessa rea e no prximo FRVT ser caracterstica fundamental para boa performance.

Algumas limitaes foram identificadas no sistema de descries de contexto e nos agentes de reconhecimento de faces. As interfaces de comunicao entre os agentes e o mdulo de processamento principal foram desenvolvidas para aplicaes que rodam em uma mesma mquina, o que no permite, a princpio,

72

agentes distribudos. Porm o modelo pode ser adaptado utilizando uma arquitetura para ambiente distribudo (CORBA ou DCOM).

Outra limitao encontrada que o modelo implementado utiliza o processamento dos agentes de forma seqencial, causando a diviso do tempo entre eles e limitando o tempo de resposta. O tempo de processamento pode ser um limitante da quantidade e da complexidade dos agentes. fcil observar que esse problema s ser crtico no caso de descries realizadas em tempo real, pois nesse caso, enquanto os agentes estiverem descrevendo uma cena poder perder os quadros subseqentes do vdeo. Todo estudo foi focado na descrio de vdeos e imagens estticas, deixando a anlise do udio para trabalhos futuros.

REFERNCIAS

[1] GARCIA, L. Princpios da Engenharia de Software. Universidade Luterana do

Brasil, Porto Alegre, Brasil, janeiro, 2003.


[2] MARTNEZ, J. Coding of Moving Pictures and Audio. International Organisation

for Standardisation, Pattaya, Thailand, March 2003.


[3] CHELLA, M. Sistema para classificao e recuperao de contedo multimdia

baseado no padro MPEG-7. In: I Workshop de Cincia da Computao e Sistemas da Informao da Regio Sul - WORKCOMPSUL, Florianpolis SC, 2004.
[4] SALEMBIER, P.;SMITH, J. MPEG-7 Multimedia Description Schemes, Barcelona,

Spain, March 2001.


[5] MPEG.

MPEG-7

Requirements

Document

V.13,

ISO/IEC

JTC1/SC29/WG11/N3933, Jan. 2001.


[6] HUNTER,

J.

DDL

Working

Draft

4.0.

International

Organization

for

Standardization. July, 2000.


[7] COKUS, M.; RENNER, S.; Winkowski, D. Binary XML Position Paper. The Need

for Standard Schema-based and Hybrid Compression. The MITRE Corporation, USA, 2002.
[8] BARRETO, J. Indroduo as Redes Neurais Artificiais, Departamento de

Informtica e de Estatstica da Universidade Federal de Santa Catarina, Florianpolis, Santacatarina, Brasil, 2002.
[9] MARTINELI, E. Extrao de Conhecimento de Redes Neurais Artificiais,

Departamento de Cincias Matemticas e de Computao da USP, So Carlos, Brasil.


[10] MINSKY, M.;PAPERT, S. A. Perceptrons: an introduction to computational

geometry. The MIT Press, Massachussets, 1969.


[11] CAMPOS, T.; FERIS, R.; CESAT JR, R. Reconhecimento Computacional de

Pessoas. XI Semana de Computao UNESP, So Paulo, SP, Brasil.

74

[12] GOMES, D.; MOREIRA, M.; SILVA, R. Reconhecimento de ris. Departamento

de Cincias da Computao, Universidade Federal de Minas Gerais, Belo Horizonte, Minas Gerais, Brasil.
[13] PHILLLIPS, P.; GTOTHER, P.; MICHEALS, R.; BLACKBURN, D.; TABASSI, B.;

BONE,

M.

Face

REconition

Vendor

Test

2002:

Evaluation

Report,

Dahlgren,Virginia, USA, 2002.


[14] LI, S. Face recognition basead on nearest linear combinations. Scholl of EEE,

Nayang Tecnological University, Singapore.


[15] JAIN, A.; DUIN, R.; MAO, J. Statistic patten recognition : A review. IEEE

Transactions on Pattern Analysis and Machine Intelligence 22, 2000.


[16] NEFIAN, A. Satistical Approaches to FaceRecognition, Gergia Institute of

Technology Scholl of Electrical Engineering, Gegia,USA, 1996.


[17] JAIN, L.; HALICI, U,; HAYASHI, I.; LEE, S.; TSURSUI, S. Intelligent Biometric

Techniques in Fingerprint ans Face Recognition. The CRC Pres, 1999.


[18] RIZVI, S. ; PILLIPS, P. ; MOON, H. The FERET Verificarion Testing Protocol for

Face Recognition Algorithms, 1998.


[19] FERREIRA, A. Dicionrio Aurlio bsico da Lngua Portuguesa, 2002. [20] FERREIRA, C. Identificao Biomtrica, 2002. [21] MARIN,

L.; BARRETO, J. Reconhecimento de Faces, Departamento de

Informtica e Estatstica, Universidade Federal de Santa Catarina, 2003.


[22] JAIN, A.;DUIN, R & MAO, J. Statistical pattem recognition : A review. IEEE

Transactions on Pattern Analysis and Machine Intelligence 22.1, 2000.


[23] GONZALEZ, R & WOODS, R. Digital Image Processing. Addison-Wesley

Publising Company. Inc., 1992.


[24] CHOI, M; KIN, W. A novel two stage template matching method for rotation and

illumination invariance. Pattern Recognition Society. Published by Elsevier Science LTD, 2000.
[25] CONNELL, S; JAIN, A. Template-based online character recognition. Pattern

Recognition Society. Published by Elsevier Science Ltd, 2001.


[26] BOLLE, R.; CONNELL, J.; RATHA, N. Biometric perils and patches. Elsevier

Science Ltd. Pattern Recognition Society, 2001.

75

[27] SPIES, H. Face recognition a novel technique. Mather thesis summary. [28] VIEIRA, R..; ROSENBERG, M. Redes neurais e artificiais: Um breve tutorial,

Laboratrio de conexionismo e cincias cognitivas, Universidade Federal deSanta Catarina, Florianpolis, Brasil, 2000.
[29] REZENDE, S. Sistemas inteligentes: Fundamentos e Aplicaes. Burueri, So

Paulo, 2003.
[30] WEISS, G. Multiagent system: A modern introduction to distributed artifitial

intelligence, MIT PRESS, 1999.


[31] BARBOSA, L. Um Sistema Multiagentes para Monitoramento Atmosfrico.

Universidade Salvador, Salvador, Brasil, 2003.

APNDICE A Tabela de resultados


A seguir a tabela utilizada nos resultados dos testes. As colunas numeradas possuem a pontuao das identificaes sugeridas pelo sistema aps a anlise da imagem correspondente relacionada na primeira coluna. Na ltima coluna est a colocao da identificao correta.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

Nome Pomplio Jnior Pomplio Jnior Pomplio Jnior Pomplio Jnior Pomplio Jnior Srgio Matos Srgio Matos Srgio Matos Delenda Coit Arajo Delenda Coit Arajo Delenda Coit Arajo Deisy Coit Matos Deisy Coit Matos Deisy Coit Matos Darci Amorim Darci Amorim Darci Amorim Anglica Anglica Anglica Leila Regina Arajo Leila Regina Arajo Leila Regina Arajo Roberto Azevedo Roberto Azevedo Roberto Azevedo Keila Alinine Keila Alinine Keila Alinine Ccero

1 7983 6922 7574 7571 7779 6994 6361 5034 6278 4149 5315 6201 4424 4605 4501 4375 3399 3575 5593 4599 6894 6557 7183 7138 6808 7959 4459 6289 5813 4639

2 4496 3738 4247 4550 4889 3816 3179 3788 4707 3973 3964 3496 3645 3765 2897 3138 3138 3450 3787 4120 4622 3942 4592 3795 3939 4121 4040 4494 4175 4409

3 4062 3717 4082 4017 4325 3757 3084 3709 4559 3961 3628 3279 3554 3736 2877 2963 3063 3273 3750 3962 4042 3786 4319 3630 2972 3665 4019 4267 4146 3970

4 4058 3687 4068 3901 4296 3599 2740 3670 4409 3927 3451 3273 3499 3443 2871 2823 3048 3245 3715 3927 3726 3704 3998 3508 2952 3360 3976 4047 4073 3953

5 Colocao 4013 1 3631 1 3847 1 3898 1 3931 1 3268 1 2720 1 3375 1 4300 1 3849 1 3369 1 3260 1 3123 1 3377 1 2814 1 2784 1 2987 1 3245 4 3715 1 3910 1 3535 1 3497 1 3837 1 3444 1 2655 1 2984 1 3743 2 3899 1 4049 1 3931 33

77

31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75

Ccero Ccero Elder Elder Elder Rodrigo Rodrigo Rodrigo Gerson Pereira Gerson Pereira Gerson Pereira Cssio Cssio Cssio Tiago Basto Tiago Basto Tiago Basto Artur Pomplio Artur Pomplio Artur Pomplio Cndida Cndida Cndida Juliana Juliana Juliana Alexandre Medrado Alexandre Medrado Alexandre Medrado Cristiane Cristiane Cristiane Lucas Lucas Lucas Pomplio Jnior Pomplio Jnior Pomplio Jnior Pomplio Jnior Srgio Matos Srgio Matos Delenda Coit Arajo Delenda Coit Arajo Deisy Coit Matos Deisy Coit Matos

3839 4525 6367 6171 5251 8103 6716 7255 7093 4608 4972 6695 4467 7316 6286 6254 4991 4088 7138 6839 5219 3984 3357 3650 5802 4795 7975 6229 6541 5002 4382 3800 8365 7431 7010 4383 6597 6871 7446 4832 6287 5682 5188 3830 3962

3832 3860 4096 4675 4728 5099 4416 4138 4800 4132 4964 3663 4322 4419 4453 4438 4653 4074 3956 4113 3123 3872 3287 3610 3544 3934 3958 3700 4212 4566 4168 3777 4308 4484 4058 3667 4050 4319 4917 2998 3023 4177 3946 3478 3736

3641 3645 3987 4205 4549 4828 4164 3950 4241 3839 4330 3649 4062 3776 4237 4331 3807 4020 3912 3892 3037 3715 2856 3392 3293 3220 3945 3445 4157 3393 3626 3624 4305 3853 3999 3614 4004 4047 4264 2967 2968 4085 3874 3246 3377

3603 3422 3914 4131 4385 4628 3914 3856 4233 3809 4168 3613 4010 3683 4203 3954 3749 3894 3871 3720 3028 3601 2849 3304 3204 3185 3930 3422 4111 3389 3510 3542 4243 3640 3998 3554 3761 3758 4202 2847 2664 3921 3726 3190 3272

3931 3401 3884 4046 3890 4589 3793 3738 4075 3746 3889 3509 3982 3683 4117 3719 3681 3829 3760 3642 2995 3532 2819 3229 3189 3183 3890 3411 4096 3382 3392 3422 4142 3638 3846 3536 3593 3729 3932 2758 2623 3906 3424 3164 3249

48 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 3

78

76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111

Darci Amorim Darci Amorim Pomplio Arajo Anglica Anglica Leila Regina Arajo Leila Regina Arajo Roberto Azevedo Roberto Azevedo Keila Alinine Keila Alinine Ccero Ccero Elder Elder Rodrigo Rodrigo Gerson Pereira Gerson Pereira Cssio Cssio Tiago Basto Tiago Basto Artur Pomplio Artur Pomplio Artur Pomplio Cndida Cndida Juliana Juliana Alexandre Medrado Alexandre Medrado Cristiane Cristiane Lucas Lucas

3497 3053 3914 4382 3962 4568 5470 4024 6946 5169 4890 6808 4105 7371 5067 4996 6629 5054 4932 5415 4209 4454 5348 5310 4245 5061 4144 3252 4493 4048 4984 6837 4028 4690 6836 4953

3068 3034 3520 4137 3910 3942 4592 3939 4178 4053 4268 4125 3935 4647 4732 4617 4627 3728 4261 3855 3845 4340 4593 3946 4143 4061 3847 2808 3446 4001 3591 4173 3849 3519 4484 4058

2971 2685 2757 4038 3875 3786 3837 2972 3745 3861 4069 3882 3835 4493 4474 3941 3927 3707 4080 3659 3828 4082 4174 3836 4010 3798 2785 2724 3226 3453 3570 3869 3682 3500 3853 3999

2924 2903 2721 3994 3873 3704 3780 2655 3041 3800 3587 3719 3655 4281 4473 3851 3794 3511 3965 3531 3627 4028 4044 3522 3658 3688 3707 2499 3104 3453 3485 3850 3386 3410 3640 3998

2877 2900 2689 3750 3507 3314 3651 2562 2952 3794 3543 3663 3648 4176 4168 3792 3715 3489 3923 3207 3589 4017 3975 3474 3614 3578 3603 2478 3070 3369 3481 3800 3286 3382 3638 3846

4 1 5 1 1 1 1 1 2 1 1 3 3 1 1 1 1 1 1 2 1 1 1 1 4 1 1 1 1 1 1 2 1 1 1 1

79

APNDICE B IMAGENS
A seguir aparecem todas as 170 imagens usadas nos testes, j no formato que o sistema armazena.

80

81

82

APNDICE C Trecho de cdigo do Agente Identificador de Cor

A seguir mostrada a implementao da rotina load_frame() do Agente Identificador de Cor.

Public Function Load_Frame(pichDC As Long, frameNumber As Long, frameCount As Long) As String Dim z As Long, i As Long, j As Long, ci As Long, cj As Long, X As Long Dim pixel& Dim result As String Dim thisFrame As Boolean Dim SP As RECT If frmConfigCI.AgentEnabled = 0 Then Exit Function i = 1 j = 1 ci = 1 cj = 1 result = "" Do cj = cj + 1 Loop Until mBitBlt.GetPixel(pichDC, 1, cj) = -1 Do ci = ci + 1 'ss = mBitBlt.GetPixel(pichDC, ci, 1) Loop Until mBitBlt.GetPixel(pichDC, ci, 1) = -1 ci = ci - 1 cj = cj - 1 X = 0 Dim Red, Green, Blue If frameNumber = 1 Then ReDim mColorSet(frmConfigCI.coList1.Count) ReDim iniFrame(frmConfigCI.coList1.Count) End If Dim mColorSetAux() As String ReDim mColorSetAux(frmConfigCI.coList1.Count) For z = 1 To frmConfigCI.coList1.Count 'frmConfigCI.coList1.Item (z) Red = 0 Green = 0 Blue = 0 X = 0 For i = frmConfigCI.coList1.Item(z).X0 * ci / 100 To frmConfigCI.coList1.Item(z).X1 * ci / 100 For j = frmConfigCI.coList1.Item(z).Y0 * cj / 100 To frmConfigCI.coList1.Item(z).Y1 * cj / 100 pixel& = mBitBlt.GetPixel(pichDC, i, j) Red = Red + pixel& Mod 256 Green = Green + ((pixel& And &HFF00FF00) / 256&) Blue = Blue + (pixel& And &HFF0000) / 65536 X = X + 1 Next j Next i Red = Red / X Green = Green / X Blue = Blue / X If frmConfigCI.coList1.Item(z).r - frmConfigCI.coList1.Item(z).dR < Red And _ frmConfigCI.coList1.Item(z).r + frmConfigCI.coList1.Item(z).dR > Red Then If frmConfigCI.coList1.Item(z).g - frmConfigCI.coList1.Item(z).dG < Green And _ frmConfigCI.coList1.Item(z).g + frmConfigCI.coList1.Item(z).dG > Green Then If frmConfigCI.coList1.Item(z).b - frmConfigCI.coList1.Item(z).dB < Blue And _ frmConfigCI.coList1.Item(z).b + frmConfigCI.coList1.Item(z).dB > Blue Then mColorSetAux(z) = frmConfigCI.coList1.Item(z).Name strInformation = frmConfigCI.coList1.Item(z).Name _

83

& " (Red=" & Red & ", Green=" & Green & ", Blue=" & Blue & ")" End If End If End If Next z Dim str As String For z = 1 To frmConfigCI.coList1.Count If mColorSetAux(z) <> mColorSet(z) Then If mColorSetAux(z) = "" Then 'If str <> "" Then str = str & vbCrLf str = str & Left(frmConfigCI.Text1(0), Len(frmConfigCI.Text1(0)) " & mColorSet(z) str = str & Left(frmConfigCI.Text1(1), Len(frmConfigCI.Text1(1)) iniFrame(z) str = str & Left(frmConfigCI.Text1(2), Len(frmConfigCI.Text1(2)) frameNumber - iniFrame(z) str = str & Left(frmConfigCI.Text1(3), Len(frmConfigCI.Text1(3)) Else iniFrame(z) = frameNumber End If End If mColorSet(z) = mColorSetAux(z) Next z Load_Frame = str End Function

2) & "Cor: 2) & "F" & 2) & "F" & 2)

84

APNDICE D Trecho de cdigo do Agente de Reconhecimento de Face

A seguir mostrada a implementao da rotina Find_Face() e BalancedNormalEucDistance().

Function Find_Face(ByVal idImage As Integer, Optional ByVal form As _ frmConfig = Nothing) As String(,) Dim i As Integer Dim col As Collection Dim tb As New DataTable Dim dc As DataColumn Dim dr As DataRow Dim dv As DataView Try Dim mNewFace As Double(,) = getMatrix(idImage) dc = New DataColumn("idFace", _ System.Type.GetType("System.Int64")) tb.Columns.Add(dc) dc = New DataColumn("Value", _ System.Type.GetType("System.Double")) tb.Columns.Add(dc) Dim mW As Double(,) Dim mP As Double(,) For i = 0 To UBound(vecFaceID) mW = colMatrixW.Item(Format(vecFaceID(i), "F0000000000")) mP = colMatrixStat.Item(Format(vecFaceID(i), _ "F0000000000")) dr = tb.NewRow dr(0) = vecFaceID(i) dr(1) = 1 - BalancedNormalEucDistance(mNewFace, mW, mP) tb.Rows.Add(dr) Next i dv = New DataView(tb) dv.Sort = "Value DESC" Dim vector As String(,) ReDim vector(dv.Count - 1, 1) For i = 0 To dv.Count - 1 vector(i, 0) = dv.Item(i).Item(0) vector(i, 1) = dv.Item(i).Item(1) Next If IsNothing(form) = False Then form.Vector_Semeness = vector End If Return vector Catch ex As Exception End Try End Function

Function BalancedNormalEucDistance(ByVal v1 As Double(,), ByVal v2 As _

85

Double(,), ByVal vP1 As Double(,)) As Double Dim i, j As Integer Dim sum As Double = 0 For i = 0 To UBound(v1, 1) For j = 0 To UBound(v1, 2) sum = vP1(i, j) * (v1(i, j) - v2(i, j)) ^ 2 Next Next sum = sum ^ 0.5 Return sum End Function

Das könnte Ihnen auch gefallen