You are on page 1of 45

Universidade Federal do ABC Graduao em Cincia e Tecnologia

FERNANDO FREITAS ALVES

RECONHECIMENTO DE IMAGENS 2D UTILIZANDO UM MODELO ESTATSTICO DE FORMAS

Relatrio

So Bernardo do Campo SP 2012

FERNANDO FREITAS ALVES

Reconhecimento de Imagens 2D Utilizando um Modelo Estatstico de Formas

Relatrio

Trabalho apresentado ao curso de Bacharelado em Cincia e Tecnologia da Universidade Federal do ABC como requisito parcial para a concluso do projeto de Iniciao Cientfica.

Orientador Prof. Dr. Amaury Kruel Budri Centro de Engenharia, Modelagem e Cincias Sociais Aplicadas UFABC

So Bernardo do Campo SP 2012

Dedico este trabalho aos que acreditam na cincia e no futuro prspero da humanidade.

AGRADECIMENTOS

Agradeo minha famlia pela sustentao, aos meus amigos pela credibilidade, ao meu orientador tanto pela crena quanto pela preocupao e acompanhamento constante,

Universidade Federal do ABC

e a todos os que direta ou indiretamente contriburam para a realizao desta pesquisa.

Aprenda como se voc fosse viver para sempre. Viva como se voc fosse morrer amanh.

Mahatma Gandhi

RESUMO
Este projeto prope um algoritmo original de assimilao grfica e aplica isso ao reconhecimento de formas atravs das silhuetas dos objetos. Partindo do princpio de que imagens visualmente semelhantes possuem segmentos de esqueletos grficos parecidos, a ideia principal assimilar o esqueleto grfico das imagens comparando seus segmentos com uma lista de classe com formas especficas. Obteve-se um resultado final de 40,54% de acertos nos reconhecimentos testados, demonstrando certa ineficincia do algoritmo quando utilizado para o reconhecimento de imagens, porm, eficaz para a segmentao de imagens, podendo ter utilidade quando associado a outras tcnicas.

Palavras-chave: assimilao de imagem, esqueletizao, confabulao, cogncia.

ABSTRACT
This project proposes a novel graph-matching algorithm and applies it to shape recognition based on object silhouettes. Considering that visually similar images have also similar skeleton graphs, the main idea is to match these skeleton graphs by comparing their segments with a specific shape class list. The final result obtained was 40.54% matches in tested images recognition, showing that the algorithm isnt precise when used to recognize images but its a good solution to fragment it and can be used associated with other techniques.

Keywords: image assimilation, skeletonization, confabulation, cogency.

LISTA DE SIGLAS
2D 3D BMP CSV DAG DTW JPEG MAT TD TDE 2 Dimenses 3 Dimenses Device Independent Bitmap Comma-Separated Values Directed Acyclic Graph Dynamic Time Warping Joint Photographic Experts Group Medial Axis Transform Transformada de Distncia Transformada de Distncia Euclidiana

SUMRIO
1. INTRODUO .............................................................................................................................. 13 1.1. Justificativa ............................................................................................................................... 14 1.2. Objetivos ................................................................................................................................... 14 1.2.1. Objetivo geral ...................................................................................................................... 14 2. REVISO DA LITERATURA ..................................................................................................... 15 2.1. Transformada de Distncia....................................................................................................... 15 2.2. Esqueletizao........................................................................................................................... 16 2.3. Directed Acyclic Graph (DAG) ................................................................................................. 17 2.4. Dynamic Time Warping (DTW) ................................................................................................ 18 2.5. Algoritmo de Floyd-Warshall.................................................................................................... 19 2.6. Suavizao de Laplace .............................................................................................................. 20 3. MATERIAIS E MTODOS.......................................................................................................... 20 3.1. Banco de Imagens ..................................................................................................................... 20 3.2. Esqueletizao........................................................................................................................... 21 3.2.1. Biblioteca de leitura ............................................................................................................ 21 3.2.2. Interior, exterior e borda...................................................................................................... 22 3.2.3. Vizinhana........................................................................................................................... 22 3.2.4. Mapa de distncias .............................................................................................................. 23 3.2.5. Transformao do Eixo Medial (MAT) ............................................................................... 24 3.2.6. Vetorizao.......................................................................................................................... 26 3.2.7. Pontos crticos ..................................................................................................................... 26 3.2.8. Hierarquizao .................................................................................................................... 28 3.2.9. Segmentao........................................................................................................................ 29 3.3. Reconhecimento ........................................................................................................................ 29 3.3.1. Dissimilaridade e semelhana entre segmentos .................................................................. 30 3.4. Treinamento .............................................................................................................................. 34 4. CRONOGRAMA ........................................................................................................................... 36 4.1. Cronograma Proposto............................................................................................................... 36 4.2. Cronograma Realizado ............................................................................................................. 36 5. RESULTADOS ............................................................................................................................... 37 6. CONCLUSO ................................................................................................................................ 39 7. DISCUSSO E TRABALHOS FUTUROS ................................................................................. 40 REFERNCIAS BIBLIOGRFICAS .............................................................................................. 42

1. INTRODUO
Pesquisas nas reas de Grficos Computacionais e Modelagem Geomtrica tm encontrado interconexes fortes com a Inteligncia Artificial, Tecnologia do Conhecimento, Viso Computacional e Processamento de Imagens. Uma das foras motoras neste processo tem sido a crescente complexidade dos aplicativos. Um campo de pesquisa atuando sozinho no seria o suficiente para trazer resultados eficientes. Novas tecnologias para aquisio e processamento de dados levam a problemas novos e cada vez mais desafiadores. Tais solues exigiro a combinao de tcnicas de diferentes ramos da cincia. Uma abordagem contempornea ao reconhecimento de objetos envolve em corresponder formas a um banco de dados repleto de objetos modelos. Estruturas conceituais destes objetos modelos tm sido definidas como hierrquicas. Estas correspondncias hierrquicas indexam os objetos em grandes categorias mais abrangentes e menos especficas. Tal processo bem reconhecido por aumentar consideravelmente a eficincia da correspondncia. Em nossos crebros, as correspondncias dos processos neurais associadas com o objeto reconhecido no so diferentes daqueles associados com a linguagem. Assim como as palavras so formadas a partir de uma combinao de letras, objetos visuais so formados a partir de uma combinao de caractersticas individuais, tais como linhas ou texturas. Por si s, estas caractersticas revelam pouco sobre a identidade do objeto especfico a que pertencem, assim como letras individuais no transmitem o significado de uma palavra. Suas caractersticas devem ser combinadas de maneira especfica, como em slabas e palavras, para criar uma percepo unificada do objeto. Isto deve ser feito independentemente de mudanas na orientao de estmulo, iluminao e posio. No entanto, apesar destas complexidades, o crebro realiza esta tarefa sem esforo. O processamento visual do crebro consiste em duas fases: a primeira etapa envolve a transformao do estmulo visual em impulsos neurais; a segunda envolve a ligao desta representao com a sua categoria (rosto, carro, etc.) e a sua identidade especfica (pai, me, marca do carro, etc.). A teoria da confabulao, proposta por Hecht-Nielsen em [1] [2], se baseia na premissa de que todos os aspectos de cognio, tal como a viso, podem ser explicados por meio da interao entre diferentes reas do crebro. Cada uma delas responsvel pela representao mental de um objeto. Segundo essa teoria, cada hemisfrio do crtex cerebral humano pode ser dividido em aproximadamente 2000 mdulos funcionais controlados de maneira independente. Cada um destes mdulos seria responsvel por representar um atributo de um objeto, seja ele visual, auditivo, abstrato ou qualquer outro. Esta representao se d atravs

13

