. ESTUDO DE ALGORITMOS DE DETECÇÃO DE OBJETOS EM TEMPO REAL PARA APLICAÇÃO NO MODELO DE PERCEPÇÃO DO LABMAT. Homero B.S. Esmeraldo1 , Marcos A. Botelho & Daniel L. Baggio Labmat Laboratório de Experiências em Matemática e Cognição Departamento de Matemática Instituto Tecnológico de Aeronáutica 12.228-900 São José dos Campos SP Brazil [email protected] , [email protected], [email protected] Resumo: Este artigo apresenta um estudo de um modelo dinâmico-semântico de perceção formado por três subsistemas básicos, Perguntador, Respondedor e Armazenador. Em particular, o objetivo principal é aprofundar o entendimento dos sistemas Armazenador e Respondedor, bem como o estudo de um algoritmo de detecção de objetos que direciona a atenção para regiões da imagem que apresentam maior probabilidade de conter o objeto procurado. Palavras-chave: Cognição, Percepção Visual, Detecção de Objetos. 1 Introdução O estudo da neurociência pode trazer mudanças profundas no mundo em que vivemos e nas ideias que temos sobre ele. Questões éticas, …losó…cas e religiosas surgem ao se pensar em temas como a consciência, a alma, modi…cações genéticas em cérebros e novas formas de interação homemmáquina. Neste trabalho foi dada atençaõ ao estudo da percepção visual humana. A partir do entendimento do olho e do sistema nervoso que controla, interpreta e processa as informações, pode-se pensar em dispositivos capazes de curar a cegueira, dependendo da natureza do problema, bem como criar novas formas de interação com o cérebro. Em particular, uma aplicação tecnológica promissora seria em dispositivos que detectam objetos (alvos, por exemplo) sem a necessidade de se autodenunciar através da emissão de sinais, como é o caso dos radares e sonares. A abordagem e metodologia desse estudo foi feita de forma a dar um embasamento biológico maior ao modelo em desenvolvimento por Marcos A. Botelho no Labmat. Esse modelo tenta romper com a teoria representacional da percepção na qual se defende que existe uma imagem mental e que a percepção é um fenômeno passivo. Defendemos que a percepção é construída ativamente a partir dos dados sensoriais e de características …logenéticas, ontogenéticas e culturais. Dessa forma é possível explicar fenômenos perceptivos como os que ocorrem na percepção de …guras ambíguas, miragens e alucinações. 2 Breve descrição do modelo do Labmat Segundo o modelo, a percepção se dá através de interações do tipo pergunta-resposta em redes neurais espalhadas em diversas regiões do cérebro. Existe um "Sistema Perguntador", um "Sistema Respondedor" e um "Sistema Armazenador", os quais são constituídos de redes de neurônios. Os sistemas Respondedor e Armazenador têm uma formulação matemática inserida no contexto de sistemas dinâmicos que se encontram próximos de uma bifurcação do tipo Hopf-Andronov. Os sistemas dinâmicos que modelam essas redes neuronais têm um parâmetro 2 Rn que pode depender (de acordo com a rede que modela) do estado cerebral e/ou de estímulos do ambiente (para entender a formulação matemática, ver a seção Dinâmica Neuronal em Carvalho-Botelho[1]). Isso é 1 Bolsista do Pibic/CNPq. importante, no sentido de que, assim como as características …logenéticas, ontogenéticas e culturais, discutidas anteriormente, são importantes na percepção, também a intenção que o observador tem ao perceber pode in‡uenciar a percepção. Essa característica do modelo será decisiva para explicar, mais adiante, como é possível a percepção de …guras ambíguas como o logotipo do Labmat (v. …gura 5). O Perguntador, também modelado como um sistema dinâmico, gera uma sequência de “perguntas predicativas”, num sentido a ser esclarecido posteriormente, dirigidas ao Respondedor, que irá aceitá-las ou não com base em parâmetros gerados por representações na rede de neurônios global (cérebro) de estímulos provenientes dos orgãos de sentido bem como de estímulos vindos de outras regiões cerebrais. As respostas, que podem ser somente "sim" (valor 1) ou "não" (valor 0), realimentam o sistema dinâmico do Perguntador para que possa formular novas perguntas. Somente as cadeias cujas respostas foram aceitas ("sim") alimentam o sistema Armazenador. Os dados do Armazenador também servem de base para o sistema Perguntador. A …gura 1 ilustra como se dá troca de informações entre os sistemas. Ela é uma representação esquemática dos sistemas Perguntador, Respondedor e Armazenador e como interagem. Q e R são, respectivamente, os sistemas Perguntador e Respondedor. f e g são as funções que de…nem os sistemas dinâmicos de Q e R. yq é uma string de zeros, uns e espaços, que representa a pergunta gerada por Q. T é o tempo que o sistema Perguntador leva para gerar yq . A função h(yq ) transforma a string yq em um número real que pode ser usado como parâmetro para o sistema Respondedor. (h(yQ), yQ, T) Estímulo a (Sensor) h (yQ, T) Q (f) Não R (g) Sim Xxxyyyyzzzzabsfbcisfvniwnjvosdv Mmmmnnnnnllllpvsdvsdbvsnasknvsp Cjsbdvjsdnjvsbdkjv ndkvns V svjbsdvnSVSDKCkoncANCmCVKN Figura 1. Esquema dos sistemas e como interagem. 2.1 Sistema Perguntador A caracterização do sistema Perguntador é atualmente objeto de investigação no Labmat. Em linhas gerais, podemos dizer que a forma como as órbitas do sistema dinâmico evoluem e se distribuem ao longo do tempo no espaço de estados é interpretada como constituindo uma gramática que gera uma sequência de predicados, ou seja, atributos ou hipóteses a respeito do elementos que irão contribuir para a síntese do objeto da percepção. Em Moraes[3] pode ser encontrado algum detalhamento desta ideia. Como esta é uma pesquisa complexa em andamento, a caracterização de…nitiva do sistema perguntador será objeto de estudo futuro. Porém, para efeito de simulação em caráter de estratégia investigativa, o sistema dinâmico discretizado do perguntador tem sido representado provisoriamente pela fórmula de recorrência conhecida como equação logística: xn = xn 1 (1 xn 1) ; com 2 ]0; 4[ ; de…nida no intervalo I = [0; 1]. Esta equação foi escolhida devido a sua simplicidade e por apresentar uma dinâmica razoavelmente rica, inclusive comportamento caótico, quando 3; 5 < < 4. Queremos que essa recorrência gere, de alguma forma, cadeias compostas por caracteres 0’s e 1’s, isto é, frases como "110110100101110", que são as perguntas mencionadas anteriormente. Para transformar os valores contínuos da imagem da equação logística em 0’s e 1’s, basta particionar o intervalo I de…nindo dois subintervalos disjuntos (A = [0; t1 [ e B = [t1 ; 1]), cuja união é igual a I; e pomos: xn 2 A =) caracteres 0; xn 2 B =) caracteres 1: Através de uma observação (ou seja, um mapeamento de…nido sobre o espaço de cadeias que contém a sucessão de caracteres gerados pelo sistema dinâmico que de…ne o sistema Perguntador), essas cadeias são codi…cadas de forma a alimentarem os parâmetros estruturais do sistema respondedor. 2.2 Sistema Respondedor A caracterização matemática do sistema Respondedor é feita através de um modelo canônico da classe das redes neurais fracamente acopladas próximas a uma bifurcação de Hopf-Andronov. Este sistema foi estudado em Carvalho-Botelho[1], onde o critério de aceitação das strings do Perguntador foi o da ressonância dos elementos do modelo canônico em função da concatenação dos valores dos parâmetros alimentados por estímulos externos e/ou internos e os alimentados pelo Perguntador. 2.3 Sistema Armazenador A função deste sistema é a de articular, num sentido a ser tornado mais preciso ao longo de investigações futuras, as cadeias aceitas pelo sistema Respondedor. Ele é fundamental para a caracterização da percepção em termos do modelo proposto nos moldes que vamos esboçar aqui. Uma vez estimulado (por um procedimento, que podemos chamar de intenção a nível cerebral, disparado por estímulos internos ou externos ao cérebro 2 ), o sistema Perguntador gera uma sucessão (P1 ; P2 ; : : : ; Pn ) de predicados (cadeias). Desta sucessão, a interação Peruntador-Respondedor gera uma subsucessão (Pn1 ; Pn2 ; : : : ; Pn` ) de predicados aceitos que é recuperada e armazenada pelo sistema Armazenador. O sistema Armazenador produz uma articulação dos predicados desta subsucessão (que basicamente é uma concatenização dos predicados constituída por coordenação e sucessão temporal dos predicados através de conectivos lógicos, tais como “e” e outros, e/ou outras operações no espaço de cadeias). Esta articulação de predicados, que podemos denotar por F(Pn1 ; Pn2 ; : : : ; Pn` ), essencialmente é uma con…guração física de estados dos elementos (rede de neurônios). Como em situações concretas em que pode acontecer de, por exemplo, estímulos externos idênticos ocorrerem em períodos temporais diferentes gerando o mesmo objeto da percepção através de dinâmicas ligeiramente diferentes entre os sistemas Perguntador e Respondedor, podemos introduzir naturalmente relações de equivalência entre as dinâmicas das redes neuronais em cada uma destas situações concretas, de…nimos a articulação de predicados como sendo uma classe de equivalência de con…gurações físicas. Um postulado fundamental do modelo de percepção em questão é que, a nível físico (da sensação), dada uma articulação de predicados F(Pn1 ; Pn2 ; : : : ; Pn` ; ), existe uma representação (ou seja, um mapeamento) tal que, a articulação de predicados é representada como uma variedade (ou seja, um conjunto imbuído de uma estrutura topológica) S: Por outro lado, a nível simbólico (semântico, mental), a percepção correspondente pode ser reduzida a uma articulação de elementos constituindo uma con…guração lógica para a qual existe uma representação (mapeamento) tal que, esta articulação lógica é representada como uma variedade (ou seja, um conjunto imbuído de uma estrutura lógica) S 0 e existe um "isomor…smo" (ou seja, uma bijeção que preserva as estruturas) entre S e S 0 : Este modelo explica a percepção de …guras ambíguas como sendo o caso em que o mesmo estímulo físico externo gera mais de uma articulação de predicados devido à natureza da interação dinâmico-semântica entre os sistemas Perguntador e Respondedor. Neste caso, os parâmetros que são alimentados pelo estímulo externo permanecem os mesmos, mas os outros parâmetros (os de origem interna) e consequentemente a sucessão de predicados gerada pelo Perguntador são diferentes. A alucinação e a miragem, por outro lado, acontecem quando a interação entre os sistemas Perguntador e Respondedor ocorre devido apenas a estímulos internos, sem a existência de estímulos externos. 2 Aqui, a palavra cérebro está sendo usado num sentido técnico para designar o cérebro propriamente dito, se quisermos pensar no contexto biológico, ou o dispositivo completo, no contexto de Inteligência Arti…cial. 3 Atividade cerebral e o controle do foco visual Há diversas evidências e experimentos relacionando atividade cerebral e processos cognitivos humanos. Um dos primeiros experimentos a comprovar isso foi realizado por David Hubel e Torsten Wiesel, o que lhes deu o prêmio Nobel. Eles descobriram que no cérebro de gatos há neurônios que são ativados somente quando a inclinação em que uma linha mostrada ao gato está próxima a uma inclinação especí…ca. Há neurônios que respondem a cada inclinação nessa região do cérebro pesquisada por eles. Descobriram também neurônios que respondem a diversos outros tipos de características visuais. A percepção visual envolve muito mais do que somente receber a luz ambiente e projetá-la na retina. Associamos conceitos às imagens dos objetos que nos cercam. Após chegar no lobo occipital, o sinal advindo do olho é distribuído para diversas regiões do cérebro onde serão feitas associações e interpretações das informações recebidas. No lobo temporal é onde se associa a imagem com um conceito, respondendo à pergunta "O que é?", no lobo parietal responde-se à pergunta "Onde está?". Ao que tudo indica, há diversos níveis de análises de forma, movimento e cor cada vez mais complexas até chegar ao ponto de se reconhecer o objeto que está sendo visto como algo conhecido, enquadrado em um conceito. Como há processamento paralelo e interdependente de diferentes características e interpretações da imagem em diferentes regiões do cérebro, ele deve juntar todas essas informações e associá-las ao objeto visto em meio ao contexto do campo visual, esse é o chamado binding problem, em inglês. Digamos que um copo azul esteja no campo visual do observador. Nesse caso, o cérebro dele identi…cará inicialmente linhas e curvas, passando depois a juntá-las como formas, para depois identi…car um cilindro. Em paralelo, identi…ca-se a cor como sendo azul. Para juntar essas informações e resolver o binding problem, uma possível maneira é utilizar as informações espaciais: características em um mesmo lugar referem-se ao mesmo objeto da percepção. O entendimento da relação entre a atividade cerebral e processos cognitivos ainda está sendo pesquisado, mas as descobertas mostram, cada vez mais, embasamentos biológicos para a cognição. Processamento paralelo: A existência de neurônios como os descobertos por Hubel e Wiesel e de regiões até mesmo fora do lobo occipital fazendo análise da informações visuais sugere que o processamento é feito em paralelo, simultaneamente. Além de ser feito em paralelo, o processamento é também interdependente. Em determinados casos é melhor fazer análise de forma antes da análise de movimento, por exemplo. Já em outros casos pode ser que o contrário seja verdade. O que acontece é que a análise vai sendo feita em conjunto e os sistemas vão se comunicando de forma que a melhor solução seja alcançada. A percepção visual apresenta um caráter modular ao processar diversas características em separado. Dentre elas, apontemos algumas: Forma Cor Movimento Profundidade Foco Neste trabalho, estudamos um algoritmo que se insere no módulo de foco. Pode-se fazer o experimento de analisar por onde percorre a linha de visão de uma pessoa ao olhar um quadro. Esse experimento tem diferentes resultados dependendo de como é realizado. Se a pessoa olhar a …gura sem estar sob qualquer instrução, o resultado deve, provavelmente, variar bastante dependendo da pessoa que está observando, pois o tempo e a região da …gura que ela analizará dependerá de seus interesses pessoais ou outros fatores. Alternativamente, pode-se questionar ao observador algo a respeito da …gura. Nota-se que, dependendo da pergunta, o observador passa mais tempo olhando para determinadas partes da …gura em detrimento de outras. Ao ser questionado, por exemplo, sobre a situação …nanceira das pessoas de uma …gura, o observador direciona sua linha de visão nas vestimentas das pessoas e nos móveis da casa, isto é, procura na …gura objetos e características do ambiente que possam lhe ajudar a responter a pergunta. Se fosse questionado sobre a faixa etária das pessoas, olharia para os rostos, vestimentas, o que estão fazendo, etc. E procederia de forma análoga para qualquer tipo de pergunta que se faça a respeito da …gura. O controle do foco visual: Segundo Kandel[8], para o controle do foco visual há dois sistemas principais: sistema oculomotor e sistema de movimentos da cabeça. O primeiro é responsável por movimentar os olhos nas suas órbitas e o segundo por movimentar as órbitas no espaço através dos movimentos da cabeça. Dentre esses sistemas existem seis tipos de movimentos que fazem com que o olho se direcione para o lugar desejado. Eles são os seguintes: Movimentos sacádicos do olho: movimentam o olho e, consequentemente, a fovea, região da retina em que as imagens projetadas são vistas com maior nitidez, rapidamente para alvos em diferentes regiões do campo visual. Esses movimentos podem ser realizados devido a alvos visuais, sons, estímulo tátil e até mesmo intencionalmente; Movimentos suaves de acompanhamento visual: mantém a imagem de um objeto em movimento parada na fóvea, região da retina em que se vê com mais nitidez; Movimentos de vergência: movimentas os olhos em direções opostas para olhar para alvos em diferentes distâncias; Movimentos vestíbulo-oculares: mantém a imagem de objetos observados parada na retina durante movimentos da cabeça; Movimentos optocinéticos Sistema de …xação Esses movimentos têm os três grupos bilaterais de neurônios oculomotores do tronco encefálico como efetores. No caso estudado nesse trabalho, o observador olha para um imagem parada. Portanto, levamos em consideração os movimentos sacádicos, utilizados para olhar para diferentes partes da imagem, e o sistema de …xação. 4 Algoritmo de detecção de objetos Nesse projeto foi feita uma tentativa de modelar como se dá esse foco em determinadas áreas da …gura observada, utilizando um algoritmo semelhante ao desenvolvido em Viola[2], que se revela bastante e…ciente para reconhecimento de faces em imagens de 384 por 288 pixels. O algoritmo utiliza três etapas-chaves para alcançar seu objetivo: Uma representação de imagem ("Integral Image") diferente, que permite um processamento mais rápido; Um algoritmo de aprendizado ("AdaBoost") que escolhe classi…cadores e…cientes; Um método ("Attentional Cascade") que aplica os classi…cadores em série de forma a não perder tempo com regiões com pouca probabilidade de apresentar faces, como planos de fundo. É um método que faz com que atenção seja maior somente nessas regiões promissoras; O Attentional Cascade consegue focalizar regiões promissoras utilizando classi…cadores simples, encontrados por meio do AdaBoost, com uma taxa de falso-negativo muito baixa. Dessa forma, ele prescinde de análises mais complexas nas regiões menos promissoras. Isso economiza bastante tempo de processamento. Essa é a parte de maior interesse para este trabalho, pois é um algoritmo que direciona a atenção para determinadas áreas em detrimento de outras, caracterizando o foco. Além disso, o algoritmo tem uma estrutura montada de tal forma que pode ser utilizado para reconhecimento de qualquer tipo de objeto. Para isso, basta utilizar o AdaBoost para gerar bons classi…cadores para esse outro objeto. A representação por Integral Image e o método de Attentional Cascade podem ser usados de forma idêntica a que foram utilizados para o caso de detecção de faces. Para gerar amostras positivas, que contenham o objeto que queremos encontrar, utilizamos o executável opencv_createsamples.exe, que vem junto com a versão 2.1 da biblioteca OpenCV. A partir da imagem abaixo e de outras semelhantes com diferentes grossuras de linha, luminosidade, cor de fundo e outros "ruídos visuais", geraram-se 40 amostras positivas. Figura 5. Logotipo do Labmat As amostras negativas, que não contêm a …gura acima, foram desenhadas manualmente ou obtidas através de busca na internet. Abaixo seguem três exemplos de amostras negativas: Figura 6. Amostras negativas. Utilizou-se o executável opencv_haartraining.exe com as amostras positivas e negativas a …m de gerar o arquivo .xml que armazena as informações do aprendizado dos classi…cadores. O aplicativo haartraining recorre ao Integral Image, Adaboost e Attentional Cascade para aprender a identi…car o objeto e gerar o arquivo .xml citado. Resultados do programa: Para identi…car o objeto em imagens a partir do .xml gerado, utilizouse o executável facedetect.exe. Para isso, foi inserido o arquivo .xml, que possui o classi…cador do lotipo do Labmat como argumento para o facedetec.exe. A modi…cação feita aqui foi essa troca de classi…cadores. O facedetect identi…caria faces nas …guras se o utilizássemos com o classi…cador das faces. Entretanto, ao utilizarmos o classi…cador do nosso novo objeto (logo do Labmat), a execução do facedetc.exe detectará esse novo objeto em vez das faces. Procedendo como descrito, obtivemos resultados como os das …guras 7 e 8. Figura 7. Em imagens em que há o logo do Labmat, ele identi…ca e indica onde está o logo. Figura 8. Em imagens em que não há o logo, nada é indicado na …gura, pois nada foi encontrado. 5 Conclusões O modelo do Labmat explica as alucinações visuais ao modelar a percepção visual com dependência em parâmetros externos (estímulos do ambiente) e internos (cérebro e órgãos do sentido). Em uma pessoa drogada, ou com anomalias anatômicas e/ou …siológicas no cérebro (e.g. paciente de esquizofrenia) pode acontecer de que o sistema respondedor esteja emitindo respostas sem que haja qualquer estímulo externo, gerando assim as alucinações. A percepção de …guras ambíguas é também explicada utilizando-se o modelo em que conjecturamos uma maneira de funcionamento da percepção humana. O modelo precisa continuar a ser desenvolvido especi…cando melhor como será a articulação entre as perguntas aceitas pelo Respondedor, a representação da classe de equivalência, dentre outras características do modelo que, por hora, estão descritas somente de forma qualitativa. O algoritmo desenvolvido se parece com o sistema visual humano para foco no sentido que ao utilizar o Attentional Cascade ele direciona a atenção para regiões da imagem em que há maior probabilidade de conter o objeto procurado. O mesmo acontece na visão humana, em que através de movimentos sacádicos percorremos a …gura em busca do objeto procurado e nos …xamos em algumas partes quando precisamos de uma análise mais detalhada. References [1] Carvalho, L.R.C. & Botelho,M.A. Formulação semântica da percepção com aplicações à percepção visual e inteligência arti…cial. Atas do XVII Encita, ITA, 2009. [2] Viola, P. & Jones, M. Robust Real-time Object Detection. Vancouver, Canada, 2001. [3] Moraes, M. P. A. A. T. Um Modelo Semântico Para a Percepção. Trabalho de Graduação (M.A. Botelho, orientador). ITA, São José dos Campos, 2007. [4] Mark F. Bear, Barry W. Connors, Michael A. Paradiso, Neuroscience; Exploring the brain. [5] Daniel Reisberg, Cognition; Exploring the science of the mind. Second Edition. W. W. Norton & Company. New York, London, 2001. [6] R. L. Gregory, Olho e Cérebro; Psicologia da Visão. Zahar Editores, Rio de Janeiro, 1977. [7] Suzana Herculano-Houzel, O cérebro nosso de cada dia. 8a edição.Vieira & Lent. Rio de Janeiro, 2007. [8] Kandel, Eric R. Principles of Neural Science. McGraw-Hill, USA, 2000. [9] Hoppenstead, F. C. & Izhikevich, E. M. Weakly Connected Neural Networks. Springer-Verlag, New York, 1997.