estudo de algoritmos de detecção de objetos em - Biblioteca

Propaganda
.
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.
Download