de um subconjunto de neurnios. Sua ativao est associada seleo de um nico smbolo dentre um conjunto de milhares de smbolos associados pelo mdulo. Neste contexto, o conhecimento adquirido representado por meio de conexes entre os smbolos armazenados. Este processo de aprendizagem segue o princpio Hebiano: os elos entre dois smbolos so fortalecidos na medida em que os dois conjuntos de neurnios, cada um representando um smbolo, so ativados. A hiptese bsica dessa teoria prope que o processo cognitivo envolve apenas um tipo de processamento da informao: a confabulao [3] [4]. Este processo determina que o smbolo vencedor seja aquele com o maior nvel de ativao dentro do mdulo. Utilizando esse processamento, este projeto busca fazer o reconhecimento de imagens atravs da comparao interna de seus detalhes, ou mais especificamente, de partes que os objetos das imagens representam e ento utilizar de um meio probabilstico para a cogncia das mesmas.

1.1. Justificativa
O reconhecimento de imagens uma cincia e tecnologia nova que cada vez mais desenvolvida por pesquisadores cada vez mais especializados em todos os ramos por possuir uma gama enorme de aplicaes em todas as reas do cotidiano. Exemplos de aplicaes incluem o controle de processos (como robs industriais ou veculos autnomos), deteco de eventos, organizao de informao, modelagem de objetos ou ambientes de interao (atrelado interao homem-computador). Suas usabilidades vo desde o reconhecimento de placas de carro para facilitar o gerenciamento de estacionamentos a um guia computo-visual que possa identificar os objetos frente informando sobre suas localizaes para uma pessoa com deficincia visual.

1.2. Objetivos
1.2.1. Objetivo geral Este projeto busca investigar a eficincia da abordagem de maximizao da cogncia para o reconhecimento de imagens. Para isto, ser implementado o mtodo apresentado por Wilder em [5]. O reconhecimento de imagens ser feito na classificao de objetos usando a abstrao de suas formas. Tal abstrao ser dada no mapeamento de estruturas esquelticas para a categorizao e reconhecimento de diferentes objetos. Cada objeto pertencer a uma classe

14

especfica. Estes possuiro caractersticas visuais em comum no seu modelamento deste mapa esqueltico. Esta abordagem se baseia na teoria de que a percepo visual humana est pelo menos em parte fundamentada nos geons [6]. Os geons serviro de guia para uma predefinio da forma especfica do objeto. Isto assimilar o resto da imagem com traos caractersticos mais simples que o objeto em si. Isto auxilia na abstrao e categorizao do elemento a ser identificado. Tambm permitir que no futuro possamos evoluir de forma suave para um reconhecimento 3D. Ao invs de se utilizar a maximizao da probabilidade a posteriori, utilizado por Wilder [5], ser utilizada a maximizao da cogncia. A motivao est em Ungerleider [7], que relaciona o reconhecimento de imagens e linguagem. Linguagem algo processado com sucesso pela abordagem de cogncia. Unificando as teorias do processamento de imagem no crebro humano, como mencionado por Ungerleider [7], com a teoria da confabulao, se torna possvel a informatizao do mecanismo de reconhecimento visual. Pode-se assim viabilizar um algoritmo computacional voltado para inmeras aplicaes ao cotidiano.

2. REVISO DA LITERATURA
Durante o decorrer das atividades, conforme previsto, foi feita uma ampla reviso bibliogrfica para se conhecer os diferentes mtodos empregados neste projeto.

2.1. Transformada de Distncia


A transformada de distncia (TD) foi introduzida por Rosenfeld [8]. um processo que, a partir de uma imagem binria que contm fundo e objetos, gera outra imagem chamada "mapa de distncias" cujo valor de cada pixel pertencente ao objeto a distncia ao pixel mais prximo que pertena ao fundo. uma operao geomtrica fundamental em processamento de imagens e viso computacional Fabbri [9]. As aplicaes da TD incluem: operaes morfolgicas (eroso e dilatao) [10], segmentao [11], dimenso fractal multi-escala [12] [13], navegao robtica [14], entre outras. O clculo da TD pode ser feito com um clculo exato ou inexato das distncias. Um algoritmo de TD exato quando, para qualquer tipo de imagens, fornece um mapa de distncias livre de erros, se o mapa contm erros para alguma imagem, o algoritmo considerado inexato [9]. Para o clculo das distncias necessrio usar uma mtrica de

15

distncia. Existem muitas mtricas que podem ser usadas dependendo da aplicao. A mais comum a distncia euclidiana (TDE) principalmente por sua invarincia a rotao [9]. Um dos problemas com o uso desta mtrica o alto custo computacional. Diversos algoritmos foram propostos para melhorar a eficincia deste clculo. Um dos primeiros foi proposto por Danielsson em [15], em 1980, fornecendo um clculo inexato que foi aperfeioado depois por muitos autores. Existem outros mais recentes que, por seu impacto na melhora da eficincia, foram adotados como um padro para o clculo da TDE. O algoritmo proposto por Maurer em [16] e o algoritmo proposto por Saito em [17], melhorado por Meijster [18], esto entre os mais rpidos da literatura e so aplicveis para imagens de 2 e 3 dimenses. Uma operao derivada da TD a rotulao dos valores. Isto quer dizer que cada posio no mapa de distncias, alm do valor da distncia, vai conter a posio do pixel que ficou mais prximo a ele no clculo da TD. Esta operao importante em diagramas de voronoi [19], esqueletizao [19], anlise de curvatura [20] [21], transformada watershed [22] entre outras. Semelhante TDE, o custo computacional muito alto e ainda proibitivo para algumas imagens, especialmente para imagens em trs dimenses. Como no buscamos uma eficincia na velocidade do processo, neste artigo utilizado um mtodo lento, porm eficiente para a gerao da TDE, denominado mtodo bolha.

2.2. Esqueletizao
A esqueletizao um procedimento que surgiu na dcada de 60, primeiramente introduzida por Blum em [23]. O esqueleto constitui um conjunto de pontos no interior de um objeto de uma imagem, de modo a represent-lo. A definio de esqueleto diz que um ponto pertence ao esqueleto se ele o centro de um crculo mximo que toca a borda do objeto em pelo menos dois pontos distintos. O problema a dificuldade de se implementar crculos no plano discreto e a sua aproximao extremamente cara de forma computacional. A maioria dos algoritmos de esqueletizao encontrados na literatura [24] [25] [26] [27] [28] [29], utiliza o mesmo conceito aplicado ao centro de um losango, de um quadrado, ou uma combinao de ambos. Os esqueletos possuem vrias aplicaes em processamento de imagens, tais como: agrupamento, segmentao, vetorizao, descrio de formas, reconhecimento de caracteres, inspeo e outras. Neste projeto, o algoritmo de esqueletizao que ser utilizado se baseia no princpio de que todo ponto interno ao esqueleto um ponto da TDE que for um mximo local dentro sua vizinhana em uma das quatro direes possveis dentro de um espao discretizado.

16

2.3. Directed Acyclic Graph (DAG)


Um grafo uma coleo de pontos ou vrtices que se interconectam atravs de linhas. Se essas linhas possuem direes, elas so denominadas como arcos e o grafo resultante denominado como grafo dirigido. Se as linhas no possuem direes, elas so denominadas como conexes e o grafo como no dirigido. Um caminho em um grafo direcionado qualquer sequncia de arcos onde o vrtice final de um o vrtice inicial do prximo. Um ciclo um caminho em que seu vrtice inicial coincide com seu vrtice final. Grafos que no possuem ciclos so denominados acclicos. Algumas vezes, nmeros so associados com os arcos. Esses nmeros so chamados de pesos ou custos. Considerando um caminho representado por uma sequncia de arcos, o custo do caminho definido como a soma dos pesos de cada arco dessa sequncia. Grafos acclicos dirigidos ou DAG (Directed Acyclic Graph) [30] so muito utilizados em diferentes tipos de estruturas nos ramos da matemtica e da cincia da computao em inmeras aplicabilidades. Neste projeto, eles sero utilizados para se encontrar a melhor relao entre duas sries de dados atravs do clculo de menor caminho possvel dentro do grafo. Cada vrtice ser a relao que cada item de uma srie possui com outro item da outra srie. Os pesos dos arcos sero explicados mais adiante.

Figura 1. Exemplo de um DAG com pesos e o menor caminho possvel entre A e F traado
em vermelho.

17

2.4. Dynamic Time Warping (DTW)


Dynamic Time Warping (DTW) [31] uma tcnica bem conhecida utilizada para encontrar um alinhamento timo entre duas sequncias. Trata-se da parametrizao de um DAG onde os vrtices so posies em uma matriz de comparao entre duas sries de dados atravs dos seguintes pesos para os arcos: ((, ), (, )) = { ( , ) , < 2 < 2 , , (1)

onde (, ) um vrtice na linha e coluna e (, ) outro vrtice na linha e coluna da matriz de comparao. As comparaes na matriz geralmente so definidas como a diferena entre um elemento de uma srie e um elemento de outra srie. Depois dessa parametrizao, a DTW encontra o menor caminho possvel dentro do DAG e resulta a correspondncia (srie de vrtices) desse caminho. Intuitivamente, as sequncias so deformadas de forma no linear para combinarem entre si. Originalmente, a DTW foi utilizada para comparar diferentes padres em reconhecimento automtico de fala. Em campos como minerao de dados e recuperao de informao, a DTW tem sido aplicada com sucesso para lidar com deformaes temporais e diferentes velocidades associadas com dados dependentes de tempo. Neste projeto, ela ser utilizada para correlacionar duas sequncias de distncias euclidianas da TDE. As distncias euclidianas remetem espessura de um segmento do esqueleto da imagem. Dessa maneira, ser comparada a forma entre os segmentos de duas imagens diferentes. Essa comparao ser utilizada na dissimilaridade que ser explicada adiante.

Grfico 1. Exemplo de uma relao entre duas sries obtida atravs da DTW.

18

2.5. Algoritmo de Floyd-Warshall


Neste projeto, vamos usar uma formulao de programao dinmica diferente para encontrar o caminho mais curto entre todos os pares de vrtices em um grafo orientado. Conhecido como o algoritmo de Floyd-Warshall, executado em tempo O( 3 ). Ele considera os vrtices intermedirios de um caminho mais curto em que um vrtice intermdio de um caminho simples = 1 , 2 , , qualquer vrtice de diferente de 1 ou , isto , qualquer vrtice no conjunto {2 , 3 , . . . , 1 }. O algoritmo de Floyd-Warshall conta com a observao descrita a seguir. Sob a nossa hiptese de que os vrtices so = {1, 2, , }, vamos considerar um subconjunto {1, 2, , } para alguns dos vrtices . Para qualquer par de vrtices , , considere todos os caminhos de para cujos vrtices intermedirios so todos retirados de {1, 2, , }, e seja um caminho simples de peso mnimo entre eles. O algoritmo explora uma relao entre o caminho e caminhos mais curtos de para com todos os vrtices intermedirios no conjunto {1, 2, , 1}. A relao depende ou no se um vrtice intermedirio do caminho . Se no um vrtice intermedirio do caminho , ento todos os vrtices intermedirios do caminho esto no conjunto {1, 2, , 1}. Assim, um caminho mais curto do vrtice ao com todos os vrtices intermedirios no conjunto {1, 2, , } tambm o caminho mais curto do ao com todos os vrtices intermedirios no conjunto {1, 2, , }. Se um vrtice intermedirio do caminho , ento decompomos em . Como o vrtice no um vrtice intermdio de caminho 1, todos os vrtices intermedirios de 1 esto no conjunto {1, 2, , 1}. Portanto, 1 o caminho mais curto de para com todos os vrtices intermdios no conjunto {1, 2, , 1}. Da mesma forma, 2 um caminho mais curto do vrtice para com todos os vrtices intermdios no conjunto {1, 2, , 1}. Com base nas observaes acima, podemos computar os valores (peso/distncia do menor caminho do vrtice ao ) de uma matriz de caminhos em ordem de incrementao do valor de . A entrada do algoritmo uma matriz de dimenses cujos valores so as distncias dos caminhos diretos. A sada uma matriz de caminhos mais curtos de mesmas dimenses cujos valores so para a linha e coluna .
1 2

19

2.6. Suavizao de Laplace


A suavizao de Laplace (ou Laplace smoothing) uma tcnica geralmente utilizada para se evitar que clculos probabilsticos resultem em zero por um devido fator nulo dentro de uma srie em um produtrio. Um parmetro da srie de parmetros = (1 , 2 , , ) definido como: = + , + (2)

onde > 0 o parmetro de suavizao e = (1 , 2 , , ) uma srie de observaes com experimentos.

3. MATERIAIS E MTODOS
A priori, necessrio um banco de imagens vasto e variado com imagens devidamente tratadas. Essas diferentes imagens devem representar a mesma classe de objeto (elefantes, gatos, barcos, garfos, facas, etc.). O tratamento destas imagens deve manipul-las de tal forma que seja possvel distinguir as formas de suas figuras, pois o algoritmo exige uma distino especfica da figura e seu fundo que a contm (neste caso, a cor branca ser o fundo). A posteriori, utilizando-se um algoritmo de gerao de esqueletos [32], torna-se possvel efetuar uma anlise de suas propriedades de maneira eficiente. Tais propriedades formaro vetores com disposies hierrquicas. Esta metodologia dispor-se- como a ferramenta de assimilao atravs da maximizao da cogncia.

3.1. Banco de Imagens


O banco de imagens formando por imagens que permitam distinguir a silhueta da figura objeto. Os arquivos das imagens devem estar todos no formato BMP (ou Device Independent Bitmap). Imagens de outros formatos devem ser convertidas. Como o algoritmo de gerao de esqueleto exige uma silhueta de qualquer cor em cima de um fundo branco, alguns formatos de imagem no so adequados. Um exemplo destes formatos o JPEG (ou Joint Photographic Experts Group). Ele utiliza mtodos de compresso que transforma certos pixels em outras cores, podendo mudar o fundo da imagem. Imagens em que foi utilizada a tcnica de anti-aliasing (antiserrilhamento) tambm devem ser evitadas ou filtradas. Esta tcnica faz com que os pixels de fundo sejam confundidos erroneamente pelo algoritmo por mudar a colorao do fundo em volta da figura. Nestes casos, a no filtrao far com que o algoritmo no consiga distinguir a silhueta da figura.

20

Ambos tambm fazem com que certas figuras percam informao atravs da indistino de detalhes desfigurados. Neste projeto, tomamos uma srie de imagens capturadas avulsamente em diversos sites pela internet para base de testes iniciais bem como o banco de dados de Sebastian em [33] para a base de treinamento e testes finais. Em nenhuma delas houve restrio de direitos autorais. Elas se dividem em diversas classes, dentre elas: barcos, automveis, guarda-sis, sapatos, mveis, ps ou colheres, peixes, avies ou aves, quadrpedes e humanoides. Algumas delas tambm foram preparadas especificamente para facilitar os testes de implementao dos algoritmos. Outras possuem o mesmo objeto, porm com orientaes de 45 para que o algoritmo seja capaz de identificar o mesmo esqueleto independente de diversas variaes. Por fim, todas foram manipuladas para que seus fundos sejam brancos com boa distino da silhueta. A taxa de bits de todas as imagens foi mantida em 32 bits.

Figura 2. Diferena entre imagens do mesmo objeto. esquerda, a imagem com contraste
de pixels bem definido (aconselhada para o projeto). Ao meio, a mesma imagem com o mtodo de compresso de JPEG utilizado. direita, a mesma imagem com o mtodo de anti-aliasing utilizado. Tanto a imagem com o mtodo de compresso quanto a com o mtodo de anti-aliasing so totalmente descartveis se no forem devidamente filtradas. No entanto, deve-se considerar que mesmo aps o filtro, tais imagens podem perder informao entre o processo.

3.2. Esqueletizao
O foco da esqueletizao extrair a regio interior figura que representa a forma geral do objeto. Para isto, o algoritmo deve reconhecer este interior. Todo o trabalho de esqueletizao estar voltado a ele. Este esqueleto deve ento ser divido em vetores em uma organizao hierrquica. Para entender todos os procedimentos e mtodos empregados, alguns conceitos prvios so necessrios. Eles sero tratados com o desenvolver da explicao. 3.2.1. Biblioteca de leitura Uma biblioteca adicional voltada para a leitura de arquivos em formato BMP necessria para iniciar a anlise de seus contedos. atravs dela que podemos obter acesso lista
21

completa de pixels dentro de uma imagem. Toda informao dos pixels necessria ser a sua localizao e a sua respectiva cor. O conjunto de pixels deve ser organizado em uma matriz de disposio. Uma biblioteca funcional para este projeto na linguagem de programao C/C++ pode ser encontrada em [34]. 3.2.2. Interior, exterior e borda Na matriz de pixels, possvel definir algumas caractersticas que agrupam e diferenciam certos pixels que se tornaro teis para a anlise do contedo da imagem. Como o banco de imagens j foi tratado para que todas as imagens possuam fundo branco, definiremos que todo pixel branco no faz parte do objeto. Estes pixels sero tratados como pixels externos. O conjunto desses pixels definido como exterior e dado por
,

= , ; cor(, ) = ,
=1 =1

(3)

onde , o pixel na linha e coluna da matriz de pixels, a altura e a largura da imagem, a funo que retorna a cor de um dado pixel. Os pixels que no fazem parte do exterior da imagem possuem cores diferentes de branco. Eles sero tratados como pixels internos. O conjunto desses pixels definido como interior e dado por
,

= = , ; cor(, ) .
=1 =1

(4)

Existe tambm um conjunto de pixels que delimita o exterior do interior. Definido como borda, este conjunto um subconjunto do exterior. Ele composto por todo pixel do exterior que possui um pixel vizinho pertencente ao interior da imagem e dado por
,

= , ; , , ; | | 1 | | 1 .
=1 =1

(5)

3.2.3. Vizinhana A vizinhana de tamanho de um pixel o conjunto de pixels que o contornam em um quadrado. O quadrado formado por esse conjunto possui lado de tamanho 2 + 1.

22

definida como vizinhana de um pixel, quando for omitido seu tamanho, ou vizinhana 1 deste pixel, sua vizinhana de tamanho 1. Ela tambm reconhecida em [35] como 8-vizinhana por possuir 8 pixels vizinhos.

Figura 3. A vizinhana ou vizinhana 1 ou 8-vizinhana de um pixel. 3.2.4. Mapa de distncias primeira caracterstica que definir os padres das figuras fornecido o nome de distncia de um pixel. Trata-se do quadrado da distncia euclidiana de um pixel da figura at a borda mais prxima. Ela dada por dist(, ) = ( )2 + ( )2 , , ; , , ( )2 + ( )2 ( )2 + ( )2 . (6)

Para minimizar o tempo de execuo do algoritmo, deve-se evitar o clculo da raiz na distncia euclidiana convencional. Mesmo esta distncia possuindo um valor maior, servir para os devidos fins. Perceba tambm que essa definio tornaria o algoritmo muito lento se tivesse que verificar a distncia de todos os pixels da borda para um nico pixel interno. Desta forma, utiliza-se um mtodo bolha no incremento da iterao de e . Eles devem comear com os valores de e , tomando-os como referencial ao longo que vo expandindo em seu raio de vizinhana um a um enquanto , . Desta forma, o clculo de desigualdade ser feito apenas para todos os itens da vizinhana de tamanho . Outra forma de visualizar isto incrementando enquanto e so incrementados dentro dos limites da vizinhana . Esta distncia nem sempre ser a menor. Deve-se ento continuar incrementando o tamanho da vizinhana. Esta incrementao deve parar somente quando o quadrado de seu tamanho for igual distncia encontrada. Para cada incremento, deve-se continuar calculando a distncia dos pixels da borda dentro da vizinhana e verificar se algum deles possui valor menor do que a distncia encontrada previamente.

23

Existem casos que dois pixels vizinhos no diagonais possuem distncias iguais. Isto interferir no clculo do esqueleto. Para resolver isto, multiplica-se todas as distncias por 4 e cria-se um critrio de incrementao nas distncias vizinhas da seguinte maneira: 1. Se o vizinho com distncia igual estiver em uma vizinhana latitudinal, ou seja, a direita ou a esquerda do pixel em questo, sua distncia deve ser incrementada em 1; 2. Se o vizinho com distncia igual estiver em uma vizinhana longitudinal, ou seja, acima ou abaixo do pixel em questo, sua distncia deve ser incrementada em 2. Todas as distncias devem ser armazenadas na mesma matriz de pixels.

Figura 4. Exemplo em que a distncia calculada do pixel em vermelho para a vizinhana de


tamanho 5 41 para o pixel verde que o pixel da borda mais prximo dentro dessa vizinhana. Se incrementarmos a vizinhana at que o quadrado de sua distncia no ultrapasse 41 (tamanho 6), encontraremos pixels da borda que dispem de um clculo de distncia com resultado 36. Esta distncia nova menor do que a encontrada anteriormente e deve ser a distncia vlida para o pixel em questo. Isso acontece por que o incremento que fazemos em uma vizinhana quadrtica. Tal observao mostra que seu o raio de distncia, demonstrado em cinza escuro na figura, menor do que o raio de distncia do pixel da vizinhana anterior. Nesse caso, a menor sempre prevalece.

3.2.5. Transformao do Eixo Medial (MAT) A transformao do eixo medial, tratada aqui como MAT (ou Medial Axis Transform), o passo principal que comea a dar forma identificao do objeto. Ela o esqueleto da figura. Atravs de sua definio de representatividade do objeto e de sua minimizao, torna-se aplicvel o princpio de comparao deste projeto.
24

Ela composta por um conjunto de pixels que devem conter uma distncia euclidiana que possa presumir as bordas da figura sem que haja outros pixels que contenham a mesma informao. De modo topolgico, o raio de sua distncia no deve ser subconjunto do raio da distncia de nenhum outro pixel. Esta definio equivalente ao mtodo grassfire descrito em [36]. Um procedimento rpido est em definir como pixel da MAT todo pixel que corresponde a uma cumeeira entre seus pixels vizinhos. Ele ser um mximo local na sua vizinhana em uma nica direo levando em conta suas distncias.

Figura 5. Exemplo das 4 direes possveis da vizinhana de um pixel. Em vermelho, a


representao da cumeeira deste pixel. Ele um mximo local naquela direo, pois seu valor de distncia 36 maior que os outros dois 16.

Aps efetuar esse procedimento em todos os pixels da figura, necessrio fazer uma limpeza pois alguns pixels no so importantes para o esqueleto e devem ser retirados. Para identific-los, baseando-se em [37] [38], deve-se utilizar uma tabela com todas as configuraes possveis da 8-vizinhana para um nico pixel. Esta tabela definir quais configuraes tornam o pixel importante para manter a conexidade do esqueleto. Todo pixel no importante deve ser retirado da . Por exemplo: um pixel que fica entre apenas outros dois da (pixel com apenas dois vizinhos) em uma nica direo importante para a conexidade do esqueleto; sem ele, o esqueleto seria cortado naquele ponto, criando duas linhas desconectadas. Este procedimento deve ser feito com todos os pixels da MAT.

Figura 6. Exemplo de mapa de distncias e em vermelho de uma imagem de um


retngulo.

25

3.2.6. Vetorizao Um vetor um segmento unilinear do esqueleto. Ele composto por um conjunto de pixels coligados, definido como . Um vetor comea e termina em pixels com apenas um vizinho ou com trs ou mais. Os pixels que possurem apenas dois vizinhos sero o interior do vetor, enquanto os outros sero suas extremidades. Desta forma, divide-se a em diversos vetores coligados. Cada vetor representar uma parte da figura com suas prprias propriedades, como por exemplo, na figura da silhueta de um corpo humano, destacam-se os vetores dos membros, do tronco e da cabea (figura 7).

Figura 7. esquerda e vetorizao da direita da imagem da silhueta de um


corpo humano. Cada vetor representado na figura como um segmento de cor diferente.

3.2.7. Pontos crticos Aps a vetorizao da , como visto em [39], existem certos pontos que so considerados crticos dentro de uma imagem. Definimos esses pontos atravs de algumas propriedades peculiares que devem ser consideradas: 3. Existe um momento em que h bifurcao de segmentos de uma figura onde um segmento se divide em dois ou mais segmentos. Definimos um ponto na MAT da imagem onde esse momento ocorre como ponto crtico de bifurcao ou n de juno (junction node, em ingls); 4. Existe um momento em que h uma mudana no padro da espessura de um nico segmento de uma figura. Definimos um ponto na MAT da imagem onde esse momento ocorre como ponto crtico de distncia;
26

5. Existe um momento em que h uma mudana no padro da direo de um nico segmento de uma figura. Definimos um ponto na MAT da imagem onde esse momento ocorre como ponto crtico de curvatura; 6. Existe um momento em que um nico segmento de uma figura termina. Definimos um ponto na MAT da imagem onde esse momento ocorre como ponto crtico final ou n final (end node, em ingls). Esses pontos crticos so denominados assim por serem importantes para o reconhecimento da imagem. Cada propriedade definida pelos pontos crticos serve como comparao outra imagem. Seja um pixel pertencente ao vetor , um ponto crtico de distncia encontrado sempre que satisfazer a seguinte condio: dist( ) dist( 1 ) md(dist( )) ;

mn(dist( )) < mx(dist( ))2,


(5)

Utilizando o mtodo proposto por Yin em [40], a curvatura num dado ponto proporcional rea encontrada entre seus pixels vizinhos (figura 8). Dessa forma, um ponto crtico de curvatura encontrado sempre que seus pixels vizinhos formarem uma rea excessivamente grande.

Figura 8. Exemplo da rea de um pixel formada entre os seus vizinhos. Um meio de encontrar essa rea est em traar uma reta do ltimo vizinho de um lado do ponto ao ltimo vizinho do outro lado do ponto , ambos vizinhos dentro da faixa estipulada arbitrariamente, e somar a distncia calculada de cada ponto dentro dessa faixa at a reta traada. Cada ponto de um vetor deve ter sua rea armazenada. Neste projeto, fixado em 12 e se torna um ponto crtico quando sua rea a maior dentre todas dos pixels de .

27

Figura 9. Tabela com as primeiras 64 das 255 disposies possveis da 8-vizinhana de um


pixel. As disposies destacadas em vermelho so declaradas importantes para manter a conexidade do esqueleto. As destacadas em preto definem quando um pixel deve ser descartado da matriz do esqueleto. Dentre todas as 255 disposies, existem 140 declaradas como importantes.

3.2.8. Hierarquizao Os vetores de uma MAT devem ser categorizados no s por semelhana, mas por importncia tambm. Hierarquicamente, deve-se definir como mais importante o vetor que contm o pixel mais distante da figura. Este pixel carrega mais informao do que todos os outros. Seu vetor ser tratado como vetor pai de todos os outros vetores. A partir desse pixel, cada vizinho unidirecional que pertence ao esqueleto pertencer ao seu vetor. Se existirem mais de dois vizinhos, cada um gerar uma ramificao nova. Cada ramificao do vetor em questo ser tratada como vetor filho. Cada vetor filho tambm ter seus prprios filhos
28

atravs de suas outras ramificaes. A cada vizinho da , deve ser feita essa mesma verificao. O resultado ser uma srie de adoo de pixels at que cada ramificao encontre um fim na linha do esqueleto. Esse ltimo ponto final de um vetor possui 7 vizinhos que no fazem parte do esqueleto. Cada segmento ter sua importncia hierrquica atravs de seu nvel de encadeamento. Quanto mais distante do primeiro vetor pai, menos importante se torna. 3.2.9. Segmentao A segmentao do esqueleto um problema relevante. O algoritmo implementado permite realizar com sucesso essa tarefa. Trata-se da capacidade de separar os segmentos da MAT como objetos unvocos. Atravs dessa separao, se torna possvel a aplicao da anlise necessria para a comparao entre diferentes segmentos. Comparar segmentos um mtodo dinmico de se resolver o problema de comparao entre imagens por completo. Cada comparao deve retornar um resultado especfico que ser unificado atravs dos resultados das comparaes de outros segmentos.

Figura 10. Exemplo de segmentao da MAT da imagem de uma silhueta de uma pssaro.
A MAT foi decomposta em quatro segmentos. Cada cor representa um segmento diferente. As curvas internas representam o MAT segmentado, enquanto o preenchimento colorido representa as distncias dos pixels internos ao segmento. Os pontos destacados com cores opostas so pontos crticos.

3.3. Reconhecimento
Definimos classe como o objeto que uma imagem representa. Logo, a classe nada mais do que uma memria acolhida da comparao de vrias imagens de mesma representatividade. Como descrito em [41], de acordo com o mtodo bayesiano, a probabilidade de uma imagem ser da classe a mxima a posteriori (MAP ou Maximum a Posteriori Estimation):

29

(|) = arg mx () ( |) , = arg mx


=1

(7)

sendo o conjunto de classes memorizadas, o vetor e o total de vetores da imagem. ao invs de porque no conhecemos os verdadeiros valores dos Escrevemos parmetros () e ( |), mas estimamo-los atravs do treinamento como ser visto adiante. Na equao (7), muitas probabilidades condicionais so multiplicadas. Isso pode resultar em um estouro negativo de ponto flutuante (float pointing underflow, em ingls) em um computador. Por esse motivo, torna-se mais vivel executar o clculo por adio de logaritmos das probabilidades ao invs de multiplic-las. A classe com o valor mais alto da probabilidade logartmica ainda a mais provvel, uma vez que logaritmo uma funo montona. Outro ponto importante na comparao entre imagens que a probabilidade a priori () da classe no interessante para o objetivo deste projeto, pois no h a necessidade de se identificar a frequncia relativa da classe. Desta maneira, o clculo atualmente implementado :

( |) . = arg mx log
=1

(8)

( |) A equao (8) possui uma interpretao simples. Cada parmetro condicional um peso que indica o quo bom um indicador para . Quanto mais indicadores bons, mais evidncias existem de que a imagem da classe . ( |), dois mtodos diferentes para Para se estimar a probabilidade condicional comparao foram implementados. Cada mtodo nico e obtm em um resultado prprio. Essa comparao ser analisada mais adiante. 3.3.1. Dissimilaridade e semelhana entre segmentos O primeiro mtodo leva em conta o grau de dissimilaridade entre os vetores. Tal dissimilaridade mensurada comparando diversas propriedades, cada uma com um peso arbitrrio que ser levado em conta na frmula de semelhana: 1. Tamanho (peso: 2) Esta propriedade trata do mdulo da diferena das relaes entre o tamanho do vetor e soma dos tamanhos de todos os vetores do esqueleto respectivo, dada pela frmula:

30

1 ( , ) = |

tam( ) =1 tam( )

tam( ) ) =1 tam (

|,

(9)

onde tam o tamanho do vetor e e so o total de vetores do esqueleto de cada imagem. Esse valor representa o quo grande um vetor relativo ao esqueleto inteiro da imagem. Essa diferena interpretada como um grau de dissimilaridade para os tamanhos de dois vetores de imagens diferentes. 2. Espessura (peso: 6) Esta propriedade trata do formato de um vetor. Ela se baseia na distncia de cada pixel do vetor. Sua dissimilaridade calculada atravs do mdulo da diferena da distncia relativa de um ponto um vetor a outro ponto correspondente de outro vetor. A distncia relativa do ponto de um vetor dada pela frmula: ( ) = dist( ) /max dist( ) ; > 1 .

(10)

A diferena entre duas distncia relativas dada por: ( , ) = |( ) ( )| . (11)

Essa comparao retorna uma matriz de comparaes entre cada ponto = ( 2 , 3 , , ) do vetor com todos os pontos = ( 2 , 3 , , ) do vetor : ( 2 , 2 ) DR( , ) = ( 3 , 2 ) ( ( , 2 ) ( 2 , 3 ) ( 3 , 3 ) ( , 3 ) ( 2 , ) (12)

( 3 , ) . ( , ))

Para se calcular a semelhana total entre a imagem e a classe, aplica-se uma tcnica descrita em [31] chamada DTW (Dynamic Time Warping). Trata-se de uma tcnica que retorna a correspondncia do caminho mais curto de um grafo acclico dirigido (DAG ou Directed Acyclic Graph) da matriz de comparaes utilizando os pesos de conexes: ( ( , ) , ( , )) ={ ( , ) , 0 < 2 0 < 2 , (13)

Aplicando a DTW na matriz, obtm-se a melhor relao entre os vetores (figura 10).

31

Utilizando a lista de correspondncia entre os pontos dos vetores, definimos ento a correspondncia como: ( , ) = arg (P( , )) .

(14)

Figura 11. Exemplo de DTW aplicada a duas sries de taxas de crescimento de distncias.
As linhas em verde e azul representam cada srie de taxas enquanto as linhas em preto representam as melhores correspondncias obtidas pelo emprego da DTW.

Deve-se ento levar em conta apenas as comparaes entre os itens correspondidos e ento aplic-las na frmula:

( , ) =

| ( ) ( )|

=1 | ( )

+ ( )|

(15)

onde o nmero de correspondncias. Essa frmula retorna uma proporo de dissimilaridade entre as taxas de crescimento de distncias dos vetores dados. Contudo, para que no haja comparaes errneas por vetores inversos, deve-se fazer a mesma comparao para um dos vetores invertidos, definida como . Ento o valor da propriedade ser: 2 ( , ) = (, ) , 3. Curvatura (peso: 2) Esta propriedade trata do formato de um vetor. Ela se baseia na curvatura que o vetor tem em determinados pontos. Utiliza-se o mesmo mtodo proposto para se encontrar um ponto crtico de curvatura, no entanto, calcula-se a rea para todos os pontos do segmento. A comparao dessa propriedade entre os vetores feita anloga ao item anterior, utilizando a mesma correspondncia obtida pela DTW (aqui j definida se normal ou invertida) das taxas de distncias: (16)

32

3 ( , ) =

| ( ) ( )|

=1 | ( ) + ( )|

(17)

Para que as comparaes sejam mais prximas, antes de encontrar o valor de cada propriedade, deve-se aumentar ambos os vetores para o mnimo mltiplo comum entre seus tamanhos. Dessa forma, cada item dos vetores ser repetido vezes onde . O grau de semelhana entre dois vetores ser ento o inverso unitrio da mdia das dissimilaridades de suas propriedades multiplicadas pelos seus respectivos pesos: P( , ) = 1 ) ( ) =1 ( , ) =1 ( , (18)

onde valor do peso da propriedade. Computa-se a semelhana entre cada vetor = ( 1 , 2 , , ) da classe com cada vetor = ( 1 , 2 , , ) da imagem e armazena-se em uma matriz de comparao: ( 1 , 1 ) P( , ) = ( 2 , 1 ) 1 ) ( ( , ( 1 , 2 ) ( 2 , 2 ) ( , 2 ) ( 1 , ) (19)

( 2 , ) . ( , ))

Para se calcular a semelhana total entre a imagem e a classe, deve-se obter os menores valores da matriz sem que um valor no esteja na mesma linha ou coluna do valor obtido anteriormente. Esse critrio nos oferece certeza de que todo vetor ser considerado apenas uma vez, ou seja, a relao ser de um para um at que termine todos os vetores de um dos esqueletos das imagens. Utilizando a lista de correspondncia entre os vetores da imagem e os da classe dada pela semelhana total, definimos ento a correspondncia do vetor como: = arg mn P( , ) ,

(20)

onde mn segue o critrio descrito. Levando em conta a frequncia relativa de um vetor em uma classe (visto adiante): () = + 1 , + 2 (21)

33

onde e so a frequncia com que o vetor surgiu durante o treinamento da classe e a frequncia com essa classe foi treinada, respectivamente, podemos finalmente, estipular a probabilidade condicional: ( |) = { ( ) ( , ) , 1 , . (22)

O termos aditivos 1 e 2 no numerador e denominador, respectivamente, da equao 23 uma tcnica chamada suavizao de Laplace (ou Laplace smoothing), em que o parmetro de suavizao 1 e o nmero de estados 2, representando o estado do vetor pertencer ou no imagem. Perceba que 1 o mesmo que considerar que um vetor aconteceu apenas uma vez durante o treinamento. Isso exatamente o que acontece quando no se encontra um par para no outro esqueleto. Para cada vetor , com = (1, 2, , ), que no tenha correlao, deve-se multiplicar a probabilidade condicional estipulada pelo fator da probabilidade de no acontecer na imagem:

( |) + log = arg mx ( log


=1 =1

+ 1 ). + 2

(23)

3.4. Treinamento
O treinamento de uma classe consiste na gerao de uma imagem sntese para cada classe atravs da comparao feita entre vrias imagens de mesma representatividade para cada classe respectiva. Gera-se e grava-se uma lista de vetores comparados entre as imagens. Cada correspondncia dos vetores com maior semelhana assimila-os para um nico vetor da classe. Esse vetor ser a mdia dos valores de cada propriedade dos vetores correspondentes de tal forma que seja sempre considerado o nmero de vezes que o vetor foi assimilado. Alguns vetores de uma imagem podem no possuir correspondncia nenhuma com a outra pelo fato dessa imagem possuir um nmero maior de vetores. Esses vetores so adicionados na lista como novos vetores para a classe. A frequncia com que os vetores so assimilados durante o treinamento tambm armazenada. Dessa forma, os vetores com maior frequncia sero mais significativos durante a comparao, o que os torna a priori um bom indicador para a classe.
34

Como o desenvolvimento do projeto utiliza duas formas diferentes de reconhecimento entre imagens, o processo de treinamento descrito foi utilizado apenas no mtodo de dissimilaridade e semelhana. Para o mtodo de caminhos e pontos crticos, cada imagem est dentro de um grupo de classe. Cada imagem armazenada isoladamente, e a comparao para uma classe feita entre todas as imagens armazenadas para aquele grupo. A imagem que obtiver maior probabilidade na comparao retornar sua classe do grupo como reconhecimento.

35

4. CRONOGRAMA
4.1. Cronograma Proposto
Etapa 1. Criar um banco de imagens 2D 2. Implementar o algoritmo de gerao de esqueletos: Feldman & Singh 3. Implementar um mecanismo de maximizao de cogncia 4. Treinar o mecanismo de maximizao de cogncia 5. Avaliar o mtodo implementado para reconhecimento de imagens 2D 6. Publicar os resultados 7. Reviso bibliogrfica 2011 2012 09 10 11 12 01 02 03 04 05 06 07 08

4.2. Cronograma Realizado


Etapa 1. Criar um banco de imagens 2D 2. Implementar o algoritmo de gerao de esqueletos: Feldman & Singh 3. Implementar um mecanismo de maximizao de cogncia 4. Treinar o mecanismo de maximizao de cogncia 5. Avaliar o mtodo implementado para reconhecimento de imagens 2D 6. Publicar os resultados 7. Reviso bibliogrfica 2011 2012 09 10 11 12 01 02 03 04 05 06 07 08

36

5. RESULTADOS
Para obter a matriz de distncias da figura, um arquivo CSV (ou Comma-Separated Values) torna-se suficiente para armazen-las. Para a esqueletizao e vetorizao, a criao de arquivos de imagem no formato BMP retorna com eficcia o esqueleto da figura destacado e seus vetores com cores diferentes para simbolizar cada segmento. Atravs destes arquivos unidos anlise do tempo de processamento para cada imagem, podemos evidenciar a efetividade do algoritmo.

Figura 12. Exemplos de figuras, seus respectivos esqueletos e vetores destacados em


arquivos de imagem BMP separados.

Foram selecionadas as imagens do banco de dados [33] que tiveram os melhores esqueletos gerados. Elas so compostas em 16 classes: pssaro, osso, camelo, criana, carro clssico, cachorro, pessoa, elefante, garfo, copo, martelo, mo, corao, coelho, arraia e tartaruga. Essa seleo abrange 90 imagens de treinamento e 37 de teste. O algoritmo acertou 16 imagens de teste. A preciso do reconhecimento foi de 40,54%. Em [42] pode-se encontrar os arquivos de imagens e resultados obtidos ao longo do trabalho.

37

Quadro 1. Alguns dos resultados obtidos durante o teste do primeiro mtodo de reconhecimento (dissimilaridade e semelhana). Foram selecionadas apenas algumas
imagens representativas. O universo de imagens de treinamento e as classes de imagens so mais numerosos.

38

TESTE

TREINAMENTO

Pssaro

Osso

Corao

Garfo

Copo

Carro

Coelho

Pessoa

6. CONCLUSO
O mtodo de comparao de imagens resultou em erros indesejados. Uma das razes est no fato do mecanismo de reconhecimento levar em conta diferentes critrios. O problema multicritrio depende de pesos arbitrrios para cada critrio. Isto torna o processo impreciso e dependente do conjunto de imagens de treinamento. Outra fonte de erros o algoritmo DTW que nem sempre retorna uma correspondncia ideal. A abordagem utilizada de representao do esqueleto por pontos crticos mostrou-se muito interessante. uma representao compacta com poucos pontos, o que permite implementar algoritmos computacionalmente complexos. Verifica-se que uma representao que apresenta uma variao relativamente grande para imagens semelhantes, o que dificulta o processo de reconhecimento de imagens. Entretanto, resultou num procedimento eficiente para segmentao de imagens, que outro processo relevante para processamento e reconhecimento de imagens. Desta forma, vislumbra-se que, em associao com outras tcnicas, pode contribuir para mtodos eficientes de reconhecimento.

39

7. DISCUSSO E TRABALHOS FUTUROS


Um dos problemas da abordagem de vetores de pontos crticos utilizar um ponto central da imagem como referncia. Isto produz vetores diferentes para imagens semelhantes, simplesmente porque o ponto central de referncia pode ser muito diferente para imagens semelhantes. Uma alternativa o emprego de caminhos entre os pontos extremos da imagem. Este mtodo mais robusto e confivel. Permitiria filtrar com maior facilidade pontos crticos com grandes variaes entre imagens semelhantes.

Figura 13. Os 10 caminhos possveis para o esqueleto da imagem da silhueta de um corpo


humano. Alguns vetores so utilizados mais de uma vez, mas nenhum caminho se repete. A direo do caminho indiferente, pois neste projeto tratamos de ambas as direes.

Pode-se perceber que as imagens com menos ramificaes, em geral, assumem maiores acertos. A preciso esperada era entre as mdias dos outros algoritmos estudados. Comparando suas precises, este algoritmo est abaixo da metade da preciso do melhor algoritmo analisado (tabela 1). O processo de elaborao do esqueleto muitas vezes resulta em grafos ruidosos, com vrias ramificaes esprias relacionadas com pequenas perturbaes do contorno. O processo de eliminao dessas ramificaes mostrou-se eficiente. Porm, em alguns casos, o mecanismo pode introduzir diferenas dos esqueletos de imagens similares, o que tambm uma fonte de erro de reconhecimento. As falhas podem ter ocorrido decorrentes da utilizao de uma metodologia no muito eficaz para a anlise dos segmentos, ou seja, os parmetros utilizados para a comparao

40

(tamanho, espessura e curvatura) no so totalmente confiveis, tendo em vista que os resultados no corresponderam com as expectativas. Tabela 1. Preciso de diferentes algoritmos de comparao de imagens que utilizam o mesmo banco de dados. Algoritmo Algoritmo deste projeto SC [43] Gen. Model [44] Path Similarity [45] Shock Edit [33] IDSC + DP [46] Mdia de acertos 40,5% 75,6% 88,5% 93,9% 95,6% 95,8%

41

REFERNCIAS BIBLIOGRFICAS
1. HECHT-NIELSEN, R. Cogent Confabulation. Neural Network Letter, 03 nov. 2004. 2. HECHT-NIELSEN, R. The Mechanism of Thought. IBM Research: Almaden, 10 mai. 2006. Disponivel em: <http://www.almaden.ibm.com/institute/2006/agenda.shtml>. Acesso em: 29 fev. 2012. 3. HECHT-NIELSEN, R. Confabulation Theory: The Mecanism of Thought. University of California, So Diego, EUA: Springer, 2007. 4. HECHT-NIELSEN, R. et al. Confabulation Theory. Physics of Life Reviews, University of California, So Diego, EUA, n. 5, p. 106-120, abr. 2008. ISSN 1571-0645. 5. WILDER, J.; FELDMAN, J.; SINGH, M. Superordinate shape classification using natural shape statistics. Elsevier. Rutgers University, New Brunswick, EUA. 2011. 6. CLEARY, A. M.; LANGLEY, M. M.; SEILER, K. R. Recognition without picture identification: Geons as components of the pictorial memory trace. Psychonomic Bulletin & Review, Iowa State University, Iowa, EUA, n. 5, nov. 2004. 7. UNGERLEIDER, L. G.; BELL, A. H. Uncovering the visual alphabet: Advances in our understanding of object perception. Elsevier, National Institutes of Health, Bethesda, EUA, out. 2010. 8. ROSENFELD, A.; PFALTZ, J. L. Distance Functions on Digital Pictures. Pattern Recognition. Laboratoire dInformatique Fondamentale de Marseille University of Maryland, p. 33-61, 1968. Disponivel em: <http://pageperso.lif.univmrs.fr/~edouard.thiel/rech/1968-rosenfeld-pfaltz.pdf>. Acesso em: 20 mai. 2012. 9. FABBRI, R. et al. 2D Euclidean Distance Transform Algorithms: A Comparative Survey. ACM Computing Surveys, Nova York, EUA, v. 40, n. 1, fev. 2008. 10. PARKER, J. R. Algorithms for Image Processing and Computer Vision. 1. ed. : Wiley, 1996. 11. VINCENT, L.; SOILLE, P. Watersheds in digital spaces: An efficient algorithm based on immersion Simulations. IEEE Transactions on Pattern Analysis and Machine Intelligence, v. 13, 1991. 12. BACKES, A. R.; BRUNO, O. M. Fractal and Multi-Scale Fractal Dimension analysis: a comparative study of Bouligand- Minkowski method. UFLA. Lavras, MG, p. 74-83. 2008. 13. BACKES, A. R.; CASANOVA, D.; BRUNO, O. M. Plant leaf identification based on volumetric fractal dimension. International Journal of Pattern Recognition and

42

Artificial Intelligence, v. 23, p. 1145-1160, 2009. 14. CHIN, Y. et al. Vision guided AGV using distance transform. Nanyang Technological University. Singapura. 2001. 15. DANIELSSON, P. E. Euclidean distance mapping. Computer Graphics and Image Processing. Nova York, EUA: Springer, v. 14, 1980. 227-248 p. 16. MAURER, C. Q. R.; RAGAVHAN, V. A linear time algorithm for computing the Euclidean distance transform in arbitrary dimensions. IEEE Transactions on Pattern Analysis and Machine Intelligence, v. 2, n. 25, p. 265-270, 2003. 17. SAITO, T.; TORIWAKI, J. New algorithms for Euclidean distance transformations of an ndimensional digitised picture with applications. Pattern Recognition, v. 27, n. 11, p. 1551-1565, 1994. 18. MEIJSTER, A.; ROERDINK, J.; HESSELINK, W. A general algorithm for computing distance transforms in linear time. University of Groningen. Groningen, Holanda. 2000. 19. GUAN, W.; MA, S. A list-processing approach to compute voronoi diagrams and the euclidean distance transform. IEEE Transactions on Pattern Analysis and Machine Intelligence, Washington, EUA, v. 20, n. 7, p. 757-761, 1998. 20. FALCO, A. X.; COSTA, L. F.; CUNHA, B. S. Multiscale skeletons by image foresting transform and its applications to neuromorphometry. Pattern Recognition 35, n. 7, 2002. 21. TORRES, R. S.; FALCO, A. X.; COSTA, L. F. A graph-based approach for multiscale shape analysis. Pattern Recognition, v. 37, n. 6, 2004. 22. BEUCHER, S.; MEYER, F. The morphological approach to segmentation: The watershed transformation. Mathematical Morphology in Image Processing, 1993. 23. BLUM, H. A transformation for extracting new descriptors of shape. Massachusetts Institute of Technology. Massachusetts, EUA, p. 362-380. 1967. 24. ARCELLI, C.; CORDELLA, L. P.; LEVIALDI, S. From local maxima to connected skeletons. IEEE Transactions on Pattern Analysis and Machine Intelligence, v. PAMI-3, n. 2, p. 134-143, 1981. 25. ARCELLI, C.; BAJA, G. S. A one-pass two-operation process to detect the skeletal pixels on the 4-distance transform. IEEE Transactions on Pattern Analysis and Machine Intelligence, v. 11, n. 4, p. 411-414, 1989. 26. LEYMARIE, F.; LEVINE, M. D. Simulating the grassfire transform using an active contour model. IEEE Transactions on Pattern Analysis and Machine Intelligence, v. 14, n. 1,
43

p. 56-75, 1992. 27. MARAGOS, P. Morphological skeleton representation and coding of binary images. IEEE Transactions on Acoustics, Speech and Signal Processing, v. 34, p. 1228-1244, 1986. 28. XIA, Y. Skeletonization via the realization of the fire front's propagation and extinction in digital binary shapes. IEEE Transactions on Pattern Analysis and Machine Intelligence, v. 11, n. 10, p. 1076-1086, 1989. 29. ZHANG, T. Y.; SUEN, C. Y. A fast parallel algorithm for thinning digital patterns. Communications of the ACM, v. 27, n. 3, p. 236-239, 1984. 30. CHRISTOFIDES, N. Graph Theory: An Algorithmic Approach, 1975. 31. MLLER, M. Information Retrieval for Music and Motion, v. XVI, p. 69, 2007. ISSN 978-3-540-74048-3. 32. FELDMAN, J.; SINGH, M. Bayesian estimation of the shape skeleton. PNAS, 2006. Disponivel em: <www.pnas.org/cgi/doi/10.1073/pnas.0608811103>. Acesso em: 8 out. 2011. 33. SEBASTIAN, T. B.; KLEIN, P. N.; KIMIA, B. B. Recognition of Shapes by Editing Shock Graphs. Brown University, 2001. Disponivel em: <http://www.lems.brown.edu/vision/researchAreas/SIID/>. Acesso em: 30 jul. 2012. 34. KALYTTA, B. Windows Bitmap File Loader. Kalytta, 2006. Disponivel em: <http://www.kalytta.com/bitmap.h>. Acesso em: 05 out. 2011. 35. SOUZA, A. F. Esqueletos 8-isotrpico. INPE. So Jos dos Campos, SP, p. 93. 2002. (INPE-8856-TDI/804). 36. OGNIEWICZ, R. L.; KBLER, O. Hierarchic Voronoi Skeletons. Swiss Federal Institute of Technology ETH. Zrich, Sua. 1995. (CH-8092). 37. VINCENT, L. Eficient Computation of Various Types of Skeletons. Medical Imaging. Diviso de Cincias Aplicadas, Pierce Hall, Cambridge, EUA: SPIE, v. 5, 1991. 297-311 p. 38. VINCENT, L. Algorithmes Morphologiques Base de Files d'Attente et de Lacets Extension aux Graphes. Ecole Nationale Suprieure des Mines de Paris. Paris, Frana. 1990. 39. LATECKI, L. J. et al. Skeletonization Using SSM of the Distance Transform. Temple University. Philadelphia, EUA. 2007. (ICIP 2007). 40. YIN, P.-Y. Algorithms for straight line fitting usingk-means. Pattern Recognition Letters,
44

v. 19, p. 31-41, 1998. 41. MANNING, C. D.; RAGHAVAN, P.; SCHTZE, H. An Introduction to Information Retrieval. Cambridge, Inglaterra: Cambridge University Press, 2009. 258-262 p. 42. ALVES, F. F. Reconhecimento de Imagens 2D - Pasta de compartilhamento. Google Drive, 2012. Disponivel em: <https://drive.google.com/?authuser=0#folders/0B4f3aigRrfhVTTYxdjI4RXFHb3c>. Acesso em: 5 out. 2012.

43. BELONGIE S.; PUZHICHA, J., MALIK, J. Shape Matching and Object Recognition Using Shape Contexts. IEEE Trans. Pattern Analysis and Machine Intelligence, vol. 24, n. 4, pg. 509-522, abr. 2002. 44. YUILLE, Z.; YUILLE, A. Shape Matching and Recognition: Using Generative Models and Informative Features. Proc. European Conf. Computer Vision, vol. 3, pg. 195-209, 2004. 45. BAI, X.; LATECKI, L. Path Similarity Skeleton Graph Matching. IEEE Trans. Pattern Analysis and Machine Intelligence, vol. 30, n. 7, jul. 2008. 46. LING H.; JACOBS, D. Shape Classification Using InnerDistance. IEEE Trans. Pattern Analysis and Machine Intelligence, vol. 29, n. 2, pg. 286-299, fev. 2007.

45

You might also like