iii wvc 2007

363
III Workshop de Visão Computacional 22 a 24 de Outubro de 2007 UNESP - IBILCE – São José do Rio Preto WVC’ 2007 ANAIS UNESP – Campus de São José do Rio Preto Departamento de Ciência de Computação e Estatística 2007

Upload: hatuong

Post on 08-Jan-2017

386 views

Category:

Documents


37 download

TRANSCRIPT

Page 1: III WVC 2007

III Workshop de Visão

Computacional

22 a 24 de Outubro de 2007

UNESP - IBILCE – São José do Rio Preto

WVC’ 2007

ANAIS

UNESP – Campus de São José do Rio Preto Departamento de Ciência de Computação e Estatística

2007

Page 2: III WVC 2007

Workshop de Visão Computacional (3. : 2007 : São José do Rio Preto,

SP).

Anais do III Workshop de Visão Computacional / UNESP. IBILCE

São José do Rio Preto, [comissão de organização Inês Aparecida

Gasparotto Boaventura ] ... [et al.]]. – São José do Rio Preto : UNESP.

Campus de São José do Rio Preto, 2007.

1 CD-ROM

ISBN 978-85-61152-00-0

1. Processamento de imagens - Congressos. 2. Visão por

computador – Congressos. 3. WVC’2007. I. Boaventura, Inês

Aparecida Gasparotto. II. Gonzaga, Adilson. III. Título.

CDU – 004.932

ii

Page 3: III WVC 2007

Instituto de Biociências, Letras e Ciências ExatasUniversidade Estadual Paulista

UNESPReitoria

Prof. Dr. Marcos Macari

Vice-ReitoriaHerman Jacobus Cornelis Voorwald

IBILCEDireção

Prof. Dr. Carlos Roberto Ceron

Vice-DireçãoProf. Dr. Vanildo Luiz Del Bianchi

Departamento de Ciência de Computação e Estatística Chefia

Prof. Dr. Mário Luiz Tronco

Vice-ChefiaProf. Dr. Antonio José Manzato

iii

Page 4: III WVC 2007

WVC 2007 – III Workshop de Visão Computacional

Comissão de Organização

Inês Aparecida Gasparotto Boaventura (DCE-IBILCE-UNESP) Maurílio Boaventura (DCCE-IBILCE-UNESP)

Mário Luiz Tronco (DCCE-IBILCE-UNESP) Aledir Silveira Pereira (DCCE-IBILCE-UNESP)

Eliana Xavier Linhares de Andrade (DCCE-IBILCE-UNESP) Aparecido Nilceu Marana ( FC-UNESP- Bauru)

Adilson Gonzaga (EESC-USP) Evandro Luis Linhari Rodrigues (EESC- USP)

Comissão de Programa

Adilson Gonzaga (EESC-USP) Agma Juci Machado Traina (ICMC-USP)

Alejandro Cesar Frery (UFAL) Aledir Silveira Pereira (Ibilce-UNESP-São José do Rio Preto) Aylton Pagamisse (FCT – UNESP – Presidente Prudente) Ana Cláudia Patrocínio (EESC/USP e Univ. MACKENZIE )

Aparecido Nilceu Marana (UNESP-Bauru) Carlos Dias Maciel (EESC-USP)

Célia Aparecida Zorzo Barcelos (UFU) Cláudio Kirner (FACEN-UNIMEP)

Daniela M. Ushizima (Univesidade de Santos) Evandro Luis Linhari Rodrigues (EESC-USP)

Fátima de Lourdes S. Nunes (UNIVEM/Marília) Homero Schiabel (EESC-USP)

Ivan Nunes da Silva (EESC-USP) Jander Moreira - ( UFSCar)

João do Espírito Santo Batista Neto (ICMC-USP) José Alfredo F. Costa (UFRN)

José Eduardo Cogo Castanho (UNESP-Bauru) José Roberto Nogueira (FCT – UNESP – Presidente Prudente)

Leonardo Vidal Batista (UFPB) Liliane Ventura Schiabel (EESC-USP)

Luciano da Fontoura Costa (IFSC-USP) Luis Augusto Consularo (UNIMEP) Luís Gustavo Nonato (ICMC/USP)

Marcelo Andrade C. Vieira (EESC/USP) Maria Cristina Ferreira Oliveira (ICMC/USP) Maria Stela Veludo de Paiva (EESC-USP)

Mário Luiz Tronco (Ibilce-UNESP- São José do Rio Preto) Maurício Galo (FCT – UNESP – Presidente Prudente)

Maurilio Boaventura (Ibilce-UNESP- São José do Rio Preto)

iv

Page 5: III WVC 2007

WVC 2007 – III Workshop de Visão Computacional

Créditos

Web Designer Ana Carolina Nicolosi da Rocha Gracioso (EESC-USP)

LogotipoRafael Bertacini Gonzaga(ECA-USP)

Apoio técnico Henrique Antonio Vian (IBILCE-UNESP)

Marcos Proença de Almeida (IBILCE-UNESP) Tiago Alexandre Dócusse (IBILCE-UNESP)

Wallace Correa de Oliveira Casaca (IBILCE-UNESP)

ArteJaqueline Marega Alexandre (IBILCE-UNESP)

São José do Rio Preto Outubro 2007

v

Page 6: III WVC 2007

Apoio

Sociedade Brasileirade Computação

Patrocinadores

vi

Page 7: III WVC 2007

Apresentação

A área de Visão Computacional fortemente implantada em todo o mundo tem crescido de maneira significativa nos últimos anos no Brasil. Caracteriza-se primordialmente pela utilização de Imagens Digitais associadas a técnicas de Reconhecimento de Padrões. Além disso, o estudo de métodos cognitivos, processos biológicos, processos físicos e estatísticos tem gerado soluções importantes para a área de Visão Computacional. O II Workshop de Visão Computacional (WVC’2006) aconteceu no período de 16 a 18 de Outubro de 2006, na USP, Campus de São Carlos, sob a realização do Departamento de Engenharia Elétrica (SEL) da Escola de Engenharia de São Carlos (EESC). O evento contou com apoio da FAPESP e CAPES (http://iris.sel.eesc.usp.br/wvc2006) O evento que deu origem à série, o WVC’2005, aconteceu na cidade de Piracicaba, SP, em conjunto com o WRA’2005 – II Workshop de Realidade Aumentada, no período de 21 a 23 de Setembro de 2005, e foi organizado pelo Departamento de Ciências da Computação da UNIMEP (http://iris.sel.eesc.usp.br/wvc2005). A idéia é fazer com que o evento aconteça anualmente em diferentes localidades no Brasil, para que os centros organizadores possam se tornar conhecidos e inserir os seus pesquisadores no cenário nacional, em relação às pesquisas que realizam na área de processamento de imagem e visão computacional. Dado o sucesso do II WVC, com a participação de pesquisadores de centros localizados em diferentes regiões do país, conclui-se que o WVC é um evento científico que está ganhando importância no cenário nacional, e o único que trata especificamente de pesquisas envolvendo todos os aspectos de estudos em visão computacional e processamento de imagem. O objetivo do WVC´2007 - III Workshop de Visão Computacional é trazer para discussão trabalhos desenvolvidos em Universidades e Centros de Pesquisas Brasileiros, visando estimular grupos de pesquisas em Visão Computacional na geração de idéias e na divulgação dos trabalhos realizados.

PALESTRANTES CONVIDADOS:

Professor Dr. Mark Nixon Distinguished Professor in the School of Electronics and Computer Science, University of Southampton, UK.

Professor Dr. Luciano Costa da Fontoura Professor Doutor do Instituto de Física da Universidade de São Paulo, São Carlos, SP

Professora Dra. Célia Ap. Zorzo Barcelos Professora Titular da Faculdade de Matemática, Universidade Federal de Uberlândia

Profa. Inês A G Boaventura Coordenadora Geral

vii

Page 8: III WVC 2007

Índice

Classificação de Objetos Móveis em Cenas de Tráfego Urbano ...............................1 Regis C. Bueno, Flavius P. R. Martins

Redes Neurais Artificiais Aplicadas à Segmentação e Classificação de Imagens Digitais de Úlceras Cutâneas .....................................................................................6 A. S. Tarallo, A. Gonzaga, M. A. C. Frade, W. G. Rocha

Reconhecimento de Faces Humanas através de Algoritmo Genético aplicado em Razões Áureas ...........................................................................................................12 Walison Joel Barberá Alves, Adilson Gonzaga

Seleção Automática de Componentes de Cor para Segmentação de Imagens ........18 Henrique de Souza Ruiz, Lúcio André de Castro Jorge, Ednaldo José Ferreira, Adilson Gonzaga

Novo método para normalização da iluminação em imagens de face .......................24 Michelle M. Mendonça, Juliana G. Denipote, Ricardo A. S. Fernandes, Maria Stela V. Paiva

An Efficient Method for Parameter Estimation on the Multi-Level Logistic MRF Image Model using Maximum Pseudo-Likelihood Approach......................................29 Alexandre L. M. Levada, Nelson D. A. Mascarenhas

Application of image restoration algorithms in vibro-acoustography images..............35 Talita Perciano, Nelson D. A. Mascarenhas, Alejandro C. Frery, Glauber T. Silva

Detecção de Resíduos em Imagens de Bolsas para Coleta de Sangue Utilizando Redes Neurais Artificiais nos canais RGB..................................................................41 Cássio A. Adorni, Adilson Gonzaga

Segmentação de imagens por agrupamento de regiões: uma comparação entre a abordagem funcional e por grafos ...........................................................................46 Carolina T. Ferraz, Sérgio F. da Silva, Odemir M. Bruno

Dimensão Fractal aplicada em imagens de satélite de áreas urbanas ......................52 André R. Backes, Adriana B. Bruno, Mauro N. Barros Filho, Odemir M. Bruno

Coded Mask Multipinhole Collimation and Richardson-Lucy Decoding Algorithm to Obtain High Temporal and Spatial Resolution Scintigraphic Images of Small Volumes......................................................................................................................58J. Mejía, O. Y. Galvis-Alonso, J. Braga, A. A. de Castro, R. Corrêa, J. P. Leite, M. V. Simões

Auto-Fusão da Auto-Face, do Auto-Esboço e da Auto-Pele pelo Misturograma em imagens em nível de cinza ...................................................................................64 Osvaldo Severino Jr, Adilson Gonzaga

Modelagem de Ambientes para Robô Móvel baseado em Rede Neural Hierárquica e Visão Omnidirecional ...........................................................................69 Luciana L. Silva, Henrique A. Vian, Mário L. Tronco, Arthur J. V. Porto

Active contours applied to image based modelling techniques ..................................75 Kátia L. S. Alexandre, João E. S. Batista Neto

Algoritmo genético para criação de mapas de disparidade estéreo...........................81 Gustavo T. Laureano, Maria S. V. de Paiva

viii

Page 9: III WVC 2007

Reconhecimento Automático de Padrões Musicais Utilizando Operadores Morfológicos e Programação Genética ......................................................................88 Emerson C. Pedrino, Valentin O. Roda

Avaliação do Branch-and-Bound para Seleção de Características............................94 Marco A. Roncatti, João do E. S. Batista Neto

Reconhecimento de Sinus Frontais Utilizando a Transformada Imagem-Floresta Diferencial e o Contexto da Forma.............................................................................100 Juan R. Falguera, Fernanda P. S. Falguera, Aparecido Nilceu Marana

Otimização do Processamento de Imagens Médicas: Uma Abordagem Utilizando Java ............................................................................................................................106 Priscila T. M. Saito, Ricardo J. Sabatine, Fátima L. S. Nunes, Kalinka R. L. Jaquie CasteloBranco

Predição da maturidade óssea utilizando proporção áurea .......................................112 C.J. Olivete, E. L. L. Rodrigues

Análise da Desintegração de Comprimidos por Algoritmos de Fluxo Óptico em Seqüências de Imagens de Biosusceptometria AC....................................................116 P. R. Fonseca, L. A. Corá, M. Stelzer, J. R. A. Miranda

Segmentação de placas de veículos usando extração de características baseado em DFT e agrupamento..............................................................................................121 Renato J. S. Maciel, Yuri T. dos Passos, Leonardo N. Matos, Eduardo O. Freire

Máquinas de Vetores de Suporte Aplicadas à Classificação de Defeitos em Couro Bovino..............................................................................................................127 Ricardo B. Rodrigues, Roberto Viana, André Pasquali, Hemerson Pistori

Improving the Richardson-Lucy Algorithm in Deconvolution Microscopy Through Poisson Noise Reduction............................................................................................133 M. R. P. Homem, M. R. Zorzan, N. D. A. Mascarenhas

Redução de Dimensões Baseada em Redes Neurais Perceptron Multicamada .......139 Soledad Espezúa Llerena, Carlos Dias Maciel

Extração de Minúcias em Imagens de Impressões Digitais .......................................146 Ricardo S. Casado, Maria S. V. de Paiva

Aplicação da Transformada Wavelet para Melhoria de Visualização de Microcalcificações em Mamografias Digitais ..............................................................152 Tiago A. Dócusse, Aledir S. Pereira, Norian Marranghello, Rodrigo C. Guido, Jullyene R. Furlani, Patrícia S. Maturana, Rodolfo P. Romano

Algoritmos para Compressão e Expansão de Imagens Distribuídas .........................158 Fabio Jorge Assad Gostaldon, Ailton Akira Shinoda

Análise de uma Estrutura de Rede Neural Neocognitron com a Inserção de Pontos de Controles Aplicada ao Reconhecimento Facial.........................................164 Angelo Rodrigo Bianchini, José Hiroki Saito

Comparação de Clusters para Detecção da Pele ......................................................170 Andréia V. Nascimento, Michelle M. Mendonça, Juliana G. Denipote, Maria Stela V. Paiva

Detecção de Infração em faixa de pedestres sem semáforos utilizando visão computacional e redes neurais...................................................................................175 B. G. C. Alves, A. C. de C. Lima

ix

Page 10: III WVC 2007

Automatic Pattern Recognition of Binary Image Objects using Mathematical Morphology.................................................................................................................180 Emerson Carlos Pedrino, Valentin Obac Roda

Digital Image Detection of Brazilian Car License Plates Based on Matched Filters...186 B.B. Leite, J.M. de Seixas

Estudo comparativo de classificadores aplicado à análise de cenas de pomares de laranjeiras ..............................................................................................................192Felipe A. Cavani, Felipe A. Cavani, Arthur José Vieira Porto

Inspecionando Placas Montadas de Circuito Impresso com Árvores de Decisão......198 Luciano Lucindo Chaves, Flavius Portella Ribas Martins

Usando MLP para filtrar imagens ...............................................................................204 Thiago Richter, Ediel Wiezel da Silva, Adilson Gonzaga

Extração Automática de Feições Urbanas em Fotografias Aéreas utilizando Morfologia Matemática ...............................................................................................209 Juliana Denipote, Robson Barcellos, Maria Stela de Paiva

Recuperação de Imagens 3D Baseado Conteúdo Utilizando mais de uma Imagem-consulta ........................................................................................................215 Alexandre Munhoz, Shermila Guerra Santa Cruz, Adilson Gonzaga

Segmentação de pele humana em imagens coloridas baseada em valores das médias da vizinhança em subimagens.......................................................................223 João Marcelo Ribeiro, Adilson Gonzaga

Reconhecimento Facial Utilizando a Rede Neural Neocognitron...............................229 Cristiane Oliveira de Santana, José Hiroki Saito

Método da Determinação da Dimensão Fractal por Fourier e Análise Multiescala para Reconhecimento de Padrões .............................................................................233 Leandro Paganotti Brazil, Leonardo A. Andrade, Odemir M. Bruno

Um Algoritmo para Clipping de Linha em uma Área de Visualização Circular...........239 Alex F. de Araújo, Acrísio José do Nascimento Júnior, C.A.M.Barbosa

Automatic Vehicle Classification Using Learning-based Computer Vision and Fuzzy Logic.................................................................................................................243Jailson A. de Brito Jr, Luis Edmundo Prado de Campos

Implementação de uma Ferramenta para Recuperação de Imagens Mamográficas Baseada em Conteúdo .......................................................................247 Ana Paula O. Santos, Fátima L. S. Nunes, Márcio E. Delamaro

Um algoritmo para eliminação de fundo em imagens de cultivo de soja....................253 Rodrigo Sato, Norian Marranghello, Aledir Silveira Pereira

Processamento de Imagem Distribuído e Orientado a Serviço usando JAVA ...........259 Frank José Affonso, Evandro Luis Linhari Rodrigues

Aplicação de Redes Neurais para Visualização de Relevos Naturais em forma de Composições Musicais Utilizando Compassos como Primitivas................................265 Débora Cristina Corrêa, José Hiroki Saito, Mário Alexandre Gazziro

Face Detection through Ellipse Detection and Neural Classifier ................................271 Denis H. P. Salvadeo, Jander Moreira

x

Page 11: III WVC 2007

Sistema de Inspeção Visual Automática de Resistores de Montagem em Superfície....................................................................................................................274Anderson Castellar

Análise Discriminante de Fisher Aplicada à Detecção de Defeitos em Couro Bovino.........................................................................................................................278Willian Paraguassu Amorim, Hemerson Pistori

An occlusion invariant extension to Boles’ method.....................................................284 Edmundo D. Hoyle D., Paula Beatriz C. Leite, Raul Queiroz Feitosa

Reconhecimento Automático de Gestos da Língua Brasileira de Sinais utilizando Visão Computacional..................................................................................................290 Kleber Padovani de Souza, Jéssica Barbosa Dias, Hemerson Pistori

Reconhecimento de Faces Utilizando Redes Neurais Artificiais com Fusão de Características Faciais por Método de Votação .........................................................296 Ricardo A. S. Fernandes, Adilson Gonzaga

Reconhecimento de Marcos de Localização por um Sistema de Controle Distribuído Sobre um Barramento CAN (Controller Area Network) ............................301 Henrique A. Vian, Luciana L. Silva, Mário L. Tronco, Arthur J. V. Porto

Sistema de Análise e Armazenamento de Imagens utilizando Esfregaços de Sangue .......................................................................................................................307A. G. Arantes, R. F. Oliveira, D. M. Ushizima

Método Não Invasivo para Avaliação do Ângulo de Inclinação do Anodo de Aparelhos Radiológicos ..............................................................................................313 Paulo D. de Oliveira Junior, Marcelo A. da Costa Vieira, Homero Schiabel

Comparação de Descritores de Formas no Reconhecimento de Objetos .................318 Jonathan A. Silva, Wesley N. Gonçalves, Bruno B. Machado, Hemerson Pistori, Albert S. de Souza

Modelos Ocultos de Markov Aplicados na Identificação de Comportamento de Serpentes ...................................................................................................................324Wesley N. Gonçalves, Jonathan A. Silva, Bruno B. Machado, Hemerson Pistori, Albert S. de Souza

Estudo Comparativo entre as Transformadas Wavelet e Hartley Usando Imagens Médicas de Cabeça e Pescoço ..................................................................................330 J.R. Furlani, A.S. Pereira, N. Marranghello, T.A. Dócusse, P.S. Maturana, R.P. Romano, F.S.B. Bontempo

Recuperação de Imagens via Semânticas de Regiões utilizando Redes Neurais .....334 Eduardo F. Ribeiro, Marcos A. Batista, Ilmério R. da Silva, Keiji Yamanaka, Célia A. Z. Barcelos

Eliminação de Ruídos e Extração de Bordas em Imagens Digitais via Equação de Difusão não-Linear ................................................................................................340 Wallace Correa de Oliveira Casaca, Maurílio Boaventura

Processamento Multidomínio de Imagens Mamográficas para a Remoção de Ruídos com Preservação de Bordas ..........................................................................346 Evanivaldo Castro Silva Júnior, Homero Schiabel, Maurílio Boaventura, Célia Aparecida Zorzo Barcelos

Background Estimation on Motion Scenes Using K-Means .......................................351 Bruno Alberto Medeiros, Luiz Marcelo Chiesse da Silva, Adilson Gonzaga

xi

Page 12: III WVC 2007

Abstract—In order to decrease the computational effort to

automatic reading license plates of moving vehicles, it has beendeveloped an expert system which implements uncertaintyreasoning using rules based on the Dempster-Shafer theory topreviously identify whether the sequence of images correspond tothe movement of a car, a motorcycle, a truck or even a pedestrian.Therefore, after proper object classification is accomplished, it ispossible to select a suitable class of computer vision algorithms todeal with the different visual and structural characteristics of thelicense plate numbers of cars, trucks and motorcycles..

Index Terms— License Plate Recognition, Dempster-Shafer,computer vision, expert system.

I. INTRODUÇÃO

DENTIFICAR o código da placa de veículos quetrafegam nas vias públicas é uma prática que vem sendo

adotada mundialmente, graças aos múltiplos benefícios quetraz à sociedade, pois, além de induzir o motorista a respeitaras regras de trânsito, tornando o tráfego mais controlável,auxilia os órgãos de segurança a detectarem váriastransgressões, como, por exemplo, a circulação de veículosfurtados.

Para a realização dessas tarefas, os sistemas LPR (“LicensePlate Recognition”) [1] utilizam algoritmos de visãocomputacional associados a técnicas de Inteligência Artificial,de modo a isolar a região de interesse da cena ⎯ áreacontendo a placa ⎯ e a interpretá-la adequadamente (ou seja,ler o código de licença).

Via de regra, a área de interesse é identificada a partir daanálise da variação do gradiente de tons de cinza da imagemao longo de linhas sucessivas que abrangem regiõesretangulares com dimensões próximas às esperadas para aplaca de licença [2]-[4]. Concluída esta etapa, aplica-se àregião de interesse uma cadeia de operações de suavização,limiarização e segmentação de imagens de modo a propiciar a

Artigo enviado em 06 de junho de 2007.Agradecemos à FAPESP o auxílio recebido (processo no 01/08284-6) para

a execução deste projetoFlavius P. R. Martins é pesquisador e docente do IPT – Instituto de

Pesquisas Tecnológicas do Estado de São Paulo (fone: 11 3767-4510; email:[email protected]).

Régis C. Bueno é aluno especial do curso de doutorado da Unicamp(fone: 11 6911-6859; email: [email protected]).

leitura efetiva do código mediante a aplicação de algoritmos deOCR (Optical Character Recognition) [3], [5] ou de métodosbaseados em redes neurais [6]-[8]

Procedimentos dessa natureza foram desenvolvidos durantea execução de um projeto de pesquisa realizado no IPT(Instituto de Pesquisas Tecnológicas do Estado de São Paulo),que deu origem ao SILAP ⎯ Sistema de Leitura Automáticade Placas [9]. No entanto, novas pesquisas visando à melhoriado desempenho desse sistema continuaram a ser realizadas,por um lado tratando de se criar um ambiente dotado de multi-processamento para execução do SILAP [10], e, por outro,procurando-se diminuir o esforço computacional requeridopara a leitura automática [11]. Esta última abordagem, baseadana utilização de informação a priori sobre a categoria doveículo considerado, de modo a permitir a seleção dealgoritmos de visão computacional mais adequados à análisede sua imagem, é apresentada neste artigo.

II. MATERIAIS E MÉTODOS

A. Captura de Imagens e Detecção de Objetos Móveis

Ao longo da avenida principal do IPT, uma plataforma demonitoramento de tráfego foi projetada com a finalidade dearmazenar seqüências de imagens monocromáticas onde sevisualizam objetos móveis que, em geral, são veículos de umadas três categorias ‘automóvel’, ‘motocicleta’ ou ‘caminhão’,mas que também podem ser pedestres caminhando ao longo damesma via (logo, uma quarta categoria ⎯ ‘pessoa’ ⎯ fazparte do universo de objetos móveis). O armazenamento deseqüências de imagens de interesse é ativado por algoritmos dedetecção de intrusos baseados na medida da variação de certaspropriedades (área (A) e posição vertical do baricentro (Ycg))da imagem de bordas limiarizadas de três estreitas faixas decontrole da imagem ⎯ f1, f2 e f3 ⎯ conforme se indica naFigura 1.

Considerando-se que o referido algoritmo requer valores dereferência extraídos do background (ou seja, da cena semobjetos móveis), implementou-se uma versão do método deestimação de background proposto em [14], baseado naaplicação de um filtro de mediana temporal a uma seqüênciade imagens. As Figuras 2a-g ilustram a aplicação dessemétodo: a imagem 2g corresponde ao background estimado apartir das primeiras seis imagens 2a-f, onde apenas a primeiradelas não contém objetos móveis. Note-se na Figura 2g que,

CLASSIFICAÇÃO DE OBJETOS MÓVEISEM CENAS DE TRÁFEGO URBANO

Regis C. Bueno, MSc e Flavius P. R. Martins, Dr.

I

1

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 13: III WVC 2007

embora a região mais a jusante do fluxo de tráfego ainda seencontre bastante afetada pelo processo de oclusão causadopela passagem do veículo, a área a montante é quase queindistinguível da correspondente área do background original(Figura 2a), de modo que medidas de referência sobre a faixaf1 (e o mesmo se aplica às demais faixas f2 e f3) podem serrealizadas com um atraso máximo correspondente ao tempo decaptura de 6 imagens1.

Fig. 1: Faixas verticais de controle do fluxo óptico.

Figura 2: a) Background real; b-f)Veículo em movimento; g) Backgroundestimado a partir da seqüência de imagens a-f.

1 Esse tempo é de 6/25 s, uma vez que a placa de aquisição de imagensopera com freqüência de aquisição de 25Hz.

Tomando como medida de referência valores continuamenteatualizados de propriedades de imagens do background ⎯ nocaso, a área e a posição vertical do baricentro da imagem debordas limiarizadas ⎯ o algoritmo verifica, para cada uma dasfaixas de controle, se os valores limiares das suas propriedadessão ultrapassados. Dessa forma, gera-se uma máquina de 23

estados representados pelos valores (0 ou 1) das três variáveisde decisão, D1 D2 D3, onde Di é obtida a partir da seguinteregra:

≥−

=contráriocasoem

LPPseD i

refii

i0

1

(1)

para a qual

iP

é o vetor de propriedades da faixa fi em um dado instante

refiP

é o vetor de propriedades referência da faixa fi

Li é o limiar de decisão da faixa fi.

É importante destacar que as imagens de bordaslimiarizadas são determinadas mediante a aplicação de umdetector de Sobel após o quê realiza-se limiarização adotando-se um limiar fixo global calculado de acordo com o métodoproposto em [15].

Analisando-se o string D1D2D3 que doravante será chamadoapenas de ‘estado’, podem-se estabelecer regras para produzirinterpretações de pares de cenas de tráfego seqüenciais (cadauma representada por uma tripla f1f2f3 com 8 possíveis estados)a partir das 82 = 64 transições da máquina de estados, regrasessas que dependem das peculiaridades do tráfego de veículosna pista e do arranjo de captura de imagens. Para o caso emestudo, admite-se que: a) a câmera se situa em via de sentidoúnico; b) os veículos não trafegam em comboio; c) asvelocidades máximas são inferiores a 60 km/h; d) não seformam filas; e) a imagem de um caminhão abrange as 3 faixasde controle, a de um veículo de passeio (carro) ou demotocicleta, no máximo duas faixas, e a de uma pessoa apenasuma faixa.

Após capturar a seqüência de imagens de interesse, o SILAPaplica a elas uma cadeia de algoritmos de suavização,aprimoramento e segmentação, conforme se descreve em [9],com o intuito de identificar um conjunto ordenado decaracteres que correspondam a um código de licença válido.Nesse ponto, é importante salientar que, de acordo com ocódigo nacional de trânsito: 1) as placas de veículos de passeiopossuem uma única linha de texto com três letras e quatronúmeros, e, em geral, a cor do texto é preta sobre fundobranco; 2) as motocicletas apresentam placa com duas linhasparalelas de texto ⎯ a primeira com três letras e a segundacom quatro números; 3) as placas de caminhões são similaresàs dos carros, mas o texto é branco sobre fundo escuro.

Portanto, é inegável que o conhecimento a priori dacategoria do veículo em foco pode contribuir para aumentar aeficiência computacional do sistema, uma vez que permite a

f3f2f1

e f

a b

c d

g

2

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 14: III WVC 2007

seleção de algoritmos de visão computacional dedicados acada uma das categorias de placas.

B. Interpretação das Transições da Máquina de Estados

Após a investigação de algumas técnicas de InteligênciaArtificial passíveis de produzirem inferências confiáveis sobrea categoria do objeto móvel mediante análise das transições damáquina de estados acima referida, concluiu-se que o métodode Dempster Shafer [11] seria uma boa alternativa, uma vezque: 1) incorpora os conceitos de crença e plausibilidadeoriundos da Lógica Modal, o que favorece o desenvolvimentode linhas de raciocínio em múltiplos mundos; 2) incorporaelementos de estatística Bayesiana, permitindo que se estimema crença e plausibilidade de diagnósticos a partir dacombinação de múltiplas evidências; 3) possui formulaçãomatemática simples.

Para viabilizar a aplicação do método de Dempster Shafercriou-se um Modelo de Transição de Estados Referência(MTER) baseado em um grafo orientado (Figura 3) quedescreve as possíveis transições de estado associadas aseqüências de imagens, de modo que, por meio de raciocínionão-monotônico, infere-se o estado atual da máquina deestados em função de suas transições passadas.

Fig. 3: Modelo de Transição de Estados Referência.

No grafo anterior, o estado ‘110’, por exemplo, podecorresponder a ‘caminhão’, ‘motocicleta’ ou ‘carro’, pois cadaum deles pode ter invadido apenas as duas primeiras faixas decontrole. No entanto, ‘110’ não poderia ser indicativo de

‘pessoa’, já que a imagem de uma pessoa não causa a oclusãode mais do que uma faixa de controle. Deve-se tambémobservar que os veículos trafegam em velocidades moderadas,não sendo possível detectá-los na faixa f2, sem antes tê-losdetectado na faixa f1, por exemplo.

Já o estado ‘000’, por outro lado, pode estar associado àsseguintes situações: ‘inexistência de qualquer objeto móvel nacena’, ‘pessoa’ ou ‘motocicleta’, estas últimas situadas entreas faixas f1 e f2 ou f2 e f3. Note-se que, apesar decorresponderem ao mesmo estado, essas cenas derivam dedistintos estados antecedentes, pois: se, por exemplo, os doisestados anteriores tiverem sido ´000´ e ‘100’, a transição parao atual estado ‘000’ é um bom indício de que a cenacorresponda à passagem de uma ‘pessoa’; todavia, se os doisanteriores tiverem sido ‘010’ e ‘010’, existem boas razões parase supor que o objeto móvel se trate, mais provavelmente, deuma ‘motocicleta’. Em suma: quanto maior é o conhecimentosobre o histórico de transições de estado, melhores são asperspectivas de se fazerem previsões confiáveis da categoriado objeto móvel.

É importante mencionar que os estados são analisadosmediante travessia do MTER, ou seja, as interpretações(mundos da lógica modal) que se obtêm para um estadodependem daquelas que foram geradas para seus estadosantecedentes e, além disso, estão associadas a funções m(t) deatribuição de probabilidade que são atualizadas à medida quenovas informações (estados) chegam da máquina de estados.Essas funções m(t) definem o grau de credibilidade que cadahipótese (mundo) apresenta no instante t, permitindo, comisso, a avaliação do estado de resolução do problema nesseinstante. Espera-se, todavia, que, após um tempo tmax, uma dashipóteses irá adquirir um grau de credibilidade muito maiorque as demais, situação essa em que se poderá admitir aquelahipótese como a mais verossímil.

A atualização temporal dessas funções, mediante as quais seobtém o grau de crença e plausibilidade nas múltiplasinterpretações, é realizada com auxílio da regra de combinaçãode evidências de Dempster Shafer

( ) ( ) ( )

( ) ( )

m SK

m T m U

sendo K m T m U

T U T U S

T U T U

12 1 2

1 2

1

1=

=∩ =

∩ =∅

, :

, : (2)

onde m1(T), m2(U) correspondem, respectivamente, às funçõesde atribuição de probabilidade ligadas às interpretações T e Unos instantes sucessivos t1, t2 e m12(S) às funções de atribuiçãode probabilidade associadas às interpretações S derivadas doencadeamento de evidências geradas após o instante t2.

Na Figura 4 apresentam-se duas etapas do diagnósticotemporal produzido pelo sistema após a análise de dois ciclosde coleta de sinais provenientes dos sensores f1, f2 e f3..

caminhão: (m= 0,5)Θ: (m=0,5)

caminhão (m= 0,6)Θ: (m=0,4)

000

100

110

000

001

000

000

010 010 111

011

moto, carro: (m= 0,5)Θ: (m=0,5)

pessoa, moto, carro, caminhão: (m= 1)Θ: (m=0)

moto, carro, caminhão: (m= 0,3)Θ: (m=0,7)

pessoa (m= 0,6)Θ: (m=0,4)

pessoa (m= 0,5)Θ: (m=0,5)

pessoa (m= 0,3)Θ: (m=0,7)

moto (m= 0,6)

Θ: (m=0,4)

moto, carro, caminhão (m= 0,7)Θ: (m=0,3)

carro (m= 0,6)Θ: (m=0,4)

moto, carro, caminhão (m= 0,8)Θ: (m=0,2)

3

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 15: III WVC 2007

Observando que, no instante t=0, o estado de s1 é ‘1’,enquanto os demais são ‘0’, o sistema conclui que"possivelmente ocorreu uma intrusão por veículo ou pessoa,mas não se pode descartar a hipótese de que o sinal geradopor s1 seja mero ruído". A persistência de s1=1 no instante t=1,todavia, induz o sistema a descrer da hipótese de que aquelamedida se tratava de ruído, fazendo-o concluir que "é possívelque tenha ocorrido entrada de veículo ou pessoa na cena". Eassim, a cada instante, as medidas dos sensores provêm osistema com informações que o levam a restringir o seuconjunto inicial de possíveis diagnósticos.

Fig 4: Gráficos temporais dos sinais dos sensores e respectivosdiagnósticos: (a) Instante t=0; (b) Instante t=1.

III. TESTES REALIZADOS

Com o intuito de se investigar a validade do métodoproposto, construiu-se um sistema especialista para interpretarseqüências temporais de imagens de tráfego a partir da análisedas transições da máquina de estados referida anteriormente. Osistema implementado, codificado na linguagem Prolog(Visual Prolog v.5.2), compõe-se de: a) um conjunto de meta-regras que emulam um processo de encadeamento para frente(forward chaining) que torna a inferência orientada a dados aoinvés de orientada a objetivo ⎯ forma clássica usada pelo

Prolog [13]; b) um conjunto de cláusulas que implementam ométodo de Dempster-Shafer; c) um conjunto de fatosrepresentando os sinais enviados pela máquina de estados; d)um conjunto de fatos descrevendo o MTER; e) um conjunto decláusulas auxiliares.

Transições de estado previstas no MTER, por exemplo, sãorepresentadas pelo predicadotEstado(Nivel,Estado,ListaDeEstados)de modo quetEstado(1, "100", [n("100",1), n("000",2), n("110",3)])representa a transição observada no nível 1 do MTER (cujonível inicial é o 0), do estado “100” para os três possíveisestados sucessores “100”, “000” ou “110”.

Os mundos inicialmente concebidos pelo MTER sãodescritos pelo predicadoobj(Nivel,Estado,m(ListaDeObjetos, GrauDeCredibilidad)de modo queobj(1,"100",m(["Pessoa","Motocicleta","Carro",Caminhao",1)postula que, no nível 1 do MTER, a transição para o estado“100” é um indício de que existe na cena ou uma pessoa ouuma motocicleta ou um carro ou um caminhão e que o grau decredibilidade dessa hipótese é m=1 (100% de certeza).

O fluxo de sinais para o sistema, provenientes das faixas decontrole f1, f2 e f3, é representado pelo predicadosinais(Instante,Estado)de modo quesinais(5,”110”)indica que, no instante t=5, os estados das faixas de controlef1, f2 e f3 são, respectivamente, “1”, “1” e “0”.

O estado de crenças nos mundos analisados em um dadoinstante é representado pelo predicadoevidencia(Instante, CredibilidadeDosMundos)de modo queevidencia(3,[m([pessoa, motocicleta], 0.60), m([θ], 0.40)]).indica que, no instante 3, os mundos (“pessoa”,”motocicleta”)e θ = “todas as demais hipóteses possíveis”, possuem grausde credibilidade 0,60 e 0,40, respectivamente.Cabe, finalmente, destacar a cláusula que implementa ométodo de Dempster-Shafer:dempster_Shafer(N):-

evidencia(N,X),dsIntersec(N,X),calculaK(K),resConflito(K).

realizando, portanto, as seguintes asserções:evidência(N,X): identifica os graus de credibilidade nosdiversos mundos para o estado presente (N);dsIntersec(N,X): combina os graus de credibilidade atuais comos do ciclo anterior (N-1);calculaK(K): determina o valor de K(grau de inconsistênciaentre os mundos) na fórmula de Dempster-Shafer.resConflito(K): Implementa o método de resolução de conflito(normalização de graus de credibilidade) entre as evidênciasconflitantes.

O sistema especialista implementado foi submetido a

0 1 2 3 4 5 6 7

1

0 1 2 3 4 5 6 7

1

0 1 2 3 4 5 6 7

1

S1(t) S2(t) S3(t)

CATEGORIA STATUS

Pessoa

Motocicleta

Carro

Caminhão

Ruído

Entrando

Entrando

Entrando

Entrando

Possível

Diagnósticos

0 1 2 3 4 5 6 7

1

0 1 2 3 4 5 6 7

1

0 1 2 3 4 5 6 7

1

S1(t) S2(t) S3(t)

CATEGORIA STATUS

Pessoa

Motocicleta

Carro

Caminhão

Ruído

Entrando

Entrando

Entrando

Entrando

NULL

Diagnósticos

(b)

(a)

4

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 16: III WVC 2007

numerosos testes, utilizando-se seqüências de transições deestado derivadas da análise de intrusão de imagens de cenas detráfego onde se observavam de um a dois objetosmovimentando-se ao longo do percurso. Para avaliar arobustez do método, realizaram-se alguns testes onde os sinaisda máquina de estado eram afetados por ruido eventual oumesmo persistente. Todavia, mesmo nesses casos, o sistemafoi capaz de identificar corretamente as categorias dos objetosmóveis.

Na Tabela 1 apresentam-se algumas das seqüências detransições de estado e os respectivos diagnósticos produzidospelo sistema especialista

TABELA 1INTERPRETAÇÕES DAS CENAS DE TRÁFEGO

GERADAS PELO SISTEMA ESPECIALISTA

Transições de Estado Interpretação Ruído

000 100 110 010 000 001 000 motocicleta nenhum

000 100 000 010 000 001 000 pessoa nenhum

000 100 110 110 110 010 011001 000

carro nenhum

000 100 110 010 111 101 000 carro persistente: 1a faixados estados 111 e 101

000 100 110 111 011 001 caminhão nenhum

000 100 110 111 010 000 001001 000

motocicleta transitório: 3a faixa de111

000 100 110 010 111 101 000 carro persistente: 1a faixados estados 111 e 101

000 100 110 010 110 111 101111 011 001 000 001

carro seguidopor motocicleta

nenhum

000 100 110 010 111100 110 111 110 111011 001

motocicletaseguida porcaminhão

transitório: 3a faixados estados 111

000 100 110 010 110 100 111011 001 000 001

motocicletaseguida pormotocicleta

transitório: 3a faixados estados 111

000 100 110 011 111 111 101111 111 111 110 111 011 001

carro seguidopor caminhão

persistente: 3a faixados estados 011 e 111

IV. CONCLUSÕES

A combinação de algoritmos de visão computacional, parasintetizar informações instantâneas de cenas de tráfego, com ométodo de Dempster-Shafer, para a análise temporal do fluxode sinais gerados pelos primeiros, mostrou-se ser umaabordagem robusta para a classificação de objetos móveis emcenas de tráfego.

A descrição das transições de uma máquina de estados,gerada pelos algoritmos de visão computacional, na forma deum grafo orientado, permitiu que se representasse de maneirasimples, mas eficaz, o conhecimento de um típico observadorhumano presenciando as sucessivas passagens de objetosmóveis em uma via de tráfego, conhecimento esse que pôdeser facilmente descrito por meio de cláusulas Prolog.

Considerando-se que a estrutura de resolução do problemaem foco corresponde ao modelo de sistema baseado emconhecimento e orientado a dados, a utilização dos recursosda máquina de inferência Prolog em cenas de tráfego em muitofavoreceu o desenvolvimento do sistema especialista proposto.

Finalmente, cabe destacar que a aplicação da teoria deDempster-Shafer ofereceu suporte adequado ao tratamento daincerteza associada às interpretações dos sinais temporais,permitindo que os graus de credibilidade nas diversashipóteses pudessem ser modificados ao longo do tempo.

Nas diversas seqüências de estados avaliadas, o sistemaespecialista desenvolvido demonstrou ser eficiente notratamento das classes de problemas propostos. Entretanto, énecessário aprimorá-lo de forma significativa para que omesmo possa lidar com muitas outras situações reais detráfego que não foram consideradas neste trabalho, como, porexemplo, tráfego em alta velocidade, presença de três ou maisobjetos na cena, tráfego em duplo sentido e ocorrência de filas.

REFERÊNCIAS

[1] Barroso J, Bulas-Cruz J, Rafael J & Dagless E L, IdentificaçãoAutomática de Placas de Matrícula Automóveis, 5as Jornadas Luso-Espanholas de Engenharia Electrotécnica, 1997, Salamanca, Espanha.

[2] Comelli, P., Ferragina, P., Granieri, M. N., Stabile, F. "OpticalRecognition of Motor Vehicle License Plates", IEEE Transactions onVehicular Technology, Vol 44, no 4, pp. 790-799, November 1995.

[3] Barroso, J., Rafael, A., Dagless, E. L., Bulas-Cruz, J., "Number PlateReading Using Computer Vision", Proceedings of the IEEEInternational Symposium on Industrial Electronics ISIE’97,Universidade do Minho, Guimarães, Portugal, July1997.

[4] Adorni, G., Bergenti, F., Cagnoni, S., "Vehicle License PlateRecognition by Means of Cellular Automata", Proceedings of the IEEEInternational Conference on Intelligent Vehicles, pp. 689-693,1998.

[5] Bosch, J. B., Ehlers, E. M., “Remote Sensing of Characters on 3DObjects”, Computers in Industry Engineering, Vol 33, Nos 1-2, pp. 429-432, 1997.

[6] Draghici, S., "A Neural Network Based Artificial Vision System forLicence Plate Recognition", Disponível emciteseer.nj.nec.com/389413.html, pp. 1-21, 1997.

[7] Coetzee, C., Botha, C., Weber, D., "PC-Based Number PlateRecognition System", Proceedings of the IEEE, pp. 605-610, 1998.

[8] Siah, Y.,K., Haur, T. Y., Y.H., Khalid, M, Ahmad, T., "Vehicle LicensePlate Recognition by Fuzzy Artmap Neural Network", Proceedings ofthe World Engineering Congress 1999 (WEC'99), University PutraMalaysia, pp. 19-22, July 1999.

[9] Martins, F. P. R. M., Pereira-Lima, P. S., Quiroz, L. H. C., Bruna, W.C., Almeida, R. Z. H., “Sistema de Leitura Automática de Códigos deLicença”. Proceedings of SBRN’2004 (Brazilian Symposium onArtificial Neural Networks), 2004.

[10] Rocha, W. C. M., “Ferramenta de Rede para Processamento ParaleloDistribuído Aplicado ao Tratamento de Imagens”. Dissertação deMestrado – Instituto de Pesquisas Tecnológicas do Estado de São Paulo.São Paulo, 2007.

[11] Bueno, R. C., “Sistema Especialista para Identificação de SituaçõesCaracterísticas de Tráfego Rodoviário”. Dissertação de Mestrado – IPT.São Paulo, 2005.

[12] Bender, E. A., Mathematical Methods in Artificial Intelligence. IEEEComputer Society Press. Los Alamitos, CA, 1996.

[13] Bratko, I.. Prolog: Programming for Artificial Intelligence, 3a ed.Edinburgh: Addison Wesley, 2001.

[14] Kurita, T., Shimai, H., Umeyama, S., Shigehara, T., "Estimation ofBackground from Image Sequence with Moving Objects. Disponível emciteseer.nj.nec.com/ 24839.htm, pp. 2-4, 1999.

[15] Haddon, J.F. Generalized threshold selection for edge detection. PatternRecognition, v.21, no 3, p.195-203, 1988.

5

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 17: III WVC 2007

Redes Neurais Artificiais Aplicadas à Segmentação e Classificação de Imagens Digitais de Úlceras Cutâneas

Tarallo1, A. S.; Gonzaga

1, A.; Frade

2, M. A. C.; Rocha

1, W.G.

tarallo, [email protected], [email protected], [email protected]

Universidade de São Paulo - USP 1 Escola de Engenharia de São Carlos (EESC) - Departamento de Engenharia Elétrica

2 Faculdade de Medicina de Ribeirão Preto (FMRP) - Departamento de Clínica Médica

Abstract

Treatments of leg ulcers are generally expensive and made by direct manipulation for analysis of its evolution. The treatment efficiency is observed through the reduction of the size of ulcers in relation to the amount of tissues found in their beds, which are classified as granulated/slough. These results are obtained through analyses performed after consultation due to the time these analyses take. This work proposes a new non-invasive technique for the follow-up of treatments aimed at cutaneous ulcers. In this methodology, it was proposed that digital photos of cutaneous ulcers would be submitted to an artificial neural network (ANN), so that all surrounding the wound except for the wound itself could be extracted (skin/background), thus obtaining the ulcerated area. Computer vision techniques have been applied in order to classify the different types of tissues found in the ulcer bed, thus obtaining the corresponding granulation and slough percentages as well as its area. The results obtained have been compared with the results obtained by Image J software. Finally, this methodology will be a useful tool for health professionals in relation to the quickness and precision that it will provide results along the consultation.

Keywords: Leg Ulcer; Computer Vision; Artificial

Neural Network.

1. Introdução

Úlceras de perna são um problema de Saúde

Pública que atinge de 3% a 5% da população acima de 65

anos, e 1% da população adulta [12]. O seu tratamento

possui algumas complicações devido ao longo período, ao

desconforto dos curativos, além das incertezas quanto ao

seu sucesso, pois a sua cura sofre influência de vários

fatores que atuam como variáveis intervenientes no

processo, causando significativo impacto social e

econômico. Seu tratamento é trabalhoso, oneroso e longo,

devido a inúmeros fatores etiopatogênicos associados,

constituindo-se em uma das principais causas de

absenteísmo ao trabalho.

O uso de ferramentas computacionais, envolvendo

processamento de imagens (Visão Computacional),

consiste em alternativa de método de análise para o

acompanhamento e tratamento das úlceras de perna. Por

este método não há o contato direto com a ferida; pois as

úlceras são analisadas através das imagens digitalizadas

de tais feridas [2], [7]. Dessa forma, o profissional tem

uma ferramenta de auxílio para o seguimento das úlceras.

Este trabalho vem a ajudar na análise de úlceras de

perna, de forma quantitativa de cada tecido encontrado na

parte interna das feridas, que são classificados como:

granulado e fibrina e no cálculo da área da ferida. Com

estas medidas, pode-se ter uma perspectiva da evolução

do tratamento da ferida, ou seja, proporciona o

acompanhamento dinâmico-terapêutico da cicatrização.

Este trabalho propõe desenvolver uma abordagem para

classificar tecidos de úlcera de perna para auxiliar os

especialistas da área na evolução do tratamento. A

utilização pelo especialista de um programa de

computador com a metodologia proposta pode levar o

paciente a se sentir mais seguro, por não haver contato

direto com a ferida para obter amostras para esta análise.

A abordagem proposta, em uma primeira fase, consiste

em realizar a extração de características da base de

imagens digitais de úlcera de perna através de amostras de

cor retiradas das imagens de úlceras manualmente, e

aplicadas a uma Rede Neural – Fase de Treinamento. Em

uma segunda fase, as imagens são aplicadas ao teste da

rede neural, para segmentação de imagens; são usadas,

também, técnicas de processamento de imagens para,

através das cores, classificar os tecidos encontrados na

região interna da ferida – Fase de Testes.

2. Materiais e Métodos

Foram utilizadas imagens do banco de imagens do

6

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 18: III WVC 2007

Figura 1 – Exemplo de uma imagem com as devidas regiões de ruído, pele e úlcera.

ADUN (Ambulatório da Dermatologia de Úlcera

Neurovasculares) e do CSE (Centro de Saúde Escola) da

FMRP-USP (Faculdade de Medicina de Ribeirão Preto da

Universidade de São Paulo), junto a Divisão de

Dermatologia do Departamento Clínica Médica da

FMRP-USP. As fotografias foram tiradas através da

câmera Sony Cybershot P-93, com 5.1 Megapixels de

resolução, zoom óptico de 3x e zoom digital de 12x. As

imagens escolhidas aleatoriamente do banco de imagens

foram padronizadas e não-padronizadas quanto a zoom,

iluminação, distância da câmera à perna do paciente e o

foco da câmera na perna do paciente. Foram selecionadas

50 imagens para testar e validar esta metodologia em

formato JPG, obtidas em 3 Megapixels.

A abordagem proposta se divide em duas fases, na

primeira ocorre a extração das características de cor e o

treinamento da ANN (Fase de Treinamento). A segunda

fase consiste de segmentar as imagens (Teste da ANN) –

[10], aplicação de técnicas de processamento de imagens

digitais [9] para a eliminação de ruídos, melhoria de

qualidade na imagem e posterior classificação dos tecidos

no leito da ferida – Fase de Testes.

Primeiramente foram aplicados 2 algoritmos às

imagens para serem obtidas características de cor, quanto

à pele, úlcera (leito) e ruídos na imagem (fundo - tudo que

não seja pele e área ulcerada), servindo como entrada para

o treinamento da ANN para distinguir as características de

cor da área e borda da ferida das outras cores não

interessantes à ferida, formando padrões de treinamento; a

figura 1 mostra um exemplo de uma imagem com as

devidas regiões do que é pele, úlcera e ruídos na imagem.

Pelo primeiro algoritmo se obtém as características de

cor referente à pele e não-pele (pele/ruído/fundo), no

modelo RGB; este processo é realizado manualmente pelo

próprio operador do computador (mas é desejável que este

processo seja realizado por um profissional da área da

saúde, pois saberá quais são os melhores pontos a serem

selecionados, por saber melhor o que cada cor

corresponde na imagem). O software utilizado para o

desenvolvimento desta metodologia foi o Matlab 7.0 [15],

que abre as 50 imagens utilizadas (uma por vez) e espera

o operador do computador selecionar a região devida com

o mouse, pelo algoritmo. Cada característica de cor da

região selecionada é armazenada em um arquivo do tipo

texto, formando o vetor de característica (matriz de

pele/não-pele), conforme a figura 2, que representa a

média dos canais R, G e B da região selecionada.

Figura 2 – Exemplo da Matriz de Pele/Não-pele.

Se uma foto contiver várias regiões de características

interessantes, essa imagem é aberta mais de uma vez para

a seleção das devidas características.

Os valores contidos em cada linha da figura 2

representam :

-1 é bias utilizado pela rede neural para a

ativação do neurônio;

Os três próximos valores referem-se ao valor de

R,G,B da cor selecionada pelo usuário;

1 é o valor que será utilizado como saída

desejada pela rede neural para pele e não-pele.

O segundo algoritmo serve para obter as

características de cor da ferida, no modelo RGB; são

obtidas da mesma forma que no primeiro algoritmo. O

vetor de característica (matriz de feridas) de cada cor

selecionada é salvo em outro arquivo do tipo texto. A

saída desejada da matriz de feridas é o -1. Estas duas

matrizes vão formar os “padrões de treinamento”, que vão

ser utilizadas para o treinamento da ANN.

7

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 19: III WVC 2007

Entradas da

Rede Neural Rede Neural

MLP

Etapa 2

TREINAMENTO

...........

Seleção de

Pontos Manual

Matriz de

Feridas

Matriz de

Pele/Não Pele

Etapa 1

Figura 3 - Primeira fase da abordagem proposta.

A primeira fase da metodologia proposta se divide em

duas etapas. Na primeira são obtidas características de

entrada para a rede neural (características de cor) e na

segunda etapa estas características são aplicadas na rede

neural para o seu treinamento – Figura 3.

2.1. Treinamento da ANN

O treinamento da ANN foi aplicado as 25 primeiras

imagens do banco de imagens; estas numeradas de 1 a 50.

As características extraídas (padrões de treinamento)

são aplicadas a uma ANN MLP Feedforward, com o

algoritmo de treinamento Backpropagation, [10], a

arquitetura mais utilizada para classificação de padrões

em trabalhos de diversas áreas, sendo que as imagens de

úlcera cutâneas foram geradas no modelo de cores RGB.

As características do treinamento são:

Os dois vetores de características são

concatenados para formar a matriz de treinamento. O bias,

características RGB e a saída desejável são colocadas em

variáveis separadas, respectivamente; e as características

RGB normalizadas para o intervalo de [-1, 1];

A Rede é inicializada utilizando a função

mínimo/máximo da matriz de treinamento;

O treinamento da rede neural foi feito utilizando

a função de ativação sigmóide tangente-hiperbólica (serve

para que os valores das características RGB não saiam do

intervalo normalizado) para as três camadas ocultas da

rede neural e mais a camada de saída; é utilizado o

gradiente de momento;

Os valores de outros parâmetros utilizados neste

algoritmo e na Rede Neural serão especificados nos

próximos tópicos.

2.2. Teste da ANN (Classificação das Imagens)

Na segunda fase ou Fase de Testes, verifica-se a

eficiência da rede neural na segmentação das 50 imagens

a partir dos resultados obtidos no treinamento. Um pós-

processamento é necessário para eliminar alguns ruídos

restantes e preparar melhor a imagem para classificação

dos tecidos. A figura 4 apresenta a segunda fase da

abordagem proposta. As técnicas empregadas são as

operações morfológicas de erosão e dilatação [9], [15].

Finalmente os tecidos das imagens são classificados com

base na contagem de pixels, relacionadas às cores

similares às dos tipos de tecidos – pixels de cor vermelha

para granulação e amarela para fibrina. Foi também

calculada a porcentagem desses dois tipos de tecidos e a

área da úlcera na imagem.

O algoritmo implementado (Teste da ANN) possui os

seguintes passos:

1) Segmentação das Imagens;

2) Pós-Processamento: As imagens são processadas

através de dilatação e erosão e sobreposição de imagens

afim de eliminar ruídos e restar apenas a região da ferida;

3) Contagem dos pixels referentes ao tecido de

granulação e fibrina/esfácelo e cálculo da percentagem

referente a cada tecido na imagem;

4) Geração de uma imagem com marcações, na qual

são contados os pixels referentes à granulação e fibrina:

os pixels brancos são os de tecido de granulação e os

outros são os de tecido de fibrina;

8

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 20: III WVC 2007

Resultados do

Treinamento

Teste da Rede Neural

MLP

1...50

Técnicas de

Processamento de

Imagens

1...50

Contagem de pixels

de cada imagem

Cálculo da

porcentagem de cada

tecido

1...50

Figura 4 - Segunda fase da abordagem proposta.

5) Cálculo da área da ferida de úlcera de perna em

cm2.

A segmentação é executada pela Rede Neural,

utilizando os parâmetros do Conjunto de Treinamento, e

comandos baseados no toolbox de Redes Neurais do

software Matlab 7.0 [15], e a imagem resultante que

separa a ferida do resto da imagem é obtida – imagem

pré-processada.

2.2.1. Pós-Processamento

A imagem pré-processada é submetida a um pós-

processamento a fim de eliminar ruídos e restar somente a

região da ferida na imagem.

Para isso foram utilizados operadores morfológicos de

erosão e dilatação. Para utilizar erosão e dilatação no

Matlab, a figura tem que ser convertida em escala de

cinza, pois só assim é permitido utilizar os operadores

morfológicos citados.

Para utilizar operadores morfológicos é necessário

criar um elemento estruturante, que serve de parâmetro

para a dilatação. O elemento estruturante utilizado foi no

formato de um quadrado – square. Na seqüência é

utilizado o detector de bordas de Sobel.

São realizadas sobreposições dessa imagem com a

imagem original obtendo-se nova imagem melhorada e

com menos ruído – imagem pós-processada, na qual

foram contados os pixels e feitos os cálculos.

Figura 5 – Resultados da segmentação de úlcera de perna. Em (a) Imagem Original – (b)

Imagem Pré-Processada – (c) Imagem Pós-Processada – (d) Imagem com pixels contados.

9

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 21: III WVC 2007

Por último, foi gerada uma imagem baseada na

imagem pós-processada, com marcações dos locais em

que foram contados os pixels de fibrina e granulação. A

figura 5 mostra as imagens de acordo com a seqüência de

execução do algoritmo. Os parâmetros utilizados na ANN

desta metodologia podem ser observados na tabela 1.

Tabela 1 – Valores dos Parâmetros da Rede Neural.

Parâmetro Valor

Neurônios na 1ª camada oculta 4

Neurônios na 2ª camada oculta 4

Neurônios na 3ª camada oculta 1

Termo de Momento 0,5

Número de Épocas de Treinamento 1000

Taxa de Erro do Treinamento 1x10-3

3. Resultados e Análises

Considerando as 50 imagens de teste, as médias das

percentagens de fibrina e granulação em relação a

imagem total e considerando somente a área da ferida

segmentada, podem ser verificadas na tabela 2. Os

resultados foram obtidos pela metodologia proposta.

Tabela 2 – Média aritmética da percentagem de Tecidos –

Metodologia Proposta.

Imagem Total Área de Ferida

Fibrina 10,5% 26,1%

Granulação 18,4% 73,9%

As mesmas imagens testadas na metodologia proposta

foram aplicadas ao software livre Image J (usa técnicas

não automáticas de processamento de imagens) para

comparação, pois este software é utilizado no

departamento de dermatologia da FMRP-USP para

análise das imagens de úlcera de perna. Os resultados

obtidos pelo Image J podem ser observados na tabela 3

[8].

Tabela 3 – Média aritmética da percentagem de Tecidos –

Image J.

Imagem Total Área de Ferida

Fibrina 18,9% 43,3%

Granulação 30,0% 56,7%

Também foi calculada a área de cada ferida em cm2

em relação à imagem total, tanto pela metodologia

proposta quanto pelo Image J; as médias aritméticas dos

resultados podem ser verificadas na tabela 4.

Tabela 4 – Média aritmética das Áreas das Feridas.

Metodologia Proposta Image J

Área Média 14,1cm2 13,1cm2

Os resultados obtidos pelo software livre Image J e

pela nossa metodologia mostraram-se satisfatórios; na

área total de ferida, a média foi 13.1 cm2 pela metodologia

proposta e de 14.1 cm2 pelo Image J (Figura 6). Em

relação a granulação, a média obtida foi de 12.4 cm2 pela

metodologia proposta e 12.6 cm2 pelo Image J ( Figura 7).

Em relação a fibrina, a média foi de 1.8 cm2 (nossa

metodologia) e 1.9 cm2 pelo Image J (Figura 8).

Vale lembrar que a demarcação da área ulcerada pelo

Image J é feita manualmente, gastando muito tempo até

chegar aos resultados finais; já pela metodologia proposta

esse processo é feito de forma automática pela rede neural

artificial, ficando mais rápido e prático o processamento.

Essa demarcação manual afeta na diferença dos resultados

da tabela 2 e 3, bem como algumas péssimas

interpretações da RNA devido as qualidades das imagens

e de obtenção das mesmas.

Os resultados foram analisados por um especialista da

área médica, que verificou a concordância dos resultados

obtidos.

A figura 6 mostra o gráfico do Teste t Student aplicado

aos resultados obtidos pela metodologia proposta e ImageJ para áreas totais. Os dois traços no meio do gráfico

mostram as médias aritméticas dos resultados para cada

metodologia, e pode-se observar que ambas estão muito

próximas.

Figura 6 – Resultados do Teste t para área.

Figura 7 – Resultados do Teste t para granulação.

10

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 22: III WVC 2007

Figura 8 – Resultados do Teste t para fibrina.

Da mesma forma existem dois outros gráficos que

também comprovam a similaridade dos resultados obtidos

pelo Image J e pela pesquisa deste trabalho; a figura 7

mostra os resultados do Teste t Student para área de

granulação e a figura 8 para a área de fibrina.

4. Conclusões

Tanto o uso pelo Image J como pela nossa

metodologia baseada em ANN apresentam resultados

satisfatórios. Foi aplicado Teste t Student com parâmetro

de 95% de acerto nos resultados obtidos para

comprovação da eficiência das metodologias. Com isso

fica-se comprovado que a variação entre os resultados

obtidos pela metodologia proposta e pelo Image J são

aceitáveis e que as metodologias podem ser aplicadas na

prática.

Os resultados sugerem que ambos os métodos de

análise de imagens mostraram-se eficazes na mensuração

das áreas total, de granulação e de fibrina, consolidando-

se em métodos adequado para avaliação dinâmico-

terapêutica das úlceras de perna. As Redes Neurais

Artificiais mostraram-se uma metodologia superior de

análise de imagens quanto a praticidade, com menor

interferência do aplicador/pesquisador por não requerer

delineamento manual.

Este projeto encoraja e contribui para a divulgação de

novas tecnologias e conseqüente uso do software nesta

área e também para o surgimento de novas linhas de

pesquisas.

5 – AGRADECIMENTOS

Agradecemos ao Ambulatório de Dermatologia de

Úlceras Neurovasculares (ADUN) e ao Centro de Saúde

Escola (CSE) do Departamento de Clínica Médica da

FMRP-USP pelo fornecimento das imagens de úlcera de

perna, aos profissionais dessas entidades por tirar dúvidas

sobre a área da saúde e por apoiarem e motivarem o

desenvolvimento dessa metodologia.

REFERÊNCIAS

[1] Abbade, L. P. F., Lastória, S., 2005. Venous ulcer:

epidemiology, physiopathology, diagnosis and treatment.

International Journal of Dermatology, Vol. 44, pp. 449 – 456.

[2] Albu, A., Ungureanu, L., 2005. Artificial Neural Network

in Medicine. In Symposium on Applied Computational

Intelligence.

[3] Barros, J. R., 2000. Insuficiência Venosa Crônica. In Pitta,

G. B. B., Castro, A.A. & Burihan, E. Angiologia e Cirurgia

Vascular: Guia Ilustrado, in UNISAL/ECMAL, Brazil, Maceió.

[4] Borges, E. L., 2005. Tratamento Tópico de Úlcera Venosa:

Proposta de Uma Diretriz Baseada em Evidência, MSc. Thesis,

University of São Paulo.

[5] Dean, S., 2006. Leg Ulcers – Causes e Management.

Reprinted from Australian Family Physician, Vol. 35, no. 7, pp.

480-484.

[6] Figueiredo, M., 2003. Úlcera Varicosa. Angiologia e

Cirurgia Vascular: Guia Ilustrado, viewed, 13 April 2007,

<http://www.lava.med.br/livro/pdf/marcondes_ulcera.pdf>.

[7] Goldman, R.J., Salcido, R., 2002. More Than One Way to

Measure a Wound: An Overview of Tools and Techniques –

Clinical Management. Advances in Skin & Wound Care, vol.15,

no.5.

[8] Gomes, F.G., Santana, L. A. & Minatel, D. G., 2005. Uso

do Software Image J Para Análise Clínico-Fotográfica das

Úlceras de Perna. 5o. Encobio “Encontro de Bioengenharia”,

University of São Paulo, pp. 37.

[9] Gonzalez, R., Woods, R., 2002, Digital Image Processing,

2nd edn, Prentice Hall.

[10] Haykin, S., 2001, Neural Networks: A Comprehensive

Foundation, 2nd edn, Prentice Hall.

[11] Kupcinskas, A. J., 2006, viewed 13 February 2006,

<http://www.ajkj.med.br/ulc.htm>.

[12] Mekkes, J.R., Loots, M.A.M., Van Der Wal, A.C., & Bos,

J.D., 2003. Causes, Investigation And Treatment Of Leg

Ulceration. British Journal of Dermatology, vol.148, pp. 388-

401.

[13] Phillips, T. J., Dover, J. S., 1991. Leg Ulcers. J Am Acad

Dermatol, St Louis, vol.25, pp. 965-987.

[14] Pitta, G. B. B., Castro, A. A. & Burihan, E, 2000.

Angiologia e Cirurgia Vascular: Guia Ilustrado, in

UNISAL/ECMAL, Brazil, Maceió.

[15] Math Works, 2004, ver. 7, computer program, The Math

Works Inc., Matlab Help, USA.

11

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 23: III WVC 2007

Reconhecimento de Faces Humanas através de Algoritmo Genético aplicado em Razões Áureas

Walison Joel Barberá Alves E-mail: [email protected]

Adilson Gonzaga E-mail: [email protected]

Escola de Engenharia de São Carlos – Universidade de São Paulo – USP São Carlos, São Paulo, Brasil

Abstract Nowadays there has been a great interest io automatic

systems that provide the recognition of human faces. Seeing that, scientists have gathered different techniques in order to obtain more and more positive and concrete results.

This interest is not of academic concern only, but there is also legal and commercial interest in using systems that can recognize faces.

That being so, this work aims at developing a system for the automatic recognition of human faces using proportions and applying an innovative technique that implements a Genetic Algorithm. This algorithm uses the number of facial golden proportion sections as its input, so it is possible to determine the existing proportions and consequently, to locate the desired face no matter the person’s facial expression.

1.Introdução

O reconhecimento de faces humanas é um problema bastante complexo para ser implementado de forma automática, devido a diversos fatores como: diferentes variações de orientação e tamanho da imagem, condições de iluminação do ambiente, diferenças na aparência, na expressão facial e na cor da pele, entre outros fatores que influenciam a extração de características [1].

Esse tipo de técnica exige algoritmos robustos para poderem reconhecer as faces em diferentes tipos de condições de iluminação, expressões faciais e outros empecilhos que dificultam o processo.

2. Sistemas Biométricos

A Biometria pode ser definida como uma aplicação de métodos quantitativos e estatísticos, suportada por fatores biológicos e análise matemática desses dados [2].

De largo uso desde o início do século XX, foi definida como “a aplicação de teorias matemáticas e estatísticas em mensurações de características humanas” [3].

Mais recentemente a palavra Biometria tem sido usada para designar mensurações fisiológicas ou características do comportamento que podem ser utilizadas na identificação de uma pessoa a partir de características

individuais como: veias da palma da mão, impressões digitais, reconhecimento da face, estrutura da retina, estrutura da íris e geometria da mão.

Teoricamente, qualquer característica humana, quer seja fisiológica ou comportamental pode ser usada como uma identificação pessoal quando satisfaz os requisitos de universalidade (todos os indivíduos possuírem determinada característica), unicidade (fenômeno provado que não existem dois indivíduos com o mesmo padrão), imutabilidade (a característica estudada não muda com o tempo) e coletabilidade (característica que pode ser mensurada ou medida).

Na Figura 1 é possível ver um esquema básico dos Sistemas Biométricos:

Os Dispositivos Biométricos são sensores que capturam e digitalizam a informação Biométrica. Para que a pessoa faça parte do sistema, inicialmente a informação é processada na etapa de Inscrição, por uma ou mais vezes, e armazenada na Base de Dados.

Na etapa de Verificação, a mesma pessoa deve fornecer sua informação Biométrica através dos mesmos Dispositivos Biométricos para que seja comparada com a armazenada na Base de Dados e, assim, possa fornecer o Resultado.

3. Algoritmo Genético

Algoritmos Genéticos (AGs) são métodos de otimização e busca inspirados nos mecanismos de evolução dos seres vivos. Foram introduzidos por Holland [4] e popularizados por um dos seus alunos, Goldberg [5].

Sistemas Biométricos

DispositivosBiométricos

Inscrição

Verificação

Resultado

Base De

Dados

Figura 1: Funcionamento básico dos sistemas Biométricos

12

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 24: III WVC 2007

Os AGs possuem uma analogia direta com a teoria naturalista e fisiologista do inglês Darwin, pai da teoria da evolução das espécies, segundo a qual quanto melhor um indivíduo se adaptar ao seu meio ambiente, maior será sua chance de sobreviver e gerar descendentes [6].

A idéia básica de funcionamento dos algoritmos genéticos é a de tratar as possíveis soluções do problema como "indivíduos" de uma "população", que irá "evoluir" a cada iteração ou "geração". Para isso é necessário construir um modelo de evolução onde os indivíduos sejam soluções de um problema [7].

3.1 Definições em AG

• Cromossomo: cada indivíduo que representa uma possível solução é representado, de forma codificada, por uma seqüência de códigos agrupados.

• População: conjunto de cromossomos ou soluções do problema.

• Avaliação de aptidão: também conhecida como função de avaliação, tem o objetivo de proporcionar uma medida do grau de aptidão (fitness) de um indivíduo, a qual pode ser vista como uma nota dada a cada indivíduo para medir a qualidade quanto à solução ótima do problema.

• Seleção: o principal objetivo do operador de seleção é copiar boas soluções, eliminar soluções de baixa aptidão, quando o tamanho da população for constante [8].

Vários métodos podem ser aplicados para a seleção dos indivíduos que participarão da fase de reprodução. Entre os mais comuns estão o Elitismo, o Método da Roleta e o Método do Torneio.

• Operadores Genéticos: o princípio básico dos operadores genéticos é transformar a população através de sucessivas gerações, de forma a obter um resultado satisfatório no final do processo. Deste modo eles são extremamente necessários para que a população se diversifique e mantenha as características de adaptação adquiridas pelas gerações anteriores [9]. Os operadores genéticos mais utilizados são Cruzamento (Crossover) e Mutação.

• Critérios de parada: quando bem implementado, o processo geral de aplicação dos AGs tem como conseqüência a evolução dos indivíduos de sua população, passando para sucessivas gerações, fato que indica solução ótima ou, dependendo do problema, solução satisfatória.

• Parâmetros de controle dos AGs: são considerados tamanho da população (que pode afetar o desempenho global e a eficiência do AG), taxa de cruzamento (probabilidade de um indivíduo ser recombinado com o outro), taxa de mutação (probabilidade de um ou mais genes do cromossomo serem alterados) e número de gerações (número de ciclos de evolução de um AG).

Na Figura 2 é demonstrada a estrutura básica de um Algoritmo Genético:

4. O Algoritmo Proposto

Vários são os exemplos de problemas complexos, de difícil solução computacional por técnicas tradicionais, que facilmente são resolvidos pela natureza. Com essa idéia, a Computação Evolutiva, neste caso particular o Algoritmo Genético, busca modelar e simular computacionalmente alguns conceitos e fundamentos utilizados pela natureza para a resolução de problemas. A metodologia proposta utiliza Algoritmo Genético aplicado em Razões Áureas, para a solução do problema de determinar proporções em faces humanas, visando o seu reconhecimento.

A Figura 3 mostra todas as etapas seguidas para a realização do trabalho.

A partir da imagem de entrada é realizado um pré-processamento buscando a diminuição de ruídos e detecção de bordas. A imagem é binarizada e são medidos

Imagem da Face

Pré-Processamento

Cálculo dos Segmentos

Áureos

Algoritmo Genético

ReconhecimentoIdentificação

Figura 3: Etapas do algoritmo

População

Avaliação de Aptidão

Seleção

Cruzamento

Mutação

Retornar melhor indivíduo

Não Critério de Parada?

Sim

OperadoresGenéticos

Figura 2: Estrutura básica de um AG [7]

13

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 25: III WVC 2007

os segmentos áureos na face. Estes são submetidos a um algoritmo genético visando o reconhecimento da face.

5. Banco de imagens

O banco de imagens é constituído por 118 indivíduos, homens e mulheres, que representam quatro diferentes expressões faciais: neutra, sorrindo, brava e com a boca aberta. Portanto são totalizadas 476 imagens de faces frontais que foram adquiridas do banco AR [10].

Todas as imagens utilizadas no algoritmo estão em nível de cinza e possuem uma resolução dimensional de 130 pixels de largura por 90 pixels de altura.

As imagens foram armazenadas em um banco de arquivos e todas estão no formato bitmap.

A Figura 4 mostra algumas das faces que constituem o banco de Faces utilizado nesse trabalho.

6. Pré-processamento

Operações de pré-processamento são aplicadas em uma imagem para alcançar como resultado outra imagem com características realçadas, mais adequadas para prosseguir com as demais etapas necessárias de processamentos [11].

O pré-processamento das imagens foi implementado da seguinte maneira: na imagem original (Figura 5) foi aplicado o filtro da mediana, empregado na eliminação de ruídos e preservação de contornos em imagens digitais (Figura 6). Na seqüência foi utilizado o detector de bordas de Sobel, por obter um resultado bem satisfatório na detecção dos olhos, nariz, boca, sobrancelha e contorno da face (Figura 7).

7. Extração de Características

O algoritmo para extração das características em face humana foi desenvolvido sob respaldo teórico adquirido de trabalhos científicos que utilizam a seção áurea como uma das ferramentas de extração na área médica e principalmente no trabalho de [12], que através do número de retângulos e segmentos áureos encontrados tanto na direção horizontal quanto na vertical da face, determinou se o objeto em questão era ou não uma face.

Para realizar a extração de características em faces humanas, nesse algoritmo foram utilizados somente Segmentos Áureos. Para verificar a existência dos mesmos na face, após o pré-processamento a mesma foi dividida em 10 regiões como mostrado na Figura 8.

Cada região desta foi considerada por apresentar características importantes para o reconhecimento. Assim:

• Região 1: Cabelo e contorno da cabeça na parte superior;

• Região 2: Olhos; • Região 3: Nariz; • Região 4: Boca e contorno da cabeça na parte

inferior; • Região 5: Lateral direita; • Região 6: Lateral esquerda; • Região 7: Quadrante superior direito; • Região 8: Quadrante superior esquerdo; • Região 9: Quadrante inferior direito; • Região 10: Quadrante inferior esquerdo.

Figura 4: Exemplos das Imagens do banco de Faces

Figura 6: Filtro da Mediana

Figura 7: Detector de Sobel

Figura 5: Imagem Original

Região 1 Região 2 Região 3 Região 4

Região 5 Região 6 Região 7

Região 8 Região 9 Região 10

Figura 8: Regiões utilizadas na extração das características

14

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 26: III WVC 2007

As regiões 1, 2, 3, 4 capturam características de segmentos áureos horizontais. As regiões 5 e 6 localizam características provenientes de segmentos áureos verticais. As regiões 7, 8, 9, 10 são usadas para localizar segmentos áureos em ambas as direções.

A idéia é inspirada biologicamente, adotando-se um cromossomo para formação das características da face com proporcionalidade e simetria geradas através do número de ouro.

7.1 Número de Ouro e Segmentos Áureos

O Número de Ouro é um número irracional misterioso e enigmático que surge numa infinidade de elementos da natureza na forma de uma razão, sendo considerada por muitos como uma oferta de Deus ao mundo [12].

Também chamado de razão áurea e seção áurea é simbolizada pela letra Ф (lê-se fi), inicial de Fídias, escultor grego que utilizou este número [13]. É o número obtido quando se divide (a) por (b):

(a+b) / a = a / b = Ф = 1,618034

Ф2

= 2,618034 1 / Ф = 0,618034

Esta proporção diz que a relação entre a soma de duas grandezas, e uma delas (a maior, que no caso é "a"), é igual à relação entre esta (a) e a outra (b). Isto de fato se obtém quando a = 1,618, que é o número de ouro. Portanto 1,618 é a razão entre os termos da proporção. É o

único número positivo que satisfaz a relação Ф 2

= 1 + Ф.A estrutura unidimensional corresponde ao segmento

de reta com extremidade A e B, interceptado por um ponto S que divide em dois segmentos AS e SB. Os segmentos originados relacionam-se segundo a razão áurea [12], conforme a Figura 9.

Em outras palavras, isso significa que é possível obter um ponto S que permite encontrar um segmento áureo neste segmento AB, utilizando-se da seguinte razão:

Nas Figuras 10 e 11 são mostrados alguns exemplos de segmentos áureos horizontais e verticais encontrados na face:

Os gráficos das Figuras 12 a 15 mostram o número de segmentos áureos encontrados nas regiões 1 a 4 das 20 primeiras imagens do banco.

0

1

2

3

4

5

6

7

8

9

10

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Imagem

de

Seg

men

tos

0

5

10

15

20

25

30

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Imagem

de

Seg

men

tos

A S B

Figura 9: Segmento Áureo

Figura 12: Número de Segmentos Áureos encontrados na região 1

Figura 13: Número de Segmentos Áureos encontrados na região 2

Figura 10: Segmentos Áureos Horizontais

Figura 11: Segmentos Áureos Verticais

= ФAS

AB

SB

AS=

15

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 27: III WVC 2007

O processo de extração de características baseado no número de segmentos áureos encontrados na face tem por objetivo a construção da população inicial do algoritmo genético proposto.

8. Codificação e População

Cada indivíduo é codificado por uma seqüência de dígitos binários, denominados cromossomos. Os cromossomos são divididos em genes; cada gene representará o número de segmentos áureos encontrados em cada região da face. A regra adotada para a representação de cada gene foi descrever em números binários o número de segmentos áureos encontrados em cada região da face (Figura 16).

O gene 1(G1) representa a região 1, que apresentou no exemplo utilizado 6 segmentos áureos, gerando a codificação 00110. Os demais genes seguem o mesmo método de codificação, formando juntos o cromossomo 0011011111100011010010101000001000101101011.

9. Classificador

O banco de faces é constituído por quatro imagens de cada indivíduo, cada uma com uma expressão facial diferente; portanto quando houver busca por determinada imagem (tratada como imagem query) o algoritmo não se resume em apenas encontrar essa imagem, mas encontrá-la e as outras três imagens do mesmo indivíduo, através de suas proporções (Figura 17).

10. Resultados

Após a implementação do algoritmo proposto, verificou-se sua eficiência através de vários testes e alterações, como por exemplo, os pontos de crossover no AG e taxa de mutação.

Inicialmente foi utilizado o cromossomo gerado através do número de segmentos áureos encontrados em cada região para o reconhecimento das 4 faces de cada classe das imagens da base.

As imagens recuperadas pertencentes à cada classe da imagem query apareceram em posições distantes considerando-se a distância euclidiana. Isto pode ser observado na coluna “Posição das imagens antes do Algoritmo Genético” na Tabela 1.

Após a aplicação do AG as posições de recuperação das imagens similares, ou seja, da mesma classe, são significativamente melhoradas. Por exemplo, para cada imagem query, o resultado de recuperação das 4 imagens da mesma classe seria 100% exato se em cada linha da Tabela 1, as posições das imagens após o AG fossem (1, 2, 3, 4).

Imagens a serem encontradas

Imagem Query

Figura 17: Objetivo do sistema

Figura 15: Número de Segmentos Áureos encontrados na região 4

0

1

2

3

4

5

6

7

8

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Imagem

de

Seg

men

tos

G2 - 63

G1 - 600110

G5 - 5

G4 - 5

G3 - 10111111

0001

101

00101

0011011111100011010010101000001000101101011

Cromossomo Codificado

G10 - 3

G9 - 5

G8 - 5

G7 - 2

G6 - 801000

0010

00101

101

011

0

1

2

3

4

5

6

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Imagem

de

Seg

men

tos

Figura 16: Codificação utilizada

Figura 14: Número de Segmentos Áureos encontrados na região 3

16

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 28: III WVC 2007

Imagem Query

Posição das imagens antes do AG

Posição das imagens após o AG

1 1 47 195 218 1 2 3 4 2 1 104 188 238 1 2 4 25 3 1 86 211 244 1 2 3 10 4 1 121 168 230 1 2 3 4 5 1 87 134 190 1 2 5 7 6 1 132 133 134 1 3 4 6 7 1 97 131 199 1 2 3 4 8 1 22 60 95 1 2 3 5 : : : : : : : : :

476 1 18 42 71 1 3 7 14

Ainda com o intuito de comparar a busca antes e após a aplicação do Algoritmo Genético, foram montadas as Matrizes de Confusão, onde em cada linha é mostrada a percentagem de recuperação correta para cada imagem, tendo assim através da razão entre soma da diagonal da matriz pelo número de imagens, a média de recuperações corretas.

A média de recuperação antes foi de 28,2% e após a aplicação do Algoritmo Genético houve uma considerável melhora, atingindo 82,5% de recuperações corretas.

Para avaliar graficamente a eficiência da metodologia, foram construídas as curvas de Recall x Precision. A Figura 18 mostra este resultado considerando-se a busca da imagem query para todas as outras imagens do banco, antes e depois da aplicação do AG no cromossomo gerado:

11. Conclusões

Como pode ser observado através dos resultados obtidos, a metodologia baseada em Algoritmos Genéticos aumentou significativamente a eficiência de busca de

imagens similares em um banco imagens de faces humanas. Tais resultados demonstram a viabilidade de tal abordagem e está em consonância com o modelo bio-inspirado sobre proporções áureas existentes entre as características formantes de um rosto humano.

12. Referências

[1] SUNG, K.-K.; POGGIO, T. (1998). “Example-Based Learning for View-Based Human Face Detection”, IEEE Transactions on Pattern Analysis and Machine Intelligence, vol.20, no.1, pp.39-51. [2] OLIVEIRA, S. L. G.; ASSIS, J. T. (2006). Uma metodologia de identificação de imagens de impressões digitais pelo filtro de Gabor. Instituto de Computação da Universidade Federal Fluminense (UFF). [3] DANTAS, G. F. L. (2003). Sistemas Biométricos de Identificação pela Imagem Facial. In www.logicengenharia.com.br/mcamara/alunos/Biometria.pdf. Acesso em: 14 nov. 2006. [4] HOLLAND, J. H. (1975) .Adaptation in Natural and Artificial Systems. University of Michigan Press, Ann Arbor. [5] GOLDBERG, D.E. (1989). Genetic Algorithms in Search, Optimization, an Learning. Addison-Wesley, USA. [6] MILARÉ, C. R. (2003). Extração de conhecimento de redes neurais artificiais utilizando sistemas de aprendizado simbólico e algoritmos genéticos. Tese (Doutorado). Instituto de Ciências Matemáticas e de Computação, Universidade de São Paulo, 2003. [7] POZO, A.; CAVALHEIRO, A. F.; ISHIDA, C.; SPINOSA, E.; RODRIGUES, E. M. (2005). Computação Evolutiva. Grupo de Pesquisas em Computação Evolutiva. Departamento de Informática. Universidade Federal do Paraná. [8] DEB, K. (2001). Multi-Objective Using Evolutionary Algorithms. John Wiley & Sons, Ltd, 2001. [9] SILVA, E.S. (2001). Otimização de Estruturas de Concreto Armado Utilizando Algoritmos Genéticos. Dissertação (Mestrado). Escola Politécnica da Universidade de São Paulo. [10] MARTINEZ, A. M.; BENAVENTE, R. The AR Face Database, CVC Technical Report no. 24, June 1998. [11] FORSYTH, D. A.; PONCE, J. (2005). Computer Vision: A Modern Approach. Prentice Hall, 1 edition, 2002. [12] PRADO, J. L. (2004). Investigação Biométrica em Imagens Digitais para Detecção de Faces Humanas através de Proporção Divina. Dissertação (Mestrado). Escola de Engenharia de São Carlos. Universidade de São Paulo. [13] BARISON, M. B. (2005). Proporção Áurea em Desenho Geométrico e Arquitetura. Geométrica vol.1 n.4ª.

Tabela 1: Comparação das posições das imagens antes e após a aplicação do Algoritmo Genético

Após do AG

Antes do AG

Figura 18: Desempenho do Método

17

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 29: III WVC 2007

Seleção Automática de Componentes de Cor para Segmentação de Imagens

Henrique de Souza Ruiz Engenharia Elétrica, Universidade de São Paulo

Departamento de Engenharia Elétrica, EESC-USP Av Trabalhador São-carlense, 400 - 13566-590 - São Carlos, SP, Brasil

[email protected]

Lúcio André de Castro Jorge Embrapa Instrumentação Agropecuária

Rua 15 de Novembro, 1452, C.P. 741, 13560-970, São Carlos, SP - Brasil [email protected]

Ednaldo José Ferreira

Embrapa Instrumentação Agropecuária Rua 15 de Novembro, 1452, C.P. 741, 13560-970, São Carlos, SP - Brasil

[email protected]

Adilson Gonzaga Departamento de Engenharia Elétrica, EESC-USP

Av Trabalhador São-carlense, 400 - 13566-590 - São Carlos, SP, Brasil [email protected]

Abstract The choice of a color model is of great importance for

many computer vision algorithms. As there are many color models available, the inherent difficulty is how to automatically select a single color model or, alternatively, a subset of color components for producing the best result for a particular task. To achieve proper colors components selection, in this paper, it is proposed the use of the wrapper method, a data mining approach, to obtain repeatability and distinctiveness in color segmentation process. The result yields good feature discrimination. The method was verified experimentally with 108 images from Amsterdam Library of Objects Images (ALOI) and 10 aerial images for different photometric conditions. Further, it is shown that the color component selection scheme provides a proper balance between color invariance (repeatability) and discriminative power (distinctiveness).

1. Introdução A seleção de características em uma imagem é de

grande importância para sistemas de visão computacional. Uma grande quantidade de informações presentes em uma imagem, como por exemplo, a cor, a textura e a forma, podem ser ou não relevantes para o processo de segmentação. A cor é uma das características mais óbvias e importantes da percepção, sendo um atributo de sensação visual, devido à interação de três componentes: fontes de luz, objeto e o sistema de visão [1]. Trabalhar com imagens coloridas, implica em escolher

o sistema de cores mais adequado ou uma combinação dos mesmos. O uso de diversos modelos de cores é uma tarefa complexa para os algoritmos de visão computacional, pois o espaço de cor pode ser interpretado e modelado de diferentes formas. Nestes casos, combinar os espaços de cores ou os canais de cores ou mesmo achar a melhor combinação desses espaços para uma determinada aplicação é um grande desafio. É possível que diversos espaços de cores sejam bons candidatos no processo de segmentação ou classificação, pois podem possuir propriedades similares, como por exemplo, os canais V e G que trazem informações sobre intensidade da cor verde.

18

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 30: III WVC 2007

Neste artigo, o principal objetivo foi selecionar as componentes mais significativas dentre 4 modelos de cores adotados para segmentação de imagens coloridas com diferentes condições fotométricas. A escolha das componentes de cores é de extrema

importância, pois a grande dificuldade é selecionar automaticamente um subconjunto ótimo de componentes de cores e suas características mais representativas, produzindo o melhor resultado para determinada aplicação, o que é conseguido através do balanço adequado entre cores invariantes (repetibilidade) e variantes (poder discriminatório) [2]. Baseando-se na noção de separabilidade de classes, foi

proposto um método para selecionar um subconjunto de componentes de cores visando alcançar a melhor seleção de características dos modelos envolvidos neste trabalho, utilizando ferramentas descritas em [3], [4] e [5].

2. Conjunto de Imagens Para se obter a seleção das componentes de cor foram

definidos, inicialmente, dois conjuntos de imagens: o primeiro com imagens artificiais obtidas em condições controladas; e o segundo com imagens de uma aplicação real. O primeiro conjunto é formado por 108 imagens de

tamanho 192x144 pixels do objeto 25 da biblioteca de imagens da Universidade de Amsterdã (Amsterdam Library of Objects Images) (ALOI) [6]. Essas imagens foram capturadas em diversas condições de iluminação, rotação e temperatura de cor. Exemplos podem ser observados na Figura 1:

O segundo conjunto é formado por 10 imagens aéreas de 372x248 pixels que foram adquiridas a 100 metros de altura em diferentes posições e condições de iluminação. Na Figura 2 são apresentadas imagens de fazendas de citrus utilizadas na aplicação real.

3. Seleção de componentes de cor A qualidade da classificação e segmentação das

imagens, induzida por um algoritmo de aprendizado de máquina (AM) depende da relevância das características consideradas no conjunto de padrões de treinamento, chamado de vetor de características (VC). A relevância das características é fundamental para o algoritmo de AM no aprendizado de conceitos. Quanto maior a quantidade de características que não permitem a discriminação das classes, maior a necessidade de exemplos de treinamento para alcançar uma dada acurácia [7]. Os métodos de seleção de características têm a missão

de encontrar uma combinação adequada de características relevantes para o aprendizado de um conceito. Várias razões justificam e motivam a aplicação da seleção de características. A primeira razão é que alguns algoritmos de AM computacionalmente viáveis não trabalham adequadamente na presença de um grande número de características, principalmente se houver características irrelevantes. Isso significa que a seleção pode aumentar a acurácia dos classificadores gerados por esses algoritmos. Outra razão é que a seleção pode auxiliar na compreensão dos dados. A terceira razão é que a seleção pode ajudar a reduzir os custos envolvidos na coleta de dados de alguns domínios. A abordagem de seleção utilizada neste trabalho,

conhecida como Wrapper [4], é apresentada na Figura 3. O método Wrapper é reconhecido como uma alternativa de seleção de características em problemas de aprendizado supervisionado e é caracterizado fundamentalmente por empregar os algoritmos de AM para avaliar os subconjuntos de características selecionados durante o processo de busca. Embora o elevado número de características faça a abordagem Wrapper apresentar elevado custo computacional, principalmente se a busca for exaustiva, a seleção de características relevantes para o algoritmo de aprendizado neste tipo de abordagem, supera o de outras técnicas de seleção e, por essa razão, é o foco deste trabalho.

Figura 2: Imagens aéreas de fazendas de citrus.

Figura 1: Objeto 25 da Biblioteca ALOI, apresentando variações na temperatura de cor, iluminação e rotação.

19

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 31: III WVC 2007

Neste trabalho, o método Wrapper foi implementado usando pacotes da ferramenta Weka. O Weka é uma coleção de ferramentas de pré-processamento de dados e aprendizagem de máquina. Ela foi desenvolvida na universidade de Waikato, Nova Zelândia, em Java sob termos de licença do GNU General Public Licence [3].

A proposta desse artigo foi avaliar o desempenho de

segmentação após a seleção de características por meio do método Wrapper com algoritmo C4.5 e busca exaustiva [3], assim como, identificar o melhor subconjunto de componentes de cor dos modelos envolvidos, gerando limiares ótimos para a classificação das classes através de árvores de decisão. O algoritmo C4.5 implementa um classificador simbólico como estrutura de árvore, onde cada nó interno indica o teste em um atributo, cada ramo representa um resultado do teste, e os nós terminais representam classes ou distribuições das classes [8].

4. Processo de segmentação das imagens nos experimentos Neste artigo, foram utilizados 4 modelos de cores,

RGB, HSV, CIE L*a*b* e I1I2I3 [14]. Os modelos HSV, CIE L*a*b* e I1I2I3, foram obtidos a partir de transformações do modelo RGB. Esses modelos, tipicamente encontrados na literatura,

contêm algumas propriedades variantes e invariantes no que diz respeito às condições fotométricas. As componentes de cor RGB, CIE L*, e SV são sensíveis às sombras, iluminação e brilho, ou seja, possuem um grande poder discriminatório. Já as componentes CIE a*b* e H são invariantes às sombras e intensidade da iluminação, possuindo grande capacidade de repetibilidade [9]. Para o método proposto deve haver um balanço entre o poder discriminatório e a repetibilidade.

Foram realizados três experimentos, descritos a seguir. O primeiro experimento foi conduzido com 4 imagens

do objeto 25 da biblioteca de imagens da Universidade do Amsterdã (ALOI) [6]. Este objeto é uma bola com as cores vermelho, azul, verde, amarelo e um fundo escuro,

em diferentes condições de iluminação, rotação e temperatura de cor. Para a execução do método Wrapper, foi necessário

capturar amostras dos padrões de cada classe presente nas imagens. As classes foram definidas por regiões r de cores diferentes, ou seja, vermelho, azul, verde, amarelo e o fundo. Foram capturadas 5 amostras de tamanho 3x3 de cada região, procurando contemplar as diversas condições de iluminação e brilho na seleção, como mostrado na Figura 4.

Para cada região r da imagem, foi tomada uma

amostra do padrão de tamanho IxJ... Para cada uma das componentes de cor calculou-se a média, variância e entropia das amostras r(i, j), para i=1…I, j=1…J, como mostrado nas equações (1), (2) e (3). A entropia foi determinada pelo histograma h(k) onde v(h(k)) são as ocorrências dos valores e k é o nível de cinza em cada região r(i,j); considerando cada componente uma nova imagem em tons de cinza.

∑∑= −

=M

i

N

j

jirMN

Mean1 1

),(1

Média

(1)

∑∑= =

−=M

i

N

jijMeanjir

MNVariance

1 1

2)),((1

MédiaVariância

(2)

))((*)(255

0

khvkhEntropyi∑=

=Entropia

(3) Depois de extraídos os valores da média, variância e

entropia, o vetor de características VC foi arranjado conforme na seqüência:

Figura 4: Seleção das amostras para uma classe verde sobre a imagem.

Figura 3: Método Wrapper para seleção de subconjunto de características [4].

20

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 32: III WVC 2007

VC = [MédiaR, MédiaG, MédiaB, VariânciaR, VariânciaG, VariânciaB, EntropiaR, EntropiaG, EntropiaB, MédiaL, Médiaa, Médiab, VariânciaL, Variânciaa, Variânciab, EntropiaL, Entropiaa, Entropiab, MédiaI1, MédiaI2, MédiaI3, VariânciaI1, VariânciaI2, VariânciaI3, EntropiaI1, EntropiaI2, EntropiaI3, MédiaH, MédiaS, MédiaV, VariânciaH, VariânciaS, VariânciaV, EntropiaH, EntropiaS, EntropiaV].

Após a criação do vetor de características VC, o

método Wrapper com a busca exaustiva foi aplicado para selecionar o melhor subconjunto de características. Para avaliar o desempenho do subconjunto selecionado, as imagens de teste foram segmentadas utilizando as componentes selecionadas pelo Wrapper e a árvore gerada pelo algoritmo C4.5. O segundo experimento foi realizado com um conjunto

de imagens aéreas de fazendas de citrus, com o objetivo de identificar e gerenciar a qualidade da área cultivada. A segmentação dessas imagens poderá ser usada para identificar diferenças relativas ao vigor da cultura, às pragas, às doenças e ao nível de desenvolvimento da planta. Esse tipo de aplicação é particularmente interessante porque não é possível controlar a luz, as sombras e os reflexos do sol das imagens obtidas. Como na primeira experiência, os padrões de teste das amostras da região foram extraídos, porém usando seleções de tamanho diferentes, como mostrado na Figura 5. As classes selecionadas como padrão no teste, são: árvore de citrus, solo descoberto e ervas daninhas ou invasoras.

Como no primeiro experimento, para cada região r da imagem, é tomada uma amostra do padrão de cor de tamanho (I,J). Para cada uma destas componentes de cor calcula-se a média, variância e entropia das amostras r(i, j), para i=1…I, j=1…J, como mostrado nas equações (1), (2) e (3). Novamente, o vetor VC foi arranjado para a tarefa de seleção de características, conforme o experimento anterior.

Finalmente, um experimento foi realizado visando a comparação dos métodos propostos neste trabalho com a segmentação das imagens por redes neurais. As mesmas

amostras do treinamento da primeira e da segunda experiência foram aplicadas para o treinamento de uma rede neural MLP (Perceptron de Múltiplas Camadas) treinada pelo algoritmo Backpropagation [10], utilizando somente as médias RGB como vetor de características. Depois de treinada a rede neural, a segmentação foi aplicada a cada pixel, considerando sua vizinhança. O valor médio para cada pixel foi calculado por meio de uma máscara 3x3 sobre a imagem e apresentado à rede, cuja saída determina a classe que o pixel pertence.

5. Resultados e Discussões O método Wrapper foi testado nos conjuntos de

imagens apresentadas, em diversas condições de iluminação, rotação e temperatura de cor. Iniciando pelo Wrapper com o algoritmo C4.5 por

busca exaustiva, as imagens do objeto ALOI 25 foram processadas a partir das 12 médias das componentes de cores utilizadas neste trabalho. Os objetos apresentados na Figura 1, apresentam variação da temperatura de cor, reflexos pela iluminação e mudança do ponto de observação devido à rotação do objeto. As médias das componentes selecionadas pelos

métodos descritos na seção 3, foram I3, H, L e V dos modelos de cores. Em uma segunda etapa, adicionou-se a variância e a entropia correspondente às componentes selecionadas I3, H, L e V. Em todo o processo foi utilizada a validação cruzada em 10 desdobramentos (10-fold-cross-validation) nas amostras de treinamento, resultando em uma taxa de acertos de 99.62%. A árvore de decisão gerada é apresentada na Figura 6 e os resultados da segmentação podem ser observados na Figura 7. Apesar das novas características adicionadas

(variâncias e entropias), foi obtido o mesmo subconjunto das médias das componentes de cores I3, H, L e V, e conseqüentemente a mesma árvore da decisão. Conforme esperado, devido às características das imagens, as variâncias e as entropias não contribuíram para uma melhor classificação.

Figura 5: Seleção de amostras de tamanhos diferentes para o treinamento dos padrões: árvore de citrus, solo descoberto e ervas daninhas ou invasoras. Média I3

Média HMédia H

Média L

Vermelho Amarelo AmareloAzul PretoVermelho

Média I3 Média VVerde

>127.25<=127.25

>50.4375<=50.4375

>33.125<=33.125>110.625<=110.625>142.5<=142.5

>127.5625<=127.5625

Figura 6: Árvore da decisão para o objeto 25 da Biblioteca de imagens ALOI.

21

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 33: III WVC 2007

<=123.39

Média a

Média G

Entropia B

Vermelho

Verde

Azul Verde

>125.3469<=125.3469

>123.39

>5.6244<=5.6244

Figura 9: Árvore de Decisão para as imagens aéreas.

Outros grupos de imagens com cores similares ao

objeto ALOI 25 foram testados, usando a mesma árvore da decisão gerada. Duas das imagens foram obtidas da Biblioteca ALOI e outra de uma base de imagens de partidas de futebol. O desempenho do algoritmo pode ser observado na Figura 8.

No segundo experimento foi aplicada a metodologia proposta às imagens aéreas de citrus. O método Wrapper foi utilizado também em duas etapas, ou seja, somente com as médias em primeira instância e, posteriormente, adicionando-se as variâncias e entropias correspondentes às componentes selecionadas. A precisão em validação cruzada foi de 99.52% de acertos, sendo as componentes selecionadas, as médias de a e de G, e a entropia de B, como mostrado na Figura 9. Os resultados da segmentação com a árvore da decisão (Figura 9) são mostrados na Figura 10.

Os resultados foram avaliados visualmente apenas

observando-se as imagens e os respectivos segmentos. Nas imagens artificiais é fácil verificar onde a segmentação foi adequada ou não. Nas imagens aéreas, a dificuldade visual discriminatória é maior. Porém, de uma forma geral os resultados foram satisfatórios. Para comparação, foi implementada uma rede neural MLP (Perceptron de Múltiplas Camadas) com o algoritmo Backpropagation. Os mesmos conjuntos de treinamento utilizados no Wrapper foram usados para treinar a rede neural, porém, foram utilizadas apenas as componentes de médias RGB. Os resultados para os objetos ALOI 25 e as imagens aéreas podem ser observados nas Figuras 11 e 12. A rede neural foi treinada com os valores médios de RGB, apresentando um erro médio de 0.1% para o conjunto de treinamento. É possível verificar que os resultados mostraram problemas para segmentar o solo e as ervas daninhas. A idéia aqui foi avaliar um sistema de segmentação apenas com as componentes RGB uma vez que os outros sistemas de cor são derivados deste e apresentam alguma redundância. Observa-se um desempenho adequado na segmentação do objeto ALOI 25, mostrando que mesmo sob diferentes condições de iluminação, temperatura de cor e pontos de vista, é possível segmentá-las com poucas componentes de cor. No entanto, em imagens mais complexas, como as imagens aéreas de citrus, a textura é um fator importante e necessário para a discriminação das classes, além das componentes invariantes. É nesse aspecto que a seleção das componentes de cores proporcionada pela abordagem Wrapper se destaca, apresentando melhor desempenho mesmo com algoritmos de classificação mais simples (C4.5) comparado aos modelos tradicionais de redes neurais.

Figura 11: Segmentação das imagens das bolas usando uma Rede Neural MLP com valores médios de RGB.

Figura 7: Imagens originais do objeto 25 da

Biblioteca ALOI e os resultados da segmentação das imagens baseadas no método Wrapper com busca exaustiva.

Figura 8: Imagens que não foram treinadas,

utilizando a árvore de decisão mostrada na figura 6, apresentaram bom desempenho na segmentação.

Figura 10: Imagens aéreas e os resultados da segmentação das imagens baseadas no método Wrapper com busca exaustiva.

22

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 34: III WVC 2007

Figura 12: Segmentação das imagens aéreas de citrus usando uma Rede Neural MLP com valores médios de RGB.

Convém ressaltar a existência de redundância entre

algumas das componentes dos diferentes modelos de cores envolvidos neste trabalho, ainda que a combinação destas possa melhorar a precisão dos algoritmos de AM. No entanto, este trabalho mostra que a seleção adequada de um subconjunto de componentes contribui para um equilíbrio entre a capacidade de repetibilidade e poder discriminatório, o que é desejável na segmentação de imagens aéreas. 6. Conclusões Neste trabalho, o método Wrapper foi proposto e

aplicado de modo a selecionar um subconjunto ótimo de componentes de modelos de cores para uma discriminatória e robusta segmentação de imagens. Foi verificado experimentalmente que o método Wrapper usando uma busca exaustiva na seleção do subconjunto de características com Árvore de Decisão pelo algoritmo C4.5, representa uma abordagem com bons resultados de segmentação. A seleção do subconjunto de componentes de cor efetuada permitiu o balanço apropriado entre repetibilidade e o poder discriminatório. Em Visão Computacional existe um crescente

interesse na seleção de características, onde várias questões ainda permanecem abertas. Os métodos de Mineração de Dados para a seleção de características têm sido propostos com algum sucesso. Muitos exemplos destas aproximações são focalizados em clusterização numérica, não havendo nenhuma evidência teórica ou experimental relacionada a seu comportamento em imagens coloridas. Este é um dos primeiros trabalhos neste sentido. As experiências conduzidas em uma grande variedade de imagens tanto artificiais quanto reais, mostraram que o método proposto é aplicável e com resultados significativos na segmentação de imagens coloridas em diferentes condições de iluminação.

Referências [1] Faiechild, M. D. Color Appearance Models. Ed.

Addison-Wesley. p. 410-421, 1998. [2] Stokman, H and Givers, T. Selection and fusion of

color models for image feature detection. IEEE Trans. On Pattern analysis and Machine Intelligence. Vol. 29, n.3, march 2007.

[3] Witten, I.H.; Frank, E. Data Mining - Practical Machine Learning Tools and Techniques with Java. Morgan Kaufmann Publishes, (WEKA).

[4] Kohavi, R.; John, G. H. Wrappers for feature subset selection. Artificial Intelligence. 97(1-2):273-324, 1997.

[5] Kohavi, R.; Sommerfield, D. Feature subset selection using the wrapper model. Overfitting and dynamic search space topology. In: The First International Conference on Knowledge Discovery and Data Mining. Pág. 192-197, 1995.

[6] http://staff.science.uva.nl/~aloi/ [7] Langley, P.; Iba, W. Average-case analysis of a nearest neighbor algorithm. In: International Joint Conference on Artificial Intelligence. Chambery, 1993.

[8] Rezende, S. O.; Pugliesi, J. B.; Melanda, E. A.; De Paula, M. F., "Mineração de Dados", In: Sistemas Inteligentes: Fundamentos e Aplicações, 58 Barueri, SP, Brasil, Rezende, S. O. (coord.), Editora Manole Ltda., Cap. 12, pp. 307-336, 2003.

[9] Gevers, T. Color in image search engines. University of Amsterdan. Principles of Visual Information Retrieval, Spring-Verlag, London, 2001.

[10] Rumelhart, D.; Hinton, G; Williams, R. L. Learning Internal Representations by Error Propagation. In: Parallel Distributed Processing - Vol. 1. MIT Press, Cambridge. 1986.

23

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 35: III WVC 2007

Novo método para normalização da iluminação em imagens de face

Michelle M. Mendonça1, Juliana G. Denipote2, Ricardo A. S. Fernandes3, Maria Stela V. Paiva4,Escola de Engenharia de São Carlos – EESC. Universidade de São Paulo – USP

chelle.3m1, [email protected] , judeni2, [email protected]

Abstract

Normalização da iluminação é uma tarefa bastante complexa no reconhecimento de faces. Este artigo descreve o método GamaAdapt desenvolvido para amenizar a má influência da iluminação em imagens faciais além de descrever três métodos (LogAbout, filtro homomórfico e wavelet) e comparar suas contribuições para posterior reconhecimento de faces. Análise de Componente Principal (PCA) foi utilizada para o reconhecimento facial.

1. Introducão

Reconhecimento de faces tem sido considerado um problema desafiador na comunidade de visão computacional. Variações em relação à mudança de pose, expressão, ou distribuição da iluminação, fazem com que a detecção de face seja uma tarefa extremamente difícil. Dentre essas variações, mudanças de pose e iluminação são consideradas os fatores mais críticos para um reconhecimento de face robusto.

Algoritmos de realce de contraste bem conhecidos, tais como equalização do histograma são métodos globais e não consideram detalhes na imagem que são muito importantes para o reconhecimento facial [1]. Transformações logarítmicas aumentam os baixos níveis de cinza e comprimem os altos, são úteis para imagens não uniformes e com sombras, entretanto não são úteis para imagens com brilho [2]. O filtro homomórfico proporciona simultaneamente intervalo dinâmico de compressão e realce de contraste, este algoritmo é limitado ao tamanho da imagem 2nx2n [2].

Shan et al. [3] investigou diversos métodos de normalização da iluminação e propôs novas soluções, tais como Correção de Intensidade Gama (GIC), Estratégia Baseada em Região combinando GIC e Equalização do Histograma (HE) e o método Quotient Illumination Relighting (QIR). Chen et al. [4] utilizou a transformada do Cosseno Discreta (DCT) para compensar variações da iluminação no domínio logarítmico. Este método não requer nenhum passo de modelagem e pode ser facilmente implementado em sistema de reconhecimento facial em tempo real. Zhu et al. [5] propôs um método para correção de iluminação normalizando o contraste da

imagem por meio de uma transformação afim efetuando uma estimação de fundo e ganho.

Foi proposta uma comparação entre método desenvolvido (GamaAdapt) com outros métodos de normalização de imagens de face encontrados na literatura, tais como o método LogAbout [2], filtro homomórfico modificado [6] e método baseado em wavelet [1] para tarefas de reconhecimento facial.

Este artigo está organizado da seguinte forma: na seção 2 é descrita uma breve introdução da fundamentação teórica. Métodos utilizados para normalização de iluminação são descritos na seção 3. Na seção 4 é introduzido o método GamaAdapt. É apresentada uma breve introdução de reconhecimento de faces utilizando PCA na seção 5. As seções 6 e 7 mostram resultados e conclusões.

2. Fundamentação teórica

Nesta seção será apresentada uma breve descrição de transformações logarítmicas, filtro homomórfico Butterworth e wavelet, uma vez que estas técnicas foram utilizadas nos métodos de compensação de iluminação que serão apresentadas na próxima seção.

2.1 Transformações não lineares

Transformações não lineares são usadas freqüentemente em visão computacional, os tipos mais comuns de funções de transferências estão ilustradas na figura 1. A curva da função logarítmica tem como objetivo aumentar níveis de cinza baixos e comprimir níveis de cinza altos, o que pode melhorar iluminações deficientes. Transformações logarítmicas são úteis em imagens com sombra e iluminação não-uniforme.

Uma função gama tem a finalidade clarear imagens escuras e escurecer imagens claras, esta função é dada pela equação 1 [7]:

γcrs = (1)

onde c é uma constante, geralmente 1, r é a imagem original e s é a imagem final.

A transformação gama com valor de γ < 1 tende a reduzir a intensidade luminosa, enquanto as

24

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 36: III WVC 2007

transformações com valores maiores que 1 fazem o inverso, ou seja, tornam a imagem mais clara.

Figura 1: Transformações não-lineares [7]

2.2 Filtro Homomórfico Butterworth

O filtro homomórfico é um filtro utilizado para realçar as altas freqüências e atenuar as baixas freqüências, a figura 2 mostra em corte um exemplo da função de transferência H(u,v) em função de D(u,v) (distância a partir da origem do par de coordenadas (u,v)). Um resumo deste método pode ser encontrado na figura 3, onde DFT é a transformada discreta de Fourier e (DFT)-1 é sua transformada inversa [6].

Figura 2: Filtro Butterworth passa-alta

Figura 3: Passos filtro homomórfico

Um filtro passa-alta normalmente usado para este procedimento é o filtro Butterworth definido como [7]:

n

vuDD

vuH2

0),(1

1),(

⎥⎦⎤

⎢⎣⎡+

= (2)

onde n define a ordem do filtro. D0 é a distância da freqüência de corte do centro e D(u,v) é dado por:

[ ] 2/122 )2/()2/(),( NvMuvuD −+−= (3)

onde M é o número de linhas e N o número de colunas da imagem original.

2.3 Wavelets

A Transformada de Wavelets bi-dimensional para sinais discretos é definida como [1]:

∑ ∑∑+=k j k

k,jk,jk,k, )x(d)x(a)x(f ψΦ 00 (4)

ondeΦ são funções scaling na escala j e k,jψ são

funções wavelet na escala j . ajk , djk são coeficientesscaling e wavelet.

Para transformação Wavelet Discreta 2D (DWT), uma imagem é representada em termos de translações e dilatações das funções scaling e wavelet. Os coeficientes scaling e wavelet podem ser facilmente computados utilizando um banco de filtros 2D consistindo de filtros passa-alta e passa-baixa. Após um nível de decomposição 2D, a imagem é dividida em quarto sub-bandas: LL (passa-baixa passabaixa), que é gerada pelos coeficientes de aproximação; LH (passa-baixa passa-alta), HL (passa-alta passa-baixa), e HH (passa-alta passa-alta), que são gerados pelos coeficientes de detalhe [1].

3. Métodos de normalização da iluminação

Nesta seção será apresentada uma breve discussão dos métodos utilizados para compensação da iluminação.

3.1 LogAbout

O método LogAbout proposto por Liu et al. [2] consiste da aplicação de um filtro passa-alta seguida de uma transformação logarítmica. A transformação logarítmica utilizada foi:

25

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 37: III WVC 2007

cb

yxfayxg

ln

)1),(ln(),(

++= (5)

onde f(x,y) é a imagem original, a, b e c são parâmetros que controlam a localização e forma da curva logarítmica.

Figura 4: Máscara

O filtro passa-alta utilizado neste processo encontra-se na figura 4, resultados estão ilustrados na figura 5.

Figura 5: (1) Imagem original (2) Depois da transformação Log (3) Depois do método LogAbout [2]

3.2 Adaptação do Filtro Homomórfico

Neste método a imagem é dividida verticalmente em duas metades (obtendo-se duas sub-imagens da imagem original) (figura 6) e aplicado o filtro em cada metade individualmente. Neste método foi utilizado filtro Buttherwort com freqüência de corte Do = 0.25 e n = 1.Seguindo esta idéia, a imagem original é dividida horizontalmente e novamente é aplicado o filtro em cada metade individualmente [6].

Após a divisão da imagem e aplicação do pré-processamento em cada metade, as sub-imagens são agrupadas para reconstruí-la. A imagem de saída, IHMMOD(x,y), é dada por:

)],(.75.0),(.[21),( yxIyxIyxI HMHHMVHMMOD += (6)

onde IHMV(x,y) é a imagem dividida verticalmente, depois da aplicação do filtro homomórfico, e IHMH(x,y) é a imagem dividida horizontalmente.

Figure 6: Variação do filtro homomórfico [6]

3.3 Wavelets

A imagem é decomposta em altas (sub-bandas LH, HL e HH da figure 7) e baixas freqüências (LL2). Equalização do histograma é aplicada nos coeficientes de aproximação, e ao mesmo tempo são acentuados os detalhes (alta freqüência) multiplicando cada elemento da matriz dos coeficientes de detalhe por um escalar > 1 [1].

Figura 7: Estrutura multi-resolução

A imagem é reconstruída dos coeficientes de aproximação e detalhes em todas as 3 direções usando a transformada wavelet inversa, resultando na imagem normalizada.

Figura 8: Decomposição wavelet da imagem de face [1]

4. Método GamaAdapt

No novo método desenvolvido (figura 11) foi aplicado inicialmente na imagem um filtro da média com máscara 3x3 com a finalidade de diminuir a influência de pixelsisolados com valores muito altos ou muito baixos, logo

26

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 38: III WVC 2007

depois foi aplicado a equalização do histograma para melhorar o contraste da imagem.

Foi observado que pixels muito escuros das imagens estavam no intervalo [0,60], pixels escuros no intervalo [61,120], pixels claros estavam no intervalo [121,189] e muito claros no intervalo [235,255]. Então foi efetuada a média total de pixels da imagem para encontrar em qual intervalo a imagem se enquadraria, para finalmente utilizar a correção gama com valores adequados, conforme pode ser observado na figura 9. Após a aplicação da transformação gama obtém-se a imagem normalizada.

Figura 9: Estrutura do método GamaAdapt

5. Reconhecimento de face utilizando PCA

PCA é um método para reconhecimento de padrão numa determinada base de dados e expressa as similaridades e diferenças a respeito de uma imagem alvo [8]. O espaço PCA tem dimensionalidade reduzida sem muita perda de informação. O método PCA consiste em calcular a média dos valores do conjunto de treinamento, a matriz de covariância e seus auto-vetores e auto-valores. A média dos valores de cada classe de imagem é calculada e projetada no espaço PCA, compondo assim os dados de entrada para a rede neural.

Após o treinamento, a rede neural LVQ (Learning Vector Quantization) é capaz de identificar se uma imagem de face pertence ou não ao banco de dados.

6. Resultados

Foi utilizado um subconjunto do banco Yale Face Database B [9] contendo imagens em tons de cinza de 10 pessoas, cada uma sobre 10 diferentes condições de iluminação. Exemplos de imagens de três indivíduos do banco utilizado encontram-se na figura 10.

O resultado da taxa de reconhecimento do PCA sem aplicar normalização de iluminação foi de 77%. A tabela 1 mostra os resultados obtidos após aplicação dos métodos de compensação da iluminação antes do uso do PCA, e na figura 11 é possível observar resultados obtidos após utilização dos métodos de normalização da iluminação.

Tabela 1: Taxa de reconhecimento de cada método Método Taxa de reconhecimento

Sem normalização da iluminação

77%

Adaptação do filtro homomórfico

79%

LogAbout 91% Wavelet 93% Método GamaAdapt 96%

Figura 10: Amostra de 3 faces utilizadas

27

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 39: III WVC 2007

7. Conclusão

Neste trabalho foram comparados quatro métodos de normalização da iluminação. Todos os métodos analisados obtiveram melhores resultados no reconhecimento facial do que a não utilização de algum tipo de pré-processamento.

O método GamaAdapt desenvolvido obteve melhores resultados, devido este analisar a imagem como um todo para verificar se esta é escura ou clara e assim poder efetuar correção de contraste na imagem. A utilização de wavelet obteve segundo melhor resultado, este fato ocorre porque a imagem resultante não tem apenas realce de contraste, mas também realce de bordas e detalhes o que facilita futuras tarefas de reconhecimento de faces [1].

Para se obter uma melhor taxa de acerto no reconhecimento será proposta para uma próxima etapa uma técnica de amenização da iluminação que além deavaliar a imagem globalmente também analisará a influência de cada pixel da imagem. Também serão comparados outros métodos de reconhecimento facial, uma vez que é possível obter resultados diferentes com cada método de correção de iluminação.

Figura 11: a) Imagem original, b) Adaptação do filtro homomórfico, c) LogAbout, d) Método proposto

Agradecimentos

Os autores gostariam de agradecer a "Yale Face Database B" pelas imagens, e Juliana G. Denipote gostaria de agradecer ao CNPq pelo suporte financeiro.

Referências

[1] S. Du and R. Ward, “Wavelet-Based Illumination Normalization For Face Recognition”, Proc. of IEEE International Conference on Image Processing, vol. 2, 2005, pp. 954-957.

[2] H. Liu, W. Gao, J. Miao, D. Zhao, G. Deng and J. Li , “Illumination Compensation and Feedback of Illumination Feature in Face Detection” , Proc. IEEE International Conferences on Info-tech and Info-net, vol. 23, 2001, pp. 444-449.

[3] S. Shan, W. Gao, B. Cao and D. Zhao, “Illumination Normalization for Robust Face Recognition Against Varying Lighting Conditions”, Proc. of the IEEE International Workshop on Analysis and Modeling of Faces and Gestures,vol. 17, 2003, pp. 157-164.

[4] W. Chen, M. J. Er and S. Wu, “Illumination Compensation and Normalization Using Logarithm and Discret Cosine Transform”, Proc. of IEEE Internacional Conference on Control, Automation, Robotics and Vision, vol. 1, 2004, pp.380-385.

[5] J. Zhu, B. Liu, S and C. Schwartz, “General Illumination Correction and its Application to Face Normalization”, IEEE International Conference on Acoustics, Speech, and Signal Processing, vol. 3, 2003, pp. 133-6.

[6] K. Delac, M. Grgic and T. Kos, “Sub-Image, Homomorphic Filtering Techniques for Improving Facial Identification under Difficult Illumination Conditions”. Internacional Conference on System, Signals and Image Processing. Budapest, 2006.

[7] R. C. Gonzales and R. E. Woods, Digital Image Processing,Prentice Hall, 2002.

[8] M. A. Turk, A. P. Pentland, “Face Recognition Using Eigenfaces”, IEEE Computer Society Conference, 1991 pp. 586-591.

[9] A. S. Georghiades, P. N. Belhumeur and D. J. Kriegman, “From Few To Many: Generative Models For Recognition Under Variable Pose and Illumination”, IEEE Int. Conf. on Automatic Face and Gesture Recognition, 2000, pp. 277-284.

28

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 40: III WVC 2007

An Efficient Method for Parameter Estimation on the Multi-Level Logistic MRF Image Model using Maximum Pseudo-Likelihood Approach

Alexandre L. M. Levada1, Nelson D. A. Mascarenhas21Instituto de Física de São Carlos - Universidade de São Paulo, São Carlos, SP, Brasil.

2Departmento de Computação - Universidade Federal de São Carlos, São Carlos, SP, Brasil.

[email protected], [email protected]

Abstract

This paper addresses the problem of maximum pseudo-likelihood (MPL) estimation of the non-

isotropic Markov Random Field image model known

as Multi-Level Logistic (MLL) in a computationally efficient way. The proposed method consists in writing

the pseudo-likelihood function on a feasible way, in

terms of variables ka and

kr (where k denotes the

clique type), obtained by a unique scanning of the image. The objective function is then maximized using

an implementation of the simplex search method, which does not require the computation of numerical

or analytical gradient. Experiments using tomographic

images show that the proposed method is consistent in the presence of random noise.

1. Introduction

Markov Random Fields define a robust approach for contextual modeling. However, there are many open problems in MRF parameter estimation, and in most applications, the model parameters are still chosen by trial and error [1-2]. The main difficult in MRF parameter estimation is that the traditional methods cannot be directly applied to the problems. For example, the most general estimation method, maximum likelihood, is computationally intractable, due to the partition function on the Gibbs joint distribution (global model). To overcome this difficulty, Besag [3] proposed the maximum pseudo-likelihood approach (MPL), which uses the local conditional density functions to define a pseudo-likelihood function. Our contribution is the proposal of an efficient methodology for estimation of Multi-Level Logistic MRF model parameters based on rewriting the pseudo-likelihood function on a feasible way, and by avoiding intensive global optimization algorithms.

This paper is organized as follows. Section 2 is concerned about the MLL MRF image model and the pseudo-likelihood approach. Section 3 presents the proposed estimation method. The experiments and

results are described on Section 4. Finally, Section 5 presents the conclusions and final remarks.

2. MRF Image Models

The fundamental notion associated with Markov property is the conditional independence, since the knowledge of a local region (neighborhood system) isolates a single element from the entire field. A MRF defined on a lattice S is a collection of random variables for which the probability of a single element given the entire lattice is equal to the probability of this element given a finite support region of the lattice, called neighborhood [4]. Non-causal neighborhood systems are referred as zero-order, first-order, second-order and so on. Figure 1 shows the finite support regions for first to fifth order systems:

Figure 1. Finite support regions for several

neighborhood systems

In this work, we assume a second-order non-causal non-isotropic and homogeneous model, called Multi-

Level Logistic (the spatial dependency parameters are not the same for all directions, but they are constant along the entire image).

2.1 The Multi-Level Logistic Image Model

In stochastic image modeling, we need to define a probability distribution over possible images which reflect our prior knowledge about the desired solution. One of such models is the MLL model, which assumes different spatial dependency parameters, each one for a specific direction: horizontal (

1β ), vertical ( 2β ) and

diagonals (3, 4β β ). The standard model assumes that

the spatial parameters are globally constant throughout the field. The inhomogeneous model allows the

29

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 41: III WVC 2007

parameters to vary spatially. Thus, it can be defined by a set of local conditional density functions (LCDF’s). For a general neighborhood system N , the LCDF of a Multi-Level Logistic pairwise interaction model is defined as [5]:

( )( )

( ),

, ,

,

, ,

exp ,

|

exp ,

k

i j

k

ij

C i j i j

k

i j N

C i j i j

x G k

V x x

p x x

V x x

ε η

ε η

+ +

+ +∈

= (1)

where ,i jN denotes the neighborhood around pixel

,i jx ,, ,i j i jx Nε η+ + ∈ , 1,2,...,G K= is the set of

possible values of ,i jx (K is the number of classes) and

( ) , ,

, ,, ,

, ,

, k

k i j i j

C i j i j

k i j i j

x xV x x

x x

ε ηε η

ε η

ββ

+ ++ +

+ +

==

− ≠ (2)

where kc defines the clique type, as shows Figure 2.

Figure 2. Possible clique types for a MLL pairwise

interaction process

2.2 Maximum pseudo-likelihood estimation

The main difficult in MRF parameter estimation is that the traditional methods cannot be directly applied to the problems. The most general estimation method, maximum likelihood approach, is computationally intractable. The main advantage of the MPL estimator is its computational simplicity. Fortunately, as the maximum likelihood (ML) estimator, the MPL estimator has also a series of desirable properties, as consistency, that is, it converges to the true parameter with probability one as the size of image grows infinitely, and asymptotic normality [6]. The MPL estimator satisfies:

( )( )

,,,

ˆ argmax | ,i jMPL i j N

i j S

p x xβ

β β∈

= ∏ (3)

Often, maximizing the log-pseudo-likelihood function is more convenient (log is a monotonically increasing function), which results in:

( )

( )

( ),

, ,,

, ,,

log

,

log exp ,

k

k

i j

C i j i j

i j S k

C i j i j

i j S x G k

PL

V x x

V x x

ε η

ε η

β

+ +∈

+ +∈ ∈

=

− (4)

Thus, in order to obtain ˆMPLβ , we need to maximize

equation (4). In the following sections we propose an efficient and computationally feasible method to solve this problem.

3. An approach for MLL parameter estimation using MPL estimation

The log-pseudo-likelihood function can be interpreted as the difference between 2 main terms. Expanding the summation on first term, gives:

( ) ( )( )

( ) ( )1 2

3 4

1 , , , ,,

, , , ,

, ,

, ,

C i j i j C i j i j

i j S

C i j i j C i j i j

T V x x V x x

V x x V x x

ε η ε η

ε η ε η

+ + + +∈

+ + + +

= + +

+ (5)

Denoting by kg the number of cliques of type k

with equal labels and ke the number cliques of type k

with different labels, expression (5) becomes:

( ) ( )( ) ( )

( )

1 1 1 1 1 2 2 2 2

3 3 3 3 4 4 4 4

k k k

k

k k

k

T g e g e

g e g e

g e

a

β β β ββ β β β

β

β

= − + − +

− + −

= −

=

(6)

where ka represents, for the entire image, the total

number of cliques of type k with equal labels minus the total number of cliques of type k with different labels. Considering a second-order neighborhood system, then

each pixel ,i jx belongs to 2 cliques of type k, as

illustrates Figure 3.

Figure 3. Cliques for a central pixel on a second-

order MLL pairwise interaction process

30

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 42: III WVC 2007

For the second term, we should not adopt a global approach, but instead use the local information restricted only to each pixel’s neighborhood system. Similarly to the first term, we can write:

( )( )

( )

,

,

2,

,

ln exp

ln exp

i j

i j

k k k

i j S x G k

k k

i j S x G k

T p q

r

β

β

∈ ∈

∈ ∈

= −

=

(7)

where kp and

kq represent the number of neighboring

pixels equal and different on direction k, respectively and 2,0,2kr = − . Thus, the 4-D function to be

maximized on ( )1 2 3 4, , ,β β β β β= is:

( )( ) ,,

, ln expi j

k k k k

k i j S x G k

L X a rβ β β∈ ∈

= − (8)

where ka is an element of a 1 4× vector A and kr is

an element of a 3-D 4K NM× × matrix R , with K

representing the number of possible labels and N ,Mare the image spatial dimensions. This 3-D matrix stores one 2-D 4K × matriz for each image pixel. Note that both A and R can be obtained through a single image scanning.

Algorithm:

1. Define the number of regions/classes (K).

2. Scan the image once (all NM pixels) a. Calculate A[k], the total number of

cliques of type k with equal labels minus the total number of cliques of type k with different labels (k = 1..4)

b. Define the 3-D matrix R, containing the difference on the number of equal and different neighboring pixels on direction k, for all possible central pixel values

3. Define log-pseudo-likelihood function ( )L β in

terms of vector A and matrix R.

4. Maximize ( )L β using a numerical method

(preferably one without analytical or numerical gradients).

5. Output parameter vector ( )1 2 3 4ˆ ˆ ˆ ˆ ˆ, , ,MPLβ β β β β=

Figure 4. Example of the R matrix for a 3

class problem

Initially, to solve the optimization problem, any numerical algorithm could be used. Our choice for a MATLAB implementation of the simplex search method [7] is motivated by the fact that it is a direct search method and does not make use of numerical or analytical gradients. Such class of numerical methods does not require the computation (or even the existence) of derivatives. Therefore, the proposed method provides a computationally feasible way to

estimate the parameter vector β by MPL for any

given number of classes M. Obviously, the price for an increase on the number of classes is a higher computational cost. If the number of classes is small the problem is simplified since the size of matrix R significantly reduced.

4. Contextual Classification

Basically, the main application of this work is the development of a new methodology for contextual classification that uses combination of sub-optimal fast iterative algorithms for multispectral image classification (Figure 5). The use of multispectral images causes a significant increase on the number of unknown MRF spatial dependency parameters, requiring a robust and accurate parameter estimation stage. The combination approach is motivated by the fact that local iterative optimization algorithms like ICM, MPM and GSA [5] are very dependent on the initial conditions, converging to local maxima solutions. On the other side, although global methods as Simulated Annealing (SA) provide optimal solutions, they are very traditional approaches, computationally expensive and have low convergence speed. Our methodology for contextual classification proposes to investigate the use of local methods with multiple initializations to avoid sub-optimal solutions by adopting different classifier combination strategies. The estimation methods described here will be part of the MRF model parameter estimation module from the following contextual classification scheme.

31

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 43: III WVC 2007

Figu

classifica

5. Exper

To test andthe resultscomparing

order neigh

a.) nuclearb.) computc.) labeled d.) Lena im

On the a multispeand PD bInstrumentdevelopmesystem. In a mango dimensionsclasses).different tyimage withindependenand 2 0σ =shown in examinatioreveals thaareas. This

ure 1. Multisp

ation using co

alg

riments and

d evaluate the s in 4 experig the values of

hborhood syste

r magnetic resoterized tomogrclassified imamage.

first experimectral NMR mabands, providetation. These ient of a non-invorder to run thtransversal ss of 256 x 256To test theypes and leveh a signal dent additive ga0.02 . The imaFigure 5 andon of the Poat clearer areas is because br

pectral image

ombination of

gorithms

results

proposed metiments with r

ˆkβ for first, se

ems:

onance (NMR) raphy images. ges.

ent we consideango image, foed by Embraimages have bvasive fruit quhe proposed mection PD ba6 pixels, 255 ge estimation els of noise, wependent Poissussian noise, ages and obtad Table 1. Nooisson noise das have more righter areas ha

e contextual

f iterative MR

thod, we presereal image daecond and thir

images.

ered a sample ormed by T1, Tapa Agricultureen used on thuality assessmemethod, we choand image wigray levels (25method againwe degraded thson noise and with zero meaained results aote that carefdegraded imagnoise than daave higher noi

RF

ent atard-

ofT2ral heent se ith55nstheaanareful gearkise

variancequal t

secon

Horizon

Vertica

Diagon

Diagon

Thmultispfound phosphobtaineEmbraapplicaimages(Cesiuenergie60keVOn

SNR (high lduringanothehigherboth imis to anon CT

ce and on Poto the expected

Original image

Figure 5. NM

Table 1. MP

nd order neig

banOrig

ntal 1β =

al 2ˆ 0β =

nal: / 3ˆ 0β =

nal: \ 4ˆ 0β =

e second exppectral CT imin soil

horus, calciumed by an X anapa Agricultuations on soils, two X-ray um and Ameries were 40ke

V (Americium) n the followingSignal-to-Noisevels of noiseg data acquisiter smoother hir exposure timmages with siznalyze the perf-images with d

oisson distributd value [8].

Po

Gaussian noise

R PD band ma

L MLL param

ghborhood sy

d mango imaginal Pois

1.021= 1 0β =

0.7470 2ˆ 0β =

0.7849 3ˆ 0β =

0.7882 4ˆ 0β =

periment usedmage containin(plexiglass, m, besides the nd γ-ray CT scural Instrumenl science imagsources and icium) were ueV and 85keVand 662keV (Cg analysis we se Ratio) imagee, due to the tion (3 secondigh SNR imagme (20 seconds

ze of 65 x65 pformance of thdifferent levels

tion the varian

oisson noise

ango images

eter values fo

ystems on NM

ages sson Gauss

.8900 1 0.6β =

.7448 2ˆ 0.6β =

.7753 3ˆ 0.6β =

.7784 4ˆ 0.6β =

d one bandng several maaluminum, image backgrcanner developntation to exges. To acquitwo γ-ray so

used [9]. The V. The γ-ray Cesium). considered one, contaminatelow exposureds of exposurege, obtained ws of exposure pixels. The objhe estimation m of noise.

nce is

or

MR PD

sian

6565

6372

6256

6276

of a aterials water, round) ped by xplore re the ources X-ray were

ne low d with e time e) and with a time), jective method

32

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 44: III WVC 2007

After tprojection 255 levels values of coefficientenergy andensity of scanners obof the samultispectrfor classifichange subin previous

Table

neighb

Horizontal

Vertical

Diagonal:

Diagonal:

Table

neighb

Horizontal

Vertical

Diagonal:

Diagonal:

The thir(classificatprevious nfeature exAnalysis ((LDA) andassuming Note that,

the reconstrucalgorithm theof gray (K=25the physicallyts. These coed are also prthe materials.btain a map ofample, so thral images canication and anabstantially withs works [10]. T

2. MPL MLL e

borhood syste

im

662

1 0β =

2β =

/ 3ˆ 0β =

\ 4ˆ 0β =

3. MPL MLL e

borhood syst

im

85

1 0β =

2ˆ 0β =

/ 3ˆ 0β =

\ 4ˆ 0β =

rd experiment tion maps), onoisy CT multixtraction met(PCA) and Ld a maximumequal covariain this case, t

ction with thee images were55) that are proy observed linefficients are roportional to For a single f the coefficienhe use of mn offer additioalysis because h different enerThe results are

estimators for

ems on 662 K

mages

2 KeV N

0.7814

0.9101

0.7254

0.7569

estimators for

tems on 85 Ke

mages

KeV N

0.7888

0.7973

0.6897

0.6260

used two diffeobtained by ispectral imagethods, PrincipLinear Discrimm likelihood cance matrices the noise is loc

e filtered bace normalized oportional to thnear attenuatioa function the attenuatioenergy, the CTnts in the sectiomany bands onal informatiothe coefficienrgies, as verifieshown below.

r second orde

KeV band CT

Noisy 662 KeV

1 0.7614β =

2ˆ 0.6758β =

3ˆ 0.5960β =

4ˆ 0.7440β =

r second orde

eV band CT

Noisy 85 KeV

1 0.7658β =

2ˆ 0.7606β =

3ˆ 0.6765β =

4ˆ 0.4484β =

erent label fieldclassifying the using differepal Componeminant Analyslassifier (LDCfor each clascal since it do

k-toheonofonT-onin onntsed

er

er

dsheent ent sisC), ss.es

not afaspect)with th

Ta

ne

Hori

Vert

Diag

Diag

FinresultssmoothThe ad

2σ =In a

with th

the homthe vapresendependneighbbecaus

Ta

ffect all pixels) and the numhe previous cas

ble 4. MPL ML

eighborhood

izontal

tical

gonal: /

gonal: \

ally, in the las for MPL Mh and noisy gdditive noise

0.02 . Results all situations, t

heory, since in

mogeneity of talues are smalnce random nodency. It meaboring elemense the pixels ar

Original

Figure 6. Len

additi

ble 5. MPL ML

neighborhoo

Horizontal

Vertical

Diagonal: /

Diagonal: \

s in the imagmber of classesses (K=6).

LL estimators

systems on la

PCA

1 0.3122β =

2ˆ 0.3073β =

3ˆ 0.1853β =

4ˆ 0.1447β =

ast experimentMLL parametegrayscale Lenais Gaussian ware shown on the obtained r

the MLL MRF

the solution anller for rough oise on imageans that this dnts is weakerre less correlate

G

na images: or

ive Gaussian

LL estimators

d systems on

Original

1 0.9078β =

2ˆ 1.3245β =

3ˆ 0.5568β =

4ˆ 0.6035β =

ge (salt and p is small comp

s for second o

abeled image

LDA

1 0.3216β =

2ˆ 0.4852β =

3ˆ 0.2885β =

4ˆ 0.3582β =

t, we compareer estimation a images (Figuwith zero meaTable 5. results are con

F model, β co

nd it is desirabfields, becaues reduces thedependency ber on noisy imed.

aussian noise

riginal and wi

noise

s for second o

n Lena imageGaussian

noise

1 0.4030β =

2ˆ 0.4408β =

3ˆ 0.4194β =

4ˆ 0.3831β =

pepper paring

order

es

ed the using ure 6). an and

sistent

ontrols

le that se the e pixel etweenmages

ith

order

33

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 45: III WVC 2007

Observing the results from this and previous experiments, which include a wide range of image data, we notice the non-isotropic nature of images, since the parameters values significantly differ along different directions. Therefore, we conclude that considering the spatial parameter β as non-isotropic

may not be the best approach for some image processing, computer vision and pattern recognition

applications. For instance, the parameter vector β can

be interpreted as a set of homogeneity measures in the various directions of a scene, allowing a better image analysis or even the characterization of objects/regions defined as texture patterns.

6. Conclusions

In this paper we discussed maximum pseudo-likelihood (MPL) estimation of the non-isotropic Markov Random Field image model known as Multi-Level Logistic (MLL) in a computationally efficient way. The emphasis is on rewriting the log-pseudo-likelihood function in terms of constants

ka and kr

(where k denotes the clique type), obtained by a unique scanning of the image, together with the use of a direct search method, which leads to a general estimation method because it does not make use of numerical or analytical gradients. This allows the modeling of less restrictive and non-isotropic contextual systems in a large number of MRF applications. Furthermore, the numerical methods adopted are not based on intensive global optimization algorithms and the final solution is not affected by varying initial conditions, a problem found in many algorithms. Also, the method provided good results for a variety of image data, showing that the method is consistent in the presence of random noise. Finally, we conclude that it is not reasonable to accept the isotropic assumption for the observable data, since the obtained results show significant variations on the directional parameters values. Future works may include an extension on the proposed method for parameter estimation in higher-order neighborhood systems and also the use of a non-homogeneous MLL model.

7. Acknowledgements

We would like to thank Dr. Paulo E. Cruvinel for providing the multispectral tomographic images used in the experiments and FAPESP for Alexandre L. M. Levada student scholarship through the process nº 06/01711-4 and financial support through the Thematic Project nº 2002/07153-2.

8. References

[1] A. H. S. Solberg, “Flexible nonlinear contextual classification”, Pattern Recognition Letters, v. 25, 1501-1508, 2004.

[2] J. Wu, A. C. S. Chung, “A segmentation model using compound Markov Random Fields based on a boundary model”, IEEE Transactions on Image Processing, v. 16, n. 1, 241-252, 2007.

[3] J. E. Besag, “Spatial interaction and the statistical analysis of lattice systems”, Journal of the Royal

Statistical Society, Series B, v.36, 192-236, 1974.

[4] A. Waks, O. J. Tretiak, G. K. Gregoriou, “Restoration of noisy regions modeled by noncausal Markov random fields of unknown parameters”, International Conference on Pattern Recognition

(ICPR), v. 2, 170-175, 1990.

[5] S. Z. Li, Markov Random Field modeling in image

analysis, Springer, Second Edition, Tokyo, 2001. [6] G. Winkler, Image Analysis, Random Fields and

Markov Chain Monte Carlo Methods, Springer, Second Edition, 2006.

[7] Lagarias, J.C., J. A. Reeds, M. H. Wright, and P. E. Wright, "Convergence Properties of the Nelder-Mead Simplex Method in Low Dimensions," SIAM Journal

of Optimization, v. 9, n. 1, pp. 112-147, 1998.

[8] C. Boncelet, “Image noise models”, Handbook of

Image & Video Processing, Ed. Al Bovik, Sec. ed., 397-409, 2005.

[9] P.E. Cruvinel, R. Cesareo, and S. Mascarenhas. “X and - Rays Computerized Minitomograph Scanner for Soil Science”, IEEE Transactions on Instrumentation

and Measurementes, v. 39, n. 5, 1990. p. 745-750.

[10] M.R.P. Homem, N.D.A. Mascarenhas, and P.E. Cruvinel. “The Linear Attenuation Coefficients as Features of Multiple Energy CT Image Classification”, Nuclear Instruments and Methods in Physics Research,v. 452, 2000, pp. 351-360.

34

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 46: III WVC 2007

Application of image restoration algorithms in vibro-acoustography images

Talita Perciano, Nelson D. A. MascarenhasUniversidade Federal de Sao Carlos - DC

Sao Carlos, SP - Brasiltalita leite,[email protected]

Alejandro C. Frery, Glauber T. SilvaUniversidade Federal de Alagoas - IC

Maceio, AL - Brasilacfrery,[email protected]

Abstract

Vibro-acoustography (VA) is an imaging modality thatproduces a map (image) of the mechanical response of anobject to a localized dynamic radiation force of an ultra-sound field. This technique has been studied for clinicalapplications such as calcifications in breast tissue and arte-ries. In this method, images are degraded in its formationprocess and by the acquisition system. The deterministiccomponent of the degradation can be described by meansof the point-spread function of the system, which is a three-dimensional complex function defined in terms of the acous-tic emission of a point-target in response to a dynamic radi-ation stress of ultrasound. This paper presents some resultsof the application of restoration algorithms in VA images.We use a digital phantom to simulate a breast with lesion-like inclusions. The phantom image is convolved with thesystem PSF to form a degraded image taking into accountthe depth-of-field effects. Three restoration filters (Wiener,Regularized Least Squares and Geometric Mean) are a-pplied to the degraded images with additive Gaussian noiseand their results are compared visually and quantitatively.

1. Introduction

Since the beginning of the modern medicine, palpationhas been used to examine patients with the aim to detectabnormalities in tissue. The increase of the tissue hardnessis often related to different physiological states, and conse-quently to an abnormal pathological process as breast, liverand prostate tumors [4]. However, if the abnormality is toosmall to be sensed by the touch, or if it lies deeply in thebody, practically nothing can be inferred by palpation. It isalso known that common imaging methods are not capableof detecting changes of rigidity in tissue. Thus, these me-thods were modified to perceive changes of rigidity in su-perficial and deep tissue. This set of modified methods werecalled elasticity imaging [4].

Elasticity imaging techniques use an external source toproduce a distribution of static or dynamic force in the stu-died tissue. The applied stress causes a displacement distri-bution within the tissue which can be measured by nuclearmagnetic resonance, ultrasound, or optical methods. Thereare various methods of elasticity imaging. These methodsusually differ by the type of the applied force or by the mea-surement method used [9]. The aim of elasticity imaging isto map tissue elastic properties in an anatomically meaning-ful picture to provide useful diagnostic information.

Elastography is a non invasive imaging method of elas-ticity that uses rigidity and tension images of soft tissue todetect or classify tumors [7, 16, 17]. A tumor or a cancergrowth is usually 5 to 28 times more rigid than the normaltissue. When a mechanical compression or vibration is a-pplied, the tumor deforms less than the surrounding tissue,that is, the tension on the tumor is lesser than on the tissue.The elastography method estimates the local tension in thetissue through the cross correlation of frequency radio seg-ments before and after a little deformation.

Based on the palpation principle, the elastographymethod was initially designed to detect rigid masses (tu-mors) inside normal tissue. It exhibited good results inmuscle, prostate and breast in vitro and in vivo applica-tions [15]. However, recently, the elastography methodhas demonstrated to have a big impact in other applica-tions, such as normal tissue rigidity and poroelasticityimaging. Elastography has been also applied to detect car-diac abnormalities [11].

Muthupillai et al. [13] developed magnetic reso-nance elastography (MRE), which consists of visuali-zing the propagation of shear waves in a material (ortissue) with the magnetic resonance imaging (MRI) tech-nique. MRE is an imaging technique used to measure tissueelasticity through its vibration in a MRI machine. An al-ternative approach is to use a localized stress distributiondirectly in the region of interest.

The use of localized acoustic radiation force to assess ti-ssue properties was first proposed by Sugimoto et al. [20].In this method, an impulsive radiation force is exerted on

35

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 47: III WVC 2007

a localized region in the tissue by a focused ultrasoundpulsed beam. The force causes a displacement which ismeasured by ultrasound pulse-echo techniques. Acousticradiation force produced by a modulated ultrasound beamhas been used to generate shear elastic waves in tissue asan imaging method [18]. In this method, the resulting shearwaves due to the radiation force are generated in the tissue atthe modulation frequency and they are detected by an ima-ging transducer.

Walker et al. [21] used pulsating acoustic radiation forceto produce images of viscoelastic parameters in a mimi-cking gel phantom. Nightingale et al. [14] established theacoustic radiation force impulsive imaging (ARFI) in whicha single transducer is used to generate the localized radia-tion force and measure the resulting displacement by meansof ultrasound correlation-based methods. Fatemi et al. [5]proposed vibro-acoustography (VA) as an imaging methodwhich is based on localized dynamic ultrasound radiationforce exerted in tissue by an ultrasound modulated beam.

VA is an elastography method in which an oscillatory ra-diation force is used to vibrate a small portion of an object(or tissue) in the vicinity of the focal region of the system.The produced acoustic emission from the object vibrationis detected by a hydrophone and it is used to form an ima-ge of the object [6]. Figure 1 shows a diagram of the VAimaging system. The acoustic field emitted carries informa-

Figure 1. Ultrasound-stimulated vibro-acoustography

tion about the local mechanical properties of the object andalso about the contour conditions of the object.

In the system described on Figure 1, the image plane isdefined as the focal plane of the transducer. The transducermechanically scans an object in raster mode producing animage of the object. The system spatial resolution or powerof resolution, which shows the capacity to distinguish smallclose objects, depends on the distribution of the dynamic ra-diation force on the focal region of the transducer.

The VA image is formed by pixels whose brightness isdetermined by the acoustic emission of each point in thetissue. The acoustic emission carries information about the

tissue region in low and ultrasound frequencies (densityvariation and compressibility), differently from the conven-tional ultrasound that does not provide this kind of informa-tion.

This paper presents results of the application of restora-tion algorithms in VA images using a digital phantom tosimulate a breast with lesion-like inclusions for the experi-mental tests. To the best of our knowledge, there are notworks in the literature addressing this problem.

2. Vibro-acoustography Image Formation

The general blurring model used in restoration is ex-pressed in space domain by

g(x, y, z) = f(x, y, z) ∗ h(x, y, z), (1)

where f(x, y, z) is the original image, h(x, y, z) is a blu-rring function, and g(x, y, z) is the blurred image. More-over, if Gaussian noise is added to the blurring model:

g(x, y, z) = f(x, y, z) ∗ h(x, y, z) + n(x, y, z), (2)

where n(x, y, z) is the noise and the symbol ∗ denotes thespatial convolution. Independent identically distributed ran-dom variables are considered in this work.

The following equation represents the blurring model inthe frequency domain

G(u, v, w) = F (u, v, w)H(u, v, w) + N(u, v, w), (3)

where F (u, v, w), G(u, v, w), H(u, v, w) and N(u, v, w)are the Fourier Transforms of f(x, y, z), g(x, y, z), h(x,

y, z) and n(x, y, z) respectively.In Ref. [19] the VA image formation is studied taking

into account depth-of-field effects. According to that paper,VA imaging systems might be assumed linear and space in-variant in an area nearby the focal region of the system.Thus, the VA image of an object can be obtained convol-ving the function that represents the object with the systemPSF:

i(r;ω0,∆ω) = o(r;ω0,∆ω) ∗ h(r), (4)

where r is the position vector of the object, ω0 is the cen-ter frequency, ∆ω is the frequency of the dynamic radia-tion force produced by the ultrasound beams, and h(r) isthe system PSF. The normalized PSF of the system is givenby:

h(r) = Aφ1(r)φ∗

2(r), (5)

where A = [φ1(r0)φ∗

2(r0)]−1 is the normalization constant

and the functions φ1 and φ2 are the complex amplitudesof the velocity potentials of the ultrasound beams. Figure 2shows a typical VA PSF [19].

One can notice the association between the equations (1)and (4), where the functions g, f and h in the first equa-tion are represented by i (VA image), o (the region or object

36

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 48: III WVC 2007

Figure 2. Theoretical PSF magnitude for asector array transducer

of interest) and h (VA PSF) in the second equation, respec-tively. The final model used in this paper can be written asfollows, using notation commonly in restoration:

i(x, y, z) = o(x, y, z) ∗ h(x, y, z) + n(x, y, z). (6)

With the information above, we have the necessary appa-ratus to obtain a degraded image by blurring and noise, inorder to apply restoration techniques as presented in Sec-tion 5. Since we are not aware of works in the literature ap-plying restoration algorithms to VA images, our initial aimis to analyze the behavior of these images to a restorationproblem. Thus, we use as input the VA image with noiseand try to restore it to its original state using three filters(Wiener, Regularized Least Squares and Geometric Mean).We obtain acceptable results after restoration using these fil-ters.

The complex nature of the VA PSF and, therefore, of theconvolution is noteworthy, since the problem involves anamplitude and a phase in each position. Then, we have thefirst problem of applying restoration filters to VA images:the use of complex convolution. This fact considerably in-creases the computational costs of both implementing andusing restoration algorithms. Next Section presents the de-finition of the 3D complex convolution.

3. 3D Complex Convolution

Let us define the 3D discrete real convolution of twofunctions f(x, y, z) and g(x, y, z). In that case, f and g

are defined as matrices of dimensions A × B × C andD × E × F (3D array of numbers), respectively. The func-tions are extended with zeros to dimensions M = A+D−1,N = B + E − 1 and O = C + F − 1, so that they are pe-riodic with period M , N and O in the x, y and z direc-tions [3, 8]. The resulting circular convolution is linear withthese extensions [2]. The 3D convolution of the extended

functions fe(x, y, z) and ge(x, y, z) is defined by

fe(x, y, z) ∗ ge(x, y, z) = (7)1

MNO

∑m,n,o=0

fe(m,n, o)ge(x − m, y − n, z − o),

for x = 0, 1, 2, . . . ,M − 1, y = 0, 1, 2, . . . , N − 1 and z =0, 1, 2, . . . , O − 1, where ∗ denotes the spatial convolution.

However, the convolution used in this paper has com-plex nature, then let us consider fe and ge as complex func-tions. Let [fe] and [fe] be the real and imaginary parts ofthe function fe and the same for the function ge ([ge] and[ge]). Then,

fe(x, y, z) ∗ ge(x, y, z) =

=1

MNO

∑m,n,o=0

([fe] + i[fe])([ge] + i[ge])

=1

MNO

∑[fe][ge] + i([fe][ge]

+ [fe][ge]) −[fe][ge]=

1

MNO

∑[fe][ge] + i

[∑[fe][ge]

+∑

[fe][ge]]−∑

[fe][ge]

= [fe] ∗ [ge] + i([fe] ∗ [ge]

+ [fe] ∗ [ge]) −[fe] ∗ [ge] (8)

where i =√−1.

One can see in equation (8) that the complex convolutioncan be written in terms of the convolutions of the real andimaginary parts of the complex functions, which are realfunctions. At first, for implementation purposes, this equa-tion seems very interesting and useful but, because of thecharacteristics of the problem we are leading with, usingthis equation in order to form the VA image becomes im-practicable. The size of the PSF we used in the simulationof the VA system is 80 × 80 × 512. To compute the con-volution and then the blurring model in space domain usingsuch function is unfeasible in standard PCs.

However we know, by the convolution theorem, that theconvolution of two functions in the space domain is theproduct of their Fourier Transforms in the frequency do-main. Moreover, using the Fast Fourier Transform (FFT)the problem is much more tractable. The complex convo-lution in the frequency domain (product of Fourier Trans-forms) is the same of the real convolution, since the FourierTransform of any function, complex or not, is always com-plex. For those reasons, all the implementations of this workwere made in frequency domain.

Even working in the frequency domain, our problemstill requires huge computer memory resources (more than4 GB). The PSF and the phantom have 80 × 80 × 512 and196×161×211 coordinates, respectively, so they both needto be extended to objects with 275 × 240 × 722 positions;we therefore have to work with two matrices with almost

37

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 49: III WVC 2007

48 million positions each. Since we are using complex va-lues, each pixel demands 16 bytes to be stored in memory,so each matrix would need more than 762 MB to be stored.The method known as overlap-add was employed to tacklethis problem.

4. Overlap-Add Method

The overlap-add method [12] is used to reduce the a-mount of memory and computation required to convolvetwo functions and to perform the true linear convolution:the same requirements we have in our work. Since we areworking in 3D, we extend this method for our purposes.

Suppose we want to convolve two functions, f(x, y, z)and g(x, y, z), as in Section 3. In the overlap-add method,f(x, y, z) is divided into segments fijk(x, y, z), then thefunction f(x, y, z) can be represented by

f(x, y, z) =

L1∑i=1

L2∑j=1

L3∑k=1

fijk(x, y, z), (9)

where L1L2L3 is the number of segments in the image.Convolving f(x, y, z) with g(x, y, z) and using the distribu-tive property of convolution, we obtain

f(x, y, z) ∗ g(x, y, z) =

=

( L1∑i=1

L2∑j=1

L3∑k=1

fijk(x, y, z)

)∗ g(x, y, z)

=

L1∑i=1

L2∑j=1

L3∑k=1

(fijk(x, y, z) ∗ g(x, y, z)). (10)

The segment fijk(x, y, z) has a smaller support thanf(x, y, z), consequently the computation of the convolu-tion requires less memory. The method makes the convo-lution slowler, but the alternative is a series of input/outputoperations, which would be much less efficient.

Once the problem of complex convolution is solved, wecan now apply the blurring model as shown in Section 2 andthen assess the restoration algorithms.

5. Restoration

Image restoration (or deconvolution) techniques removeor minimize some known degradations in an image [1, 10].In our case, the degradations of the VA image are caused bythe system PSF and the added Gaussian noise, both knownas we saw in the last Sections.

For the purposes of this work, three well known filtersare applied: Wiener, Regularized Least Squares and Ge-ometric Mean. This choice was made because these arewidespread used filters and, moreover, there is the restric-tion to work in frequency domain.

The Fourier Transform of the restored image using theWiener Filter is given by

F =

[1

H

|H|2|H|2 + K

]G, (11)

where F , H and G are functions of (u, v, w), and K is aconstant. Using the Regularized Least Squares Filter

F =

[1

H

|H|2|H|2 + γ|P |2

]G, (12)

where γ is the regularization parameter and P (u, v, w)is the Fourier Transform of the 3D Laplacian Operator,p(x, y, z), given by

p(x, y, z) =

⎡⎣ 0 0 0

0 −1 00 0 0

⎤⎦ , z = 1, 3

,

p(x, y, 2) =

⎡⎣ 0 −1 0

−1 6 −10 −1 0

⎤⎦

Using the Geometric Mean Filter

F =

[H∗

H∗H

]α [H∗

H∗H + γK

]1−α

G. (13)

This last filter can be considered as an extended version ofthe Wiener Filter and, actually, its result lies between theWiener Filter and the Inverse Filter. Some initial tests withthe filters were made in Matlab and the final algorithmswere implemented in C.

6. Experimental Results

In order to make our experimental tests, we used a digi-tal phantom (see Figure 3(a)), which was designed to mimicthe major features exhibited by the breast phantom shown inFigure 3(b). This phantom consists of three opaque spheresof radii 4, 3.5 and 3 mm, respectively. We are using a singleexperimental phantom instead of various phantoms or realimages, however controlled simulations and experimentsare necessary to evaluate the behavior of the method. Be-sides, making use of simulated images, we can control thenoise level and can evaluate the performance of the algo-rithms using images with different levels of additive andsignal independent noise.

The VA image of the breast phantom is shown in Fi-gure 3(c), along with the region described by the digitalphantom.

We need the object function and the PSF to form theimage, so we use a discrete version of the phantom with196×161×211 pixels. The discrete version of the phantom

38

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 50: III WVC 2007

(a) (b)

(c)

Figure 3. Digital phantom in 3D (a) Breastphantom in (b) and VA image of the breastphantom (c)

was convolved with the PSF (80 × 80 × 512) (Figure 4(a))and then Gaussian noise (µ = 0, σ = 0.5) was added to theblurred image. Figure 4(b) is the degraded image submittedto the restoration filters. Since the degraded image is com-plex, the figure shows the magnitude of an image slice: thex − y focal plane.

(a) (b)

Figure 4. Blurred image (a) and degradedimage (b)

Figure 5(a) presents the original discrete phantom. Fi-gures 5(b), 5(c) and 5(d) present the results obtained afterrestoration using the Wiener Filter, the Regularized LeastSquares Filter (RLS) and the Geometric Mean Filter, res-pectively. One can notice that the restored images, as wellas the degraded image, exhibit characteristics of the PSF:artifacts in the same shape of the PSF lobules. The restora-tion results are 3D matrices of real values just like the origi-nal discrete phantom. After the restoration, the results maycontain imaginary parts, but those values are very small andhave no significance for the final result.

(a) Original phantom (b) Wiener Filter (K = 5)

(c) RLS Filter (γ = 5) (d) GM Filter (γ = 1,K = 5 and α = 1/2)

Figure 5. Experimental results

The Wiener Filter and the RLS Filter algorithms pro-duced good results and also better results than the Geome-tric Mean Filter. A visual inspection suggests that the Regu-larized Least Squares Filter is the best of them. To provethis observation, we used a quantitative measure to com-pare the results: the Improvement in Signal to Noise Ratio(ISNR) [2]:

ISNR = 10 ∗ log10

(‖imd − imo‖2

‖imr − imo‖2

). (14)

where imd is the degraded image, imr is the restored imageand imo is the original image. According to this ratio, thehigher the value the better the restoration result. The resultsare resumed in Table 1.

Algorithm ISNRRLS 43.30

Wiener 39.76Geometric Mean 31.17

Table 1. ISNR of the results

As previously said, the results of the Geometric MeanFilter are close to those resulting from the Wiener or the In-verse Filter. This could be the reason why this filter did notyielded a very good result. The result seems like the InverseFilter, that increases the noise impact on the image.

Another approach that can be used to analyze the resultsis to apply a border detector to them. This technique is use-ful because in this case the correct borders are known, i.e.,the ideal result has the same circular borders as the originalimage (phantom). The result of applying a Laplacian edgedetector (ED) to the restoration results is shown in Figure 6,

39

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 51: III WVC 2007

where one sees that the RLS filtered image yielded the bestborders. As the result of the Geometric Mean was not sogood, the Laplacian detector was unable to find the borders.

As previously discussed, the computational implementa-tion poses problems when applying restoration algorithmsto vibro-acoustography images because of the characteris-tics of the system. Thus, the computational cost of the im-plementations should also be compared. In this case, themethods used impose comparable computational costs.

(a) (b)

Figure 6. ED for the Wiener Filter (a) and EDfor RLS Filter (b)

7. Conclusions

We presented an original and challenging problem:the application of restoration techniques to vibro-acoustography images. The difficulties arising in thisapplication are discussed and solutions are presented, asthe overlap-add method used to overcome the memory re-quirements imposed by size of the considered problem.This technique was successfully applied to our experi-mental tests. We show results of three classical restora-tion techniques applied to a new imaging modality, namely,the vibro-acoustography. There are various restoration me-thods in the literature and this paper, indeed, is the first stepin this direction.

We thank CNPq for Talita Perciano’s grant and Fapespfor the Thematic Project 2002/07153-2.

References

[1] H. C. Andrews and B. R. Hunt. Digital Image Restoration.Prentice-Hall, 1977.

[2] A. C. Bovik. Handbook of Image and Video Processing.Academic Press, 2000.

[3] E. O. Brigham. The Fast Fourier Transform. Prentice-Hall,Englewwod Cliffs, 1974.

[4] I. Cespedes, J. Ophir, H. Ponnekanti, and N. Maklad. Elas-tography: elasticity imaging using ultrasound with applica-tion to muscle and breast in vivo. Ultrason Imaging, 15:73–88, 1993.

[5] M. Fatemi and J. F. Greenleaf. Ultrasound-Stimulated Vibro-Acoustic Spectrography. Science, 280:82–85, 1998.

[6] M. Fatemi and J. F. Greenleaf. Vibro-acoustography: animaginf modality based on ultrasound-stimulated acousticemission. Proc. Natl. Acad. Sci. USA, 96:6603–6608, 1999.

[7] L. Gao, K. J. Parker, R. M. Lerner, and S. F. Levinson. Imag-ing of the Elastic Properties of Tissue - A Review. Ult. Med.Biol., 22:959–977, 1996.

[8] R. C. Gonzalez and R. E. Woods. Digital Image Processing.Addison-Wesley, MA, 1992.

[9] J. F. Greenleaf, M. Fatemi, and M. Insana. Selected methodsfor imaging elastic properties of biological tissues. Annu RevBiomed Eng, 5:57–78, 2003.

[10] A. K. Katsaggelos. Digital Image Restoration. Springer,New York, 1991.

[11] E. Konofagou, J. D’hooge, and J. Ophir. Cardiac elastogra-phy - a feasible study. IEEE Ultrasonics Symposium Pro-ceedings, 2:1273–1276, 2000.

[12] J. S. Lim. Two-Dimensional Signal and Image Processing.Prentice Hall, 1989.

[13] R. Muthupillai, D. J. Lomas, P. J. Rossman, J. F. Greenleaf,A. Manduca, and R. L. Ehman. Magnetic resonance elastog-raphy by direct visualization of propagating acoustic strainwaves. Science, 269:1854–1857, 1995.

[14] K. Nightingale, M. S. Soo, R. Nightingale, and G. Trahey.Acoustic Radiation Force Impulse Imaging: In Vivo Demon-stration of Clinical Feasibility. Ultrasound in Medicine andBiology, 28:227–235, 2002.

[15] J. Ophir, S. K. Alam, B. Garra, F. Kallel, E. Konofagou,T. Krouskop, and T. Varghese. Elastography: ultrasonic esti-mation and imaging of the elastic properties of tissues. Proc.Instn. Mech. Engrs., 213:203–233, 1999.

[16] J. Ophir, I. Cespedes, H. Ponnekanti, Y. Yazdi, and X. Li.Elastography: a quantitative method for imaging the elas-ticity of biological tissues. Ultrason Imaging, 13:111–134,1991.

[17] A. Sarvazyan. Handbook of Elastic Properties of Solids, Liq-uids, and Gases, volume Elastic Properties of Solids: Bio-logical and Organic Materials, Earth and Marine Sciences,chapter 5. Academic Press, U.S., 2001.

[18] A. P. Sarvazyan, O. V. Rudenko, S. D. Swanson, J. B.Fowlkes, and S. Y. Emelianov. Shear wave elasticity imag-ing: a new ultrasonic technology of medical diagnostics. Ul-trasound in Medicine and Biology, 24:1419–1435, 1998.

[19] G. T. Silva, A. C. Frery, and M. Fatemi. Image Formation inVibro-acoustography with Depth-of-fields Effects. Comput-erized Medical Imaging and Graphics, 30:321–327, 2006.

[20] T. Sugirnoto, S. Ueha, and K. Itoh. Tissue hardness mea-surement using the radiation force of focused ultrasound.IEEE Ultrasonics Symposium Proceedings, pages 1377–1380, 1990.

[21] W. F. Walker, F. J. Fernandez, and L. A. Negron. A methodof imaging viscoelastic parameters with acoustic radiationforce. Physics in Medicine and Biology, 45:1437–1447,2000.

40

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 52: III WVC 2007

Detecção de Resíduos em Imagens de Bolsas para Coleta de Sangue Utilizando Redes Neurais Artificiais nos canais RGB

Cássio Avelino Adorni [email protected] Adilson Gonzaga

[email protected]

Departamento de Engenharia Elétrica, Escola de Engenharia de São Carlos Universidade de São Paulo – USP

RESUMO

Este artigo apresenta uma metodologia para identificação de resíduos em imagens de bolsa para coleta de sangue utilizando técnicas de reconhecimento de padrões, com o auxilio de uma Rede Neural Artificial para classificar padrões de resíduos encontrados nas imagens, através do intervalo de cada canal do RGB. Os resultados apresentados são comparados com outra metodologia, baseada em lógica Fuzzy, que foi aplicada ao mesmo banco de imagens com bons resultados. A comparação dos resultados demonstra o ótimo desempenho da metodologia proposta.

1. INTRODUÇÃO

A produção de produtos médicos ou fármacos necessitam de cuidados especiais para manter composição, qualidade e assegurar a sua esterilidade biológica.

As bolsas para coleta de sangue não são diferentes, precisam estar livres de resíduos para não comprometer o seu conteúdo.

Na analise e inspeção destas bolsas durante o processo de industrialização algumas empresas utilizam à inspeção visual. Este processo manual é realizado a olho nu, fato que não permite garantir a ausência de resíduos por estar diretamente ligado ao fator humano e a juízo de valor.

Garantir que as bolsas comercializadas para coleta de sangue, não contenham qualquer tipo de resíduo, a um custo que não inviabilize a competitividade comercial das empresas somente pode ser conseguido com sistemas automatizados.

Atualmente os algoritmos para reconhecimento de padrões têm apresentado excelentes resultados quando aplicados em sistemas automatizados, obtendo avanços significativos em diversas áreas [1].

Este artigo propõe uma metodologia para automatizar o sistema de inspeção visual, utilizando imagens digitalizadas das bolsas para coleta de sangue e técnicas de Reconhecimento de Padrões para detectareventuais resíduos existentes nas bolsas para coleta de sangue.

Na classificação de padrões em imagens são utilizados os classificadores estatísticos, aproximação sintática, sistemas fuzzy e redes neurais [2] [3].

Optou-se por utilizar Redes Neurais Artificiais (RNA) para classificar os pixels por ter grande capacidade de generalização e de agrupar ou organizar dados. Estas características são importantes para superar as dificuldades de classificar pixels que possam representar resíduos nas imagens.

Para analise dos resultados obtidos pela metodologia proposta, foram comparados estes resultados com os resultados obtidos com outra metodologia baseada em Sistemas Fuzzy, que também foi aplicada no mesmo banco de imagens.

2. JUSTIFICATIVA

Observando a Figura 1, pode-se notar como o processo de inspeção visual é realizado, apenas com o auxilio de um equipamento de iluminação simples, a percepção visual e experiência da pessoa nesta função para detectar a existência ou não, de resíduos em bolsas para coleta de sangue.

Figura 1 – Processo de Inspeção Visual.

41

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 53: III WVC 2007

O sistema de inspeção visual descrito apesar de ser realizado e maneira satisfatória e atender as exigências da Vigilância Sanitária não poder garantir quer todas as bolsas inspecionadas não contenham resíduos, pois é totalmente depende do fator humano nele envolvido, sendo sujeito a situações como estado emocional, vontades, situação afetiva, capacidade de atenção etc.

É preciso garantir que as bolsas não contenham resíduos, porque se possuir algum material ou resíduo que cause alteração em seu estado ou resistência poderá causar a abertura do sistema por ruptura e a perda de seu conteúdo, causando grandes transtornos.

Verificando como a tarefa esta sendo realizada, propõe-se capturar imagens das bolsas para coleta de sangue, processá-las inspecionando pixel a pixel, aplicando técnicas de reconhecimento de padrões para obter informações e dados e com o auxílio de uma RNA classificar estas informações ou dados em resíduos ou não.

3. MATERIAIS E MÉTODOS

Para a captura das imagens, foi desenvolvida uma caixa para isolar as bolsas para coleta de sangue das adversidades do ambiente.

A caixa desenvolvida foi divida em duas partes, a “base” revestida em papel alumínio com duas lâmpadas dicróicas, com o foco direcionado para que seja refletido pelo papel alumínio (fundo) para o acrílico branco leitoso. A “Superior” têm suas paredes pintadas em preto fosco com uma abertura para câmera digital, como mostra a figura 2.

A fonte de energia utilizada foi uma bateria automotiva, que possibilitou eliminar as oscilações de freqüência causadas pela corrente alternada [4].

Na digitalização e captura das imagens, além da caixa desenvolvida, foi utilizada a câmera digital Mavica (Sony).

Mesmo tomando estes cuidados para minimizar as interferências do ambiente na iluminação, não foi possível isolar totalmente e nem garantir que a iluminação foi distribuída uniformemente por toda a imagem como mostra a figura 3.

O banco de imagens e composto por 55 imagens, todas coloridas, com resolução 640x480 pixels, com a quantização de cores em 256 níveis e formato jpg,

As imagens do banco estão divididas em: 12 imagens com resíduos (solução anti-coagulante e bolhas), 27 imagens com resíduos, 8 imagens com solução e sem resíduos e 8 imagens de bolsas perfeitas, (sem resíduos ou solução).

Para a análise destas imagens, foi utilizado o sistema de representação de cores RGB. Este sistema foi usado pela facilidade de implementação computacional e por muito utilizado no processamento de imagens digitais [5].

Com o RGB foi possível determinar seus componentes para cada pixel da imagem. Assim foi possível separar empiricamente amostras de padrões que possam representar resíduos, filme da bolsa, bordas etc.

4. ABORDAGEM RNA

A RNA escolhida foi a Perceptron Multicamadas - PMC (Multi Layer Perceptron – MLP). Esta arquitetura foi escolhida por ser muito utilizada como classificadores de padrões [6] [7], ter baixo custo computacional e baixo tempo de execução, pois, pretende-se utilizar esta rede em tempo real.

Outras características importantes para a escolha desta arquitetura, foram de ter apenas dois padrões de saída (resíduo ou não resíduo), conhecer processo de

Figura 2 – Imagens do interior e exterior da caixa desenvolvida para captura das imagens.

Figura 3 – Imagem capturada

42

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 54: III WVC 2007

classificação do pixels, poucos dados de entrada e não necessitar de memória.

A Perceptron Multicamadas foi implementada com a camada de entrada contendo quatro entradas uma para o Wjθ (Limiar de ativação) e uma para cada componente do RGB. A camada escondida possui dois neurônios e a camada de saída com um neurônio, como mostra a Figura 4.

Na camada escondida e saída à função de ativação utilizada foi a sigmóide logística.

O algoritmo de treinamento utilizado na rede Perceptron multicamadas foi à regra delta Generalizada (Backpropagation) [8].

A matriz de treinamento foi criada com quatrocentos e trinta e nove linhas, com cinco colunas: uma para o liminar de ativação, preenchida com -1; uma para cada componente do RGB, contendo as componentes do RGB de amostras de imagens do banco de imagens; a ultima para o resultado final esperado, preenchido com zero ou um de acordo com o resultado esperado.

As colunas contendo as componentes do RGB foram normalizadas, em seguida o algoritmo de treinamento foi aplicado a matriz de treinamento. O algoritmo de treinamento iniciou os pesos aleatoriamente, usou a precisão de 10^(-8) e a taxa de aprendizado 0.01.

Após treinar, ajustar e determinar os pesos da RNA foi desenvolvido o algoritmo para varrer as imagens pixel a pixel, e determinar quais imagens continha resíduo, retornando uma mensagem de texto caso encontrasse um resíduo.

O algoritmo de treinamento e de varredura das imagens foi desenvolvido com o Matlab 7.0 da Mathworks.

5. RESULTADOS DA ABORDAGEM RNA

A tabela 1 apresenta os resultados obtidos com a aplicação da rotina desenvolvida. Nela os resultados são apresentados por características das imagens e percentual de resultados positivos.

Tabela 1 - Tabela de resultados

Os resultados da tabela 1 mostram que a metodologia proposta, foi capaz de identificar em todas as imagens, quais tinham ou não resíduos, com o tempo médio de execução de 16 segundos.

6. ABORDAGEM FUZZY

Também foi aplicada no mesmo banco de imagens uma abordagem utilizando Lógica Fuzzy para classificar os padrões obtidos pelo RGB [9].

O algoritmo com a Lógica Fuzzy foi desenvolvido com o universo de discurso variando entre 0 e 255, ou seja, os 256 níveis de quantização de cores do RGB, três variáveis de entrada, vermelha, verde, Azul uma para cada tipo de componente do sistema RGB e cada variável de entrada com sua função de pertinência. Os padrões geométricos de cada função de pertinência são mostrados nas figuras 5,6e7

O processo de inferência usado foi o Modus Ponens generalizado.

Apenas uma regra foi aplicada: Se (Vermelho (R) e Verde (G) e Azul(B)) então (existe pixel).

Figura 4 – Rede Perceptron Multicamadas

Tabela de Resultados

Características das Imagens

Percentual Resultados Positivos

Imagens com resíduos 100% Imagens com resíduos, solução anti-coagulante e bolhas

100%

Imagens de bolsas perfeitas 100% Imagens com solução e sem resíduos e com bolhas

100%

Figura 5 – Padrão geométrico componente Azul

43

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 55: III WVC 2007

Os operadores utilizados foram o operador de composição Max-Min e o operador de Mandani como operador de implicação.

A abordagem Fuzzy também classificou corretamente se todas as imagens possuíam ou não resíduos, com o tempo médio de execução de um minuto.

7. COMPARAÇÃO DOS RESULTADOS

Observando, os resultados obtidos com as duas metodologias, verificou-se que elas foram capazes de detectar corretamente se existe ou não, resíduos em todas as imagens do banco de imagens.

Deste modo as duas metodologias conseguiram contornar as dificuldades causadas pela iluminação, bolhas causadas pela solução anticoagulante e os ruídos causados pela textura do filmes da bolsa, como na figura 8.

A metodologia proposta conseguiu os mesmos resultados obtidos com a abordagem Fuzzy, mas com tempo de execução bem melhor, de apenas dezesseis

segundos em média. Assim a metodologia proposta teve melhor desempenho.

O fato de ser rápida é uma característica importante, pois se pretende aplicar esta metodologia em tempo real.

8. CONCLUSÕES

As figuras 3 e 8 mostram as dificuldades que foram superadas para determinar se existem ou não resíduos nas imagens das bolsas para coleta de sangue.

Considerando todas as dificuldades a metodologia proposta conseguiu identificar corretamente em todas as imagens se esta continha resíduo ou não, com o tempo de execução melhor que a metodologia com base na abordagem Fuzzy.

A metodologia proposta conseguiu contornar todas as dificuldades com resultados precisos na identificação de resíduos nas imagens, e deste modo atingiu o objetivo principal que é o de identificar corretamente se existe ou não resíduos nas imagens de bolsas e com um ótimo tempo de execução.

A implementação da metodologia proposta em linguagem tipo C++ ou Java poderá acelerar a identificação de resíduos e facilitar a utilização em tempo real.

9. REFERÊNCIAS BIBLIOGRÁFICAS

[1] Marques Filho, O., Vieira neto, H.“Processamento Digital de Imagens”, Brasport, 1999.

[2] Rafael C. Gonzalez and Paul Wintz. “Digital Image Processing”, Addison-Wesley Pub. Co., 1987.

Figura 8 – Imagem parcial da bolsa com solução bolhas e resíduos.

Figura 6 – Padrão geométrico componente Verde

Figura 7 – Padrão geométrica componente Vermelha

44

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 56: III WVC 2007

[3] Yao Min, J. Zhiwei, YI, W Zhao X. “Application of generalized learning in Image recognition”, In: First International Conference on Neural Interface and Control Proceedings, 26-28 May 2005, Wuhan, China. p. 159-162.

[4] Batchelor, B.G., Hill, .A. Hodgson, D.G. “Automated Visual Inspection”, IFS Publi Carton Ltd, North-Holland Pub. Co., 1985.

[5] Phung, S.L., Bouzerdoum A.; Chai, D. “Skin Segmentation Using Color Pixel Classification Analysis and Comparison”, In: IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol.27, Nº 1, January 2005. p. 148-154.

[6] Tinós, R. ”Tolerância a Falhas em Robôs Manipuladores Cooperativos”, Tese de Doutorado Escola de Engenharia de São Carlos - USP, São Carlos, 2003.

[7] Gaspar, T.L. “Reconhecimento de Faces Humanas usando Redes Neurais MLP”, Dissertação de mestrado, Escola de Engenharia de São Carlos - USP, São Carlos, 2006.

[8] Zurada, J.M. ”Introduction to Artificial Neural Systems “, West Publishing Company, 1992

[9] ADORNI, Cássio Avelino; GONZAGA, Adilson; SILVA, Ivan Nunes. “Detecção de Resíduos em Imagens de Bolsas para Coleta de Sangue Utilizando um Sistema Fuzzy nos canais RGB”. In: X Congresso Brasileiro de Informática em Saúde, 2006, Florianópolis. Anais do X Congresso Brasileiro de Informática em Saúde, 2006.

45

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 57: III WVC 2007

Segmentacao de imagens por agrupamento de regioes: uma comparacao entre aabordagem funcional e por grafos

Carolina Toledo FerrazSergio F. da SilvaOdemir M. Bruno

USP - Universidade de Sao PauloICMC-Instituto de Ciencias Matematicas e de Computacao

Cx Postal 668 - CEP 13560-970 Sao Carlos (SP)caferraz, sergio, [email protected]

ResumoNeste artigo e apresentada uma analise de dois metodos

de segmentacao de imagens baseados em crescimento deregioes: 1) Mumford-Shah, onde e minimizado um funcio-nal de energia e, 2) Segmentacao baseada em grafos, ondeutiliza-se a abordagem de grafos. Resultados experimen-tais evidenciam aspectos qualitativos, alem da usabilidadee aplicabilidade dos metodos. Atraves da analise dos expe-rimentos foi concluıdo que o modelo de Mumford-Shah emais robusto principalmente por nao depender de conheci-mento a priori sobre as imagens e ter maior aplicabilidade,possuindo menos parametros a serem ajustados.

1. Introducao

Segmentacao de imagens refere-se ao processo de divi-dir uma imagem em regioes ou objetos. Espera-se comoresultado que pixels em uma regiao, sejam similares comrelacao a uma dada caracterıstica, como por exemplo, in-tensidade, cor e textura, enquanto que pixels entre regioespossuam diferencas significativas com respeito a mesma ca-racterıstica.

Atualmente a segmentacao de imagens tornou-se um dosprincipais temas de pesquisa da area de processamento deimagem, uma vez que ela e imprescindıvel para diversasaplicacoes, tais como:

• Imagens medicas [15];

• Imagens de satelite [11];

• Sistemas biometricos [5, 2];

A segmentacao de imagens para aplicacoes gerais e umproblema aberto a pesquisa [14]; no entanto, e trivial esta-belecer um guia qualitativo de uma boa segmentacao. Hara-lick e Shapiro [7] estabeleceram que uma boa segmentacaodeve satisfazer os seguintes criterios:

1. Regioes de uma imagem devem ser uniformes comrelacao a uma dada caracterıstica, tal como, tom de cinza,cor ou textura.

2. Regioes adjacentes devem ter valores significante-mente diferentes com relacao a uma dada caracterıstica, so-bre a qual elas sao uniformes (ıtem 1).

3. Os contornos de cada segmento devem ser simples (su-aves) e precisos espacialmente.

Normalmente, um processo de segmentacao e mais com-plexo do que separar dados atraves de um limiar [14]. Al-ternativamente, pode-se pensar em segmentacao como umproblema de agrupar dados similares, e desta forma, utili-zar a teoria de agrupamento de dados [1] para segmentarimagens [17]. Neste contexto, torna-se natural pensar emsegmentacao de imagens em termos de agrupamento de pi-xels que pertencem a mesma classe (regiao). O criterio a serusado no processo de agrupamento depende da aplicacao.Pixels podem pertencer a uma mesma classe por terem amesma cor, a mesma textura, ou a mesma intensidade debrilho, etc.

Agrupamentos (segmentacao) podem ser construıdos pormeio de uma abordagem de grafos. Considere um grafoponderado onde os vertices correspondem aos pixels, asarestas a pares de pixels, e os pesos destas a similaridadedos pixels que as compoem. Separar o grafo em compo-nenentes conectados com pesos relativamente grandes cor-tando as arestas com pesos relativamente baixos - corte degrafo - tem se tornado uma tecnica bastante popular parasegmentar imagens [6, 16].

Boa parte dos metodos de segmentacao de imagens uti-lizam os conceitos de crescimento e/ou divisao de regioes.Neste artigo serao apresentados e comparados dois metodospara a segmentacao de imagens por crescimento de regioes:segmentacao via funcional de Mumford-Shah e baseada emgrafos. Estruturalmente estes dois metodos sao bastante si-

46

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 58: III WVC 2007

milares, sendo que o principal diferencial destes sao oscriterios utilizados para a juncao de regioes: minimizacaode um funcional de energia [10, 8] versus uma heurısticapara determinar bordas [4].

O funcional de Mumford-Shah [10, 8] e um dos metodosmais robustos para segmentacao de imagens. A robustezdeste metodo e atribuıda a sua formulacao matematica quetem embutido criterios simples, e, no entanto, essenciaispara uma boa segmentacao. Ao passo que o metodo de gra-fos proposto por [4] tem a vantagem de ter bons resultadosde segmentacao, tanto em eficiencia quanto em eficacia.

Neste artigo, e realizada uma comparacao analıtica dasduas abordagens, onde por meio de resultados das tecnicasaplicadas em imagens, e de aspectos de implementacao eoperabilidade, serao verificados as vantagens e desvanta-gens de cada metodo.

2. O Modelo de Mumford-Shah

A maioria dos algoritmos de segmentacao de imagenssao compostos de varios procedimentos: dividir e combinar(split and merge), eliminar pequenas regioes, suavizar bor-das, preencher buracos, entre outros, dependendo assim devarios parametros ou procedimentos especıficos.

O procedimento de segmentacao via o funcionalde Mumford-Shah leva a uma drastica reducao des-tes parametros ou especificidades [8]. A segmentacao eobtida atraves da minimizacao da energia do referido fun-cional, o que pode ser feito atraves de uma das maissimples ferramentas de segmentacao de imagens, o al-goritmo de crescimento de regioes (region merging).Koepfler [8] mostrou que e possıvel elaborar um algo-ritmo de segmentacao via Mumford-Shah de complexi-dade O(n log n), onde n e o numero de pixels da ima-gem.

O funcional de Mumford-Shah [9] e descrito pelo funci-onal de energia denotado pela equacao abaixo:

E(u, K) = (1)

β

∫ ∫Ω

‖u − g‖2dxdy + α

∫ ∫Ω/k

‖∇‖2dxdy + γ ∗ l(K)

onde:

• E(u, K) e a energia funcional de Mumford-Shah emfuncao da imagem segmentada u e de suas fronteirasK;

• g e a imagem a ser segmentada;

• Ω e o domınio da imagem: f : N × N → N;

• K denota as fronteira entre regioes;

• Ωi denota uma regiao da imagem;

• l(K) calcula o comprimento das bordas (fronteiras en-tre regioes);

• u denota a imagem segmentada – uma funcao diferen-ciavel dentro de cada regiao Ωi;

• β, α e γ sao constantes positivas;

Em uma imagem, a funcao g e suave (valor de gradientepequeno) dentro de cada regiao Ωi e descontınua (valor degradiente elevado) no cruzamento com as bordas (frontei-ras entre regioes). Considerar que a imagem segmentada ue constante dentro de cada regiao e uma forma de simplifi-car o modelo original de Mumford-Shah, o que resulta emum modelo conhecido como Mumford-Shah Fraco. Nor-malmente, a funcao u, para uma dada regioes, e dada pelamedia dos valores de intensidade g (ou cor) naquela regiao.

2.1. Interpretacoes e propriedades dasegmentacao via Mumford-Shah

Normalmente quando se segmenta uma imagem deseja-se que: a) a imagem segmentada seja a mais proximapossıvel da imagem original; b) pixels dentro de umadada regiao sejam similares com relacao a uma dada ca-racterıstica e c) bordas regulares. Sera visto mais adianteque todos estes criterios estao embutidos no funcio-nal de Mumford-Shah.

Na segmentacao por Mumford-Shah as regioes sao for-madas por grupos de pixels e podem serem vistas comoborrachas. Uma regiao cresce enquanto a borracha puderser esticada. No inıcio do processo pode-se considerar quecada regiao corresponde a um pixel que posteriormente efundida a outra regiao (esticar borracha). Quanto maior avariacao dos pixels dentro de uma regiao, menor a elastici-dade da borracha, ou seja, mais difıcil e a uniao de regioes.So sera realizado uma uniao de regioes se esta levar a umdecrescimo de energia conforme a equacao 1.

A segmentacao pelo funcional de Mumford-Shahtambem pode ser vista como um problema de otimizacaomulti-objetivos, ou melhor, de minimizacao dos tres obje-tivos explicados a seguir, dados pelos termos da equacao1. As regioes realizam uma competicao entre si para afusao, sendo que, a cada instante, as duas regioes adjacen-tes que levarem ao maior decrescimo de energia serao aseleitas para a fusao.

Os termos da equacao 1, que correspondem aos obje-tivos a serem otimizados, podem ser interpretados do se-guinte modo:

• ∫ ∫Ω‖u− g‖2 – mede se u e uma boa aproximacao de

g. Quanto mais a funcao u se aproximar da funcao g,menor sera a contribuicao desse termo para o valor daenergia. Ou seja, minimizar este termo forca u a ser omais proximo possıvel de g.

• ∫ ∫Ω/k

‖∇u‖2 – calcula a variacao de u dentro de cadaregiao. Minimizar este termo forca u a ser tao cons-tante quanto possıvel dentro de uma dada regiao. No

47

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 59: III WVC 2007

modelo simplificado (Mumford-Shah Fraco), a funcaou para uma regiao, sera dada pela media dos pontos deg dentro desta regiao e portanto nao existira variacao.Assim, este termo sera sempre zero e consequente-mente eliminado.

• γ ∗ l(K) – calcula o comprimento das fronteiras mul-tiplicado pelo parametro de escala γ. Quanto maior ocomprimento das fronteiras, maior sera a contribuicaodesse termo para o valor da energia. Minimizar estetermo inibe uma supersegmentacao implicando embordas economicas e regulares [13]. O parametro γfunciona como um peso.

Esta soma de termos da ao algoritmo de segmentacao viao funcional de Mumford-Shah as seguintes propriedades:

• Estrutura piramidal – o algoritmo efetuasegmentacao hierarquica de granularidade finapara grossa, sendo que a segmentacao grossa iraser deduzida da fina por operacoes de merging, re-sultando em uma estrutura de computacao pirami-dal.

• Universalidade – o algoritmo e universal, isto e, elenao depende de qualquer conhecimento a priori sobreas estatısticas de uma dada imagem.

• Multiescala – o algoritmo efetua segmentacao mul-tiescala [13], em funcao do parametro γ (parametrode escala). A medida que γ e aumentado, aumenta aschances de fundir regioes em funcao da diminuicao docomprimento das fronteiras.

2.2. Discretizacao do funcional de Mumford-Shah

Conforme Koepfler [8], considerando a funcao u cons-tante dentro de cada regiao, o funcional de Mumford-Shahpode ser discretizado de forma a resultar na equacao abaixo:

E(K\δ(Oi, Oj)) − E(K) =|Oi| ∗ |Oj||Oi| + |Oj| ∗ ‖ui − uj‖2 − γ ∗ lδ(Oi,Oj) (2)

onde |.| denota a area de uma regiao, u a intensidade ou corda regiao e lδ(Oi, Oj) o comprimento da fronteira entre asregioes Oi e Oj.

O algoritmo abaixo [8] pode ser utilizado para efe-tuar a segmentacao minimizando o funcional de energia daequacao 2:

• Seja os pixels da imagem a segmentacao inicial e γk =γ1 o parametro de escala inicial;

• Para cada regiao, determine qual de suas regioes ad-jacentes produz o maximo decrescimo de energia deacordo com a equacao 2. Se tal regiao existe, com-bine as duas e proceda por checar a proxima regiao

da lista. Uma nova segmentacao E(K\δ(Oi, Oj) seraobtida removendo a fronteira δ(Oi, Oj) e atribuindoa nova regiao com a intensidade (ou cor) media dasregioes Oi e Oj . Caso nao se encontre nenhuma regiaoadjacente que ocasione um decrescimo de energia, asegmentacao (u, K) e chamada de 2-normal.

• Para cada γk, k = 1, ..., L calcule a segmentacao porrepetir o passo 2 ate a convergencia (segmentacao 2-normal). O algoritmo termina se restar apenas umaregiao ou depois de computar a segmentacao usandoγL. O incremento de γ podera ser linear, polinomialou exponencial.

3. Segmentacao baseada em grafos

Tecnicas de segmentacao de imagens baseadas em gra-fos geralmente representam o problema em termos deum grafo nao direcionado G = (V,E) onde cada novi ∈ V corresponde a um pixel na imagem, e as ares-tas (vi, vj) ∈ E sao pares conectados de pixels vizinhos.Um peso w((vi, vj)) esta associado a cada aresta, e e nor-malmente baseado em uma medida de dissimilaridade entreos pixels que a compoe [6, 4].

Nesta abordagem, uma segmentacao S e uma particao deV em componentes, tal que, cada componente (ou regiao)C ∈ S corresponde a um componente conectado no grafoG

′= (V,E

′), onde E

′ ⊆ E. A segmentacao e induzida porum subconjunto de arestas em E.

A diferenca interna de um componente C ⊆ V e dadapelo maior peso na arvore geradora mınima do componente,MST (C, E). Isto e,

Int(C) = maxe∈MST (C,E)

w(e) (3)

Esta medida significa que um componente C mantem-seconectado quando arestas de pesos no mınimo Int(C) saoconsideradas.

A diferenca entre dois componentes C1, C2 ⊆ V e dadapelo peso mınimo de aresta conectando os dois componen-tes (equacao 4). Se nao ha arestas conectando C1 e C2,Dif(C1, C2) = ∞

Dif(C1, C2) = minvi∈C1 ,vj∈C2 ,(vi,vj)∈E

w((vi, vj)) (4)

O criterio de comparacao de regiao avalia se haevidencia de uma borda entre os componentes, checandose a diferenca entre os componentes Dif(C1, C2) e relati-vamente maior que a diferenca interna de pelo menos umdos componentes Int(C1) e Int(C2). Uma funcao de limi-ar e usada para controlar o grau para o qual a diferenca entreos componentes deve ser maior do que uma diferenca in-terna mınima. Define-se esta funcao como:

48

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 60: III WVC 2007

D(C1, C2) =

true, se Dif(C1, C2) > MInt(C1, C2)

false, caso contrario

onde a diferenca interna mınima, MInt, e definida como:

MInt(C1, C2) = min(Int(C1)+τ(C1), Int(C2)+τ(C2))(5)

A funcao de limiar τ , controla o grau no qual a diferencaentre dois componentes deve ser maior do que sua diferencainterna. Para componentes pequenos, Int(C) nao e uma boaestimativa da caracterıstica dos dados. No caso extremo,quando |C| = 1, Int(C) = 0. Portanto, utiliza-se umafuncao de limiar baseada no tamanho do componente,

τ(C) = k/|C| (6)

onde |C| denota o tamanho de C, e k e um parametro. Napratica, k e a escala de observacao. Note que, para k grande,ha uma preferencia para componentes grandes. Contudo knao e o tamanho mınimo de um componente.

3.1. O algoritmo de segmentacao baseado em gra-fos

A entrada e um grafo G = (V,E), com n vertices e marestas. A saıda e uma segmentacao de V em componentesS = (C1, ..., Cr) [4].

0. Ordene E em π = (o1, ..., om), em ordem descres-cente de peso da aresta.

1. Comece com uma segmentacao S0, onde cada verticevi e seu proprio componente.

2. Repita o passo 3 para q = 1, ...,m.3. Contrua Sq dado Sq−1 como segue. Seja vi e vj os

vertices conectados pela q-esima aresta ordenada, isto e,oq = (vi, vj). Se vi e vj sao componentes disjuntos deSq−1 e w(oq) e pequeno comparado as diferencas inter-nas de ambos daqueles componentes, entao junte os doiscomponentes, senao, nao faca nada. Mais formalmente, sejaCq−1

i um componente de Sq−1 contendo vi e Cq−1

j ocomponente contendo vj . Se Cq−1

i = Cq−1

j e w(oq) ≤MInt(Cq−1

i , Cq−1

j ) entao Sq e obtido de Sq−1 pela juncaode Cq−1

i e Cq−1

j . Caso contrario, Sq = Sq−1.4. Retorne S = Sm.Segundo Felzenszwalb e Huttenlocher [4], o algo-

ritmo de segmentacao baseado em grafos, possui asseguintes propriedades: (a) Habilidade em preservar de-talhes em regioes de imagem de baixa variabilidadeenquanto ignora detalhes em regioes de baixa variabili-dade; (b) O metodo faz decisoes gulosas e locais, uma vezque o criterio de segmentacao e baseado no grau de varia-bilidade entre regioes vizinhas na imagem.

4. Resultados e Analise

Na conducao dos experimentos foram utilizadas duas ba-ses de dados de imagens amplamente utilizadas em pesqui-sas na area de visao computacional e segmentacao: Colum-bia Object Image Library [12] e The Berkeley SegmentationDataset and Benchmark [3].

Nos experimentos foram dadas atencoes especiais a doisaspectos: 1) a habilidade dos metodos em capturar agrupa-mentos ou regioes que refletem aspectos globais das ima-gens; 2) o posicionamento correto e suavidade das bordasidentificadas nas imagens. Tambem foram discutidos aspec-tos relacionados a usabilidade e aplicabilidade dos metodosem aplicacoes reais de segmentacao.

Antes de dar inıcio a apresentacao dos experimentos,faz-se necessario mencionar que:

• Na abordagem baseada em grafos, conforme aimplementacao de Felzenszwalb e Huttenlocher[4], e realizado um pre-processamento das ima-gens com o filtro gaussiano para a eliminacao deruıdos. E tambem que a funcao peso de aresta e ba-seada na diferenca de intensidade absoluta entre ospixels conectados por esta:

w((vi, vj)) = |I(pi) − I(pj)| (7)

• No modelo baseado em grafos, o usuario nao estabe-lece explicitamente o numero de regioes desejadas nasegmentacao. A escolha do numero de regioes esta for-temente ligada aos tres parametros utilizados (σ, K emin), desta forma, dependendo do conhecimento ouperıcia do usuario para definir estes.

• No modelo implementado de Mumford-Shah, ousuario especifica o numero de regioes em que de-seja segmentar uma dada imagem e a ordem decrecimento de λ (linear, quadratico ou exponen-cial).

Dado que ambos os metodos dependem de parametros,expomos na tabela 1 os valores utilizados nos experimen-tos. Pode-se observar que na abordagem baseada em grafos,a quantidade de parametros e superior a de Mumford-Shah,e tambem que este sao menos obvios para o usuario.

A Figura 1 mostra a comparacao dos metodos para a ima-gem de uma igreja. Os resultados ficaram bastante proximos(Figuras 1(c) e (e)), apesar do metodo de segmentacao ba-seada em grafos perder o contorno das cruzes da igreja.

O experimento da Figura 2 trata-se da segmentacaode objetos sinteticos fotografados em ambientes escu-ros. O deslocamento das bordas e evidente no metodo desegmentacao baseado em grafos. Este fato acontece devidoao pre-processamento realizado pelo metodo (suavizacao

49

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 61: III WVC 2007

(a) (b) (c)

(d) (e)

Figura 1. (a)Imagem Original, (b) Imagem segmentada por Mumford-Shah, (c) Sobrepondo as bordasda segmentacao por Mumford-Shah na imagem original, (d) Segmentacao baseada em grafos, (e)Sobrepondo as bordas da segmentacao baseada em grafos na imagem original

Mumford-Shah Segmentacao baseada em Grafoslambda No regioes sigma K min No regioes

Figura 1 linear 20 σ = 0.8 k = 400 min = 800 20Figura 2(e) e (i) exponencial 4 σ = 0.8 k = 1000 min = 500 4Figura 2(f) e (j) exponencial 4 σ = 0.8 k = 700 min = 300 4Figura 2(g) e (k) exponencial 4 σ = 0.8 k = 400 min = 400 5Figura 2(h) e (l) exponencial 4 σ = 0.8 k = 700 min = 300 5

Tabela 1. Tabela de Parametros e Numero de Regioes

com filtro gaussiano). O metodo de Mumford-Shah apre-sentou bons resultados nas Figuras 2-(e), (g) e (h). Apenasna Figura 2-(f) apresentou uma borda falsa.

5. Conclusao

Neste trabalho foi apresentada uma analise de doismetodos de segmentacao por agrupamento de regioes:Mumford-Shah e segmentacao baseada em grafos. Am-bos os metodos efetuam segmentacao por crescimento deregioes e sao de complexidade computacional O(nlogn),onde n e o numero de pixels de uma imagem, o que os cre-denciam para uma grande variedade de aplicacoes. O prin-cipal diferencial destes metodos e o criterio utilizado paraa segmentacao. Foi constatado atraves de varios expe-

rimentos com uma grande variedade de imagens que, aimplementacao do funcional de energia de Mumford-Shahe um criterio mais robusto para segmentacao, do que a abor-dagem baseada em grafos [4]. O que ocorre e que o metodode segmentacao baseado em grafos mostra uma alta in-cidencia de deslocamentos de bordas. Tal fato e atribuıdoao pre-processamento com filtro gaussiano. Entre-tanto, se este processo for descartado, obtem-se bor-das altamente irregulares. Outro ponto importante e aautomatizacao do metodo, ou seja, sua capacidade de li-dar com as imagens sem a necessidade de informacoes apriori sobre o conteudo a ser processado. Neste requisi-to o metodo de Mumford-Shah tambem se mostrou superiora segmentacao baseada em grafos.

50

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 62: III WVC 2007

(a) (b) (c) (d)

(e) (f) (g) (h)

(i) (j) (k) (l)

Figura 2. (a-d )Imagens Originais, (e-h) Imagens segmentadas por Mumford-Shah, (i-l) Segmentacaobaseada em grafos.

Referencias

[1] M. N. M. A. K. Jain and P. J. Flynn. Data clustering: a re-view. ACM Computing Surveys, 31(3):264–323, 1999.

[2] D. Chai and K. N. Ngan. Face segmentation using skin-colormap in videophone applications. IEEE Transactions on cir-cuits and systems for video technology, 9(4):551–564, 1999.

[3] D. T. D. Martin, C. Fowlkes and J. Malik. A database of hu-man segmented natural images and its application to evalua-ting segmentation algorithms and measuring ecological sta-tistics. In In Proc. 8th Int’l Conf. Computer Vision, volume 2,pages 416–423, 2001.

[4] P. F. Felzenszwalb and D. P. Huttenlocher. Efficient graph-based image segmentation. International Journal of Compu-ter Vision, 59(2):167–181, 2004.

[5] X.-y. Feng. Eyes location by neural network-based face seg-mentation. IJCSNS - Internation Journal of Computer Sci-ence and Network Security, 6(5a):132–135, 2006.

[6] D. A. Forsyth and J. Ponce. Computer Vision: A Modern Ap-proach (Hardcover). Prentice Hall, 2003.

[7] R. M. Haralick and L. G. Shapiro. Image segmentation te-chniques. Computer Vision Graphics and Image Processing,29(1):100–132, 1985.

[8] G. Koepfler, C. Lopez, and J. M. Morel. A multiscale algo-rithm for image segmentation by variational method. SIAMJournal on Numerical Analysis, 31(1):282–299, 1994.

[9] D. Mumford and J. Shah. Boundary detection by minimizingfunctionals. In Proc. IEEE Conf. On Computer Vision andPattern Recognition, 2., pages 22–26, Sao Francisco, 1985.

[10] D. Mumford and J. Shah. Optimal aproximations by pi-ecewise smooth functions and associated variational pro-blems. Communications on Pure and Applied Mathematics,4(XLII), 1989.

[11] D. T. N. J. Redding, D. J. Crisp and G. N. Newsam. An effici-ent algorithm for mumford-shah segmentation and its appli-cation to sar imagery. Proceedings of the 1999 Conferenceon Digital Image Computing: Techniques and Applications(DICTA-99), pages 35–41, 1999.

[12] N. S. K. Nene, S. A. and H. Murase. Coil-20: Co-lumbia object image library. Technical report, Techini-cal Report CUCS-005-96, February, 1996. Avaiable inhttp://www1.cs.columbia.edu/CAVE/databases.

[13] J. Petitot. An introduction to the mumfor-shah segmentationmodel. Journal of Physiology-Paris, 97(2):335–342, 2003.

[14] W. K. Pratt. Digital Image Processing: PIKS Scientific In-side. John Wiley & Sons, fourth edition, 2007.

[15] W. M. W. I. T. Kapur, W. E. L. Grimson and R. Kikinis. Seg-mentation of brain tissue from magnetic resonance images.Medical Image Analysis, 1(2):109–127, 1996.

[16] N. Xu and R. Bansal. Object segmentation using graph cutsbased active contours. Computer Vision and Image Unders-tanding, pages 1548–1555, 2007.

[17] T. W. R. Z. Y. Xia, D. Feng and Y. Zhang. Data clustering: areview. Pattern Recognition Letters, 28:1548–1555, 2007.

51

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 63: III WVC 2007

Dimensao Fractal aplicada em imagens de satelite de areas urbanas

Andre R. BackesUniversidade de Sao Paulo

Instituto de Ciencias Matematicas e ComputacaoSao Carlos - SP

[email protected]

Adriana B. BrunoUniversidade de Sao Paulo

Instituto de Ciencias Matematicas e ComputacaoSao Carlos - SP

[email protected]

Mauro N. Barros FilhoFaculdade de Ciencias Humanas Esuda

Departamento de Arquitetura e UrbanismoRecife - PE

[email protected]

Odemir M. BrunoUniversidade de Sao Paulo

Instituto de Ciencias Matematicas e ComputacaoSao Carlos - SP

[email protected]

Resumo

Este artigo apresenta um estudo sobre a correlacao en-tre Dimensao Fractal e as caracterısticas morfologicas deareas urbanas. Em imagens de sensoriamento remoto deareas urbanas, as caracterısticas morfologicas sao repre-sentadas por complexas interacoes de diferentes tipos desuperfıcie, onde cada superfıcie corresponde a um tipo di-ferente de textura. Neste trabalho, Dimensao Fractal e es-timada em imagens de areas urbanas de modo a obteruma estimativa da complexidade das texturas da imageme, consequentemente, uma medida das caracterısticas mor-fologicas das areas urbanas.

1. Introducao

Com os avancos obtidos ao longo dos ultimos anos, cadavez mais imagens de sensoriamento remoto tem sido utiliza-das em aplicacoes envolvendo mapeamentos e estudos urba-nos. Sua ampla cobertura, aliada a atualizacoes frequentes eum baixo custo, fazem desse tipo de imagem uma rica fontede informacoes sobre a superfıcie terrestre. Porem, imagensde areas urbanas sao resultantes de uma complexa interacaoentre diferentes tipos de superfıcies, dificultando assim o

seu processo de analise e, consequentemente, seus resulta-dos [10, 14, 15, 17].

A analise de textura e um problema recorrente em pro-cessamento de imagens e visao computacional. Trata-se deum problema comum a diversas areas de aplicacao, comoreconhecimento de objetos, recuperacao de imagens porconteudo e sensoriamento remoto. Apesar de nao existiruma definicao exata para o termo textura, trata-se de umatributo facilmente entendido por humanos e uma fonte ricaem informacoes sobre a imagem [19]. A literatura, por suavez, apresenta diversas abordagens para a analise de textu-ras, como: Campo Aleatorio de Markov [8, 13], Redes Neu-rais Artificiais [18], Wavelet [20], Momentos Invariantes [9]e a Dimensao Fractal [3, 4, 12], sendo esta ultima exploradaneste trabalho.

A Dimensao Fractal [1, 3, 5] e uma medida de comple-xidade. Aplicada em imagens de texturas, permite quan-tifica-las quanto a homogeneidade, tornando possıvel suacomparacao [1].

O objetivo desse artigo e desenvolver uma ferramentaque possa extrair caracterısticas morfologicas de areas ur-banas a partir da estimativa de sua complexidade. Portanto,e apresentado um estudo sobre o uso da Dimensao Frac-tal como metodo para obter assinaturas de complexidade detextura em imagens de sensoriamento remoto. Essas ima-gens foram obtidas de diferentes bairros de uma mesmacidade. Utilizando um classificador, essas assinaturas fo-

52

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 64: III WVC 2007

ram agrupadas de acordo com a similaridade dos bairros.O metodo e sua implementacao sao discutidos, bem comoos resultados obtidos, ilustrando o potencial da tecnica.

2. Dimensao Fractal aplicada a Texturas

Texturas sao padroes visuais caracterizados pelarepeticao, seja exata ou com pequenas variacoes, de en-tidades ou sub-padroes, que representam caracterısticasfısicas, como brilho e cor, da superfıcie de um ob-jeto [6, 16].

Trata-se de um excelente descritor regional, facilmenteentendido por humanos, e fonte de uma grande quantidadede informacoes sobre a imagem [11, 19]. No entanto, ape-sar de seu amplo uso e importancia como descritor regionalem processos de reconhecimento, descricao e classificacaode imagens, a textura e um termo intuitivo, e que carece deuma definicao mais precisa ou formal [6, 7].

A Dimensao Fractal pode ser definida como uma medidada complexidade de objetos. Aplicada a texturas, ela per-mite quantificar a complexidade da organizacao de seus pi-xels, onde este nıvel de complexidade esta diretamente re-lacionado com o aspecto visual, bem como com a homo-geneidade da textura. Assim, a Dimensao Fractal permitequantificar uma textura em termos de homogeneidade, pos-sibilitando sua comparacao com outras texturas [1, 3].

Um dos metodos mais simples de se estimar a DimensaoFractal e o metodo de BoxCounting [5], o qual se baseia nasobreposicao de um grid de quadrados de lado r sobre umaimagem A e na respectiva contagem do total de quadradosnecessarios para cobrir essa imagem, NA(r). No entanto,para sua utilizacao em imagens em tons de cinza, comoe o caso das texturas, considera-se a intensidade do pixelcomo a altura daquele ponto da imagem. Assim, substitui-se a contagem de quadrados do metodo por uma contagemde cubos de aresta r (Figura 1) necessarios para cobrir essatextura [2]. A Dimensao Fractal DF da imagem A e entaoobtida como:

DF = − limr→0

log(NA(r))

log(r),

3. Analise de Imagens de Satelite por Comple-xidade

Imagens de sensoriamento remoto sao uma fonte rica eminformacoes sobre a superfıcie terrestre. Por meio delas epossıvel, por exemplo, desenvolver aplicacoes envolvendomapeamentos e estudos urbanos. Imagens de areas urbanassao resultantes de uma complexa interacao entre diferentescaracterısticas morfologicas (tamanho de quadra, geometriadas quadras, tamanho das ruas, disposicao de pracas e areas

Figura 1. Exemplo de contagem de cubos emimagens tons de cinza. As arestas vermelhasrepresentam as caixas e os quadrados pre-tos, os pixels da imagem.

verdes) da regiao analisada. De modo geral, essas carac-terısticas morfologicas estao relacionadas com a qualidadede vida e o nıvel de desenvolvimento da regiao. Assim, atri-butos como tamanho de quadra maior e maior numero deareas verdes indicam uma maior qualidade de vida na regiao[10, 17].

As caracterısticas morfologicas do espaco urbano sao

Figura 2. Mapa da cidade e respectivaslocalizacoes das imagens das areas usadasno experimento.

53

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 65: III WVC 2007

resultantes de um complexo arranjo espacial, do pontode vista geometrico e dimensional, de seus elementos es-truturadores, como edificacoes, lotes, quadras e vias. Es-sas caracterısticas variam em funcao dos modos de uso eocupacao do solo urbano, das caracterısticas naturais dosıtio, como o relevo e a hidrografia, e do tempo de ocupacao,bem como das condicoes sociais, economicas, polıticas eculturais existentes. Diante desta complexidade, a analisedas caracterısticas morfologicas do espaco urbano tem sido,predominantemente, conduzida de modo subjetivo, sendoincapaz de oferecer medidas quantitativas que possam des-crever, de modo mais preciso, tais caracterısticas.

Alem disso, diante da dinamica do processo de ocupacaourbano, principalmente nas areas informais e perifericas dacidade, muitas leis e planos urbanısticos tornam-se obso-letos ou incapazes de controlar, acompanhar e monitoraro crescimento da cidade, assim como distribuir, de modomais justo, os servicos, os equipamentos e as redes de infra-estrutura urbana no espaco urbano. Dessa forma, medidasde complexidade que permitam analisar as caracterısticasmorfologicas urbanas, como a Dimensao Fractal, sao ferra-mentas valiosas para auxiliar no planejamento e na gestaodas cidades.

Nesse artigo e apresentado um experimento que visa ve-rificar a correlacao entre a Dimensao Fractal e as carac-terısticas morfologicas de areas urbanas. Em uma imagemde satelite, essas caracterısticas morfologicas sao represen-tadas por complexas interacoes de diferentes tipos de su-perfıcie, onde cada superfıcie corresponde a um tipo dife-rente de textura [14, 15]. Aplicando-se a Dimensao Fractal,e possıvel obter uma estimativa da complexidade dessa tex-tura e, consequentemente, uma medida das caracterısticasde morfologia urbana.

Para esse experimento, foram empregadas imagens querepresentam diferentes areas da cidade de Sao Carlos, in-terior do estado de Sao Paulo, e que, consequentemente,apresentam diferentes condicoes de habitabilidade e desen-volvimento urbano. Essas imagens foram obtidas a partirdo software Google Earth R©. Ao todo, foram consideradas5 regioes da cidade (Figura 2). Para cada regiao, 2 ima-gens de 200 × 200 pixels foram obtidas, sendo considera-das duas altitudes diferentes: 10.000 e 15.000 pes (Figuras3 e 4). Alem disso, a informacao de cor das imagens foi des-cartada, sendo considerados apenas seus nıveis de cinza du-rante as etapas de analise e estimativa da Dimensao Frac-tal.

4. Resultados

Inicialmente as imagens selecionadas foram sepa-radas em dois grupos, sendo o fator de separacao aaltitude. Isso foi realizado, pois a medida que se dimi-nui a altitude de observacao, aumenta-se a quantidade de

Bairro Amostra DF

a 1 2,67472 2,6778

b 1 2,65202 2,6556

c 1 2,60962 2,6365

d 1 2,65642 2,6688

e 1 2,64812 2,6669

Tabela 1. Dimensao Fractal estimada para asamostras obtidas a 10.000 pes de altitude.

informacao de micro-textura presente nas imagens obti-das. Essa informacao adicional de micro-textura se refereprincipalmente ao detalhamento de estruturas presen-tes nas imagens dos bairros como, por exemplo, pequenasvariacoes de iluminacao ou sombra nos telhados de ca-sas. Logo, imagens obtidas em diferentes altitudes apre-sentam nıveis de detalhamento diferentes e, consequente-mente, nıveis de complexidades distintos.

Quanto maior for a quantidade de informacao demicro-texturas, menor sera a quantidade de informacao so-bre a macro-textura da imagem. Diante dessas diferen-tes quantidades de micro e macro texturas, faz-se necessarioa utilizacao de configuracoes diferentes do metodo de Box-Counting para cada grupo de imagens. Neste caso, ondese pretende obter uma caracterizacao da complexidade or-ganizacional dos diferentes bairros, percebe-se clara-mente a necessidade de uma enfase maior nas informacoesde macro-textura da imagem, ou seja, tem-se a necessi-dade de uso de caixas maiores no metodo de BoxCoun-

Bairro Amostra DF

a 1 2,61512 2,6291

b 1 2,60782 2,6034

c 1 2,59772 2,5971

d 1 2,60872 2,6212

e 1 2,59462 2,5973

Tabela 2. Dimensao Fractal estimada para asamostras obtidas a 15.000 pes de altitude.

54

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 66: III WVC 2007

(a) (b) (c) (d) (e)

Figura 3. Imagens de satelite de diferentes areas obtidas a 10000 pes de altitude.

(a) (b) (c) (d) (e)

Figura 4. Imagens de satelite de diferentes areas obtidas a 15000 pes de altitude

ting.

Os conjuntos de tamanhos de caixas utilizados nometodo BoxCounting para analisar as texturas foram esco-lhidos empiricamente. No entanto, tanto valores pequenosquanto valores grandes para o tamanho das caixas fo-ram considerados. Desse modo, pode-se avaliar a textura deuma imagem em termos de micro-textura (caixas pequenas)e macro-textura (caixas grandes). Isso garante uma quan-tidade maior de informacao sobre a imagem com um con-junto mınimo de caixas, e permite uma maior separacao en-tre as amostras pertencentes a diferentes bairros da cidade.Os conjuntos de caixas que obtiveram os melhores resulta-dos para as imagens a 10.000 e 15.000 pes foram, respec-tivamente, 1, 16, 31, 46, 61, 76, 91 e 1, 14, 27, 40, 53,sendo os valores obtidos para a Dimensao Fractal apresen-tados nas Tabelas 1 e 2.

Para ambos os conjuntos de imagens (10.000 e 15.000

pes) percebe-se que, a medida que se afasta do centro da ci-dade, o valor da Dimensao Fractal aumenta. Esse aumentoda complexidade indica uma maior heterogeneidade des-sas areas, ou seja, a organizacao das estruturas morfologicasnessas regioes apresenta um padrao mais caotico, menos re-gular ou homogeneo. Nota-se tambem que as areas vizinhasou que estejam a uma distancia aproximadamente igual docentro da cidade apresentam valores de complexidade pare-cidos, logo a organizacao de suas estruturas morfologicas esemelhante. Isso e corroborado pelo fato de areas centraisdas cidades serem alvo de maior numero de benfeitorias,portanto melhor estruturadas, e de nao sofrerem de proces-sos de ocupacao espontaneos ou informal. A Figura 5 mos-tra aneis concentricos delimitando regioes a partir do marcocentral da cidade de Sao Carlos (Praca Dom Jose Marcon-des Homem de Melo). As areas analisadas no experimentoestao destacadas no grafico, que apresenta suas respectivas

55

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 67: III WVC 2007

Figura 5. Aneis concentricos, apresentando as regioes de mesma distancia do marco central da ci-dade e sua Dimensao Fractal: (a) Valores de DF das imagens de satelite obtidas a 10000 pes; (b)Valores de DF das imagens de satelite obtidas a 15000 pes.

dimensoes fractais. Em ambos os graficos pode ser obser-vado o aumento da dimensao fractal a medida que as zonasde analise se distanciam do centro urbano, comprovando ashipoteses levantadas anteriormente.

Em relacao as Tabelas 1 e 2, outro aspecto importantepode ser observado. Nota-se que os valores da dimensaofractal estao relacionados as diferentes altitudes. Os valoresda dimensao fractal em amostras obtidas a 10.000 pes saomais elevados que aqueles em amostras obtidas a 15.000pes. Com isso, pode-se concluir que ocorre um aumento decomplexidade ou maior heterogeneidade quando se diminuia distancia (vertical) de observacao das amostras, ou seja,quando as amostras sao observadas mais de perto.

Alem do calculo da Dimensao Fractal, um classifica-dor hierarquico foi aplicado sobre as curvas log-log obti-das para cada grupo de imagens. Nesse caso, considera-secomo metrica a distancia euclidiana media entre as curvaslog-log das diversas amostras, pois esta sofre menos inter-ferencia de valores espurios. A Figura 6 mostra dendro-gramas da organizacao das amostras de acordo com a si-milaridade. Percebe-se uma total separacao das amostrasde acordo com a sua regiao, o que evidencia os diferen-tes nıveis de complexidade e, consequentemente, a dife-rente organizacao das estruturas morfologicas de cada areaurbana. A classificacao hierarquica foi utilizada para apre-sentar as relacoes de distancias e agrupamentos das ima-gens utilizadas no experimento. Em ambos os casos, asimagens foram classificadas corretamente. No dendrogramada Figura 6b o agrupamento das regioes foi realizado de

modo proporcional ao distanciamento do marco central dacidade, evidenciando os resultados apresentados na Figura5. Embora a classificacao das imagens esteja correta, o den-drograma de menor altitude (Figura 6a) nao apresentou orelacionamento entre o agrupamento e as distancias dasimagens ao marco central, sugerindo melhor acuidade dometodo para imagens adquiridas em altitudes maiores.

5. Conclusao

Neste trabalho foi apresentado um estudo sobre autilizacao do metodo de estimativa de Dimensao Frac-tal na analise de caracterısticas morfologicas de ima-gens de satelite de areas urbanas, cuja interacao resultaem padroes de texturas complexos. Por meio da Di-mensao Fractal e possıvel quantificar a complexidade dessatextura e, consequentemente, estimar o nıvel de desenvol-vimento urbano de uma determinada area, permitindo asua comparacao com demais regioes de uma mesma ci-dade.

Foi realizado um experimento onde imagens de dife-rentes areas urbanas foram comparadas segundo a meto-dologia proposta. Os resultados demonstraram que existecorrelacao entre o nıvel de complexidade e as caracterısticasmorfologicas existentes em determinadas areas urbanas, ob-servadas em diferentes altitudes, evidenciando o grande po-tencial da tecnica na analise e classificacao de imagens desatelite dessas areas.

56

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 68: III WVC 2007

(a) (b)

Figura 6. Dendrograma: (a) Imagens de satelite obtidas a 10000 pes; (b) Imagens de satelite obtidasa 15000 pes.

6. Agradecimentos

Odemir M. Bruno agradece ao CNPq (Procs.#303746/2004-1 e #504476/2007-6) e a FAPESP (Proc.#06/54367-9). Andre R. Backes agradece a FAPESP (Proc.#06/54367-9) pelo apoio financeiro ao doutorado. Adri-ana B. Bruno agradece ao CNPq (Proc. #504476/2007-6)pelo apoio financeiro a iniciacao cientıfica. Mauro N. Bar-ros Filho agradece a Faculdade Esuda.

Referencias

[1] G. D. and Lange and W. B. Marks. Fractal methods andresults in cellular morphology - dimensions, lacunarity andmultifractals. Journal of Neuroscience Methods, 69(2):123–136, November 1996.

[2] A. R. Backes and O. M. Bruno. Segmentacao de texturas poranalise de complexidade. INFOCOMP Journal of ComputerScience, 5(1):87–95, 2006.

[3] B. B. Chaudhuri and N. Sarkar. Texture segmentation usingfractal dimension. IEEE Trans. Pattern Anal. Mach. Intell,17(1), 1995.

[4] Y. Q. Chen and G. Bi. On texture classification using fractaldimension. IJPRAI, 13(6):929–943, 1999.

[5] R. C. Coelho and L. F. COSTA. The box-counting fractal. di-mension: Does it provide an accurate subsidy for experimen-tal shape characterization? if so, how to use it? In Anais doSibgrapi 95, pages 183–191, 1995.

[6] D. Ebert, K. Musgrave, D. Peachey, K. Perlin, and Worley.Texturing and Modeling: A Procedural Approach. AcademicPress, Oct. 1994.

[7] C. W. Emerson, N. N. Lam, and D. A. Quattrochi. Multi-scale fractal analysis of image texture and patterns. Photo-grammetric Engineering and Remote Sensing, 65(1):51–62,1999.

[8] N. Giordana and W. Pieczynski. Estimation of generalizedmultisensor hidden markov chains and unsupervised image

segmentation. IEEE Transaction on Pattern Analysis andMachine Intelligence, (5):465–475, 1997.

[9] R. C. Gonzales and R. Woods. Digital Image Processing.Addison Wesley, 1992.

[10] C. Iovan, D. Boldo, M. Cord, and M. Erikson. Automatic ex-traction and classification of vegetation areas from high re-solution images in urban areas. In Scandinavian Conferenceon Image Analysis, pages 858–867, 2007.

[11] B. Julesz. Experiments in the visual perception of texture.Scientific American, 232(4):34–43, 1975.

[12] L. M. Kaplan. Extended fractal analysis for texture classifi-cation and segmentation. IEEE Transactions on Image Pro-cessing, 8(11):1572–1585, 1999.

[13] S. Z. Li. Markov Random Field Modeling in Computer Vi-sion. Springer-Verlag, 1995.

[14] J. Lourenco, L. Ramos, R. A. R. Ramos, H. Santos, andD. Fernandes. Urban areas identification through clusteringtrials and the use of neural networks. 2005.

[15] M. Pesaresi. Textural classification of very high-resolutionsatellite imagery: Empirical estimation of the relationshipbetween window size and detection accuracy in urban en-vironment. In International Conference on Image Proces-sing, pages I:114–118, 1999.

[16] A. Rosenfeld and Kak. Digital Picture Processing Vol. 2.Academic Press, Orlando, 1982.

[17] A. J. Tatem, H. G. Lewis, P. M. Atkinson, and M. S. Ni-xon. Super-resolution mapping of urban scenes from IKO-NOS imagery using a Hopfield neural network. IEEE, 2001.

[18] A. Teke and V. Atalay. Texture classification and retrievalusing the random neural network model. 2006.

[19] M. Tuceryan and A. K. Jain. Texture analysis. Handbook ofPattern Recognition and Computer Vision, pages 235–276,1993.

[20] M. Unser. Texture classification and segmentation using wa-velet frames. IEEE Trans. Image Processing, 4(11):1549–1560, Nov. 1995.

57

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 69: III WVC 2007

Coded Mask Multipinhole Collimation and Richardson-Lucy Decoding Algorithm

to Obtain High Temporal and Spatial Resolution Scintigraphic Images of Small

Volumes

J Mejía1, OY Galvis-Alonso2, J Braga1, AA de Castro3, R Corrêa4, JP Leite5 and MV Simões3

(1) Astrophysics Division, Brazilian National Institute for Space Research, São José dos Campos, São Paulo,

Brazil. E-mail: [email protected]

(2) Department of Molecular Biology, São José do Rio Preto Medicine School, São José do Rio Preto, São

Paulo, Brazil

(3) Department of Nuclear Medicine, University of São Paulo Medicine School at Ribeirão Preto, Ribeirão

Preto, São Paulo, Brazil.

(4) Space and Atmospheric Science Division, Brazilian National Institute for Space Research, São José dos

Campos, São Paulo, Brazil.

(5) Department of Neurology, Psychiatry and Medical Psychology, University of São Paulo Medicine School

at Ribeirão Preto, Ribeirão Preto, São Paulo, Brazil.

Abstract

In this work, we present Monte Carlo simulations and

experimental results of the implementation of a

scintigraphic imaging system for small volumes,

combining a coded mask-based multipinhole collimator

and a clinical gamma-camera, to obtain high temporal

and spatial resolution of small fields. As the multipinhole

collimator, we used a 7 7-element MURA-based coded

mask, cyclically extended to 13 13 elements, with 1-mm

diameter holes. In combination with a Siemens Orbiter

clinical gamma camera, we obtained a spatial resolution

on the object plane of 0.5 mm, and a temporal resolution

equivalent to that of an 8-mm diameter single pinhole,

when imaging objects as large as 20 mm and located 50

mm away from the collimator. The Richardson-Lucy (RL)

algorithm for image restoration was adapted to decode

the images registered through the coded mask, in doing

so obtaining better quality images than by using the

classical correlation decoding method.

1. Introduction

Non-invasive imaging techniques such as SPECT, PET or MRI allow for in vivo studies of organs and tissues. Initial studies of functional imaging focused on perfusional and metabolic alterations of tissues and organs. Since late 1990s, molecular biology and in vivo

imaging have been associated in the new discipline “molecular imaging”, with the aim of detecting selected biochemical processes, such as metabolic reactions,

receptor interactions or the expression of specific genes. On the other hand, small animals provide experimental models for physiopathological studies, genomic investigation and drug discovery. However, small animal organs are, at least, one order of magnitude smaller than the corresponding human ones, resulting, in the high energy domain, in poor quality images, if obtained with conventional gamma-cameras and collimators. In this work, we present Monte Carlo (MC)

simulations and experimental results on the hardware and software techniques implemented to improve the final quality of images, as part of an enterprise to obtain high spatial and temporal resolution scintigraphic images of small animals with the technology currently available in the University Hospital of the Medical School of Ribeirão Preto (HCRP-USP) and in collaboration with the High Energy Group of the Astrophysics Division of the Brazilian National Institute for Space Research (INPE) and the Department of Molecular Biology of the Sao Jose do Rio Preto Medicine School (FAMERP). In Section 2, we describe the coded mask imaging technique, a method extensively used in high energy astrophysics to obtain images of distant sources, how it can be applied to near field imaging and the advantages it presents over other imaging alternatives. In Section 3, we present results of the imaging capabilities of the implemented instrument based on MC simulations and experimental records, and a comparison of the final image features as obtained when the image decodification is done by using the classical correlation method or an iterative RL-based algorithm.

58

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 70: III WVC 2007

Finally, Section 4 summarizes the conclusions of this work.

2. Scintigraphic Imaging with Coded Mask-

Based Multipinhole Collimators and the RL

Algorithm

Over 30 keV, focusing techniques are not any more appropriate to obtain images, mainly because of the high penetrating capability of photons. In order to obtain images of high energy sources, it is necessary to code, in some appropriate way, the incidence direction of the detected photons. In the field of nuclear medicine, the most common techniques are based on the use of parallel hole or single pinhole collimators. In the second case, a magnification factor appears, depending on the ratio between the source-to-collimator and image-to-collimator distances, which, for small fields of view (FOV), allows to observe small detail features.

High spatial and temporal resolutions are two key parameters in molecular imaging and in dynamic studies of radiotracers. Spatial resolution is limited by the intrinsic resolution of the gamma-camera detector, in combination with the physical size of the collimator pinholes, if parallel hole or single pinhole collimators are used. Small diameter holes are, then, desirable, when imaging small size objects. However, reducing the open size in the aperture implies in a quadratic reduction of the sensitivity, making it necessary to increase the exposure time or the applied dose to reach an equivalent statistical significance on the image. To overcome this conflicting situation, it has been

proposed to replace the single pinhole collimator by a set of multiple small-sized pinholes on the aperture, in two different alternatives: multipinhole collimators, where a small number of pinholes are used to record the object activity and the decoded image is obtained by use of iterative algorithms based on maximum-likelihood approaches (see, e.g., [1, 2]); and coded mask collimators, where a higher number of appropriately distributed pinholes (dozens to hundreds of holes) is used and the final image is obtained by correlation with an appropriate decoding array. This second kind of collimators was selected for us, to be used in combination with a Siemens Orbiter clinical gamma-camera, to obtain high spatial and temporal resolution images of small volumes. Coded masks have been extensively used in high-

energy astrophysics (e.g., [3, 4]), in order to image astrophysical fields from some keV up to some MeV. In the coded mask approach, the instrument's aperture consists of a distribution of small size holes on an otherwise opaque screen following an appropriate pattern, such that every point source in the FOV casts a specific shadow pattern on a position-sensitive detector. In other

words, multiple, superimposed images of the source are projected on the detector. The information on the photon's incidence direction is encoded in the shadow distribution (or shadowgram), which can be recovered in a second step of image decodification, by appropriate mathematical manipulations (see, e.g., [5, 6]). Considering the high number of small size holes on the aperture, coded masks provide substantial gain in detection efficiency while maintaining the spatial resolution of single pinhole cameras with the same hole size. In the most general way, the shadowgram can be

represented by the convolution of the intensity distribution in the object plane with the coded mask distribution, as given by the expression

),()()( xNxOAxS (1)

where S represents the shadowgram, O corresponds to the intensity distribution in the object plane, A is the aperture array and N corresponds to a noise term. One of the most commonly used methods to recover the image of the observed FOV is known as the correlation method [5, 6]. According to it, it is necessary to find a decoding array, G, such that the correlation product between A and G,A G, be as near as possible to a delta function (a pulse on an otherwise flat or null sidelobes). In doing so,

,

][

][

GNO

GNOGA

GNGOAGSI

(2)

being the decoded image, I, equivalent to the observed object except by a noise term. Many different classes of coded mask patterns have

been discussed in the literature since the random distribution of holes introduced, independently, by Dicke [7] and Ables [8]. An special case of coded apertures is that of the Uniformly Redundant Arrays (URAs) introduced by Fenimore and Cannon [5], whose autocorrelation function corresponds to a perfect delta function superimposed on a constant or null level, while maintaining the high transparency of the random arrays and the high resolution of the single pinhole cameras. Additionally, the decoding process is such that the contribution of any uniformly distributed noise pattern is automatically removed. Coded masks were proposed as an alternative to

produce images of objects in the near field by Cannon and Fenimore [9], Fenimore et al [10] and Chen et al

[11], showing, additionally, that this kind of camera presents some reasonable tomographic depth resolution, being able to identify individual planes a couple of cm away from each other. They were also used to produce

59

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 71: III WVC 2007

tomographic images of phantoms and biological specimens by, e.g., Rogers et al [12], who obtained images of a dog model of acute myocardial infarction. By 2001, the use of coded masks in near-field imaging

cameras was reappraised by Accorsi et al [13]. Those authors discussed on the most appropriate coded mask patterns, in terms of signal-to-noise ratio (SNR) [14], and indicated the Modified URAs [15] as an appropriate option for this application. The origin of artifacts appearing in this application was also reviewed [16], and the mask-antimask technique [17] was suggested as an alternative to remove them by hardware, not requiring additional time increase or computation effort to produce an image. Additionally, those authors combined a coded mask-based collimator with conventional Anger cameras to produce images of small FOVs. When decoded with the classical correlation method, high spatial resolution ( 1.7 mm) planar images were obtained [13] as well as high temporal resolution ( 50 ms/frame with weak sources), suggesting that they can be used for dynamical studies of radiotracers [18]. An alternative method to decode images relies on

iterative restoration image algorithms. This technique has been mainly applied to decode images in the multipinhole approach, as mentioned above. Image restoration can be understood as the case of finding the reproducible object intensity distribution which better explains the detected intensity distribution, given the instrument's characteristics and the irreproducible noise contribution. This kind of problem is known as the inverse problem and arises in many scientific fields. Following Eq. (1), the objective is to find a model of the object intensity distribution, O(x), given the detected intensity distribution, S(x), and the response of the instrument to a point source, A(x). In this work, we have tested the RL algorithm [19, 20] to restore simulated and experimental images. In the RL algorithm, the restored image can be represented by the recursive expression

,),(

),()(

)(),(

)()(

)1(

)1()(

k

k

j

l

ll

ikA

jkAjI

kSikA

iIiI (3)

where the starting value of the restored image, I(0)(i), is set to a uniform positive value, and the restrictive condition of I(l)(i) 0 is applied in every iteration. In the next section, we present results, based on MC

simulations and experimental data, of the application of the hardware and software techniques outlined above in order to obtain high quality images of small fields, as expressed by spatial and temporal resolution.

3. The HCUSP-RP Coded Mask-Based

Imaging System Implementation

The imaging system implemented in our laboratory uses a multipinhole collimator based on a 7×7 Modified URA coded mask, cyclically extended to 13×13 elements and made on a 4-mm thick lead sheet, as shown in Figure 1. Individual pinholes have 1 mm in diameter, single-knife edges and a 60-degree total opening angle. The mask was located 200 mm away from the gamma-camera (Siemens Orbiter) detector surface and 50 mm from the object plane, which determines a FOV of 23 mm × 23 mm. With this configuration, a point source projects on the detector a 210 mm × 210 mm shadow of the 7×7-element mask basic pattern, the projection of an individual pinhole having 5 mm in diameter.

Figure 1. Picture of the coded mask used in this work.

An initial test was carried out, aiming to determine the sensitivity of the gamma camera when using the coded mask-based multipinhole collimator and compare it with the single pinhole (2-mm, 4-mm and 8-mm diameter) ones. A small size source with an activity of 0.225 mCi was located 70 mm away from the collimator and 60-second acquisitions were done. By using the coded mask, the registered sensitivity was 20.4 kcount/s/mCi, slightly higher than that obtained with the 8-mm diameter single pinhole (18.1 kcounts/s/mCi). Photon events registered by the gamma-camera were

projected over a matrix having pixel dimensions of 2 mm × 2 mm, from where the central 105×105-element sector was retained, corresponding to the projection of one basic mask pattern on the detector, to produce the “shadowgrams”. The remaining pixels were cyclically reprojected over this central area, in order to improve the SNR, in this way taking advantage of the contribution to the image of most of the 84 pinholes on the mask, as proposed by Braga [21].

60

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 72: III WVC 2007

To obtain the decoded image, we compared both approaches discussed in Section 2, finding that the alternative based on the RL algorithm produces better quality results in terms of spatial resolution and SNR. In Figure 2, we compare the results of both approaches, for an annular source based on a MC simulation, while in Figure 3 the same comparison is done for a real point-like source. For this reason, only those images obtained by the iterative decoding method will be shown here.

Figure 2. (a) Shadowgram projected by an annular source, 5 mm in diameter and 2 mm in width, obtained by MC simulation of the imaging process; (b) decoded image, based on the correlation method; and (c) decoded image, based on the RL algorithm (15 iterations).

Figure 3. (a) Shadowgram of a point-like source, produced by the Siemens-Orbiter gamma-camera; (b) projection of the central 7×7-element mask basic pattern; (c) decoded image, based on the correlation method (FWHM=2.75 mm); and (d) decoded image, based on the RL algorithm (FWHM=2.36 mm, 15 iterations). Notice how the background noise is almost completely absent in this decoded image.

MC simulations of images of different planar distributions were obtained: multiple point-like sources, linear sources, small and large diameter annular distributions and disk-like objects. In Figure 4, we present the shadowgrams and decoded images corresponding to (a, b) an annular source 20 mm in diameter and 2 mm width, (c, d) a disk like source 20 mm in diameter, (e, f)

two line sources 0.5 mm in width and 4 mm away one from the other, and (g, h) a set of 5 point sources in a “+” format, 5 mm away one from the other.

Figure 4. MC simulation results of the imaging process: shadowgrams and decoded images of (a, b) an annular source 20 mm in diameter and 2 mm in width; (c, d) a disk-like source 20 mm in diameter; (e, f) two line sources 0.5 mm in diameter and 4 mm away one from the other; and (g, h) a set of 5 point-like sources in a “+” pattern, 5 mm away one from the other. The sources were considered located 50 mm away from the collimator, and the images were decoded from the shadowgram by means of the RL algorithm (15 iterations).

61

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 73: III WVC 2007

Real images of some of the simulated cases were also obtained, whose results are shown in Figure 5, for the set of 5 point sources and the annular source. Notice the resemblance with the simulated results.

Figure 5. Images obtained with a Siemens-Orbiter gamma-camera, the coded mask-based multipinhole collimator previously presented and a RL-based decoding algorithm (15 iterations) of (a) a set of five point-like sources in a “+” pattern, 5 mm away one from the other and (c) an annular source 20 mm in diameter and 2 mm width. In (b) and (d), cuts along the central line of each image are presented. Most of the width of the reconstructions is caused by the finite size of the sources.

4. Conclusions

In this work we have presented details of the implementation of a high spatial and temporal resolution scintigraphic imaging system, based on the coded mask multipinhole technique, in combination with a conventional clinical gamma-camera and an appropriate decoding algorithm. Even though coded mask collimators have been successfully used for decades in the field of high energy astrophysics, this kind of collimators has not been extensively used in near field, in spite of its ability to produce, simultaneously, high spatial and temporal resolution. Nevertheless, multipinhole collimators, consisting of a smaller number of holes, have been used to produce images of small FOVs, in combination with iterative restoration image algorithms based on the Maximum Likelihood RL algorithm (e.g., [1, 2]). Simulations and experimental results indicate that

coded masks can be used to improve the spatial and temporal resolution of gamma-ray imaging of small

targets in the near field by increasing the total open area of the camera, while maintaining the equivalent high spatial resolution of a small size pinhole camera and, in this way, allowing for dynamical studies of radiotracers. When in the far field application, images obtained with the use of appropriately selected coded mask collimators (namely, URAs) are perfectly decoded by the cross-correlation of the shadowgram with an appropriate decoding array. In the near field applications presented here, where the objects were always inside the FOV, the images were also well reconstructed. However, by using a specially adapted iterative restoration image procedure based on the RL algorithm, better results are obtained in terms of spatial resolution and SNR, than by using the classical decoding algorithm based on the correlation between the shadowgram and the decoding array. In our application, resolutions of 0.5 mm (FWHM) were achieved, when point or linear sources are imaged, as well as good border definition, when spatially extended objects are considered. The use of a high number of small pinholes, of the

order of 25, allowed us to obtain a sensitivity equivalent to that of a 5-mm diameter single pinhole collimator. By cyclically reprojecting pixels out of the central area of the shadowgram, we included information from an additional set of 36 pinholes, in doing so improving the SNR and increasing the sensitivity of the system to that of a camera with an 8-mm diameter single pinhole collimator.

Finally, we confirm the feasibility of to obtain good quality scintigraphic images of small FOV with the technology and equipments available in our medical institutions, by adapting a clinical use gamma camera, in combination with low cost material coded mask-based collimators and the appropriate processing software tools. In the next step, we will work on the implementation of 3D image reconstruction algorithms, in order to obtain SPECT images of small animals.

6. Acknowledgments

We want to thank the wonderful help of the HC-USPRP Nuclear Medicine Section technical staff in preparing and manipulating the phantoms during tests. J Mejia is supported by CNPq grant 381985/2004-0. AA de Castro is supported by CAPES.

7. References

[1] S.R. Meikle, P. Kench, A.G. Weisenberger, R. Wojcik, M.F. Smith, S. Majewski, S. Eberl, R.R. Fulton, A.B. Rosenfeld and M.J. Fulham, “A prototype coded aperture detector for small animal SPECT”, IEEE trans. Nuclear Science, v. 49(5), pp. 2167-2171, 2003.

62

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 74: III WVC 2007

[2] U.N. Schramm, M. Schipper, T. Schurrat, M. Behe, H. Alfke, U. Engeland, G. Ebel and T.M. Behr, “Performance of a multi-pinhole animal SPECT”, Nuclear Science Symposium

Conference Record, 2003 IEEE, 19-25 Oct. 2003, v. 3, pp. 2077-2079, 2003.

[3] G.K. Skinner, “Imaging with coded-aperture masks”, Nuc.

Inst. Meth. Phys. Res., v. 221, pp. 33-40, 1984.

[4] E. Caroli, J.B. Stephen, G. di Cocco, L. Natalucci and A. Spizzichino, “Coded-aperture imaging in x- and gamma-ray astronomy”, Spa. Sc. Rev., v. 45, pp. 349-403, 1987.

[5] E.E. Fenimore and T.M. Cannon, “Coded aperture imaging with uniformly redundant arrays”, App. Opt., v. 17(3), pp. 337-347, 1978.

[6] E.E. Fenimore and T.M. Cannon, “Uniformly redundant arrays: digital reconstruction methods”, App. Opt., v. 20(10), pp. 1858-1864, 1981.

[7] R.H. Dicke, “Scatter-hole cameras for x-rays and gamma-rays”, ApJ, v. 153, pp. L101-L106, 1968.

[8] J.G. Ables, “Fourier transform photograph: a new method for x-ray astronomy”, Proc. ASA, v. 1, pp. 172-173, 1968.

[9] T.M. Cannon and E.E. Fenimore, “Tomographical imaging using uniformly redundant arrays”, App. Opt., v. 18, pp. 1052-1057, 1979.

[10] E.E. Fenimore, T.M. Cannon, D.B. Van Hulsteyn and P. Lee, “Uniformly redundant array imaging of laser driven compressions: preliminary results”, App. Opt., v. 18, pp. 945-947, 1979.

[11] Y.W. Chen, M. Yamanaka, N. Miyanaga, T. Yamanaka, S. Nakai, C. Yamanaka and S. Tamura, “Three-dimensional reconstructions of laser-irradiated targets using URA coded aperture cameras”, Opt. Comm., v. 71(5), pp. 249-255, 1989.

[12] W.L. Rogers, K.F. Koral, R. Mayans, P.F. Leonard et al.,“Coded-aperture imaging of the heart”, J. Nucl. Med., v. 21, pp. 371-378, 1980.

[13] R. Accorsi, F. Gasparini and R.C. Lanza, “A coded aperture for high-resolution nuclear medicine planar imaging with a conventional Anger camera: experimental results”, IEEE

trans. Nuc. Sci., v. 48, pp. 2411-2417, 2001.

[14] R. Accorsi, F. Gasparini and R.C. Lanza, “Optimal coded aperture patterns for improved SNR in nuclear medicine imaging”, Nuc. Inst. Meth Phys. Res. A, v. 474, pp. 273-284, 2001.

[15] S.R. Gottesman and E.E. Fenimore, “New family of binary arrays for coded aperture imaging”, App. Opt., v. 28(20), pp. 4344-4352, 1989.

[16] R. Accorsi and R.C. Lanza, “Near-field artifact reduction in planar coded aperture imaging”, App. Opt., v. 40(26), pp. 4697-4705, 2001.

[17] U.B. Jayanthi and J. Braga, “Physical implementation of an antimask in URA based coded mask systems”, Nucl.

Instum. Meth. Phys. Res., v. A310, pp. 685-689, 1991.

[18] R. Accorsi and R.C. Lanza, “High-sensitivity dynamic coded aperture imaging”, Nuc. Sci. Symp. Conf. Record, IEEE,v. 3, pp. 1833-1837, 2003.

[19] W.H. Richardson, “Bayesian-based iterative method of image restoration”, J. Opt. Soc. Amer., v. 62, pp. 55-59, 1972.

[20] L.B. Lucy, “An iterative technique for the rectification of observed distribution”, Astron. J., v. 79, pp. 745-754, 1974.

[21] J. Braga, Hard X-ray imaging techniques using coded masks, PhD Thesis, Instituto Astronômico e Geofísico, São Paulo, Brazil, 1990.

63

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 75: III WVC 2007

Auto-Fusão da Auto-Face, do Auto-Esboço e da Auto-Pele pelo Misturograma em imagens em nível de cinza

Severino Jr, Osvaldo IMES - FAFICA

[email protected]

Gonzaga, Adilson Escola de Engenharia de São Carlos - USP

[email protected]

Resumo

Neste trabalho é apresentado um novo método para a segmentação da região de pele e esboço da face em imagens em nível de cinza, através de uma extensão do método de quantização de cores definido no sistema RGB e denominado Misturograma. A extensão proposta para o Misturograma permitirá a quantização de cada um dos pixels de uma imagem em nível de cinza nas cores preto, azul, verde, ciano, vermelho, magenta, amarelo e branco. A relevância das imagens do esboço da face e da região de pele em nível de cinza foi verificada pela auto-fusão. A Auto-fusão é um método de Fusão Multimodal Paralelo efetuado no módulo de decisão.

1. Introdução

A pele humana é constituída por diferentes misturas de cores (pigmentos). A pigmentação define um caráter racial de grande importância e consiste na cor que apresenta a pele, o cabelo e a íris do olho. Segundo Domenech [1] levando-se em conta, como caráter fundamental, a cor da pele, pode-se definir grandes grupos ou troncos raciais.

Baseando-se no conceito que a pigmentação da pele é definida por diferentes misturas de cores, o primeiro passo dessa pesquisa consistiu na proposta do termo Misturograma [2]. O Misturograma representa um método de quantização de cores definido pela observação que uma cor é representada pela adição do vermelho, verde e azul no espaço RGB. Na Tabela 1 verifica-se que esta adição pode resultar em oito combinações, onde 0 indica a ausência e 1 a presença da cor nos canais R, G e B.

Para obterem as oito cores (preto, azul, verde, ciano, vermelho, magenta, amarelo, branco), o Misturograma utiliza a definição binária da cor e realiza um fatiamento de bits, do mais significativo para o menos significativo. Dessa forma, cada fatia será constituída por uma das oito combinações (Tabela 1). Além disso, cada fatia possui um peso em relação à mistura final da cor que decresce do bit mais significativo para o menos significativo.

Tabela 1. Combinações de Cores no RGB. Canais Cor

ResultanteR G B0 0 0 Preto0 0 1 Azul 0 1 0 Verde 0 1 1 Ciano1 0 0 Vermelho1 0 1 Magenta 1 1 0 Amarelo1 1 1 Branco

Portanto, a mistura final pode ser expressa por um valor v, tal que:

( )∑=

−++

=

K

i

iiii BGR

v

0

8

12

12

222(1)

Na Tabela 2 observa-se que para C, no espaço RGB, igual a (109,146,137) a representação binária é (01101101, 10010010, 10001001) e o valor v será igual a 3923,3 .

Tabela 2. Representação de v pelo fatiamento de bits, do mais para o menos significativo de uma cor no RGB.

bits R G B Cor7 0 1 1 Ciano6 1 0 0 Vermelho 5 1 0 0 Vermelho4 0 1 0 Verde3 1 0 1 Magenta 2 1 0 0 Vermelho 1 0 1 0 Vermelho0 1 0 1 Magenta

Dessa forma, qualquer mistura de cores poderá ser quantizada a um valor v entre 0 e 7, onde 0 corresponde ao valor RGB igual a (0,0,0) e 7 ao valor RGB igual a (255,255,255). Entretanto, para determinar uma cor a partir de v, definiu-se um intervalo i igual a 0,875 (7/8) para expressar a seqüência de cores (preto, azul, verde,

64

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 76: III WVC 2007

ciano, vermelho, magenta, amarelo, branco). Portanto, para v igual a 3,3923 será atribuída a cor ciano.

Baseando-se na idéia da pele como uma característica relevante para descrição de uma imagem, o segundo passo dessa pesquisa aplicou o Misturograma para segmentar a região de pele em imagens faciais coloridas.

2. Segmentação da região de pele em imagens faciais coloridas

Na Figura 1 identifica-se uma imagem facial reduzida para o tamanho 288 x 384 pixels no formato RGB com 24 bits do banco de faces AR [3] e a imagem quantizada pelo Misturograma.

Figura 1. a) Imagem original e b) imagem quantizada pelo Misturograma.

Analisando a imagem quantizada pelo Misturograma (Figura 1-b), constatou-se que considerando as oito cores, extraem-se 256 combinações possíveis. Numa tentativa em reduzir o número de combinações, as imagens foram agrupadas duas a duas, de forma que as cores que pertenciam a primeira não estavam presentes na segunda e as oito cores apareciam nas duas imagens, assim, obtendo 128 combinações. Verificando essas combinações constatou-se que uma delas conseguia segmentar a região da pele pelos pixels da imagem original quantizadas pelo Misturograma nas cores ciano, vermelho, magenta, amarelo e branco, enquanto a região de não pele era segmentada pelos pixels quantizados pelas cores preto, azul e verde (Figura 2).

Figura 2. a) Imagem original, b) região de não pele e c) região da pele.

A partir dessa combinação foram realizadas pesquisas na base AR que demonstraram a relevância da imagem de região de não pele que passou a ser denominada de Esboço da face [4]. Em resumo, foram obtidos o esboço da face e a região da pele de cada imagem do banco AR. Após, as imagens da face, esboço e pele foram convertidas para nível de cinza e aplicou-se a técnica PCA (Principal Component Analysis) [5] obtendo-se as imagens auto-face, auto-esboço e auto-pele e verificou-se o desempenho e a contribuição das mesmas.

Em uma nova etapa da pesquisa, iniciaram-se testes na base FERET [6], entretanto, esta base de imagens faciais possui imagens coloridas e em nível de cinza. Inicialmente, optou-se por utilizar apenas as imagens coloridas. Mas, a exclusão das imagens em nível de cinza casou uma inquietação que contribuiu para a conclusão de uma nova etapa na pesquisa que consiste na segmentação da região de pele e esboço da face em imagens faciais em nível de cinza.

3. Segmentação da região de pele e esboço da face em imagens faciais em nível de cinza

Testes demonstraram que é possível obter a imagem em nível de cinza a partir do valor v da mistura de cores (Equação 1). Para isso, é necessário dividir o valor v de cada pixel da imagem por 7, dessa forma, normalizam-se os novos valores dos pixels da imagem no intervalo de 0-1. Após, encontra-se o valor inteiro mais próximo da multiplicação do novo valor do pixel por 255. Portanto, dada uma imagem com os valores v obtêm-se c (imagem em nível de cinza), tal que:

Njicjiv

jic ∈×= ),(,7

),(255),( (2)

A Figura 3 mostra as imagens geradas em nível de cinza pelo software Matlab e pelo valor v da mistura de cores. Verifica-se que a imagem gerada por v captura melhor os detalhes de iluminação da imagem.

Figura 3. a) Imagem original, b) imagem em nível de cinza gerada pelo software Matlab e c) imagem em nível de cinza gerada pelo valor v da mistura de cores.

65

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 77: III WVC 2007

Portanto, dada uma imagem em nível de cinza c obtém-se o valor v, tal que:

255

),(7),(

jicjiv ×= (3)

Efetuado o cálculo de v, para determinar a cor de cada pixel, aplica-se um intervalo i igual a 0,875 para definir a seqüência de cores (preto, azul, verde, ciano, vermelho, magenta, amarelo, branco). Na Figura 4 verifica-se que a imagem quantizada pelo Misturograma a partir da imagem em nível de cinza é igual à obtida a partir da imagem colorida da Figura 1-b.

Figura 4. a) Imagem em nível de cinza e b) imagem quantizada pelo Misturograma a partir de a).

4. Validação da Proposta

Com o intuito de validar a proposta foram realizados testes na base AT&T [7] composta por 40 classes de imagens faciais com tamanho 112x92 pixels em nível de cinza, sendo que cada classe continha 4 imagens com diferentes expressões faciais (olhos abertos e fechados, sorrindo e não sorrindo) . Inicialmente, foram geradas as imagens quantizadas pelo Misturograma a partir das imagens em nível de cinza da base. Após, utilizando as imagens quantizadas foram encontradas as imagens esboço da face e região de pele. Na Figura 5 podem ser vistas uma amostra de algumas dessas imagens. Gerada a base de teste foi aplicada a técnica PCA nas imagens faciais, esboço e pele, obtendo as imagens auto-face, auto-esboço e auto-pele, respectivamente. Para verificar o desempenho dessas imagens foram calculadas as suas respectivas curvas recall x precision (revocação x precisão) considerando como critério de similaridade a distância euclidiana. A Figura 6 mostra que 92% das imagens auto-face do banco conseguiram recuperam as 4 imagens da classe, já as imagens auto-esboço alcançaram o índice de 90%, enquanto as imagens auto-pele atingiram 80%. Nota-se que o desempenho das imagens auto-esboço é próximo ao desempenho das imagens auto-face.

Figura 5. Exemplos de imagens esboço da face (centro) e região de pele (direita) obtidas de imagens faciais (esquerda) em nível de cinza.

Figura 6. Verificação do desempenho das imagens auto-face, auto-esboço e auto-pele.

66

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 78: III WVC 2007

Para verificar a relevância das imagens auto-pele um novo passo na pesquisa foi marcado pela proposta do método auto-fusão [8].

5. Auto-Fusão

Auto-fusão é um método de Fusão Multimodal Paralelo efetuado no módulo de decisão [9] com trêscaracterísticas biométricas: face, esboço e pele (Figura 7).

Figura 7. Exemplo de Fusão Multimodal Parelelo efetuado no modo de decisão modificado de Jain [9].

Em resumo, inicialmente todas as imagens de face do banco de dados foram utilizadas para calcular o subespaço PCA da Face. Após, projetou-se cada imagem de face no subespaço PCA da Face e calculou-se a auto-face. Este procedimento foi realizado para as imagens esboço e pele que constituíram o subespaço PCA do Esboço e da Pele e conseqüentemente as imagens auto-esboço e auto-pele.

Dada uma imagem query da face, ela é projetada no subespaço PCA da Face resultando na sua auto-face. Após, efetua-se a distância euclidiana da auto-face da imagem query com todas as auto-faces do banco de imagens de forma seqüencial e, então, o módulo de Decisão da Face classifica as imagens mais próxima da imagem query de acordo com a distância euclidiana em ordem crescente. Da mesma forma, as imagens esboço e pele, geradas a partir da imagem query, são projetadas nos subespaços PCA do Esboço e da Pele e verificada a distâncias em relação as auto-esboço e auto-pele do banco.

Para explicar o método de fusão proposto, suponha que se deseje localizar as quatro imagens mais próximas da i-005-3 (imagem 3 da classe 5) e que obteve-se os seguintes resultados: • Módulo de Decisão da Face: i-005-3, i-005-1; i-004-3;

i-005-4; • Módulo de Decisão do Esboço: i-005-3; i-005-2; i-005-

1; i-007-3; • Módulo de Decisão da Pele: i-005-3; i-005-2; i-007-1;

i-005-4.

Verifica-se na Figura 8 que se pode definir uma matriz acumulativa, tal que: • os três Modos de Decisão encontraram a i-005-3 como

a primeira imagem mais próxima, • um Modo de Decisão encontrou a imagem i-005-1

como a segunda imagem mais próxima, enquanto os outros dois encontraram a imagem i-005-2,

• apenas um Modo de Decisão encontrou a imagem i-005-1 como a terceira imagem mais próxima,

• dois Modos de Decisão encontraram a imagem i-005-4 como a quarta imagem mais próxima.

Imagens da classe

i-005

Imagens mais próximas

1ª 2ª 3ª 4ª

i-005-1 0 1 1 0 i-005-2 0 2 0 0i-005-3 3 0 0 0i-005-4 0 0 0 2 Figura 8. Resultado Acumulativo dos Modos de Decisão

Então, o método de auto-fusão procura pelos valores 3, 2, 1 na matriz acumulativa, excluindo-se a coluna e a linha que pertencem a estes valores. Na Figura 8 verifica-se que a matriz acumulativa possui o valor 3 na linha i-005-3 e a na coluna 1ª, nesse caso, o método define a imagem i-005-3 com a primeira busca mais próxima e elimina essa linha e essa coluna (Figura 9).

Imagens da classe

i-005

Imagens mais próximas

2ª 3ª 4ª

i-005-1 1 1 0 i-005-2 2 0 0i-005-4 0 0 2Figura 9. Matriz acumulativa após a retirada do valor 3.

Na Figura 9 analisa-se que a matriz acumulativa possui o valor 2 na linha i-005-2 e na coluna 2ª e na linha i-005-4 e na coluna 4ª, nesse caso, o método define a imagem i-005-2 com a segunda busca mais próxima e a imagem i-005-4 com a quarta busca mais próxima e eliminam-se as respectivas linhas e colunas (Figura 10).

Imagens da classe

i-005

Imagens mais próximas

i-005-1 1 Figura 10. Matriz acumulativa após a retirada do valor 2.

Na Figura 10 observa-se que a matriz acumulativa possui o valor 1 na linha i-005-1 e na coluna 3ª, nesse caso, o método define a imagem i-005-1 com a terceira

67

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 79: III WVC 2007

busca mais próxima e elimina essa linha e essa coluna. Portanto, o modo de Fusão Auto-fusão obtém o resultado: i-005-3, i-005-2, i-005-1, i-005-4. Esse resultado é superior aos apresentados pelo Modo de Decisão da Face, do Esboço e da Pele que encontraram 3 imagens da classe, ao passo que a auto-fusão encontrou as 4 imagens da classe. Em caso de houver empate ou ausência de um dos valores 3, 2 e 1 na coluna, prevalece à ordem: primeiro a imagem encontrada pelo Método de Decisão da Face, segundo pelo método do Esboço e terceiro pelo método da Pele, devido ao desempenho alcançado por estes de forma individual (Figura 6).

Na Figura 11 pode-se observar o desempenho da auto-fusão em relação aos métodos aplicados de forma individual. Verifica-se que utilizando a auto-fusão 95% das imagens do banco conseguem localizar as 4 imagens que compõe as suas respectivas classes, e este resultado é 3% superior ao alcançado pela imagens auto-face.

Figura 11. Gráfico de desempenho da auto-fusão.

6. Conclusão

Mostrou-se com este trabalho que cada pixel de uma imagem em nível de cinza pode ser classificado como uma das cores preto, azul, verde, ciano, vermelho, magenta, amarelo e branco, através de uma extensão do Misturograma que é uma abordagem de quantização de cores de uma imagem RGB. Uma das intenções deste trabalho foi mostrar o potencial do Misturograma quando utilizado para a segmentação da região de pele e esboço da face de imagens em nível de cinza. Outra intenção foi mostrar a relevância das imagens da face, esboço e pele quando utilizadas como características em um sistema multimodal. Verificando-se, também, o desempenho e a relevância do método auto-fusão, acreditamos que as características relacionadas ao esboço da face e a região de pele poderão ser exploradas em trabalhos futuros como

uma contribuição para a formação de características associadas à descrição de imagens digitais coloridas ou em nível de cinza.

10. Bibliografia

[1] J.M.T. Domenech, A.P. Bolivar, Atlas das Raças Humanas, Ibero-Americano, Ltda, Rio de Janeiro, 1965.

[2] O. Severino Jr., A. Gonzaga, “Misturograma Uma proposta de Quantização do Histograma através da Mistura de Cores”, WVC'2005 - I Workshop de Visão Computacional, Piracicaba, 2005, pp. 76-79.

[3] A.M. Martinez, R. Benavente, “The AR Face Database”, CVC Technical Report nº 24, 1998, June.

[4] O. Severino Jr., A. Gonzaga, “Auto-esboço e Auto-pele pelo Misturograma”, WVC'2006 - II Workshop de Visão Computacional, São Carlos, 2006, pp. 81-86.

[5] K. Baek, M.S. Bartlett, and B.A. Draper, “Recognition faces with PCA and ICA”, Computer Vision and Image Understand, Vol. 91, 2003, pp. 115-137.

[6] P. J. Phillips, H. Moon, P. J. Rauss, and S. Rizvi, “The FERET evaluation methodology for face recognition algorithms”, IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 22, No. 10, October, 2000.

[7] F. Samaria, and A. Harter, “Parameterisation of a stochastic model for human face identification”, 2nd IEEE Workshop on Applications of Computer Vision, Sarasota (Florida), December, 1994.

[8] O. Severino Jr., A. Gonzaga, “Auto-Fusão na Recuperação de Imagens Baseadas em Conteúdo”, WVC'2006 - II Workshop de Visão Computacional, São Carlos, 2006, pp. 305-310.

[9] A.K. Jain, A. Ross, and S. Prabhakar, “An Introduction to Biometric Recognition”. IEEE Transactions on Circuits and Systems for Video Technology, Special Issue on Image- and Video-Based Biometrics, 2004.

68

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 80: III WVC 2007

Modelagem de Ambientes para Robô Móvel baseado em Rede NeuralHierárquica e Visão Omnidirecional

LUCIANA L. SILVA1, HENRIQUE VIAN

1, MARIO L. TRONCO

1, ARTHUR J. V. PORTO

2

1Laboratório de Automação e Computação Evolutiva, Departamento de Ciências de Computação

e Estatística, Universidade Estadual Paulista - UNESP

Av. Cristovão Colombo, 2265 – São José do Rio Preto- SP

E-mails: [email protected], [email protected], [email protected]

2Laboratório de Simulação e Controle de Sistemas Discretos

Escola de Engenharia de São Carlos - Universidade de São Paulo - USP

Av. trabalhador São-Carlense, 400 - São Carlos - SP

Email: [email protected]

Abstract

Autonomous robots must be able to learn

and maintain models of their environments. In

this context, the present work considers a

environment mapping system embarked in the

mobile robot of the Laboratory of Automation

and Evolutivo Control (LACE). The robot uses

a sensorial system, which perceives the

external environment supplying such

information as entered to a structuralized

hierarchical neural network. The sensorial

system is composed for ultrasound sensors and

a catadioptric vision system formed by a

camera and a conical mirror. The neural

network is structuralized in two layers, reason

and instintic, and is trained to classify each

place explored for the robot amongst four

predefine classes. The final result of the

exploration is the construction of a topological

map of the explored environment. Results

gotten through the simulation of the neural

network show that such technology inside

reaches good performance of the context of he

mobile robotic

Keywords⎯ Mobile robot, Omni-Vision System,

hierarchical neural networks.

1. Introdução

A tarefa de modelar ambientes no contexto da

robótica móvel exige do robô uma navegação

autônoma, a qual está fortemente condicionada à

capacidade do robô de perceber o ambiente e utilizar

tais informações sensoriais de maneira eficiente. Sendo

assim, é desejável um alto grau de autonomia para se

melhorar o desempenho dos métodos de mapeamento.

Uma maneira de se conseguir isto é aumentar a

quantidade de informações sensoriais disponíveis,

utilizando-se, por exemplo, imagens do ambiente

coletadas por uma câmera embarcada no robô.

Câmeras são sensores potencialmente úteis, pois

através das imagens obtêm-se uma grande quantidade

de informações para a construção de mapas. Um

sistema de visão não tradicional muito utilizado em

navegação de robôs móveis é o sistema de visão

omnidirecional, o qual é composto por uma câmera e

um espelho. O mesmo tem a capacidade de coletar

imagens de 360º ao redor do robô, o que aumenta ainda

mais a quantidade de informações disponíveis.

O processo de modelagem de ambientes consiste na

criação de um modelo que represente a estrutura física

do mesmo, ou seja, na construção de um mapa.

Navegação baseada em mapas exige um processo de

reconhecimento e análise de alto nível com o objetivo

de interpretar o mapa e estabelecer sua correspondência

com mundo real. Além disso, o problema de adquirir

modelos é complexo e difícil de ser resolvido devido a

limitações práticas sobre a habilidade dos robôs de

aprender e utilizar modelos precisos. Tais limitações

surgem a partir de problemas inerentes aos sensores ou

ao ambiente explorado.

O presente trabalho apresenta um método de

mapeamento de ambientes interiores, o qual utiliza um

sistema sensorial embarcado no robô móvel do LACE

composto por sensores de ultra-som e um sistema de

69

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 81: III WVC 2007

visão omniderecional. O método utiliza uma rede neural

artificial estruturada de maneira hierárquica e treinada

para reconhecer e classificar os lugares explorados com

base nas informações de sua vizinhança

disponibilizadas por seu sistema sensorial.

Dessa forma, o processo de modelagem envolve

uma etapa de exploração do ambiente, na qual a questão

central é saber quais lugares do ambiente, bem como as

relações entre eles serão identificadas e representadas.

Classicamente, a construção de mapas segue duas

abordagens: geométrica e topológica.

A abordagem adotada neste trabalho é a topológica.

De acordo com ela, o ambiente é representado por um

conjunto de lugares distintos entre si, e de uma maneira

que o robô possa ir de um lugar para o outro [1]. Em

outras palavras, o ambiente é representado através de

um grafo, de modo que os lugares do ambiente formam

o conjunto de vértices ou nós e todas as passagens ou

ligações existentes entre cada par de vértices formam o

conjunto de arestas.

Vários aspectos do uso de sistemas de visão no

contexto da robótica móvel serão apresentados na Seção

2. Na Seção 3 abordamos o procedimento geral para a

construção do mapa topológico, bem como o sistema de

visão omnidirecional embarcado no robô. A Seção 4

descreve a rede neural hierárquica utilizada como

classificador dos lugares explorados pelo robô. Na

Seção 5 apresentamos os resultados experimentais

obtidos, e na Seção 6 as conclusões.

2. Trabalhos relacionados

Sistemas de visão computacional têm sido

amplamente utilizados na robótica móvel como

ferramenta poderosa na captura de informações do meio

externo. Tanto para propósitos de mapeamento de

ambientes quanto para localização dos robôs dentro de

seu ambiente, o uso de tais sistemas como fonte de

informações perceptuais têm resultado em diversos

trabalhos na literatura da área.

Matsumoto [2] propôs uma técnica que utiliza uma

seqüência de imagens omnidirecioanais como mapa do

ambiente. As imagens são adquiridas em uma etapa de

aprendizagem da rede neural, seguindo rotas pré-

determinadas e coletadas segundo espaçamentos

constantes. Após a etapa de treinamento da rede, o

mapa construído pode ser utilizado durante a navegação

do robô para propósitos de planejamento de rotas e

localização do robô. A tarefa de localização é executada

através da comparação entre as imagens adquiridas

durante o percurso com as imagens utilizadas para

treinar a rede.

Zitová [3] aplica um conjunto de técnicas de

processamento de imagens em seu método de

reconhecimento de marcos usado pra navegação de

robôs móveis. Aqui, marcos artificiais formados por

dois círculos concêntricos de mesmo raio externo e

diferentes raios internos são espalhados pelo ambiente,

e a tarefa do sistema é reconhecer cada marco de

maneira distintiva permitindo assim a localização do

robô.

Delahoche [4] propôs um método incremental de

construção de mapas baseado em odometria e na

exploração de ângulos extraídos a partir de uma

imagem omnidirecional. Além disso, a estimativa da

posição atual do robô e a atualização do mapa são

baseadas no uso de um Filtro de Kalman Extendido.

3. Construção do mapa topológico

O método de mapeamento de ambientes proposto

neste trabalho tem como objetivo final construir um

modelo topológico do ambiente explorado pelo robô

móvel do LACE. Para isso, ele utiliza um sistema

sensorial formado por sensores de ultra-som e um

sistema de visão omnidirecional, os quais percebem o

ambiente fornecendo tais dados aos módulos que

compõem o sistema de modelagem.

O procedimento de mapeamento é executado

durante a exploração do ambiente pelo robô. Os dados

lidos pelos sensores são pré-processados por nós CAN

conectados por uma rede de barramento de

comunicação de dados. Este pré-processamento torna os

dados adequados a sua utilização pelo sistema de

navegação do robô, onde se encontra o módulo de

mapeamento.

O sistema de modelagem é composto por três

módulos: classificação, identificação/criação e

caracterização dos nós. A principal tarefa do módulo de

classificação é identificar cada local visitado pelo robô,

classificando-os dentre quatro classes pré-definidas, e

assim criar os nós do mapa junto com suas respectivas

relações de adjacência (arestas).

Uma rede neural estruturada hierarquicamente em

duas camadas, razão e intuição, é utilizada como

principal ferramenta pelo módulo classificador. Sua

estrutura bem como os procedimentos de classificação

serão descritos na Seção 4.

A tarefa de identificação e criação de um novo nó é

executada por um procedimento que recebe a

informação fornecida pelo classificador e cria um novo

nó no mapa. Um procedimento de controle implementa

a tarefa de controle desse processo durante a exploração

além de fazer a interface dos módulos entre si e entre os

dados sensoriais (Figura 1).

Além das tarefas de identificação e classificação

dos nós, faz-se necessário a caracterização dos mesmos,

ou seja, cada nó criado precisa ser identificado no mapa

de maneira única e distinta dos demais nós pertencentes

a mesma classe. Para realizar tal tarefa a proposta é

implementar um sistema de identificação de marcos, os

quais consistem em objetos da cena que são

encontrados de maneira distintiva pelo robô. Desse

modo, cada nó deve ser caracterizado por um marco

tornando-o único e distinto dos demais nós do mapa.

O procedimento de identificação de marcos utiliza

imagens de cada nó identificado durante a exploração,

selecionando nessas imagens alguma região que

70

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 82: III WVC 2007

identifica o respectivo nó. Esta tarefa é implementada

no módulo chamado caracterização dos nós e sua

relação com os demais módulos está esquematizada na

Figura 1. Navegação baseada em marcos está

amplamente difundida na literatura da área e pesquisas

envolvendo tal técnica têm obtido bons resultados [5, 6,

7 e 8].

Figura 1. Diagrama funcional do sistema de mapeamento

3.1. Sistema de visão omnidirecional do robômóvel do LACE

Nesta Seção apresentamos o sistema de visão

omnidirecional embarcado no robô móvel do LACE

utilizado para captura de cenas do ambiente explorado.

A Figura 2 ilustra o procedimento de captura e

processamento da imagem.

As imagens omnidirecionais são capturadas por

uma câmera com seu foco alinhado a um espelho

cônico. Tais imagens são retificadas no módulo de visão

omnidirecional, transformando-a numa imagem

panorâmica da cena. Esta é então pré-processada,

sofrendo um processo de binarização e detecção de

bordas. Esta é a imagem disponibilizada ao sistema de

mapeamento descrito neste trabalho. As Figuras 3 e 4

ilustram exemplos de imagens omnidirecional e

panorâmica, respectivamente.

Figura 2 – Esquema do sistema de visão do robô móvel do LACE

Figura 3. Imagem omnidirecional não pré-processada

Figura 4. Imagem panorâmica obtida a partir de uma imagem omni

4. Estrutura da rede neural hierárquica

Nesta Seção descreve-se a estrutura da rede neural

utilizada pelo módulo de classificação. A rede proposta

é estruturada hierarquicamente em duas camadas

(Figura 5), razão e intuição, e têm a função de

classificar os locais explorados pelo robô dentre quatro

classes pré-definidas: corredor, intersecção, sala e

porta. Para realizar esta tarefa, a rede recebe como

dados de entrada as leituras de sensores de ultra-som e

as imagens panorâmicas disponibilizadas pelo sistema

de visão embarcado no robô.

A rede razão recebe os valores lidos pelos sensores

de ultra-som, os quais medem as distâncias do robô em

relação a objetos. Já a rede intuição recebe como

entrada uma imagem de 50X6 pixels.

Os sonares localizados nas laterais do robô se

movimentam na horizontal enquanto realizam as

leituras das distâncias. Dessa forma, eles fornecem um

vetor de números reais, onde cada número representa a

distância do robô em relação a um objeto, calculada

segundo o ângulo formado entre a respectiva direção de

leitura e a posição central de leitura.

As leituras do sensor dianteiro são executadas

seguindo o mesmo procedimento, exceto pelo fato de

que o mesmo se movimenta também na vertical,

resultando numa matriz de números reais. Isto se faz

necessário para garantir que o robô detecte a altura do

espaço livre à sua frente, evitando possíveis colisões.

Cada neurônio da camada de entrada da primeira

rede recebe a leitura de uma das posições dos vetores e

da matriz. Sendo assim, esta camada tem tantos

neurônios quanto o número de leituras efetuadas pelos

três sensores. Este número é fixo durante a execução do

procedimento, podendo, entretanto, ser alterado.

71

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 83: III WVC 2007

4.1. Treinamento da Rede Neural – Classes deLugares

Para classificar os lugares explorados pelo robô, a

rede precisa ser treinada para adquirir a capacidade de

reconhecer cada uma das quatro classes. Atribui-se,

então, a cada classe, características que a torna distinta

das demais, sendo tais parâmetros levados em

consideração durante a construção do conjunto de

padrões de treinamento da rede.

Durante esta etapa fornece-se à rede neural o

conjunto de padrões de treinamento. Os padrões

fornecidos à primeira camada representam algumas das

características de cada classe modeladas levando-se em

consideração medidas de distâncias do robô em relação

a obstáculos, como, por exemplo, uma parede, enquanto

o conjunto de padrões de treinamento da camada de

intuição é formado pelas imagens disponibilizadas pelo

sistema de visão.

Figura 5. Rede neural hierárquica: classificador dos nós do mapa

A camada da razão aprende a classificar com certo

grau de certeza as classes cujos parâmetros que as

caracterizam são bem definidos e distintos dos demais.

A rede da intuição é treinada com imagens coletadas de

cada classe, sendo ativada sempre que ocorrer algum

tipo de confusão no processo de reconhecimento da

primeira camada.

Uma classe classificada sem qualquer duvida é a

corredor. Os parâmetros estabelecidos para definição

desta classe são bem claros e baseados somente nas

distâncias entre o robô e possíveis obstáculos. Dessa

maneira, a camada razão consegue reconhecer esta

classe com base nas leituras dos sonares. O contrário

acontece no reconhecimento da classe porta.

O padrão de uma porta e um corredor estreito

identificado pelos sonares das laterais do robô pode

resultar em possíveis confusões de reconhecimento.

Neste momento ocorre a confusão durante a

classificação realizada pela rede razão. Nesta situação,

esta rede é treinada para ativar um neurônio da saída, o

qual é o neurônio excitador da rede intuição. Neste

momento a segunda rede entra em execução e classifica

seu padrão de entrada, ou seja, a imagem do local a ser

classificado pelo robô. Dessa maneira, a rede intuição é

treinada com imagens de portas e corredores estreitos

com o objetivo de aprender a distingui-los, resolvendo

assim possíveis confusões de classificação.

O fato descrito no parágrafo anterior é o que

justifica a criação de uma rede neural hierárquica com a

função de classificar locais explorados pelo robô móvel.

A classe intersecção é definida como um local

onde o robô pode eventualmente alterar a direção do seu

percurso. Ela deve ser mapeada sempre que existir o

encontro entre dois ou mais corredores. Sendo assim, a

rede deve primeiramente reconhecer a classe corredor

para assim concluir a a existência de uma intersecção.

Após a etapa de treinamento a rede é submetida a

uma etapa de validação, onde um conjunto maior e

diferente de padrões é apresentado a ela. O objetivo é

validar a etapa anterior. Nesta fase calculamos também

uma curva representativa da taxa de erro do algoritmo

de aprendizagem. Após a validação, ambas as camadas

foram então testadas e os resultados obtidos estão

descritos na Seção 5.

5. Resultados Experimentais

Nesta Seção apresentamos o resultado obtido

durante a etapa de testes de ambas as camadas da rede:

razão e intuição. Nesta fase, um conjunto de padrões

diferentes dos utilizados nas fases anteriores é

apresentado às redes com o objetivo de se testar o

desempenho de sua classificação.

Para criar as duas camadas da rede neural

utilizamos o simulador de redes neurais SNNS

(Stuttgart Neural Network Simulator) [9], o qual

também fornece suporte para as etapas de treinamento,

validação e teste.

A rede razão criada possui 35 neurônios em sua

camada de entrada. Os cinco primeiros neurônios

representam o vetor de leitura do sonar direito, os cinco

seguintes o vetor de leitura do sonar esquerdo e os vinte

e cinco neurônios restantes a matriz de leitura do sonar

dianteiro. Sua camada de saída possui quatro neurônios,

sendo os três primeiros relativos às classes intersecção,

sala e corredor, e o último atua como neurônio

excitador da rede intuição.

A segunda rede possui uma camada de entrada com

300 neurônios, cada um dos quais recebe o valor

armazenado em um dos pixels da imagem de 50 X 6 de

resolução. Sua camada de saída possui dois neurônios

relativos às classes corredor e porta.

A Figura 6 ilustra o estado da rede razão após seu

treinamento, em virtude da entrada de um padrão

modelando um local com obstáculos do lado esquerdo

(neurônios 6, 7, 8, 9 e 10), espaço livre a frente

(neurônios de 11 a 35) e uma abertura estreita do lado

direito (neurônios 2 e 3). O padrão ilustrado pertence ao

conjunto de treinamento, e foi utilizado com o objetivo

de capacitar a rede a reconhecer aberturas estreitas do

lado direito do robô. Padrões com estas características

devem ativar o quarto neurônio da camada de saída

(neurônio 39), indicando a possibilidade de existência

72

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 84: III WVC 2007

de uma porta ou um corredor estreito. Neste caso, como

descrito na Seção 4, a rede intuição é ativada para

resolver tal conflito.

Figura 6. Exemplo do estado da rede da razão apóstreinamento

Após o treinamento a rede foi validada. Nesta fase

um conjunto de padrões de treinamento e um conjunto

de padrões diferentes destes foram submetidos à rede. A

avaliação do desempenho da rede foi feita analisando se

o neurônio de saída correspondente ao padrão de

entrada foi ativado e também o valor de ativação deste

neurônio. Quanto maior for seu valor de ativação dentro

de um intervalo de 0 a 1, mais precisa é a classificação

da rede.

Na Figura 7, por exemplo, simula-se o estado da

rede em virtude da entrada de um padrão modelando um

local com uma abertura estreita do lado direito do robô.

Padrão este não utilizado no treinamento da rede. O

resultado esperado é a ativação do neurônio 39. De

acordo com a figura, conclui-se que tal resultado foi

obtido com precisão, já que o valor de ativação de tal

neurônio está muito próximo de um (0.992).

Figura 7 – Estado da rede razão em virtude da entrada de um padrão durante etapa de validação

A fase de teste da rede razão consistiu na

submissão de padrões criados aleatoriamente, com o

objetivo de se avaliar sua capacidade de classificação

frente a entradas desconhecidas. O resultado obtido foi

muito bom para todos os padrões apresentados à rede.

Como exemplos apresenta-se as Figuras 8 e 9, onde a

classe intersecção e a camada de intuição são ativadas

corretamente.

Figura 8. Exemplo do estado da rede da razãodurante etapa de testes – classe

intersecção

Figura 9 - Exemplo do estado da rede da razãodurante etapa de testes – abertura lateral direita: ativação

da rede intuição

A rede intuição, também criada utilizando-se a

ferramenta SNNS, obteve sucesso em sua etapa de

treinamento, haja vista os resultados obtidos nas etapas

de validação e teste da rede.

As Figuras 10 e 11 ilustram padrões representando

uma imagem de uma porta e um corredor,

respectivamente, submetidos à rede durante a etapa de

validação, com o objetivo de validar a etapa de

treinamento. De acordo com as entradas o primeiro e o

segundo neurônio da saída das Figuras 10 e 11,

respectivamente, devem ser ativados, o que acontece

corretamente.

Figura 10 - Exemplo do estado da rede intuiçãodurante etapa de validação – imagem de uma porta

Figura 11- Exemplo do estado da rede intuiçãodurante etapa de validação – imagem de um corredor

Durante a etapa de testes foram apresentados à rede

imagens de portas e corredores também utilizadas

73

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 85: III WVC 2007

durante as etapas anteriores, coletadas, contudo, sob

pontos de vistas diferentes. Além disso, a rede recebeu

como entrada imagens inéditas de portas e corredores,

ou seja, imagens completamente desconhecidas pela

rede intuição. Tal procedimento testou a capacidade de

generalização desta camada.

Em ambos os tipos de testes a rede obteve bons

resultados na classificação, o que pode ser comprovado

através das Figuras 12 e 13. Na primeira figura temos

como entrada a imagem de um corredor já conhecido da

rede, visto, contudo, sob um ponto de vista diferente. O

segundo neurônio da saída foi ativado corretamente,

assumindo um alto valor de ativação (0.99984). A

Figura 13 ilustra a classificação de uma porta

desconhecida da rede, ou seja, um padrão nunca antes

apresentado à mesma. A classificação é feita

corretamente e com uma ótima precisão, tendo em vista

o valor de ativação alcançado pelo neurônio de saída

(0.98807).

Figura 12 - Exemplo do estado da rede intuição durante etapa de testes – imagem de um corredor

Figura 13 - Exemplo do estado da rede intuição durante etapa de testes – imagem de uma porta desconhecida da

rede

6. Conclusões

Este trabalho propõe uma técnica de modelagem de

ambientes para navegação do robô móvel do

Laboratório de Automação e Controle Evolutivo –

LACE, a qual utiliza um sistema de visão

omnidirecional e sensores de ultra-som para adquirir

informações do meio externo e fornecê-las ao sistema

de mapeamento. O sistema descrito é composto por três

módulos, sendo descrito neste trabalho o módulo

responsável pela classificação dos nós do mapa dentre

quatro classes pré-definidas: intersecção, sala, corredor

e porta.

O módulo classificador usa como principal

ferramenta uma rede neural hierárquica formada por

duas camadas: razão e intuição. Ambas as camadas

foram construídas utilizando-se a ferramenta SNNS. Os

resultados obtidos a partir da simulação da camada

razão se mostraram satisfatórios e passíveis de serem

implementados no sistema de mapeamento real do robô

móvel do LACE.

Os resultados obtidos nos testes da camada intuição

foram igualmente satisfatórios, alcançando o objetivo

para o qual ela foi criada: resolver possíveis confusões

no processo de classificação da primeira camada.

A próxima etapa do trabalho contempla a

implementação do módulo de caracterização dos nós

baseado em técnicas de criação e reconhecimento de

marcos artificiais inseridos no ambiente.

Referências Bibliográficas

[1] B. J. Kuipers, Y. T. Byun, “A robot exploration and

mapping strategy based on a semantic hierarchy of

spatial representations”, Robotics and Autonomous

Systems, Vol. 8, 1991, pp. 47–63.

[2] Y. Matsumoto, K. Ikeda, M. Inaba, H. Inoue, Visual

“Navigation using omnidirectional view sequence”.

Proceeding of the IEEE International Conference

on Intelligent Robots and Systems, 1999, pp. 317-

322.

[3] B. Zitová, J. Flusser, “Landmark recognition using

invariant features”. Pattern Recognition Letters,

Vol. 20, 1999, pp. 541 – 547.

[4] L. Delahoche, C. Pegard, E. M. Mouaddid, P.

Vasseur, “Incremental map building for mobile

robot navigation in an indoor environment”, Proc.

IEEE International Conference on Robotics and

Automation, 1998, pp. 2560 – 2565.

[5] S. Marsland, U. Nehmzow, T. Duckett,

“Learning to select distinctive landmarks for

mobile robot navigation”, Robotics and

Autonomous Systems, Vol. 37, 2001, pp. 241 –

260.

[6] A. Arsênio, M. I. Ribeiro, “Absolute localization of

mobile robots using natural landmarks”, IEEE

International Confgerence on Eletronics, Circuits

and Systems, Vol 2, 1998, pp. 483 – 486.

[7] M. Betke, L. Gurvits, “Mobile Robot Lcalization

Using Landmarks”, IEEE Transactions on Robotics

and Automation, Vol. 13, 1997.

[8] S. Se, D. Lowe, J. Little, “Mobile Robot

Localization and Mapping with Uncertainty usingScale-Invariant Visual Landmarks”, The

International Journal of Robotics Research, Vol.

21, 2002, pp. 735 – 758.

[9] A Zell et al., SNNS Stuttgart Neural Network

Simulator User Manual, Version 4.2, Disponível

em

http://www.ra.informatik.unituebingen.de/downloa

ds/SNNS/SNNSv4.2.Manual.pdf Acesso: 10 de

abril de 2007.

74

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 86: III WVC 2007

Active contours applied to image based modelling techniques.

KATIA LUCIENE SCORSOLINI ALEXANDRE

JOAO DO E.S. BATISTA NETO

Laboratorio de Computacao de Alto Desempenho - LCADInstituto de Ciencias Matematicas e de Computacao (ICMC) - USP

Av. do Trabalhador Sao-Carlense, 400 - Centro - Cx. Postal 668Sao Carlos - Sao Paulo - Brasil CEP 13560-970

AbstractImage based modelling techniques have re-

ceived considerable attention from the computervision community due to its potential to create re-alistic scenes from some bi-dimensional images.However, the quality of the models generated bythe currently available tools is highly dependenton input provided by the user and are heavily in-teractive as they require users to manually selectand position the most appropriate contour aroundthe object of interest. This work proposes an aidtool designed to automatically find and positiona contour of a scene object by using active con-tour techniques, so as to increase the accuracy ofthe image based modelling techniques. With thisapproach, simple geometric figures, such as pyra-mids and cubes, could be reconstructed after thevertex coordinates computation.

Keywords Image based modelling, active con-tours, GVF.

1. Introduction

The transformation of real scenes into a three-dimensional computer model from pictures is denomi-nated Image Based Modelling - IBM). As presented byOliveira [5], there are several techniques to this kind ofmodelling in the literature whose goal is to extract in-formation from a set of images and then to reconstructa scene under investigation. This information is com-posed by vertex, lines and/or curves that, ideally, could beextracted automatically, using image segmentation tech-niques.

However, in currently available tools, such as Canoma[7], we can see a very interactive and strongly user-

dependent process, which includes manual wired framesselection and positioning.

This work proposes a method which automatically findsprecise contours of objects, given an initial rough closedcurve, drawn in the proximities of the object of interest.This process is accomplished by an active contour tech-nique called Gradient Vector Flow (GVF) [9]. We expectthat an automatic process will be capable of providing ahigher quality contour, as opposed to that manually pro-duced and, hence, improve the precision of the model. Aswe are reconstructing three-dimensional objects projectedin a bi-dimensional surface, geometry information will beused to compute the vanishing points and, then, locate thevertex of the object.

This paper is organized as follows: section 2 describesthe GVF active contours approach, specially the GVF tech-nique. In section 3 the methodology adopted in this workwill be presented. In section 4 some results and a compari-son with Hough Transforms will be shown. Finally, in sec-tion 5, some conclusions are drawn.

2. Active contours

The active contour model, first proposed by Kass in 1987[3], is an image segmentation method that combines bothregion and edge information, to produce a precise contourof an object. This contour can be further used to describethe shape of such objects.

In parametric active contour model, also called snakes,the initial curve, specified by the user, can be modelled by afunction, called the snake energy function, which takes intoaccount internal forces within the curve itself, such as elas-ticity and rigidity, and external forces derived from the im-age, such as pressure forces [4, 6]. The final snake curve isattained by seeking the minimization of the following en-ergy equation:

75

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 87: III WVC 2007

E =

∫1

0

1

2(α| v′(s) |2 +β| v′′(s) |2)+Eext(v(s))ds (1)

The first term of the equation 1 represents the snake in-ternal energy. α and β are weighing parameters that controlthe tension and rigidity of the snake, respectively. The first-order derivative of v(s), controlled by α, makes the snakeact like a thin membrane while the second-order derivativeof v(s) makes it act like a thin plate, developing cornerswhen β is zero.

The second term, Eext, is a property of the image andrepresents the external energy, the energy that attracts thesnake towards edges present in the image. It takes on itssmallest values at boundaries (edges). Consequently, it mustproduce lower values where the gradient is higher. Hence,given a gray level image, the external energy can be ob-tained with any high-pass filter.

When any change in the curve increases the energyvalue, as opposed to a drop in successive iterations in theenergy equation, the snake is considered stabilized and itsshape is no longer modified.

The Gradient Vector Flow model (GVF) [9] creates anew static force field whose strength is inversely relatedwith distance to the object boundary: the stronger the field,the shorter the distance to the border. Over homogeneousregions, the force field varies smoothly, always pointing to-wards the image border.

The GVF algorithm is computed as a diffusion of the gra-dient vectors of a gray-level or binary edge map f(x, y) de-rived from the image [8] and it does not change during thesnake expansion or contraction process.

Setting the parameter µ according to the amount of noisepresent in the image, the GVF is defined as the vector fieldv(x, y) = [u(x, y), v(x, y)] that minimizes the followingequation:

E =

∫ ∫µ(u2

x+u2

y+v2

x+v2

y)+|∇f |2|v−∇f |2dxdy (2)

For small values of ∇, the energy is dictated by the sumof the squares of the partial derivatives of the vector field.This causes the field vector to vary slowly within homoge-neous regions of the image through the GVF field interpo-lation near border regions.

The GVF field is then normalized and the snake defor-mation process can now begin, so the initial curve will beadjusted to object contour, so that:

x = inv(A) ∗ (γ ∗ x + κ ∗ vfx) (3)

y = inv(A) ∗ (γ ∗ y + κ ∗ vfy) (4)

Figure 1. Contour and vertex computation: a)user-defined initial contour, b) object contouridentified by active contours techniques, andc) vertex computation.

where A is a penta-diagonal matrix formed by α (ten-sion), β (rigidity), γ (viscosity), and κ (external forceweights) parameters, according to [8], whose trans-pose can be computed by LU decomposition.

3. Description of the method

This section describes an automatic mechanism to graph-ical primitives positioning over objects in a scene. Its objec-tive is to increase the precision and to minimize user inter-action on image based modelling tools.

This is a two-fold process, as illustrated in figure 1.The first step consists in the object contour identificationthrough the GVF model. From the identified contour andknowledge on the object’s geometric shape, the second stepis triggered. Its purpose is to locate all the vertex of the ob-ject which are of fundamental importance to the underlyingimage based modeling techniques.

3.1. Contour identification

The contour identification starts by computing a newGVF force field from an edge map. This force field is thennormalized so that it can be used in the curve deformationprocess.

The edge map can be generated by any high pass fil-ter over the original image. The Sobel, Laplacian, and Inte-grated Directional Derivative Gradient [10] filters have beenimplemented and used in the experiments.

At this point, user interaction is still necessary. He or shemust define a minimum of three points that will form a ini-tial closed contour. As the closed contour is deformed, in-terpolation is carried out to give a more realistic representa-tion of the final contour as the curve expands or contracts.

At the end of the snake deformation process, providedthe curve has correctly converged to the object’s real bound-ary, the coordinates of the final contour will be stored in adata structure for further processing. To correctly computethe vertexes both curve points and the edge map are used.This process will be explained in the following section.

76

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 88: III WVC 2007

3.2. Vertexes detection

The vertexes detection process can be divided into twosteps. First, the visible vertexes, or the vertexes located inthe visible portion of the object are computed. We must re-call that the objects under investigation are 2-D projectionsof real 3D objects, which are likely to possess hidden ver-texes. From visible vertexes coordinates and knowledge onthe object geometry, coordinates of hidden vertexes can beestimated. Both processes are described below.

Visible vertexes calculation

The aim here is to compute as many visible vertexes aspossible using the contour coordinates and the edge map.

Notice that at this stage the snake itself represents the ob-ject’s external points only. To compute the remaining (inter-nal) points that belong to the object we take the coordinatesof the snake (the contour of the object) and their respec-tive values in the edge map. We then calculate the mean andstandard deviation from these points which will guide theprocess that identifies the internal points. Initially, all con-tour points are potentially candidate vertexes and each onewill be tested as explained next.

An identification process is carried for every candidatevertex. This process requires three parameters be defined:1) points sample - defines the number consecutive coordi-nates that will be taken; 2) angular variation - defines theangle resolution to search for each candidate vertex; and 3)point correspondence percentage - defines the number ofcoordinates of a given sample that must satisfy the condi-tion of belonging to the interval computed from the meanvalue of the edge map for the contour of the object.

These parameters vary according to the object geome-try, the angles and proportions. A satisfactory result will de-pend on an adequate analysis and parameter adjustment foreach type of object geometry.

The example illustrated in figure 2a, shows the vertex se-lection process for a 10-point sample parameter number (1).Keeping the candidate vertex as the first element, the vec-tor is rotated 360o anti clock-wise from the origin (x axis)according to the angle variation provided which, in this ex-ample, is 15o (figure 2b).

By rotating the 10-point vector around the candidate ver-tex, according to the angular resolution (parameter 2) weare searching for lines segments that belong to the object(in this case a cube) whose origin is this candidate point.For this to happen the values of these 10-point sample rela-tive in the edge map also must belong to the interval (mean-standard deviation) previously calculated.

When a line segment is found, the angle related to theorigin is stored. It is important to observe that the anglewhose complement has already been stored will not be con-

(a)

(b)

Figure 2. Candidate vertex selection processto: a) a 10 points sample, and b) an angle vari-ation of 15o.

sidered. When the rotation ends, if the candidate vertex hasmore than one non-consecutive angle stored, it is then clas-sified as a vertex of the object.

Having calculated all visible vertices after scanning theentire edge map, we may proceed with the hidden vertexcomputation.

Hidden vertexes calculation

In order to begin this task, an extra knowledge on the ob-ject geometry is necessary. Knowing the actual object num-ber of vertexes, we know how many vertexes have not yetbeen identified. The geometric shapes available: cube, trian-gular base pyramid, and quadrangular base pyramid, werebased on the objects present in Canoma interface.

From the mean values computed from the contour pointsand the edge map, as previously explained, line segmentsthat connect each visible pair of vertexes are searched. Atthis point, an adjacent list is created, which is a model of aconnected non-directional graph where the nodes representthe vertexes of the object and each edge represents an ob-ject’s edge. This graph has vertexes of degree 1 or 2 (whichhave less than three connections), and vertexes of degree 3or above (which have three or more adjacencies).

Given that a set of parallel lines in a three-dimensional

77

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 89: III WVC 2007

Figure 3. Vertexes projections in the vanish-ing point and hidden vertex calculation.

space converges to an unique point in the image plan,called vanishing point [1], we can compute these coordi-nates through the line equation and the opposite edges’s in-clination relation.

To calculate the vanishing points only vertexes with de-gree 3 or higher are considered, since those are the pointsfrom which we can find line segments in three different di-rections. As the three coordinates axes are considered, morethan one vanishing point (finite or infinite) will be found, u,v (figure 3a).

Vertexes of degree 2 or below have not been included inthe calculation, and are connected to the computed vanish-ing points, creating the line segments illustrated in figure3b.

Finally, the intersections between these line segmentsrepresent the object hidden vertexes in the scene (figure 3c).As can be seen, the hidden vertexes will be connected to thevertexes of degree 2 or below.

To compute vertexes for an hexahedron, the same proce-dure used to the cube can be applied, as the vanishing pointcalculation is the same for both geometric objects, that is,by extending the edges, they will find one another in a com-mon point, and this point does not belong to the object.

Nevertheless a pyramid does not exhibit the same behav-ior, as its vanishing point is represented by one of its ver-texes. As the vanishing points found in figure 4a and 4bmatch with the pyramid vertexes classified as vertexes ofdegree 3 or above, we must define which of these two ver-texes is the main vertex. A distance-based criterion has thenbe defined. The vertexes of degree 3 or above (vertexes 1 or3, as shown in figure 4) further away from the vertexes ofdegree below 3 (vertexes 2 or 4) will be chosen. Based onthis definition, the main vertex of pyramid illustrated in fig-ure 4 is the vertex 1.

If the user chooses to reconstruct a triangular base pyra-mid, the vertexes 2 and 4 (vertexes of degree 2 or below)

(a) (b)

Figure 4. Pyramid vanishing point calcula-tion.

(a) (b)

Figure 5. Reconstruction of a pyramid of a)triangular base, and b) quadrangular base.

will be connected to each other, creating, thus, a three-dimensional model of the object (figure 5a).

However, if the user wishes to reconstruct a quadrangu-lar base pyramid the vectors that form the pyramid base (−→32e −→

34) are added, and the hidden vertex 5 is found, as illus-trated in figure 5b.

4. Results

As presented in section 2, the snake active contour modelis highly parameterized. Although the detection contourprocedure is automatic, it is necessary to introduce someimplicit and explicit parameters. The first one is relatedto the developed method: interpolation factor and numberof iterations for the GVF curve deformation. The explicitparameters are inherent to the snake itself: alpha, beta,gamma, kappa, and mu that represent, respectively, elastic-ity, rigidity, viscosity, external force weight, and the amountof noise in the image. Finally, another set of parameters isrelated to the vertexes identification: angle variation, pointssample, correspondence points, and geometric shape of theobject. This section will present some results obtained with

78

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 90: III WVC 2007

the developed technique. For each example shown the val-ues of the parameters used will be given.

Figure 6a represents a binary image of a pyramid. Fig-ures 6c and 6d illustrates different convergences of the ini-tial contour (figure 6b) when the value of the alpha param-eter varies. This parameter controls the snake elasticity. Ahigher value (figure 6d) prevented the contour from expand-ing, while beta should be set to zero, as a higher value wouldprevent the snake from finding the sharp edge of the object.

Once the desired contour is found, the vertexes identifi-cation for a quadrangular base pyramid is carried out. Theresulting contours and vertexes, as well the parameters usedin this experiment are illustrated in figures 6e and 6f.

Notice that in the example illustrated above an anglevariation of 11o has been employed. A higher value wouldprobably not be adequate in the identification of all its fourvisible vertexes.

This technique, as well as being applied on binary im-ages, can also be applied on gray scale images, as shownin figure 7, where a high-pass filter has been used to com-pute the the edge map.

To illustrate the benefits of the proposed method, we per-formed a similar experiment with Hough transform tech-nique [2], which is a traditional mechanism for line detec-tion.

Figure 8 illustrates the Hough Transform applied to theoriginal cube of figure 7a. Figure 8b represents the binaryimage of the original cube, while figures 8c, 8d, and 8e are,respectively, the Hough transform results for line segmentswith pixels quantities (threshold in Hough space) equal to5, 20, and 30.

Although they have not been shown in the images, thevertexes can be easily calculated with the Hough transformtechnique, once each point in the Hough space represents aline. To calculate a vertex coordinate, the computation of theintersection points for each pair of lines would suffice. Thedifficulty, however, is to accurately define which, among allthe computed vertexes, truly belong to the cube. The diffi-culty in defining the correct vertex increases with the thresh-old in Hough space. Although it can be trivial to find line in-tersections (possible vertexes) there is no clear indication ofwhich points actually are the real vertexes of the object.

5. Conclusions

By applying the active contour concept, this paper hasproposed an automatic edge and vertexes detection schemeto some geometric shapes that can be an aid device for im-age based modelling tools, such as Canoma.

A survey on image-based modelling tools has been madeand no such functionality as that proposed in this article hasbeen found. This new approach turned out to be rather func-tional, specially for simple shape primitives such as cubes

and pyramids. This is due to fact that the mechanism pre-sented embodies geometric information of the object andthe ability of the GVF snake to correctly converge to theoriginal object contour.

Although the methodology is highly parameterized, wecan identify an adequate set of values to this parameters, ac-cording to the image type, so that the performance is satis-factory.

Tests have also been carried out with Hough transform,but the results found were worst than those obtained withthe method proposed in this paper. Although the Houghtransform is an elegant line detection mechanism, no geo-metrical information on the object is provided. On the otherhand, in the method proposed such information comes fromthe edge map, needed to compute the snake.

We must point out that this is not primarily a segmen-tation tool capable of finding occluded objects. We assumethat the scene is composed of a single object with little noisybackground. However, this work can be extended to includea pre-processing process tha could be used to segment morecomplex scenes.

References

[1] V. Cantoni, L. Lombardi, M. Porta, and N. Sicard. Van-ishing point detection: Representation analysis and new ap-proaches. In Proceedings of the IEEE International Confer-ence on Image Analysis and Processing, volume 11, pages90–94, 2001.

[2] P. V. C. Hough. A method and means for recognition com-plex patterns. US Patent, 1962.

[3] M. Kass, A. Witkin, and D. Terzopoulos. Snakes: Activecontour models. International Journal of Computer Vision,1(4):321–331, 1987.

[4] A. C. C. Machado, L. R. Galvo, T. A. Vanderlei, and W. Y. R.Santos. Uma ferramenta de extrao de bordas utilizando t-snakes. Revista Eletrnica de Iniciao Cientfica, 2002.

[5] M. Oliveira. Image-based modeling and rendering tech-niques: a survey. RITA - Revista de informtica terica e apli-cada, (2):37–66, 2002.

[6] B. S. Pimentel. Segmentao de imagens mdicas uti-lizando modelos de active contours. Avaiable in:¡http://www.lrvpa.dcc.ufmg.br/vision/snake/artigo.htm¿,Laboratrio de Viso Computacional e Robtica. Acessed in:10/08/05, 2000.

[7] L. Stevens. Canoma - Manual do usurio. MetaCreationsCorp., 6303 Carpinteria Avenue, Carpinteria, CA 93013,1999.

[8] C. Xu and J. L. Prince. Gradient vector flow: A new exter-nal force for snakes. In IEEE Proc. Conf. Comp. Vis. Patt.Recog. (CVPR), pages 66–71, 1997.

[9] C. Xu and J. L. Prince. Snakes, shapes, and gradient vectorflow. IEEE Transaction on Image Processing, 7(3):359–369,March 1998.

[10] O. A. Zuniga and R. M. Haralick. Integrated directionalderivative gradient operator. 17:508–517, 1987.

79

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 91: III WVC 2007

Figure 6. a) Original image (87x94); b) initial contour defined by the user and resulting snake in c) af-ter 6 iterations and in d) after 4 iterations. The visible vertexes are detected in e); in f) the localizationof hidden vertexes to a quadrangular base pyramid.

Figure 7. a) Initial contour defined by the user in the original image (160x150); b) parameters usedin contour detection; c) snake final position; d) parameters used in visible vertexes detection of theobject; e) visible vertexes detected by the tool; f) 1 and 2 degree vertexes projected in vanishingpoints A and B and g) hidden vertexes identification.

a) b) c) d)

Figure 8. a) Original image, b) binary image of the original cube; Hough Transform with b) threshold5; c) threshold 20; and d) threshold 30.

80

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 92: III WVC 2007

Algoritmo genético para criação de mapas de disparidade estéreo

Gustavo Teodoro LaureanoUniversidade Estadual de São Paulo - USP

Escola de Engenharia de São Carlos - EESCLaboratório de Visão Computacional - LAVI

[email protected]

Maria Stela Veludo de PaivaUniversidade Estadual de São Paulo - USP

Escola de Engenharia de São Carlos - EESCLaboratório de Visão Computacional - LAVI

[email protected]

Resumo

Visão estéreo já é pesquisada por um longo tempo etrata-se de uma das áreas mais complexas de Visão Com-putacional. Ela aborda as estratégias de recuperação da in-formação tridimensional de uma cena comparando duas oumais imagens da mesma, capturadas a partir de pontos devista diferentes. Essa comparação permite criar o mapa dediferenças entre as imagens, evidenciando as característi-cas tridimensionais do ambiente. Este trabalho tem o obje-tivo de identificar a informação tridimensional de um am-biente aplicando algoritmo genético como um método debusca de superfícies de disparidades da cena.

1. Introdução

Visão Estéreo é um importante segmento de Visão Com-putacional e tem como objetivo principal a identificação dasinformações tridimensionais de uma cena. Ela é consoli-dada sobre o fato de que um dado ponto físico no mundotridimensional, caso possa ser visualizado a partir de pelomenos dois pontos de vista diferentes, pode ser estimadasua distância relativa ao sistema de observação. A Figura 1ilustra um sistema de observação estéreo binocular.

Os planos Πe e Πd são as representações geométricas deduas câmeras coplanares. O ponto P possui projeções pe

e pd com coordenadas (ue, ve) e (ud, vd) respectivamente.A diferença entre essas coordenadas é chamada de dispari-dade e a profundidade z em que se encontra o ponto P podeser determinada pela Equação 1 [5]

z = b · f

|xe − xd| (1)

onde |xe−xd| é a disparidade, b a distância entre os cen-tros focais das câmeras e f a distância focal. O conjuntodas disparidades relacionadas com cada pixel é chamado demapa de disparidades e representam as profundidades cenacompleta.

Figura 1. Sistema Binocular Estéreo

A grande dificuldade enfrentada em visão estéreo é aidentificação das reais projeções de mesmo ponto físico.Esse impasse é conhecido como Problema de Correspon-dência Estéreo. Em imagens reais nem sempre é possíveldistinguir os pontos com facilidade. A simples comparaçãoponto a ponto não é a estratégia mais inteligente. Para facili-tar essa distinção, assume-se que a disparidade de um pontoé semelhante à disparidade de seus vizinhos e o processo decorrespondência é feito entre regiões da imagem. Por outrolado, a mudança de perspectiva aliada às variações de ilu-minação e oclusões de parte dos pontos faz do processo decorrespondência um problema mal condicionado.

Considerando que as informações disponíveis são osníveis de cinza dos pixels que compõem os planos de ima-gem, a escolha dos pares de projeções é determinada porum custo de similaridade entre elas. Naturalmente, devidoà mudança de perspectiva de uma câmera para a outra, asprojeções do mesmo ponto tendem ser diferentes porém,para valores pequenos de b, essa diferença tende a ser mí-nima [5]. Definindo um dos planos como a imagem de re-

81

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 93: III WVC 2007

ferência e o outro como a imagem alvo, para cada pontode referência a busca por seu correspondente é feita so-bre a região definida por sua linha epipolar [1, 6]. O co-nhecimento prévio da geometria epipolar do sistema de ob-servação permite definir com segurança a região que certa-mente a segunda projeção está localizada, o que reduz dras-ticamente o espaço de busca. Para uma configuração des-conhecida das câmeras, as projeções podem estar em qual-quer lugar da imagem e a busca por correspondências é feitanas duas dimensões. As linhas epipolares restringem o es-paço de busca transformando-o em uma busca unidimen-sional. Na Figura 1, as linhas epipolares são representadaspelas retas ee e ed.

Mesmo adotando a restrição do espaço de busca, aindaexistem vários candidatos à correspondência, o que geramuita ambigüidade na determinação das projeções reais.Grande parte dos trabalhos na área é formulada sobre aconstrução de métricas de similaridade e algoritmos para aminimização dessas ambigüidades. Trabalhos como [7, 10]adotam o conceito qualitativo dos conjuntos fuzzy para trataras ambigüidades das correspondências, mas fazem umaanálise estritamente local das regiões das imagens. [2, 9, 11]propõem uma otimização global das disparidades aplicandotécnicas de programação dinâmica na otimização de cami-nhos dentro do espaço de disparidades da imagem, mas aotimização é realizada somente linha a linha.

Neste trabalho, o principal objetivo é a criação de mapasde disparidade estéreo considerando características globaisà imagem. Para isso foi aplicado algoritmo genético paraa otimização de superfícies de disparidades dentro do Es-paço de Disparidade da Imagem (EDI). As próximas seçõesmostram como se deu o desenvolvimento do algoritmogenético bem como o cálculo do EDI a partir de imagensestéreo.

2. Espaço de Disparidades da Imagem

Antes de imergir diretamente nesse assunto, é necessáriodefinir qual métrica de correspondência deve ser usada paracalcular a similaridade entre as regiões das imagens. Umadas métricas mais adotadas é a Correlação Cruzada Nor-malizada (CCN) por possuir maior robustez na presença devariação de luminosidade [4]. Por outro lado, essa métricatem a desvantagem de apresentar alto custo computacional.O Erro Quadrático Médio (EQM), apesar de ser mais sen-sível ao ruído e às distorções provocadas pela mudança deperspectiva, apresenta menor custo computacional. No ar-tigo [8] é possível encontrar um estudo comparativo en-tre essas e outras métricas de similaridade usadas em visãoestéreo. Neste trabalho foi usado a Soma dos Quadradosdas Diferenças (SQD) por apresentar baixo custo computa-cional e também por ser uma das métricas mais utilizadasnos trabalhos relacionados.

Fazendo Wr a janela de referência centralizada no pixelde coordenadas (x, y) e Wa a janela alvo, ambas com di-mensões (2n+1×2n+1), sendo n a quantidade de vizinhosconsiderados, a equação de similaridade entre as regiões édada pela equação 2.

EDI(x, y, d) =n∑

i,j=−n

(Wr(x+i, y+j)−Wa(x+i+d, y+j))2

(2)Esse processo resulta em uma matriz tridimensional

EDI chamada de Espaço de Disparidade da Imagem. Estamatriz mapeia o custo de similaridade de cada dispari-dade para o pixel de referência no espaço (x, y, d), onde dé o deslocamento que varia entre [−w,+w], ver Figura 2.

Figura 2. Representação do EDI

Em um sistema estéreo coplanar, os pontos físicos pos-suem somente o deslocamento horizontal nos planos deimagem, sendo assim, tomando a imagem Πd como a ima-gem de referência, o deslocamento presente na imagem Πe

possui o único sentido que vai da esquerda para a direita.Para efeito de evitar computações desnecessárias, o deslo-camento adotado foi d = [0; +w]. A Figura 3 ilustra comoé construído o espaço de disparidades.

3. Algoritmo Genético

Introduzido por John Holland em 1975 [3], os algorit-mos genéticos (AG) foram inspirados no sistema natural deevolução das espécies proposto por Charles Darwin e pelagenética Mendeliana. De uma maneira geral AGs procu-ram simular os princípios básicos da evolução. Como nanatureza, AGs possuem as seguintes estruturas hierárquicasevolucionárias [12]: População, Indivíduos, Cromossomose Genes. De forma que o nível mais alto da pirâmide é com-posta por conjuntos dos níveis mais baixos.

Normalmente usados para aplicações de otimização, deuma forma mais técnica, os AGs fazem parte de um con-junto sistemas inteligentes adaptativos. Cada indivíduo re-

82

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 94: III WVC 2007

(a) Imagem de referência (b) Imagem alvo

Figura 3. Exemplo de processo de correspondência

presenta uma possível solução para o problema em questão.Cada indivíduo é composto por cromossomos que, por suavez, estão relacionados com seu comportamento ou comsuas propriedades. Os melhores indivíduos são ditos osmais adaptados, e correspondem àqueles que representama melhor solução perante toda a população. Na abordagemevolucionária, os mais adaptados ao meio possuem maiorprobabilidade de transmitir seus genes para a próxima gera-ção.

Após o cruzamento entre os indivíduos, os filhos sãocompostos pelos genes de seus pais e formam a nova ge-ração de potenciais soluções. O cruzamento é fundamen-tado sobre a possibilidade de que os filhos possam herdaros melhores genes de seus pais e então estar melhor adap-tado (evoluído) perante a população passada.

O problema de correspondência estéreo pode ser mode-lado como uma problema de otimização de forma que

Πd(x, y) − Πe(x + d, y) = 0 (3)

O significado da variável de disparidade d pode ser inter-pretado como o ajuste de coordenadas que indexam as pro-jeções do mesmo ponto em ambos os planos de imagem,sendo (x, y) para Πd e (x + d, y) para Πe.

A construção de mapas de disparidades fiéis às carac-terísticas tridimensionais do ambiente exigem que a grandemaioria dos pontos sejam correlacionados com precisão.Cada correspondência possui um custo que está presentedentro do EDI. Os indivíduos representam, cada um, os ma-pas de disparidades em potencial. O melhor mapa de dis-paridade é aquele onde o deslocamento adotado leva aocusto mínimo de similaridade. Além disso, para preservara continuidade das superfícies da cena, os valores vizinhosde disparidades devem diferenciar-se suavemente.

3.1. Representação dos indivíduos

Cada indivíduo k é montado como uma matriz de mesmadimensão das imagens estéreo. O valor associado às coorde-nadas (x, y) representa a disparidade do ponto na imagemde referência.

Πd(x, y) − Πe(x + Ik(x, y), y) = 0 (4)

3.2. Avaliação dos Indivíduos

Essa etapa do AG consiste em relacionar a cada indiví-duo um valor de Fitness1 que mede o quanto ele está adap-tado ao ambiente.

Neste trabalho é considerado dois tipos de Fitness.Talvez essa seja a etapa que mais se diferencia dos AGstradicionais. Para cada cromossomo do indivíduo existeum valor de aptidão associado, e o Fitness total é a mé-dia de todos os valores cromossomos. Essa estratégia éadotada com o objetivo de permitir a avaliação e com-petição de cromossomo a cromossomo dos mapas de dis-paridade.

Como dito na seção passada, para o cromossomo asso-ciado à posição (x, y), existe uma disparidade da mesmaposição. À esse valor de disparidade existe um custo de si-milaridade Ck

s (x, y) relacionado no EDI.

Cks (x, y) = EDI(x, y, Ik(x, y)) (5)

Para conservar a continuidade das disparidades, seja umamatriz de vizinhança W k com dimensões m × n centrali-zada em (x, y), a medida de continuidade é representadapela Equação 6. Neste trabalho, m e n são iguais a 7.

1 Fitness ou aptidão, é o termo que avalia o quão bom é o indivíduo pe-rante sua população. É comumente empregado nos trabalhos sobre al-goritmos genéticos independente de qual língua o texto é escrito.

83

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 95: III WVC 2007

Ckc (x, y) =

1

m · n∑

i∈m,j∈n

∣∣W k(i, j) − Ik(x, y)∣∣ (6)

O Fitness total relacionado a cada cromossomo do indi-víduo é dado pela Equação 7 e o Fitness de cada indivíduopela Equação 8.

F kc (x, y) = ws · Ck

s (x, y) + wc · Ckc (x, y) (7)

F k =1

u · v∑

i∈u,j∈v

F kc (i, j) (8)

Na Equação 7, ws e wc correspondem aos pesos rela-cionados a cada métrica.

3.3. Seleção

Existem vários operadores de seleção utilizados em al-goritmos genéticos, dentre eles os mais conhecidos são ométodo da roleta que atribui probabilidades de escolha pro-porcionais ao Fitness de cada um, o torneio, que permite acompetição futura dos indivíduos na próxima geração e oelitismo que preserva sempre a melhor solução. O primeirométodo parece ser a forma mais justa perante toda a popula-ção. De fato, quem é melhor adaptado, possui maior chancede transmitir seus genes para a próxima geração. Esse tipode seleção é aplicável quando a geração do melhor indiví-duo é apostada totalmente sobre os métodos de cruzamen-tos, já que os pais são descartados. A desvantagem associ-ada é que, na presença de um indivíduo muito bom e a dis-crepância de Fitness é muito grande em relação ao restanteda população, a evolução tende a gerar seres muito pareci-dos ao indivíduo com maior probabilidade de transmissãode genes, o que acarreta na redução da diversidade na popu-lação e maior chance de encontrar um valor ótimo local.

O operador de torneio permite a permanência dos paisdurante as próximas gerações. Dessa forma o melhor indiví-duo é mantido e lhe é dada a chance de formar pares diferen-tes. A maior vantagem associada a essa estratégia é da me-lhor exploração do espaço de busca. Dando condições paraa sobrevivência dos pais maior a possibilidade deles se re-combinarem e produzirem filhos mais diversificados. Maspor outro lado o tempo de convergência ao ótimo globalé mais longo. Em contrapartida, o operador de elitismobusca uma convergência mais rápida para o melhor resul-tado, sendo este local ou global.

Neste trabalho a forma de seleção foi desenvolvida bus-cando integrar as vantagens desses três operadores. Paratoda população existe um indivíduo melhor que todos. Alémdele, existe uma pequena parcela da população que corres-ponde à elite, ou seja, aqueles que apresentam uma aptidãomédia. O restante corresponde ao lixo da população, por

apresentar uma aptidão baixa. O esquema de seleção é re-presentado pelo esquema ilustrado na Figura 4.

A próxima geração é composta pelo melhor de todos osindivíduos, cruzamento entre o melhor e a elite, entre a elitee a elite, entre o melhor de todos com o lixo e a elite como lixo. A permanência do melhor de todos na próxima ge-ração favorece o elitismo e impede a perda do melhor in-divíduo. Os outros cruzamentos buscam a evolução da po-pulação confiando na combinação certa dos genes paternos.A inserção de indivíduos aleatórios busca a melhor explo-ração do espaço de busca. Outra forma de se fazer isso é in-serir operadores de mutação, mas devido à forma de cruza-mento adotada nesse trabalho a mutação exerce papel ir-risório na população. Como a evolução é feita considerandoa aptidão de cada cromossomo, a inserção de aleatoriedadepromove os aspectos necessários para a exploração dos me-lhores cromossomos.

3.4. Cruzamento

A operação de cruzamento se dá de forma ligeiramentediferente dos AGs tradicionais. O método empregado nessetrabalho busca perpetuar os melhores cromossomos de cadaindivíduo. Sendo que cada cromossomo carrega consigo umvalor de disparidade, o cruzamento entre os cromossomo(x, y) do indivíduo a e b é formulado da seguinte forma:

wa =Ia(x, y)

Ia(x, y) + Ic(x, y)(9)

wb =Ib(x, y)

Ia(x, y) + Ic(x, y)(10)

If (x, y) = wb · Ia(x, y) + wa · Ib(x, y) (11)

Onde If é o filho resultante do cruzamento. O operadorde cruzamento realiza uma média ponderada das dispari-dades relacionando o custo de cada uma. A atribuição dospesos de acordo com o Fitness do cromossomo de cada paipermite que o filho una os melhores genes de cada um.

4. Resultados

Nessa seção é apresentado os resultados gerados pelo al-goritmo com os seguintes parâmetros:

• Disparidade máxima: d = [0; 20]

• Tamanho da população: 50

• Quantidade de indivíduos de elite: 5

• Quantidade de cruzamentos entre o melhor de todos ea elite: 5

• Quantidade de cruzamentos entre a elite e o lixo: 30

• Quantidade de indivíduos randômicos: 9

84

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 96: III WVC 2007

Figura 4. Esquema de seleção empregado para o cruzamento

• Wv com dimensão 7 × 7

• ws = 0.6 e wc = 0.4

As Figuras 5 e 6 apresentam os resultados obtidos uti-lizando o par de imagens estéreo conhecido como Tsukubae Corridor respectivamente. Os pixels de maior intensidade,cor branca, correspondem aos pontos onde a disparidadepossui maior intensidade, o que significa regiões mais pró-ximas do sistema de observação. É fácil identificar que o al-goritmo produziu melhor resultado na imagem de tsukuba.Por outro lado, a imagem corridor apresentou um mapade disparidades com muitos pontos inválidos. Essa últimatrata-se de um caso bastante discutido em trabalhos de visãoestéreo. Por ter baixa resolução, apenas 200 × 200, e tam-bém por apresentar muitas regiões repetitivas e com falta detextura, naturalmente a quantidade de ambigüidades é muitomaior que no primeiro teste.

Indiscutivelmente, todo o processo de otimização da su-perfície de disparidade é altamente dependente da métricautilizada na construção do EDI. Uma medida de semel-hança errônea implica em cromossomos defeituosos sendopropagados para as próximas gerações, corrompendo con-sigo parte de seus vizinhos, já que a medida de continuidadedas disparidades deve ser considerada.

5. Conclusões

Este trabalho apresentou um algoritmo genético para aestimação de mapas de disparidade estéreo. Normalmente,trabalhos da área apresentam soluções locais para a cons-trução do mapa de disparidade. Somente a partir de 98 quemétodos globais vêm se tornando freqüentes em trabalhospublicados em jornais e conferências. Grande parte dos al-goritmos globais apresentam alto custo computacional esão altamente dependentes das técnicas de construção do

EDI. Assim como este trabalho, a determinação do EDItem grande influência no resultado final da otimização,isso porque os valores de custo são a peça chave para aevolução dos indivíduos da população. O uso de técnicas in-teligentes na determinação de mapas de disparidades maisbem adaptados é uma promessa empolgante da soluçãodo problema estéreo. Além do mais, AGs permitem uti-lizar um número infinito de estratégias de representação eevolução dos indivíduos, podendo também partir para al-goritmos mais avançados utilizando interpretações multi-objetivo para a avaliação dos cromossomos. Devido às pro-priedades de aprendizado e generalização de soluções, es-sas estratégias inteligentes favorecem a recuperação da in-formação tridimensional globalmente mais adaptada.

Referências

[1] X. Armangué and J. Salvi. Overall view regarding funda-mental matrix estimation. International Journal of Imageand Vision Computing, IVC, 21(2):205–220, February 2003.

[2] A. Bensrhair, P. Miché, and R. Debrie. Fast and automaticstereo vision matching algorithm based on dynamic pro-gramming method. Pattern Recogn. Lett., 17(5):457–466,1996.

[3] J. D. S. da Silva, P. O. Simoni, and K. K. Bharadwaj. Mul-tiple correspondences in stereo vision under a genetic algo-rithm approach. In SIBGRAPI ’00: Proceedings of the 13thBrazilian Symposium on Computer Graphics and Image Pro-cessing, pages 52–59, Washington, DC, USA, 2000. IEEEComputer Society.

[4] A. J. Fitch, A. Kadryov, W. Christmas, and J. Kittler. Fastrobust correlation. IEEE Transactions on Image Processing,14(8):1063–1073, August 2005.

[5] R. Hartley and A. Zisserman. Multiple View Geometry inComputer Vision. Cambridge University Press, 40 West 20thStreet, New York, NY 10011-4211, USA, second edition,2003.

85

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 97: III WVC 2007

(a) Imagem original (b) Mapa de disparidades real

(c) Evolução do melhor indivíduo (d) Mapa de disparidades

Figura 5. Imagens da base Tsukuba.

[6] J. Mallon and P. F. Whelan. Projective rectification fromthe fundamental matrix. Image and Vision Computing,23(7):643–650, July 2005.

[7] C. Perwass and G. Sommer. A fuzzy logic algorithm fordense image point matching. pages 39–46, 2001.

[8] N. Roma, J. Santos-Victor, and J. Tomé. A comparative anal-ysis of cross-correlation matching algorithms using a pyra-midal resolution approach. ECCV2000 - 2nd Workshop onEmpirical Evaluation Methods in Computer Vision, 2000.

[9] Y. Shao and J. Mayhew. A model-driven stereo correspon-dence algorithm using dynamic programming. 1998.

[10] G. Tolt and I. Kalaykov. Measures based on fuzzy simi-larity for stereo matching of color images. Soft Comput.,10(12):1117–1126, 2006.

[11] P. Torra and A. Criminisi. Dense stereo using pivoteddynamic programming. Image and Vision Computing,22(10):795–806, September 2004.

[12] B. Wang, R. Chung, and C. lin Shen. Genetic algorithm-based stereo vision with no block-partitioning of input im-ages. Proceedings 2003 IEEE International Symposiumon Computational Intelligence in Robotics and Automation,pages 830–836, July 2003.

86

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 98: III WVC 2007

(a) Imagem original (b) Mapa de disparidades real

(c) Evolução do melhor indivíduo (d) Mapa de disparidades

Figura 6. Imagens da base corridor.

87

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 99: III WVC 2007

RECONHECIMENTO AUTOMÁTICO DE PADRÕES MUSICAIS UTILIZANDO OPERADORES MORFOLÓGICOS E PROGRAMAÇÃO GENÉTICA.

Emerson Carlos Pedrinoe-mail: [email protected]

Valentin Obac Rodae-mail: [email protected]

Universidade de São Paulo/Departamento de Engenharia Elétrica, São Carlos, Brasil

Abstract: Este trabalho apresenta uma metodologia para extração automática de padrões musicais em imagens binárias utilizando operadores morfológicos e uma variação da técnica de programação genética. As soluções são expressas por meio dos operadores básicos de morfologia matemática, dilatação e erosão, juntamente com outros operadores lógicos. A programação genética utiliza conceitos de genética e da seleção natural de Darwin para criar e evoluir programas de computador. É um ramo relativamente novo de computação evolucionária e gradualmente está se consolidando como um método promissor em aplicações de reconhecimento de padrões, problemas de classificação e modelamento de sistemas complexos, para citar somente alguns. A morfologia matemática é uma área não linear em processamento de imagens que se baseia na geometria e teoria da ordem. Esta técnica de processamento tem provado ser uma ferramenta extremamente poderosa para muitas aplicações de visão computacional. Entretanto, o projeto de operadores morfológicos mais complexos para uma dada aplicação não é uma tarefa trivial na prática. O método apresentado é uma contribuição para reduzir essas dificuldades. Exemplos de aplicação para o método proposto onde a eficiência do processo pode ser avaliada também são apresentados para a extração de padrões musicais de imagens binárias.

Palavras Chaves: Computação evolucionária, programação genética, morfologia matemática,

reconhecimento de padrões.

1. Introdução

A morfologia matemática é uma ferramenta extremamente poderosa para tarefas de processamento

de imagens e se baseia em conceitos geométricos e na teoria da ordem [1] [2] [3]. Ela pode ser utilizada

para eliminação de ruído em imagens binárias e em níveis de cinza, para reconhecimento de padrões,

segmentação, entre outras aplicações [4] [5]. O projeto de procedimentos morfológicos não é uma

tarefa trivial na prática [6]. É necessário grande conhecimento para selecionar de forma adequada os

elementos estruturantes e os operadores morfológicos a serem utilizados numa dada aplicação. Em [7]

[8] [9] se utilizam algoritmos genéticos com a finalidade de geração automática de procedimentos

88

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 100: III WVC 2007

morfológicos, tentando-se assim sanar essas dificuldades inerentes ao processo de projeto. Contudo, os

trabalhos supracitados têm se limitado a projetar filtros ótimos, onde as seqüências de operadores

morfológicos são de tamanho fixo e os elementos estruturantes utilizados são limitados a formas

básicas [10]. A programação genética utiliza os princípios da seleção natural de Darwin para criar

programas de forma automática através de uma especificação de alto nível. Na literatura pesquisada,

poucos trabalhos foram encontrados que utilizam os conceitos de programação genética aplicados ao

processamento de imagens. Assim, este artigo propõe uma metodologia para extração de padrões

musicais em imagens binárias gerando procedimentos automáticos de morfologia matemática por meio

de programação genética com a possibilidade de se explorar um espaço muito grande (não fixo) de

possíveis algoritmos morfológicos e de elementos estruturantes de tamanhos e formas diferenciados.

Também, o algoritmo desenvolvido permite utilizar ou acrescentar qualquer tipo de instrução, e não

somente as morfológicas, de acordo com uma dada aplicação.

2. Programação Genética

O objetivo primordial da programação genética é descobrir como os computadores podem aprender

a resolver problemas sem, no entanto, serem programados para essa tarefa [11]. A programação

genética é uma extensão de algoritmos genéticos [12] onde os cromossomos são representados por

programas de computador. Nesta abordagem, os programas são representados por árvores sintáticas, ao

invés de linhas de código. Por exemplo, a representação de min(x*2,x+2*y) pode ser vista na figura 1.

Figura 1: Árvore sintática representando a expressão min(x*2,x+2*y).

O conjunto de nós internos da árvore sintática é representado por funções e seu conjunto de nós

terminais é formado por variáveis e constantes. As funções e os terminais são escolhidos baseados

numa dada aplicação. O algoritmo básico de busca utilizado em programação genética se baseia no

algoritmo genético clássico com seus operadores de cruzamento e mutação operando sobre estruturas

de árvores. O algoritmo trabalha da seguinte maneira: inicialmente são gerados programas pertinentes

ao problema, de forma estocástica, segundo a estrutura de árvore dada pela figura 1; o algoritmo é

controlado por uma função de aptidão que avalia a qualidade dos programas (indivíduos) gerados de

forma aleatória; assim, torna-se necessário executar cada programa dentro desse ambiente, onde os

melhores são selecionados e modificados para produzir uma nova população que será avaliada na

próxima geração; esse processo é repetido até que uma condição de parada seja satisfeita.

3. Construção Automática de Operadores Morfológicos

O algoritmo proposto, para construção automática de operadores morfológicos utilizando

programação genética, foi desenvolvido no software Matlab 7.0 da Mathworks e trabalha da seguinte

89

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 101: III WVC 2007

maneira: dadas duas imagens amostras de entrada, uma original e outra possuindo somente

características desejadas a serem extraídas pelo procedimento genético proposto, buscam-se seqüências

de operadores morfológicos no espaço de algoritmos de morfologia matemática, que satisfaçam os

requisitos desejados. Os operadores são procedimentos pré-definidos para trabalharem com

determinados tipos de elementos estruturantes, podendo-se criar novos operadores quando esta

necessidade se fizer necessária. A variável de entrada do processo é a imagem original. A saída do

programa é representada por uma estrutura linear contendo os tipos de operadores utilizados no

algoritmo de saída (melhor indivíduo) juntamente com seus elementos estruturantes especificados. O

resultado de uma operação será o argumento do operador subseqüente, e assim sucessivamente. Os

parâmetros do algoritmo genético são fornecidos pelo usuário, dentre os quais se podem destacar:

tamanho da árvore, número de gerações, número de cromossomos, probabilidade de cruzamento,

probabilidade de mutação, erro e tipos de instruções adequadas para um determinado problema. A

função de aptidão utilizada para cada cromossomo (procedimento) é o erro médio absoluto (MAE)

entre a imagem de saída do processo e a imagem objetivo. As instruções são codificadas por cadeias

binárias. Na figura 2, apresenta-se o diagrama em blocos do sistema desenvolvido.

Figura 2: Diagrama em blocos do sistema proposto.

4. Resultados

Nesta seção são apresentados alguns resultados obtidos pelo sistema proposto. Na figura 3,

apresenta-se o resultado obtido pelo programa para a extração das cabeças das notas musicais. Na

figura 4 é apresentado um resultado da aplicação do procedimento obtido a uma imagem contendo um

trecho de uma partitura musical.

Figura 3: Procedimento morfológico para extração das cabeças das notas.

90

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 102: III WVC 2007

Figura 4: Resultado da aplicação do procedimento morfológico para extração de cabeças musicais.

Os mnemônicos dd e q das instruções obtidas correspondem a um elemento estruturante diagonal e

a um quadrado, respectivamente. O mnemônico dil se refere a uma dilatação e o ero a uma erosão.

Todos os elementos estruturantes possuem dimensão 3x3. A instrução do_nothing é utilizada como um

recurso para flexibilizar o tamanho do programa gerado automaticamente. Na figura 5 é apresentado o

resultado obtido por um procedimento gerado automaticamente para a extração do padrão superior das

notas musicais conhecido como hook. Na figura, a instrução ero_h_3 corresponde a uma erosão por um

elemento estruturante horizontal; a instrução sto(store) armazena o resultado corrente de uma operação

morfológica que poderá ser utilizado pelo procedimento em algum momento posterior; a instrução cpl

corresponde ao NOT lógico e a instrução xor ao Ou-Exclusivo lógico. Na tabela 1 é apresentado um

sumário dos resultados obtidos.

Comparando os resultados obtidos com os trabalhos apresentados em [7], [8] e em [13], o presente

trabalho apresentou melhoramentos no tempo de processamento, aptidão e flexibilidade de

programação.

91

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 103: III WVC 2007

Figura 5: Procedimento para extração de hook.

Tabela 1 – Resumo dos resultados

Exemplo Número Gerações

Número Cromossomos

Tamanho Árvore

Taxa Crossover

Taxa Mutação

TaxaReprodução

MAEerror

TempoProcessamento

Figura 3 50 25 6 90% 20% 20% 0,7% 0,02s

Figura 5 50 45 12 95% 30% 12% 0,25% 0,033s

5. Conclusões

Neste artigo é apresentada uma metodologia para geração automática de procedimentos

morfológicos aplicados a imagens binárias para extração de padrões contidos nessas imagens por meio

de programação genética. Exemplos de extração de padrões presentes em partituras musicais foram

apresentados e comparados com outros trabalhos na literatura, onde os resultados obtidos comprovam a

eficiência do processo; contudo, o sucesso desta abordagem ficará dependente da escolha adequada dos

parâmetros do procedimento genético proposto. Também, o algoritmo proposto pode ser utilizado para

outras aplicações de processamento digital de imagens e permite o uso de vários tipos de instruções.

92

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 104: III WVC 2007

Referências

[1] Quintana, M. I.; Poli, R.; Claridge, E. (2003). On Two Approaches to Image Processing Algorithm

Design for Binary Images Using GP. EvoWorkshops, p. 422-431.

[2] Serra, J. (1982). Image Analysis and Mathematical Morphology. Academic Press, London, 1982.

[3] Pedrino, E. C.; Roda, V. O. (2006). Pipeline architecture for morphological color image processing

in real time. Southern Conference on Programmable Logic, Mar del Plata, Argentina.

[4] Dougherty, E. R. (1992). An introduction to Morphological Image Processing. SPIE, Washington.

[5] Weeks Jr., A. R. (1996). Fundamentals of Electronic Image Processing. SPIE, Washington.

[6] Marshall, S.; Harvey, N. R.; Greenhalgh, D. (2000). Design of Morphological Filters using Genetic

Algorithms. EUSIPCO 2000, Tampere, Finland, September.

[7] Yoda, I.;Yamamoto, K.; Yamada, H. (1999). Automatic acquisition of hierarchical mathematical

morphology procedures by genetic algorithms. Image and Vision Computing, v.17, n.10, p.749-760.

[8] Marshall, S.; Harvey, N. R. (1996). The use of genetic algorithms in morphological filter design.

Signal Processing: Image Communication, v.8, n.1, p. 55-72, January.

[9] Bala, J. W.; Wechsler, H. (1993). Shape analysis using genetic algorithms. Pattern Recognition

Letters, v.14, n.12, p. 965-973.

[10] Quintana, M. I.; Poli, R.; Claridge, E. (2002). Genetic programming for mathematical morphology

algorithm design on binary images. In M. Proceedings of the International Conference KBCS-2002, p.

161-171.

[11] Koza, J. (1992). Genetic Programming. MIT Press.

[12] Holland, J. (1975). Adaptation in Natural and Artificial Systems. MIT Press.

[13] Miyao, H.; Nakano, Y. (1995). Head and stem extraction from printed music scores using a

neural network approach. ICDAR, 1995, p. 1074-1079.

93

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 105: III WVC 2007

Avaliacao do Branch-and-Bound para Selecao de Caracterısticas

Marco Aurelio Roncatti, Joao do Espirito Santo Batista NetoLaboratorio de Computacao de Alto Desempenho - LCAD-ICMC-USP

Caixa Postal: 668 - CEP: 13560-970 - Sao Carlos - SPmarco [email protected], [email protected]

Resumo

Este artigo apresenta uma visao geral sobre o uso dobranch-and-bound em selecao de caracterısticas. Di-versas melhorias do algoritmo original ja foram pro-postas e a comparacao de algumas delas e apresentada.Um exemplo da aplicacao de selecao de caracterısticasem segmentacao de imagens mostra como essa tecnicapode ajudar no reconhecimento de padroes.

1. Introducao

A alta dimensionalidade (grande quantidade de ca-racterısticas) e um problema comum em reconheci-mento de padroes. Esse problema pode ser tratado pormeio da selecao de caracterısticas, ou seja, a escolha dascaracterısticas que melhor representam os dados anali-sados.

A partir do conjunto completo de caracterısticas,pretende-se selecionar um subconjunto que maximizeo valor de uma determinada funcao criterio J(·), quepode ser a taxa de acerto de um classificador ou umamedida da separabilidade entre as classes quando utili-zadas apenas as caracterısticas do subconjunto. Entreas principais dificuldades encontradas na selecao estaoo grande numero possıvel de combinacoes de caracte-rısticas e o alto esforco computacional para o calculo deJ(·). Alem disso, a funcao criterio nao apresenta com-portamento simples. Por exemplo, um subconjunto detamanho dois pode conter caracterısticas que, sozinhas,apresentam valores baixos para J(·), mas, quando usa-das juntas, permitem uma boa separacao entre as clas-ses. Ha tambem a maldicao da dimensionalidade, queocorre quando ha poucos padroes na base de dados paramuitas caracterısticas, o que dificulta o trabalho de umclassificador e faz com que o aumento do numero de ca-racterısticas abaixe o valor de J(·).

Quando se utiliza a taxa de acerto de um classifica-dor como funcao criterio, o subconjunto encontrado e

mais proximo do ideal, principalmente se o mesmo clas-sificador for utilizado em tarefas seguintes com a basede dados em analise. Porem, medidas como a distan-cia de Bhattacharyya [1] sao, em geral, calculadas maisrapidamente pelo computador e apresentam resultadossatisfatorios. Alem do mais, devido a monotonicidade,essa funcao pode ser utilizada pelo branch-and-bound(BB), que e um algoritmo de selecao capaz de encon-trar um subconjunto otimo com eficiencia muito maiordo que a busca exaustiva [1, 13].

Na Secao 2 sao mostradas diversas abordagens paraselecao de caracterısticas. Tecnicas para acelerar o cal-culo da distancia de Bhattacharyya sao apresentadasna Secao 3. Algumas variacoes do BB sao descritas naSecao 4. Resultados sao apresentados nas Secoes 5 e 6por meio da comparacao de desempenho entre duas va-riacoes do BB e de um exemplo de aplicacao de selecaode caracterısticas em segmentacao de imagens.

2. Trabalhos Relacionados

Diversos algoritmos de selecao ja foram propostos ecomparados [4, 6]. Algoritmos geneticos sao os mais in-dicados em muitos casos [6, 12]. A interpretacao dospesos das conexoes de redes neurais e uma aborda-gem pouco utilizada, mas que pode apresentar otimosresultados[11, 9]. Existem ainda os algoritmos de buscasequencial [5]. No sequential forward selection (SFS), apartir do subconjunto vazio, caracterısticas sao adici-onadas uma a uma ate atingir o tamanho de subcon-junto desejado. Em cada iteracao, a “melhor” carac-terıstica e escolhida. Neste artigo, uma caracterısticae melhor do que outra quando, no caso de ser adici-onada a um subcojunto, gera um outro subconjuntocom pontuacao (valor de J(·)) maior ou, no caso deser removida, gera um subconjunto com pontuacao me-nor. O sequential backward selection (SBS) e analogo,mas as caracterısticas sao removidas do conjunto com-pleto. Esses dois algoritmos podem descartar caracte-rıstica boas em momentos errados devido as proprieda-

94

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 106: III WVC 2007

des da funcao criterio. Os algoritmos sequential floatingforward selection (SFFS) e sequential backward floatingselection (SBFS) [10] procuram resolver esse problemaadicionando e depois removendo caracterısticas repeti-damente seguindo determinadas regras. Com isso, a so-lucao obtida costuma ser igual ou proximo da otima.Porem, a garantia de otimo so pode ser conseguida coma busca exaustiva ou algum algoritmo que verifique to-das os subconjuntos possıveis. O BB e capaz de cum-prir esse papel [8], mas e restrito a funcoes criterio mo-notonicas, o que nao e uma grande desvantagem, jaque ha funcoes monotonicas que avaliam bem subcon-juntos de caracterısticas. Vale destacar que uma esco-lha otima e em relacao a algum criterio. Um subcon-junto otimo em relacao a distancia de Bhattacharyyanao e necessariamente o melhor subconjunto para de-terminado classificador e base de dados.

3. Distancia de Bhattacharyya

A distancia de Bhattacharyya Bh,i [1] para medir aseparabilidade entre as classes h e i com distribuicaonormal e

Vm = Mi − Mh, Sm =Ch + Ci

2,

Bh,i =1

8V T

m S−1

m Vm +1

2ln

|Vm|√|Ch||Ci|, (1)

sendo que Mh e Mi sao os vetores de medias (com melementos cada) e Ch e Ci sao as matrizes de covarian-cia (de ordem m × m, pois ha m caracterısticas).

Quando a distancia de Bhattacharyya e utilizada emalgoritmos de selecao de caracterısticas, algumas tecni-cas podem tornar o processamento mais rapido. O cal-culo da distancia e feito a partir de Mh, Mi, Ch e Ci

para um determinado subconjunto de caracterısticas.Os valores presentes nesses vetores e matrizes sao en-contrados em Mh, Mi, Ch e Ci, que sao os vetores demedias e as matrizes de covariancia para o conjuntocompleto de caracterısticas. O mesmo vale para Vm eSm. Se Vm = Mi − Mh e Sm = (Ch + Ci) ÷ 2, en-tao os valores de Vm sao encontrados em Vm e os valo-res de Sm, em Sm. Portanto, esses calculos podem serrealizados apenas uma vez no inıcio do programa e re-aproveitados em cada chamada de J(·).

A matriz de covariancia e simetrica e semidefinidapositiva. Se nenhuma caracterıstica for linearmente de-pendente de outra, entao e definida positiva. Sm pre-serva essas propriedades. Assim, a maneira mais efici-ente de se encontrar a matriz inversa e o determinantedas matrizes de covariancia e utilizando a decomposi-cao de Cholesky.

Como o determinante de uma matriz de covarianciamuito grande costuma resultar num valor muito pe-queno, o calculo da distancia de Bhattacharyya podecausar erro de ponto flutuante. Uma estrategia para re-solver esse problema e a mudanca na ordem em que asoperacoes sao realizadas. O calculo deve entao ser feitoda seguinte maneira:

Bh,i =1

8V T

m S−1

m Vm+1

2ln

((√|Vm|√|Ch|

)×(√|Vm|√|Ci|

)).

Na execucao do BB, como sera visto a seguir, a fun-cao criterio pode ser chamada para subconjuntos comapenas uma caracterıstica removida do subconjunto daiteracao anterior. Isso permite o calculo da distancia deBhattacharyya recursivamente [1], o que diminui con-sideravelmente o esforco computacional.

A seguir, e removida a ultima caracterıstica da ma-triz de covariancia. A aplicacao para as outras caracte-rısticas pode ser feita pela troca da coluna e linha dacaracterıstica a ser removida e da m-esima coluna e li-nha de Sm.

Sm =

[Sm−1 EET s

], S−1

m =

[F GGT g

].

A matriz inversa de Sm−1 pode ser calculada por

S−1

m−1= F − 1

gGGT .

O determinante de Sm−1 pode ser calculado por

|Sm−1| =|Sm|

s − ET S−1

m−1E

.

A multiplicacao presente no primeiro termo da Eq. (1)pode ser calculada recursivamente por

V Tm−1

S−1

m−1Vm−1

= V Tm S−1

m Vm − 1

g

([GT g

]Vm

)2.

4. Branch-and-Bound

Diversas tecnicas, como programacao dinamica,ja foram tentadas para se conseguir um subconjuntootimo de maneira mais eficiente que a busca exaus-tiva. A que apresenta o melhor desempenho e o BB,por ser capaz de realizar menos chamadas a fun-cao criterio e mesmo assim garantir que todos ossubconjuntos de determinado tamanho foram conside-rados.

4.1. Branch-and-Bound Basico

A versao mais simples [8, 1] utiliza uma arvore coma raiz representando o conjunto completo de caracterıs-ticas Y = 1, 2, . . . , D, sendo D o numero total de ca-racterısticas. A altura da arvore sera D − d + 1, sendo

95

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 107: III WVC 2007

d o numero de caracterısticas que se deseja selecionar.A Fig. 1 mostra um exemplo. Uma caracterıstica e re-movida em cada nıvel e os nos folha representam ossubconjuntos de tamanho d. O nıvel da arvore, repre-sentado por k, indica o numero de caracterısticas remo-vidas. k = 0 para a raiz e k = D − d para as folhas. Amaneira como a arvore e construıda, mostrada a seguir,impede a repeticao de subconjuntos. qk e o numero defilhos ou ramificacoes de um no do nıvel k. O no raizdeve possuir q0 = d+1 filhos. Cada no filho recebe umanumeracao p, iniciada em zero da esquerda para a di-reita, e deve possuir qk = qk−1−p filhos, sendo que qk−1

e o numero de filhos do no pai. Em cada no e remo-vida a caracterıstica fk. Na raiz, f0 = 0. Para o restantedos nos, fk = fk−1 + p + 1. O subconjunto correspon-dente a cada no sera Xk = Y \f1, f2, . . . , fk, isto e, to-das as caracterısticas com exclusao de f1, f2, . . . , fk.

A busca e realizada em profundidade da direita paraa esquerda. A pontuacao bk do subconjunto e determi-nada pela chamada da funcao criterio: bk = J(Xk).Quando a busca chega ao primeiro no folha, a pontu-

acao maxima∗b e o subconjunto otimo

∗X sao atuali-

zados:∗b = bD−d,

∗X = XD−d. Quando a busca chega

a outros nos folha e se bD−d >∗b, a atualizacao de

∗b

e∗X e feita da mesma maneira. Pode nao ser necessa-

ria a avaliacao de todos os nos. Devido a monotonici-dade de J(·), bk ≥ bk+1. Portanto, sempre que e encon-

trado um no com pontuacao bk ≤∗b, ocorre a poda, ou

seja, todo o ramo da arvore que parte desse no podeser descartado. No pior caso, quando nao ocorre ne-nhuma poda, o numero de chamadas de J(·) e

(D+1

d+1

).

O que e muito mais do que o numero de chamadas re-alizadas na busca exaustiva, que e

(Dd

). Com as diver-

sas melhorias ja propostas, dificilmente a busca exaus-tiva supera o BB em eficiencia.

4.2. Branch-and-Bound Ordenado

Uma melhoria e apresentada juntamente com a pro-posta do BB basico [8]. Uma modificacao na constru-cao da arvore coloca a remocao das piores caracterıs-ticas mais a direita e as melhores, mais a esquerdada arvore. Como a busca e iniciada pela direita, hamais chance de pontuacoes altas serem encontradasmais cedo nas folhas. E as podas ficam mais prova-veis em nos do lado esquerdo, levando a mais descar-tes, pois ha mais ramificacoes nesse lado da arvore.Para construir a arvore dessa maneira, um conjuntoW = w0, w1, . . . , wr deve ser utilizado para arma-zenar as r caracterısticas que ainda estao disponıveispara remocao. Inicialmente, W = Y . Antes de cada ra-

Figura 1. Arvore para o BB basico com D = 5e d = 2.

mificacao de um no do nıvel k, as caracterısticas pre-sentes em W devem ser testadas: vn = J(Xk\wn),n = 1, . . . , r. Os elementos de W devem ser ordena-dos de maneira crescente de acordo com as pontuacoesvn. As qk primeiras caracterısticas dessa ordenacao saousadas para formar os nos seguintes e removidas de W .Quando ocorre o backtracking da busca em profundi-dade, as caracterısticas devem retornar a W . Apesar daintencao ser diminuir o numero de chamadas de J(·),o resultado pode ser o oposto, pois o numero de des-cartes pode nao superar o aumento causado na orde-nacao.

4.3.´Arvore de Busca Mınima

Na arvore do BB, ha nos com apenas uma rami-ficacao ate o no folha. Por exemplo, os nos dos sub-conjuntos 1, 2, 4, 5 e 1, 3, 5 da Fig. 1. Se o subcon-junto desse no e avaliado, ha a possibilidade de des-carte de apenas um no folha. Portanto, e mais conveni-ente a busca ir diretamente ao no folha, gerando umaarvore de busca mınima [14]. Alem da reducao de cha-madas de J(·) ser consideravel, o calculo para os sub-conjuntos das folhas, por serem menores, e mais ra-pido. Porem, isso impede o uso da recursao para essesramos.

4.4. Branch-and-Bound Rapido

Partindo do BB ordenado e utilizando a arvorede busca mınima, o BB rapido [13] procura diminuiro numero de chamadas de J(·) por meio de previ-soes. Primeiro o algoritmo determina o quanto cadacaracterıstica contribui para a reducao da pontuacaoquando tal caracterıstica e removida de um subcon-junto. Isso e feito durante o percurso pela arvore. Um

96

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 108: III WVC 2007

vetor A =[

a0 . . . aD

]Tarmazena a media de con-

tribuicoes de cada caracterıstica. Sempre que ocorreuma remocao de uma caracterıstica xl de um subcon-junto Xk, a media e atualizada por:

axl=

axlsxl

+ J(Xk) − J(Xk\xl)sxl

+ 1,

sxl= sxl

+ 1,

sendo que sxldeve ser iniciado com zero e representa

o numero de vezes que a contribuicao para a carac-terıstica xl foi determinada. Um parametro δ e usadopara indicar o valor mınimo que sxl

deve ter para quea previsao seja feita quando ocorre a remocao de xl.A pontuacao prevista entao sera bk+1 = J(Xk\xl) =J(Xk)−axl

. Se o no for folha ou sxl≤ δ, a previsao nao

e permitida e a funcao criterio deve ser chamada. A or-denacao e realizada com base nesses valores, que podemser pontuacoes previstas J(·) ou pontuacoes reais J(·).Para o restante da busca, as pontuacoes previstas de-vem ser alteradas para bk+1 = J(Xk)−γaxl

, sendo queγ e um parametro para representar o grau de otimismoda previsao. Se a poda for ocorrer em um no com pon-tuacao prevista, J(·) deve ser chamado para que a pon-tuacao mude para real e a ocorrencia de poda deve serverificada novamente. Isso garante que a solucao sejaotima. Os valores padroes para os parametros sao δ = 1e γ = 1. Se γ for baixo, as previsoes sao de pontuacoesaltas e as podas sao deslocadas para mais perto das fo-lhas. Por outro lado, se γ for alto, o algoritmo tentarealizar podas mais perto da raiz. Nos dois casos, o nu-mero de chamadas de J(·) aumenta. Porem, a redu-cao de chamadas, se comparado com o BB ordenado, emuito grande.

4.5. Branch-and-bound Adaptativo

O BB adaptativo reune diversas estrategias e, se-gundo [7], e mais eficiente do que o BB rapido em mui-tos casos, principalmente quando D > 30. Nessealgoritmo, as caracterısticas sao ordenadas ape-nas uma vez. O resultado da ordenacao e colocado emZ = z1, z2, . . . , zD. z1 e escolhida como a melhor ca-racterıstica do conjunto completo Y , ou seja, a ca-racterıstica que resulta na menor pontuacao paraJ(Y \z1). z2 e escolhida como a melhor caracte-rıstica de Y \z1. E assim por diante, ate zD. Aarvore e construıda como no BB basico, mas uti-lizando a ordenacao de Z. Para aumentar o nu-mero de podas, uma solucao inicial com pontuacao∗bini e gerada pelo SFFS. Essas duas operacoes ini-ciais nao prejudicam a eficiencia do algoritmo comoum todo, pois o numero de chamadas da funcao crite-

rio e pequeno se comparado com o total realizado peloBB.

Como os subconjuntos proximos a raiz tem pontua-coes mais altas e a poda e improvavel, a busca no BBadaptativo e iniciada a partir de um determinado nıvelkmin. Isso evita tambem a chamada da funcao criteriopara subconjuntos maiores, cujo calculo e mais lento.Esse nıvel e determinado pelo numero mınimo das me-lhores caracterısticas que podem ser removidas do con-junto completo e gerar um subconjunto com pontuacaomenor do que a solucao inicial encontrada pelo SFFS:

kmin = argmink J(Y \z1, z2, . . . , zk) <∗bini.

Uma nova maneira de previsao para o valor da fun-cao criterio e proposta:

J(Xk) = J(Y ) × (1 − (k/D)β). (2)

Sendo que β tem um valor para cada no, como seramostrado a seguir. O percurso pela arvore e realizadopor meio de saltos. Quando a pontuacao de um no e cal-culada, e previsto em qual nıvel seguinte ocorrera umapoda. Para isso, o valor de β e calculado para o noatual por

β =log(1 − J(Xk)/J(Y ))

log(k/D). (3)

A Eq. 3 e obtida da Eq. 2, mas com J(·) no lugar deJ(·). Supoe-se que o valor de β e aproximadamente omesmo para os nos seguintes. Entao, o nıvel em queprovavelmente ocorrerao podas e estimado por

k =

⌈D × (1 −

∗b/J(Y ))1/β

⌉. (4)

A Eq. 4 tambem e obtida da Eq. 2, mas com∗b no lugar

de J(·). Se k > (D− d), o salto e feito para o nıvel dosnos folha.

5. Comparacao entre Algoritmos

Os algoritmos implementados e comparados foram abusca exaustiva, o BB ordenado e o BB rapido. Os pa-rametros para o BB rapido foram δ = 5 e γ = 1,1. Osprogramas foram escritos em C++ e compilados com oGCC 3.4.6. O computador utilizado foi um Sun V40zcom quatro processadores Opteron 64 Dual Core de2.4GHz, 24GB de RAM e Solaris 2.10 x86. A base dedados utilizada foi a Wisconsin Diagnostic Breast Can-cer obtida no UCI Machine Learning Repository, com30 caracterısticas e duas classes. Para a medicao dotempo de execucao da busca exaustiva, foi feita uma es-timativa pela multiplicacao de

(30

d

)pelo tempo de cal-

culo da distancia de Bhattacharyya para um subcon-junto de tamanho d.

97

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 109: III WVC 2007

(a)

(b)

Figura 2. Resultados dos experimentos.

Os resultados da comparacao pelo numero de cha-madas de J(·) pode ser visto na Fig. 2(a). Esse tipode avaliacao e amplamente feita em comparacoes de al-goritmos de selecao de caracterısticas, pois independeda velocidade de processamento e reflete bem o tempototal de execucao. Os resultados obtidos assemelham-se bastante ao que e apresentado em [13]. Quanto aostempos de execucao medidos, mostrados na Fig. 2(b),pode-se notar que a busca exaustiva supera o BB or-denado para d < 11. Isso acontece porque, enquantoa busca exaustiva chama J(·) apenas para subconjun-tos de tamanho d, o BB ordenado chama para todosos tamanhos a partir de D. A separacao entre as me-didas do BB ordenado e do BB rapido e maior em (a)do que em (b) pelo mesmo motivo. Apesar do BB ra-pido fazer muito menos chamadas de J(·), muitas delassao em nos proximos da raiz, pois o numero de calcu-los das contribuicoes ainda nao atingiu o valor de δ.

6. Aplicacao em Segmentacao

Dois experimentos de segmentacao supervisionadacom selecao de caracterısticas podem ser vistos na Fig.3. Foram utilizadas no total 58 caracterısticas, sendo

uma o proprio valor do pixel, 3 de estatısticas de pri-meira ordem (PO), 10 de matrizes de run lengths (RL)[2] e 44 de matrizes de coocorrencia (MC) [3]. As de POsao media, desvio padrao e mediana dos pixels da ja-nela. Para as de RL, inicialmente sao calculadas as 5caracterısticas sugeridas em [2] para as orientacoes 0,45, 90 e 135. A media e o desvio padrao sao en-tao calculados para as 5 caracterısticas, tornando-asinvariantes em relacao a orientacao das texturas. Paraas de MC, inicialmente sao calculadas as 11 primei-ras caracterısticas sugeridas em [3] para as distanciasde 2 e 3 pixels e as mesmas quatro orientacoes. A me-dia e o desvio padrao sao calculados para essas 22 ca-racterısticas. As imagens para segmentacao sao mosai-cos com texturas de Brodatz. Duas bases de treino fo-ram geradas a partir das regioes selecionadas em (a)e (e), aplicando-se os metodos das 58 caracterısticasem janelas de 7 × 7 pixels. Essas bases foram utiliza-das tanto para treinar um classificador de distancia mı-nima como para selecionar 5 caracterısticas com BBe distancia de Bhattacharyya. As caracterısticas sele-cionadas para distinguir as duas texturas de (a) fo-ram N(a) = 12, 16, 22, 27, 53, sendo a 12 de PO eas restantes de MC. No caso de (e), foram seleciona-das N(e) = 10, 11, 12, 16, 38, sendo a 10 de RL, a 11e a 12 de PO e as restantes de MC. Em (b) e mostrada asegmentacao de (a) utilizando-se as 58 caracterısticas.A melhora e nıtida em (c), que mostra a segmentacaoutilizando-se apenas as caracterısticas N(a). O mesmopode ser percebido em (f), que utiliza as 58 caracterıs-ticas para segmentar (e), e em (g), que utiliza apenasN(e). Em (d), a segmentacao foi feita utilizando-se ascaracterısticas N(e), e em (h), as caracterısticas N(a).Isso mostra que, apesar da semelhanca entre as tex-turas de (a) e (e), diferentes caracterısticas sao maisapropriadas para cada caso.

7. Conclusao

Selecao de caracterısticas e um importante metodopara reducao da dimensionalidade. Pois, alem de aju-dar em processos de classificacao, ajuda a diminuir oesforco computacional na obtencao das caracterısticas,ja que apenas as caracterısticas selecionadas precisamser obtidas. Entre os algoritmos de selecao, destaca-seo BB, que e capaz de encontrar um subconjunto de ca-racterısticas otimo com eficiencia muito maior do quea busca exaustiva. Diversas melhorias ja foram propos-tas desde a primeira versao do BB. O BB rapido apre-sentou eficiencia muito maior do que outros nos experi-mentos realizados para este artigo. Pretende-se incluirnas comparacoes uma versao mais recente, o BB adap-tativo, que pode superar o BB rapido. Novas melhorias

98

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 110: III WVC 2007

(a) (b) (c) (d)

(e) (f) (g) (h)

Figura 3. Exemplos de segmentacao. As segmentacoes de (a) sao mostradas em (b), (c) e (d) e assegmentacoes de (e) sao mostradas em (f), (g) e (h).

ainda poderao ser feitas. Uma nova maneira de cons-trucao da arvore, por exemplo, pode aumentar agru-pamentos em nos mais proximos das folhas, aumentoo numero de descartes por poda. Da maneira como econstruıda atualmente, alguns nos folha so podem serdescartados em podas proximas da raiz, que tem poucaprobabilidade de ocorrer. A aplicacao de selecao emsegmentacao de imagens mostra que a reducao da di-mensionalidade realmente pode melhorar a classifica-cao e que ha caracterısticas mais apropriadas para di-ferentes bases de dados.

Referencias

[1] K. Fukunaga. Introduction to Pattern Recognition -Second Edition. Academic Press, 1990.

[2] M. M. Galloway. Texture analysis using gray level runlengths. Com puter G raphics Im age Processing, 4:172–179, 1975.

[3] R. M. Haralick, K. S. Shanmugan, and I. Dunstein.Textural features for image classification. IEEE Tran-sactionson System s,M an,and Cybernetics, 3(6):610–621, 1973. HARALICK73.

[4] A. Jain and D. Zongker. Feature selection: Evalua-tion, application, and small sample performance. IEEETransactions on Pattern Analysis and M achine Intel-ligence, 19(2):153–158, 1997.

[5] J. Kittler. Feature set search algorithms. In C. H.Chen, editor, Pattern Recognition and SignalProces-sing, pages 41–60. Sijthoff & Noordhoff, 1978.

[6] M. Kudo and J. Sklansky. Comparison of algorithmsthat select features for pattern classifiers. Pattern Re-cognition, 33(1):25–41, 2000.

[7] S. Nakariyakul and D. P. Casasent. Adaptive branchand bound algorithm for selecting optimal features.Pattern Recognition Letters, 28(12):1415–1427, 2007.

[8] P. M. Narendra and K. Fukunaga. A branch and boundalgorithm for feature subset selection. IEEE Transac-tions on Com puters, 26(9):917–922, 1977.

[9] R. Nath, B. Rajagopalan, and R. Ryker. Determiningthe saliency of input variables in neural network clas-sifiers. Com puters & O perations Research, 24(8):767–773, 1997.

[10] P. Pudil, J. Novovicova, and J. Kittler. Floating se-arch methods in feature selection. Pattern RecognitionLetters, 15(10):1119–1125, 1994.

[11] D. P. d. Santos. Selecao de caracterısticas: Aborda-gem via redes neurais aplicada a segmentacao de ima-gens. Dissertacao de mestrado, Departamento de Ci-encias de Computacao do ICMC-USP, 2007.

[12] W. Siedlecki and J. Sklansky. A note on genetic algo-rithms for large-scale feature selection. Pattern Recog-nition Letters, 10(5):335–347, 1989.

[13] P. Somol, P. Pudil, F. Ferri, and J. Kittler. Fast branchbound algorithm in feature selection. In 4th W orldM ulticonference on System ics,Cybernetics and Infor-m atics, volume 7, pages 646–651, 2000.

[14] B. Yu and B. Yuan. A more efficient branch and boundalgorithm for feature selection. Pattern Recognition,26(6):883–889, 1993.

99

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 111: III WVC 2007

Reconhecimento de Sinus Frontais Utilizando a Transformada Imagem-FlorestaDiferencial e o Contexto da Forma

1Juan Rogelio Falguera,

2Fernanda P. S. Falguera,

3Aparecido Nilceu Marana

UNESP – Faculdade de Ciências – Departamento de Computação – Bauru – SP – Brasil

1juan.falguera,

[email protected]

[email protected]

Resumo

Diversos métodos biométricos baseados em

características do corpo humano como impressão

digital, face, íris e retina têm sido propostos para

identificação humana. No entanto, para a identificação

de cadáveres, tais medidas biométricas podem não estar

disponíveis. Nestes casos, partes do esqueleto do corpo

humano podem ser utilizadas para identificação, tais

como registros dentários, tórax, vértebras, ombros e o

sinus frontal. Foi demonstrado por investigações

anteriores que o padrão do sinus frontal é altamente

variável e único para cada indivíduo. Este artigo

apresenta um método de reconhecimento de sinus

frontais, para identificação humana, baseado na

Transformada Imagem-Floresta e no contexto da forma.

Resultados experimentais obtidos (EER = 5,82%)

mostram a efetividade do método proposto.

1. Introdução

O sinus frontal (ou seios frontais da face) está

localizado no osso frontal do crânio e consiste em

cavidades loculadas e irregulares que se comunicam com

a fossa nasal através do infundibulum [1].

O sinus frontal se desenvolve embrionariamente de

uma célula etmoidal e não é visível ao nascimento. Ele

começa a se desenvolver a partir do segundo ano de vida

e atinge seu tamanho máximo por volta do vigésimo ano,

permanecendo estável durante o resto da vida [2,3].

A configuração do sinus frontal é considerada única

para cada indivíduo [1,2,3,4] e é controlada por fatores

genéticos e ambientais. Variações do sinus frontal foram

registradas na literatura até mesmo para gêmeos

monozigóticos [2,3].

A Figura 1 apresenta imagens de radiografias em

incidência AP (anteroposterior) de três indivíduos, onde é

possível observar as peculiaridades de cada sinus frontal.

Os sinus frontais são assimétricos e suas formas são

bastante discriminativas.

Figura 1. Imagens de radiografias AP de quatroindivíduos, onde é possível observar as diferençasexistentes entre os sinus frontais.

A assimetria e as demais peculiaridades do sinus

frontal têm estimulado diversas pesquisas sobre a

possibilidade de identificação de pessoas por meio da

análise de medidas biométricas dessa característica física,

obtidas de radiografias. Shuller [2] foi o primeiro

investigador a sugerir, em 1943, a possibilidade de

identificação de pessoas através da comparação de

radiografias do sinus frontal.

100

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 112: III WVC 2007

Recentemente, Kirk et al. [4] desenvolveram um

estudo retrospectivo de 39 casos de identificação de

esqueletos através da região do sinus frontal.

Ribeiro [5] propôs um método padrão manual de

medição de radiografias de sinus frontal em humanos.

Ele reportou resultados positivos da aplicação de seu

método sobre um banco de dados contendo 500

radiografias.

Marana et al. [6] investigaram descritores de sinus

frontais visando estabelecer os melhores descritores para

serem utilizados em sistemas de identificação automática

ou semi-automática. Nesta investigação, o melhor

resultado (EER = 11,56%) foi obtido quando as

características: área, largura e diâmetro de Feret das

formas dos sinus frontais, foram utilizadas como

descritores.

O objetivo deste trabalho é investigar, além das

características mais apropriadas, os melhores algoritmos

de segmentação, a fim de diminuir as taxas de erro para o

reconhecimento de sinus frontais, enquanto minimiza-se

a intervenção humana durante o processo.

2. Transformada Imagem-FlorestaDiferencial

O algoritmo baseado na Transformada Imagem-

Floresta Diferencial (DIFT) para segmentação de

imagens foi proposto por Falcão e Bergo [7]. Esse

algoritmo reduz o problema de segmentação de imagens

ao cálculo de florestas de caminhos de custo mínimo no

grafo derivado da imagem. A busca por caminhos de

custo mínimo é restringida a caminhos que se originam

em um conjunto de pixels iniciais, denominados

sementes [7,8].

A função que determina o custo do caminho de um

vértice do grafo até outro, é a diferença entre os níveis de

cinza dos pixels que são representados pelos vértices.

Dessa forma, pixels com níveis próximos de cinza terão

custos menores de caminho e tenderão a se conectar ao

caminho com o qual tenham maior grau de similaridade.

Portanto, com a utilização desse algoritmo, a

intervenção do usuário durante a segmentação da

imagem é reduzida à escolha de algumas sementes dentro

e fora da área de interesse. As sementes competem por

vértices no grafo a cada iteração e geram, ao final,

regiões internas e externas à área de interesse cujos

pixels terminais delimitam o objeto [8].

A Figura 2 apresenta um grafo de uma imagem

bidimensional em tons de cinza, com vizinhança 4. Os

números correspondem às intensidades I(p) dos pixels e

os círculos maiores denotam duas sementes: uma interna

ao objeto que se deseja segmentar, um retângulo no

centro da imagem, e outra externa ao objeto.

Figura 2. Grafo de uma imagem 2D em tons de cinzacom vizinhança 4 [8].

A Figura 3 mostra uma floresta de caminhos de custo

mínimo para o grafo da Figura 2, usando como função de

custo, C(p,q) = I(q) - I(p), onde I(p) é a intensidade de

um pixel e I(q) é a intensidade do seu pixel predecessor.

Os números mostrados na Figura 3 são os valores de

custo.

A segmentação do retângulo no centro da imagem é

obtida pela árvore enraizada na semente interna. As setas

da Figura 3 apontam para o predecessor do vértice no

caminho ótimo.

Figura 3. Floresta de caminhos de custo mínimo parao grafo da Figura 2 [8].

Caso o resultado da segmentação não seja ideal, o

usuário pode acrescentar mais sementes dentro ou fora da

área de interesse e executar novamente o algoritmo, que

ao invés de recalcular uma nova floresta de caminhos

ótimos toda vez que o conjunto de sementes é alterado,

somente atualiza o resultado da segmentação de forma

diferencial, em tempo proporcional ao número de vértices

nas regiões modificadas da floresta, reduzindo em até dez

vezes o tempo de cada execução, em relação ao algoritmo

IFT original [8].

101

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 113: III WVC 2007

3. Segmentação de Sinus Frontais

A segmentação do sinus frontal a partir de uma

radiografia AP do crânio tem se mostrado como a etapa

mais complexa da tarefa de automatização do

reconhecimento de sinus frontais, uma vez que as bordas

dos sinus frontais são muito difíceis de serem detectadas,

devido às interferências de outras estruturas craniais e a

alguns outros tipos de ruídos. Mesmo para especialistas

em Radiologia, esta pode ser uma tarefa difícil.

Com a intenção de reduzir ao máximo o número de

intervenções do usuário durante o processo de

segmentação do sinus frontal, o algoritmo DIFT [7,8] foi

adotado.

A Figura 4(b) exibe a segmentação manual do sinus

frontal obtida, sob supervisão de um radiologista, a partir

da imagem da radiografia apresentada na Figura 4(a). A

Figura 4(c) apresenta a segmentação do sinus frontal da

Figura 4(a), obtida utilizando-se o algoritmo DIFT. É

possível observar que a segmentação obtida pelo

algoritmo é bastante similar à segmentação manual

obtida sob a supervisão de um especialista humano. Note

na Figura 4(c) as sementes internas e externas definidas

pelo usuário.

Após a segmentação do sinus frontal, apenas os

pontos da borda são armazenados para a realização das

etapas seguintes.

4. Contexto da Forma

O Contexto da Forma (Shape Context) é um descritor

de formas proposto por Belongie et al. [9]. Dado um

ponto p pertencente a uma borda, esse descritor captura a

distribuição polar-logarítmica dos demais pontos da

borda em relação a p, proporcionando uma caracterização

global e discriminativa da forma da borda. Desse modo,

pontos correspondentes em duas bordas semelhantes,

apresentam contextos da forma semelhantes [9].

A medida de similaridade entre dois objetos é

computada como sendo o custo mínimo de alinhamento

entre os pontos de suas bordas. Quanto mais diferentes

forem as formas dos objetos, maior será o custo do

alinhamento.

A Figura 5(a) apresenta o diagrama do histograma

polar-logarítmico utilizado para calcular o contexto da

forma para cada ponto da borda em relação aos demais

pontos. Neste exemplo, o histograma é composto por 5

compartimentos log r e 12 ângulos , totalizando 60

compartimentos.

A Figura 5(b) apresenta a imagem de uma borda de

sinus frontal, na qual se ilustra o cálculo do histograma

polar-logarítmico de um dos pontos da borda.

A Figura 5(c) mostra o histograma da distribuição

obtido para o ponto da borda selecionado na Figura 5(b).

Quanto mais escura a posição no histograma, maior é a

ocorrência de pontos da borda naquele ângulo e

distância.

(a)

(b)

(c)

Figura 4. (a) Imagem do sinus frontal obtida de umaradiografia AP; (b) Segmentação manual do sinusfrontal apresentado em (a), realizada com asupervisão de um radiologista; (c) Segmentação semi-automática do sinus frontal apresentado em (a)utilizando o algoritmo DIFT (utilizando-se 8 sementesexternas e 17 sementes internas).

5. Reconhecimento de Sinus Frontais

Para o reconhecimento do sinus frontal, foi adotado

neste trabalho o método baseado nos descritores de

contexto da forma nas fases de alinhamento e

comparação das bordas dos sinus frontais extraídas das

imagens segmentadas.

102

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 114: III WVC 2007

(a)

(b)

(c)

Figura 5. (a) Diagrama do histograma polar-logarítmico utilizado para computar o contexto daforma; (b) Ilustração do cálculo do histograma polar-logarítmico para um dos pontos da borda de um sinusfrontal; (c) Contexto da forma (histograma) calculadopara o ponto da borda do sinus frontal ilustrado em(b).

A medida de similaridade entre dois sinus frontais é

determinada pelo custo do melhor alinhamento obtido

para eles, utilizando os descritores dos contextos da

forma para cada um dos pontos pertencentes às suas

bordas, detectadas utilizando-se o algoritmo baseado na

Transformada de Imagem-Floresta Diferencial. Quanto

menor o custo, maior o grau de similaridade entre os

sinus frontais.

Dados dois pontos pi e pj, pertencentes a cada uma das

bordas sendo comparadas, como os contextos das formas

associados a cada ponto são distribuições representadas

por histogramas, é natural utilizar-se o teste estatístico2, dado pela equação (1), para calcular o custo de

casamento entre os pontos pi e pj, onde hi(k) e hj(k)

denotam os histogramas normalizados dos pontos pi e pj,

respectivamente, e K representa a quantidade de

compartimentos do histograma.

K

k ji

ji

ijkhkh

khkhC

1

2

)()(

)()(

2

1(1)

6. Resultados Experimentais

O desempenho do método proposto para o

reconhecimento de sinus frontais foi avaliado em um

banco de dados contendo 90 radiografias AP de 29

indivíduos com mais de 20 anos de idade. No conjunto de

radiografias há pelo menos duas imagens de radiografias

para cada indivíduo.

Durante os experimentos realizados, inicialmente, as

imagens de todas as radiografias do banco de dados

foram segmentadas, utilizando-se o algoritmo baseado no

método DIFT, para se obter as bordas de todos os sinus

frontais. As Figuras 6(a), 6(b), 6(c) e 6(d) exibem as

segmentações obtidas para algumas imagens de

radiografias do banco de dados (as radiografias

apresentadas na Figura 1).

Após a segmentação das imagens, foram realizadas

comparações entre todas as bordas genuínas, ou seja,

bordas de sinus frontais do mesmo indivíduo, gerando-se

pontuações para cada comparação. Também foram

obtidas as pontuações para todas as comparações de

bordas impostoras, ou seja, bordas de sinus frontais de

pessoas diferentes.

Com as pontuações obtidas nas comparações entre

sinus frontais genuínos e impostores, foi possível gerar as

curvas ROC (Receiver Operating Characteristic). As

curvas ROC relacionam a taxa de falsa aceitação em

oposição à taxa de falsa rejeição para diversos valores de

limiar, proporcionando um método eficiente de

comparação entre diferentes métodos biométricos.

A Figura 7 mostra a curva ROC obtida nos

experimentos que representa a taxa de falsa aceitação

(FAR) versus a taxa de aceitação de genuínos (GAR).

A Figura 8 mostra a curva ROC obtida nos

experimentos que representa a taxa de falsa aceitação

(FAR) versus a taxa de falsa rejeição (FRR).

O método proposto obteve uma taxa de EER (Equal

Error Rate) de 5,82% para o banco de dados utilizado.

7. Conclusão

O método proposto para o reconhecimento de sinus

frontais utilizando DIFT e contexto da forma obteve

resultados muito bons em nossos experimentos.

Resultados estes melhores que os reportados por Marana

103

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 115: III WVC 2007

et al. [6], quando foram utilizados área, largura e

diâmetro de Feret como descritores de forma dos sinus

frontais.

O sucesso do método deve-se em grande parte à

eficácia do algoritmo DIFT, utilizado no estágio de

segmentação, que proporcionou segmentações bastante

próximas às segmentações manuais obtidas sob a

supervisão de um especialista da área de radiologia.

(a)

(b)

(c)

(d)

Figura 6. Segmentações dos sinus frontais das imagensapresentadas na Figura 1, por meio do método DIFT.Os pontos pretos e brancos representamrespectivamente as sementes internas e externasdefinidas pelo usuário.

Os resultados experimentais obtidos corroboram os

descritos na literatura sobre a viabilidade da utilização de

informações dos sinus frontais como uma alternativa para

identificação humana em aplicações forenses.

Como continuidade deste trabalho, serão investigados

novos descritores dos sinus frontais e novos algoritmos

para comparação de formas, visando reduzir ainda mais

as taxas de erro.

Figura 7. Curva ROC FAR x GAR para o métodoproposto de reconhecimento de sinus frontais.

Figura 8. Curva ROC FAR x FRR para o métodoproposto de reconhecimento de sinus frontais.

FAR

GA

R

FAR

FR

R

104

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 116: III WVC 2007

Agradecimentos

Os autores agradecem a Dra. S. L. Brooks e o Dr. J.

McNamara, da Universidade de Michigan, EUA, pelas

imagens de radiografias de sinus frontais, e a Dra. Flavia

Casedei, do Hospital Estadual de Bauru, por sua

colaboração durante a segmentação manual dos sinus

frontais.

Referências

[1] Dorland’s Illustrated Medical Dictionary, 25th edition.

Philadelphia: W. B. Saunders, 1974.

[2] Schuller, A.. A note on the identification of skulls by x-ray

pictures of the frontal sinuses. Med. J. Australia, 1943,

1:554-7.

[3] Brogdon, B. G.. Forensic Radiology. CRC Press, 1998.

[4] Kirk, N. J.; Wood, R. E.; Goldstein, M.. Skeletal

Identification Using the Frontal Sinus Region: A

Retrospective Study of 39 Cases. J Forensic Sci 2002,

47(2):318-323.

[5] Ribeiro, F. A. Q.. Standardized measurements of

radiographic films of the frontal sinuses: An aid to

identifying unknown persons. Ear, Nose and Throat Journal,

Jan 2000, v79, p26.

[6] Marana, A. N., Oura, D. Y., Yamamoto, T., Falguera, F. P.

S., and Falguera, J. R.; Towards an Automatic Frontal Sinus

Identification System, Anais do II Workshop de Visão

Computacional, USP - São Carlos, 2006. p. 93-98.

[7] Falcão, A. X. and Bergo, F. P. G.. Interactive volume

segmentation with diferential image foresting transforms.

IEEE Trans. on Medical Imaging, 23(9):1100-1108, 2004.

[8] Miranda, P. A. V., Segmentação de Imagens pela

Transformada Imagem-Floresta, Dissertação de Mestrado,

IC-UNICAMP, January 15th 2006.

[9] Belongie, Serge; Malik, Jitendra; Puzicha, Jan. Shape

Matching and Object Recognition using Shape Contexts.

IEEE Transactions on Pattern Analysis and Machine

Intelligence, April 2002, vol. 24, No. 24, p. 509-522.

105

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 117: III WVC 2007

Otimização do Processamento de Imagens Médicas: Uma Abordagem Utilizando Java

Priscila T. M. Saito, Ricardo J. Sabatine,

Fátima L. S. Nunes, Kalinka R. L. Jaquie CasteloBranco Univem – Centro Universitário Eurípides de Marília

Av. Hygino Muzzi Filho 529, CEP 17509-901, Marília, SP psaito, sabatine, fatima, [email protected]

Abstract

This paper aims at demonstrating the use of parallel distributed computing to improve the execution time of algorithms used to the medical image processing. Image processing techniques were implemented in the sequential and parallel way by using the program language Java and the parallel virtual libraries mpiJava and JPVM. Smoothing and edge detection algorithms were implemented in the special domain, using different size of masks. After the implementation, it was possible to make a comparison between the sequential and parallel application, that permitted to evaluate and to demonstrate the gain using distributed parallel computing.

1. Introdução O processamento de imagens é amplamente utilizado

em muitas aplicações. Essa área de conhecimento exige intenso poder computacional, visto que as imagens apresentam, em sua grande maioria, tamanho elevado, constituindo grande volume de dados a serem processados.

Quando o contexto trata de imagens médicas, esta questão é ainda mais crítica, uma vez que aplicações médicas, em geral, requerem curto tempo de resposta e não se pode permitir armazenamento com perdas de dados. O tamanho elevado das imagens, aliado à necessidade de aplicação de algoritmos complexos, aumenta o tempo de processamento dessas imagens, prejudicando a avaliação das mesmas [6]. A necessidade de alto desempenho e alto poder

computacional para o processamento desse tipo de imagem pode ser atendida por meio do uso de sistemas distribuídos e de bibliotecas de passagem de mensagens, que viabilizam a computação paralela distribuída.

2. Computação Paralela Distribuída O aumento da utilização de sistemas computacionais

distribuídos, associado aos conceitos de computação

paralela, permite que tarefas possam ser realizadas explorando maior potência computacional com relevante redução dos custos. Apesar de possuir um meio de comunicação mais lento

quando comparada à comunicação em uma máquina massivamente paralela, fator que degrada o desempenho, a computação paralela distribuída tem sido utilizada com sucesso para paralelizar aplicações que possuam pouca necessidade de comunicação entre os processos. Existem diversos ambientes de passagens de

mensagens especializados em fornecer recursos necessários à programação paralela, entre eles o MPI (Message Passing Interface) e o PVM (Parallel Virtual Machine). Com o surgimento da linguagem Java, inúmeras

propostas foram apresentadas para a utilização dessas bibliotecas nessa linguagem podendo-se citar o mpiJava [1] e o JPVM (Java Parallel Virtual Machine) [3], que constituem os ambientes de passagem de mensagens utilizados neste trabalho. A escolha desses ambientes para o processamento

paralelo dos algoritmos vem em decorrência do uso da linguagem Java que contém fatores como portabilidade, permitindo a independência de plataforma, simplicidade, clareza nos códigos e a existência de bibliotecas especializadas que possibilitam o reúso de código, facilitando a construção de aplicações nos mais diversos domínios, como é o caso do processamento de imagens.

3. Processamento de Imagens Médicas A finalidade das imagens médicas é auxiliar na

composição do diagnóstico de anomalias e fornecer material para acompanhamento de terapias [6]. Técnicas de processamento de imagens são aplicadas

com o objetivo de melhorá-las e extrair informações úteis aos diagnósticos. Existem inúmeros métodos de processamento de

imagens. A escolha de procedimentos a serem aplicados depende do objetivo que se deseja em relação a uma determinada categoria de imagem.

106

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 118: III WVC 2007

Para este trabalho, inicialmente foram escolhidas técnicas de suavização e de detecção de bordas, largamente utilizadas nos sistemas de auxílio ao diagnóstico, a fim de verificar a relação custo/benefício decorrente da aplicação da computação paralela distribuída.

3.1. Suavização Filtros de suavização são utilizados em uma etapa de

pré-processamento para a redução de ruídos e para a remoção de pequenos detalhes de uma imagem antes da extração de objetos [4]. Entre as técnicas mais comuns de suavização estão os filtros de média e mediana. A filtragem mediana usada neste artigo [4], consiste em

substituir o valor de um determinado pixel pelo valor mediano da sua vizinhança que é o valor central obtido quando se ordena os pixels da vizinhança. Na Figura 1 são apresentados exemplos da aplicação

da filtragem mediana em imagens médicas.

Figura 1 - Exemplos de suavização utilizando o filtro

mediana. (a) imagem mamográfica original; imagem

suavizada (b) máscara 3x3; (c) máscara 5x5; (d)

máscara 7x7.

3.2. Detecção de Bordas A detecção de bordas é outro exemplo de algoritmo

que usa operações baseadas em vizinhança. Representar uma imagem por meio de suas bordas pode ser vantajoso, para muitos esquemas na área médica, visto que as bordas fornecem informações úteis para a composição de diagnósticos. Para avaliação neste artigo foi utilizado o algoritmo de

detecção de bordas fazendo uso dos operadores de Sobel modificado [4]. Estes calculam o valor absoluto aproximado do gradiente em cada ponto da imagem analisada, deixando em maior evidência as áreas cuja freqüência espacial possui um valor alto em relação à vizinhança e que correspondem às bordas da imagem. A Figura 2 apresenta exemplos do resultado obtido

com a aplicação desses operadores.

Figura 2 – Exemplos de detecção de bordas pelos

operadores de Sobel modificado com diferentes

tamanhos de máscaras. (a) imagem original; (b)

máscara 9x9; (c) 11x11.

4. Um Modelo de Paralelismo para o Processamento de Imagens

O requisito básico de um sistema de processamento paralelo de imagens consiste em uma infra-estrutura que permita executar de forma eficiente quaisquer algoritmos de nível baixo, médio ou alto. Essa infra-estrutura é composta essencialmente de funções de comunicação e distribuição de dados adequados ao processamento de imagens [2]. Os filtros executados no domínio espacial, que

manipulam diretamente os pixels que compõem a imagem, são os mais utilizados devido à facilidade de implementação, porém exigem alto poder de processamento, visto que as imagens constituem, na maioria das vezes, matrizes enormes de pontos a serem considerados.

É neste contexto que as técnicas de processamento de imagens e, em especial, aquelas desenvolvidas especificamente para aplicação em imagens médicas, podem se beneficiar dos conceitos de paralelização. A importância do paralelismo é ainda mais realçada visto que esta classe de imagens, quando destinada ao diagnóstico, não pode permitir armazenamento com perdas de dados. Além disso, muitas vezes, exigem precisão na sua aquisição gerando um volume ainda maior de dados. Uma proposta de paralelização eficiente é a divisão da

imagem em blocos distribuídos pelos processadores, de forma a processá-los ao mesmo tempo. Definir o tipo de paralelismo que melhor se adapta ao

processamento proposto é uma tarefa que permite a obtenção de melhor desempenho. No caso deste trabalho o paralelismo de dados é o que melhor se enquadra, pois define-se que o processador deve executar as mesmas tarefas sobre diferentes dados aproximadamente do mesmo tamanho, tendo um único fluxo de controle SPMD (Single Process Multiple Data).

(a) (b) (c)

(b) (a) (c) (d)

107

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 119: III WVC 2007

O desafio a ser vencido, neste caso e, mais especificamente em imagens médicas, é a divisão da imagem em blocos e a posterior junção destes sem perdas de informações, após o processamento. Considerando que no domínio espacial é comum a

utilização de templates deve-se prever, ainda, uma sobreposição entre os blocos a fim de que não faltem dados durante o processamento das partes de uma imagem. Após o processamento, os dados sobrepostos devem ser desconsiderados a fim de que não fiquem duplicados na imagem resultante. A Figura 3 ilustra uma estratégia de paralelização em

que uma imagem médica é dividida em blocos pelo mestre, e subseqüentemente é transmitida por meio das bibliotecas mpiJava e JPVM aos escravos. Estes têm a incumbência de processar a imagem e retransmitir os blocos já processados ao mestre, o qual os une reconstituindo-a.

Figura 3. Estratégia de paralelização de imagens

médicas [7].

Pode-se perceber também, nesta Figura pelo número de linhas em cada um dos blocos 1, 2 e 3, que os blocos apresentam tamanhos variados dependendo da característica de cada algoritmo. Alguns algoritmos abordados neste artigo usam templates que operam sobre uma vizinhança de pontos da imagem; sendo assim, há necessidade de redundância nos blocos para o processamento, conforme citado (destacados em vermelho na Figura 3).

5. Análise de Desempenho dos Resultados Obtidos

A análise de desempenho dos algoritmos de filtro de mediana e de detecção de bordas foi realizada por meio de diferentes testes reais em um ambiente paralelo distribuído controlado, composto inicialmente por 3

máquinas homogêneas (Pentium IV de 2.7GHz com 512Mbytes de RAM, interligadas por uma rede ethernet de 100MB/s). Posteriormente foram acrescidas máquinas idênticas para compor um ambiente de 4 e 5 máquinas.

Foram utilizadas imagens mamográficas (radiografia das mamas) de elevado tamanho (aproximadamente 11 Mb, consistindo em matrizes com tamanho médio 2500X3000 pixels, no formato TIFF, com resolução de contraste de 16 bits). O filtro de mediana foi avaliado com máscaras de tamanhos diferentes (3x3, 5x5 e 7x7) utilizando o algoritmo de ordenação shellsort. O filtro de detecção de bordas foi executado com máscara de tamanho 11x11. Observa-se que o tamanho da máscara é o que define o

tamanho da vizinhança a ser considerada. Dependendo do tipo da imagem, uma maior vizinhança pode levar a um melhor resultado de processamento. Após a realização dos testes obteve-se uma média dos

30 tempos de processamento tanto para aplicação seqüencial quanto para a paralela para os diferentes tipos de máscaras. Na avaliação da execução em paralelo foram efetuados testes com até cinco máquinas e, para cada uma delas, testes com até 8 processos sendo iniciados em paralelo. Isso possibilitou realizar a comparação de desempenho de cada uma das possíveis combinações. Todos os testes foram efetuados usando as bibliotecas

JPVM e mpiJava e os resultados obtidos foram avaliados estatisticamente para comprovar seu grau de significância por meio do uso do teste de hipótese [5]. As Figuras 4 e 5 apresentam os resultados da execução

seqüencial do filtro mediana bem como as execuções em paralelo do mesmo algoritmo em 3, 4 e 5 máquinas respectivamente.

0

1000

2000

3000

4000

5000

6000

7000

8000

Média

do

Tempo

de E

xecu

ção

(ms)

3 4 5 6 7 8

Número de Processos

Sequencial

3 Máquinas

4 Máquinas

5 Máquinas

Figura 4 – Média do tempo de execução da aplicação

seqüencial comparada com a aplicação paralela do

filtro de mediana de máscara 3x3 fazendo uso do

ambiente de troca de mensagens mpiJava.

Pelas figuras é possível observar que o tempo de execução do algoritmo seqüencial, quando considerada a vizinhança de tamanho 3x3, é significativamente melhor que o tempo do mesmo em paralelo, tanto usando JPVM quanto mpiJava, independentemente do número de

108

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 120: III WVC 2007

máquinas e da quantidade de processos iniciados em paralelo. Uma vez que a quantidade de cálculos efetuados pelo

filtro com máscara 3x3 é relativamente pequena, a paralelização do mesmo não resulta em melhoria, pois se consome mais tempo com comunicação para envio de dados através da rede do que no cálculo da máscara propriamente dita, ou seja, o tempo utilizado para o envio de cada parte da imagem (subvetor) é maior que o tempo gasto pelos escravos para realizar o processamento (formação e ordenação do vetor), o que a torna uma aplicação mais voltada para comunicação do que para processamento.

0

1000

2000

3000

4000

5000

6000

7000

8000

Média

do

Tempo

de E

xecu

ção

(ms)

3 4 5 6 7 8

Número de Processos

Sequencial

3 Máquinas

4 Máquinas

5 Máquinas

Figura 5 – Média do tempo de execução da aplicação

seqüencial comparada com a aplicação paralela do

filtro de mediana de máscara 3x3 fazendo uso do

ambiente de troca de mensagens JPVM.

As Figuras 6, 7, 8 e 9 apresentam os resultados das mesmas execuções anteriores levando em consideração as máscaras 5x5 e 7x7, respectivamente.

0

1000

2000

3000

4000

5000

6000

7000

8000

9000

10000

Média

do

Tempo

de E

xecu

ção

(ms)

3 4 5 6 7 8

Número de Processos

Sequencial

3 Máquinas

4 Máquinas

5 Máquinas

Figura 6 – Média do tempo de execução da aplicação

seqüencial comparada com a aplicação paralela do

filtro de mediana de máscara 5x5 fazendo uso do

ambiente de troca de mensagens mpiJava.

Pelas figuras é possível observar que o tempo de execução do algoritmo seqüencial a partir do uso dessas máscaras é significativamente pior que o tempo de execução em paralelo, tanto usando o JPVM quanto o mpiJava. Isso pode ser observado principalmente para situações onde o número de processos equivale ou é maior que o número de máquinas. Nesses casos pode-se

comprovar que o uso da computação paralela distribuída auxilia e otimiza o uso de algoritmos de processamento de imagens com grande volume de dados. Nos casos em que o número de processos ultrapassa

uma unidade em cada máquina o tempo médio de processamento paralelo fica um pouco prejudicado no caso da máscara 5x5 devido à sobrecarga na comunicação. À medida que se aumenta o número de processos para certa quantidade de máquinas, o desempenho diminui, tornando-se maior que o tempo médio seqüencial. Isso acontece porque quando se aumenta o número de processos a comunicação passa a ser um fator evidente de queda de desempenho.

0

1000

2000

3000

4000

5000

6000

7000

8000

9000

10000

Média

do

Tempo

de E

xecu

ção

(ms)

3 4 5 6 7 8

Número de Processos

Sequencial

3 Máquinas

4 Máquinas

5 Máquinas

Figura 7 – Média do tempo de execução da aplicação

seqüencial comparada com a aplicação paralela do

filtro de mediana de máscara 5x5 fazendo uso do

ambiente de troca de mensagens JPVM.

Diferentemente das máscaras 3x3 e 5x5, quando utilizada a máscara 7x7, independentemente do número de processos iniciados (considerando um máximo de 8 processos) e do número de máquinas, o tempo médio paralelo é sempre menor que o tempo seqüencial, uma vez que o processamento é alto e o aumento no número de processos ainda implica em ganho de desempenho sobre a sobrecarga de comunicação.

0

2000

4000

6000

8000

10000

12000

14000

16000

18000

Média

do

Tempo

de E

xecu

ção

(ms)

3 4 5 6 7 8

Número de Processos

Sequencial

3 Máquinas

4 Máquinas

5 Máquinas

Figura 8 – Média do tempo de execução da aplicação

seqüencial comparada com a aplicação paralela do

filtro de mediana de máscara 7x7 fazendo uso do

ambiente de troca de mensagens mpiJava.

Essa diferença e significativa melhora de desempenho, quando se usa uma arquitetura paralela distribuída, dá-se

109

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 121: III WVC 2007

pelo fato dos cálculos efetuados pelas máscaras serem volumosos, garantindo uma melhoria do uso em paralelo uma vez que a comunicação imposta se torna desprezível quando comparada ao ganho em relação aos cálculos efetuados.

0

2000

4000

6000

8000

10000

12000

14000

16000

18000

Média

do

Tempo

de E

xecu

ção

(ms)

3 4 5 6 7 8

Número de Processos

Sequencial

3 Máquinas

4 Máquinas

5 Máquinas

Figura 9 – Média do tempo de execução da aplicação

seqüencial comparada com a aplicação paralela do

filtro de mediana de máscara 7x7 fazendo uso do

ambiente de troca de mensagens JPVM.

Na Figura 10 podem ser observados os tempos de execução seqüencial e paralelo do mpiJava e do JPVM. Observa-se que a JPVM apresenta um melhor desempenho se comparado com a mpiJava, o que pode ser um indicativo que a biblioteca JPVM possui um comportamento relativamente melhor que a mpiJava para o filtro de mediana. De qualquer forma, em ambos os casos o desempenho médio da execução em paralelo é significativamente melhor que o da seqüencial.

0

2000

4000

6000

8000

10000

12000

14000

16000

18000

20000

3 4 5 6 7 8Número de Processos

Média

do

Tempo

de E

xecu

ção

(ms) Sequencial

mpiJava

JPVM

Figura 10 – Média do tempo de execução da aplicação

seqüencial comparada com as aplicações paralelas

do filtro de mediana de máscara 7x7 fazendo uso dos

ambientes de troca de mensagem mpiJava e JPVM.

O número de processos mostrou ser um fator muito importante. No caso da biblioteca JPVM, o melhor número de processos é o mesmo que o número de máquinas que forma a máquina virtual. Já na mpiJava, o melhor resultado é obtido quando se tem um número maior de processos do que o número de máquinas participantes. Isso é devido ao fato de que a mpiJava usa um processo mestre que é contabilizado, mas não efetua a tarefa escrava propriamente dita.

As Figuras 11 e 12 apresentam os resultados da execução seqüencial do filtro de detecção de bordas bem como as execuções em paralelo do mesmo algoritmo em 4 e 5 máquinas utilizando máscara de tamanho 11x11 com as bibliotecas mpiJava e JPVM, respectivamente.

0

2000

4000

6000

8000

10000

12000

14000

16000

18000

Média

do

Tempo

de E

xcu

ção

(ms)

3 4 5 6 7 8

Número de Processos

Sequencial

4 Máquinas

5 Máquinas

Figura 11 – Média do tempo de execução da aplicação

seqüencial comparada com a aplicação paralela do

filtro de detecção de borda de máscara 11x11 fazendo

uso do ambiente de troca de mensagem mpiJava.

0

2000

4000

6000

8000

10000

12000

14000

16000

18000

Média

do

Tempo

de E

xecu

ção

(ms)

3 4 5 6 7 8

Número de Processos

Sequencial

4 Máquinas

5 Máquinas

Figura 12 – Média do tempo de execução da aplicação

seqüencial comparada com a aplicação paralela do

filtro de detecção de borda de máscara 11x11 fazendo

uso do ambiente de troca de mensagem JPVM.

É possível observar que independentemente do número de processos iniciados, o tempo médio paralelo, tanto fazendo uso do mpiJava quanto do JPVM, é sempre melhor que o seqüencial. Nas Figuras 13 e 14 são apresentados os tempos de

execução seqüencial e paralelo da mpiJava e da JPVM do filtro de detecção de bordas em 5 máquinas, com a utilização de máscara de tamanho 9x9 e 11x11, respectivamente. Pode-se observar que, da mesma forma que o filtro de mediana, considerando-se JPVM ou mpiJava, o desempenho médio da execução em paralelo é significativamente melhor que o da seqüencial. Com a utilização de máscara de tamanho 9x9, observa-

se que o JPVM apresenta um melhor desempenho se comparado com o mpiJava. O mpiJava consegue um melhor resultado que o JPVM quando o número de processos passa a ser maior, em uma unidade, que o número de máquinas utilizadas, ou seja, 5 máquinas e 6 processos.

110

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 122: III WVC 2007

Já com a utilização de máscara de tamanho 11x11, observa-se que o mpiJava apresenta um melhor desempenho se comparado com o JPVM. Isso implica que para se avaliar corretamente as bibliotecas novos estudos devem ser efetuados a fim de determinar suas diferenças e definir qual é a melhor, seja de forma geral ou específica, para alguns tipos de algoritmos de processamento de imagens.

0

2000

4000

6000

8000

10000

12000

14000

16000

18000

20000

3 4 5 6 7 8Número de Processos

Média

do

Tempo

de E

xecu

ção

(ms)

Sequencial

mpiJava

JPVM

Figura 13 – Média do tempo de execução da aplicação

seqüencial comparada com as aplicações paralelas

do filtro de detecção de borda de máscara 9x9

fazendo uso dos ambientes de troca de mensagem

mpiJava e JPVM.

0

2000

4000

6000

8000

10000

12000

14000

16000

18000

20000

3 4 5 6 7 8Número de Processos

Média

do

Tempo

de E

xecu

ção

(ms)

Sequencial

mpiJava

JPVM

Figura 14 – Média do tempo de execução da aplicação

seqüencial comparada com as aplicações paralelas

do filtro de detecção de borda de máscara 11x11

fazendo uso do ambiente de troca de mensagem

mpiJava e JPVM.

6. Conclusões

Partindo-se dos resultados obtidos pode-se verificar que existe um ganho em usar o processamento paralelo distribuído quando se pensa em processamento de imagens médicas. Acredita-se que a utilização de outros filtros no domínio espacial também possa prover melhora significativa de desempenho para a versão paralela quando comparada à execução seqüencial. Apesar do resultado não ser favorável à execução

paralela do filtro mediana quando aplicada a máscara 3x3 e, em alguns, casos a máscara 5x5, foi possível observar que para processamentos intensos o uso do processamento paralelo é bastante vantajoso e garante a otimização no

tempo de execução de algoritmos de processamento de imagens. Com base nesses resultados obtidos têm-se como

trabalhos futuros o desenvolvimento de novos algoritmos de processamento de imagens bem como a avaliação de outros algoritmos de ordenação presentes nestes algoritmos de processamento. Acredita-se também que a paralelização dos algoritmos de ordenação presentes nos algoritmos de processamento de imagens possa prover melhora significativa no desempenho dos mesmos. Além disso, testes adicionais devem ser executados

para avaliar também qual das duas bibliotecas utilizadas (JPVM e mpiJava) apresenta melhor desempenho, uma vez que para um mesmo filtro dependendo da máscara utilizada houve um comportamento diferente entre as mesmas. O desenvolvimento paralelo de outros algoritmos de processamento de imagens permitirá a obtenção de um conjunto maior de dados a partir do qual informações poderão ser extraídas com maior fidelidade a fim de construir uma base de comparação efetiva tanto no tocante aos algoritmos quanto as bibliotecas de passagem de mensagem.

Referências [1] Baker, M. et al. (1998) mpiJava: A Java Interface to MPI. Submitted to First UKWorkshop on Java for High Performance Network Computing, Europar.

[2] Barbosa, Jorge M. G. (2000) Paralelismo em Processamento e Análise de Imagem Médica. Tese (Doutorado) apresentada ao Departamento de Engenharia Electrotécnica e de Computadores – Faculdade de Engenharia da Universidade do Porto, p.240.

[3] Ferrari, A. J.; (1998) JPVM: Network parallel computing in Java, In ACM 1998 Workshop on Java for High-Performance Network Computing, Palo Alto, February 1998. Concurrency: Pactice and Experience.

[4] Gonzalez, R. C.; Woods, R. E. (2002). Digital Image Processing. Addison-Wesley Publishing Company, Massachusetts, 2a. Edição.

[5] Jain, R. The Art of Computer Systems Performance Analysis: Techniques for Experimental Design, Measurement, Simulation, and Modeling. John Wiley & Sons, 1991.

[6] Nunes, F. L. S. M. (2001) Investigações em Processamento de Imagens Mamográficas para Auxílio ao Diagnóstico de Mamas Densas. São Carlos, p.230. Tese (Doutorado) apresentada ao Instituto de Física de São Carlos – Universidade de São Paulo.

[7] Saito, P. T. M.; Sabatine, R. J.; Nunes, F. L. S.; Branco, K. R. L. J. C. Uso da Computação Paralela Distribuída para Melhoria no Tempo de Processamento de Imagens Médicas. XIV Escola Regional de Informática da SBC - ERI-PR. Guarapuava, PR. 2007, pág 36 a 47, 2007.

111

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 123: III WVC 2007

Predição da maturidade óssea utilizando proporção áurea

C.J. Olivete, E. L. L. Rodrigues

USP / Escola de Engenharia de São Carlos - Departamento de Engenharia Elétrica, São Carlos, São

Paulo, Brasil

olivete, [email protected]

Abstract

Clinical assessment of skeletal age is a frequent, but yet

difficult and time-consuming task. Automatic methods,

which estimate the skeletal age from hand radiography,

are currently being studied. The aim of the present study

was to verify the presence of the golden proportion among

some ossification centers measurements of hand bone.

There were used 250 hand X-rays from children’s with

among six and 15 years old. The sample was divided using

the software Anacarp and with support of Prof. Dr.

Francisco Haiter Neto. It was selected 3 ossification

centers, generating 3 ratios. The results were analyzed

using the t-Student test (5%). Among the 3 ratios, one

presented tendency to the golden proportion in all image

database.

1. Introdução A estimação da maturidade óssea é uma das mais

importantes aplicações da radiografia carpal na área da

radiologia pediátrica. A maturidade pode ser obtida através

da análise de características dos ossos da mão (por

exemplo: dimensão dos ossos, formato dos centros de

ossificação), tomando como referência um método de

estimativa, sendo os mais difundidos: Greulich & Pyle

(G&P), Tanner & Whitehouse (T&W) e Eklof & Ringertz

(E&R) [1]. O método de G&P baseia-se em um Atlas para

estimar a idade óssea; o de T&W em padrões e escores; já

o de E&R utiliza-se de medidas de centros de ossificação

(ossos das falanges, metacárpicos e carpo) [1].

Nesta linha de pesquisa, pode-se citar o trabalho de

Taffarel, Wangenhein e Silva [2], que desenvolveram uma

metodologia de estimação da idade óssea através da

automatização do método de T&W e o de Haiter et al. [1],

que realiza um estudo com o objetivo de verificar se os

métodos de G&P, T&W e E&R podem ser aplicados à

população brasileira e qual destes métodos apresenta

melhores resultados, na indicação da idade óssea do

indivíduo. Outro estudo importante foi o de Tavano [3], em

sua tese de doutorado, em 1976, na qual determinou a

idade óssea de 590 crianças brasileiras (sexo masculino e

feminino), através dos índices de G&P, T&W e de E&R.

A análise das características utilizadas na determinação

da idade óssea pode ser muito trabalhosa, devido aos

diferentes níveis de intensidade que as imagens

apresentam, dificultando a segmentação dos ossos (centros

de ossificação) do tecido. Outro fator que frequentemente

atrapalha os procedimentos está diretamente ligado a

problemas com a aquisição das imagens. O objetivo dessa

metodologia é propor novas maneiras de acompanhar o

crescimento ósseo baseando-se apenas na analise da

presença do número de ouro em determinadas dimensões

(comprimentos) de alguns centros de ossificação, mais

especificadamente os pertencentes às falanges e

metacarpos do terceiro dedo. Esses ossos foram

selecionados por fazerem parte dos centros de ossificação

utilizados pelo método de E&R e já terem sido estudados

anteriormente em outras pesquisas, como por exemplo, no

trabalho de Olivete e Rodrigues [4,6] .

2. Metodologia

2.1. Banco de imagens Foram realizados experimentos usando o conjunto de

imagens do banco de dados da EESC – USP

(www.carpal.eesc.usp.br) [7] formado por imagens

radiográficas da mão esquerda, de ambos os sexos, com

faixa etária de 6 a 15 anos, conforme ilustra a Figura 1. As

informações armazenadas estão relacionadas ao nome,

idade cronológica, data de aquisição da imagem, resolução

de digitalização e laudo médico. A resolução utilizada na

digitalização das imagens foi de 96 dpi (dots per inch), de

modo que cada pixel possui aproximadamente 0.0265 mm.

Esta resolução foi adotada a fim de agilizar o

processamento e por não interferir na qualidade da

imagem.

Distribuição dos indivíduos por idade óssea

7 anos11%

8 anos9%

9 anos11%

10 anos12%

11 anos12%

12 anos11%

15 anos8%

13 anos11%

14 anos12%

6 anos3%

Figura 1: Distribuição das imagens de acordo com a idade óssea.

112

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 124: III WVC 2007

As divisões das amostras, observadas na Figura 1,

foram geradas tomando como base os valores dos laudos

médicos, obtidos com a colaboração do Prof. Dr. Francisco

Haiter Neto [1] e com o auxílio do Anacarp [4]. Todas as

imagens foram laudadas tomando como base os métodos

de E&R, T&W e G&P.

2.2. Análise do número de ouro Esta metodologia visa analisar o crescimento ósseo do

paciente tomando por base a análise da presença da

proporção áurea [5] nos ossos da mão, mais

especificamente os pertencentes às falanges e metacarpos

do terceiro dedo (Figura 2), ou seja, o comprimento da

terceira falange proximal, o comprimento da terceira

falange média e o comprimento do terceiro metacarpo.

Esses ossos foram selecionados por fazerem parte dos

centros de ossificação utilizados pelo método de E&R e já

estudados nos trabalhos realizados anteriormente [4,6].

2.2.1. Razões obtidas no estudo Os três fatores propostos para o conjunto de imagens

determinaram três razões (ver Tabela 1), sendo que a

proporção é feita sempre entre a maior medida e a menor.

Após analisar a amostra verificou-se a presença do número

de ouro (ou proporção divina, ou número áureo, ou

proporção áurea, etc...) apenas entre a razão representada

pelas falanges proximal e média (representado por R1 na

Tabela 2 e ilustrada pela Figura 2).

“Dois fatores diferentes, e somente dois, podem

fornecer uma proporção áurea. Sejam as grandezas a e b,

sua soma (a+b) fornece o termo requerido (a+b)/a = a/b,

que é uma proporção que se funda no número de ouro, que

se obtêm quando a/b=1.6180 e b/a=0.6180”.[5]

Tabela 1: Razões selecionadas Razão Fator 1 Fator 2

R1 Terceira falange proximal Terceira falange média

R2 Terceiro metacarpo Terceira falange média

R3 Terceiro metacarpo Terceira falange proximal

A Figura 2 traz o posicionamento da razão R1 dentro

dos ossos da mão.

Figura 2: Razão R1 – relação entre o comprimento da terceira falange proximal e o comprimento da terceira falange média

A fim de verificar se esta estimativa poderia representar

o número áureo (1,618), aplicou-se o teste t de Student,

adotando-se 5% de significância. Por meio deste teste, para

cada razão, o valor estimado correspondente às fases de

crescimento analisadas, foi comparado ao número de ouro.

Valores estimados que poderiam representar o número

áureo, ficaram dentro da faixa de significância do teste

(estes resultados são apresentados na coluna |A - B| da

Tabela 2 e Tabela 3). Para ilustrar a aplicação deste teste, é

apresentada na Tabela 2, uma parte dos resultados dessa

análise (utilizando a razão R1). O mesmo teste foi

conduzido para as razões R2 e R3 e, em ambos os casos, os

resultados obtidos quanto à estimativa óssea foram

insatisfatórios, ou seja, ficaram fora da faixa de

significância. Os resultados para a razão R2 são

apresentados na Tabela 3 e, os da razão R3 não foram

apresentados por apresentarem resultados insatisfatórios.

Tabela 2: Análise da razão entre os fatores selecionados – razão R1

ImagemF1/F2

(A)(F1+F2)/F1

(B)F2/F1 |A - B|

1 1.6694 1.5990 0.5990 0.07042 1.6161 1.6188 0.6188 0.0027

3 1.6175 1.6182 0.6182 0.0007

4 1.6122 1.6203 0.6203 0.0080

5 1.6198 1.6173 0.6173 0.0025

6 1.7008 1.5879 0.5879 0.11297 1.6199 1.6173 0.6173 0.0025

8 1.7167 1.5825 0.5825 0.13429 1.6186 1.6178 0.6178 0.0008

F1: Comprimento da terceira falange proximal

F2: Comprimento da terceira falange média

|A - B|: Diferença, em módulo, dos dois fatores que fornecem a

proporção áurea

Os valores em negrito (última coluna) indicam estimativas fora

da faixa de significância (maior que 0.05) do número áureo.

113

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 125: III WVC 2007

Tabela 3: Análise da razão entre os fatores selecionados – razão R2

ImagemF1/F2

(A)(F1+F2)/F1

(B)F2/F1 |A - B|

1 1.5346 1.6516 0.6516 0.11702 1.5667 1.6383 0.6383 0.07153 1.5130 1.6610 0.6610 0.14804 1.8200 1.5495 0.5495 0.27055 1.5969 1.6262 0.6262 0.0294

6 1.5182 1.6587 0.6587 0.1405F1: Comprimento do terceiro metacarpo

F2: Comprimento da terceira falange média

|A - B|: Diferença, em módulo, dos dois fatores que fornecem a

proporção áurea

Os valores em negrito (última coluna da Tabela) indicam

estimativas fora da faixa de significância (maior que 0.05) do

número áureo

Como pode ser visto na Tabela 2, os fatores

representados pelas falanges proximais e médias (R1)

apresentam a razão áurea (número de ouro) em grande

parte das imagens analisadas. Buscando a análise do

crescimento humano, uma desordem pode ser notada

quando a diferença (em módulo), representado por |A - B|nas tabelas anteriores, fica fora da faixa de significância

(5% utilizando o teste t de Student). Os resultados obtidos

com as razões R2 (apresentados na Tabela 3) e R3 foram

insatisfatórios e descartados nas análises posteriores.

O próximo item apresenta os resultados do

comportamento da razão selecionada (R1), aplicada nas

imagens do banco de dados baseando-se no laudo de E&R

(primeira análise) e na média dos três laudos (E&R, T&W

e G&P) na segunda análise.

3. Resultados e Discussões

Para verificação da razão R1 utilizada na avaliação do

crescimento ósseo, aplicou-se o mesmo procedimento

demonstrado na Tabela 2, para indivíduos com o

crescimento normal (a) (quando o valor do laudo médico

coincide com a idade cronológica, levando em

consideração um desvio padrão de 6 meses), para

indivíduos com crescimento desordenado (b) e para a base

de imagens completa (c), sem conhecimento prévio dos

laudos, ou seja, aplicação de teste cego. Os gráficos da

Figura 3 foram obtidos levando em consideração o laudo

médico obtido por E&R.

Concordância para os pacientes com crescimento normal - laudo de E&R

Acerto96.55%

Erro3.45%

(a)

Concordância para os pacientes com crescimento desordenado - laudo de E&R

Acerto90.63%

Erro9.38%

(b)

Concordância em relação à amostra geral - laudo de E&R

Acerto93.44%

Erro6.56%

(c)Figura 3: Taxa de concordância para estimação da idade óssea utilizando proporção áurea comparada ao laudo de E&R, em pacientes com crescimento normal (a), desordenado (b) e para a amostra completa (c).

Analisando a Figura 3 verifica-se alta concordância da

proporção áurea em todos os casos. Os resultados foram

satisfatórios tanto para os pacientes com crescimento

ordenado quanto desordenado, alcançando 96.55% de

concordância para o crescimento correto e 90.63% para o

desordenado. Quando aplicada na amostra completa (sem

conhecimento prévio de laudo), obteve uma concordância

de aproximadamente 94%. O mesmo procedimento foi

realizado baseando-se também nos laudos de G&P e T&W.

A tabela a seguir, mostra estes resultados.

Tabela 4: Taxa de concordância para a relação utilizando pacientes com crescimento normal, desordenado e teste cego para a amostra completa, utilizando como referência o laudo de G&P e T&W.

G&P T&WConcordância Erro Concordância Erro

Crescimentonormal

91% 9% 94% 6%

Crescimentodesordenado

88% 12% 85% 15%

Amostracompleta

91% 9% 91% 9%

114

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 126: III WVC 2007

Observando os dados apresentados na Tabela 4, nota-se

que os resultados alcançados foram bem semelhantes com

aqueles alcançados em relação ao método E&R, obtendo

no pior caso 85% de concordância (método de T&W) e

chegando a 91% no melhor caso para o método de G&P.

O mesmo procedimento foi conduzido para o conjunto

de imagens tomando como base o valor médio entre os

laudos médicos (E&R, G&P e T&W). Esses resultados são

expressos na Figura 4.

Concordância para os pacientes com crescimento normal - média dos laudos

Acerto98.04%

Erro1.96%

(a)

Concordância para os pacientes com crescimento desordenado - média dos

laudos

Acerto100.00%

Erro0.00%

(b)

Concordância em relação à amostra - média doslaudos

Acerto98.36%

Erro1.64%

(c)Figura 4: Taxa de concordância para estimação da idade óssea utilizando proporção áurea comparada à media dos laudos (E&R, G&P e T&W), em pacientes com crescimento normal (a), desordenado (b) e para a amostra completa (c).

Observando a Figura 4, verifica-se uma elevada

concordância da metodologia quando a comparação leva

em consideração o valor médio dos três laudos (obtidos

através de G&P, T&W e E&R), alcançando no pior caso

98.04% de concordância.

4. Conclusões

Através dos resultados obtidos, foi possível concluir

que existe a presença da proporção áurea entre alguns

centros de ossificação dos ossos da mão, trazendo

informações importantes para a análise do crescimento

ósseo em pacientes na faixa etária de 6 a 15 anos.

Das três razões analisadas, apenas a formada pelo

comprimento da terceira falange proximal e terceira

falange média (razão R1) apresentou a tendência à

proporção áurea em todos os casos estudados – pacientes

com crescimento normal, desordenado e teste cego para a

amostra completa, utilizando os métodos de E&R, G&P e

T&W. Estes resultados foram expressos nas Figura 3 e 4 e

Tabela 4, mostrando que é possível verificar o estágio de

crescimento de um indivíduo através desta proporção

áurea.

Uma outra maneira de realizar o acompanhamento do

crescimento ósseo foi feito através da presença da

seqüência de Fibonacci entre as falanges e metacarpos. Os

resultados obtidos foram coerentes, podendo ser analisado

o crescimento através desta seqüência. Por fim, também foi

criada uma nova metodologia que se baseia em medidas de

área de determinados centros de ossificação para estimar a

idade óssea. Os resultados podem ser observados no

trabalho de Olivete e Rodrigues [6].

5. Referências

[1] HAITER, F.; KURITA, L. M.; CASANOVA, M. S. “Skeletal

age assessment: A comparison of 3 methods”, American Journal

of Orthodontics and Dentofacial Orthopedics, October, 2006.

[2] TAFFAREL, B.; WANGENHEIN, A. V.; SILVA, P. C. A.,

“Processamento de Imagens para Análise e Estimativa de

Problemas de Crescimento Ósseo em Crianças”, III Workshop de

Informática aplicada à Saúde - CBComp 2003, Universidade

Federal de Santa Catarina, Florianópolis, SC, Brasil, 2003.

[3] TAVANO, O; Radiografias Carpal e Cefalométrica como

Estimadores da Idade Óssea e do Crescimento e

Desenvolvimento, Bauru – Brasil, 2001.

[4] OLIVETE, C.J.; RODRIGUES, E.LL., “Estimador da Idade

Óssea via Análise Carpal/Anacarp – Software para Estimação da

Idade Óssea Baseado no Método de Eklof & Ringertz”, VI WIM -

Workshop de Informática Médica, pág. 123 – 131, 2006.

[5] SILVA, M.A.S. “Estudo da proporção divina na arquitetura do

crânio de indivíduos com oclusão em Classe II de Angle, a partir

de radiografias cefalométricas laterais”. 2003. 106f. Dissertação,

Faculdade de Odontologia de São José dos Campos, Universidade

Estadual Paulista, 2003

[6] OLIVETE, C.J.; RODRIGUES, E.LL., “Determinação da

Idade Óssea Através da Análise de Dimensões dos Ossos da

Mão”, XII CBFM – Congresso Brasileiro de Física Médica, Foz

do Iguaçu, 2007.

[7] Banco de Dados de Imagens Carpais – EESC/USP disponível em

http://www.carpal.eesc.usp.br

115

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 127: III WVC 2007

Análise da Desintegração de Comprimidos por Algoritmos de Fluxo Óptico em Seqüências de Imagens de Biosusceptometria AC

Fonseca, P.R.1; Corá, L.A.

1; Stelzer, M.

1; Miranda J.R.A.

1*;

1Departamento de Física e Biofísica – Inst. Biociências de Botucatu - UNESP

*e-mail: [email protected]

Resumo

A administração oral de formas farmacêuticas sólidas

é comum na terapêutica e os métodos de imagem médica

são essenciais para avaliar os processos relacionados

com a liberação do princípio ativo. A cintilografia é a

técnica padrão, porém, o uso de radiação ionizante limita

o número de ensaios tanto pelo custo quanto pela dose

radiológica aplicada ao voluntário no caso de medidas in

vivo. Isso faz com que técnicas livres de radiação

ionizante ou não-invasivas mereçam destaque.

Os métodos biomagnéticos representam uma

alternativa promissora na pesquisa clínica, fisiológica e

farmacêutica. A Biosusceptometria de Corrente

Alternada (BAC) utiliza bobinas de indução para detectar

a variação do fluxo magnético resultante da resposta de

um material magnético próximo ao sistema.

Recentemente, um sistema de BAC multi-sensores foi

aplicado para avaliar a desintegração de comprimidos in

vitro in vivo abrindo uma nova aplicabilidade para

técnicas de processamento de imagens digitais, tais como

a estimativa de movimento aparente pelo algoritmo de

Lucas e Kanade, também denominado fluxo óptico. O

objetivo deste estudo foi associar esta nova técinica de

imagens biomagnéticas a algoritmos de fluxo óptico para

desenvolver uma nova forma de análise do processo de

desintegração de comprimidos.

Quando aplicadas as análises por fluxo óptico,

obteve-se uma aplicabilidade inédita de boa qualidade na

qual se quantifica a desintegração de formas

farmacêuticas sólidas não só por curvas de expansão de

área, como também por informações de movimento

detectado na seqüência de imagens. Desse modo,

algoritmos de fluxo óptico podem vir a ser

implementados para auxiliar no controle de qualidade

para a indústria farmacêutica.

1. Introdução

Métodos de imagem médica como Cintilogragia [1],

SQUID [2] e Ressonância Magnética [3] consagraram-se

como ferramentas básicas na pesquisa farmacêutica.

Recentemente a Biosusceptometria de Corrente Alternada

(BAC) foi proposta como técnica alternativa aos métodos

atuais, que possuem alto custo operacional ou empregam

de radiação ionizante, destacando-se por sua eficácia ao

monitorar formas farmacêuticas sólidas (FFS)

magneticamente marcadas através de imagens do

processo de desintegração in vitro e in vivo [4].

Todavia, uma análise que envolva informações sobre o

arranjo espacial, a distribuição de partículas de um

determinado traçador contido na FFS, a taxa de mudança

desse arranjo e o deslocamento das partículas durante o

processo de desintegração ainda não foi desenvolvida.

Como a informação “primária” em análises de mapas

de fluxo óptico consiste justamente de informações sobre

o arranjo de um sistema e a sua taxa de mudança no

tempo, a associação dessa metodologia aos resultados

obtidos pela BAC para avaliar a desintegração de

comprimidos mostrou-se bastante promissora.

2. Objetivos

Buscando associar esta nova técnica de imagens

biomagnéticas a algoritmos de estimativa de movimento

em seqüências de imagens, o objetivo foi avaliar a

desintegração de comprimidos através de mapas de fluxo

óptico, desenvolvendo uma nova forma de análise do

processo de desintegração de formas farmacêuticas

sólidas.

3. Materiais e Métodos

A BAC tem seu princípio de funcionamento regido na

Lei de Indução de Faraday, onde utiliza um par de

bobinas de excitação e um par de bobinas de detecção

coaxialmente arranjadas em configuração gradiométrica

de primeira ordem separadas por uma distância fixa (linha

de base do sistema) para monitorar um material com alta

susceptibilidade magnética (ferrita - MnFe2O4).

Cada par de bobinas (excitação/detecção) pode ser

considerado como um transformador simples de fluxo

magnético com núcleo de ar, que permite a transferência

de energia eletromagnética devido ao campo magnético

alternado gerado pela bobina de excitação sobre a bobina

de detecção. Assim, o par mais próximo do material

magnético atua como medida e o mais distante como

referência, conforme fig. 1.

116

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 128: III WVC 2007

Quando não houver material magnético nas

proximidades do sistema de medida, o sinal de saída seja

minimizado. Aproximando-se uma massa magnética em

um dos lados do sistema, ocorrerá um desbalanceamento

no fluxo magnético (resultante do acoplamento entre a

massa magnética e a bobina detectora), o que permite a

medida e o monitoramento deste material continuamente

através de amplificadores “Lock-in”, uma placa A/D de

16bits e um computador.

O sistema de BAC com multisensores de sete canais

possui um par de bobinas de excitação ( = 11,0cm) e

sete pares de bobinas de detecção ( = 3,0cm) arranjados

coaxialmente em configuração gradiométrica de primeira

ordem (fig. 2).

Os sinais magnéticos são digitalizados (freqüência de

amostragem de 10 Hz) e armazenados em formato ASCII

para posterior processamento e análise. Conforme

descrito por Corá et al [4], cada um dos sete canais são

representados espacialmente em uma matriz quadrada 7x7

correspondente à configuração dos multi-sensores. A cada

três segundos, calcula-se a média de cada canal e esse

valor é atribuído ao ponto da matriz correspondente ao

canal (freqüência de amostragem de 0,33 Hz). Tendo os

sete pontos fixos na matriz, os demais pontos são

calculados por média entre vizinhos e em seguida essa

matriz é interpolada (256x256) pelo método spline para

aumentar a resolução espacial da imagem do comprimido

magnético in vitro, que será submetida a subtração de

background, ajustes de brilho e contraste e segmentação

(para medidas de área do comprimido).

Figura 1: Esquema de funcionamento da

Biosusceptometria AC.

Os comprimidos magneticamente marcados foram

obtidos por compressão direta de 1,00g de ferrita e

excipientes e em seguida revestidos por solução de

polímero pH-dependente Eudragit E100. Os ensaios

foram realizados em um recipiente de teste contendo 1,0

litro de solução que simula o pH gástrico (HCl 0,1N; pH

1,2, 36,5ºC) que foi posicionado próximo ao sistema de

BAC multi-sensores.

Para estimar o fluxo óptico (que é a distribuição das

velocidades aparentes de movimento de padrões de brilho

em uma imagem) adotou-se o algoritmo de Lucas &

Kanade [5,6], também denominado método das

diferenças. Esse método possui bom desempenho quando

enfatizando a precisão e a densidade de medidas,

conforme constam os estudos comparativos realizados por

Barron et al [7] e Galvin et al [8]. Feito o pré-

processamento (subtração de background e suavização

por filtro Gaussiano), os gradientes espaciais são

computados na primeira imagem e o gradiente temporal é

calculado, pela diferença entre a imagem atual e a

seguinte para estimar o fluxo óptico. As imagens dos

testes in vitro foram tomadas em quatro fases: dissolução

de revestimento, início e final da desintegração e

espalhamento de material. Todos os procedimentos de

análise qualitativa e quantitativa destes sinais

digitalizados, além da obtenção e processamento das

imagens magnéticas foram realizados totalmente em

ambiente MatLab® (Mathworks Inc.).

Figura 2: Sistema de BAC com sete sensores.

4. Resultados

A figura 3 ilustra o sinal coletado durante a

desintegração de um comprimido in vitro com a indicação

das quatro fases da desintegração avaliadas e a

correspondência de cores ao arranjo espacial dos sensores

da BAC.

117

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 129: III WVC 2007

Figura 3: Sinal de desintegração de comprimido in vitro

com a indicação das quatro fases da desintegração avaliadas

e sua correspondência no arranjo dos sensores da BAC.

As ilustrações da figura 4 são uma composição da

região de interesse das imagens 1 (ao fundo) e 2

(contornos em branco) associada aos sub-mapas de fluxo

de alta intensidade (verde), média intensidade (vermelho)

e baixa intensidade (rosa).

c)

d)

Figura 4: Mapas e sub-mapas de fluxo óptico obtidos

para a comparação entre imagens correspondentes a: a)

comprimido intacto e dissolução de revestimento; b)

dissolução de revestimento e início da desintegração; c)

início e fim da desintegração; d) fim da desintegração e

estabilização do material.

a)A figura 5.a apresenta o módulo máximo e o fluxo

óptico resultante em função do tempo (em unidades

arbitrárias). Na figura 5.b o fluxo óptico resultante foi

normalizado pelo módulo máximo e apresentado em

função do tempo

a)

b)

118

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 130: III WVC 2007

b

)

Figura 5: a) Módulo máximo e módulo do fluxo

óptico resultante de cada imagem em função do tempo; b)

Módulo fluxo ótico resultante normalizado pelo módulo

máximo de cada imagem;

5. Discussão

A imagem da figura 4.a corresponde à transição de

uma FFS intacta para a primeira fase do processo de

desintegração, ou seja, o fluxo óptico foi calculado entre a

imagem do comprimido intacto e a imagem do mesmo

comprimido quando seu revestimento está em dissolução

pela solução ácida do recipiente de testes, com pouca

expansão de área. O fluxo óptico obtido apresentava um

movimento aparente do núcleo do comprimido para fora,

ou seja, as alterações de brilho na imagem indicavam

expansão. Quando foram gerados os sub-mapas de fluxo,

notou-se que os fluxos de média e alta intensidade

estavam quase totalmente sobrepostos ao fluxo resultante,

o que sugere que todo o movimento detectado nestas

imagens correspondia a expansões. Olhando para os

vetores de baixa intensidade, nota-se que há um pequeno

movimento na porção média do comprimido, também no

sentido de expansão.

O movimento dantes prenunciado por vetores de baixa

intensidade na figura 4.a vem a se confirmar na figura

4.b, que corresponde à transição entre a dissolução do

revestimento e o início da desintegração, ou seja, foi

comparada a imagem obtida de quando comprimido

apresentava pouca expansão de área e ainda tinha uma

parte de seu revestimento em dissolução com imagem

gerada quando o comprimido já apresentava expansão em

todas as direções, mas que foram documentadas por todos

os mapas de fluxos somente como um movimento

expansivo para “fora” do comprimido e de maior

intensidade que o fluxo obtido na figura 4.a, conforme

apresentado na curva de fluxo óptico resultante da figura

5.a. Tal “unanimidade” na orientação dos mapas de fluxo,

dada a orientação dos movimentos de baixa intensidade

(vetores cor de rosa), indicava que o movimento

detectado nesta comparação entre imagens também seria

encontrado ao calcular o fluxo óptico para o par de

imagens seguintes, o que se confirmou na figura 4.b.

Já a figura 4.b apresenta o fluxo óptico calculado para

a transição entre o início e o final da desintegração, ou

seja, foram comparadas as imagens de um comprimido

que iniciou uma forte expansão volumétrica (detectada

pela BAC como expansão de área) e a imagem de um

comprimido que já atingiu seu máximo de expansão,

quando se considera que a força resultante que age sobre

ele (somatório das forças de expansão oriundas

principalmente do desintegrante) é nula.

Neste caso, o mapa de fluxo óptico resultante e os

sub-mapas de alta e média intensidade obtidos

apresentaram resultantes ainda voltadas à expansão do

comprimido, embora com menor intensidade do que as

encontradas até então. Contrariamente aos demais sub-

mapas, aquele representativo do fluxo óptico de baixa

intensidade apresentou movimentos quase que aleatórios

no interior da FFS, ou seja, dos poucos movimentos de

baixa intensidade detectados, não havia direção nem

sentido preferenciais no núcleo da FFS. Tal

“aleatoriedade” de movimentação pode ser justificada

pela ausência das forças de expansão criadas pelo

desintegrante e podem indicar estabilização do material

(última fase do processo de desintegração).

Isso se confirma quando foi comparada a imagem, do

comprimido no final de sua desintegração e a imagem do

comprimido com seu material já espalhado, estável

(figura 4.d). Nesse instante, todos os mapas de fluxo

resultaram em movimentos “aleatórios”, orientado em sua

maioria contrariamente aos vetores de expansão até agora

encontrados. Isso vem a comprovar a última fase da

desintegração, ou seja, estabilização do material da FFS.

Se forem computados mapas de fluxo em intervalos de

tempo maiores do que os considerados neste trabalho

serão encontrados os mesmos padrões de movimentos,

tendendo, todavia à estabilização e conseqüente anulação

dos mapas de fluxo (ausência de movimento).

A figura 5.a representa o módulo máximo e o fluxo

óptico resultante em função do tempo. O comportamento

das curvas demonstra que todos os movimentos

detectados nas primeiras imagens possuíam a mesma

orientação (grande valor do fluxo óptico resultante) e

grande amplitude (as partículas de ferrita estavam sujeitas

a maiores forças de desintegração, portanto, espalharam-

se rapidamente), indicando um processo rápido de

expansão de área.

Na segunda metade (a partir do tempo 2, em unidades

r– u.a.), a figura 5.a começa a apresentar forte queda nos

valores oriundos de somatório (fluxo óptico resultante)

quanto nos valores absolutos (módulo máximo). Esse

comportamento sugere que os movimentos aparentes

detectados começam a perder amplitude (queda no valor

do módulo máximo) por causa da diminuição na força de

desintegração e não indica também o início de uma

119

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 131: III WVC 2007

aleatoriedade de movimento (baixo valor da soma vetorial

do mapa), não havendo uma “direção preferencial” para

expansão do material, confirmando estabilização do

material e o fim do período da desintegração.

Esse comportamento aleatório passa a ser o

responsável também pela “aproximação” das duas curvas,

uma vez que os movimentos tornam-se cada vez mais

desorientados, o somatório passa a representar

significativamente somente os vetores com maior módulo,

ou seja, aqueles apresentados na curva em preto.

Um comportamento interessante foi notado quando

foram normalizados os valores de cada vetor resultante

pelo módulo máximo de cada período, resultando na

curva decrescente no tempo apresentada na figura 5.b.

Nesta curva observa-se que o período no qual ocorreu a

maior queda de intensidade normalizada correspondia ao

período de maior expansão de área (início da

desintegração), ou seja, conforme o comprimido sofreu

uma forte expansão, os movimentos detectados (que até

então eram bastante intensos) perderam sua intensidade e

indicavam diminuição da força de expansão que agia

sobre as partículas do material magnético.

Na segunda metade do sinal registrado (figura 3), o

sistema registra a “chegada” de material magnético no

“campo de visão” do canal 4. Ao calcular o fluxo óptico

para o mesmo período (fase de estabilização do material)

o vetor resultante (figura 4.d) detectou também essa

mudança. Para certificar tal comportamento, outras

comparações entre imagens desta “região” do sinal

deveriam ter sido avaliadas ser feitas.

É prudente lembrar, porém, que os resultados de fluxo

óptico apresentariam melhor qualidade tanto em

densidade do mapa quanto em precisão do movimento

aparente detectado se as imagens a serem comparadas

fossem tomadas em intervalos de tempo menores entre si;

assim como o mapa de fluxo óptico é dependente do

parâmetro do vetor gaussiano utilizado durante os

cálculos, o que requer varreduras nesses parâmetros a fim

de encontrar “condições ótimas” para estimar movimento

em imagens de desintegração de comprimidos obtidas

pela BAC.

6. Conclusão

Os resultados obtidos a partir de análises por fluxo

óptico possibilitaram, de forma inédita, determinar

instantes de maior “força" de desintegração, bem como

determinar o sentido de espalhamento do material,

acompanhando a evolução de marcador para traçador

magnético, com a vantagem de associar a essa transição

informações sobre a distribuição espacial do material e

sua variação no tempo.

Esses resultados, embora oriundos de estudos

preliminares, implicaram numa aplicação inédita destes

recursos de processamento digital de imagens na área de

farmacotécnica, onde foram aplicados algoritmos para

estimar velocidades de desintegração baseadas nas

imagens temporais. Desse modo, algoritmos de fluxo

óptico podem vir a ser aplicados para auxiliar no controle

de qualidade para a indústria farmacêutica. Para um

futuro trabalho espera-se conseguir também uma

argumentação quantitativa dos processos biológicos

envolvidos, caminhando para descrever e compreender

melhor esses fenômenos relacionados à saúde humana.

7. Agradecimentos

Os autores agradecem o apoio das agências de fomento

FAPESP, CAPES e CNPq/PIBIC.

8. Referências Bibliográficas

[1] I. R.WILDING; A. J. COUPE e S.S. DAVIS

“The role of -scintigraphy in oral drug delivery” Adv.

Drug Deliv. Rev., v. 46, 2001, pp. 103-124.

[2] W. Weitschies et al “Magnetic marker

monitoring of disintegrating capsules”, Eur. J. Pharm.

Sci., v. 13, 2001, pp. 411–416.

[3] S. Kwiecinski, et al “Tablet disintegration

monitored by magnetic resonance imaging”, Appl. Magn.

Reson., v. 22, 2002, pp. 23–29.

[4] L. A. CORÁ, et al “Magnetic images of the

disintegration process of tablets in the human stomach by

ac biosusceptometry”, Phys. Med. Biol., v. 50,2005, pp.

5523-5534.

[5] B.D. Lucas “Generalized Image Matching by

the method of differences”, PhD Dissertation, Dept. of

Computer Science, Carnegie-Mellon University, 1984.

[6] B.D. Lucas e T. Kanade “An Iterative Image

Registratio Technique with an Application to Stereo

Vision”, Proceedings DARPA Image Understanding

Workshop, 1981, pp.121-130.

[7] J.L. Barron, D.J. Fleet e S.S. Beauchemin

“Performance of Optical Flow Techniques”, Int. J.

Comput. Vis. 1994, v. 12, pp. 43-77.

[8] B. Galvin et al “Recovering motion fields: An

evaluation of eight optical flow algorithms”, British

Machine Vision Conference 98, 1998

120

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 132: III WVC 2007

Segmentacao de placas de veıculos usando extracao de caracterısticas

baseado em DFT e agrupamento

Renato Jose Santos Maciel1

[email protected] Tavares dos Passos1

yuri [email protected] Nogueira Matos1

[email protected]

Eduardo Oliveira Freire2

[email protected]

Abstract

License plate recognition systems are used for many

purposes, such as for inspecting the behaviour of drivers

or locating of stolen vehicles. The devolepment of such

systems requires the integration of many approaches of

Computer Vision. The proposed method, which intends

to detect the license plate on an image, is inspired by the

behaviour of human visual system. The primary cortex,

which perform frequency analysis, is simulated in order

to segment the image. A bank of direcional filters in fre-

quency domain is used to extract features from a high di-

mensional space, and the k-means is used to group them.

1. Introducao

Sistemas de reconhecimento de placas de veıculos(License Plate Recognition ou LPR) podem ter diversasaplicacoes. Eles sao utilizados em sistemas automaticoscom as seguintes funcoes: controle do acesso a areasprotegidas [5], monitoramento de trafego [11], lotea-mento de estacionamentos [15], execucao de leis detransito [4], coleta automatica de pedagio [12], e lo-calizacao de veıculos roubados ou registrados para fu-gitivos, criminosos ou contrabandistas [16].

Um sistema LPR e composto por duas partes: a de-teccao da placa de licenca (License Plate Detection ouLPD) e a segmentacao de caracteres da placa de li-cenca (License Plate Character Segmentation ou LPS ).A LPD consiste em detectar a presenca de qualquerplaca numa imagem, enquanto que a LPS tem como ob-jetivo segmentar a placa de licenca em caracteres que

1 Departamento de Computacao – Universidade Federal de Ser-

gipe

2 Nucleo de Engenharia Eletrica – Universidade Federal de Ser-

gipe

serao reconhecidos posteriormente atraves do reconhe-cimento otico de caracteres (optical character recogni-

tion ou OCR).

O problema essencial do reconhecimento de placasde licenca e localizar a placa do automovel em um qua-dro de vıdeo ou imagem. A solucao para tal problemarequer a integracao de muitas abordagens utilizadasna Visao Computacional. Dentre essas estao as adota-das para a deteccao de objetos e para o reconhecimentode caracteres. Ha diversos fatores que influenciam ne-gativamente nos resultados de qualquer sistema LPDe LPS, tais como: condicoes atmosfericas, condicoes deiluminacao ou danos fısicos nas placas.

Segundo [8] muitos algoritmos LPD sao baseados emdeteccao de bordas ou limiarizacao. Em [7], a magni-tude do gradiente e sua variancia local em uma ima-gem e computada. Entao, as regioes com altas mag-nitudes e altas variacoes de bordas sao identificadascomo regioes onde se encontram placas. Em [9], as li-nhas retas sao detectadas usando a transformada deHough e linhas paralelas horizontalmente sao agru-padas como regioes candidatas a placa, supondo queas linhas em uma cena real sao tambem preservadasna imagem capturada. Tambem existem abordagensutilizando operacoes morfologicas [13], redes neurais[10], programacao genetica [1] e combinacoes de carac-terısticas de placas em [3].

Neste trabalho apresentamos uma abordagem para adeteccao de placas de automoveis inspirada em algunsaspectos do funcionamento do sistema visual humano[2]. A abordagem proposta baseia-se em primeiramentesimular a seletividade do cortex visual primario utili-zando um banco de filtros no domınio da frequencia.O resultado dessa filtragem e entao empregado em ummetodo de agrupamento (k-means) utilizado para rea-lizar a segmentacao da imagem.

121

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 133: III WVC 2007

2. Extracao de caracterısticas direcio-nais

A ideia do metodo proposto consiste em decompora imagem em diversas partes menores e classificar cadauma delas com base em caracterısticas, tais como ori-entacao predominante, nıvel de cinza medio, existenciade bordas, etc., que sao de fato elementos que carac-terizam os textons [6] e originam as texturas. Os ele-mentos que caracterizam as texturas sao encontradosindiretamente durante uma etapa de aprendizado.

A segmentacao propriamente e precedida por umaetapa de aprendizado em que se apresenta a um algo-ritmo de reconhecimento de padroes diversas amostrasdos vetores de caracterısticas coletados de uma base deimagens. Esses vetores sao originados de acordo com oprocesso de extracao de caracterısticas apresentado naFigura 1

1 2 3 4

DFT

Funcao detransferencia

Janela deslizante

Imagem

Banco de filtros

Vetor deatributos

Figura 1. Esquema simplificado do processo deextracao de caracterısticas

De acordo com a Figura 1, a Etapa 1 consiste emrealizar o deslocamento de uma janela deslizante sobreuma imagem. Utilizamos uma janela de dimensao 8×8pixels. A janela deslizante realiza uma amostragem lo-cal do sinal luminoso em intervalos regulares. Duranteo treinamento essa janela da saltos de 16 em 16 pixelsamostrando, portanto, regioes nao contıguas da ima-gem. Esses saltos sao realizados para diminuir a quan-tidade de vetores gerados para amostra, ja que paraapenas uma imagem essa quantidade e grande.

A Etapa 2 realiza a transformada de Fourier em 2dimensoes (tambem conhecida como DFT – Discrete

Fourier Transform) e o calculo do logarıtmo da mag-nitude. O espectro da DFT desta sub-imagem e entaolinearizado originando um vetor de 64 posicoes. Mui-tas caracterısticas estruturais que formam uma imagemtıpica da base de imagens de veıculos sao bem carac-terizadas no domınio da frequencia, tais como asfalto,lataria, placa, bordas, etc. Nos experimentos que reali-zamos, observamos tambem que para imagens como as

dessa base as projecoes no domınio da frequencia as-sumem uma disposicao tıpica, o espectro da DFT nor-malmente tem valores significativos somente em algu-mas frequencias mais comuns. Dado que muitos com-ponentes da DFT contribuem com um peso insignifi-cante na sua formacao, a dimensao do padrao podepode ser seguramente reduzida sem prejuızo para o al-goritmo de reconhecimento. Uma forma usual de redu-zir a dimensao do vetor de caracterısticas e atraves deAnalise de Componentes Principais (PCA), que corres-ponde a uma projecao no espaco de saıda da matriz decovariancia dos padroes, permutada em ordem decres-cente dos autovalores. Os vetores projetados neste novoespaco possuem componentes independentes entre si epodem ser descartados com base na analise desses au-tovalores. O calculo de cada um dos componentes, quecorresponde ao produto interno do padrao de entradacom um vetor linha da matriz de projecao, equivale arealizacao de uma filtragem no domınio da frequencia,representado na Figura 1 como Etapa 3. Existem tan-tos filtros quanto o numero de componentes principais.

Componentes

Amostras

Figura 2. Subconjunto dos vetores de treina-mento representados como uma imagem emnıvel de cinza

Os componentes principais, preservados para uso fu-turo, carregam a maior parte da informacao requeridapara a etapa de reconhecimento. Entretanto, se obser-varmos um subconjunto dos vetores de treinamento noespaco projetado (Figura 2) podemos constatar que emalgumas dimensoes os padroes estao muito proximos eque, portanto, sao difıceis de serem agrupados apropri-adamente. Pode ser facilmente atribuıdo a um mesmogrupo padroes que deveriam ser considerados distin-tos. Isso ocorre porque a variancia em cada compo-nente decresce progressivamente do mais ao menos im-portante (Figura 3). Para melhorar a separabilidadeentre as classes, aplica-se a cada componente a funcaosigmoide, que possui a propriedade de mapear sua en-trada no intervalo (0, 1). Se o ganho dessa funcao for

122

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 134: III WVC 2007

muito acentuado, os valores de saıda tenderao aos ex-tremos. Dessa forma, a funcao sigmoide pode ser usadapara distinguir entre o que e relevante (mapeado paravalores proximos de 1) e o que nao e relevante (mape-ado para valores proximos de 0). Assumindo que a dis-tribuicao dos componentes seja aproximadamente nor-mal, para realcar os valores mais a direita da curvade distribuicao de frequencia dos componentes, isto e,aqueles que se alinham mais fortemente com um dos ei-xos do espaco de componentes, aplicamos a funcao detransferencia da Equacao (1).

f(x) =1

1 + e−5((x−µ

σ)−1)

(1)

em que µ e σ correspondem respectivamente a mediae ao desvio padrao da distribuicao do componente x.O coeficiente −5 (ganho) foi ajustado arbitrariamentepara produzir uma rampa de subida mais acentuada e,portanto, maximizar a separabilidade dos padroes desaıda (Figura 4).

0 2 4 6 8

(a) Componente 1

−1 0 1 2 43

(b) Componente 2

−1 1 3−3

(c) Componente 3

0 2−4 −2

(d) Componente 4

Figura 3. Distribuicao de padroes por valores doscomponentes

A transformacao do componente x para escores nor-malizados e posterior subtracao de 1, em (1), faz comque todos os padroes que estao ate um desvio-padraoacima da media (cerca de 84%) sejam mapeados para0. A saıda da funcao de transferencia, portanto, quandoproxima de um, reflete um forte alinhamento entre opadrao e o eixo projetivo correspondente. Como os ei-xos do espaco de saıda sao ortogonais, presume-se queo alinhamento do padrao com algum eixo seja mutua-mente exclusivo, e a saıda produzida seja aproximadapor um vetor cuja lei de formacao e dada pela Equacao(2).

Amostras

Componentes

Figura 4.Vetores de treinamentodafigura 2 aposaplicacao da funcao de transferencia representa-dos como uma imagem em nıvel de cinza

y =< yı ∈ IR > ∧∑

yı =

1 se ∃yı = 10 cc

(2)

Isto e, o vetor y possui todos os componentes nu-los, ou apenas um diferente de zero, cujo valor e iguala um. Naturalmente esses padroes sao mais faceis deserem reconhecidos, desde que a quantidade de veto-res de treinamento que possuem componentes nao nu-los nao seja tao pequena de modo que o padrao sejaconsiderado um elemento expurio (outlier).

Os vetores de atributos resultantes desse processode extracao de caracterısticas nao sao rotulados, istoe, embora estejam diretamente associados a uma ca-racterıstica particular, como a presenca de uma borda,a textura tıpica do asfalto, a superfıcie lisa da lata-ria ou o farol, essa associacao nao e explicitada. Emrazao de nao existir um rotulo associado, ou a notade um supervisor, os dados sao submetidos a um trei-namento nao supervisionado. O algoritmo de treina-mento aprende a reconhecer os dados separando-os emgrupos. A finalidade desse processo e segmentar as di-ferentes regioes na imagem, inclusive a que contem aplaca, associando-as a grupos conhecidos. O metodo deagrupamento aplicado foi o k−means.

3. Experimentos e Discussoes

Os experimentos foram realizados sobre uma base deimagens de veıculos infratores capturadas por camerasde monitoramento de trafego. Essa base contem umagrande variedade de imagens, obtidas em diferentescondicoes atmosfericas e em diferentes horas do dia.Todas as imagens, entretanto, possuem em comum amesma dimensao (480 × 640 pixels), profundidade (8bits) e canais de cores (monocromatica).

123

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 135: III WVC 2007

3.1. Avaliacao do vetor de caracterısticas

Pode-se observar, conforme ilustrado no grafico dosautovalores da matriz de covariancia (Figura 5), queos quatro primeiros autovalores explicam a quase tota-lidade da variancia existente nos dados. De tal modoque o numero de componentes principais pode ser es-tabelecido como sendo igual a quatro, ja que a contri-buicao dada pelos componentes de ordem superior aquatro e insignificante.

COMPONENTE

AU

TO

VA

LO

R (

%)

0.00

0.15

0.30

0.45

0.60

0 2 4 6 8

Figura 5. Autovalores associados aos 8 primeiroscomponentes principais

Se apresentarmos a magnitude dos autovetores gra-ficamente como uma imagem 8 × 8 pixels (Figura 6),podemos constatar que os mesmos correspondem jus-tamente a mascaras no domınio da frequencia usadaspara filtrar os componentes direcionais discutidos naSecao 2. Note que o primeiro e terceiro autovetor captu-ram transicoes de nıvel de cinza ocorridas nas direcoeshorizontal e vertical. O segundo autovetor e de fatoum filtro passa-baixas e captura principalmente a in-formacao do nıvel de cinza medio na janela. O quartoautovetor e um filtro passa-altas nao direcional. Es-ses quatro autovetores juntos podem ser usados paracaracterizar no domınio da frequencia as proprieda-des estruturais que compoem uma imagem. Entretantodeve-se levar em consideracao que usando a funcao detransferencia apresentada na Equacao (1) os grupos,apesar de serem mais facilmente identificados, nao le-varao em conta informacao sobre a intensidade mediade nıvel de cinza. Isto e, os grupos identificarao cla-ramente a ocorrencia de variacoes de nıvel de cinza,altas e medias frequencias, mas nao serao influencia-dos pela informacao retida nas baixas frequencias. Issosugere que a informacao capturada pelo segundo au-tovetor nao seja submetida a mesma funcao de trans-ferencia pois, neste caso, a informacao relevante nao eo quanto o padrao se alinha ao autovetor, mas qual e

o significado da filtragem promovida por ele. Em ou-tras palavras, deve-se usar esse autovetor para identifi-car se a janela recai em uma regiao clara, escura, comintensidade de nıvel de cinza moderada, etc.

(a) 1 (b) 2 (c) 3 (d) 4

Figura 6. Autovetores

Uma vez que para os humanos a intensidade mediado sinal luminoso e por si so uma informacao rele-vante, o segundo autovetor e submetido a um trata-mento diferenciado. Se admitirmos que a distribuicaode probabilidade do componente x seja aproximada-mente normal, para realizarmos um espalhamento uni-forme dessa variavel no intervalo (0, 1), o que equivalea realizar uma equalizacao histogramica, devemos sub-mete-lo a funcao de distribuicao normal acumulada.Essa distribuicao pode ser aproximada em termos demınimos quadrados [14] pela Equacao (3).

f(x) =1

1 + e−1.7(x−µ

σ)

(3)

Observamos experimentalmente que produzi-mos uma segmentacao melhor quando aliamos as ca-racterısticas direcionais a informacao do nıvel decinza medio. Para incorporarmos essa segunda in-formacao ao vetor de caracterısticas, aplicamos o ganhoempregado na Equacao (3), porem deslocando a loca-lizacao da rampa de subida da funcao sigmoide paraum desvio-padrao a direita. Isso tem o efeito de es-palhar os valores de nıvel de cinza a direita do histo-grama, ao passo que a regiao mais a esquerda, associ-ada as regioes escuras, sao comprimidas, recaindo emvalores proximos de zero (Figura 7). Dessa forma valo-rizamos a informacao associada as regioes claras e atri-buimos menor importancia aquela associada a regioesescuras.

f(x) =1

1 + e−1.7((x−µ

σ)−1)

(4)

3.2. Avaliacao do algoritmo de segmenta-

cao

O algoritmo de segmentacao realiza uma varredurarotulando os pixels de uma imagem de teste como per-tencente a um dado grupo com base no criterio de oti-malidade estabelecido em (5). O vetor x nessa equacao

124

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 136: III WVC 2007

−1.0 0.5 2.0 3.5

0.8

0

0.4

0.00.0 0.4 0.8

Figura 7.Transformacao aplicada ao segundoau-tovetor

e obtido pelos valores dos pixels em uma vizinhanca8 × 8, a funcao f(·) corresponde a funcao de extracaode caracterısticas e os grupos gı sao aprendidos em umafase de treinamento nao supervisionado utilizando o al-goritmo k-means. A decisao otima e representada porω∗.

ω∗ = argminı

‖f(x) − gı‖ (5)

Nos experimentos realizados foi usado um con-junto de treinamento formado por 8 imagens repre-sentando situacoes diversas, com carros claros, es-curos, caminhoes, imagens noturnas, diurnas, etc. Onumero de grupos k foi fixado empiricamente a par-tir de diversas experimentacoes. Fizemos k = 4 ins-pecionando visualmente o resultado da segmentacaoem um conjunto de 11 imagens. Na maioria dos ca-sos e possıvel segmentar relativamente bem as placasdos veıculos, dado que nas placas existem transicoesde nıvel de cinza tıpicas, decorrentes da presenca de le-tras e dıgitos, que favorecem sua identificacao nodomınio da frequencia.

A Figura 8 ilustra uma imagem tıpica, com a placapropositadamente borrada para nao infringir direitosde terceiros. A segmentacao produzida levando em con-sideracao somente as caracterısticas de alta frequenciaesta apresentada na Figura 9. Note a ocorrencia de gru-pos especializados em caracterısticas direcionais (bor-das horizontais e verticais). Convem tambem observarque baseado nessas caracterısticas os valores medios denıvel de cinza nao influenciam na formacao dos gru-pos e a segmentacao produzida torna-se muito simi-lar aquela resultante de um processo de extracao debordas. Com a agregacao da informacao sobre o nıvelde cinza medio, decorrente da aplicacao da funcao detransferencia em (4), melhora-se a qualidade da seg-mentacao resultante (Figura 10).

Outras imagens segmentadas sao apresentadas naFigura 11. Note que, em particular, o grupo predomi-nante que ocorre na regiao da placa permanece inalte-rado em todas as imagens.

Figura 8. Imagem original

Figura 9. Imagem segmentada baseada nas ca-racterısticas direcionais

4. Conclusoes e Trabalhos Futuros

Neste trabalho apresentamos um algoritmo de seg-mentacao inspirado no sistema visual humano. Rea-lizamos experimentos com imagens de uma base deveıculos e obtivemos resultados que mostram que o em-prego da metodologia adotada e apropriada para iden-tificar a regiao em que a placa se localiza. Tendo emvista que a placa de um veıculo possui transicoes denıvel de cinza de alta frequencia decorrente da im-pressao de letras e dıgitos escuros sobre um fundo claro,o algoritmo de segmentacao produz imagens que asso-ciam a regiao da placa uma area retangular relacionadaa um ou dois grupos conhecidos.

O metodo proposto e facilmente paralelizavel e pode

Figura 10. Imagem segmentada

125

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 137: III WVC 2007

(a)

(b)

(c)

Figura 11. Autovetores

ser implementado em um hardware paralelo, como figu-ras de execucao em FPGA, em aplicacoes praticas. Al-gumas etapas do processo como o calculo da DFT e oalgoritmo de agrupamento podem ser aproximados poruma rede neural, o que facilita sua implementacao emhardware paralelo.

Como trabalhos futuros pretendemos concluir o re-conhecimento da placa atraves de um algoritmo que re-alize o recorte na imagem da regiao onde ela se localizae do emprego de um algoritmo inteligente para reconhe-cimento de caracteres. Tambem pretendemos investigaro uso de algoritmos geneticos para otimizar a escolhados parametros livres da funcao de transferencia, es-ses parametros sao o ganho e o deslocamento ao longodo eixo das abcissas onde a funcao possui seu valormedio.

Referencias

[1] G. Adorni, S. Cagnoni, and M.Mordonini. Efficient low-level vision program design using sub-machine-code ge-

netic programming. In Workshop sulla Percezione e Vi-sione nelle Macchine, 2002.

[2] L. K. Cormack. Computational models of early humanvision. In Handbook of Image And Video Processing, pa-ges 271–288. Academic Press, 2000.

[3] Y.Cui andQ.Huang. Automatic license extraction frommoving vehicles. In International Conference on ImageProcessing (ICIP97), volume 3, 1997.

[4] P. Davies, N. Emmott, and N. Ayland. License plate re-cognition technology for toll violation enforcement. InImage Analysis for Transport Applications, IEEE Col-loquium on, London, UK, 1990.

[5] S. Draghici. A neural network based artificial vision sys-tem for licence plate recognition. Int J Neural Syst.,8(1):113–126, Fevereiro 1997.

[6] D. A. Forsyth and J. Ponce. Computer Vision: A mo-dern approach. Prentice-Hall, 2003.

[7] D.-S. Gao and J. Zhou. Car license plate detection fromcomplex scene. In International Conference on SignalProcessing, pages 1409–1414, 2000.

[8] F. Kahraman, B. Kurt, and M. Gokmen. License platecharacter segmentation based on the gabor transformand vector quantization. In ISCIS 2003 : InternationalSymposium on Computer and Information Sciences, pa-ges 381–388. Springer Berlin / Heidelberg, 2003.

[9] V. Kamat and S. Ganesan. An efficient implementa-tion of the hough transform for detecting vehicle licenseplates using dsp’s. In Real Time Technology and Appli-cation Symposium, 1995.

[10] S. Kim, D. Kim, Y. Ryu, and G. Kim. A robust license-plate extraction method under complex image conditi-ons. In 16th International Conference On Pattern Re-cognition (ICPR 02),, volume 3, 2002.

[11] H. Kwasnicka and B. Wawrzyniak. License plate locali-zation and recognition in camera pictures. AI-METH,Novembro 2002.

[12] R. A. Lotufo, A. D. Morgan, and A. S. Johnson. Auto-matic numberplate recognition. In Image Analysis forTransport Applications, IEEE Colloquium on, 1990.

[13] H. Mahini, S. Kasaei, F. Dorri, and F. Dorri. An effici-ent features based license plate localization method. InThe 18th International Conference on Pattern Recogni-tion (ICPR’06), 2006.

[14] J. R. Montalvao Filho and E. O. Freire. On the equali-zation of keystroke timing histograms. Pattern Recogni-tion Letters, 27(13):1440–1446, 2006.

[15] T. Sirithinaphong and K. Chamnongthai. The recogni-tion of car license plate for automatic parking system.In Fifth International Symposium on Signal Processingand its Applications, 1998.

[16] D. Yan, M. Hongqing, L. Jilin, and L. Langang. A highperformance license plate recognition system based onthe web technique. In IEEE Intelligent TransportationSystems Conference Proceedings, pages 25–29, Oakland(CA), USA, Agosto 2001.

126

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 138: III WVC 2007

Máquinas de Vetores de Suporte Aplicadas à Classificação de Defeitos em CouroBovino

Ricardo B. Rodrigues, Roberto Viana, André Pasquali e Hemerson PistoriGPEC - Universidade Católica Dom BoscoAv. Tamandare, 6000 Campo Grande, Brasil

ricardo,roberto,[email protected]@ucdb.br

Marco A. AlvarezDepartment of Computer Science

Utah State UniversityLogan, UT 84322-4205, [email protected]

Abstract

Currently the bovine leather classification in Bra-zil is done visually by specialists. Just like other industrialprocesses the automatization of the leather classifica-tion would bring many benefits to the leather productionchain. This work proposes the usage of Support Vector Ma-chines (SVM) for the leather defects classification, in addi-tion it presents empirical results that encourage the usageof SVMs for the process automatization. The paper also pre-sents a comparation between SVM and other classificationalgorithms like C4.5, K-NN, Naive Bayes and Multi-layer Perceptron

Resumo

Atualmente a classificação do couro bovino no Brasil érealizada manualmente por especialistas. Assim como emoutros segmentos da indústria a automatização deste pro-cesso traria grandes benefícios para a cadeia produtiva docouro. Este trabalho propõe o uso de Máquina de Vetoresde Suporte (SVM) na classificação de defeitos em couro bo-vino e apresenta resultados empíricos que encorajam a uti-lização de SVMs na automatização do processo. O trabalhotambém apresenta uma comparação entre a SVM e os algo-ritmos de classificação, C4.5, K-NN, Naive Bayes e Multi-layer Perceptron.

1. Introdução

A cadeia produtiva de gado é de grande importância paraa economia brasileira e o Brasil é considerado um dos mai-ores produtores de gado do mundo [14]. Porém, de acordocom [6], apenas 8.5% do couro brasileiro é considerado dealta qualidade, o que é prejudicial para a cadeia produtiva.Recentemente, a Empresa Brasileira de Pesquisa Agrope-cuária (EMBRAPA) sugeriu uma busca por um método depadronização do sistema de classificação de couro crú1.

Hoje, em diversos processos industriais, defeitos em ma-deiras, metais, couros, tecidos entre outros são classifica-dos por seres humanos [22]. Em geral, esta tarefa consisteem analisar visualmente a textura da superfície do produtoà procura de falhas. Por ser um trabalho minucioso e can-sativo, a ocorrência de erros durante a análise torna-se co-mum.

O processo de inspeção visual de peles de couro paraanálise de defeitos pode ser modelado utilizando técnicasde visão computacional, como relatado em [1, 7, 12, 13,16, 19, 22]. No entanto, o couro bovino é considerado umasuperfície complexa, pois pode apresentar muitas variaçõesna aparência como: cor, brilho, espessura dentre outros [7].

Para classificação automática de defeitos em couro sãoutilizadas neste trabalho técnicas de visão computacional eaprendizagem de máquina. Este trabalho faz parte do sis-tema DTCOURO2 que propõe o desenvolvimento de um

1 Instrução normativa número 12, 18 de Dezembro de 2002 MinistérioBrasileiro de Agricultura, Pecuária e Abastecimento

2 Projeto para a Detecção Automática de Defeitos em Peles e CourosBovinos

127

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 139: III WVC 2007

Figura 1. Imagens do couro bovino nos está-gios crú e wet blue

processo automatizado de classificação do couro bovino emdiferentes estágios da cadeia produtiva. A Figura 1a mos-tra uma imagem do defeito “marca ferro"sobre uma peça decouro bovino no estágio crú (antes de ser curtido) e a Fi-gura 1b uma imagem do defeito “risco aberto"sobre umapeça de couro bovino no estágio wet blue (primeiro pro-cesso após o curtimento). Neste sistema, a análise será reali-zada a partir de imagens digitais coletadas do produto alvo,utilizando técnicas de visão computacional, inteligência ar-tificial e reconhecimento de padrões.

Dentre as várias técnicas de aprendizado supervisionadoexistentes, as Máquinas de Vetores de Suporte (SVM) temsido amplamente utilizadas na área de classificação de pa-drões por demonstrarem um grande poder de generalizaçãoe capacidade de manipular grandes volumes de dados. Esteestudo apresenta o uso de técnicas de extração de atribu-tos combinadas com SVMs para o problema de classifica-ção de defeitos do couro bovino. Em experimentos preli-minares foram realizadas análises comparativas com outrosalgoritmos de classificação mostrando resultados promisso-res.

No capítulo 2 são apresentados alguns trabalhos corre-latos, em seguida, no capítulo 3 é fundamentado o métodoSVM e a implementação do mesmo utilizada neste trabalho.A seção 4 descreve a construção do dataset, os experimen-tos de comparação entre metodos. Na seção 5 encontram-seconclusões e projeções futuras e na seção 6 os agradecimen-tos.

2. Trabalhos Correlatos

A discução dos trabalhos correlatos será dividida emduas partes principais. Inicialmente, são analisados traba-lhos na área de classificação de couro bovino, em seguida, éapresentada uma revisão na utilização de SVMs na área dereconhecimento de padrões e classificação.

2.1. Classificação do couro

Em [22] Yeh and Perng é proposto um método semi-automático para extração e detecção de defeitos em courobovino nos estágios wet-blue e couro cru. Os resultados deseus trabalhos se apresentaram confiáveis quando compa-rados com os de especialistas na área, mas os autores tam-bém apontam a desvantagem da necessidade de um especi-alista na fase de contagem total de defeitos. Um método deinspeção de couro baseado em Haar’s wavelets é apresen-tado por Sobral em [19]. Segundo Sobral, o método apre-senta resultados equivalentes ao de humanos experientes eem tempo real [19], além de superar métodos propostos an-teriormente, como o descrito por Kumar e Pang em [13].Apesar de não esclarecido claramente por Sobral, aparente-mente seu sistema foi testado apenas em couro no estágiofinal de produção, um problema bem mais simples compa-rado com outros estágios de produção como wet-blue oucouro cru. Uma medida de similaridade baseada em χ2 éusada para comparar histogramas em tons de cinza extraí-dos de amostras (“janelas"de 65 × 65 pixels) de imagensem estágio wet-blue com um histograma médio de imagenssem defeito em [7]. Os resultados do χ2 e o limiar encon-trado experimentalmente são utilizados para segmentar re-giões defeituosas. O método não foi usado na identificaçãodos tipos de defeito. Uma outra abordagem utilizando histo-grama e atributos extraídos por co-ocorrência é investigadaem [12].

2.2. Máquinas de Vetores de Suporte

Osuna utiliza SVM para detecção de faces em imagensem [15], ele demonstra a aplicabilidade das SVMs na detec-ção de faces em imagens que apresentaram resultados equi-valentes ou superiores a outros métodos baseados em exem-plos [15]. O sistema de Osuna percorre imagens em tons decinza e é capaz de encontrar faces em diferentes escalas egrau de iluminação. Nos testes realizados por Osuna a SVMé configurada com parâmetro C = 200 e um kernel polino-mial de grau 2. A forma de obtenção desta configuração nãoé especificada no artigo. Em [10] Joachims apresenta evi-dências teóricas e práticas do bom desempenho de classifi-cação das SVM em problemas de categorização de textos.O desempenho das SVM é calculado com base em dois con-juntos de dados cada um contendo mais de 20000 casos deteste com cerca de 10000 atributos. Entre outros algoritmostestados no artigo o K-NN foi o que apresentou melhor per-formance e foi superado pela SVM em 63 das 90 catego-rias do primeiro conjunto de testes e em todas as 23 catego-rias do segundo conjunto. Apesar do tempo de treinamentodas SVM ser superior ao do K-NN o ganho na classifica-ção é compensador para este problema. Uma outra aplica-ção das SVM na área de Visão Computacional é apresentada

128

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 140: III WVC 2007

em [18] onde Pontil e Verri realizam experimentos na clas-sificação de objetos aplicando vários tipos de modificaçõescomo: adição de ruído, remoção de partes do objeto, alte-ração da localização espacial e combinações entre os mes-mos. Os resultados foram comparados com Perceptrons ese mostraram superiores. Os autores atribuem estes resulta-dos ao maior poder de generalização das SVMs [18].

3. Máquinas de Vetores de Suporte - SVM

A SVM é uma técnica usada para o treinamento de clas-sificadores baseada no conceito da minimização do risco es-trutural [3]. A técnica foi desenvolvida por Vladimir Vapnikem 1979 e está sendo amplamente utilizada desde a décadade 90 em vários problemas de classificação e reconheci-mento de padrões como: detecção de face em imagens [15],categorização de textos [10] e reconhecimento de Objetos[18].

Uma das grandes vantagens da SVM é seu alto poderde generalização. Isto ocorre pois a complexidade da hipó-tese não depende do número de atributos, mas sim da mar-gem com que eles separam os dados [10]. Este fator é muitointeressante quando lidamos com problemas de classifica-ção baseados em imagens, pois a dimensão dos seus vetoresde atributos é geralmente grande.

Em sua forma básica SVMs são classificadores linearesque separam os dados em duas classes através de um hiper-plano de separação.

Figura 2. Classificação de um conjunto dedados usando uma SVM linear.

Um hiperplano ótimo separa os dados com a máximamargem possível, que é definida pela soma das distânciasentre os pontos positivos e os pontos negativos mais pró-ximos do hiperplano. Estes pontos são chamados de veto-res de suporte e estão circulados na Figura 2. O hiperplano

é construído com base em treinamento prévio em um con-junto finito de dados [20].

Assumindo o conjunto de treinamento xi, yi, yi ∈±, xi ∈ Rd onde xi é o i-ésimo elemento de entrada eyi é o seu respectivo valor de classe para xi, i = 1, ..., l. Ocálculo do hiperplano com margem ótima é dado pela mini-mização de ||w||2 obedecendo as seguintes restrições:

yi (xi · w + b) − 1 ≥ 0,∀i (1)

Onde w é a normal ao hiperplano. Este é um problemaquadrático de otimização, e pode ser transformado paraforma dual, onde depende apenas dos Multiplicadores deLagrange ai:

u ≡N∑

i=1

ai − 1

2

N∑i=1

N∑j=1

aiajyiyj(xi · xj) (2)

respeitando as restrições da equação linear:

N∑i

aiyi = 0, (3)

e as restrições da inequação:

ai ≥ 0,∀i (4)

Com a solução dada por:

w = aiyixi (5)

Onde N é o número de exemplos de treinamento. Os ele-mentos mais próximos ao hiperplano são chamados de ve-tores de suporte e estão localizados nos planos H1 e H2 Fi-gura 2. Estes são os pontos mais importantes, pois são elesque definem a margem de classificação da SVM [3].

Infelizmente para a maioria dos problemas reais o con-junto de dados não é separável através de um hiperplano li-near, e o cálculo dos vetores de suporte utilizando as for-mulações descritas acima não se aplicaria [17]. Este pro-blema pode ser resolvido através da introdução de variá-veis de alargamento de margem ξi que “relaxam"as restri-ções da SVM linear permitindo algumas falhas na margem,mas também penaliza as falhas através da variável de con-trole C. Estas modificações alteram o problema de otimiza-ção (1) para:

1

2||w||2 + C

N∑i=1

ξi, (6)

respeitando,

yi (xi · w + b) − 1 + ξi ≥ 0,∀i (7)

A transformação deste problema de otimização para suaforma dual apenas altera a restrição (4) para:

129

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 141: III WVC 2007

0 ≤ ai ≤ C,∀i (8)

As SVMs ainda podem ser vistas por um ponto de vistamais geral como um classificador multiclasse. Estas modi-ficações podem ser aplicadas mapeando o conjunto de da-dos em espaço Euclideano de alta dimenção (possivelmenteinfinita), estes mapeamentos são feitos utilizando funçõesde kernel (núcleo) na fase de treinamento[3]. O cálculo daSVM multiclasse é definido por:

u ≡N∑

i=1

aiyiK (xi, x) − b, (9)

Onde a minimização dos Multiplicadore de Lagrangeainda é um problema quadrático,

mina

N∑i=1

ai − 1

2

N∑i=1

N∑j=1

K (xi, x) aiajyiyj , (10)

3.1. Implementação deC-SVC em LIBSVM

O LIBSVM é uma biblioteca de implementações deSVM desenvolvida por Chin-Chung Chang [4] com váriasfinalidades: classificação, regressão e estimativa de distri-buição. O algoritmo de classificação implementado na bi-blioteca leva o nome de C-SVC.

Para resolução do problema quadrático o C-SVC decom-põe o conjunto de Multiplicadores de Lagrange em subcon-juntos menores selecionando um subconjunto com tamanhovariável [4]. O C-SVC também implementa as técnicas Sh-rinking e Caching para redução do tempo computacional. OShrinking tenta reduzir o tamanho do problema quadrático aser resolvido eliminando Multiplicadores de Lagrange quenão poderiam ser alterados com base em uma heurística de-monstrada em [4]. A técnica de Caching simplesmente ar-mazena cálculos de matrizes utilizados recentemente parautilizações futuras, reduzindo parte dos cálculos de kernelrealizados nas interações finais.

Na resolução de problemas multi-classe o C-SVC utilizao método “um-contra-um", que consiste na resolução de umproblema de duas classes para cada classe, atribuindo paratodos os pontos um valor de classe baseado em uma estraté-gia de votação. Para pontos com valores de classe idênticosum algoritmo seleciona o de menor índice.

4. Conjunto de treinamento (Dataset)

Para gerar a base de aprendizagem quinze imagens docouro bovino no estágio couro crú foram selecionadas dorepositório do projeto DTCOURO. As imagens foram cap-turadas usando uma câmera digital de cinco megapixels du-rante visitas técnicas a curtumes localizados na região de

Figura 3. Ilustração do processo de marca-ção e extração de amostras.

Mato Grosso do Sul, Brasil em setembro de 2005. Para esteexperimento as imagens foram redimensionadas de uma altaresolução para 600 × 450 pixels com a intenção de econo-mizar tempo de processamento e espaço em disco. Evidên-cias empíricas mostraram que não há percas efetivas como uso da escala adotada. Além do mais, as imagens foramcapturadas com pouca variação de ambiente como ilumina-ção, ângulo e distância.

Um conjunto de quatro tipo de defeitos foram escolhi-dos, são eles, marcas de carrapato, marca ferro, risco esarna. Os defeitos foram manualmente segmentados comajuda da ferramenta DTCOURO. Um total de trinta segmen-tações foram realizadas sobre as imagens, representando osexemplos dos defeitos previamente citados. Após a segmen-tação manual dos defeitos o módulo de extração de amos-tras do projeto DTCOURO foi usado para extrair amostras(“janelas"de 20 × 20 pixels “varrendo"todas as segmenta-ções como mostra a Figura 3). Desta maneira um total de14722 amostras de 20× 20 pixels foram criadas a partir dassegmentações.

O próximo passo foi a extração de atributos. Um con-junto de 139 atributos baseados em textura foram extraí-dos usando Mapas de Interações [5] e Matrizes de Co-ocorrência [8] e 6 atributos de cor com os extratores HSBe RGB. Para os extratores baseados em textura foram utili-zadas a medidas de similaridade, entropia, dissimilaridade,correlação, momento da diferença inversa, segundo mo-mento angular e diferença inversa. Mais informações sobremedidas de similaridades são encontradas em [2, 11]. Osextratores foram configurados de acordo com a Tabela 1.

130

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 142: III WVC 2007

Mapas Int. Matrizes Co.Anglo inicial: 0 0Anglo final: 180 180Variação do ângulo: 10 10Distância (pixels): 2 -Variação da distância: 1 1

Tabela 1. Configuração dos extratores base-ados em textura.

Para cada uma das 14722 amostras, um vetor de caracte-rísticas x foi calculado e armazenado no dataset. Ao mesmotempo, todas as amostras foram tituladas com uma das se-guintes classes: Carrapato, Marca Ferro, Risco e Sarna. Adistribuição das amostras é a seguinte: 2819 Carrapato,3716 MarcaFerro, 2804 Risco, 5383 Sarna, onde o nú-mero de amostras em cada classe é proporcional a área decada região de defeito da imagem original.

4.1. Configurações do experimento

Os experimentos foram conduzidos utilizando a versão3.5.2 do software Weka [21], a biblioteca LibSV M es-crita por Chang e Lin [4] e a implementação WLSVM 3.A implementação da SVM LibSVM foi testada juntamentecom os classificadores C4.5, K − NN , NaiveBayes,MultiLayerPerceptron (MLP ). Para cada algorítimo foiutilizada uma validação cruzada com 5 dobras sobre o da-taset para certificar uma estimação mais confiável da gene-ralização do erro [9].

4.2. Avaliação dos algoritmos supervisionados

Os experimentos são basicamente exploratórios e foramconduzidos com a intenção de avaliar a eficácia e eficiênciada SVM aplicada ao problema de classificação do couro bo-vino e comparar seu desempenho com outros algoritmos. Osresultados foram analisados usando medidas tradicionais in-cluindo, percentual de acertos (Acurácia), tempo de treina-mento, precision (captura o efeito do alto número de exem-plos negativos na performance dos algoritmos), recall (re-presenta taxa de positivos verdadeiros) e podem ser vistosna Tabela 2.

Os parâmetros de configuração do Libsvm são C =18, 62 e γ = 1, 54, para o MLP foram utilizadas 74 cama-das, os algoritmos N.Bayes e C4.5 foram executados comas configurações padrão do ambiente WEKA.

Como pode ser observado na Tabela 2, os resultadosmostram claramente uma alta performance atingida pela im-

3 Yasser EL-Manzalawy and Vasant Honavar, WLSVM : Integraçãoda LibSVM com o ambiente Weka, 2005. Software disponível emhttp://www.cs.iastate.edu/~yasser/wlsvm

T. treina. Recall Precision AcuráciaC4.5 52.40 0.97 0.97 95.43K − NN 0.07 0.99 0.99 95.75N.Bayes 4.55 0.70 0.71 70.22MLP 7322.86 1.00 1.00 99.24LibSV M 172.43 1.00 1.00 99.47

Tabela 2. Resultados da execução dos expe-rimentos de classificação.

plementação LibSV M . O total de acertos final para os clas-sificadores K −NN e C4.5 e principalmente o MLP tam-bém são altos. A diferença entre a acurácia da MLP e daLibSV M é de apenas 0.23%, no entanto, analisando a me-lhoria relativa entre elas a LibSV M apresenta um ganho de30.26%. O tempo de treinamento da MLP é muito alto emrelação ao dos demais algoritmos, já o K − NN que pos-sui o melhor tempo de treinamento não apresenta resultadosde classificação similares aos melhores apresentados na Ta-bela 2. Note que a fase de treinamento do LibSV M é me-lhor que a da MLP em termos de eficiência.

Os valores de precision e recall destacados demonstrama conveniência de algoritmos de aprendizagem supervisio-nada para o problema de classificação de defeitos. Em adi-ção, pode ser concluído que o conjunto de característicasextraídas das imagens originais favorecem a efetividade doclassificador. A acurácia apenas confirma que os classifica-dores podem discriminar os defeitos com muita precisão.

5. Conclusão e Trabalhos Futuros

Embora a SV M não ser o algoritmo mais eficiente parapropósitos de treinamento apresentou o melhores resulta-dos de classificação, assim como o MLP . Note que a di-ferença entre a acurácia do MLP e do LibSV M pode sernegligenciada, uma vez que ambos resultados são satisfa-tórios. Uma interessante observação é que as soluções doLibSVM tendem a ser mais rápidas que MLPs para os pro-pósitos de testes, além de não apresentar perca de acuráciaem relação as mesmas. Outra observação importante é queem situações onde o tempo de treinamento é muito impor-tante o uso de classificadores como k −NN e o C4.5 é en-corajado devido a suas taxas de acertos consideráveis.

Apesar de experimentos prévios terem sido realizadosapresentando bons resultados de classificação, uma outra di-reção de pesquisa é a aplicação de soluções similares apli-cadas a diferentes estágios do couro com diferentes carac-terísticas apresentadas. Dessa forma, serão realizados tes-tes para verificação do ganho de informação de métodos deextração de atributos e segmentação de imagens relaciona-

131

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 143: III WVC 2007

dos a cada tipo de defeito. Um estudo mais aprofundadosobre as MLPs e seus parâmetros será realizado para futu-ros experimentos aplicados ao problema de classificação docouro bovino. Uma nova etapa de testes também será reali-zada utilizando um conjunto maior de imagens em diferen-tes estágios do couro.

6. Agradecimentos

Este trabalho recebeu apoio financeiro da UniversidadeCatólica Dom Bosco, UCDB, da Agência Financiadora deEstudos e Projetos, FINEP e da Fundação de Apoio ao De-senvolvimento do Ensino, Ciência e Tecnologia do Estadode Mato Grosso do Sul, FUNDECT. Os autores tambémcontaram com bolsas do Conselho Nacional de Desenvol-vimento Científico e Tecnológico, CNPQ, nas modalidadesITI-A, PIBIC e Produtividade em Desenvolvimento Tecno-lógico e Extensão Inovadora.

Referências

[1] B. A. Automated system for detection and classification ofleather defects. NDT and E International, 30:321–321(1),October 1997.

[2] W. P. Amorim, R. Viana, R. B. Rodrigues, and H. Pistori. De-senvolvimento de um software de processamento e geracaode imagens para classificacao de couro bovino. SIBGRAPI-Workshop of Undergraduate Works, 2006.

[3] C. J. C. Burges. A tutorial on support vector machines forpattern recognition. Data Mining and Knowledge Discovery,2(2):121–167, 1998.

[4] C.-C. Chang and C.-J. Lin. LIBSVM: a library for sup-port vector machines, 2001. Software available at http://www.csie.ntu.edu.tw/~cjlin/libsvm.

[5] D. Chetverikov. Texture analysis using feature-basedpairwise interaction maps. Pattern Recognition, 32(3):487–502, 1999.

[6] A. B. da Costa. Estudo da competitividade de cadeias inte-gradas no brasil: Impactos das zonas de livre comercio. Te-chnical report, Instituto de Economia da Universidade Esta-dual de Campinas, Dezembro 2002.

[7] L. Georgieva, K. Krastev, and N. Angelov. Identification ofsurface leather defects. In CompSysTech ’03: Proceedingsof the 4th international conference conference on Computersystems and technologies, pages 303–307, New York, NY,USA, 2003. ACM Press.

[8] H.-W. R. Hseu, A. Bhalerao, and R. G. Wilson. Image mat-ching based on the co-occurrence matrix. Technical ReportCS-RR-358, Coventry, UK, 1999.

[9] F. Imbault and K. Lebart. A stochastic optimization approachfor parameter tuning of support vector machines. In Proce-edings of the Pattern Recognition, 17th International Confe-rence on (ICPR’04), pages 597–600, Washington, DC, USA,2004. IEEE Computer Society.

[10] T. Joachims. Text categorization with support vector machi-nes: learning with many relevant features. In C. Nédellec andC. Rouveirol, editors, Proceedings of ECML-98, 10th Euro-pean Conference on Machine Learning, number 1398, pages137–142, Chemnitz, DE, 1998. Springer Verlag, Heidelberg,DE.

[11] R. Jobanputra and D. Clausi. Texture analysis using gaus-sian weighted grey level co-occurrence probabilities. In Pro-ceedings of the Canadian Conference on Computer and Ro-bot Vision - CRV, pages 51–57, 2004.

[12] K. Krastev, L. Georgieva, and N. Angelov. Leather featu-res selection for defects’ recognition using fuzzy logic. InCompSysTech ’04: Proceedings of the 5th international con-ference on Computer systems and technologies, pages 1–6,New York, NY, USA, 2004. ACM Press.

[13] A. Kumar and G. Pang. Defect detection in textured materi-als using gabor filters. IEEE Transactions on Industry Appli-cations, 38(2), March 2002.

[14] H. Matthey, J. F. Fabiosa, and F. H. Fuller. Brazil: The futureof modern agriculture. MATRIC, May 2004.

[15] E. Osuna, R. Freund, and F. Girosi. Training support vectormachines:an application to face detection. CVPR’97, PuertoRico, pages 130–136, 1997.

[16] H. Pistori, W. A. Paraguassu, P. S. Martins, M. P. Conti,M. A. Pereira, and M. A. Jacinto. Defect detection in rawhide and wet blue leather. In CompImage, 2006.

[17] J. Platt. Sequential minimal optimization: A fast algorithmfor training support vector machines, 1998.

[18] M. Pontil and A. Verri. Support vector machines for 3d ob-ject recognition. IEEE Trans. Pattern Anal. Mach. Intell.,20(6):637–646, 1998.

[19] J. L. Sobral. Optimised filters for texture defect detection. InProc. of the IEEE International Conference on Image Pro-cessing, volume 3, pages 565–573, September 2005.

[20] V. N. Vapnik. An overview of statistical learning the-ory. IEEE Transactions on Neural Networks, 10(5):988–999,1999.

[21] I. H. Witten and E. Frank. Data Mining: Practical Ma-chine Learning Tools and Techniques. Morgan Kaufmann,San Francisco, CA, USA, second edition, 2005.

[22] C. Yeh and D. B. Perng. Establishing a demerit count re-ference standard for the classification and grading of leatherhides. International Journal of Advanced Manufacturing,18:731–738, 2001.

132

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 144: III WVC 2007

Improving the Richardson-Lucy Algorithm in Deconvolution MicroscopyThrough Poisson Noise Reduction

Homem, M. R. P.; Zorzan, M. R.; Mascarenhas, N. D. A.Universidade Federal de Sao Carlos, Departamento de Computacao

Via Washington Luıs, Km 235, CP 676, CEP: 13.565-905, Sao Carlos, SP, Brazilmurillo [email protected]; [email protected]; [email protected]

Abstract

Computational optical sectioning microscopy is a tech-nique to obtain three-dimensional images of microscopic bi-ological specimens. It consists in obtaining a set of two-dimensional optical sections of an object where each sec-tion is acquired by means of a light microscope using fluo-rescence techniques. However, due to limiting factors in theimaging systems, microscopic images are always degradedby the microscope optics and also by the detection process.Each observed section is a blurred version of the actual im-age and it also has contributions of light from other out-of-focus planes. In this sense, it is important to search forcomputational algorithms that are able to improve the qual-ity of the three-dimensional observations. The Richardson-Lucy algorithm is one of the most important methods forimage deconvolution in optical sectioning microscopy andit is often regarded as the algorithm that is able to producethe best results in that application. In this work, we demon-strate that the restored images can be further improved byfirst removing the Poisson noise in the images before apply-ing the iterative Richardson-Lucy algorithm. We show thatbetter results are achieved in a similar number of iterac-tions and they also have a better quality following the im-provement in signal to noise ratio criteria.

1. Introduction

The proper three-dimensional (3D) visualization of cel-lular architectures in biological applications has been con-sidered in the last twenty years [1]. It is substantially impor-tant, because the cell structure and its function are known tobe strongly correlated.

Computational optical-sectioning microscopy (COSM)is recognized as an important tool to reconstruct 3D im-ages from optical two-dimensional (2D) sections of a fluo-rescently stained biological specimen [22]. Considering that

the specimen is translucid, this technique consists in mov-ing the focal plane of the microscope while a set of 2D im-ages are acquired and recorded. In this sense, stacking theset of 2D images forms a 3D image.

Commonly, confocal and conventional light microscopesare used in COSM [25]. The former modality is able to pro-duce high-quality images because only the light from the re-gion near the in-focus plane is detected. However, the costof a confocal equipment is substantially high. In addition,in this modality, the light efficiency and also the sensitiv-ity are less than in a conventional microscope, which canbe a problem in experiments where the light efficiency is animportant concern. On the other hand, a conventional mi-croscope (also known as widefield microscope) is cheaperthan a confocal one and it is particularly valuable for workwith living cells, because it avoids specimen damage due tothe laser light used in confocal microscopy.

However, in both modalities, the quality of the recordeddata is limited by the optical system. This procedure hasthe disadvantage that each optical slice (or the 2D image) isblurred by out-of-focus information. Indeed, each slice hascontributions of light from other out-of-focus planes. Theblurring effects come from light diffraction due to the finiteaperture of the microscope lens [10]. Particularly, it is im-portant to note that in conventional microscopy the blurringeffects are higher than in confocal microscopy [18].

Futhermore, it can be shown that the optical transferfunction of a fluorescence microscope is zero valued formost of the frequencies in the Fourier domain [22]. Then,it removes the image content in the regions where it haszero values. Also, in the region where it has non-zero val-ues it works as a low-pass filter and smooth the image.

Besides the blurring effects, there are several sourcesof noise that decrease the quality of the images in COSM[18, 24]. It can be shown that the predominant one influorescence microscopy is due to the low level of pho-tons count. Indeed, the exposure time in fluorescence mi-croscopy needs to be frequently short. It implies that eachimage is acquired under low level of photons count and then

133

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 145: III WVC 2007

the set of recorded 2D observations are corrupted by noise.Therefore, the restoration of images obtained by means

of optical sectioning microscopy, especially in widefieldmicroscopy, is an important problem, since it can improvethe quality and accuracy of the recorded data.

In the last years, several algorithms, derived under dif-ferent image and noise models, and also with different com-plexity and processing time, have been proposed to accom-plish image restoration in fluorescence microscopy [22].

For the best of our knowledge, the iterative Richardson-Lucy algorithm [16, 21] is one of the most important meth-ods for COSM applications [11, 12]. Indeed, it is often re-garded as the algorithm that is able to produce better visualresults when compared with other ones [20, 25].

In this work, we demonstrate that the results from theRichardson-Lucy algorithm can be further improved by firstremoving the noise in the observed images before apply-ing the iterative procedure. We show that better results areachieved in a similar number of iteractions and they alsohave a better quality following the improvement in signal tonoise ratio criteria.

In section 2 we describe both the image formationmodel and the noise characterization in computational op-tical sectioning microscopy. Later, section 3 presentsthe proposed method, where the Anscombe transforma-tion and the Richardson-Lucy algorithm are discussed. TheAnscombe transformation is used to remove the noise in theimages before the application of the Richardson-Lucy pro-cedure. Finally, in section 4 we present some numericalresults.

2. Deconvolution Microscopy

The blurring process in optical microscopy can be mod-elled by a 3D convolution operation between the actual im-age and the point spread function (PSF) of the microscope.In addition, since the 2D blurred observations are often ac-quired under low level of photons count, each recorded im-age follows a Poisson statistic.

Then, the problem that arises is to recover the image,that represents the fluorescence concentration in the speci-men, given the blurred and noisy observation and also thePSF of the microscope. This is the well-known deconvolu-tion problem in the image restoration literature [4]. Particu-larly, when using a conventional microscope, it is often re-ferred to as deconvolution microscopy [19].

2.1. Image Formation Model

In COSM, the blurring process is regarded as a linear,space-invariant operator [19]. Then, the 3D blurred imageb(x, y, z) is given by

b(x, y, z) = h(x, y, z) ∗ f (x, y, z), (1)

where * stands for the 3D convolution, f (x, y, z) is the im-age that represents the actual optical density (or fluores-cence concentration) in the specimen, h(x, y, z) is the PSFof the microscope, and x, y, and z are spatial variables.

We can also write equation (1) in the Fourier domain as

B(u, v,w) = H(u, v,w)F(u, v,w), (2)

where B(u, v,w) is the Fourier transform (FT) of b(x, y, z),H(u, v,w) is the FT of h(x, y, z), F(u, v,w) is the FT off (x, y, z), and u, v, and w are frequencies variables.

Considering the discrete version of f (x, y, z), b(x, y, z),and h(x, y, z) as f [x, y, z], b[x, y, z], and h[x, y, z], where0 ≤ x < X, 0 ≤ y < Y , and 0 ≤ z < Z, we can also writethe problem in vector-matrix notation. Then, given the vec-tor image f, formed by stacking the elements of f [x, y, z],the blurred vector image b is given by

b = Hf, (3)

where b and f are N × 1 size vectors, with N = X · Y · Z. Inequation (3), H is a N × N matrix where its elements, Hi j,are samples of the PSF.

The normalized FT of the PSF is usually called the op-tical transfer function (OTF) of the microscope. In COSM,the OTF is zero for most frequencies in the Fourier domain.This is due to the finite size of the aperture of the micro-scope lens. In the regions where the OTF has non-zero val-ues it works as a low pass filter and in the regions whereit has zero values it removes the image content in that re-gion. The problem to recover missing frequencies is oftenreferred as superresolution image restoration [14, 23].

2.2. Noise Characterization

Frequently, charged-couple device (CCD) cameras [24]are used to record the images in widefield microscopes. Onthe other hand, photo-multiplier tubes are used to recordthe images in confocal and multi-photon fluorescence exci-tation microscopes.

Some of the noise processes in the detectors follow Pois-son statistics whereas other ones can be well modeled byGaussian processes. However, the dominant noise in COSMis a signal-dependent one due to a short exposure time dur-ing the acquisition process. This noise can also be well mod-eled by a Poisson distribution. It is important to note that inthis work, we are only concerned with this kind of noise.

The Poisson noise can be incorporated into equation (3)by considering the observation as an inhomogeneous Pois-son random process u.

Each component ui of u is regarded as the realization of arandom variable Ui described by a Poisson distribution withparameter γbi, where γ > 0, and

p(ui | bi) =(γbi)ui · e−γbi

ui!, (4)

134

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 146: III WVC 2007

where E[Ui] = bi, and Var[Ui] = bi, for each i, i = 1, ...,N.We denote by U the random vector with components

given by Ui.It can be shown that given b, the joint ensemble photon

counting statistics at the N detectors are approximately in-dependent [24]. Moreover, since each ui depends only onthe corresponding bi, the probability that the vector u oc-curs for a given b is

p(u | b) =∏

i

(γbi)ui · e−γbi

ui!. (5)

Therefore, in our approach, the image vector u representsthe blurred and noisy observation.

3. Proposed Method

The proposed method for deconvolution microscopyconsists in reduce the Poisson noise in the observed im-age before the application of the Richardson-Lucy algo-rithm. Since the Poisson noise is signal dependent, wepropose the use of the Anscombe transformation in or-der to be able to use more standard methods for noiseremoval.

3.1. Anscombe Transformation

The Anscombe transformation (AT) transforms the sig-nal dependent Poisson noise into an approximately Gaus-sian, additive, signal independent noise with zero mean andunity variance [3].

The application of the transformation on the randomvariable Ui is given by

Zi = 2

√Ui +

38, (6)

where Zi can also be represented by an additive model as

Zi = 2

√Bi +

18+ Ni = S i + Ni, (7)

where now, Ni is an additive noise that is approximately in-dependent of S i, with E[Ni] ≈ 0 and Var[Ni] ≈ 1 [15].

We note that S i is the noiseless signal in the Anscombedomain.

From these facts, after the transformation, it is possibleto use well-known techniques for reducing signal indepen-dent additive noise by operating on the random variablesZi. For instance, we suggest using the pointwise Wiener fil-ter [2] that is optimum under the minimum mean square er-ror criteria.

After the noise smoothing, we return to the original vari-able applying the inverse Anscombe transformation, whichis given by

Bi =14

S 2i −

18. (8)

3.2. Richardson-Lucy Algorithm

The algorithm proposed by Richardson [21] and Lucy[16] is derived following a Bayesian approach. From theBayes law, the conditional probability density of the actualimage f, given the observed vector u, is given by

p(f | u) =p(u | f) · p(f)

p(u), (9)

where p(f) is the probability density of the actual image,p(u) is the probability of the observation, and p(u | f) is theconditional probability of the observation given the actualimage.

The Richardson-Lucy (RL) algorithm is an iterative pro-cedure to find the maximum likelihood estimate f of f.

From equations 3, 5, and 9, it can be shown that

f (n+1)j =

f (n)j∑

i Hi j·∑

i

Hi jui∑l Hil f (n)

l

(10)

is the RL estimate of the j-th component of f, in the itera-tion n + 1.

The RL algorithm was applied and investigated inCOSM by several authors [6, 11, 12, 13, 17]. It canbe shown that the RL algorithm is able to partially re-cover the missing frequency components [5, 14].

4. Results and Discussions

The performance of the proposed method was evaluatedin a numerical simulation.

Figure 1(a) shows a section of a 3D phantom image thatwas used to test the algorithm. This image represents the ac-tual optical density of the phantom.

The 3D phantom image was blurred by a theoreticalPSF in order to simulate a conventional fluorescence micro-scope. This PSF was constructed following the theoreticalmodel proposed by Gibson and Lane [7, 8, 9]. It simulatesa 60X oil-immersion objective lens with a numerical aper-ture of 1.4, where we consider that the phantom has a fluo-rescence wavelength of 535 nm. Following, the blurred im-age was degraded by Poisson noise. A blurred image sectionis presented in figure 1(b) and figure 1(c) shows the corre-sponding blurred and noisy section.

Three cases were considered in the simulation. First, theRL algorithm was applied on the blurred and noisy imagewithout any preprocessing step to reduce the Poisson noise.Later, the RL algorithm was applied considering the pro-cedure described in section 3.1 for noise reduction. Finally,for comparison proposes, we also considered the case wherethe median filter was used to reduce the noise.

The improvement in signal to noise ratio (ISNR) wasused to quantify the restoration results. It is given (in deci-

135

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 147: III WVC 2007

(a)

(b)

(c)

Figure 1. (a) section of a 3D phantom image; (b)blurred image section; (c) blurred and noisy im-age section.

bels) by

IS NR = 10 · log10‖f − u‖2‖f − f‖2

, (11)

where f, u, and f are defined as above.Figure 2 presents the ISNR values for the restored im-

ages considering 3000 iterations in each experiment. Thebest values found for the ISNR were in 205 iterations to theRL algorithm, 242 iterations to the RL with the Anscombeprocedure (RLA), and 241 iterations to the RL with the me-dian filter (RLM). These results can be visualized in table 1,where a † symbol denotes the best result in each case. TheISNR values decreased to higher iteration numbers.

From figure 2 and from table 1, we conclude that accord-ing to the ISNR criteria, the proposed method was able toproduce better results than the RL algorithm without pre-

Figure 2. ISNR values for the restored images.

Iteration RL RLA RLM0 0.0 0.0 0.0

205 5,8919† 6,6681 6,6682241 5,8545 6,7095 6,7093†242 5,8525 6,7096† 6,70925000 -7,7216 -7,4090 -7,4084

Table 1. ISNR values for the restored imagesconsidering the best results.

processing of the noise. We also note that better results areachieved in a similar number of iteractions.

The restored image using the RL algorithm is presentedin figure 3(a). Figure 3(b) presents the restoration result forthe RLM algorithm, and figure 3(c) presents the result usingthe RLA procedure.

Although both the RLA and the RLM algorithms pro-duce very similar results considering the ISNR criteria, itis important to note that the median filter is an ad hoc pro-cedure for noise reduction. On the other hand, the methoddescribed in section 3.1 takes into account the statistical na-ture of the noise. Futhermore, it is a pointwise procedureand it has a computational complexity compared to the me-dian filter.

5. Concluding Remarks

We have presented an algorithm for deconvolution mi-croscopy that is able to produce better results than theRichardson-Lucy algorithm. It consists of reducing thePoisson noise in the observed image before the applica-tion of the Richardson-Lucy procedure. In future works,we intent to extend the method considering a total varia-tion regularization approach.

136

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 148: III WVC 2007

(a)

(b)

(c)

Figure 3. (a) a section of the restored image us-ing the RL algorithm with 205 iteractions; (b) re-stored image section using the RLM algorithmwith 241 iteractions; (c) restored image sectionusing the RLA algorithm with 242 iteractions.

Acknowledgments

The work of Murillo R. P. Homem was supportedby FAPESP, Brazil, grant numbers 04/01632-1 and2002/07153-2.

References

[1] D. A. Agard. Optical sectioning microscopy: Cellular ar-chitecture in three dimensions. Ann. Rev. Biophys. Bioeng,13:191–219, 1984.

[2] H. C. Andrews and B. R. Hunt. Digital Image Restoration.Prentice-Hall, Inc., 1977.

[3] F. J. Anscombe. The transformation of poisson, binomial andnegative-binomial data. Biometrika, 15:246–254, 1948.

[4] M. Bertero and P. Boccacci. Introduction to Inverse Prob-lems in Imaging. Institute of Physics Publishing, 1998.

[5] J. A. Conchello. Super-resolution and convergenceproperties of the expectation-maximization algorithm formaximum-likelihood deconvolution of incoherent images. J.Opt. Soc. Am. A, 15(10):2609–2620, 1998.

[6] J. A. Conchello and E. W. Hansen. Enhanced 3-D reconstruc-tion from confocal scanning microscope images. 1: Deter-ministic and maximum likelihood reconstructions. AppliedOptics, 29(26):3795–3804, 1990.

[7] F. S. Gibson and F. Lanni. Diffraction by a circular apertureas a model for three-dimensional optical microscopy. J. Opt.Soc. Am. A, 6(9):1357–1367, 1989.

[8] F. S. Gibson and F. Lanni. Measured and Analytical PointSpread Functions of the Optical Microscope for use in3D Optical Serial Sectioning Microscopy, In: Optical Mi-croscopy for Biology. Wiley-Liss, Inc., New York, NY, 1990.

[9] F. S. Gibson and F. Lanni. Experimental test of an analyticalmodel of aberration in an oil-immersion objective lens usedin three-dimensional light microscopy. J. Opt. Soc. Am. A,8(11):1601–1613, 1991.

[10] J. W. Goodman. Introduction to Fourier Optics. TheMcGraw-Hill Companies, Inc., 1996.

[11] T. J. Holmes and Y. H. Liu. Maximum-likelihood imagerestoration adapted for noncoherent optical imaging. J. Opt.Soc. Am. A, 5(5):666–673, 1988.

[12] T. J. Holmes and Y. H. Liu. Richardson-Lucy/maximumlikelihood image restoration algorithm for fluorescence mi-croscopy: Further testing. Appl. Opt, 28(22):4930–4938,1989.

[13] T. J. Holmes and Y. H. Liu. Acceleration of maximum-likelihood image restoration for fluorescence microscopyand other noncoherent imagery. J. Opt. Soc. Am. A,8(6):893–907, 1991.

[14] B. R. Hunt. Super-resolution of images: Algorithms, princi-ples, performance. International Journal of Imaging Systemsand Technology, 6:297–304, 1995.

[15] T. Inouye. Square root transform for the analysis of quan-tum flutuations in spectrum data. Nuclear Instruments andMethod, 91:581–584, 1971.

[16] L. B. Lucy. An iterative technique for the rectification of ob-served distributions. Astron. J., 79:745–759, 1974.

[17] J. Markham and J. A. Conchello. Fast maximum-likelihoodimage restoration algorithms for three-dimensional fluores-cence microscopy. J. Opt. Soc. Am. A, 18(5):1062–1071,2001.

[18] J. G. McNally, J. A. Conchello, F. U. Rosenberger, C. Preza,and J. Markhan. Tutorial - image restoration for 3-D mi-croscopy. IBC, Washington University, St. Louis, MO, April1996.

[19] J. G. McNally, T. Karpova, J. Cooper, and J. A. Conchello.Three-dimensional imaging by deconvolution microscopy.Methods, 19(3):373–385, 1999.

[20] J. G. McNally, J. Markham, and J. A. Conchello. Com-paring methods for 3D microscopy. In: Three-DimensionalMicroscopy: Image Acquisition and Processing, C. J.Cogswell, J. -A. Conchello, and T. Wilson (Eds.), Proc. SPIE,3261:108–116, 1998.

137

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 149: III WVC 2007

[21] W. H. Richardson. Bayesian-based iterative method of im-age restoration. J. Opt. Soc. Am. A, 62:55–60, 1972.

[22] P. Sarder and A. Nehorai. Deconvolution methods for 3-Dfluorescence microscopy images. IEEE Signal ProcessingMagazine, pages 32–45, May 2006.

[23] P. J. Sementilli, B. R. Hunt, and M. S. Nadar. Analysis of thelimit to superresolution in incoherent imaging. J. Opt. Soc.Am. A, 10(11):2265–2276, November 1993.

[24] D. L. Snyder, A. M. Hammoud, and R. White. Image recov-ery from data acquired with a charge-couple-device camera.J. Opt. Soc. Am. A, 10(5):1014–1023, May 1993.

[25] P. J. Verveer, M. J. Gemkow, and T. M. Jovin. Acomparison of image restoration approaches applied tothree-dimensional confocal and wide-field fluorescence mi-croscopy. J. Microsc, 193:50–61, 1999.

138

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 150: III WVC 2007

*O presente trabalho foi auxiliado pela CAPES. Agencia de Governo Brasileiro para o desenvolvimento de recursos humanos.

Redução de Dimensões Baseada em Redes Neurais Perceptron Multicamada

Soledad Espezúa Llerena, Carlos Dias Maciel

Escola de Engenharia de São Carlos – Universidade de São Paulo, Brasil. [email protected], [email protected]

Resumo

Neste trabalho, é apresentada uma alternativa ao clássico método estatístico Multidimensional Scaling (MDS) para reduzir dimensionalidade de dados multivariados. A alternativa proposta usa duas redes neurais gêmeas com arquitetura Perceptron Multicamada (PMC) conectadas em paralelo, com o fim de alcançar o mapeamento dos dados de um espaço de alta dimensionalidade para outro espaço de baixa dimensionalidade (3-2D). Este modelo aprende a partir de um conjunto de vetores de características de entrada e saídas desejadas em forma de matriz de distância ou dissimilaridade entre pares de dados. O modelo foi testado em dados sintéticos e em dados de um conhecido exemplo de mapeamento de cores, obtendo-se resultados aceitáveis. Foi observado que inclusive com uma medida destorcida dos vetores de entrada a rede neural proposta consegue encontrar uma boa representação num espaço baixo dimensional.

Palavras Chave: Perceptron Multicamada, Multidimensional Scaling. 1. Introdução Com o continuo incremento do poder computacional e

a tecnologia de armazenamento atual, é possível coletar, analisar e armazenar grandes quantidades de dados. As técnicas de redução dimensional constituem uma ferramenta importante para os usuários, no processo de extração e compressão de informação de bancos de dados com grandes quantidades de registros e atributos. Muitos métodos têm sido propostos para tratar a

redução de dimensionalidade de dados multivariados. Por exemplo, têm-se técnicas estatísticas como análise de componentes principais (PCA) e escalonamento multidimensional (MDS) [6]; técnicas de inteligência artificial baseadas em redes neurais [1] como mapas auto-organizados (SOM-maps), redes Auto-associativas FeedForward (AFN), as quais realizam a redução dimensional mediante a extração da atividade dos neurônios desde a camada interna, Curvilinear Components Analysis (CCA) [2] que foi proposta como uma melhora aos SOM-maps, NeuroScale [3] que é uma AFN modificada para incorporar informação subjetiva associada. Posteriormente se propuseram outras técnicas como Generative Topographic Mapping (GTM) [4] [5] que é um modelo probabilístico que tem sido usado

como uma alternativa aos SOM-maps para sobrepor as principais desvantagens encontradas nesse modelo.

Em técnicas como MDS o número de dimensões é

determinado de uma forma semelhante àquela utilizada na análise fatorial [7], com o erro de aproximação (stress) desempenhando o papel da variância explicada. À medida que se aumenta o número de dimensões, os dados representam melhor a matriz de distância desejada e o valor de stress diminui. A disposição dos dados (mapa) pode ser alcançada

por vários métodos; primeiro é necessário que os dados multivariados sejam transformados em medidas de proximidade (matriz de distância) usando alguma métrica de distância para logo se encontrar a disposição de pontos num espaço de coordenadas reduzido mediante o uso de uma técnica de redução dimensional. Neste trabalho é apresentado um método para realizar

redução dimensional com redes neurais artificiais, baseado no método proposto por Kenji Suzuki [8] para mapeamento de faces. O método desenvolvido usa um arranjo de duas redes neurais com arquitetura Perceptron Multicamada (PMC) conectadas em paralelo, as quais aprendem o mapeamento não linear, entre os vetores de características de entrada (com alta dimensionalidade) e a representação dos dados em baixa dimensão, tendo como sinal de aprendizagem a matriz de dissimilaridade desejada. O treinamento da rede é baseado no algoritmo Backpropagation com a consideração de que o sinal de erro para o treinamento é obtido a partir da diferença entre a distância euclidiana calculada nas saídas das 2 redes e a dissimilaridade desejada. Depois do treinamento, novos dados podem ser apresentados e avaliados, aproveitando a capacidade de generalização da rede. Este trabalho está organizado da seguinte forma, a

parte 2 apresenta uma definição de nosso problema, a parte 3 segue com a solução do problema com redes neurais, a parte 4 mostra os resultados computacionais e discussões para dois bancos de dados sintéticos e um conhecido banco de dados para percepção de cores; finalmente na parte 5 são apresentadas ás conclusões. 2. Definição do problema

Formalmente o problema pode ser definido como:

dado um conjunto de p vetores de características de

entrada ,..., 1 pxxX = , definidos em um espaço m -

dimensional mℜ , onde um padrão α é representado

139

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 151: III WVC 2007

pelo vetor ),...,,( 21ααααmxxxx = . Dada também uma

matriz de dissimilaridade entre os padrões )),(( jiS δ= ,

(onde ),( jiδ representa a distância entre os padrões i e

j ). Deseja-se fazer o mapeamento YX →:φ do

conjunto de padrões de entrada X em um conjunto de

vetores de saída ,..., 1 pyyY = definido no espaço

reduzido nℜ com mn < e ),...,,( 21ααααnyyyy = , tal

que a distância euclidiana entre qualquer par de vetores

de saída αy e βy , denotado por ),( βα yyd , seja o

mais próximo possível à dissimilaridade dos padrões de entrada α e β , isto é, ),( βαδ .

Neste trabalho é considerada a matriz de dissimilaridade S como uma matriz simétrica com valores ),(),( αβδβαδ = .

3. Solução do problema

Na Figura 1 é mostrado um diagrama ilustrativo da

configuração da solução do problema descrito. As duas redes neurais A e B são idênticas com arquitetura PMC e com uma topologia de três camadas (considerando a camada de entrada), cada PMC aceita um vetor de entrada (padrão), as saídas das PMC A e PMC B são conectadas em paralelo a uma unidade C a qual calcula a distancia euclidiana ),( βαd . Quando os vetores de

entrada αx , βx são fornecidos, as redes produzem os

vetores de saída αy , βy nas suas camadas de saída,

cada um com dimensão n . A unidade C calcula então a distância euclidiana entre os dois vetores de saída, a qual é comprada com a dissimilaridade desejada ),( βαδ

(unidade E) produzindo o sinal de erro que é minimizado na etapa de treinamento. As saídas de cada rede são as representações em baixa dimensão dos padrões α e β .

Figura 1. Ilustração da solução MDS com duas redes PMC gêmeas, A e B com topologia de três camadas. A regra de aprendizado é derivada do método

Backpropagation.[9] e os pesos de conexão entre as camadas são ajustados de modo que vão aproximando a distancia obtida ),( βαd nas saídas das redes com a

distancia desejada ),( βαδ em cada par de padrões α e

β . O método de gradiente descendente é adaptado para

treinar as ambas redes. As redes A e B são iniciadas com a mesma configuração inicial de pesos, os quais são ajustados da mesma forma para prover o mesmo mapeamento (simétrico). A função de ativação µ da

camada oculta e da camada de saída é a função tangente hiperbólica. A função de erro calculada para dois padrões de entrada α e β é dada por.

2),( )),(),((2

1βαβαδβα dE −= (1)

2

1

1

2

22),( ⎟⎟

⎜⎜

⎛−=−≡ ∑

=

N

j

BA YYyyd βαβα (2)

O Erro Quadrático Médio (EQM) relativo a todos os p

padrões de treinamento é:

∑≠=

=p

M Ep

E

βαβα

βα1,

),(1

(3)

Figura 2. Topologia das redes PMC.

Na Figura 2 é mostrada a topologia para uma das redes, sendo a outra rede exatamente igual. No sucessivo deste texto é usada a letra Z para indicar qualquer das duas redes A ou B. Nesta topologia são identificadas as seguintes partes: - Camada de Entrada: Constituída de “m” sinais de entrada ),...,,( 21 mxxx

- Camada Neural Escondida: Constituída de N1 neurônios; o número de N1 é variado até obter o melhor resultado. - Camada Neural de Saída: Constituída de N2 neurônios de saída ),...,,( 221 Nyyy . Para os experimentos

realizados neste trabalho foram usados 3 e 2 neurônios, de acordo com o experimento.

- 11 jiZZ wW = : Matriz de pesos de conexão entre a

1ra e 2da camada da rede Z

- 22 jiZZ wW = : Matriz de pesos de conexão entre a

2da e 3ra camada da rede Z

- ZI1 : Vetor de entradas ponderadas da camada escondida da rede Z.

- ZI2 : Vetor de entradas ponderadas da camada de saída para a rede Z.

- ZY1 : Vetor de saídas da camada escondida na rede Z.

140

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 152: III WVC 2007

- ZY 2 : Vetor de saídas da camada de saída na rede Z.

Os pesos da camada de saída ZW2 em as ambas redes são ajustados cada vez que é fornecido um par de padrões de treinamento α e β com dissimilaridade

),( βαδ . A regra de atualização derivada do método de

gradiente descendente é dada por (Ver Anexo A ):

)1*2(*)(2)1(2 Zij

Zji

Zji Ytwtw ρη+=+∆ (4)

( ) )2`(*),(

22*),(),(2 Z

j

Zj

ZjZ

j IGd

YYd

⎟⎟

⎜⎜

⎛ −−=

βαβαβαδρ (5)

onde η representa a taxa de aprendizagem. Para avaliar o erro de aproximação obtido do método,

além da função de erro quadrático médio usado na etapa de treinamento (Equação 3) foram usadas outras funções de Stress para verificar a qualidade do mapeamento aprendido pelas redes:

- Kruskal Stress 1.

( )∑

∑ −−

2

2

),(

),(),(1

jid

jidji=Stress

δ (6)

- Mean Relative Absolute error

n

jidjidjiMRA

∑ −=

),(/)),(),((δ (7)

- Root Relative Mean-Squared error

( )n

jidjidjiRRMS ∑ −

=2),(/)),(),((δ (8)

4. Resultados computacionais e discussões Para avaliar a capacidade de reconhecimento no

mapeamento da rede foram testados dois bancos de dados artificiais QUADRADO e ESTRELA e para avaliar o método de redução dimensional foi testado um conhecido exemplo de percepção de cores apresentado em [9]. QUADRADO:

Este banco de dados é composto por 4 pontos em 2 dimensões os quais formam um quadrado (ver Figura 3b). Os padrões de entrada das PMC são versões distorcidas destes pontos como é mostrado na Figura 4. As PMC foram treinadas com todas as combinações

de pares entre os padrões de entrada e com distâncias desejadas iguais aos valores de dissimilaridade originais. O objetivo então é fazer o mapeamento com as redes neurais para levar os pontos distorcidos da Figura 4b a uma disposição em que a matriz de distância calculada se aproxime à matriz de dissimilaridade original.

Foram testadas varias topologias de rede variando o número de neurônios da camada escondida e por cada topologia foram executados 10 treinamentos, obtendo-se o melhor deles (com respeito ao erro quadrático médio). Para encontrar o número de neurônios adequados

foram realizados experimentos incrementando o número de neurônios na camada escondida e em cada experimento foi calculado o valor de Stress. A Figura 5

apresenta o Stress para os 3 critérios em função do número de neurônios. Observa-se que nas topologias com 6, 9, 11 e 12 neurônios na camada escondida se apresentam os menores valores de Stress, sendo o menor entre eles o valor em 12 neurônios. Similarmente, a Figura 6 mostra o EQM, onde também é observado que as topologias de 6, 9, 11 e 12 neurônios apresentam erros baixos. Foi tomada a topologia de 12 neurônios como a topologia ótima por ter apresentado os menores valores de Stress. Os parâmetros desta topologia são mostrados na Tabela 1 e os pontos resultantes obtidos com esta configuração são mostrados na Figura 7, onde é observado o resultado da proximidade com respeito aos pontos originais. A diferença encontrada esta basicamente na rotação (Comparar Figura 3b e 7b).

Pontos

Dim1 Dim2-0.1 0.10.1 0.1

0.1 -0.1-0.1 -0.1

(a) (b)

Figura 3: (a) Pontos originais, (b) Mapeamento dos pontos.

Pontos distorcidos (padrões)

Dim1 Dim2

-0.07091 -0.11417 0.13904 -0.07813 0.093491 0.090882 -0.06367 0.075936

(a) (b) Figura 4: (a) Padrões de entrada (pontos distorcidos), (b) Mapeamento dos pontos distorcidos ingressados à rede PMC.

0.0000

0.0002

0.0004

0.0006

0.0008

0.0010

0.0012

0.0014

0.0016

0.0018

2 3 4 5 6 7 8 9 10 11 12 13 14 15

Número de neurônios da camada escondida

Str

ess

Kruscal_Stress

MRA_StressRRMS_Stress

Figura 5: Stress vs. Número de neurônios.

0.00000000

0.00000005

0.00000010

0.00000015

0.00000020

0.00000025

0.00000030

0.00000035

2 3 4 5 6 7 8 9 10 11 12 13 14 15Número de neurônios

EQM_Final

Figura 6. EQM vs. Número de neurônios.

141

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 153: III WVC 2007

Tabela 1: Topologia ótima com 12 neurônios na camada escondida Taxa de aprendizagem η = 0.1 Épocas de treinamento 20000 Neurônios na camada de entrada N = 2 Neurônios na camada oculta N1 = 12 Neurônios na camada de saída N2 = 2 EQM 0.000000001 Kruskal_stress1 0.00001540 MRA_Stress 0.00001383 RRMS_Stress 0.00001755

Dim1 Dim2

0.54421 -0.76028

0.70819 -0.64578

0.59369 -0.4818

0.42971 -0.5963

(a) (b) Figura 7: (a) Matriz de pontos e, (b) Mapeamento dos pontos obtidos com a rede PMC. ESTRELA:

Este banco de dados é composto por 8 pontos em 2 dimensões os quais formam uma estrela (Figura 8b). Os padrões de entrada das PMC são versões distorcidas destes pontos no sentido de rotação (Ver Figura 9b). Ao igual que o objetivo do caso anterior se requer levar os pontos distorcidos a uma disposição na qual a matriz de distância calculada nos pontos resultantes se aproxime à matriz de dissimilaridade.

Dim1 Dim2

0.50 0.00 0.25 0.25 0.00 0.50 -0.25 0.25 -0.50 0.00 -0.25 -0.25 0.00 -0.50 0.25 -0.25

(a) (b)

Figura 8: (a) Matriz de pontos originais. (b) Mapeamento dos pontos. Dim1 Dim2

0.52439 0.04303

0.28068 0.23099

0.01376 0.47688

-0.2749 0.25365

-0.5356 -0.0337

-0.2348 -0.2789

0.04461 -0.5283

0.28159 -0.2348

0.52439 0.04303

0.52439 0.04303

(a) (b)

Figura 9: (a) Padrões de entrada (pontos distorcidos) apresentados às redes PMC. (b) Mapeamento de pontos distorcidos apresentados à rede. Como no exemplo anterior, foram testadas varias

topologias de rede variando o número de neurônios da camada escondida. Por cada topologia testada foram executados 10 treinamentos obtendo-se o melhor deles (com respeito ao erro quadrático médio). A Figura 10 apresenta os valores das funções de Stress

para cada topologia testada correspondentes ao melhor treinamento. Observa-se que com 2, 3 ou 4 neurônios na camada escondida os valores de Stress são mínimos, mas observando pelo erro quadrático médio (Ver Figura 11) foi visto que a topologia com 6 neurônios na camada oculta possui o menor valor de erro, portanto foi escolhida esta topologia como a topologia ótima. Os parâmetros desta topologia são mostrados na Tabela 2 e os pontos obtidos com esta configuração são mostrados na Figura 12 onde pode ser observada a proximidade com os pontos originais (rotados).

0.000

0.002

0.004

0.006

0.008

0.010

0.012

2 3 4 5 6 7 8 9 10 11 12 13 14 15

Número de neuronios

Stress

Kruscal_Stress

MRA_Stress

RRMS_Stress

Figura 10: Stress vs. Neurônios na camada escondida.

0.00000

0.00005

0.00010

0.00015

0.00020

0.00025

0.00030

2 3 4 5 6 7 8 9 10 11 12 13 14 15

Número de neuronios

EQM

EQM_Final

Figura 11: EQM vs. Neurônios na camada escondida.

Tabela 2: Topologia ótima com 6 neurônios na camada escondida Taxa de aprendizagem η = 0.1 Épocas de treinamento 20000 Neurônios na Camada de entrada N = 2 Neurônios na Camada Oculta N1 = 6 Neurônios na Camada de Saída N2 = 2 EQM 0.00000001 Kruskal_stress1 0.00242896 MRA_Stress 0.00200543 RRMS_Stress 0.00266045

142

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 154: III WVC 2007

Dim1 Dim2

-0.0474 0.5876

0.2890 0.4788

0.6253 0.3698

0.5165 0.0335

0.4075 -0.3029

0.0712 -0.1940

-0.2652 -0.0851

-0.1563 0.2513

(a) (b) Figura 12: (a) Pontos obtidos das PMC com topologia ótima. (b) Mapeamento dos pontos obtidos com a rede PMC. TABELA DE CORES

Com este exemplo foi testada a eficácia do método implementado para redução dimensional; aqui se tenta verificar se a implementação realizada neste trabalho obtém os mesmos resultados que os apresentados em Ekman [10] reduzindo a dimensionalidade desde 13 a 2 dimensões. Na Tabela 5 é apresentada a matriz de dissimilaridade

coletada em um estudo de percepção de dados para 14 diferentes cores. Cada par de cores foi julgado por 31 avaliadores os quais davam juízos de similaridade. Iniciou-se em uma faixa do espetro de freqüências entre 434nm a 674nm, ou seja, de azulado-roxo, azul, verde, amarelo, ao vermelho. Assim para nossa rede os padrões de entrada corresponderão a 14 pontos cada um com 13 coordenadas, obtidas pelo procedimento MDS clássico [6]. O objetivo aqui é encontrar um mapeamento dos padrões de entrada em um conjunto de pontos em um espaço 2D tal que a matriz de distância calculada nesses pontos se aproxime à matriz de dissimilaridades desejada ( Ver Tabela 5). Ao igual que nos exemplos anteriores, foram testadas

varias topologias de rede variando o número de neurônios da camada escondida. Por cada topologia testada foram executados 6 treinamentos obtendo-se o melhor deles (com respeito ao erro quadrático médio).

0.00

0.05

0.10

0.15

0.20

0.25

0.30

0.35

3 5 7 9 11 13 15 17 19 21 23 25 27

Número de neuronios

Stre

ss

Kruscal_Stress

MRA_Stress

RRMS_Stress

Figura 13: Stress vs. Neurônios na camada escondida. A Figura 13 apresenta os valores das funções de Stress

para cada topologia testada correspondentes ao melhor treinamento. Observa-se que nas topologias com poucos neurônios (de 3 a 9) na camada oculta o valor de Stress é

baixo. Os mesmos resultados observam-se no EQM (Ver Figura 14) donde a topologia de 4 neurônios apresenta o menor valor de stress e EQM, mas não sendo muito distante das outras topologias entre 3 e 9 neurônios. Tomando a topologia de 4 neurônios como a ótima, os seus parâmetros são mostrados na Tabela 4.

0.00

0.05

0.10

0.15

0.20

0.25

0.30

3 5 7 9 11 13 15 17 19 21 23 25 27

Número de neuronios

EQM

EQM_Final

Figura 14: EQM vs. Neurônios na camada escondida.

Tabela 4: Topologia ótima com 4 neurônios na camada escondida para o exemplo de cores

Taxa de aprendizagem η = 0.01 Épocas de treinamento 15000 Precisão ε = 1.0exp-14 Neurônios na Camada de entrada N = 14 Neurônios na Camada Oculta N1 = 4 Neurônios na Camada de Saída N2 = 2 Padrões P = 14 EQM 0.05196261 Kruskal_stress1 0.07704881 MRA_Stress 0.08718920 RRMS_Stress 0.12067569

Tabela 5: Dissimilaridades de cores com ranges entre 434 e 674 nm.

434 445 465 472 490 504 537 555 584 600 610 628 651 674

0 0,14 0,58 0,58 0,82 0,94 0,93 0,96 0,98 0,93 0,91 0,88 0,87 0,84

0,14 0 0,5 0,56 0,78 0,91 0,93 0,93 0,98 0,96 0,93 0,89 0,87 0,86

0,58 0,5 0 0,19 0,53 0,83 0,9 0,92 0,98 0,99 0,98 0,99 0,95 0,97

0,58 0,56 0,19 0 0,46 0,75 0,9 0,91 0,98 0,99 0,99 0,99 0,98 0,96

0,82 0,78 0,53 0,46 0 0,39 0,69 0,74 0,93 0,98 0,98 0,99 0,98 0,99

0,94 0,91 0,83 0,75 0,39 0 0,38 0,55 0,86 0,92 0,98 0,98 0,98 0,99

0,93 0,93 0,9 0,9 0,69 0,38 0 0,27 0,78 0,86 0,95 0,98 0,98 0,99

0,96 0,93 0,92 0,91 0,74 0,55 0,27 0 0,67 0,81 0,96 0,97 0,98 0,98

0,98 0,98 0,98 0,98 0,93 0,86 0,78 0,67 0 0,42 0,63 0,73 0,8 0,77

0,93 0,96 0,99 0,99 0,98 0,92 0,86 0,81 0,42 0 0,26 0,5 0,59 0,72

0,91 0,93 0,98 0,99 0,98 0,98 0,95 0,96 0,63 0,26 0 0,24 0,38 0,45

0,88 0,89 0,99 0,99 0,99 0,98 0,98 0,97 0,73 0,5 0,24 0 0,15 0,32

0,87 0,87 0,95 0,98 0,98 0,98 0,98 0,98 0,8 0,59 0,38 0,15 0 0,24

0,84 0,86 0,97 0,96 0,99 0,99 0,99 0,98 0,77 0,72 0,45 0,32 0,24 0

A Figura 15 apresenta o mapeamento resultante obtido

com o método proposto neste trabalho e a Tabela 6 apresenta as coordenadas (2 dimensões) usadas para gerar este mapeamento.

143

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 155: III WVC 2007

Figura 15: Pontos obtidos pelas PMC com topologia ótima para dados de cores de Ekman [10].

Tabela 6: Matriz de coordenadas obtidas por PMC proposto neste trabalho para o mapeamento de cores.

Cor Dim1 Dim2

434 0.32436 0.9319

445 0.24267 0.92712

465 -0.0013544 0.85395

472 -0.021523 0.86717

490 -0.014859 0.53674

504 0.1352 0.20712

537 0.26816 0.043904

555 0.33215 0.040847

584 0.81568 0.27224

600 0.95552 0.36779

610 0.95912 0.5587

628 0.93515 0.73255

651 0.89427 0.83325

674 0.8773 0.93141

Fazendo uma comparação visual entre os resultados

obtidos por PMC e os resultados MDS obtidos por Ekman [10] (Ver Figura 15 e Figura 16), pode ser observado que em ambos os mapeamentos estão bastante próximos (obviamente desconsiderando a rotação).

A matriz para o mapeamento obtida por Ekman e apresentada no Anexo B.

Figura 16: Resultados MDS obtidos por Ekman [10].

5. Conclusão De acordo aos testes realizados pode-se concluir que o

método implementado baseado em redes neurais artificiais PMC mostrou ser eficiente na determinação de mapeamentos para redução de dimensões. A vantagem adicional deste método é que uma vez treinado pode efetuar o mapeamento on-line para padrões de entrada não apresentados na etapa de treinamento, ao contrario de outros métodos MDS que precisam realizar um re-calculo de todos os dados em forma off-line. É sugerida a realização de um estudo comparativo com outros métodos MDS existentes para validar o método. Também se sugere o uso de outras arquiteturas de rede com a finalidade de verificar se é possível reduzir ainda mais o erro e assim atingir uma maior precisão na extração de informação relevante nos dados. Um ponto importante foi a dificuldade na obtenção de bons aprendizados, devido ao fato que o método de gradiente descendente não garante pesos ótimos globais, pelo que é sugerido para futuros trabalhos o estudo de outros métodos de aprendizagem. 6. Referências

[1] A. Naud, “Neural and Statistical Methods for the

Visualization of Multidimensional Data”. Ph. D. thesis, Univ. of Mikolaja Kopernika Toruniu, 2001. http://citeseer.ist.psu.edu/naud01neural.html

[2] P. Demartines and J. Hérault, “Curvilinear component analysis: A self-organizing neural network for nonlinear mapping of data sets,” Proc. IEEE Transaction on Neural Networks, vol. 8, pp. 148–154, January 1997.

[3] M. E. Tipping, “Topographic mappings and feed-forward neural networks,” PhD thesis, The University of Aston in Birmingham, Feb. 1996.

[4] C. M. Bishop, M. Svensén, and C. K. I.Williams, “GTM: A principled alternative to the self-organizing map,” technical report, Aston University, Birmingham, Neural Computing Research Group, April 1996.

[5] J. F. M. Svensén, “GTM: The generative topographic mapping,” Ph.D. thesis, Aston University, April 1998.

[6] I. Borg and P. Groenen, Modern Multidimensional Scaling: Theory and Applications. New York: Springer. 1997

[7] R. L. Gorsuch, “Factor Analysis,” Hillsdale, NJ: Lawrence Erlbaum. Orig. ed. 1974. 1983

[8] K. S. H. Yamada and S. Hashimoto, “A similarity-based neural network for facial expression analysis,” Proc. Pattern Recognition Letters, vol. 28, Issue 9, pp. 1104-1111, July 2007.

[9] S. Haykin, Neural Networks: A Comprehensive Foundation, Second Edition, 1999, Prentice Hall.

[10] G. Ekman, “Dimensions of color vision,” Proc. Journal of Psychology, vol. 38, pp.467–474, 1954.

144

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 156: III WVC 2007

ANEXO

A) Derivação da regra de aprendizagem para os neurônios da camada de saída da rede A

Aji

Aj

Aj

Aj

Aj

Aji W

I

I

Y

Y

E

W

EE

2

2*

2

2*

22 ∂

∂=

∂=∇

(1)

AiA

ji

Aj

YW

I1

2

2=

(2)

)2`(2

2 AjA

j

Aj

IGI

Y=

(3)

( )⎟⎟

⎜⎜

⎛ −−−=

),(

22*),(),(

2 βαβαβαδ

AB

Bj

Aj

ABAj d

YYd

Y

E

(4)

Substituindo (2), (3) e (4) em (1):

( ) Ai

Aj

AB

Bj

Aj

ABAji

YIGd

YYd

W

EE 1*)2`(*

),(

22*),(),(

2 ⎟⎟

⎜⎜

⎛ −−−=

∂=∇

βαβαβαδ

(5)

No qual:

( ) )2`(*),(

22*),(),(2 A

jAB

Bj

Aj

ABAj IG

d

YYd

⎟⎟

⎜⎜

⎛ −−=

βαβαβαδρ

(6)

Ajuste ao gradiente: Ai

Aj

Aji YEW 1*2**2 ρηη =∇−=∆ (7)

Ai

Aj

Aji

Aji YtWtW 1*2*)(2)1(2 ρη+=+ (8)

B) Pontos obtidos pelo método MDS clássico no exemplo de cores de Ekman [10]

Cor Dim1 Dim2 Dim3 Dim4 Dim5 Dim6 Dim7 Dim8 Dim9 Dim10 Dim11 Dim12 Dim13

434 0.223 -0.419 0.236 -0.179 0.087 0.004 0.014 -0.026 -0.014 -0.033 0.042 -0.019 -0.002

445 0.263 -0.412 0.202 -0.171 0.045 0.005 -0.021 0.027 0.014 0.026 -0.036 0.016 0.001

465 0.414 -0.312 -0.065 0.174 -0.115 -0.075 -0.001 0.03 0.041 0.053 -0.03 -0.004 0.003

472 0.435 -0.274 -0.114 0.189 -0.051 -0.016 0.023 -0.027 -0.04 -0.048 0.036 -0.001 -0.003

490 0.425 0.083 -0.287 0.122 0.112 0.06 -0.063 0 0.008 0.012 -0.013 -0.002 0.001

504 0.326 0.382 -0.208 -0.066 0.164 0.04 0.048 0.01 -0.009 -0.01 0.003 0.005 -0.002

537 0.239 0.483 0.046 -0.193 -0.014 -0.097 0.061 -0.001 0.026 0.004 0.02 0 0.001

555 0.194 0.485 0.149 -0.121 -0.168 -0.044 -0.094 0.002 -0.032 -0.005 -0.027 -0.002 -0.007

584 -0.225 0.28 0.272 0.244 -0.104 0.209 0.012 0.024 0.021 -0.028 -0.014 0 -0.011

600 -0.398 0.139 0.187 0.229 0.084 -0.093 -0.001 0.013 -0.006 0.006 0.014 -0.001 -0.004

610 -0.496 -0.028 0.011 0.119 0.085 -0.078 0.017 -0.037 0 0.005 0.007 0.001 0.009

628 -0.503 -0.103 -0.106 -0.052 0.034 -0.038 -0.022 0.038 -0.005 -0.014 -0.001 0.003 0.009

651 -0.467 -0.142 -0.17 -0.127 -0.048 -0.017 -0.013 0.045 -0.005 0.04 0.008 0.003 -0.008

674 -0.431 -0.161 -0.152 -0.17 -0.112 0.141 0.041 -0.099 0.001 -0.008 -0.009 0 0.012

145

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 157: III WVC 2007

Extração de Minúcias em Imagens de Impressões Digitais

CASADO, Ricardo S.; PAIVA, Maria S. V. de

Escola de Engenharia de São Carlos

Universidade de São Paulo

[email protected]

Resumo

O trabalho apresenta métodos para a extração de

minúcias em imagens de impressões digitais. O objetivo

foi desenvolver um sistema semi-automático para

extração de minúcias para auxiliar especialistas na tarefa

de identificação de indivíduos, onde o sistema executa as

seguintes etapas: pré-processamento das imagens com o

objetivo de aumentar a discriminação visual das mesmas.

Etapa de afinamento e marcação das minúcias nas

imagens. E por último é realizada a etapa de pós-

processamento, que visa eliminar as falsas minúcias

encontradas pelo sistema. Porém é um sistema semi-

automático onde ainda será necessária a intervenção de

um especialista para o reconhecimento do indivíduo

através da imagem.

1. Introdução

A biometria tem se tornado um tópico cada vez mais

importante, em face das crescentes necessidades de

proteção e segurança no mundo hodierno. Ela é definida

como a(s) característica(s) ou métrica(s) que

identifica(m) de forma única o indivíduo [1].

As impressões digitais vêm ao longo destes anos

demonstrando maior confiabilidade no que se diz respeito

à identificação de indivíduos. Utilizada nos tribunais de

justiça como provas criminalísticas esta é, portanto junto

com a assinatura a técnica biométrica mais aceita no

mundo inteiro. As impressões digitais são formadas nos

primeiros meses de gestação, onde cada um tem sua

própria impressão digital, e pode ser observado que até

mesmo gêmeos idênticos possuem os desenhos que

formam a geometria da impressão digital diferente por

existir variações no fluxo amniótico e cada um estar

inserido em um micro ambiente diferente dentro do útero

[2].

No trabalho primeiro são executados algoritmos de

pré-processamento. Já na etapa de extração das minúcias

é realizado o trabalho de afinamento das cristas papilares

e depois a marcação das minúcias. A etapa final é a de

pós-processamento, onde é realizada a remoção de falsas

minúcias encontradas pelo sistema.

Existem vários sistemas de detecção de minúcias em

impressões digitais, na qual a maioria deles realiza o

processo de classificação e verificação, estes por sua vez

são conhecidos como sistemas automáticos. Já o sistema

apresentado trabalha apenas com a detecção de minúcias,

porém é conhecido como um sistema semi-automático.

Onde em uma imagem de impressão digital pode-se

observar vários tipos delas como as apresentadas na

figura de número 1.1.

Fig. 1.1 Amostra de várias minúcias.

Estas minúcias podem se restringir a apenas dois

grupos, as terminações e as bifurcações. Na qual já é

possível diferenciar um indivíduo do outro. Geralmente

em uma imagem de impressão digital de boa qualidade é

possível observar de 40 a 100 minúcias [3].

No sistema desenvolvido foram utilizados para

testes imagens do DB2 e do DB4 encontradas no site

FVC2004 (Fingerprint Verification Competition) [4]. As

imagens encontradas no DB2 foram obtidas através de

um sensor óptico e as encontradas no DB4 foram geradas

pelo SFinGe (Synthetic Fingerpring Generation).

Fig. 1.2 Amostras das imagens capturadas pelos sensores.

2. Etapa de pré-processamento

As imagens de impressões digitais são pré-

processadas com o intuito de reduzir as distorções e

146

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 158: III WVC 2007

aumentar a discriminação visual entre os objetos contidos

na imagem. Pois desde que as imagens são obtidas

através de sensores podem apresentar deformações se

comparadas com a digital original do indivíduo.

2.1 Espalhamento de contraste

O espalhamento de contraste é utilizado, pois

em imagens de má qualidade apresentam deficiência no

contraste que podem gerar configurações de pixels

similares ou ignorar minúcias verdadeiras. Este processo

consiste em calcular para cada pixel um valor médio de

intensidade em uma vizinhança de 5x5. Se o valor do

pixel for menor que a média do bloco considerado, então

o pixel de interesse receberá o valor zero; caso contrário

o pixel receberá seu valor original [5].

Fig. 2.1 Imagem original e imagem equalizada.

2.2 Binarização

A binarização das imagens é de grande uso e de

destacada importância quando são usadas imagens

digitalizadas de impressões digitais. Uma vez que uma

impressão digital deve possuir apenas duas tonalidades, a

cor do fundo e a cor do desenho. Então a binarização é

transformar a imagem original de 8 bits em uma imagem

de 1 bit, ou seja, a binarização consiste em transformar

uma imagem em tons de cinza em uma imagem preto e

branco e esta operação é referida na literatura como

threshold [6].

Um método de threshold adaptável é executado para

binarizar a imagem que contém a impressão digital.

Neste método verificam-se os valores de intensidade dos

pixels com um determinado valor chamado de nível de

threshold. Se o pixel de interesse tem valor menor que o

nível de threshold utilizado, então o pixel receberá o

valor zero, caso contrário este receberá o valor um. Esta

operação pode ser expressa pela seguinte expressão:

(1) Tj)O(i,se0j)B(i, <=

Tj)O(i,se1j)B(i, >==

M)...,2,1,jN;...,2,1,(i ==

Onde B(i,j) é a imagem binária resultante, O(i,j) é a

imagem de entrada, ou seja, a imagem original, T é o

nível de threshold utilizado para realizar a binarização da

imagem, N são as linhas e M as colunas da imagem.

O threshold adaptável é utilizado, pois o valor do

nível de cinza é diferente em cada parte da imagem. Por

isso é necessária a utilização de pequenos blocos para

percorrer a imagem e realizar a binarização. Então o

threshold é calculado para cada bloco da imagem usando

o valor médio de cinza como valor de nível de threshold

[7].

Fig. 2.2 Imagem binarizada.

2.3 Imagem direcional

A maior parte dos trabalhos de extração de

minúcias utilizam a imagem direcional, pois através dela

obtêm-se informações contidas nos padrões de impressões

digitais que podem ser seguramente calculadas em

imagens ruidosas [8]. A imagem direcional na verdade

tem grande importância durante o processo de extração

das características globais (núcleo e delta) da imagem

para um posterior processo de classificação desta dentre

os cinco padrões adotados pelo NIST (National Institute

of Standards and Technology) que são: Arco angular,

arco plano, presilha interna, presilha externa e verticilo,

na qual depois de localizada à qual classe pertence tal

imagem o processo torna-se mais rápido, pois não é

preciso procurar a imagem entre todas as outras no banco

de dados. Ela também é importante durante o processo de

reconhecimento do indivíduo, onde é criado um vetor de

características contendo a localização da minúcia, seu

tipo e orientação.

A princípio o objetivo era desenvolver um sistema

automático que realizasse a detecção de minúcias, das

características globais, classificação e reconhecimento. E

como a técnica para o cálculo da imagem direcional já

havia sido pesquisada, foi interessante mantê-la no

trabalho para estas futuras tarefas.

O fluxo direcional das cristas papilares que formam as

impressões digitais pode ser estimado através de suas

texturas. Assim o campo de orientação forma uma matriz

de direções representando as cristas e os vales (espaço

entre as cristas) para cada localização na imagem, este

147

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 159: III WVC 2007

método é bastante utilizado em sistemas de identificação

e autenticação de impressões digitais [9].

Para estimar o fluxo da orientação local das cristas

papilares é necessário utilizar um bloco de estimação

para cada bloco da imagem que contém a impressão

digital com tamanho de WxW (W tem 16 pixels por

padrão).

Calculam-se os valores dos gradientes na direção x e y

para cada pixel através de uma máscara de sobel 3x3. E a

fórmula para realizar o cálculo da orientação do vetor

gradiente é apresentada abaixo.

(2) ⎟⎠⎞

⎜⎝⎛=

Gx

Gyyx arctan),(α

Para estimar a direção das cristas papilares basta

calcular os valores do vetor gradiente que foram

computados juntamente com os valores dos cos-senos e

dos senos dos ângulos formados entre as cristas papilares

e os eixos x e y.

(3)

⎟⎟⎟

⎜⎜⎜

⎛=

∑∑

Wji

Wji

ji

ji

yx

),(

),(

),(2cos

),(2sin

arctan2

1),(

α

αθ

E então o processo é finalizado com a estimação da

direção de cada bloco, aqueles blocos sem informações

significantes das cristas papilares e dos vales da imagem

que contêm a impressão digital são descartados baseados

na seguinte fórmula:

(4))(**

)(2)*(222

22

GyGxWW

GyGxGyGxE

+∑∑−∑∑+∑∑=

Se o nível de E é menor que o nível de threshold,

então o bloco é estimado como se fosse o fundo da

imagem.

Fig. 2.3 Direção estimada do fluxo das cristas papilares.

2.4 Região de interesse (ROI)

Os operadores morfológicos são utilizados aqui para

determinar a região de interesse que na verdade é apenas

a região em que se encontram as informações

importantes da impressão digital, ou seja, o algoritmo de

detecção de minúcias só irá percorrer a área em cinza

apresentada na figura 2.4 ignorando as outras regiões.

Nesta etapa são utilizados dois operadores morfológicos

chamados de operação “OPEN” e “CLOSE”, ambos

encontrados na toolbox de morfologia matemática do

software Matlab (bwmorph).

A operação “OPEN” é capaz expandir a imagem e

remover pontos introduzidos por ruídos existentes no

fundo da imagem. Já a operação “CLOSE” é capaz de

contrair a imagem e eliminar pequenas cavidades

existentes na mesma.

Fig. 2.4 Região de interesse (área cinza).

3. Etapa de extração das minúcias

Nesta etapa serão apresentados métodos de afinamento

das cristas papilares da impressão digital contida na

imagem (thinning). Após a operação de afinamento são

utilizadas técnicas para remover pontos isolados e

reentrâncias existentes entre as cristas papilares. E por

fim é realizada a operação de extração das minúcias

encontradas na impressão digital, ou seja, as terminações

e as bifurcações.

3.1 Afinamento ou thinning

O thinning também conhecido como afinamento das

cristas papilares é uma técnica que pode ser utilizada

para remover pontos isolados no fundo da imagem e

ângulos retos ao longo de bordas dos objetos [10]. O

algoritmo de afinamento é um casamento de máscaras

(blocos) que percorrem a imagem verificando se um pixel

faz ou não parte das cristas papilares que compõem a

impressão digital. O afinamento é definido em termos da

transformada “hit or miss”, que no caso é o casamento

das máscaras. Em geral os algoritmos de afinamento

consomem muito tempo em específico para impressões

digitais, pois a varredura da imagem é feita linha a linha,

examinando a vizinhança e verificando quando um pixel

pode ou não ser apagado [11].

148

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 160: III WVC 2007

O algoritmo de afinamento é executado até que as

cristas papilares da imagem atinjam a espessura de um

pixel, normalmente estes algoritmos necessitam de 20 a

30 passos para afinar as cristas em uma imagem de

impressão digital. E, portanto para otimizar este processo

é necessário conhecer o processo de thinning. O

afinamento é realizado através de pares de elementos

estruturantes, porém é sugerido na literatura que estas

operações podem ser efetuadas de forma simétrica a

partir de uma família de elementos estruturantes, que é

uma seqüência de rotações de um determinado elemento

[13]. Quando um pixel é apagado, ou seja, seu valor

muda de um para zero, a imagem é dita transformada.

Um número total de pixels apagados em um passo

constitui um número total de mudanças neste passo. O

afinamento pode ser dado como completo quando o

número de mudanças na imagem converge para zero, ou

seja, quando não ocorrem mais mudanças [12].

Fig. 3.1 Família de elementos estruturantes.

Os símbolos ativos são representados pelo número

zero e os representados pela letra x são os pixels que não

interagem com a imagem.

Fig. 3.2 Afinamento.

3.2 Filtro de remoção de ruídos

Considerando as características essenciais

mencionadas no algoritmo de afinamento, pretende-se

remover os pixels que contornam as cristas papilares que

formam a impressão digital, exceto aqueles que compõem

estas cristas, de forma iterativa. Por exemplo, o pixel P(i,

j) para ser removido deve ter alguns relacionamentos

especiais em relação a seus vizinhos.

Fig. 3.3 Pixel central e seus respectivos vizinhos.

Observa-se a seguinte condição para realizar a

remoção de pontos indesejáveis, ou seja, que não fazem

parte das cristas papilares (ruídos). Primeiramente,

define-se o pixel de interesse P (i, j) localizado no centro

da máscara ou bloco que irá percorrer a imagem linha a

linha.

Se os pixels (i, j), (i + 1, j + 1) e (i – 1, j + 1)

possuírem valor um, então os pixels (i + 1, j), (i, j + 1) e

(i - 1, j) receberão o valor zero (Figura 5.10). Desta

forma é possível obter uma imagem filtrada do esqueleto

que forma a impressão digital.

Fig. 3.4 Máscara de remoção de reentrâncias.

Já para a remoção de pontos existentes no fundo da

imagem, ou seja, totalmente desconexos das cristas que

formam a impressão digital é utilizado também como

anteriormente uma um bloco de dimensões 3x3, porém se

todos os pixels vizinhos ao pixel central possuírem valor

zero e apenas o pixel central possuir valor um, então ele é

transformado em zero também, passando a fazer parte do

fundo da imagem.

Fig. 3.5 Máscara de remoção de pontos.

Fig. 3.6 Remoção de ruídos.

3.3 Detecção de minúcias

Depois de executar o algoritmo de afinamento das

cristas papilares na imagem de impressão digital o

149

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 161: III WVC 2007

processo de extração das minúcias se torna relativamente

fácil, pois depois das cristas serem afinadas estas

passarão a ter uma espessura de um pixel o que torna

possível que seja utilizado um bloco 3x3 (pequeno) para

varrer a imagem em busca das minúcias. Porém a

extração das minúcias não é uma tarefa trivial como

apresentado em muitas literaturas porque por menor que

seja pode haver um caso que necessite de cuidados

especiais durante o estágio de marcação destas.

O algoritmo para marcação das supostas minúcias dá-

se através do processo, onde um bloco ou máscara de

dimensão 3x3 percorrerá a imagem linha a linha para

detectar terminações e bifurcações nas cristas papilares.

Por exemplo, se o pixel central tem valor um e também

mais três vizinhos com valor um, então este local será

marcado como uma minúcia do tipo bifurcação. Agora se

o pixel central possuir valor um e apenas um de seus

pixels vizinhos também possuir valor um, então o local

será marcado como uma minúcia do tipo terminação.

Fig. 3.7 Bifurcação e Terminação.

Fig. 3.8 Marcação das minúcias.

4. Etapa de pós-processamento

A etapa de pré-processamento não recupera

completamente a imagem da impressão digital. Todas as

etapas anteriores ocasionalmente introduzem algum tipo

de ruído na imagem que posteriormente influenciam na

detecção das minúcias. Por isso é necessário que haja um

processo de remoção de falsas minúcias.

4.1 Remoção de falsas minúcias

As falsas minúcias afetam significativamente na

precisão do processo que vem logo a seguir, que é o de

verificação e comparação das minúcias para uma suposta

identificação. Pois o sistema irá realizar comparações

com pontos que na verdade não são as minúcias reais que

diferenciam um indivíduo do outro, ocasionando assim

uma falsa identificação. Portanto alguns mecanismos

para remover as falsas minúcias são necessários para

manter um sistema de verificação de impressões digitais

estável.

No diagrama abaixo são especificados seis tipos de

falsas minúcias que ocorrem em uma imagem de

impressão digital.

(a) (b) (c) (d) (e) (f)

Fig. 4.1 Estrutura de falsas minúcias.

Em (a) temos um caso de quebra encontrado na crista

papilar, já em (b) uma ponte que conecta duas cristas, no

caso (c) ocorre um pequeno segmento de crista no vale

também conhecido como ilhota, em (d) ocorre um caso

conhecido como lago que é o encontro de duas

bifurcações existentes na mesma crista papilar criando

um espaço entre ela, em (e) pode-se observar uma espúria

que é uma pequena ramificação encontrada na crista e

por último em (f) nota-se uma ocorrência de pontos

isolados encontrados entre as cristas papilares.

O processo para remoção de falsas minúcias é o

seguinte:

I – Se duas terminações estão dentro de um mesmo

bloco com distância D e suas direções são coincidentes

com uma pequena variação angular, então é imposta a

condição de que não há nenhuma terminação entre as

duas terminações que foram marcadas como minúcias,

pois é considerado que houve uma quebra na crista (caso

a).

II – Se a distancia entre duas bifurcações é menor que

D e elas estão na mesma crista, é removida as duas

bifurcações (casos b e d).

III – Se duas terminações se encontram em uma

distância menor que a especificada em D, é removido as

duas terminações (caso c).

IV – Se a distância entre uma bifurcação e uma

terminação é menor que D e as duas minúcias se

encontram na mesma crista são removidas ambas as

minúcias (caso e).

V – Se por algum motivo ainda existirem pontos

isolados entre as cristas papilares e estes não tiverem

nenhum vizinho dentro da distância especificada, esta

minúcia também será removida.

150

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 162: III WVC 2007

Fig. 4.2 Remoção de falsas minúcias.

5. Testes

Os testes foram realizados em um micro-computador

AMD Athlon 64 3800+ com 2GB de memória RAM. E

foram utilizadas 50 imagens obtidas por um sensor óptico

e 50 obtidas através do SFinGe (Synthetic Fingerprint

Generator), que gera imagens de impressões digitais

sintéticas. Os resultados foram satisfatórios, visto que

segundo [14] em uma digital contendo, entre 36 a 46

minúcias em média, 15 já são suficientes para realizar

uma identificação correta. Analisando-se 10 imagens de

cada banco de dados nas quais foram realizados os testes

e em todas foram detectadas de 42 a 80 minúcias, e uma

média de 18 minúcias detectadas corretamente. O que se

enquadra nas estatísticas citadas acima.

Porém ainda é um número muito alto de falsas

minúcias, o que incentivou mais pesquisas relacionadas a

filtragem no domínio da freqüência com filtros passa-

baixas e passa-altas que estão sendo pesquisados para

serem aplicados e agrupados ao projeto final.

6. Conclusões

O sistema apresentado atinge o objetivo que é o de

detecção de minúcias nas imagens de impressões digitais,

porém ainda está em fase de aperfeiçoamento. Mesmo

assim apresenta várias técnicas de processamento de

imagens que são relevantes para as etapas de detecção e

marcação das minúcias. Na etapa de pós-processamento

são definidos seis tipos de falsas minúcias que podem ser

detectadas pelo algoritmo e posteriormente removidas o

que torna o sistema mais robusto.

Referências

[1] LIU, S.; SILVERMAN, M. “A Practical Guide

to Biometric Security Technology”. IT Pro, [S.l.], pp. 27-

32, January/February, 2001.

[2] PRABHAKAR, S. “Fingerprint Classification

and Matching Using a Filterbank”. PhD Thesis,

Michigan State University, 2001.

[3] HONG, L.; JAIN, A. K. “Fingerprint Image

Enhencement: Algorithm and Performance Evaluation”

IEEE Transactions on Pattern Analysis and Machine

Intelligence, vol. 20, nº 8, pp. 777-789, 1998.

[4] The Third International Fingerprint Verification

Competition. Disponível em:

<http://bias.csr.unibo.it/fvc2004/>. Acesso em: 06 Dez

2006.

[5] HONG, L.; JAIN, A. K.; PANKANTI, S.;

BOLLE, R. “Fingerprint Enhancement”. Proc. Third

IEEE Workshop on Applications of Computer Vision,

pp. 202-207, 1996.

[6] RATHA, N. K.; CHEN, S.; JAIN, A. K.

“Adaptative Flow Orientation – Based Feature

Extraction in Fingerprint Images”. Pattern Recognition,

vol. 28, nº 11, pp. 1657-1672, 1995.

[7] FARINA, A.; KOVÁCS-VAJNA, Z. M.;

LEONE, A. “Fingerprint minutiae extraction from

skeletonized binary images”. Pattern Recognition, 32, pp.

877-889, 1999.

[8] CAPPELLI, R.; LUMINI, A.; MAIO, D.;

MALTONI, D. "Fingerprint Classification by

Directional Image Partitioning". IEEE Transactions on

Pattern Analysis and Machine Intelligence, vol. 21, nº 5,

pp. 402-421, 1999.

[9] ZHANG, Q.; HUANG, K.; HONG, Y.

“Fingerprint Classification Based on Extraction and

Analysis of Singularities and Pseudoridges. School of

Electrical and Information Engineering University of

Sydney, NSW 2006, Australia.

[10] MEHTRE, B. M. "Fingerprint Image Analysis

for Automatic Identification". Machine Vision and

Aplicattions, vol. 6, n º 2 . 3, pp. 124-139, 1993.

[11] CHONG, M. S.; GAY, R. K. L.; TAN, H. N.;

LIU, J. “Automatic Representation of Fingerprints for

Data Compression by B-Spline Functions”. Pattern

Recognition, vol. 25, nº 10, pp. 1199-1210, 1992.

[12] VERMA, M. R.; MAJUNDAR, A. K.;

CHATTERJEE, B. ”Edge Detection in Fingerprints”.

Pattern Recognition, vol. 20, nº 5, pp. 513-523, 1987.

[13] GONZALEZ, R. C.; WOODS, R. E. “Digital

Image Processing”. Addison Wesley Publishing

Company, 1987.

[14] PRABHAKAR, S. “Fingerprint Classification

and Matching Using a Filterbank”. PhD Thesis,

Michigan State University, 2001.

151

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 163: III WVC 2007

!

"

#$ '#7$!!9;!' ?Y!' # '#7 ?' ?'

!Z[\"\]\!Z^"\

""" \! " !!

!"`!'\|!!!\!^

`!^`;^"]!

` !"!`]!!]!

"!~ ]\!]!!`;^

"!!"!^!

7!!`""7![`;^\

\`!"!!!!^

! `;^ \\ ;! !

"`!

!"

!

# $#

$''

?

\^$_`!

$_

$ |

^~#

\$# $_

#

| ^

^^

\ $\

'

` "]! ` |

\\ \

\$# $_

'

#!

#

~ \

\^~

?\$#

$_

$#

\$#\

'

? $_

# |

~

|

`

]`

\$#

|'? $#

\ '

\$# '

'

'

'

' '

'`

$ ~

152

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 164: III WVC 2007

\^

#

\

$

|

| ' |

\~

|

~ $#

~|\

$##

\ |

$#

^\ [ `" `

\ \

#

\ |

\\

| \

$# ~| ^

\

##^

\

\

\ \ ~

#

|

\\$_

$#

\

\

|

# $# ~|

$_

$!

\ \ \^ ^

| ^

\ \

| ^

_

\

$_ \ #$_

\ $_ $_$#

\ #

^

$_ ^ #

\

\|

^ |

\ \

|

\ # $#

| \

$#

\

\ # $#'

\!'

!\

'

! \ #\^\

\

$# $# \ #

\

$#

\

! \!!

!

\ \ \

"

\\

" \^\ #

\ ^\

$# $#\ ~ \

$#'$#

"

! '

"

!\

"

"

\$#$#

"

! '

"

!

"\!

\ $#$#

# \

\ $#

#$_$_

#\_ $#

$#

" !'

"

!

"

! ! $# ~

\ $_

$#

"

!" ! !

#

$#

153

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 165: III WVC 2007

?

\ ^ $#

~\ ~

|

$# |

~

| \# \

~ ~|

~

\ \

\\ |~~

|?

$#

\ \

`^ $#

[]

] "

" " \

" " "

' ["]

\

'

\ ^

\ # \ #

$#

\\ #

\

^

\ # ~

\ ¡

\ #\ $#

\~

$#\ #

$#'

\

# $_ \ \

\ #$#

\

$# $_ |

# $

`\ #$#

\ #

$#~

'

\

^~

| #

\ \#

\

\

`^ $#

" "

" \ " "

" "7

\ " "

"

'

$#\

154

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 166: III WVC 2007

`$#\

\ \~

|

|

? $#

\ \

`\

$#\ \'$#

\ \$#\ \

~\

\$#

|

|

$# \ \

\ ~

|

$#

| ~

|

`\

$#\ \$#

\ \~|

$#\ ¢£

%!

$

$_

$_ #

|?

`$#

\ \ #

\ #

¡

] |

\ '

\ ~'¤

155

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 167: III WVC 2007

|^$#

! | '\

'\

^\ '

'' '

^

|^\

''

^ \'¤

$# ~

|

| #

\

\ #

$# '' ]

\ \ $#

$# \

$#

|

| $

`![

\ ¥\

'!*

'

$# $#\\

¢£

¢£~

|

¢£ ¢£¢£

¢£ ~

| ¡ ¢£

¢£¢£

` '

~$#

¡

|

~

$_ #

$#

'`

'

$_ ¡

$_ ^~

$_

$

\ '''

''`

156

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 168: III WVC 2007

'`

$

$_ \

$ \

$#\ # #

$\$#

$_$\

' ~ \

\ ~ \

$

<!=

$_ $

$_ \

$

$#

$ \

?\

$# ~

\

$_

\

$_

`

$# $ \

* >? @

' ¦§§ "! "! '

!!7!`"\

? !7! ¨

'

© ¥ ]" 7! ! !`

]]! ¨«¬'

­ `­

¡ ` \

¯ ¬¬°­¬°­¬ ± ±²

'¬'¬

©³¨ ";^7! "

'

"! " "Y !!`"'

`?` '

¦ !"!"""`! !! !! !

]] "]! ] " ` ^"]" ~ ~

'

© 7! `"! ! ` ! !! `! `

`!""] " !! ` ~ ~

'

' ¨¥ ¦ ! 7!\!"`!!!"`!!

"""" ^\'~'~

'

'' ´ ¥ !!

7! ` $"! ` `! ! ""] $$$!""\

~'~

' ³© µ µ !"

©¨'

' §¨¥ !`""!

] " ` \

\'~'

' ©¦ ¨ "]! `

"""] "`! ! ^ \

''~\~

' §~ ¦ ¥¨ !!

`! ! ! """ # "\!` 7! ![ `

! !! ` "]! ] " !\'~'

' ¦ ©³ !! `

`! ! """ # 7!

$$$!"\'~

~'

157

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 169: III WVC 2007

Algoritmos para Compressão e Expansão de Imagens Distribuídas

Fabio Jorge Assad GostaldonUniversidade Estadual Paulista/FEISDepartamento de Engenharia Elétrica

[email protected]

Ailton Akira ShinodaUniversidade Estadual Paulista/FEIS

Departamento de Engenharia Elétrica [email protected]

Abstract

Digital processing of images is an area that demand great capacity of processing. Towards this fact the implementation of softwares becomes interesting when based on the distribution of the processing in several pieces divided by computers belonging to a same network. Specifically in this work they are handled as distributed algorithms of compression and expansion of images using the discrete cosine transform. The results show that the economy in processing time obtained due the parallel algorithms (two different boardings), in comparison to its sequential equivalents, is a function that depends on the resolution of the image and the complexity of the involved calculation, that is, efficiency is as greater as longer is the processing period in terms of the time involved for the communication between the network points.

1. Introdução

O processamento de imagens tem sido usado em aplicações relacionadas a sensoriamento remoto, medicina, cartografia, indústria, manufatura e diversas outras áreas. Devido ao processamento estar baseado em volumosas operações matemáticas e a demanda por recursos computacionais mais sofisticados e eficientes, implementou-se uma biblioteca voltada ao desenvolvimento de tarefas ligada ao processamento de imagens possuindo duas características básicas: (i)

portabilidade e (ii) velocidade de processamento.Uma abordagem elegante para esse problema é a

utilização de algoritmos e sistemas distribuídos. Um sistema distribuído é definido em [8] como "coleção de computadores independentes que se apresenta ao usuário como um sistema único e consistente"; outra definição encontrada em [1] diz: "coleção de computadores autônomos interligados através de uma rede de computadores e equipados com software que permita o compartilhamento dos recursos do sistema: hardware, software e dados".

Além da rede de comunicação, é necessária uma camada de software que possa gerenciar o uso paralelo das estações de trabalho. Para tanto existem bibliotecas especializadas para tratamento da comunicação entre processos e a sincronização de processos concorrentes. Um dos sistemas de troca de mensagens mais utilizados na atualidade é o MPI (Message Passing Interface).

MPI é uma biblioteca de troca de mensagem desenvolvida para ser padrão de comunicação entre processos em ambientes de memória não compartilhada [4]. O MPI define um conjunto de rotinas para facilitar a comunicação (troca de dados e sincronização) entre processos, ela é portável para qualquer arquitetura, tem aproximadamente 125 funções para programação e ferramentas para análise de performance. A biblioteca MPI possui rotinas para programas em linguagem C, C++, Fortran 77/90. Os programas são compilados e ligados à biblioteca MPI.

Neste trabalho, as ferramentas citadas acima foram aplicadas à maior área do processamento de imagens que

Agradeço a FAPESP pelo suporte através da bolsa de IC processo 2005/04786-2

158

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 170: III WVC 2007

é a aquisição, armazenamento e recuperação dos dados, neste meio está incluída a compressão de imagens. A maioria das técnicas de compressão utilizam transformadas bi-dimensionais com o intuito de reduzir o espaço utilizado na sua armazenagem. Isto é possível, pois em geral as imagens têm alta coerência o que resulta em muitas redundâncias na informação quando codificada.

A mais comum das transformadas bi-dimensionais de compressão de imagens é a transformada discreta de cosseno(Discret Transform Cossine – DTC), que é base para os formatos de compressão mais populares como o JPEG e MPEG.

De maneira geral, os dados amostrados da imagem são submetidos à DTC o que gera um modelo mais conveniente para a sua especificação. Em seguida, é aplicado um método chamado de discretização, que utiliza o modelo funcional gerado pela DTC fazendo a compressão escrevendo as informações contida nela com menos bits [3] seguindo o padrão da Figura 2.

Este trabalho está organizado da seguinte forma. A seção 2 descreve as condições e a forma em que os algoritmos de compressão e expansão foram criados e os testes realizados. A seção 3 apresenta os resultados obtidos com os algoritmos paralelos comparando-os com os seqüenciais e também são comparadas entre si as duas abordagens de paralelização aqui utilizadas.

2. Materiais e Métodos

Este trabalho foi realizado nas dependências do Laboratório Linux de Processamento Paralelo (LLPP), localizado no Departamento de Engenharia Elétrica da UNESP/Ilha Solteira. O laboratório possui quatro computadores AMD 2.6 Ghz, 512 Mb de RAM interligados com switch da 3com a 100 Mbits/s. No LLPP o login do usuário é autenticado em um servidor NIS e o seu diretório home é exportado via NFS. Assim, em qualquer nó, o usuário pode entrar na rede utilizando seu próprio login e senha, tendo acesso aos seus dados.

Os algoritmos deste trabalho são baseados nos algoritmos de [2] assim como a estrutura de arquivos que é chamada de DSPfile e tem a sua forma ilustrada na Figura 1.

A imagem digital é representada por uma matriz, onde o valor de cada uma de suas posições define a intensidade

luminosa de cada pixel. Com isso, para armazenar essa imagem em um DSPfile cada linha da matriz é armazenada em um Record.

O algoritmo paralelo de compressão, implementado em linguagem C, faz a leitura da imagem e então opera uma técnica conhecida como código de bloco. Essa técnica divide a imagem em várias sub-imagens menores de tamanho 8x8. É exatamente neste momento que o paralelismo é explorado. O número de sub-imagens resultantes é dividido adequadamente em conjuntos, de forma que se novamente agrupadas formam 8 linhas da imagem original, e assim, são enviados para os nós uma mensagem com a informação de quais conjuntos cada um será responsável.

Figura 1. Estrutura de um arquivo de dados do tipo DSP.

Em cada nó é aplicado, nas sub-imagens, a DTC que é definida pela Equação (1).

2N

DTCT

CACA = (1)

onde a matriz A é a subimagem, N é a ordem da matriz A e C a matriz de cossenos constantes onde cada elemento é definido pela equação (2).

⎥⎦⎤

⎢⎣⎡ +=

Nunnuc

2)12(cos]][[ π

(2)

Os coeficientes resultantes da aplicação da DTC são então quantizados, isto é, reescritos com menos bits, e

159

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 171: III WVC 2007

com isso se perde alguma informação, o que justifica uma pequena degradação na qualidade da imagem. Os coeficientes resultantes da DTC formam uma matriz 8x8 e a posição do coeficiente na matriz, Figura 2, informa a quantidade de bits empregada em cada local, promovendo um fator de compressão de 4:1.

Para determinar o melhor tamanho do bloco, primeiramente é preciso conhecer a relação entre os blocos e pixels adjacentes. Na maioria das imagens a correlação significante existe apenas para 20 pixels adjacentes. Portanto, para blocos maiores que 16x16, o ganho de fidelidade é menor e menos significativo. Por isso, blocos maiores que 16x16 não se justificam [7].

O fluxograma da Figura 3 exemplifica melhor a dinâmica empregada no algoritmo de compressão de imagens (compressP).

Figura 2. Matriz com a quantidade de bits que cada coeficiente será reescrito.

O algoritmo de expansão (expandP) funciona de forma similar ao de compressão. Faz-se primeiro a leitura do DSPfile gerado pelo programa de compressão e então a quantidade de Record (Figura 1) do arquivo é repartido entre os nós, que primeiramente descompacta os coeficientes quantizados copiando os mesmos para uma matriz 8x8. Então, é aplicada a DTC inversa nessas matrizes, o que resulta nas sub-imagens que são enviadas ao nó principal onde são adequadamente agrupadas formando novamente a imagem com alguma degradação em relação a original.

Os testes iniciaram-se aplicando os algoritmos de compressão e expansão (compressP e expandP respectivamente) sobre uma imagem com resolução 256x256. Nesta etapa os algoritmos são executados em quatro nós.

Para a melhor percepção e comparação da economia de tempo no uso dos algoritmos paralelo, estes foram aplicados sobre uma mesma imagem de resolução

256x256, 640x480, 2048x1536, 2560x1920 e 2816x2112. Este procedimento foi repetido variando-se a quantidade de nós da máquina paralela.

Figura 3. Fluxograma do algoritmo paralelo de compressão de imagens (compressP).

Como em termo absoluto o tempo dispendido com a compressão e expansão não é muito alto, criou-se um cenário composto por uma seqüência de até 50 imagens, que são comprimidas ou expandidas uma a uma assim que obtidas, com resolução 2816X2112 (para a obtenção dos resultados as imagens utilizadas eram idênticas) aumentando o tempo gasto na execução dos algoritmos e assim possibilitando uma melhor análise.

Os resultados obtidos estimularam uma abordagem diferente para o problema. Agora as 50 imagens, de resolução 2816X2112, já foram amostradas, e estão todas disponíveis para a compressão ou expansão. Para este cenário o algoritmo de compressão criado (compressPF) solicita como entrada um arquivo com o nome das imagens a serem comprimidas e em seguida, distribui estrategicamente entre os nós uma certa quantidade de imagens. Esta abordagem é chamada de paralelização

160

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 172: III WVC 2007

externa, isto é, tarefas inteiras são distribuídas e não há a necessidade de modificação no código de compressão. O algoritmo de expansão (expandPF) opera de forma similar.

3. Resultados e Discussões

A Figura 4 mostra a imagem original de Lenna e a Figura 5 mostra a imagem de Lenna depois de ser comprimida e recuperada utilizando quatro nós. Pode-se observar pelas fotos que a imagem recuperada é muito similar à original.

Figura 4. Imagem (256x256) original de Lenna.

Figura 5. Foto de Lenna após ser comprimida e expandida.

O tempo de execução de compressP aumenta

linearmente com o aumento da resolução, ou seja, quanto maior o número de pixels da imagem. Isto pode ser observado na Figura 6.

Contudo percebe-se que para apenas uma foto a diminuição no tempo de execução é pouco sensível ao uso do algoritmo paralelo. Como esperado, o uso do algoritmo paralelo é mais eficiente em fotos com alta resolução. Utilizando esse fato e imaginado uma situação onde se deve comprimir uma seqüência de imagens de alta resolução assim que são amostradas, o tempo de execução para a compressão dessa seqüência aumenta com o aumento do número de fotos, como se pode observar na Figura 7 onde é mostrado o speedup do programa.

Os resultados da utilização das técnicas de paralelização no algoritmo expandP de expansão de imagem não se mostraram tão vantajosos quanto os de compressão. Isto ocorreu porque após a compressão a operação inversa para recuperar a imagem, mais especificamente a inversa da transformada discreta do cosseno, é mais simples, ou seja, a quantidade de operações e complexidade dos cálculos se torna tão pequena que o tempo gasto com o processamento dos dados é relativamente menor em relação ao tempo gasto com a comunicação entre os processos. Estes fatos são comprovados no gráfico da Figura 8

Figura 6. Tempo de compressão para imagens de diferentes resoluções utilizando compressP.

Pode-se observar que apesar do tempo de execução aumentar com o aumento do número de fotos da série, a economia de tempo utilizando mais nós é pequena e se mantém praticamente constante um em relação ao outro, e por isso o speedup se mantém constante não importando o número de fotos da série. Também o valor do speedup

161

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 173: III WVC 2007

não é muito satisfatório atingindo apenas o valor de 1,5 com 4 nós.

Figura 7. Speedup para comprimir as séries de fotos de 6 Mpixels com compressP.

Figura 8. Speedup para expandir as séries de fotos de 6 Mpixels com expandP.

Agora com os algoritmos compressPF e expandPF, aplicados a mesma seqüência de 50 imagens com alta resolução, obteve-se os speedups mostrados nas Figuras 9 e 10 respectivamente para compressão e expansão.

Os resultados mostram um desempenho muito similar dos algoritmos compressP e compressPF. Na verdade, em valores absolutos de tempo, o algoritmo compressP se mostrou mais eficiente para comprimir uma série de 50 imagens, como é mostrado na Tabela 1.

Já para a expansão o algoritmo expandPF demonstrou eficiência muito maior em relação ao expandP. Com a utilização de 4 nós, quanto maior a quantidade de imagens mais o speedup do algoritmo se aproxima do

valor ideal 4. E o mesmo aconteceu para 3 nós quando o speedup se aproximou de três, e para 2 nós quando o speedup se aproximou de dois.

Figura 9. Speedup para comprimir uma série de imagens de 6 Mpixels com compressPF.

Figura 10. Speedup para expandir uma série de imagens de 6 Mpixels com expandPF.

Tabela 1: Valores absolutos de tempo de execução dos algoritmos de compressão

4 nós 3 nós 2 nós 1 nó

compressP 33,5 s 42,7 s 58,9 s 116,0 s

compressPF 43,3 s 52,8 s 75,5 s 150,9 s

Com os resultados obtidos é possível fazer uma melhor escolha entre os algoritmos para uma determinada aplicação. Por exemplo, é mais comum a necessidade da compressão das imagens uma a uma quando estas estão sendo amostradas, e portanto, a escolha do algoritmo compressP é a mais adequada. Já para expandir as

!

!

!

!

162

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 174: III WVC 2007

imagens, estas provavelmente já estarão disponíveis como resultado prévio do programa de compressão, e portanto a utilização do algoritmo expandPF é mais adequada, visto que este tem melhor desempenho em relação ao expandP.

4. Conclusões

A utilização das técnicas de paralelização nos algoritmos de compressão e expansão, dando origem a compressP e expandP respectivamente, não diminuiu sua eficiência com relação à qualidade da imagem resultante, isso devido à paralelização estar baseada no código de bloco já bem fundamentado teoricamente.

Na compressão de imagens a utilização de algoritmos paralelos foi altamente vantajosa, tanto para compressP como para compressPF. A economia de tempo foi significativa, chegando próximo a 4 vezes com a utilização de quatro computadores para se comprimir 50 imagens de 6 Mpixels.

Como mencionado anteriormente o mesmo não ocorreu para a expansão das imagens com o algoritmo expandP. A complexidade dos cálculos não se mostraram tão altos, e por isso o ganho de tempo com o processamento paralelo aplicado na expansão não foi muito significativo.

Contudo, através de uma abordagem diferente (paralelização externa) criou-se o algoritmo expandPF, que elevou muito o speedup conseguido com o algoritmo expandP, chegando até próximo de 4 com a utilização de quatro nós expandindo uma série de 50 imagens de 6 Mpixels.

Portanto, os resultados se mostraram extremamente favoráveis ao uso do processamento paralelo em processamento digital de imagens.

Este trabalho foi financiado pela Fundação de Amparo à Pesquisa do Estado de SP (FAPESP) através de bolsa de Iniciação Científica sob o numero de processo 2005/04786-2.

5. Referências

[1] Coulouris, G. et al, Distributed Systems – Concepts and Disign, 4 ed., Prentice Hall, New Jersey, 2005.

[2] Embree, P.M.; D. Danieli, Algorithms for Digital Signal Processing, 2 ed., Hall PTR, New Jersey, 1998.

[3] Gomes, J., L. Velho, Computação Gráfica: imagem. IMPA/SBM, Série de computação e Matemática, 1994.

[4] Groop, W., S. Huss-Lederman, MPI – The complete reference, V.2, MIT Press, Cambridge, 1998.

[5] Karniadakis, G., R.M. Kirby, Parallel Scientific Computing in C++ and MPI, Cambridge University Press, Cambridge, 2003.

[6] Oppenheim, A.V., S.W. SCHAFER, Discrete Time Signal Processing, 2 ed, Prentice Hall, New Jersey, 1998.

[7] Pratt, W.K., Digital Image Processing, Wiley-Interscience, New York, 1978.

[8] Tenenbaum, A.S.; M.V. STEEN, Distributed Systems – Principles and Paradigms, Prentice Hall, New Jersey, 2001.

163

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 175: III WVC 2007

ANÁLISE DE UMA ESTRUTURA DE REDE NEURAL NEOCOGNITRON COM A INSERÇÃO DE PONTOS DE CONTROLES APLICADA AO

RECONHECIMENTO FACIAL

Prof. Ms. Angelo Rodrigo Bianchini Universidade Federal do Maranhão

Departamento de Informática GIA - Grupo de Informática Aplicada

[email protected]

Prof. Dr. José Hiroki Saito Universidade Federal de São Carlos

Departamento de Computação GAPIS – Grupo de Arquitetura e Processamento de Imagens e Sinais

[email protected]

Abstract

In this work it is presented a face recognition neural network structure based in the neocognitron. The network structure is divided into two major stages: (a) Neural Network for Detection of Control Points (NNDCP), which obtains the control points to be used in the nonsupervised training structure of the neocognitron, and (b) Neural Network for the Facial Recognition (NNFR), which carried out the recognition of face samples.

The main characteristic of NEOPC is the use of control points for the extraction of patterns strategically located, such as eyes, noses and lips, used on non supervised training of the NNFR. The proposed system was implemented and the results are presented.

1. Introdução Há vários anos um grande número de pesquisas vem sendo realizado para prover sistemas de reconhecimento automático, devido à grande demanda de aplicações necessárias no mercado.

Uma das primeiras técnicas “não-convencionais” utilizadas em sistemas de reconhecimento automático foi a impressão digital, utilizada comercialmente desde 1960, quase que exclusivamente, em áreas forenses para investigações criminais. Diversas áreas de pesquisas relacionadas ao reconhecimento facial, como detecção, representação e

processo, têm despertado um interesse ainda maior, em decorrência da vasta possibilidade existente de aplicações como, por exemplo, sistemas de controle automático de acesso, interface homem-máquina e sistemas de vigilância. Uma das dificuldades dos modelos computacionais para o reconhecimento facial é tratar a complexidade dos padrões visuais. Embora todas as faces sejam compostas por padrões reconhecidos universalmente (boca, olhos e nariz), elas possuem poucas variações. Torna-se de grande importância para o reconhecimento facial a utilização das variações sutis na determinação das características relevantes [1], sendo necessário ainda, que essas características possuam uma larga variação estatística em relação ao conjunto total de amostras para serem consideradas únicas para cada indivíduo. O ponto ideal é que a variância inter-classe seja grande e a intra-classe pequena, para que faces diferentes gerem códigos os mais distintos possíveis, enquanto diferentes imagens de uma mesma face gerem códigos bastante similares [3]. O reconhecimento facial é considerado um problema clássico na área de visão computacional, principalmente, devido à complexidade existente na detecção e reconhecimento dos padrões. Neste trabalho são apresentados dois resultados para o reconhecimento facial através de uma estrutura de rede neural neocognitron com a inserção de pontos de controle. O objetivo da estrutura de rede neural proposta é obter melhores resultados no processo de aprendizagem e

164

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 176: III WVC 2007

generalização da rede para o reconhecimento de imagens constituídas por um grande número de padrões, muitas vezes, com baixo índice de variação entre as diferentes classes, como é o caso das imagens faciais.

2. Neocognitron

O neocognitron é uma rede neural composta de várias camadas de células neurais, organizadas matricialmente, inspirada no modelo biológico de visão de Hubel e Wiesel [4]. Como em outros modelos de redes neurais, no neocognitron é possível identificar uma fase de treinamento não-supervisionado e uma fase de reconhecimento, com sua estrutura pertencente a categoria das redes neurais de interconexões progressivas [6]. A estrutura da rede, Figura 1, consiste de vários estágios sucessivos, cada qual com dois tipos principais de camadas de células: Us de células-S, responsáveis pela extração dos fatores, e Uc de células-C que fazem a generalização dos sinais. O estágio inicial da rede é a camada de entrada, chamada de Uo. As células-S são variáveis e necessitam de treinamento (aprendizado) para obterem as características dos padrões de entrada necessárias para o reconhecimento, ou seja, as células-S são ativadas somente se as características forem apresentadas na posição correta da camada de entrada, sendo que as características a serem obtidas são definidas durante o processo de treinamento.

Figura 1 – Estrutura hierárquica da Rede Neocognitron.

Diferente das células-S, as células-C são fixas e servem para se obter valores correspondentes a uma operação de borramento baseado num grupo de células-S. Essas

células são responsáveis pela tolerância à deformação do neocognitron. Assim, cada um dos i-ésimos estágios da rede é composto de camadas Usi que consistem de um número de estruturas matriciais de células-S, seguidas de camadas Uci que consistem de um número de matrizes de células-C. Cada estrutura matricial de células, denominada plano celular, é associada a um único fator extraído dos padrões de entrada, durante a fase de treinamento. Cada célula de um plano-celular recebe conexões de entrada dos planos celulares da camada precedente. A fase de reconhecimento do neocognitron é semelhante ao processo de propagação progressiva das estruturas de redes neurais multicamadas, em que os efeitos provocados pelo padrão de entrada apresentado à rede são propagados por todas as camadas, até atingir a camada de saída. A Figura 2 mostra o algoritmo que computa os valores uSl (n, k) de células-S, e os valores uCl (n, k) de células-C, dentro de um estágio l. São computados esses valores nos K1 planos-celulares e em todas as N posições dentro de um plano-celular.

Figura 2 - Algoritmo para computar um estágio.

Para o cálculo do valor uSl (n, k) são computados os somatórios e(n,k) e h(n,k) de todas as entradas conectadas aos K1-1 planos-celulares da camada precedente, numa dada área de conexão Sν, que circunda a posição da célula n da camada de células-C, do estágio anterior ou da camada de entrada, pela iteração sobre os comandos:

Procedure computar_estagio (l) ; begin for k = 1 to K1 do begin ; computar a camada-S for n = 1 to N do begin

for κ = 1 to Kl-1 do for all ν ε Sν do begin e(n,k):= e(n,k)+a (ν,κ,k ).uCl-1( n+ν,κ) ; h(n,k):= h(n,k)+c (ν ).uCl-1(κ , n+ν)2 ;

end; uSl(n,k):=(θ/(1−θ)) . ϕ((1+ e(n,k)) / (1+θ.b(k).sqrt(h(n,k)))−1) ;

end; end; end; for k = 1 to K1 do begin ; computar a camada-C for n = 1 to N do begin for all ν ε Sν do

uCl (n,k) : = uCl (n,k) + d (ν ).uSl( n+ν, k ); uCl (n,k) := Ψ ( uCl( n, k ))

end; end;

end; computar_estagio(l)

165

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 177: III WVC 2007

e(n,k) := e(n,k)+a (ν,κ,k ).uCl-1( n+ν,κ) , e

h(n,k) := h(n,k)+c (ν ).uCl-1(κ , n+ν)2

Então o valor uSl (n, k) é obtido pelo comando:

uSl(n,k):=(θ/(1−θ)) . ϕ((1+ e(n,k)) / (1+θ.b(k).sqrt(h(n,k)))−1) ;

onde ϕ ( = , quando x > 0, e ϕ ( = , caso

contrário. A variável θ representa o limiar da função, cujos valores ficam entre 0 e 1, e b(k) representa o coeficiente de inibição. Para se obter o valor uCl (n, k), é computado primeiramente o somatório de todas as entradas correspondentes aos valores uSl (n, k), previamente obtidos em uma área de conexão Sν que circunda a posição n da camada de células-S precedente, pela iteração sobre o seguinte comando:

uCl (n,k) := uCl (n,k) + d (ν ).uSl( n+ν, k )

seguida do cálculo da função de transferência Ψ( x) = ϕ ( x) / (1 + ϕ ( x )), que limita a saída das células-C, no intervalo [0,1).O treinamento do neocognitron, Figura 3, procede computando os valores de células-S para os planos celulares k = 1 a k = Kl, relacionados aos fatores já existentes, e k = Kl +1, que corresponde ao plano de seleção de fator (Seed Selecting Plane). Então, é verificada nesse último plano, plano de seleção, a célula vencedora (winner), em que o valor de resposta é máximo. Se, na posição da célula vencedora, existe alguma resposta maior que zero nos Kl planos-celulares, o algoritmo segue na procura de um novo vencedor; caso contrário, cada conexão de entrada da célula vencedora é reforçada proporcionalmente à intensidade da conexão de entrada, através dos comandos:

a(v,κ,k) := a(v,κ,k) + q.c(v).uCl-1(vencedor+v,κ) , e

b(k) := b(k) + q. sqrt(h(vencedor,k)),

onde q é a taxa de aprendizado. Dessa forma um novo fator é obtido e um novo plano-celular é adicionado à camada, incrementando Kl. Uma vez feito o reforço das conexões de entrada na célula vencedora, essa célula passa a ser a célula-semente, pois todas as demais células do novo plano-celular terão os mesmos pesos nas conexões de entrada. Daí surge o nome Seed-Selecting-Plane, ou Plano de Seleção de Fatores (PSF), ao plano usado para se obter a célula vencedora, que vem a ser a célula-semente.

O procedimento de treinamento da camada-S, descrito acima, é repetido até que todos os novos fatores sejam detectados, com a apresentação dos padrões de treinamento na camada de entrada.

Figura 3 - Treinamento de um estágio do neocognitron.

3. Estrutura de Rede Neural Artificial Neocognitron com Pontos de Controles

A rede neural Neocognitron com Pontos de Controle, NEOPC, é composta de um recurso adicional estabelecido à estrutura descrita no treinamento do neocognitron, que é o uso de pontos de controle para a obtenção das células-semente, além do padrão de entrada. Os pontos de controle são usados pela rede para que as células vencedoras só sejam escolhidas como célula-semente, caso elas estejam posicionadas estrategicamente em relação ao padrão de entrada. A justificativa para se acrescentar os pontos de controle sobre os padrões de entrada é que a aplicação exclusiva do padrão de entrada no algoritmo de treinamento pode resultar na obtenção de células-semente que não sejam adequadas para garantir a seletividade de rede, como por exemplo, aquelas correspondentes às regiões totalmente escuras pertencentes aos cabelos, dificultando o aprendizado e generalização da rede ao tornar a variação entre os padrões inter-classes menor. De acordo com

procedure treinar_estagio (l); begin repeat for k = 1 to Kl + 1 do computar_estagio(l); selecionado : = false; repeat if proximo_vencedor> 0 then begin

vencedor : = proximo_vencedor; selecionado : = true; for k = 1 to Kl do if uS (vencedor, k) > 0 then selecionado : = false; end; until (selecionado or proximo_vencedor = 0); if selecionado then begin

for κ = 1 to Kl-1 do for all ν ε S do a(v,κ,k) := a(v,κ,k)+ q.c(v).uCl-1(vencedor+v,κ) ; b(k) := b(k) + q. sqrt(h(vencedor,k)) ;

Kl := Kl +1 ; end; end; until not (selecionado);

end;

166

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 178: III WVC 2007

Haykin, o processo de treinamento é a etapa responsável por definir as fronteiras de decisão, entre as diferentes classes, para as aplicações de reconhecimento de padrões [5]. As estruturas de redes neurais estão sujeitas a superadaptação em decorrência do número muito grande de parâmetros no modelo [6]. Entende-se que a grande quantidade de padrões durante a fase de treinamento e reconhecimento, com baixo índice de variância, também possa ocasionar uma superadaptação da rede neural, sendo os pontos de controle uma estratégia para evitar esta situação. A estrutura da NEOPC é composta por duas redes neurais: RNDPC (rede neural para a detecção dos pontos de controle) e a RNRF (rede neural para o reconhecimento facial). A Rede Neural para a Detecção de Pontos de Controle (RNDPC) é baseada na estrutura do neocognitron e, conforme já mencionado, é responsável pela obtenção dos pontos de controle a serem utilizados pela RNRF (rede neural para o reconhecimento facial) durante o treinamento não-supervisionado. A RNDPC possui suas interconexões pré-definidas, que estabelece a detecção de bordas seguidas da detecção de segmentos de retas, de pontos de curvatura, e de pontos extremos, sobre os padrões de entrada. A Figura 4 ilustra as etapas correspondentes à RNDPC, em que as bordas são detectadas sobre ambos os lados (A e B) de uma linha em 8 direções principais, que variam de 22.5 graus, a partir do ângulo 0. A existência de duas bordas (uma de cada lado) numa determinada direção, identifica um segmento de reta, ou linha. Pequenas distorções na espessura de uma linha são absorvidas pela estrutura da rede, que permite essas variações, pelo uso da camada de células-C. As conexões das células-S das camadas Us1 e Us2 são semi-fixas1. No estado inicial, quando a rede é construída, as conexões são modificadas pelo método de treinamento supervisionado do neocognitron. Mais especificamente, uma célula-semente é arbitrariamente selecionada num plano-celular, e um padrão de treinamento, atribuído à célula, é apresentado na camada de entrada U0. Cada conexão de entrada da célula-semente é reforçada proporcionalmente à intensidade de resposta da célula, de onde provem a conexão. As conexões de entrada de todas as outras células do plano-celular são automaticamente reforçadas, na mesma proporção da célula-semente. O padrão de treinamento para cada plano-celular da camada Us1 é uma borda numa orientação particular, conforme se verifica na Figura 4, à esquerda. A borda, contudo, não é localizada no centro do campo receptivo. Existe um pequeno deslocamento, em relação ao centro,

1

As conexões são ditas semi-fixas porque, nenhuma alteração é feita sobre essas células posteriormente.

para que a célula responda a uma borda de uma linha muito estreita.

Figura 4 - Ilustração dos estágios da RNDPC.

Uma linha estreita em uma particular orientação é usada para o treinamento de um plano-celular da camada Us2. Na Figura 4 é vista após os padrões de bordas, os padrões de segmentos de retas. Apenas uma simples apresentação de uma linha de certa espessura é necessária para treinar as células de extração de linhas, em diferentes espessuras. A camada seguinte UB é responsável pela detecção de pontos extremos das linhas retas. Como uma curva é composta de um conjunto de segmentos de linhas retas, os pontos extremos que pertencem à junção de dois segmentos de linhas representam um ponto de curvatura. Uma célula-B recebe conexões de entrada somente de um único plano-celular da camada Us2. Essas conexões de entrada são fixas e tem uma distribuição espacial que permite a detecção de um dos pontos extremos de uma linha numa determinada direção. Em contraste às células-S, uma célula-B (bend points), funciona de forma subtrativa, ao invés da forma multiplicativa, e portanto, não usa as células-V que estão embutidas na estrutura de cálculo das células-S. A estrutura dessa rede é semelhante a uma rede para extração de curvaturas [4]. O arranjo espacial das conexões excitatórias e inibitórias coincide com a orientação preferencial do plano-celular da camada precedente Us2. As células-B são ativadas numa das extremidades de uma linha obtida em Us2. Quando uma

167

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 179: III WVC 2007

linha reta é apresentada à camada de entrada U0, as respostas das células-B são ativas numa das extremidades das linhas. Quando uma linha curva é apresentada, as células-B respondem aos pontos de curvatura da linha. A rede neural RNDPC permite variar o limiar de disparo na detecção de bordas, correspondente ao primeiro estágio, e na detecção de segmentos de reta, correspondente ao segundo. Com esse recurso, os pontos de controle obtidos podem variar usando limiares de disparo diferentes, fazendo com que as células-semente da rede neural secundária sejam distintas, para limiares diferentes. O limiar de disparo relaciona-se à excitabilidade dos neurônios envolvidos. No cérebro biológico a excitabilidade varia de neurônio a neurônio [5]. A Rede Neural para o Reconhecimento Facial (RNRF) é uma rede baseada no neocognitron, com uma diferença no treinamento da sua primeira camada. O treinamento da RNRF consiste de aprendizado não-supervisionado, que usa, além do padrão de entrada, os pontos de controle obtidos pela RNDPC, que consistem de pontos extremos e pontos de curvatura. Assim, é apresentada à camada de entrada U0, uma amostra facial, cujas posições estratégicas de obtenção dos fatores são obtidas previamente pela RNDPC. O algoritmo de treinamento não-supervisionado é então aplicado, verificando-se se as células-semente coincidem com os pontos de controle. Dessa forma assegura-se que os fatores específicos de um padrão de entrada são aprendidos, em posições estratégicas, definidas pelos pontos de controle. Na fase de reconhecimento usa-se somente a RNRF, uma vez que a RNDPC serve apenas para a obtenção dos pontos de controle usados para o treinamento.

4. Resultados

As imagens faciais utilizadas para os testes com a NEOPC foram obtidas na Universidade de Cambridge, através do endereço eletrônico www.cam-orl.co.uk\facesataglance.html, que disponibiliza um banco de imagens faciais de 40 pessoas, com 10 imagens diferentes para a mesma pessoa, conforme exemplificado na Figura 5. As imagens possuem diferentes poses, expressões faciais, luminosidade e acessórios. A estrutura neural da NEOPC é constituída por duas fases, treinamento e reconhecimento. Nos testes realizados foram utilizadas as mesmas amostras de imagens para a fase de treinamento e de reconhecimento. O primeiro teste foi realizado considerando um total de cinco classes, imagens faciais de pessoas diferentes, com apenas cinco amostras cada uma. Após realizado o

treinamento, obteve-se uma taxa de acerto equivalente a 100%, não havendo erros na fase de reconhecimento.

Classe 1

1-1 1-2 1-3 1-4 1-5 1-6 1-7 1-8 1-9 1-10

Classe 2

2-1 2-2 2-3 2-4 2-5 2-6 2-7 2-8 2-9 2-10

Figura 5 – Exemplo das imagens faciais utilizadas para a fase treinamento e reconhecimento da NEOPC.

O próximo teste foi realizado considerando um total de dez classes com dez amostras cada uma. Neste caso, obteve-se uma taxa de acerto, reconhecimento, de apenas 59%, sendo 41% a taxa de erro. Entende-se que o resultado obtido está relacionado ao número insatisfatório de amostras utilizadas para cada classe durante a fase de treinamento, necessárias para estabelecer uma boa variação entre os padrões inter-classe. Neste sentido, foi realizado um teste para identificar o número de fatores “aprendidos” pela rede em função da quantidade de amostras utilizadas para o treinamento, ou seja, o número de planos celulares treinados em cada camada em função da quantidade de amostras. Os dados apresentados na Figura 6 especificam a variação da quantidade de fatores treinados pelas camadas Us3, Us4 e Us5, para um total de 5 classes contendo 5 amostras cada uma, sendo Us3, Us4 e Us5, as 3 camadas da rede RNRF, assim denotadas em função do uso das denotações Us1 e Us2, na rede RNDPC. Conforme pode ser verificado, o número de padrões treinados pela rede torna-se maior de acordo com o acréscimo do número de amostras por classe durante a fase de treinamento. Por exemplo, considerando a quantidade de 5 classes e a quantidade de 2 e 5 amostras, verifica-se, respectivamente, uma variação de 5 para 8 padrões treinados para a camada Us3, de 12 para 38 padrões treinados para a camada Us4 e de 8 para 24 padrões treinados para a camada Us5. Entende-se que o percentual de acerto para a fase de reconhecimento da NEOPC, considerando os resultados obtidos para a fase de reconhecimento com 10 classes, deve apresentar uma melhora significativa nos resultados através do aumento do número de padrões treinados para cada camada, utilizando-se na fase de treinamento um número maior de amostras por classe.

168

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 180: III WVC 2007

Quantidades de

Amostras 2 3 4 5

Us3 2 3 4 4 Us4 4 6 7 10 2 Us5 3 4 6 8

Us3 3 4 5 5 Us4 7 9 12 16 3 Us5 4 6 9 13

Us3 4 5 6 8 Us4 7 1

3 19 38

4

Us5 7 9 14 32

Us3 5 6 7 8 Us4 12 1

9 27 38

Qua

ntid

ades

de

Cla

sses

5 Us5 8 1

2 17 24

Figura 6 - Número de padrões treinados pelas camadas Us3, Us4 e Us5, de acordo com o número de classes e amostras utilizadas.

5. Considerações Finais

Neste trabalho foram apresentados dois resultados para uma estrutura de rede neural baseada no neocognitron, NEOPC. O principal objetivo da rede é melhorar a seleção de padrões para o processo de treinamento, através da inserção dos pontos de controle. A inserção dos pontos de controle como um processo de seletividade de padrões é importante para contribuir com as pesquisas direcionadas para a generalização de uma estrutura de rede neural, neste caso o neocognitron, uma vez que o conceito atual é que aprendizado e generalização são técnicas que devem andar juntas, ao invés de considerar a generalização como uma conseqüência natural do aprendizado [2]. Neste trabalho foi possível identificar uma taxa de acerto pequena quando considerado 10 classes com 10 amostras cada. No entanto, devido a uma limitação na base de imagens utilizada neste primeiro momento, não foi possível identificar o comportamento da rede com um número maior de amostras por classe. Como continuidade deste trabalho, pretende-se usar bases de imagens com um número maior de amostras para permitir a obtenção de uma taxa de acerto maior para uma rede de 10 classes.

6. Referências Bibliográficas

[1] Abdi, Hervé; O’Toole, Alice J.; Valentim, Dominique. Face Recognition. In: Michael A. Arbib (org.), The Handbook of Brain Theory and Neural Networks. Bradford Books, Cambridge, 2003.

[2] Braga, Antônio de Pádua; Carvalho, André Carlos Ponce de Leon Ferreira de; Ludermir, Teresa Bernarda. Redes Neurais Artificiais. In: Rezende, Solange Oliveira (org.). Sistemas Inteligentes – Fundamentos e Aplicações (RECOPE-IA – Rede Cooperativa de Pesquisa em Inteligência Artificial). Barueri, SP: Manole, 2005.

[3] Daugman, John, Face and Gesture Recognition: Overview, IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 19, N. 7, pp. 675-676, julho de 1997.

[4] Fukushima, Kunihiko, Neocognitron: A Model for Visual Pattern Recognition. In: Michael A. Arbib (org.), The Handbook of Brain Theory and Neural Networks. Bradford Books, Cambridge, 2003.

[5] Haykin, Simon. Redes Neurais: princípios e práticas. Tradução Martins Engel. 2a edição. Porto Alegre: Bookman, 2001.

[6] Russell, Stuart J.; Russel, Peter Norvig. Inteligência Artificial. Rio de Janeiro: Elsevier, 2004.

169

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 181: III WVC 2007

Comparação de Clusters para Detecção da Pele

Andréia V. Nascimento, Michelle M. Mendonça, Juliana G. Denipote, Maria Stela V. Paiva Escola de Engenharia de São Carlos – EESC. Universidade de São Paulo – USP

av.nascimento, [email protected], judeni, [email protected]

Resumo

A detecção de cor da pele no espectro visível pode ser uma tarefa bastante desafiadora, visto que a cor da pele numa imagem é sensível a vários fatores. Este artigo apresenta uma comparação de três tipos diferentes de Clusters, seguidos de operações morfológicas para detecção de pele humana em imagens digitais, os modelos de cor utilizados foram: RGB, YCbCr e HSV. Esta metodologia é aplicada em um banco de imagens de pessoas de ambos os sexos com dimensões de 592 x 896. O algoritmo foi desenvolvido no Matlab versão 7.0, e visa apontar qual modelo é mais adequado para a detecção automática da pele.

1. Introdução

Detecção de pele desempenha um papel importante em muitas aplicações de processamento de imagens, abrangendo detecção de faces, rastreamento de face, análise de gestos etc. Recentemente, as metodologias de detecção de pele baseadas na informação de cor de pele têm ganhado muita atenção, já que fornece informação computacionalmente efetiva e robusta à rotação, escala e oclusões parciais [1].

O espaço de cor YCbCr, foi utilizado por Bindu e Kumar [2] removendo os componentes Y e Cb. A imagem é convertida para espaço RGB, retendo somente o componente vermelho, uma vez que a pele é rica deste componente. A imagem é submetida a um algoritmo de detecção de face utilizando assinatura dos objetos. Já Ahlvers, Zölzer e Rajagopalan [3] utilizaram cluster de pele HSV para detecção e rastreamento da face. Yang, Lu e Waibel [4] obtiveram bons resultados ao utilizar o modelo RGB para detecção de pele.

Este artigo compara a utilização de três diferentes modelos de cor (RGB, HSV e YCbCr) para a detecção de pele em imagens digitais. O método de detecção de pele consiste na comparação de três tipos diferentes de Clusters de pele, esta metodologia foi implementada no Matlab versão 7.0 [5]. As imagens utilizadas são da base de imagens do Instituto de Tecnologia da

Califórnia [6]. Elas são coloridas e contém pessoas em poses frontais, em diferentes locações, com diferentes expressões e condições de iluminação e ambos os sexos .

2. Espaço de cor

A escolha do espaço de cor pode ser considerada passo principal na classificação da cor da pele. O espaço RGB é definido por três inteiros que representam respectivamente as quantidades das cores primárias (vermelho, verde e azul) usadas para gerar a cor da maioria dos formatos de imagem disponíveis. Qualquer outro espaço pode ser obtido a partir de uma transformação do RGB que é dividida em dois grupos: aqueles que podem ser obtidos por transformações lineares como YCbCr, e aqueles obtidos através de transformações não-lineares como é o caso do HSV, [7].

Uma revisão dos diferentes espaços de cor para representação da cor da pele e de métodos de detecção de pixels da pele é dada em [8].

2.1 Espaço de cor básico RGB

O RGB é o espaço de cor mais comumente utilizado para armazenar e representar imagens digitais, visto que os dados capturados por uma câmera são normalmente fornecidos em RGB.

Ahlvers, Zölzer e Rajagopalan [3] desenvolveram um método para construir um classificador de clusterda pele baseado no espaço de cor RGB dado por:

(R,G,B) é classificado como pele se: R>95 e G>40 e B>20 e

MaxR,G,B – Min(R,G,B>15 e |R-G|>15 e R>G e R>B] onde R,G,B = [0,255]

Este método tem como vantagem a simplicidade e a classificação muito rápida na detecção da pele, porém é difícil encontrar o espaço de cor e regras adequadas empiricamente.

170

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 182: III WVC 2007

2.2 Espaço de cor ortogonal YCbCr

Os espaços de cor ortogonais reduzem a redundância presente no RGB e representa a cor comocomponentes estatisticamente independentes. Uma vez que as componentes de luminância e crominância são explicitamente separadas, esses espaços se tornam uma escolha favorável para detecção da pele.

O espaço YCbCr representa a cor como luminância Y computada como uma soma ponderada dos valores RGB e crominância Cb e Cr computadas através da subtração da componente luminância dos valores B e R.

O espaço YCbCr é uma das escolhas mais populares em detecção da pele e foi usado em [2, 9,10].

A conversão do espaço RGB para YCbCr é dada por:

⎥⎥⎥

⎢⎢⎢

⎥⎥⎥

⎢⎢⎢

−−−−+

⎥⎥⎥

⎢⎢⎢

=⎥⎥⎥

⎢⎢⎢

'B

'G

'R

.

..

..

...

Cr

Cb

Y

2141876893112

1122037479737

9662455312848165

128

128

16

Ahlvers, Zölzer e Rajagopalan [3] mostraram a utilização de cluster de pele no espaço YCbCr, dada pelas seguintes regras:

(Y, Cb, Cr) é classificada como pele se: Y > 80 85 < Cb < 135 135 < Cr < 180 onde, Y, Cb, Cr = [0,255]

2.3 Espaço de Cor Perceptivo HSV

O espaço HSV define a cor como matiz (H) – a propriedade da cor que varia em passar de vermelho para verde, saturação (S) – a propriedade da cor que varia na passagem de vermelho para rosa e brilho (intensidade, luminosidade ou valor) (V) – a propriedade que varia na passagem do preto para o branco. A transformação do RGB para o HSV é invariante à alta intensidade na luz branca, luz ambiente e orientações de superfície relativas à fonte de luz e portanto, pode formar uma boa escolha para métodos de detecção de pele [1]. O espaço HSV foi usado em [11, 12, 13].

A transformação do espaço RGB para HSV é dada por [14]:

))(())((

))()((5.0cos

0),,max(,0

0),,max(,),,max(

),,min(),,max(

),,max(

BGGRGRGR

BRGRaH

BGR

BGRBGR

BGRBGR

S

BGRV

−−−−−−+−=

⎢⎢⎢

=

≠−=

=

O cluster de pele HSV foi utilizado por Ahlvers, Zölzer e Rajagopalan [3] para detecção e rastreamento da face. O cluster de pele HSV é dado pelas seguintes regras:

(H,S,V) é classificado como pele se: 0 < H < 50 e 0.23 < S < 0.68

onde: H = [0,360] e S,V = [0,1]

3. Metodologia

A metodologia empregada neste trabalho para detecção de pele consiste dos seguintes módulos:

Figura 1 - Módulos para detecção de pele

O primeiro módulo, o de pré-processamento da imagem, é aplicado sobre a imagem de entrada com o objetivo de convertê-la para um determinado espaço de cor e padronizar suas dimensões, com a finalidade de reduzir o tempo de processamento.

O segundo módulo, o de Cluster de pele, explora semelhanças entre padrões e agrupa-os.

Operações morfológicas destacam as regiões de interesse da imagem no terceiro módulo.

3.1 Pré-processamento

A primeira etapa consistiu na utilização de um banco de dados composto aproximadamente de 450 imagens, coletadas por Marcus Weber do Instituto de Tecnologia da Califórnia [5]. O banco contém imagens coloridas de pessoas de ambos os sexos, dimensões de 592 x 896, porém foi necessário redimensioná-las em uma proporção menor para diminuir o tempo de execução do algoritmo. Como mostra a figura 2.

Clusterde

Pele

Pré-proces-samento

da Imagem

OperaçõesMorfo- lógicas

171

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 183: III WVC 2007

Figura 2 - Etapas do pré-processamento da imagem

3.2 Cluster de pele

As possíveis cores da pele humana, independentemente de suas variações (branca, negra, amarela, etc), formam um aglomerado de pontos quando dispostas no espaço de cores RGB. Esse aglomerado é denominado cluster de pele [15], e é demonstrado na figura 3.

Figura 3 – Cluster de Pele [15]

A figura 4 mostra o resultado da aplicação do cluster de pele numa determinada imagem.

Figura 4 – Cluster de pele

3.3 Operações Morfológicas

Primeiramente, aplica-se a erosão para eliminar fendas no contorno da face (figura 5a). Depois aplica-se o fechamento para suavizar o contorno da face (figura 5b). Em seguida, aplica-se o preenchimento de região em que olhos, boca, ou qualquer outro objeto que apareça na face sejam preenchidos com o comando imfill do Matlab [6](figura 5c).

Pequenos objetos de fundo são então eliminados utilizando-se o operador morfológico de abertura de área (figura 5d) que é responsável por remover um agrupamento de determinado número de pixels, proporcionando uma imagem menos ruidosa, essa operação foi realizada através do comando bwareaopen do MatLab [6]. Finalmente, é aplicada a dilatação (figura 5e) para retornar a borda perdida com a erosão. A (figura 5f) mostra a combinação da imagem original com o resultado obtido em conjunto com a aplicação dos operadores morfológicos.

Figura 5 – Operações Morfológicas

4. Resultados

Muitos artigos de detecção de pele não proporcionam explicitamente uma explicação a respeito do espaço de cor utilizado, provavelmente pelo fato de obter-se um resultado aceitável em uma base de dados com um determinado espaço de cor.

a) Erosão b) Fechamento

c) Preechimento de regiões

d) Abertura de área

e) Dilatação f) Resultado final

Operações Morfológicas

Pré-processamento da Imagem

Redimen-siona a imagem

Converte do RGB para modelo de

cor Banco de

Imagens de Faces

172

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 184: III WVC 2007

O que se pode perceber é que alguns métodos dependem de um determinado espaço de cor enquanto outros são independentes deles.

A tabela 1 apresenta a porcentagem de localização de pele executada corretamente dentre as 100 imagens utilizadas, considerando-se cada espaço de cor testado.

Espaço de cores Acerto Erro RGB 92% 8% YCbCr 86% 14% HSV 15% 85%

Tabela 1 – Comparação dos resultados

5. Conclusão

Neste trabalho constatou-se que, dentre os três modelos de cluster de pele proposto pela metodologia, o modelo RGB apresentou melhor desempenho na detecção da pele, sendo detectado corretamente 92% das imagens contendo regiões de pele. Mostrada na figura 6.

a)Original b)Imagem final Figura 6 – Resultado Cluster de Pele RGB

Observou-se que o modelo YCbCr, por ser um espaço de cor que é obtido através de uma transformação linear do RGB, torna-se escolha favorável para detecção de pele, obtendo assim. uma porcentagem de 86% de acerto. Como mostra a figura 7.

a)original b) Conversão YCbCr

c) imagem Final

Figura 7 – Resultado Cluster de Pele YCbCr

Os resultados obtidos por meio do modelo HSV não foram satisfatórios, como mostra a tabela 1, a transformação do RGB para este modelo de cor é obtida através de uma transformação não linear tendo assim uma pequena porcentagem de acerto, apenas 15%.

a)original b) Conversão HSV

c) imagem Final

Figura 8 – Resultado Cluster de Pele HSV

Deve-se ressaltar que algumas condições são essenciais para detecção da pele como: característica da câmera, iluminação, etnia e uso de acessórios, como óculos ou barba, pois podem influenciar no resultado final.

6. Referências Bibliográficas

[1] P. Kakumanu, S. Makrogiannis and N. Bourbakis, “A survey of skin-color modeling and detection methods” Pattern Recognition, 2006, vol. 40, pp. 1106-1122.

[2] A Bindu and C. N. R. Kumar, “An Efficient Skin Illumination Compensation Model for Efficient Face Detection”, In: Annual Conference on IEEE Industrial Eletronics, 2006, pp. 3444-3449.

[3] U. Ahlvers, U. Zölzer and R. Rajagopalan, “Model-Free Face Detection and Head Tracking with Morphological Hole Mapping”, XIII European Signal Processing Conference, 2005.

[4] J. Yang, W. Lu and A. Waibel, “Skin-color modeling and adaptation”, Asian Conference in Computer Vision, Hong Kong, 1998, pp. 687-694. [5] M. Weber, “Frontal face dataset”, disponível em: http://www.vision.caltech.edu/Image_Datasets/faces/faces.tar , acessado em 06/06/2007.

[6] MatLab Online Documentation, http://www.mathworks.com/access/helpdesk/help/helpdesk.html, acessado em 11/07/2007.

[7] J. B. Martinkauppi, M. N. Soriano, and M. H. Laaksonen, “Behavior of skin color under varying illumination seen by different cameras at different color”, Proceedings-SPIE The International Society For Optical, 2001, vol. 4301, pp. 102-112.

[8] V. V. S. Vezhnevets et al., “A Survey on Pixel-Based Skin Color Detection Techniques”, In Proceedings Graphicon, Moscow, Russia, 2003, pp. 85-92.

[9] R. L. Hsu, M. Abdel-Mottaleb and A. K. Jain, “Face detection in color images”, IEEE Trans. Pattern. Machine Intell. vol. 24, n. 5, 2002, pp. 696–706.

[10] K. W. Wong, K. M. Lam and W. C. Siu, “A robust scheme for live detection of human faces in color images”,

173

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 185: III WVC 2007

Signal Process. Image Commun, vol. 18, n. 2, 2003, pp. 103–114.

[11] D. Brown, I. Craw and J. Lewthwaite, “A som based approach to skin detection with application in real time systems”, In Proc of the British Machine Vision Conference, 2001.

[12] C. Garcia and G. Tziritas, “Face detection using quantized skin color regions merging and wavelet packet analysis”, IEEE Trans. Multimedia, vol. 1, n. 3, 1999, pp. 264–277.

[13] Q Zhu et al., “Adaptive learning of an accurate skin-color model”, Sixth IEEE International Conference on Automatic Face and Gesture Recognition, 2004, pp. 37- 42

[14] S. L. Phung, A. Bouzerdoum and D. Chai, “Skin Segmentation Using Color Pixel Classification: Analysis and Comparison”, IEEE Transactions on Pattern Analysis and Machine Intelligence, v.27 n.1, 2005, p.148-154.

[15] E. C. Lopes, “Determinando a Posição e a Orientação da Mão Através de Imagens de Vídeo”, Dissertação Mestrado, Pontifícia Universidade Católica do Rio Grande do Sul, Departamento de Ciência da Computação, 2005.

174

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 186: III WVC 2007

Detecção de Infração em faixa de pedestres sem semáforos utilizando visão computacional e redes neurais

Alves, B. G. C.; Lima, A. C. de C. Departamento de Engenharia Elétrica - Escola Politécnica - UFBA,

R. Aristides Novis 2, CEP 40210-630 - Salvador - Bahia - Brasil E-mails:[email protected]; [email protected]

Resumo

Neste trabalho são associadas às ferramentas de Redes Neurais e processamento de Imagens com o objetivo de identificar corretamente a infração, presença de veículos e pessoas sobre a faixa de pedestres, cometida por veículos em faixas de pedestres que não dispõem de semáforos, através de um software feito no C++ Builder5. Para isso foi feita a utilização de técnicas básicas de detecção de bordas, juntamente com uma solução especifica desenvolvida neste trabalho que melhora o processo de detecção das mesmas, facilitando assim o reconhecimento de veículos na faixa de pedestres por padrões geométricos, deixando só as informações necessárias para que a rede neural utilizada convergisse para um espaço de solução satisfatório para a identificação da presença de pessoas na faixa de pedestres. A utilização de redes neurais para identificação de pessoas na faixa veio da grande dificuldade encontrada com utilização de outros métodos, da sua excelente capacidade de reconhecer padrões em tempo real, mesmo quando o espaço de pontos a ser utilizado é grande. Como resultado, demonstra-se que o algoritmo desenvolvido é bem sucedido, proporcionando a resolução do problema aqui citado com uma taxa de acerto acima de 94%.

1. Introdução

A criação da faixa de pedestres veio com a finalidade de melhorar o andamento do transito de carros e pedestres, permitindo que o deslocamento de ambos pudesse existir de forma harmônica. Os artigos 70 e 71 do Código Nacional de Transito dizem que: os pedestres que estiverem atravessando a via sobre as faixas delimitadas para este fim terão a prioridade de passagem, exceto nos locais com sinalização semafórica, onde deverão ser respeitadas as disposições deste Código. Como diz o código citado acima existem faixas que tem seu controle de preferência feito por semáforos e outras que não. Nas que não tem o seu controle realizado por semáforo, o pedestre tem a prioridade. Assim com base em garantir o cumprimento da lei e a devida punição para aqueles que

venham a descumpri-la, nasceu a idéia de desenvolver um algoritmo e um software que realize o processo de detectar a infração do automóvel para aquela faixa que não possui semáforo. Dentro deste contexto este trabalho tem o objetivo de achar uma solução para o problema de detecção da infração em tempo real.

A detecção da infração foi dividida assim em duas partes. A primeira é a identificação de veículos na faixa de pedestres e a segunda é, uma vez que a presença de veículos foi detectada, verifica-se a existência de pessoa(s) na faixa.

Em cada uma das etapas foi feita uma analise detalhada de quais características podiam ser utilizadas e extraídas para o reconhecimento dos dois padrões desejados, e assim realizar a identificação de infração de forma correta.

2. Materiais e Metodologia

Para a realização deste trabalho foi feita a utilização de uma câmera de filmagem digital da Sony, de um computador com memória RAM de 256MB e um processador celeron 1.3GHz, da ferramenta de simulação e programação Matlab 7.1 e da ferramenta de programação C++ Builder 5.

Em seguida foi feita a gravação de vários arquivos de vídeos no formato MPG e com uma resolução de 480 por 640 pixels com um tamanho de gravação variando entre dois e três minutos, correspondendo a diferentes faixas de pedestre sem semáforo. Inicialmente foi feita a captura de vários frames de cada arquivo de vídeo com o software Breeze 5.4.1 Light, gerando assim uma seqüência de imagens em formato JPG contendo imagens sem a presença de veículos e pessoas, com a presença apenas de veículos, com presença apenas de pessoas e com a presença de ambos. Dois tipos de pastas foram geradas, uma contendo imagens para os teste da presença de veículos e identificação de infração, e outra para o treinamento da rede neural.

O passo seguinte foi então o desenvolvimento de um algoritmo que fosse capaz de segmentar a imagem de forma a deixar apenas as informações de interesse para a identificação do padrão veículo(s), e veiculo(s) e pessoa(s). O padrão comum a todos os veículos é a

175

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 187: III WVC 2007

presença da roda. Esta pode ser identificada pela presença da jante ou calota, tendo uma forma geométrica circular.

O padrão circular pode ser facilmente identificado, independente de seu tamanho, com base apenas no seu perímetro e em sua área [1]. Com isso temos:

2

4

P

AreaFC

⋅⋅= π (1)

2rArea ⋅= π (2)

rP ⋅⋅= π2 (3) Essa relação para um objeto com formato de circulo

adquire o valor unitário, proporcionando assim uma maneira para a identificação de veiculo(s) na faixa.

Com base na equação 1 foi desenvolvido um algoritmo que fosse capaz de segmentar a imagem deixando-a na melhor maneira para que o calculo de FC pudesse ser realizado.

A presença de pessoas na faixa não revela nenhum padrão básico que possa ser utilizado de forma confiável a poder garantir uma alta taxa de acertos. Existem varias possibilidades quanto a este padrão pessoa(s), como, por exemplo, uma única pessoa, varias pessoas agrupadas ou superpostas, pessoas separadas, pessoas separadas e agrupadas. Junto a tudo isso ainda existem combinações de tamanhos e formas diferentes que as combinações citadas acima podem assumir, devido a fatores como tamanho, peso, tipo de roupa, cor da roupa e variações climáticas. Devido a isso o método que fosse utilizado para realizar esta tarefa teria que ter uma capacidade de reconhecer essas diferentes variações, com uma alta taxa de acerto, acima de 90% e em tempo real. Assim a opção mais simples encontrada foi à utilização de redes neurais.

3. Detecção de veículo (s) na faixa

Para realizar a detecção de veículos na faixa de pedestres foi desenvolvido um algoritmo que fosse capaz de segmentar a imagem de forma a conseguir mostrar a borda das jantes e calotas das rodas, independente da condição climática, das sombras e em tempo real.

Para a realização deste algoritmo o primeiro passo foi realizar a detecção das “edges”. Existem vários métodos para a realização desta tarefa. Os mais comuns e que na maioria das situações apresentam bons resultados são Prewitt [2], Sobel [2] e Canny [3]. Deste três métodos citados apenas Sobel e Canny foram implementados. O argumento para a não utilização de Prewitt é que este apresenta uma maior sensibilidade a ruído do que Sobel. Estes métodos geraram imagens muito suscetíveis a variações de luminosidade, o que implicou na constante alteração de alguns de seus parâmetros para que a taxa de acerto não fosse alterada devido a essa variação. Para Sobel o parâmetro é um valor limite, onde os pixels que tiverem valor acima ou igual a ele assumem o valor 255

enquanto os que estiverem abaixo assumem o valor 0. Para Canny os parâmetros eram o desvio padrão, os limites inferior e superior de supressão.

Essa constante necessidade de mudanças nos parâmetros destes métodos inviabilizava a característica de independência em relação à variação da luminosidade. Para a resolução deste problema foi desenvolvido um algoritmo especifico, que em conjunto com a de detecção de edges, permite quase que total independência em relação à variação de luminosidade, gerando as bordas desejadas de forma correta.

Este algoritmo realiza a criação de uma mascara quadrada, de dimensão impar fornecida pelo usuário. Varrendo a imagem da esquerda para a direita e de cima para baixo, analisando cada pixel ),( yxI da imagem

I através da equação 4.

2

2

1

2

1

2

1

2

1

),(

),(n

jyixI

yxM

n

ni

n

nj

∑ ∑

−−=

−−=

++

= (4)

O pixel ),( yxI em questão é analisado para ver se ele

é maior que ),( yxM ou se ele satisfaz a equação 5.

( )T

yxM

yxMyxI ≤−),(

),(),( (5)

Onde T é um valor percentual limite fornecido pelo usuário, em que o pixel ),( yxI deve estar abaixo em

relação a ),( yxM . Se o pixel em analise satisfazer esta

condição ele assumirá o valor 255, se não seu valor será 0. Este método é chamado de detecção de borda por média.

Com este algoritmo é possível encontrar as bordas das calotas e jantes de forma correta, sem falhas ou descontinuidades. Mesmo contendo dois parâmetros de entrada, estes têm valores que podem ser encontrados facilmente, gerando a imagem desejada e independente da variação de luminosidade.

Uma vez que a imagem é segmentada, resta agora calcular o fator geométrico FC. No entanto com pode ser visto na figura 1, as jantes e calotas produzem círculos com vários buracos e isto impossibilita o uso da equação 1. Assim foi utilizado um algoritmo que busca os objetos presentes e preenche seus espaços vazios(preto) classificando eles como circulo ou não, com base na equação 1. Este algoritmo também faz uma filtragem por área, eliminando objetos com valores de área inferior a uma certa porcentagem da área total, o que deixa só informações pertinentes para serem analisadas tanto na fase de detecção de carro como de

176

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 188: III WVC 2007

pessoa.

Assim o algoritmo completo para a detecção de carro é como mostrado abaixo.

1. Inicia a leitura do arquivo 2. Captura o frame 3. Converte de RGB para tons de cinza 4. Faz a suavização da imagem com uma

mascara de dimensão 3x3, gerada através de uma função gaussiana de desvio padrão 1.

5. Faz a detecção das edges com uma mascara obtida através da derivada da função gaussiana.

6. Aplica-se o método de detecção de borda por media.

7. Aplica-se o método de detecção de circulo.

4. Detecção de pessoas

Como justificado na seção 2, a utilização de redes neurais para o reconhecimento de pessoas na faixa de pedestre se mostrou a melhor solução para esta tarefa.

A idéia básica consiste em utilizar uma rede simples e que resolva o problema de detecção com uma alta taxa de acerto. Para isso resolveu-se inicialmente utilizar uma rede de múltiplas camadas alimentada adiante, tendo uma camada de entrada, uma camada oculta composta de quatro neurônios e um neurônio de saída. A utilização de apenas um neurônio se dá pelo fato de que a rede só precisa dar uma resposta positiva ou negativa, indicando assim a presença de pessoa(s) ou não.

Para realizar o treinamento da rede foi escolhido o algoritmo de retropropagação de erro, por este já ter sido aplicado com grande sucesso para resolver diversos problemas de grande dificuldade em conjunto com a rede de múltiplas camadas alimentada adiante [4]. A descrição deste algoritmo, no contexto da busca dos coeficientes para a rede neural aqui proposta, pode ser vista logo abaixo.

1. Um lote contendo m imagens em formato JPG de 480x640 pixels é apresentado à rede, juntamente com a sua indicação de ter presença ou não de pessoa.

2. Cada uma das m imagens é convertida em um vetor linha x[n] e é plicada a camada de entrada.

3. Calcula-se o campo local induzido para os neurônios da camada 1, que é a camada oculta, usando a equação 6.

4. Passa-se a resposta de saída de cada neurônio da camada oculta para a entrada do neurônio da camada de saída.

5. Calcula-se a resposta do neurônio da camada de saída através da equação 6 e calcula-se o sinal de erro através da equação 7.

6. Calcula-se o gradiente do neurônio da camada de saída através da equação 8 e faz-se a correção dos seus pesos sinapticos através da equação 9.

7. Calcula-se o gradiente de cada neurônio da camada oculta através da equação 10 e faz-se a correção de seus pesos sinapticos através da equação 9.

8. Repete-se os passos de dois a sete ate que a rede chegue ao valor de erro quadrático satisfatório.

O valor satisfatório neste caso foi 0.01 porcento do erro Maximo possível, que é 2,7159. Este valor de erro deu-se devido à utilização de uma função de ativação anti-simétrica mostrada na equação 11. Onde os valores ótimos para a e b são 1,7159 e 2/3 consecutivamente [5].

∑=

−=M

i

liji

lj

l ynwnv0

1)()( (6)

Na equação 6 l é a camada, M a quantidade de sinais que estão conectado ao neurônio j , i o neurônio ou sinal de

entrada se a camada i for a camada de entrada, y o sinal

de saída do neurônio i ou sinal de entrada se a camada for de entrada e w o valor da peso sinaptico que conecta o neurônio i ao j .

)()()( nyndne jL

jjL −= (7)

Na equação 7 L indica o a ultima camada e a

profundidade da rede também e )(nd j o valor esperado

para a saída do neurônio j .

))(()()( ' nvnen jL

jjL

jL ϕδ ⋅= (8)

Na equação 8 j'ϕ é a derivada da função de ativação.

)()()()1( 1 nynnwnw il

jl

jil

jil −⋅⋅+=+ δη (9)

Na equação 9 η é o parâmetro de taxa de aprendizagem.

∑++ ⋅⋅=

k

kjl

kl

jl

jjl nwnnvn )()())(()( 11' δϕδ (10)

Na equação 10 k é o numero de neurônios da camada a frente conectados ao neurônio da camada anterior j .

177

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 189: III WVC 2007

))(tanh()( nvban jj ⋅⋅=ϕ (11)

Com estes coeficientes gerados pela rede pode-se então realizar o processo final do algoritmo proposto por este trabalho, que é, depois que a presença de carro foi detectada pelo passo 7 descrito na seção 3, pegar a imagem gerada pelo passo 6, descrita nesta mesma seção e aplicar ela a entrada da rede proposta, tendo como seus coeficientes os valores encontrados no seu processo de treinamento.

5. Resultados

Para os testes e desenvolvimento deste algoritmo foram realizadas três filmagens, sendo que cada uma delas foram feitas em diferentes horários do dia e em três faixas diferentes. Usou-se também um intervalo de 20 frames entre um instante e outro do filme. Partindo então destas filmagens foram gerados os seguintes resultados.

Tabela 1. Resultado do treinamento da rede. Nome da faixa N° de amostras N° de iterações Faixa 1 60 300 Faixa 2 110 440 Faixa 3 72 370

A tabela 1 mostra a quantidade de amostras, que neste caso, são as imagens utilizadas para realizar o treinamento da rede e o numero de iterações que rede precisou para convergir ao erro mínimo desejado. Na figura 2 pode-se ver o processo de convergência da rede utilizada na faixa 3. O erro mostrado neste gráfico não está em modulo, por isso pode-se ver valores negativos e positivos.

Figura 2 – Gráfico do erro de saída da rede neural.

Tabela 2. Resultado do teste de detecção de carro. Nome da faixa N° de amostras Taxa de acerto Faixa 1 189 94.70% Faixa 2 292 97.26%Faixa 3 271 95.20%

A tabela 2 mostra a quantidade de amostras utilizada para cada faixa no teste de detecção de veiculo e a sua

taxa de acerto. Este teste tem a finalidade de avaliar o quão eficiente é o algoritmo aqui proposto na detecção de automóveis na faixa. Na figura 3 e 4 é possível ver o processamento deste teste.

Figure 3 – Imagem da faixa segmentada pelo método proposto seção 3.

Figure 4 – Imagem produzida pelo algoritmo de detecção de veículos. Tabela 3. Resultados da detecção de infração.

Nome da faixa N° de amostras Taxa de acerto Faixa 1 142 96.75% Faixa 2 292 90.00% Faixa 3 277 96.75%

A tabela 3 mostra a quantidade de amostras utilizadas em cada faixa para o teste de detecção de infração e a taxa de acerto do algoritmo para cada uma delas. Na figura 5 se pode ver a imagem que é entre a rede para o processamento final.

178

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 190: III WVC 2007

Figure 5 – Imagem segmentada e filtrada por área. 6. Conclusão

Cada uma das tabelas mostradas na seção anterior nos revela a eficiência do algoritmo em cada uma dos seus três passos principais. Um dos primeiros passos é o treinamento da rede. O treinamento da rede em todas as faixas mostrou uma rápida convergência, principalmente se levarmos em conta o fato de que a situação em analise tem uma grande diversidade de padrões. Com base nesta analise, no número de iterações necessárias para a convergência da rede e nas taxas de acerto na detecção de infração estarem acima de 90%, pode-se dizer que a escolha de redes neurais para o reconhecimento de pessoas na faixa foi adequada.

O passo dois é identificação de veículos. Olhando os resultados da tabelo 2 pode-se ver a eficiência desta parte, que conseguiu detectar veículos com uma taxa de acerto acima de 94% para a as três faixas. No entanto para veículos do tipo moto, existe uma dificuldade maior em realizar está detecção, pois a roda do mesmo não consegue ser segmentada de forma satisfatória pelo algoritmo aqui proposto e pelos outros que foram utilizados ao longo do seu desenvolvimento. No entanto a detecção para os outros tipos de veículos se dá de forma satisfatória.

A última parte do algoritmo é um trabalho conjunto das duas partes anteriores. Se uma delas falha, a outra também irá falhar. Com os testes feitos e os resultados obtidos percebeu-se que, quanto mais situações diferentes forem

expostas a rede no seu processo de treino, melhor será seu desempenho. Já a detecção de veículos depende do bom posicionamento da câmera que capta as imagens. Se esta estiver posicionada em uma altura acima de 2 metros e centrada para pegar apenas a faixa, implicará então em uma taxa de acerto acima de 94%.

A utilização de apenas três diferentes faixas se deu pelo fato de estas são tem o maior fluxo de pedestres da cidade de Salvador. Assim a quantidade de ocorrência de infração é muito grande e acontecem em intervalos pequenos de tempo. Já as outras faixas têm um fluxo bem menor, o que dificulta conseguir realizar uma filmagem em que ocorra uma quantidade mínima de infrações necessárias para treinar a própria rede.

Com base em tudo o que foi apresentado aqui se pode afirma que o algoritmo aqui proposto consegue realizar a detecção de forma satisfatória, tendo a sua limitação apenas com veículos do tipo motocicleta.

[1] K. Pratt, William, Digital Image Processing: PIKS Inside,.-3. ed, New York : John Wiley & Sons, Inc, 2001, pp. 595. [2] Gonzalez, Rafael.C, Digital Image Processig/Richard E.Woods, -1.ed, New Jersey : Prentince Hall, 2002, pp. 578.

[3] Canny, J.A, A Computacional approach to edge detection, IEEE Transaction on Pattern Analysis and Machine Intelligence, Publisher, Location, 1986, pp. 679-698.

[4] Haykin, Simon, Redes Neurais: princípios e pratica, trad. Paulo Martins Engel.-2.ed, Porto Alegre : Bookman, 2001, pp. 183.

[5] Haykin, Simon, Redes Neurais: princípios e pratica, trad. Paulo Martins Engel.-2. ed, Porto Alegre : Bookman, 2001, pp. 206.

[6] Haykin, Simon, Redes Neurais: princípios e pratica, trad. Paulo Martins Engel.-2.ed, Porto Alegre : Bookman, 2001, pp. 200.

179

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 191: III WVC 2007

Automatic Pattern Recognition of Binary Image Objects using Mathematical Mor-

phology.

Emerson Carlos Pedrino

and

Valentin Obac Roda

Departamento de Engenharia Elétrica

Escola de Engenharia de São Carlos - Universidade de São Paulo

Avenida Trabalhador São-Carlense, 400

13566-590 São Carlos (SP) – Brazil

Tel: (55 16) 3373 9363

FAX: (55 16) 3373 9372

[email protected] [email protected]

Abstract. In this paper, we present a methodology for automatic pattern recognition of

binary images objects using morphological operators and genetic programming. The

results are expressed in terms of the basic morphological operators and logical opera-

tors. Genetic Programming (GP) is based on concepts of genetics and Darwin’s princi-

ple of natural selection to genetically breed and evolve computer programs to solve a

wide variety of problems. GP is a relatively new branch of evolutionary computation

and it is gradually consolidating as a promising methodology to be used in applications

involving pattern recognition. Mathematical morphology is based on the set theory

(complete lattice) where the notion of order is very important. This processing tech-

nique has proved to be a powerful tool for many computer vision tasks. An example of

application is presented and the result is compared with other methods in the literature.

180

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 192: III WVC 2007

1 Introduction

Morphological image processing is a nonlinear branch in image processing developed

by Matheron and Serra in the 1960´s, based on geometry and the mathematical theory of

order [1 - 2]. Morphological image processing has proved to be a powerful tool for bi-

nary and grayscale image computer vision processing tasks, such as edge detection,

noise suppression, skeletonization, segmentation, pattern recognition and enhancement.

The design of morphological procedures is not a trivial task in practice. It is neces-

sary some expert knowledge to properly select the structuring element and the morpho-

logical operators to solve a certain problem. In the literature there are several ap-

proaches using automatic programming to overcome these difficulties [3 – 4], however,

they present several drawbacks as a limited number of operators, only regular forms of

structuring elements, only morphological instructions, to name just a few.

Genetic programming (GP) is the most popular technique for automatic programming

nowadays and may provide a better context for the automatic generation of morphologi-

cal procedures [5]. GP is a branch of evolutionary computation and artificial intelli-

gence, based on concepts of genetics and Darwin’s principle of natural selection to ge-

netically breed and evolve computer programs to solve problems.

Genetic Programming is the extension of the genetic algorithms [6] into the space of

programs. That is, the objects that constitute the population are not fixed-length charac-

ter strings that encode possible solutions to a certain problem. They are programs (ex-

pressed as parse trees) that are the candidate solutions to the problem. For example, the

simple program “min(x*2,x+2*y)” is illustrated in figure 1. The programs in the popu-

lation are elements from the function set and the terminal set, which will represent the

solution of problems in the domain of interest. In GP, the crossover operator is imple-

mented by taking randomly selected subtrees in the individuals (selected according to

fitness) and exchanging them.

Figure 1. Parse Tree for “min(x*2,x+2*y)”.

There are few applications of GP for the automatic construction of morphological op-

erators in the literature [7]. We developed a linear genetic programming approach for

the automatic construction of morphological and logical operators, generating a toolbox

named morph_gen for the Matlab program. The developed toolbox can be used for the

design of non linear filters, image segmentation and pattern recognition of binary im-

181

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 193: III WVC 2007

ages. An Example of application is presented and the result is compared with other ap-

proaches.

This article is organized as a brief review of the basic concepts of morphological op-

erations and genetic programming, section 1; a detailed description of the developed

algorithm, section 2; results and application examples are presented in section 3; section

4 presents the conclusions.

2 Automatic construction of morphological operators

The proposed algorithm developed in this paper for automatic construction of mor-

phological operators uses a linear genetic programming approach that is a variant of the

GP algorithm that acts on linear genomes. The developed algorithm operates with two

input images, an original image and an image containing only features of interest which

should be extracted from the original image. The genetic procedure looks for operator

sequences in the space of mathematical morphology algorithms that allows extracting

the features of interest from the original image. The operators are predefined procedures

from a database that work with particular types of structuring elements having different

shapes and sizes. It is also possible to include new operators in the data base when nec-

essary. The program output is a linear structure containing the best individual of the

final population. The output result from one operator is used as input to subsequent op-

erator and so on. The genetic algorithm parameters are supplied by the user using a

graphical user interface (GUI). The main parameters are: tree depth, number of chro-

mosomes, number of generations, crossover rate, mutation rate, error and certain kinds

of operators suited to a particular problem. It has been used for the problems the mean

absolute error (MAE) as a fitness measure. For example, the fitness function using

MAE error was calculated as follows:

(1)j)b(i,-j)a(i,XY

1b)d(a,

X

i

Y

j

In equation 1, a is the resulting image evaluated by a particular chromosome (pro-

gram) and b is the goal image. The chromosomes are encoded as variable binary chains.

The main steps of the proposed algorithm are illustrated in figure 2.

182

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 194: III WVC 2007

Figure 2. Flowchart of developed system.

The genetic parameters and the images are supplied by the user; the initial population

of programs is randomly generated. Since the chromosomes are encoded as binary

chains, for example, if the user has selected the instructions: and (AND logic), sto

(STORE), ero (EROSION) and cpl (COMPLEMENT), the first operator will be coded

as “002”, the second as “012”, the third as “102” and the last one as “112”. If the tree

depth chosen was four, for example, the chromosome: “000110112” could be created.

After evaluation of each chromosome in a generation, a fitness value is assigned to

each one. The selection method used for genetic operators was the tournament selec-

tion. In crossover operation, morphological operators are randomly selected and ex-

changed between parents chromosomes. The mutation operation replaces a randomly

selected instruction by another in the range of morphological algorithms space. The

reproduction operator copies a single parent into the new generation according to its

fitness value.

3 Results and application examples

In this section some results using the developed algorithm are presented.

In figure 3 it is presented an original image and the goal image containing heads ex-

tracted from a fragment of a music score. The genetic procedure found the following

best program to extract heads: “dil_dd_3->dil_q_3->do_nothing->ero_q_3-

183

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 195: III WVC 2007

>do_nothing->ero_q_3”. The genetic parameters chosen for this task were: 50 genera-

tions, 25 chromosomes, tree of depth 6, crossover rate of 90%, mutation rate of 20%

and reproduction rate of 20%. The MAE error found was less than 0,7%. The training

time was less than 71 seconds and execution time was less than 0,02 seconds. This pro-

cedure was applied to image of figure 4 producing a very good result. The operator

dil_dd_3 is a dilation by a 3x3 diagonal structuring element. Operators dil_q_3 and

ero_q_3 are a dilation and an erosion by a 3x3 square structuring element. The

do_nothing operator gives a relaxation for the tree depth chosen by the user.

Figure 3. Procedure created automatically for head extraction.

Figure 4. Example of head extraction.

184

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 196: III WVC 2007

Comparing the results with those obtained from [8] [9], our implementation pre-

sented improvements in fitness, processing time and programming flexibility.

Table 1 summarizes all the results obtained.

Table 1. Summary of results.

Example Generati-ons

chromosomes Tree depth

Cross rate

Mut rate

Reprrate

MAEerror

Training time

Execution time

Head ex-

traction 50 25 6 90% 20% 20% 0,7% 71s 0,02s

4 Conclusions

In this paper a method for automatic pattern recognition of binary image objects us-

ing morphological operators and a linear genetic programming approach was presented.

An application example has been presented where the solution has been expressed in

terms of the basic morphological operators, dilation and erosion, in conjunction with

other instructions. Comparing with other methods described in the literature, the devel-

oped methodology presents many advantages such as an improvement in processing

time, fitness and flexibility in relation to program size (variable) and types of operators.

The developed method can be used as a guide to morphological design.

References

1. E. R. Dougherty, An introduction to Morphological Image Processing, SPIE, Wash-

ington, 1992.

2. J. Serra, Image Analysis and Mathematical Morphology, Academic Press Inc, Cali-

fornia, 1982.

3. S. Marshall, N. R. Harvey, D. Greenhalgh, Design of Morphological Filters using

Genetic Algorithms, EUSIPCO, Tampere, Finland, September, 2000.

4. I. Yoda, K. Yamamoto, H. Yamada, Automatic acquisition of hierarchical mathe-

matical morphology procedures by genetic algorithms, Image and Vision Computing,

17(10) (1999) 749-760.

5. J. Koza, Genetic Programming, MIT Press, 1992.

6. J. Holland, Adaptation in Natural and Artificial Systems, MIT Press, 1975.

7. M. I. Quintana, R. Poli, E. Claridge, Genetic programming for mathematical mor-

phology algorithm design on binary images, In M. Proceedings of the International

Conference KBCS, 2002, pp. 161-171.

8. N. R. Harvey, S. Marshall, The use of genetic algorithms in morphological filter

Design, Signal Processing: Image Communication 8(1) (1996) 55-72.

9. H. Miyao, Y. Nakano, Head and stem extraction from printed music scores using a

neural network approach, ICDAR, 1995, pp. 1074-1079.

185

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 197: III WVC 2007

Digital Image Detection of Brazilian Car License Plates Based on Matched Filters

B.B. Leite1, J.M. de Seixas2 1INdT – Nokia Technology Institute

2LPS/COPPE/EP – Signal Processing Laboratory [email protected], [email protected]

Abstract

Machine vision techniques play an increasing role in the development of automating systems. The constant growth of vehicle flow in the cities makes its monitoring and identification an important issue. This work aims at developing the first step in an automatic identification system for Brazilian private car license plates. This is performed by detecting their images from car digital images in which license plate images are randomly located. For this, line spectral analysis and matched filters are employed. The detection efficiency was found to be above 81% for good quality images acquired in practical conditions.

1. Introduction The constant growth of vehicle flow in the cities

makes its monitoring to be an important issue. The main monitoring objectives are: flow control, scrutiny and vehicle identification. So far, vehicle identification has mainly been

performed using electronic tags. Computer vision, signal/image processing and pattern recognition techniques are still not widely used but it can be seen as a different way to solve the problem. In some cases, where the use of electronic tags is impossible, automatic vehicle identification can be achieved through image processing techniques. Although the approach based on signal processing is more sensitive to climatic conditions, such as fog, rain and luminosity variation along the day, its acceptance is beginning to increase among urban traffic control technicians and authorities and also among the public security departments [1]. Presently, some systems address the vehicle flow

control by using digitized image processing in a variety of ways. However, the efficiencies reached are so far

still not completely satisfactory, which avoids the wide use of such approach. A broad range of applications can be identified for

this type of system, such as: detect offenders, control toll units and parking areas, vehicle origin/destination study, traffic flow planning and measurement, stolen car location, access control to restrict areas, etc [2].

1.1. State of the art Basically there are two different types of vehicle

identification systems: RF systems and image detection systems. The RF systems are composed by RF ID’s stuck on the vehicle front window and detectors that are usually placed in controlled areas (parking places, toll areas). When the RF ID passes through the detectors, it is identified and, in the case of controlled areas, the vehicle is authorized or not to get into these areas. However, this kind of system has a security problem: the RF ID can be moved from one vehicle to another, which makes a loose association in the database with the correct vehicle. Thus, it is not possible to fully assign the RF ID to the vehicle license plate. On the other hand, image-based systems do not need

any device installed in the vehicles or any additional vehicle identifier. It simply recognizes the vehicle by its license plate, a mandatory item in every registered vehicle. The minimum configuration normally used in an

automatic image processing or RF vehicle license plate recognition system (see Figure 1.1) comprises an electric or inductive sensor whose objective is to detect the vehicle (system trigger); a camera, responsible for acquiring the image; a DAQ board, which acquires the signals from the camera; and a digital processor (usually a computer) that works as a traffic analyzer, once it is responsible for locating the license plate and also for recognizing its characters.

186

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 198: III WVC 2007

Figure 1.1: Example of an image vehicle

identification system. Nowadays, a bunch of companies and R&D centers

work or offer automatic vehicle license plate recognition systems. However, it is difficult to make a comparative analysis among them, as they do not follow any standard in terms of features or performance measurement. The objective of this work is to present an

automatic system that uses image pre-processing for feature extraction and hypothesis making based on a matched filter to detect the car license plate image from digital images in which the license plate image can be found. Specifically the digital images used in this work are acquired in a Brazilian highway with intense vehicle flow and are restricted to private cars. From the detected images, the corresponding license plate can be identified in a second step. This step has been previously performed in [2].

2. System Development In this section, the localization system will be

specified based on previous studies and according to the Brazilian responsible department resolutions (CONTRAN). After that, it will be shown how the images were acquired and how the database was created. Typically, a vehicle license plate identification

system comprises 5 sequential stages: (i) Vehicle image acquisition; (ii) License plate localization; (iii) License plate character localization; (iv) Individual character identification; (v) License plate identification. Based on this classical division of stages, this work

aims to present a set of techniques for the two first phases, that is, vehicle image acquisition, under real conditions, and the following stage, license plate localization. In this project, the system was designed to acquire

the images, store them in a database and process them offline. So, according to this specification, the system has the following architecture:

Figure 2.1: System architecture. The database comprised 1250 images and was split

into two sets: the development subset, with 90% of the entire database, and the testing subset, formed by the remaining 10% of the images.

2.1. Image acquisition The image acquisition was done in an express lane

of toll area during two days. It was necessary to put an analog camera connected to a DAQ board that was installed in a PC. The system trigger signal was generated by an inductive sensor installed on the lane floor. The acquisition was done continuously through that

entire period, generating more than 25.000 images. Not all the images fit the interest of this work, once in some of the following problems occurred: (i) Images with no car; (ii) Car images without license plates; (iii) Images with incomplete license plate; (iv) Images out of focus; (v) Official license plates, buses license plates and

so on – there are lot of types of license plates, but not all of them are from private vehicles (whose characters are black and the background gray), object of our study. Below there is a sample extracted from the database

used in this work:

Figure 2.2: Database sample

187

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 199: III WVC 2007

Those problems, together with the need of knowing the exact position of the license plate and its characters in the image, motivated the constructions of a database described below.

2.3. Database creation With the objective of creating the database, it was

necessary to classify the images as well as register the spatial information of interest. To aid in this task, it was developed a system to register the images [3]. The information of interest for the classification of each image is:

Field Content

File Name Indicates the image file

location License Plate in the

Image Complete, partial, none

License Plate Quality Good, with shadows,

bashed, illegible Bumper Contrast Dark, light License Plate Type Gray, red, others

License Plate Number ASCII string with

license plate characters

Dot (x,y) location of the dot that separates numbers and letters (in pixel)

Characters

Top-left (x,y) and bottom-right (x,y) characters position coordinates (in pixel)

Plate

Top-left (x,y) and bottom-right (x,y) license plate position coordinates (in pixel)

Table 2.1: Registered fields for each image. Until the beginning of this work, 5.000 images had

been registered. Within this group, 1.250 images were classified as Gray, Complete and Good. This work was developed with these 1.250 images, pointing out that 90% of these images (1125) were used as the development set and 10% (125), chosen randomly, were used as the test set of images.

3. Matched Filter Design The work was developed on an off-line set of

images that were previously inserted into the database. The methodology is based on classical signal processing techniques (instead of classical image processing ones) used in sequence. The first stage, the

pre-processing, horizontal frequency filtering, is used to reduce the amount of area that the matched filter (the second stage) will act on. The expected matched filter output is the license

plate region. On these outputs the efficiency studies will be performed.

3.1. Pre-processing The pre-processing goal is to reduce the area that

the matched filter will search for the license plate image. With that approach some benefits are intended to be achieved, such as speeding up the system, once the matched filter will not need to search the entire image, a high computational cost operation, and improving the detection efficiency because noise regions will be eliminated. Instead of classical image processing filters, we

decided to detect the license plate image through its characteristic horizontal frequency [1], what is associated to inter-character spacing, constant in Brazilian license plates, following CONTRAN rules. In order to find out the frequency region that the

characteristic horizontal frequency falls within, some license plate images were analyzed. The figure below illustrates the analysis of a single plate:

Figure 3.1: Characteristic horizontal frequency

analyses in a single license plate. Three lines that pass through all the characters (in

blue, red and gray) were chosen and analyzed. Each pair of graphs represents the Luminance x Pixel function (graph above) and its FFT coefficients (graph below). After concluding the analysis for the set of license

plate chosen, a cumulative graph (the sum of every

188

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 200: III WVC 2007

single FFT coefficient graph) of all the FFT’s coefficient was plotted (figure 3.2).

Figure 3.2: Cumulative graph of all the FFT’s

calculated from the license plates development set. Inspecting the figure above, it is possible to verify

that there is a characteristic horizontal frequency range defined between 0.03 and 0.06. So this range will be used as a pre-processing input to its filter. It is also possible to see that a frequency component around 0.3, introduced by a specific noise from the camera used to acquire the images. However it can be easily filtered and will not interfere in the final result. The pre-processing will search in the image for

regions that have significant horizontal frequency components around 0.03 and 0.06. Only in these regions, the matched filter will act on.

3.2. Matched filter A matched filter is obtained by correlating a known

signal, or template, with an unknown signal to detect the presence of the template in the unknown signal. This is equivalent to convolving the unknown signal with a time-reversed version of the template. The matched filter is the optimal linear filter for maximizing the signal to noise ratio (SNR) in the presence of additive stochastic noise [4]. The matched filters developed in this project are

based on patterns that occur in the vehicle image, such as the license plate, its characters and the dot between the numbers and the letters. It is possible to see the last pattern below:

Figure 3.3: Dot between the numbers and the letters.

In this work, it was considered that the statistical

float among the samples used to build the filter was

small. So that, the patterns were obtained using the process average, according to the formula below:

∑=

=N

iiF NII

1 where: IF = filter

Ii = i-th image (sample) N = total number of samples

This approach was used to reduce the

computational complexity of the algorithm and make the system faster. As a result of this operation, we have the following

filters for each of the 3 patterns:

Figure 3.4: Dot filter.

Figure 3.5: License plate filter.

Figure 3.6: Character filters.

From the figures above it is possible to notice that

the float among the characters samples that were used to build the set of character filters is smaller than the float in the samples used to build the license plate and the dot filters. So now, with the pre-processing parameters and the

matched filters constructed, it is possible to move forward and analyze the entire system. 3.3. The system After presenting the filters used in the project, we

can put them together and show the sequence of techniques used to have the entire locating system.

189

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 201: III WVC 2007

Figure 3.7: Sequence of filter used in the system.

The figure above shows the system in a basic way.

The pre-processing and the matched filter stages have some details that cannot be seen in it. Previously, the details from the pre-processing were presented. Below there are some details about the matched filter.

3.3.1. Energy normalization The process of applying the matched filter consists

of calculating the cross correlation between the signals and the filters, as shown in the formula below:

∑−−

=+=

1

0

*)(mN

nnmnxy yxmR , for n ≥ 0;

According to the formula it is possible to see that

the cross correlation is a sum of products. That is the reason why higher energy signal signals generate correlations with higher energy. If the matched filter is used this way, the higher correlation will be generated by the signal with higher energy. To avoid this kind of problem, it is common

practice to normalize the energy of the signals that will be matched. In our case, the energy will be normalized according to the formula below:

[ ]

MN

jiI

E

N

i

M

j

∗=∑∑= =1 1

2),(

where: the image I has resolution NxM pixels;

EII Norm =

3.3.2. Sliding filter algorithm The matched filter chosen will slide through the

image calculating the highest correlation. It slides horizontally until it reach the end of the line, then it jumps one line below and restarts the process again until it reaches the last line. As this operation has a high computational cost, the pre-processing will limit the area the matched filter will slide on.

4. Results In this section, it will be presented the efficiency

results for each of the three filter proposed. The discussion will start defining how efficiency will be measured for each filter and for the pre-processing, once they are different from each other.

4.1. Efficiency measurement As we have proposed three different types of filters

and a pre-processing technique, their efficiencies will be measured differently. 4.1.1. Pre-processing The pre-processing responsibility is to reduce the

amount of area that the matched filters will search. So, when computing its efficiency, it is considered a correct output whenever the pre-processing reduces the area without excluding the area that contains the license plate. 4.1.2. License plate filter In the database, we have the information about the

position of each character of the license plate, so, for this type of filter, we consider a correct output the region in the image that contains the seven characters, as shown below:

Figure 4.1: Correct output from license plate filter.

4.1.3. Dot filter

190

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 202: III WVC 2007

In the database, the dot that separates the letters from the numbers is defined as a single point, so for this filter, if the output region contains the dot position, it is considered as a correct output. 4.1.4. Character filters In this case, the approach was very similar to the

one used in the license plate filter. If the character filter output was the region around the respective character, we considered it as a correct output.

Figure 4.2: Correct output from two character filter.

For the system efficiency, we considered as a

correct output when all the seven characters of each plate were matched.

4.2. Efficiency The efficiencies were measured on the test subset of

images. This set, as detailed before, was composed by 10% of the database images, that is, 125 images. The table below summarizes the efficiencies. Filter Pre-processing

used System efficiency

License Plate

No 64.4%

License Plate

Yes 81.6%

Dot No 8.2% Dot Yes 40.0% Characters Yes 67.4%

Table 4.1: System efficiencies.

As the system has basically two stages (pre-processing and matched filter), we can take into account the efficiency of each stage when analyzing the system entire efficiency. According to the table 4.1, the best result was

achieved by the license plate filter with pre-processing (81.6%). If in this case we consider each stage efficiency separately, the pre-processing has an efficiency of 84.0% and the matched filter has an efficiency of 97.1%.

5. Conclusions This paper presented an automated system to locate

Brazilian private license plates based on signal processing techniques. This algorithm is just one part of a fully automated license plate recognition system. The pre-processing phase presented was validated,

however improvements should be done in order to increase its efficiency, currently critical in the system. In the matched filter project, the statistical float

among the samples was considered small so the patterns were obtained using the process average. This small stochasticity was not taken into account in order to speed up the system. If it is preferable to gain efficiency than speed, it should be used stochastic filters. Another simplification in the matched filter project

was to consider that the noise was white. So, again, to speed up the system, no noise-whitening technique was used. And finally, for future works, a pos-processing

technique would be worthy to use, so the system could decide by itself if its output is a license plate or not.

6. Acknowledgement We would like to thank INdT (Nokia Technology

Institute), CBPF, Faperj and CNPq (National Counsel of Technological and Scientific Development) for the support of this work.

7. References [1] Leite, B.B., Albuquerque, Marcio Portes de; Albuquerque, Marcelo Portes de; ESQUEF, Israel Andrade. “Localization of Brazilian Vehicles Using Frequency Analysis”, Proceedings of Sibgrapi 2002. IEEE Computer Society, 2002. p. 402. [2] Gesualdi, A. R., Senna, R., Seixas, J. M. de, Calôba, L. P., Albuquerque, M. P. de, “A Neural System for Vehicle License Plates Recognition”, Proceedings of CBA 2000. [3] Albuquerque, Marcelo P., Caner, E.S., Gesualdi, A., Albuquerque, M.P., Leite, B.B., Vasconcelos, C.M., “Image Database of Brazilian Vehicles for Validate License Plate Recognition Systems”, Proceedings of XVII SIBGRAPI, 2004. [4] Turin, George L. "An introduction to matched filters." IRE Transactions on Information Theory 6 (3) (June 1960): 311- 329 [5] Van Trees, H.L., “Detection, Estimation and Modulation, part I, II”, Wiley, 1968.

191

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 203: III WVC 2007

Estudo comparativo de classificadores aplicado a analise de cenas depomares de laranjeiras

Felipe A. CavaniUSP - EESC - SEM

Av. Trabalhador Sao-carlense, 400Sao Carlos, Sao Paulo, Brasil

[email protected]

Mario Luiz TroncoUNESP - IBILCE - DCCER. Cristovao Colombo, 2265

S. J. do R. Preto, Sao Paulo, [email protected]

Arthur Jose Vieira PortoUSP - EESC - [email protected]

Resumo

A analise de imagens agrıcolas exige algoritmos comcapacidade de lidar com cenas nao estruturadas ao arlivre. Algoritmos de segmentacao desenvolvidos parasegmentar cenas naturais juntamente com classificado-res de segmentos viabilizam sistemas de visao compu-tacional onde o algoritmo de segmentacao e distintoda classificacao dos segmentos. Tal fato e exploradoneste trabalho com o proposito de avaliar vetores de ca-racterısticas e diferentes tipos de classificadores de pa-droes. Foram avaliados vetores de caracterısticas deri-vados dos espacos de cores RGB e HSV. Tambem foramavaliados classificadores baseados no teorema de Bayese baseados no perceptron multicamadas. Os classifica-dores bayesianos treinados com os vetores de caracte-rısticas derivados do espaco de cores HSV mostraram-se mais adequados nos experimentos realizados.

1. Introducao

Sistemas de visao computacional (VC), quando usa-dos para analisar imagens provenientes de ambientenao estruturado ao ar livre, necessitam de algoritmosque devem ser robustos com relacao as mudancas deiluminacao, reflexos e sombras. Algoritmos de segmen-tacao adequados para estes tipos de ambientes, junta-mente com tecnicas de classificacao de padroes, possibi-litam a construcao de sistemas de VC adequados paraestes ambientes.

Um sistema de VC onde um algoritmo de segmenta-cao automatico opera de modo independente da classi-

ficacao supervisionada dos segmentos, pode ser consi-derado como de arquitetura modular. Tal arquitetura evantajosa pois atraves desta e possıvel avaliar separa-damente algoritmos de segmentacao, descritores de seg-mentos e classificadores de padroes. O algoritmo de seg-mentacao deve gerar segmentos com fronteiras bem de-finidas, coerentes com os objetos presentes na cena. Osdescritores desempenham nesta arquitetura um papelfundamental, pois estes impactam diretamente na qua-lidade dos resultados obtidos do classificador. Por isto,devem ser escolhidos descritores adequados. Tambem,devem ser consideradas abordagens adequadas para aclassificacao destes descritores.

As vantagens desta arquitetura sao adequadas parasistemas de VC agrıcolas. Tais sistemas tem se mos-trado importantes, pois a area agrıcola tem usado tec-nologias com o proposito de melhorar a competividadeou aumentar a producao. Tais sistemas de VC tem sidousados para: inspecao de produtos, monitoramento daplantacao e colheita automatica [10, 15]. Quando con-siderada a cadeia produtiva de laranjas, a VC tem sidoaplicada para coleta de dados [1, 14] ou para auxi-liar a colheita automatica de frutos [13], dentre outrasaplicacoes.

Neste trabalho, o algoritmo de segmentacaoJSEG [3] e usado, pois este opera de modo nao su-pervisionado, o que possibilita que o conhecimento arespeito do ambiente seja embutido na etapa de clas-sificacao dos segmentos. Posteriormente, os segmentossao classificados com o classificador de Bayes, classi-ficador ingenuo de Bayes e classificador baseado noperceptron multicamadas (PMC) treinado com o al-goritmo iRprop [8]. Os resultados obtidos com osclassificadores, treinados com diferentes tipos de ve-

192

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 204: III WVC 2007

tores de caracterısticas, sao comparados. Por fim,sao feitas consideracoes sobre o uso de tal arquite-tura em aplicacoes reais.

Nas secoes seguintes, este trabalho e detalhado e,por fim, os resultados e conclusoes sao apresentados.

2. Materiais

As imagens das laranjeiras foram adquiridas em di-ferentes dias e horarios durante a epoca em que as fru-tas estavam maduras. A resolucao destas imagens e de2.048×1.536 pixels. Um conjunto de 658 imagens formao banco de imagens, que e dividido em tres grupos: umque mostra as arvores desde o solo ate o topo, outro quemostra apenas folhas e frutos e outro que mostra as fi-leiras de arvores, o solo e o ceu. Estes tres tipos de ima-gens sao ilustradas pela figura 1.

Figura 1. Tipos de imagens usadas neste tra-balho.

Os algoritmos usados neste trabalho foram imple-mentados para o software de computacao numerica Oc-tave. Alguns dos algoritmos foram implementados emC++ como modulos de expansao do Octave. As fun-coes de densidade de probabilidade (fdp) foram estima-das com o algoritmo de Figueiredo-Jain [5] implemen-tado no toolbox desenvolvido por Paalanen et al. [12].Tambem, os classificadores bayesianos sao implementa-dos com este toolbox. Os PMC foram construıdas, trei-nadas e testadas com os modulos para o Octave da bi-blioteca Fann (fast artificial neural network).

3. Caracterısticas dos segmentos

O uso das cores como caracterıstica e bastante co-mum em sistemas agrıcolas de VC, pois estas podem ca-racterizar adequadamente os objetos de interesse, comopor exemplo, as frutas [10, 15, 1, 14].

Neste trabalho, o descritor de cores adotado e o his-tograma. O calculo do histograma das cores, onde saoconsideradas as tres componentes, e muito custoso, poisa quantidade de cores e muito grande, quando as com-ponentes sao representadas por 256 nıveis. Entretanto,e possıvel calcular o histograma de cada componenteseparadamente, o que e computacionalmente simples,

entao, estes histogramas sao unidos em um unico ve-tor de caracterısticas. Este vetor e capaz de representaro segmento de forma adequada, entretanto ele nao re-tem a informacao cromatica.

Os histogramas, neste trabalho, sao formados por256 categorias para cada uma das componentes do es-paco de cores, assim a informacao contida em cadacomponente nao e perdida. Esta abordagem difere daadotada por [9], que define numeros de categorias di-ferentes para cada uma das componentes do espaco decores, o que acaba privilegiando alguma componenteem detrimento das demais.

Os espacos de cores adotados foram o HSV e o RGB:o HSV faz distincao entre a informacao cromatica ea quantidade de luz, o que torna este espaco de co-res mais robusto a situacoes de sombras e reflexos; jao RGB possibilita comparar o desempenho dos classi-ficadores com ambos os tipos de vetores de caracterıs-ticas.

4. Conjuntos de treinamento e de teste

Foram escolhidos segmentos de 40 imagens. Estessegmentos foram classificados manualmente nas clas-ses frutas, ceu e folhas, que representam os principaiselementos da cena. Os vetores de caracterısticas foramcalculados a partir da informacao contida em cada pi-xel do segmento. Entao, estes vetores foram separadosem dois conjuntos. Um conjunto para o treinamentoe outro para teste dos classificadores. O conjunto deteste e composto por 839 vetores selecionados aleatori-amente.

Diferentes conjuntos de treinamento foram criadosa partir da particao do conjunto original. Somente, osvetores mais proximos a centroide da sua classe forammantidos nos novos conjuntos. Foram considerados ve-tores proximos a centroide, os vetores que distam umaporcentagem da distancia euclidiana entre o vetor maisdistante desta classe e a centroide da mesma classe. Asporcentagens usadas sao 20%, 30%, 50%, 70% e 100%.

O numero de vetores em cada classe para cada umdos conjuntos de treinamento e apresentado nas tabe-las 1 e 2 para o caso RGB e HSV, respectivamente.

5. Extracao e normalizacao das caracte-rısticas

A PCA (principal components analysis – analise decomponentes principais) e uma tecnica que faz umatransformacao linear no espaco de caracterıstica demodo a obter-se caracterısticas nao correlacionadas.Tambem, e possıvel com esta tecnica reduzir o numerode dimensoes deste espaco.

193

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 205: III WVC 2007

Conjunto Frutas Folhas Ceu Total

20% 1110 5602 35 6747

30% 1278 5997 117 7392

50% 1349 6283 225 7857

70% 1363 6297 261 7921

100% 1364 6297 275 7936

Tabela 1. Numero de vetores em cada classepara o caso RGB.

Conjunto Frutas Folhas Ceu Total

20% 566 5405 31 6002

30% 1155 6029 89 7273

50% 1331 6277 209 7817

70% 1363 6297 255 7915

100% 1364 6297 275 7936

Tabela 2. Numero de vetores em cada classepara o caso HSV.

Com o objetivo de avaliar a relacao entre quanti-dade de dimensoes e a taxa de classificacoes corretas,esta tecnica foi adotada. Deste modo tambem, evita-sea “maldicao da dimensionalidade”, a qual prejudica di-retamente os classificadores [6].

Neste trabalho, a PCA foi feita em cada um dos con-juntos de treinamento e as matrizes de transformacaoencontradas foram usadas para transformar os conjun-tos de treinamento e de teste.

6. Classificador baseado no perceptronmulticamadas

Classificadores construıdos com redes neurais artifi-ciais (RNA) toleram ruıdos, sao rapidos, devido ao seubaixo custo computacional, e podem aprender super-fıcies de decisao nao-lineares [7]. O perceptron multi-camadas (PMC) e uma das arquiteturas de RNA quepode ser usada como classificador de padroes, entre-tanto, o algoritmo padrao de treinamento, o backpro-pagation, e lento, ou seja, precisa de muitas iteracoespara convergir. O treino do PMC pode ser mais ra-pido com o algoritmo iRprop, um algoritmo adapta-tivo de descida de gradiente que e acurado, robusto erapido [8].

Neste trabalho, cada tipo de vetor de caracterısti-cas e classificado por um PMC com topologia especı-fica, onde o numero de entradas coincide com com o nu-mero de dimensoes dos vetores de caracterısticas. En-tao, sao construıdos PMC para cada conjunto de trei-namento, onde estes PMC suportam vetores de caracte-

rısticas de duas ate 20 dimensoes, o que resulta em 190PMC. Todos os PMC tem 10 neuronios na camada es-condida e tres neuronios na camada de saıda, tal quecada um destes representa uma das classes.

Todos os PMC sao treinados tres vezes. O treina-mento termina quando o erro quadratico medio (EQM)e menor que 0, 0001 ou o numero de iteracoes e maiorque 200.000. Antes de cada treinamento, os vetores saoembaralhados. A funcao de ativacao dos neuronios e atangente hiperbolica, com parametro igual a 0, 9. Ospesos sinapticos sao inicializados com valores aleato-rios. Os demais parametros tem os valores padrao dabiblioteca Fann.

As redes, obtidas apos o treinamento, sao usadaspara classificar os vetores do conjunto de teste. Cadavetor e apresentado para a rede e e atribuıdo para aclasse correspondente ao neuronio de saıda que retornao maior valor. A taxa de acertos de cada classifica-dor e calculada comparando-se os dados obtidos destecom os dados obtidos na classificacao manual dos seg-mentos. Dentre os tres treinamentos de cada uma dasredes, o que apresenta maior taxa de acertos e esco-lhido.

7. Classificador baseado no teorema deBayes

A abordagem estatıstica utiliza o teorema de Bayespara calcular o valor da probabilidade de um determi-nado vetor de caracterısticas pertencer a uma classe.Isto possibilita a atribuicao criteriosa a uma classe,quando a fdp e a probabilidade a priori modelam ade-quadamente o conjunto de treinamento. Caso a fdp e aprobabilidade a priori nao sejam conhecidas, estas de-vem ser estimadas a partir do conjunto de treinamento.

A fdp pode ser obtida atraves de tecnicas parame-tricas ou nao-parametricas. As tecnicas parametricassao utilizadas quando e conhecida a fdp que originouo conjunto de treinamento, mas os parametros destanao sao conhecidos e devem ser estimados. As tecnicasnao-parametricas sao necessarias quando nao existe co-nhecimento suficiente que possa ser utilizado para de-terminar a fdp ou quando a densidade do conjunto detreinamento assume uma funcao nao conhecida, comoe o caso deste trabalho.

As tecnicas nao-parametricas podem ser baseadasem janelas ou em vizinhos mais proximos. Uma das di-ficuldades e encontrar um tamanho de janela adequadopara todo o domınio do conjunto de treinamento. Osmetodos de vizinhos mais proximos nao sofrem desteproblema, entretanto a quantidade de vizinhos tam-bem deve ser determinada manualmente. Os dados aserem avaliados na estimativa de um ponto da fdp po-

194

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 206: III WVC 2007

dem ser suavizados por meio de uma funcao de nucleo,como e o caso da funcao gaussiana, que atribui me-nor peso aos vetores de caracterısticas que estao maisdistantes do centro. Esta ultima tecnica e chamada denao-parametrica de nucleo [4].

Os modelos baseados em misturas finitas sao seme-lhantes aos metodos nao-parametricos de nucleo e saocapazes de representar fdp arbitrarias e complexas [6].Neste caso, a funcao que modela o conjunto de treina-mento e aproximada pela combinacao de um numero fi-nito de funcoes, onde cada uma destas funcoes, ou com-ponentes, e ponderada por um valor, o que da origem amistura. Estes modelos permitem uma abordagem for-mal ao aprendizado nao supervisionado e, consequen-temente, permitem que a escolha do numero de com-ponentes e a validacao do modelo sejam feitas formal-mente, diferente das heurısticas de agrupamento comoo k-medias. As misturas sao semelhantes aos mode-los criados pelos algoritmos de agrupamento, pois cadacomponente da mistura e associado a um sub-conjunto(agrupamento) do conjunto de treinamento, onde estesub-conjunto tem maior probabilidade de ter sido ge-rado por este componente da mistura. A funcao gaus-siana e normalmente escolhida para compor a mistura[5].

Neste trabalho, a fdp e aproximada como uma mis-tura de funcoes gaussianas e assume a forma da equa-cao 1, onde k e o numero de funcoes, αm sao os pe-sos ou probabilidades das funcoes, θm sao os parame-tros da funcao gaussiana, θ ≡ θ1, . . . , θk, α1, . . . , αk,αm ≥ 0 com m = 1, . . . , k e

∑km=1

αm = 1 [5].

p(y|θ) =k∑

m=1

αmp(y|θm) (1)

Determinar a fdp, ou o modelo do conjunto de trei-namento, neste trabalho, esta restrito a escolha do nu-mero de componentes da mistura (k) e a encontrar osparametros destas componentes (θ). Estes parametrospodem ser encontrados analiticamente, mas devido afalta de informacao a respeito dos conjuntos de treina-mento, como medias e matrizes de co-variancias, estaabordagem nao e adequada. Entretanto, o numero decomponentes e os parametros destas podem ser encon-trados atraves de maximum-likelihood (ML) ou atravesda estimativa bayesiana. Na pratica a ML e mais sim-ples e produz resultados tao acurados quanto a estima-tiva bayesiana [11].

O algoritmo padrao para obter a ML e o algo-ritmo de maximizacao da esperanca (EM - expectation-maximization). Entretanto, este algoritmo tem algu-mas deficiencias, como, por exemplo, sensibilidade ainicializacao e a necessidade da escolha do numero de

componentes da mistura, onde este numero leva a sub-adaptacao ou a super-adaptacao. Figueiredo e Jain [5]modificaram o algoritmo EM de forma que o novoalgoritmo fosse capaz de lidar com estes problemas.Este novo algoritmo inicia com um numero arbitrario egrande de componentes, onde as medias destas compo-nentes sao distribuıdas pelo espaco formado pelo con-junto de treinamento. Estas componentes sao elimina-das quando o algoritmo detecta que estas nao sao su-portadas pelo conjunto de treinamento, criando, assim,um novo modelo. Apos o algoritmo atingir um numeromınimo de componentes, e escolhido, dentre todos osmodelos avaliados, o modelo que tem a funcao de ob-jetivo com menor valor [5].

O algoritmo de Figueiredo-Jain foi usado neste tra-balho para estimar as fdp de cada classe a partir dosconjuntos de treinamento. Como e feito para os classifi-cadores baseados no PMC, sao estimadas fdp para cadauma das quantidades de dimensoes, ou seja, de duasate 20 dimensoes, de cada um dos conjuntos de trei-namento, sendo que para cada um destes casos, as fdpsao estimadas tres vezes. Entao, a classificacao do con-junto de teste e feita com a equacao 2, onde i e umaclasse, P (Ci) e a probabilidade da classe Ci ocorrer,p(y|Ci) e fdp condicional da classe i, y e o vetor de ca-racterısticas e K e o numero total de classes [2]. A clas-sificacao que resultar na maior taxa de acerto e esco-lhida e as duas outras sao descartadas. Os parametrosdo algoritmo de Figueiredo-Jain sao os padroes do to-olbox [11].

P (Ci | y) =p(y | Ci)P (Ci)∑K

j=1p(y | Cj)P (Cj)

(2)

8. Classificador ingenuo de Bayes

Este classificador e semelhante ao apresentado ante-riormente, entretanto, neste caso, admite-se que as ca-racterısticas sao independentes. Entao, para cada umadas classes, supondo que a fdp assume a forma da equa-cao 3, onde p(yj | Ci) e a funcao de densidade marginalcondicional, e n e o numero de caracterısticas. Nestecaso, a funcao de densidade marginal condicional foitambem estimada com o algoritmo de Figueiredo-Jain.

p(y | Ci) =

n∏j=1

p(yj | Ci) (3)

Classificadores que adotam a fdp desta forma po-dem lidar com mais caracterısticas, pois cada fdp mar-ginal tera apenas uma dimensao. Apesar da fdp desteclassificador ser distorcida, ela nao prejudica a classifi-cacao, pois a distorcao e menor perto das fronteiras dedecisao [6].

195

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 207: III WVC 2007

O treinamento e a avaliacao deste classificador saofeitos da mesma forma que no classificador baseado noteorema de Bayes.

9. Resultados

Os resultados obtidos apos o treinamento dos va-rios classificadores sao resumidos na tabela 3, onde saoapresentados os melhores classificadores para cada tipode classificador e para cada tipo de vetor de caracterıs-ticas (vetores derivados dos espacos de cores RGB ouHSV). Pode-se observar que os melhores classificadoressao: o baseado no perceptron multicamadas e o base-ado no teorema de Bayes. Entretanto, para o caso baye-siano o classificador obteve tal taxa utilizando menosdimensoes e as fdp foram estimadas de um conjunto detreinamento menor, onde os vetores de tal conjunto es-tao menos dispersos no espaco. Considerando que osvetores mais distantes nao foram removidos dos con-juntos de teste, e possıvel afirmar que o classificadorbayesiano teve melhor capacidade de generalizacao.

Classificador Cores D C Taxa

MLP RGB 18 100% 0, 94MLP HSV 20 50% 0, 95

Bayes RGB 17 70% 0, 94Bayes HSV 17 30% 0, 95

Naive RGB 20 100% 0, 92Naive HSV 10 70% 0, 92

Tabela 3. Taxas de acerto dos melhores classi-ficadores, onde D e o numero de dimensoes eC e o conjunto de treinamento.

Para avaliar o desempenho dos classificadores comrelacao ao numero de dimensoes, sao considerados osvalores medios da taxa de acerto obtidos para os con-juntos de treinamento 50%, 70% e 100%. Os conjun-tos 20% e 30% foram desconsiderados, pois a quan-tidade de vetores da classe ceu e pequena. Devido aisto, nao foi possıvel estimar as fdp com o algoritmo deFigueiredo-Jain para estes casos.

O grafico na figura 2 mostra as taxas medias deacerto para todos os tipos de classificadores, espacosde cores e quantidade de dimensoes. Neste grafico epossıvel observar que os classificadores bayesianos trei-nados com vetores derivados do espaco de cores HSVapresentam as melhores taxas de acerto. Sendo que taltaxa cresce rapidamente ate tres dimensoes e depoiscresce mais lentamente. Tal fato mostra que a disper-

sao dos vetores favorece tal classificador mesmo quandousadas poucas dimensoes.

Tambem no grafico da figura 2, nota-se que os classi-ficadores bayesianos tiveram desempenho superior aosclassificadores ingenuos de Bayes para a maioria dos ca-sos. Isto mostra, que para este caso, a suposicao de in-dependencia entre as caracterısticas nao e adequada.

Para os classificadores baseados no perceptron mul-ticamadas, foi necessario o numero maximo de itera-coes. Os EQM obtidos nos treinamentos ficaram acimado mınimo estipulado. Apesar disto, para o caso HSV,foram obtidas taxas de acerto proximas as obtidas como classificador bayesiano para o mesmo caso. Entre-tanto, as taxas obtidas com o PMC apresentaram com-portamento mais instavel como pode ser observado nografico da figura 2. Como foi utilizada apenas uma to-pologia, nao e possıvel afirmar que o PMC e inade-quado para tal tarefa, pois e necessario avaliar outrastopologias.

Os resultados mostram que para os espacos de co-res adotados, os classificadores apresentam comporta-mento semelhante, pois para o caso HSV as taxas deacerto crescem rapidamente e para o caso RGB estecrescimento e lento. O que mostra que para poucas di-mensoes os vetores do caso HSV favorecem mais os clas-sificadores que para o caso RGB.

A arquitetura adotada beneficiou-se da capaci-dade de segmentacao nao supervisionada do algoritmoJSEG. O conhecimento necessario para identifi-car os principais elementos das cenas foi embutido noclassificador de padroes que foi empregado para classi-ficar os segmentos das imagens e nao os pixels destas,como e feito normalmente nos trabalhos da area agrı-cola. Os resultados mostraram que tal arquitetura eviavel para a tarefa de analise de cenas em poma-res de laranjeiras. Tambem, com tal arquitetura, epossıvel considerar novas aplicacoes, pois esta possibi-lita que novos elementos sejam reconhecidos, quando oclassificador e modificado. Por fim, com o desenvolvi-mento dos algoritmos de segmentacao, tal arquiteturapode ser viabilizada para o uso em aplicacoes com res-tricoes temporais.

10. Conclusoes

Neste trabalho, a analise de cenas de pomares de la-ranjeiras foi feita com uma arquitetura modular, quepossibilitou a comparacao de diferentes classificadoresde padroes e de diferentes tipos de vetores de carac-terısticas. Os classificadores bayesianos treinados comos vetores de caracterısticas derivados do espaco de co-res HSV mostraram-se mais adequados. Tal fato, pos-

196

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 208: III WVC 2007

0.78

0.8

0.82

0.84

0.86

0.88

0.9

0.92

0.94

0.96

2 4 6 8 10 12 14 16 18 20

taxa

de

acer

to

dimensões

RNA - RGBRNA - HSV

Bayes - RGBBayes - HSV

Ingênuo - RGBIngênuo - HSV

Figura 2. Taxas de classificacoes corretas para cada quantidade de dimensoes.

sibilitou o reconhecimento dos principais elementos dospomares de laranjeiras com a arquitetura adotada.

Referencias

[1] P. Annamalai, W. S. Lee, and T. F. Burks. Color vi-sion system for estimating citrus yield in real-time. InProceedings...ASAE/CSAE Annual International Me-eting, ASABE, 2004.

[2] L. da F. Costa and R. M. Cesar Junior. Shapeanalysisand classification - Theory and Practice. CRC PressLLC, Boca Raton, Florida, EUA, 1 edition, 2001.

[3] Y. Deng, B. S. Manjunath, and H. Shin. Color imagesegmentation. In Conference on Com puterVision andPattern Recognition, volume 2, pages 446–451. IEEEComputer Society, jun. 1999.

[4] R. O. Duda and P. E. Hart. Pattern classification andscene analysis. John Wiley & Sons, Inc., New York,EUA, 1 edition, 1973.

[5] M. A. T. Figueiredo and A. K. Jain. Unsupervised le-arning of finite mixture models. IEEE TransactionsonPattern Analysusand M achineIntelligence, 24(3):381–396, 2002.

[6] T. Hastie, R. Tibshirani, and J. Friedman. The ele-m ents of statistical learning. Springer, New York,EUA, 1 edition, 2003.

[7] S. Haykin. Neuralnetworks:a com prehensive fouda-tion. Pretince-Hall, New Jersey, EUA, 2 edition, 1999.

[8] C. Igel and M. Husken. Empirical evaluation of theimproved Rprop learning algorithm. Neurocom puting,50(C):105–123, 2003.

[9] B. S. Manjunath, J. Ohm, V. V. Vasudevan, and A. Ya-mada. Color and texture descriptors. IEEE Transac-tions on Circuits and System s for Video Technology,11(6):703–715, 2001.

[10] J. C. Neto, G. E. Meyer, D. D. Jones, and A. J. Sur-kan. Adaptive image segmentation using a fuzzy neu-ral network and genetic algorithm for weed detection.In Proceedings...ASAE Annual International Meeting,ASABE, jul. 2003.

[11] P. Paalanen, J.-K. Kamarainen, J. Ilonen, and H. Kal-viainen. Feature representation and discriminationbased on gaussian mixture model probability densi-ties – practices and algorithms. Pattern Recognition,39:1346–1358, 2006.

[12] P. Paalanen, J.-K. Kamarainen, J. Ilonen, and H. Kal-viainen. GMMBAYES matlab toolbox, 2007. Dispo-nıvel em: <http://www.it.lut.fi/project/gmmbayes/>.Acesso em: 11 mar. 2007.

[13] A. Plebe and G. Grasso. Localization of spherical fruitsfor robotic harvesting. M achine Vision and Applicati-ons, 13:70–79, 2001.

[14] M. Regunathan and W. S. Lee. Citrus fruit identifica-tion and size determination using machine vision andultrasonic sensors. In Proceedings...ASAE/CSAE An-nual International Meeting, ASABE, 2005.

[15] B. L. Steward, L. F. Tian, D. Nettleton, and L. Tang.Reduced-dimension clustering for vegetation segmen-tation. Transactions ofthe ASAE , 47:609–616, 2004.

197

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 209: III WVC 2007

Inspecionando Placas Montadas de Circuito Impresso com Árvores de Decisão

Luciano Lucindo Chaves Flavius Portella Ribas Martins

IPT – Instituto de Pesquisas Tecnológicas do Estado de São Paulo Av. Prof. Almeida Prado, 532 – Cidade Universitária – Campus do IPT- Prédio 55, Sala 306

CEP 05508-901– São Paulo – SP – Brasil e-mail: [email protected] [email protected]

Abstract

This paper proposes to use decision trees for finding defects on mounted printed circuit boards, using an inductive algorithm and previously classified examples. During a training stage the algorithm learns how to differentiate classes, evaluating dependencies between example’s characteristics (cause) and its respectives classes (effect). The result is a classifier that can be used to evaluate new examples whose classes are unknown. Experiments were carried using a set of mounted printed circuit board images, composed of subsets previously classified as “without defect” and “with defect”. On average, the generated classifiers had 86,7% of success rate.

Keywords: decision trees, inductive algorithm, machine learning, computer vision.

1. Introdução

As atividades1de inspeção visual realizadas por inspetores humanos apresentam acentuado decaimento temporal de eficiência. Conforme apontado por Moganti et al. [1] e Hilton et al. [2], erros de identificação da ordem de 50% são bastante freqüentes em ambientes industriais de inspeção visual. Além do interesse de aumentar a confiabilidade na inspeção, há também o aspecto de redução de custo e maior agilidade na execução de tarefas. Para tanto, processos de inspeção visual automática, inclusive utilizando-se técnicas de inteligência artificial, têm sido aplicados nos mais variados setores da indústria [2] [3] [4].

Artigo enviado em 28/07/2007. Agradecemos à FINEP o auxílio recebido para execução deste projeto (Sistema Computacional Embarcado para Inspeção Visual Automática de Placas de Circuito Impresso - convênio 01.05.0773.00 Ref: 1587/05). Luciano L. Chaves é discente do curso de Mestrado Profissional em Engenharia da Computação do IPT, e consultor senior em projetos de software (fone: 11 3767-4624). Dr. Flavius P. R. Martins é pesquisador do Laboratório de Eletricidade e Óptica do IPT e docente do mesmo Instituto (fone: 11 3767-4510).

Especificamente neste trabalho, abordou-se o problema da identificação de defeitos em placas de circuito impresso montadas - aquelas em cuja superfície existem variados tipos de componentes eletrônicos. Apesar de existirem sistemas comerciais de visão computacional que resolvem grande parte dos problemas de inspeção visual automática de placas de circuito impresso, os mesmos representam custo excessivo para a maioria das empresas de pequeno e médio porte. Além disso, os detalhes técnicos dessas soluções obviamente são mantidos como segredos industriais, sendo impossível utilizar tal conhecimento para o desenvolvimento de soluções abertas e de baixo custo [5]. Portanto, a principal motivação deste trabalho é contribuir para a construção de uma ferramenta de inspeção visual automática que possa ser utilizada pela indústria de placas de circuito impresso de pequeno e médio porte.

Como parte de uma solução de inspeção automática de placas de circuito impresso montadas, este trabalho propõe a utilização de árvores de decisão, associada à técnicas de processamento de imagens, a fim de se identificar defeitos em placas, classificando-as em duas categorias: “sem defeito” e “com defeito”.

2. Inspeção de placas montadas

As técnicas de inspeção automática de placas de circuito impresso podem ser divididas em duas classes: métodos “elétricos com contato” e “não elétricos e sem contato”.

Embora diversos defeitos possam ser detectados pelos métodos elétricos, estes não são suficientes para impedir que produtos defeituosos passem despercebidos durante o processo de controle de qualidade; em particular defeitos relacionados a espessura de trilhas e excesso de solda, que podem causar falhas na placa, não são detectados por essa categoria de métodos. Aliam-se a isso a dificuldade e o alto custo para se implementar esses testes [1].

2.1. Inspeção visual automática

A inspeção baseada no método “não elétrico e sem contato” é realizada através da captura e análise de

198

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 210: III WVC 2007

imagens e se utiliza, basicamente, dos seguintes elementos [1]: a) dispositivo optoeletrônico para formação de imagens (tipicamente, uma câmera CCD), b) hardware de aquisição de imagens, c) fontes de iluminação e d) algoritmos de visão computacional para emular as funções de avaliação.

Os algoritmos de visão computacional implementam os processos responsáveis pela avaliação da imagem que permitem verificar se a placa de circuito impresso está montada de acordo com as especificações de projeto.

Com relação às placas montadas, os problemas encontrados podem ser divididos nas seguintes categorias: defeitos de componentes ou placas, defeitos de inserção e defeitos nas terminações. Dentre os problemas mais comuns de inserção de componentes destacam-se: ausência, inversão ou desalinhamento de componentes e imperfeições na soldagem.

Conforme se pode observar na figura 1, imagens de placas montadas contêm uma grande variedade de padrões menos regulares que os apresentados pelas placas nuas (sem componentes) – o que torna o seu processo de inspeção visual automática bastante complexo.

Figura 1 - Defeitos típicos de placas de circuito impresso montadas: a) Inversão b) Desalinhamento c) Ausência [5]

2.2. Trabalhos relacionados

A inspeção de uma placa montada é realizada em duas etapas: inspeção de componentes e inspeção de solda [2]. Em cada uma dessas etapas, a inspeção pode ser realizada utilizando-se imagens 2D, capturadas por câmeras ou scanners, ou 3D, utilizando-se luz estruturada ou iluminação com ângulo de incidência controlado [5].

A inspeção de componentes utilizando imagens 2D (foco deste trabalho), é normalmente realizada aplicando-se um conjunto de algoritmos de processamento e análise de imagens que procuram identificar os defeitos da placa a partir de comparações com uma imagem-referência.

A técnica mais elementar – image subtraction – para se identificar diferenças entre imagens, consiste em se confrontar a imagem avaliada com uma imagem-referência, pixel a pixel, gerando-se como resultado a diferença entre as duas imagens; a presença de artefatos de dimensões apreciáveis na imagem-diferença seriam indícios de defeitos. Uma outra maneira também relativamente simples de se identificar eventuais discrepâncias entre a imagem referência e a imagem avaliada consiste em se aplicar a técnica de template matching [6], mediante a qual se compara a imagem em avaliação com um número maior de templates, o que proporciona alguma tolerância a ruído. Esse método, no entanto, vem a falhar quando existem pequenas variações causadas por diferenças de iluminação, desalinhamento dos componentes e outros ruídos. Outra limitação desta última técnica reside na necessidade de se utilizar uma grande quantidade de imagens-referência, o que torna o processo dispendioso em relação ao esforço computacional. Em complemento às técnicas citadas, operações de morfologia matemática [7] podem ser aplicadas para eliminar pequenas variações que poderiam ser apontadas erroneamente como defeitos, e, também, a fim de realizar operações de medição e de inspeção de tolerância [8] [9].

Por causa das limitações inerentes às técnicas de comparação pixel a pixel, têm se desenvolvido métodos que procuram extrair informações de mais alto nível da imagem. Neste caso não são extraídos diretamente valores de tons de cinza dos pixels da imagem, mas sim dados estatísticos desses valores [10] [11]. Nessa abordagem, há uma forte tolerância a ruídos, possibilitando que se trabalhe com considerável variação de luminosidade na aquisição das imagens.

Cootes et al. [10], por exemplo, verificam a presença de determinado componente em uma imagem, e se tal componente se encontra dentro de certa tolerância em relação à posição e orientação ideais. Para tanto, calculam estatísticas relacionadas aos tons de cinza de imagens-referência, as quais são posteriormente confrontados com as estatísticas extraídas da imagem a ser inspecionada. Esses autores concluem que o método aplicado apresenta maior robustez que os métodos clássicos de comparação pixel a pixel (mesmo que estes considerem margens de tolerância), por permitir uma considerável variação nos tons de cinza entre a imagem-referência e as imagens posteriormente avaliadas.

Abordagens utilizando técnicas de inteligência artificial também têm sido aplicadas na inspeção visual de placas de circuito impresso. Mashohor, Evans & Arslan [12] [13] inspecionam placas montadas utilizando algoritmos genéticos para a identificação dos parâmetros da transformação-afim que promove o alinhamento ótimo das imagens referência e teste, após o quê um simples

199

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 211: III WVC 2007

método de comparação de imagens pixel a pixel é aplicado para a detecção de defeitos.

Embora caiba destacar o trabalho de Piccard et al. [14], que mostra a viabilidade de se utilizar aprendizado de máquina na inspeção visual de componentes industriais, os autores do presente artigo não encontraram na literatura aplicações de métodos indutivos à síntese de algoritmos de inspeção visual automática de placas de circuito impresso.

3. Aprendizado de máquina

Aprendizado de máquina, no contexto da Inteligência Artificial, é a disciplina que estuda e desenvolve métodos computacionais que têm a capacidade de aprimorar o seu desempenho dinamicamente, à medida que são aplicados a massas de dados sucessivamente maiores; assim, emula-se a habilidade humana de aquisição de perícia por meio da experiência.

Há duas categorias de métodos de aprendizado de máquina: supervisionado e não-supervisionado. Neste último, os algoritmos analisam exemplos não classificados, de modo a identificar diferenças entre os mesmos que possibilitem separá-los em agrupamentos diversos, os quais são posteriormente analisados para se identificar os seus significados no contexto do problema [15]. No aprendizado supervisionado existe um arcabouço para se permitir que o sistema aprenda através de exemplos previamente classificados. Um exemplo – também chamado de caso, registro ou dado – é o objeto de estudo a ser classificado, e pode ser descrito por uma tupla (vetor) de valores de atributos. Por sua vez, os atributos são características de um exemplo. Uma determinada combinação de atributos leva o exemplo a pertencer a uma determinada classe, que é simplesmente um atributo especial do exemplo.

3.1. O processo de aprendizagem

No caso do objeto de estudo deste artigo, uma placa de circuito impresso montada pode pertencer a uma de duas classes: “sem defeito” ou “com defeito”. Efetuando-se uma avaliação das características (atributos) de uma determinada placa “com defeito”, é possível identificar quais dessas são mais comumente encontradas nesta classe do que na classe “sem defeito” e, assim, postular a hipótese de que quando o exemplo tem determinadas características (c1, c2,...,cn) deve, possivelmente, pertencer à classe Cp , onde Cp ∈ “sem defeito”, “com defeito”.

Inferências como a apontada acima podem ser realizadas mediante estudo acurado dos exemplos previamente classificados de modo a se estabelecer relações entre causas (características) e efeitos (classes), processo esse que caracteriza o método indutivo de

resolução de problemas, ou seja, obtenção de leis gerais a partir de casos particulares.

Para implementar esse método de forma automática, utilizou-se, neste trabalho, algoritmos indutores, os quais analisam um conjunto de exemplos abrangendo placas “com defeito” e placas “sem defeito”, avaliam as características das mesmas e inferem as relações de causa-efeito. O resultado da aprendizagem do indutor é chamado de classificador – ou hipótese -, que consiste, em linhas gerais, de um conjunto de regras que serão utilizadas na previsão das classes de novos exemplos.

No processo de aprendizagem comumente se utilizam dois conjuntos de exemplos. O primeiro, chamado de conjunto de treinamento, é utilizado para treinar o algoritmo indutor, gerando, como resultado, o classificador. O segundo, chamado de conjunto de execução, é composto de exemplos que serão utilizados para verificar se o classificador atingiu um bom grau de generalização. Assim, aplica-se o classificador nos exemplos do conjunto de execução, para se avaliar seu grau de confiabilidade e sua taxa de erro. Em suma, o conjunto de execução é utilizado para se avaliar a habilidade do classificador em rotular corretamente outros exemplos que não tenham sido pré-classificados.

Para que se obtenha um classificador confiável, além de uma baixa porcentagem de erro, é necessário garantir que os conjuntos de treinamento e execução contenham exemplos que sejam realmente representativos, ou seja, que apresentem as características e classes que serão encontradas nos exemplos a serem avaliados no futuro.

3.2. Indução de árvores de decisão

Uma árvore de decisão é composta por nós e ramos. O nó inicial é a raiz, de onde partem ramificações que podem conter outros nós; cada nó representa uma decisão, com exceção do último nó, que faz referência à classe à qual o exemplo pertence. A indução de árvores de decisão é o processo pelo qual o algoritmo indutor constrói a árvore de decisão a partir dos dados do conjunto de treinamento - ou seja, o classificador assume a forma de uma árvore. As regras geradas pela árvore de decisão são então aplicadas ao conjunto de execução (ver figura 2).

Figura 2 – Processo de indução de árvores de decisão

Conjunto de Treinamento

Algoritmo Indutor

Árvore de Decisão(classificador)

Conjunto de Execução

200

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 212: III WVC 2007

Algoritmos de indução de árvores de decisão são da família TDIDT (Top-Down Indution of Decision Trees), os quais utilizam a estratégia dividir-e-conquistar,particionando um problema em sub-problemas menores. Para tanto, são executados os seguintes passos:

1. Seleciona-se um atributo como sendo o nó da raiz; os valores dos atributos constituem as ramificações que partem deste nó.

2. Para cada subconjunto de exemplos dos ramos o processo é repetido enquanto houver exemplos de diferentes classes.

3. Se o subconjunto tiver apenas exemplos de uma mesma classe, ao invés de se gerar nova ramificação cria-se um nó indicando a classe do subconjunto.

4. Inspeção com árvores de decisão

Conforme já exposto, a comparação direta, pixel a pixel, entre imagem-referência e imagem-teste apresenta muitas limitações, principalmente no caso de inspeção de placas de circuito impresso montadas. Entretanto, essas dificuldades podem ser minoradas se a comparação for realizada entre os vetores de características das imagens de referência e de teste, para o quê é necessário que se identifiquem os atributos das imagens que sejam efetivamente úteis para distinguir placas defeituosas das placas sem defeito.

Durante essa análise visual das imagens-exemplo, que, necessariamente, deve ser realizada pelo especialista humano, são identificados filtros e algoritmos de processamento de imagens passíveis de destacar as características discriminativas das imagens, e assim, promover a construção de vetores característicos representativos das classes. Algoritmos de suavização, detecção de bordas, de limiarização, entre outros, são aplicados, de forma encadeada, com o propósito de gerar características marcantes das duas classes de imagens consideradas.

Na figura 3, por exemplo, é possível notar que a aplicação do operador de limiarização fez com que os componentes montados na placa fossem destacados; em contrapartida, os artefatos específicos do circuito impresso - orifícios e trilhas - foram eliminados.

Figura 3 – Imagens-exemplo: original e limiarizada

4.1. Metodologia aplicada

Para a realização dos experimentos, foram desenvolvidas duas ferramentas para automatização do treinamento dos algoritmos indutivos. A primeira, denominada Conversor, implementada com recursos da ferramenta Visual Prolog V. 5.2 [16], foi construída para se aplicar às imagens variados filtros espaciais e algoritmos de processamento de imagens de interesse para o problema, tais como: limiarização e conversão de tipo de imagem (de

colorida para monocromática); filtros de suavização: Média, Mediana e

Gaussiano; detectores de borda: Sobel, Prewit, Laplaciano; filtros diversos: Passa Alta, Máximo, Mínimo,

Máximo-Mínimo, Mosaico.O Conversor também permite que se defina um

arquivo com instruções a serem processadas em lote, tornando possível aplicar-se uma seqüência de operações encadeadas sobre uma imagem, utilizando-se diferentes processos de conversão e aplicação de filtros. Com este recurso pode-se atenuar ou destacar determinadas características das imagens, conforme a necessidade.

A segunda ferramenta, denominada Extrator,implementada na linguagem Delphi [17], foi dotada de algoritmos dedicados à extração de características das imagens previamente processadas dos conjuntos de treinamento e execução. As características geradas pelo Extrator foram então submetidas à ferramenta MLC++ [18], que consiste de um conjunto de programas que implementam diversos algoritmos de aprendizado de máquina, mediante os quais são gerados os classificadores.

Em linhas gerais, adotou-se o procedimento abaixo para a realização dos experimentos (vide figura 4):

a. Obteve-se um conjunto de imagens-exemplo monocromáticas de sub-regiões de placas montadas, parte dos quais compostos por imagens previamente classificadas nas categorias “com defeito” e “sem defeito”;

b. Aplicando-se ao conjunto de imagens-exemplo uma cadeia de algoritmos de processamento de imagens implementados na ferramenta “Conversor”, foram geradas versões limiarizadas das mesmas.

c. Elegeram-se algumas características dessas últimas imagens que visualmente pareciam distinguir as imagens das placas “com defeito” daquelas “sem defeito” (vide próxima subseção);

d. Aplicando-se a ferramenta “Extrator”, foram extraídas as características eleitas, onde, para cada imagem-exemplo e sua respectiva imagem limiarizada, gerou-se um vetor de características composto de atributos vetoriais e escalares. Esses vetores foram gravados em

201

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 213: III WVC 2007

arquivo texto, cada qual ocupando um registro (linha) no mesmo. Os registros deste arquivo foram divididos em dois subconjuntos: S1, com registros para composição do conjunto de treinamento, e S2, com registros separados para compor o conjunto de execução;

e. Utilizando-se a ferramenta MLC++, aplicaram-se ao subconjunto de registros S1 os algoritmos de aprendizado de máquina ID3 [19] e MC4 [18] (variante do algoritmo C4.5 [20]), gerando-se assim, os classificadores correspondentes. É importante aqui observar que cada um destes algoritmos procurou, de acordo com seus próprios critérios, identificar quais características eram relevantes para o processo de classificação, razão pela qual as árvores de decisão induzidas pelos mesmos apresentaram diferentes topologias e características;

f. Na seqüência, o subconjunto de registros S2 foi submetido aos classificadores gerados no passo “e”, de forma a avaliar a taxa de acerto de cada algoritmo;

g. Os resultados dos algoritmos foram, então, apresentados e comparados;

Figura 4 – Etapas da realização dos experimentos

4.2. Características extraídas

Após a análise visual de uma grande variedade de imagens geradas pelos algoritmos implementados na ferramenta “Conversor”, implementaram-se na ferramenta “Extrator” alguns algoritmos para o cálculo de 20 propriedades características de imagens monocromáticas e binárias, a saber: Das imagens monocromáticas (255 tons de cinza)

pré-processadas: Histograma de tons de cinza, agrupando-

se os tons em dez faixas uniformes; Das imagens limiarizadas:

Quantidade de ocorrências de três pixelsbrancos em seqüência: na horizontal, na vertical, na diagonal à direita e na diagonal à esquerda;

Quantidade total de pixels brancos e de pixels pretos;

Das imagens de bordas limiarizadas: Total de bordas a 0 graus, de 90 graus, de

180 graus e 270 graus.

4.2. Resultados experimentais

Para a realização dos experimentos foram utilizadas 170 imagens-exemplo de sub-regiões de placas montadas de circuito impresso - 85 delas separadas para compor o conjunto de imagens de placas sem defeito e 85 para compor o conjunto de placas com defeito. Nas imagens de placas sem defeito foram adicionados ruídos artificiais, como: salt and pepper noise, variações uniformes nos níveis de luminância e pequenos deslocamentos verticais ou horizontais. As imagens de placas com defeito foram geradas de forma artificial, criando-se, por meio de edição, exemplos para ‘ausência de componente’, ‘presença de componente indesejado’ e ‘componente com tamanho diferente do requerido’; a essas imagens geradas artificialmente também foram acrescentados os mesmos tipos de ruídos impostos às imagens de placas sem defeito.

Foram realizados 44 experimentos utilizando-se as características extraídas das imagens-exemplo. Cada experimento utilizou um conjunto diferente de características, entre todas as extraídas, e/ou, além disso, variou-se a composição dos conjuntos de treinamento e execução e o algoritmo indutor utilizado. A tabela 1 apresenta um resumo geral dos resultados, indicando que o algoritmo ID3 obteve os melhores resultados na média geral da taxa de acerto e na melhor taxa de acerto obtida.

Tabela 1 – Resumo geral dos experimentos

Indicador Algoritmo ID3

Algoritmo MC4

Média geral da taxa de acerto 88,1% 85,3% Pior taxa de acerto 80% 80% Melhor taxa de acerto 100% 95%

É interessante apontar que no experimento que obteve a melhor taxa de acerto, para ambos os algoritmos testados, haviam sido consideradas apenas as características extraídas das imagens limiarizadas.

Tabela 2 – Quantidade de experimentes por faixa de taxa de acerto obtida

202

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 214: III WVC 2007

Quantidade de experimentos

Faixa de taxa de acerto Algoritmo ID3 Algoritmo MC4

80 – 84,9% 7 12 85 – 89,9% 5 4 90 – 94,9% 5 3 95 – 99,9% 3 3

100% 2 0

Conforme se pode observar na tabela 2, o algoritmo ID3 confirma o melhor desempenho, apresentando taxas de acerto maiores que 90% em quase 50% dos experimentos; comparativamente, o algoritmo MC4 alcançou taxas de acerto inferiores a 90% em 70% dos experimentos.

5. Conclusões e trabalhos futuros

Os resultados experimentais demonstram que é viável utilizar algoritmos indutores de árvores de decisão para inspecionar placas de circuito impresso montadas. Mesmo com considerável nível de ruído nas imagens-exemplo, os classificadores obtiveram, no mínimo, 80% de acerto e média geral de 86,7%; além disso, o melhor classificador classificou corretamente 100% dos exemplos do conjunto de execução.

Cabe destacar que os melhores classificadores foram obtidos quando se utilizaram apenas características extraídas das imagens limiarizadas. Isso se deve, possivelmente, ao fato de as imagens monocromáticas apresentarem grande variância nos tons de cinza, o que torna o seu histograma de tons de cinza uma característica de menor potencial discriminativo.

A maior vantagem do método proposto, frente a outras técnicas, consiste na utilização de características simples da imagem, cuja extração é realizada com pequeno esforço computacional, e na possibilidade de se operar com considerável nível de ruído.

Futuramente, pretende-se estender o escopo deste trabalho a fim de que os algoritmos indutivos gerem árvores de decisão capazes de classificar as imagens de placas de acordo com o tipo de defeito encontrado.

6. Referências

[1] E. Moganti et al., “Automatic PCB inspection algorithms: a survey”. Computer Vision and Image Understanding, Vol. 63, No. 2, 1996, pp. 287-313. [2] A. Hilton et al., “Automatic Inspection of Loaded PCB’s Using 3D Range Data”. In: Proc. SPIE Machine Vision Applications in Industrial Inspection II, Vol. 2183, 1994, pp. 226-237. [3] D. Unay and B. Gosselin, “Apple Defect Detection and Quality Classification with MLP-Neural Networks”. In: Proc. of PRORISC 2002, Veldhoven, Netherlands, November, 2002.

[4] Z. Zhou and Y. Ziang, “Medical diagnosis with C4.5 rule preceded by artificial neural network ensemble”. IEEE Transactions on Information Technology in Biomedicine, 7(1), 2003, pp. 37-42. [5] Instituto de Pesquisas Tecnológicas de Estado de São Paulo – IPT, “Sistema Computacional Embarcado de Inspeção Visual Automática de Placas de Circuito Impresso: Anteprojeto e Resultados Iniciais”. Relatório Técnico 93677-205, São Paulo, 2007. [6] D. H. Ballard and C. M. Brown, Computer Vision. Prentice Hall, chapter 3, 1982. [7] J. Serra, “Image Analysis and Mathematical Morphology”. Academic Press, London, 1982. [8] A. M. Darwish and A. Jain, “A Rule Based Approach for Visual Pattern Inspection”. IEEE Transactions on Pattern Analysis and Machine Intelligence, vol 10(1), 1988, pp.56-68. [9] M.H. Tatibana and R. de A. Lotufo, “Novel automatic PCB inspection technique based on connectivity”. In: Proc. of X Brazilian Symposium on Computer Graphics and Image Processing (SIBGRAPI), 1997, pp. 187-194. [10] T. Cootes et al., “Statistical Grey-Level Models for Object Location and Identification”. In: 6 th British Machine Vison Conference, Birmingham: BMVA Press, England, Sept. 1995, pp. 533-542. [11] E. K. Teoh and D. P. Mital, “A Transputer-based Automated Visual Inspection System for Electronic Devices and PCBs”. Optics and Lasers in Engineering, vol. 22, 1995, pp. 161-180. [12] S. Mashohor, J.R. Evans and T. Arslan, “Genetic Algorithm Based Printed Circuit Board Inspection System”. In: IEEE International Symposium on Consumer Electronics, Reading, UK , September, 2004, pp. 519-522. [13] S. Mashohor, J.R. Evans and T. Arslan, “Elitist Selection Schemes for Genetic Algorithm based Printed Circuit Board Inspection System”. In IEEE Congress on Evolutionary Computation, Vol. 2, Sept. 2005, pp. 974-978. [14] M. Piccard et al., “Exploiting Symbolic Learning in Visual Inspection”. Lecture Notes in Computer Science, vol.1280, 1997, pp.223-235. [15] M. C. Monard e J. A. Baranauskas, “Indução de Regras de Árvores de Decisão”. In: Solange de Oliveira Rezende (ed.): Sistemas Inteligentes: Fundamentos e Aplicações, São Paulo: Editora Manole, 2003, pp.115-139. [16]Visual Prolog “Visual Prolog: Products, Compiler, Donwload Free Personal Edition”, Prolog Development Center A/S, 2007. Disponível em <http://www.visual-prolog.com/>. Acesso em 23 de Julho de 2007. [17] Delphi, CodeGear from Borland, 2007. Disponível em <http://www.codegear.com/br/products/delphi/>. Acesso em 23 de Julho de 2007. [18] R. Kohavi, D. Sommerfield and J. Dougherty, “Data Mining using MLC++ - A Machine Learning Library in C++”, Tools With AI, 1996, pp. 234-245. [19] J. R. Quinlan, “Induction of decision trees”. Machine Learning, vol. 1, 1986, pp. 81-106. [20] J. R. Quinlan, C4.5: Programs For Machine Learning. San Francisco: Morgan Kaufmann, 1993.

203

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 215: III WVC 2007

Usando MLP para filtrar imagens

Thiago Richter, Ediel Wiezel da Silva, e Adilson Gonzaga Departamento de Engenharia Elétrica, Universidade de São Paulo, Brasil

[email protected], [email protected], [email protected]

Resumo

Este trabalho tem como objetivo estudar arquiteturas e topologias de redes neurais artificiais que possam ser usadas como filtros de imagens contendo ruídos. Serão realizados e apresentados testes usando diversas topologias, assim como a metodologia empregada será apresentada.

1. Introdução

O objetivo deste trabalho visa estudar arquiteturas e topologias de redes neurais artificiais que possam ser usadas como filtros em imagens contendo ruídos, sendo a redução de ruídos necessária em casos como o de segmentação de imagens. Abaixo apresentam-se breves conceitos relacionados a imagens ruidosas, de filtros espaciais e redes neurais.

1.1. Ruídos em imagens

Ruídos em imagens são padrões aleatórios de pontos que superpostos à imagem como resultado de qualquer interferência, tanto na transmissão como na captura da informação, degradando a imagem e dificultando processamentos digitais de imagens, incluindo-se principalmente segmentação de imagens. Ruídos sempre estarão presentes em qualquer equipamento eletrônico, em maior ou menor grau.

A capacidade de simular o funcionamento e efeitos do ruído numa imagem torna-se importante para estudar restaurações de imagens, incluindo-se os filtros, visto que é possível comparar a imagem original com a imagem restaurada através do uso da imagem com ruído[1]. Dentre os diversos tipos de ruídos aplicados a imagens, destacam-se os ruídos Gaussiano, Poisson, Salt-and-Pepper e Speckle.

1.2. Filtros espaciais

Filtros espaciais são os filtros mais utilizados atualmente em processamento de imagens digitais e consistem basicamente em definir um ponto central (x, y);

executar operações envolvendo uma região de pixels(vizinhos) definidos a partir deste ponto central com valores pré-definidos em um template (máscara), sendo esta vizinhança do mesmo tamanho que o template; um novo valor do ponto central é atribuído através do resultado desta operação; e este processo é repetido para todos os pontos da imagem [1]. Podem-se separar os filtros espaciais em dois grupos, filtros espaciais lineares, se as operações realizadas no processo forem lineares e filtros espaciais não-lineares se estas operações não forem lineares.

Dentre os filtros espaciais lineares, destacam-se os filtros laplacianos e gaussianos e dentre os filtros não lineares pode-se destacar o filtro da mediana. Filtros derivativos como Sobel e Prewit são utilizados principalmente para detectar bordas, assim como os filtros de Canny e Laplaciano da Gaussiana (LoG).

Dois exemplos de templates usados em filtros espaciais são apresentados na figura (Fig. 1) abaixo:

(a)

⎥⎥⎥

⎢⎢⎢

−−−

010

141

010

(b) ⎥⎦

⎤⎢⎣

−10

01⎥⎦

⎤⎢⎣

− 01

10

Figura 1. Templates (a) Laplaciano, (b) Roberts.

1.3. Redes Neurais Artificiais

Redes Neurais Artificiais (RNA) são modelos computacionais inspirados no cérebro humano e que possuem a capacidade de aquisição e manutenção da informação. As RNA podem também ser definidas como um conjunto de unidades de processamento (neurônios) que são interligados por um grande número de sinapses [2]. Na Fig. 2 é apresentado o modelo geral do neurônio artificial de McCulloch, onde x são as entradas da RNA, w

são seus pesos, θ é o limiar de ativação, f é a função de ativação e y a saída da rede.

Tem como características a capacidade de adaptar ou aprender, inclusive aprender através de exemplos, capacidade de generalizar, agrupar ou organizar dados, auto-organizar, tolerar falhas e de não necessitar da modelagem matemática do processo. Suas principais áreas de aplicação são [2], [3]: reconhecimento de padrões, aproximação de funções, previsão/estimação, otimização

204

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 216: III WVC 2007

de funções, categorização/clustering, memórias associativas e controle de sistemas.

Figura 2. Modelo geral de neurônio artificial.

Diversas são as topologias usadas em RNA, dentre elas destaca-se a topologia Perceptron Multicamadas (MLP – Multllayer Perceptron). A MLP possui arquitetura feedforward e são constituídas de uma camada de entrada (Xn), uma ou mais camadas neurais escondidas (CNE), uma camada neural de saída (CS) e a saída (Y), conforme apresentado na figura abaixo (Fig. 3) [3].Diversas são as aplicações da MLP: aproximador universal de funções, classificadores e processamento de dados, incluindo filtros [4], [5], entre outras aplicações. Várias topologias têm sido utilizadas objetivando redução de ruídos, conforme pode ser visto em [6], [7], e [8].

Figura 3. Modelo de arquitetura de uma rede MLP.

2. Metodologia

O presente trabalho utilizará a arquitetura Perceptron Multicamadas para realizar filtragens nas imagens com ruídos. Para o treinamento a rede terá como entrada valores contidos em um template utilizando a imagem com ruído e como saída desejada será utilizado o valor do ponto central do template referente à imagem original da Lena (Fig. 3). Os testes serão realizados utilizando um template com valores da imagem ruidosa e deverá apresentar como saída o ponto central do template.

Figura 4. Lena.

Diversas topologias serão estudadas, diversos tamanhos de template e treinamentos serão analisados. E serão utilizados 4 tipos de ruídos: Gaussiano, Poisson, Salt-&-Pepper e Speckle (SP). Como resultados serão indicados as melhores topologias, incluindo treinamentos realizados com todos os ruídos e segmentados.

3. Desenvolvimento

A seguir serão apresentados os diversos passos utilizados para o desenvolvimento do projeto, elaborado com o programa MATLAB versão 7 SP3.

Constitui-se como primeira etapa definir o número de treinos realizados em cada treinamento, a precisão utilizada, a taxa de aprendizagem e o número de neurônios utilizados na camada neural escondida (CNE), sendo que as três últimas variáveis foram alteradas para se obter mais possibilidades de melhoria, abaixo são apresentados os valores utilizados nestas três variáveis.

N° treinos [5] N° neur. CNE [3; 4; 5; 7; 10; 15; 20; 25; 30] Precisão [10^-5; 10^-6] Taxa Apr. [0,1; 0,01]

Tabela 1. Valores das Variáveis.

Extrair os dados das imagens e gerar o arquivo contendo as entradas e a saída desejada da rede deve ser a próxima etapa a ser realizada. A extração dos dados inspirou-se na metodologia de filtros espaciais, utilizando-se templates. Inicialmente empregou-se templates de 3x3 pixels e posteriormente 5x5, da mesma forma utilizou-se inicialmente imagens de 75x75 pixels e posteriormente 100x100, sendo adotado como padrão o template de 5x5 e imagens com 100x100 pixels.

Figura 5. Exemplos de templates.

Duas foram as abordagens para extração dos dados, visando comparar os resultados entre as abordagens. A primeira abordagem consiste em utilizar toda a imagem para treinar e testar e a segunda abordagem consiste em segmentar a imagem em 16 partes iguais (conforme imagem ilustrativa – Fig. 6), treiná-las e testá-las individualmente e ao término agrupar os segmentos em uma única imagem.

205

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 217: III WVC 2007

Figura 6. Segmentação da imagem.

Após a extração dos dados de todas as imagens, faz-se necessário treinar a rede. Utilizou-se para o treinamento cinco imagens ruidosas, sendo duas imagens com o ruído Salt-&-Pepper, com densidade de ruído 0,1 e 0,01; uma imagem utilizando-se ruído Gaussiano com média zero e variância de 0,01; uma imagem com ruído Speckle, utilizando-se a equação J = I+n*I, onde J é a imagem resultante, I a imagem original e n é o ruído aleatório com média 0 e variância 0,04 distribuído uniformemente e na última imagem foi utilizado o ruído Poisson.

Obtendo-se os dados e as variáveis, foi possível realizar 180 treinamentos para as imagens inteiras e 2880 treinamentos utilizando imagens segmentadas, não considerando neste número a quantidade de treinos que cada treinamento contém.

Abaixo são apresentadas as cinco imagens com ruídos.

Figura 6. Imagens com Ruídos. (a) Gaussiano; (b) Poisson; (c) SP 0,01 (d) SP 0,1 (e) Speckle.

Para todos os treinamentos realizados obteve-se a média dos erros de suas saídas (diferença entre o valor resultante da RNA e valor esperado para o pixel) e com este valor pode-se definir o melhor treino realizado no treinamento e consequentemente as melhores topologias para cada tipo de ruído.

Também executou-se uma série de treinamentos e testes utilizando não apenas um tipo de ruído em cada treinamento, mas todos eles em um mesmo treinamento.

A última etapa refere-se aos testes. Para cada um dos treinamentos realizados foram efetuados cinco testes, ou seja, para cada treinamento foram filtradas as cinco

imagens com ruídos a fim de verificar a eficácia do treinamento de um tipo de ruído aplicado a outros tipos.

4. Resultados

Inicialmente foi utilizado template 3x3 e imagem de 75x75 pixels, posteriormente verificou-se que templatesmaiores permitiram menor generalização, possibilitando melhores filtragens. A seguir é apresentada imagem com ruído Gaussiano e o resultado apresentado pela rede neural utilizando 15 neurônios na CNE, precisão de 10^-5 e taxa de aprendizagem de 0,01.

Figura 5. Imagens 75x75 pixels(a) Ruído Gaussiano; (b) Imagem filtrada.

Utilizando-se imagens com 100x100 pixels obtiveram-se os resultados a seguir. Utilizando imagem única para treinamento da rede, como se esperava os melhores resultados foram os correspondentes de cada treinamento, ou seja, os melhores filtros para imagens com ruídos Gaussianos foram os pesos ajustados a partir de imagens com o mesmo tipo de ruído.

Figura 8. Resultado da filtragem de imagens com ruído Gaussiano utilizando imagens com ruídos diferentes no

treinamento (Neurônios na CNE); (a) Trein. Gauss. 15 NCE; (b) Trein. Speckle 10 NCE.

A seguir pode-se observar um exemplo de seleção de topologia, neste caso usando-se 20 neurônios na camada neural escondida obteve o melhor resultado, são valores representando treinamento e testes realizados com imagens com ruídos Gaussianos.

Em geral as melhores topologias obtidas tinham entre 10 e 20 neurônios e percebeu-se que a taxa de aprendizagem seria suficiente com 0,1, tendo resultados parecidos, porém com maior desempenho.

206

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 218: III WVC 2007

N° NCE Médias 3 0,1054 4 0,1031 5 0,1016 7 0,1035

10 0,1065 15 0,1068 20 0,1015 25 0,1056 30 0,1056

Tabela 2. Seleção de topologia.

A Figura 8, a seguir, mostra alguns resultados obtidos através do treinamento e teste realizados com os segmentos da imagem. Pode-se verificar que com esta abordagem o filtro desempenhou melhor sua função.

Figura 8. Resultado da filtragem segmentada (imagem usada no treinamento/imagem usada no teste);

(a) Gauss./Gauss. 15 NCE; (b) Gauss./Speckle 15 NCE(c) SP0,01/SP0,01 7 NCE; (d) SP0,01/Gauss. 7 NCE.

Abaixo (Fig. 9) são apresentadas filtragens segmentadas, onde pode-se observar melhor os resultados individuais.

Trein/TesteNCE

Gauss./Gauss. 15 Speckle/Poisson 10

Segmento 7 10 11 7 10 11

Sem ruído

Com ruído

Resultado Filtro RNA

Figura 9. Filtragem segmentada.

Utilizando-se todos os ruídos no treinamento não segmentado, não se obtém melhores resultados (Fig. 10)

se comparados com os treinamentos individuais, mostrados anteriormente.

Figura 10. Resultado da filtragem utilizando todos os ruídos no treinamento em imagens com diversos ruídos;

(a) Gauss. 10 NCE; (b) Poisson 10 NCE; (c) SP 0,1 10 NCE.

O mesmo ocorre com o treinamento segmentado, como pode ser visto na figura 11, a seguir.

Figura 10. Resultado da filtragem segmentada utilizando todos os ruídos no treinamento em imagens com diversos

ruídos; (a) Imagem Ruidosa Speckle; (b) Imagem Filtrada.

5. Conclusões

Conclui-se a partir dos resultados acima apresentados, que redes neurais podem ser empregadas como filtros de imagens. Treinando-se as redes para vários segmentos individuais podem melhorar os resultados se comparado aos treinamentos realizados com toda a imagem, visto que a generalização é menor. A utilização de filtros específicos para cada tipo de ruído, usual nos filtros espaciais, aplica-se a este trabalho, os resultados mostram que usando vários ruídos no treinamento, o resultado final não é melhorado.

Como sugestão para trabalhos futuros, tem-se a possibilidade de usar arquiteturas de redes neurais para definir a qual classe pertence um determinado ruído, usando-se, por exemplo, redes de mapas auto-organizáveis (SOM – Self-organazing Maps), e após classificar este ruído, pode-se aplicar o filtro determinado para o ruído classificado.

6. Referências

[1] R. C. Gonzalez, R. E. Woods, e S. L. Eddins, “Digital Image Processing Using MATLAB”, Prentice-Hall, 2003.

[2] S. Haykin, “Neural Networks”, Prentice-Hall, 1999.

207

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 219: III WVC 2007

[3] Z. L. Kovács, “Redes Neurais Artificiais: Fundamentos e Aplicações”, Edição Acadêmica, 1996.

[4] L. Yin, J. Astola, Y. Neuvo, “A New Class of Nonlinear Filters – Neural Filters”, IEEE, Transactions on Signal Processing, 1993.

[5] K. Suzuki, I. Horiba, N. Sugie, “Efficient Approximation of Neural Filter for Removing Quantum Noise From Images”, IEEE, Transactions on Signal Processing, 2002.

[6] H. Jahn, “A Neural Network for Image Smoothing and Segmentation”, Springer, Lecture Notes in Computer Science, 1998.

[7] S. W. Perry, L. Guan, “Weight Assignment for Adaptive Image Restoration by Neural Networks”, IEEE, Transactions on Neural Network, vol. 11, 2000.

[8] M. Haritopoulos, H. Yin, e N. M. Allinson, “Image denoising using self-organizing map-based nonlinear independent component analysis”, Elsevier, Neural Networks, vol. 15, 2002.

208

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 220: III WVC 2007

Extração Automática de Feições Urbanas em Fotografias Aéreas utilizando Morfologia Matemática

Juliana Denipote1, Robson Barcellos2, Maria Stela de Paiva3

Departamento de Engenharia Elétrica - Escola de Engenharia de São Carlos (EESC) Universidade de São Paulo (USP)

judeni1, [email protected], [email protected]

Resumo

Os resultados da análise de fotografias aéreas de regiões urbanas podem ser utilizados em muitas aplicações, principalmente na área de planejamento urbano. Porém, esta análise é uma tarefa complexa visto o grande número de objetos que podem ser identificados nessas imagens. Este trabalho descreve o uso de operadores morfológicos para extrair automaticamente feições urbanas de fotografias aéreas.

1. Introdução

Fotos tiradas com uma câmera embarcada em um veículo aéreo, como um avião, um helicóptero, um balão ou mesmo em uma pipa, são chamadas fotografias aéreas. As fotografias aéreas podem ser divididas em dois tipos principais: verticais e oblíquas. As fotografias verticais são tiradas com uma câmera posicionada de forma que o eixo de sua lente esteja coincidente com a vertical ao solo, com uma tolerância de 30. Elas cobrem uma área relativamente pequena e fornecem uma visão não familiar do terreno, visto que é tirada de cima. Sua vantagem é que as distâncias e direções podem se aproximar da indicada em mapas, se tiradas de um terreno plano. As fotografias oblíquas podem ser divididas em dois sub-tipos: baixa obliqüidade, quando as fotos são tiradas com a câmera inclinada aproximadamente 300 em relação à vertical e são usadas, por exemplo, como auxílio a um ataque aéreo, e alta obliqüidade, com a câmera inclinada em torno de 600 em relação à vertical e podem ser usadas na confecção de cartas aeronáuticas [1].

As imagens obtidas através de fotografias aéreas, quando adequadamente analisadas, podem fornecer uma grande variedade de informações que podem ser usadas como auxílio ao planejamento urbano [2] para:

1) Estimação da população em uma cidade ou região; 2) Estudo da qualidade de moradias de uma região,

através da análise do tamanho das residências, da densidade de construções, largura e estado de conservação das ruas, tamanho das áreas verdes e proximidade a regiões industriais;

3) mapear as mudanças da área urbana pela interpretação de imagens de múltiplas datas; entre outras aplicações.

No entanto, a análise dessas imagens é uma tarefa complexa, devido à enorme quantidade de objetos possíveis de serem interpretados em imagens de grandes escalas.

Alguns autores combinam imagens aéreas com algum outro recurso para encontrar feições urbanas. Elaksher, Bethel e Mikhail [3] processaram imagens aéreas utilizando a técnica de segmentação split e merge. As regiões extraídas são classificadas em “telhado” e “não-telhado” por uma rede neural de duas camadas. Um parâmetro de entrada para a rede neural é a linearidade da borda de uma região e outro parâmetro é a média de elevação da região. Para encontrar a elevação, os autores utilizaram o Modelo Digital de Elevação (DEM) do terreno. Cada construção é identificada por meio da análise de 4 imagens. As retas que fazem parte de uma construção são encontradas pela transformada de Hough e assim, gera-se um polígono para representar cada construção em um ambiente 3D.

Benediktsson, Pesaresi e Arnason [4] utilizaram operadores morfológicos em imagens aéreas hiperespectrais, ou seja, com várias bandas do espectro visível e infravermelho. Os elementos estruturantesutilizados variam conforme as escalas das imagens. Os autores utilizaram ainda Análise de Componentes Principais (PCA) para reduzir a dimensionalidade dos dados e, assim, diminuir o custo computacional do método por eles elaborado. Utilizaram uma rede neural para classificar as feições urbanas entre as classes “árvores”, “estacionamentos”, “asfalto”, “solo”, “sombras” e “telhados”. Porém a aquisição de imagens hiperespectrais exigem equipamento de maior custo quando comparada as fotografias aéreas.

Daré et al. [5] utilizaram 12 fotografias aéreas não-convencionais de baixo custo, conhecidas como de pequeno formato (FAPEF) para a identificação do índice de ocupação de um bairro da cidade de Viçosa – MG, Brasil. A localização das edificações existentes no bairro em estudo foi realizada por meio da identificação visual das mesmas. O resultado obtido tem alto grau de

209

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 221: III WVC 2007

confiabilidade, devido à alta resolução das imagens, e baixo custo. Porém a identificação das construções é feita de forma manual, e demanda elevado tempo de processamento.

Outros trabalhos utilizam imagens de alta resoluçãodo satélite IKONOS e a classificação orientada a objetos para encontrar feições urbanas. Essa classificação difere da abordagem pixel a pixel, pois baseia-se em informações que levam em consideração os vizinhos dos objetos. Como trabalhos que utilizam a abordagem orientada a objetos, podem-se citar: Nóbrega, O’Hara e Quintanilha [6] [7], encontram ruas; Pinho, Feitosa e Kux [8] classificaram as regiões presentes nas imagens em “vegetação”, “pavimentação”, “cobertura cerâmica”, “concreto”, “solo exposto”, “sombra” e “água”; Alves e Vergara [9] classificaram as regiões em “construções”, “construções de cobertura escura”, “solo”, “ruas”, “vegetação” e “água”, com o auxílio de regras fuzzy determinadas pelo usuário especialista.

Este artigo descreve o uso dos operadores morfológicos de dilatação, erosão e abertura para a extração automática de feições urbanas em fotografias aéreas. Como feições urbanas, entende-se os elementos comumente encontrados em uma cidade como ruas, avenidas, quadras, construções, etc. Neste trabalho preocupou-se em encontrar as casas, por meio da localização de seus telhados.

2. Materiais

As imagens utilizadas nesse trabalho são fotografias áreas de um vôo baixo, em tons de cinza, com escala de 1:8.000 de um bairro residencial da cidade de São Carlos – SP, Brasil. A figura 1 mostra uma pequena parte de uma imagem utilizada.

Figura 1 – Imagem Original

O software utilizado para processar a imagem foi o MatLab versão 2006 da MathWorks [10], juntamente com sua Toolbox de Processamento de Imagens.

3. Pré-processamento de imagens

O primeiro passo do pré-processamento foi aplicar àimagem, um filtro de mediana para reduzir ruído. Em seguida foi feita uma binarização, utilizando dois valores de limiar, como mostrado no histograma da figura 2. O limiar 1 é um valor baixo que corresponde aos pixels que não fazem parte do fundo da imagem, mas possuem um nível de cinza baixo, como as ruas. Este limiar foi calculado usando-se o comando graythresh do Matlab, que usa o método de Otsu para determinar um limiar global, que maximiza a variância interclasses das duas classes de pixel definidas no histograma por este limiar.

O limiar 2 é um valor alto (240), e seleciona pixelsque correspondem a paredes de casas, que possuem nível de cinza próximo do branco (255). Os pixelscorrespondentes a ruas e paredes podem ser desprezados na procura pelos telhados e são transformados em fundo, com nível de cinza zero (preto). Todo pixel que possui um nível de cinza menor do que o limiar 1 e maior do que o limiar 2 é transformado em um pixel de nível de cinza zero. Aos pixels remanescentes é atribuído o valor de cinza 1 (branco), porque eles podem pertencer a telhados. Os níveis de cinza que receberão o valor 1 na binarização estão representados no histograma da figura 2 pelo retângulo cinza. O resultado da binarização é mostrado na figura 3.

Figura 2 – Histograma de uma imagem de 8 bits, onde se ilustra os limiares utilizados na sua

binarização.

Figura 3 – Imagem da figura 1 binarizada, resultante do processo de limiarização ilustrado na figura 2.

0Limiar 1 Limiar 2

255

210

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 222: III WVC 2007

4. Morfologia Matemática

Morfologia Matemática é uma teoria de análise de imagens baseada na teoria dos conjuntos. Objetos em uma imagem são representados por conjuntos na morfologia matemática [11]. Ela define uma descrição quantitativa das estruturas geométricas baseada em suas formas. Nas operações morfológicas, um elemento estruturante, o qual também é tratado como um conjunto, é utilizado para analisar a forma dos objetos na imagem. Ele também pode ser definido como uma máscara de convolução que definirá a forma do objeto resultante da operação morfológica.

Os operadores morfológicos que foram empregados neste trabalho foram a dilatação, erosão e abertura. A equação 1 define a operação de dilatação de uma imagem A por um elemento estruturante B:

])[(|)( φ≠∩=⊕ ABxBA x (1)

A dilatação é dada pela união de todos os pontos x,tal que o elemento estruturante B, centrado em x, (B)x, intercepta A. Essa operação geralmente é utilizada para aumentar objetos em uma imagem, conectar objetos próximos ou eliminar “buracos” dentro de objetos.

A operação de erosão é descrita pela equação 2.

)(|)( ABxBA x ⊂=Θ (2)

A erosão é definida pelo conjunto dos pontos x, tal que B, ao ser transladado para a posição x, esteja totalmente incluído no conjunto A. Ela é geralmente utilizada para diminuir objetos, separar objetos unidos por conexões estreitas, e aumentar “buracos” em objetos.

A abertura de um conjunto A por um elemento estruturante B é dada pela equação 3:

BBABA ⊕Θ= )()( o (3)

A abertura é uma erosão do conjunto A pelo elemento estruturante B, e o resultado é dilatado pelo elemento estruturante B. A abertura é geralmente utilizada para suavizar as bordas, eliminando pontas ou conexões finas entre objetos sem muito influenciar no interior dos objetos.

5. Aplicação dos Operadores Morfológicos

Após a binarização demonstrada na figura 3, foi aplicado o operador morfológico de abertura para eliminar linhas estreitas e suavizar as bordas, cujo resultado é apresentado na figura 4a. O resultado da abertura sobreposto com a imagem original é apresentado na figura 4b.

a) Abertura b) sobreposição com imagem original

Figura 4- Resultado da abertura.

Após este passo, os objetos que restam na imagem são os telhados e alguns jardins (áreas arborizadas e gramados), pois possuem níveis de cinza próximos aos dos telhados. Porém, os telhados possuem textura mais lisa quando comparados aos jardins, como ilustra a figura 5, onde algumas áreas arborizadas são indicadas pelas setas tracejadas e alguns telhados estão indicados pelas setas contínuas.

Figura 5 – Diferenças entre as texturas de telhados e áreas arborizadas

Essa informação de textura é extraída da imagem original por meio da aplicação do detector de borda Canny sobre a imagem da figura 4b. O método de detecção de bordas de Canny foi desenvolvido em 1986 por John F. Canny [12] e usa um algoritmo de múltiplos estágios para detectar uma grande faixa de intensidades de bordas. Inicialmente, uma operação de suavização é usada, convoluindo uma máscara gaussiana com a imagem original. O método usa uma limiarização com histerese que possui dois valores de limiar. Esta característica proporciona ao método uma melhor imunidade a ruídos, permitindo detectar a borda mesmo nos segmentos onde o gradiente tem valor baixo.

A figura 6a ilustra a aplicação do detector Canny, com valores de limiar determinados ad hoc. A idéia é isolar apenas as informações das texturas dos jardins para depois excluí-los da imagem. Portanto, as bordas principais dos objetos e linhas muito extensas são então separadas, pois fazem parte dos objetos e não se deseja

211

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 223: III WVC 2007

excluí-las. A figura 6b ilustra o resultado obtido a partir da figura 6a, após exclusão das bordas principais dos objetos e linhas extensas.

a) Aplicação de Canny sobre figura 4b

b) Eliminação das bordas e linhas

extensasFigura 6 – Aplicação do detector de borda Canny

Na imagem da figura 6b é aplicado o operador morfológico de dilatação para se dar mais ênfase a essa informação de textura. O resultado é demonstrado na figura 7a. O complemento do resultado da dilatação é combinado com a imagem obtida na figura 4a, como demonstrado na figura 7b.

a) Dilatação b) sobreposição das figuras 4a e 7a

Figura 7 – Eliminação das áreas arborizadas

As bordas são então suavizadas eliminando-se pontas através da operação de abertura. Nessa operação os jardins são eliminados, conforme desejado.

Parte das bordas perdidas com a eliminação dos jardins, é recuperada com a operação de dilatação. Finalmente, regiões dentro dos objetos são preenchidas pelo comando imfill do Matlab [10]. O resultado final é ilustrado na figura 8.

Algumas observações devem ser feitas quanto a metodologia desenvolvida:

1) Após cada um dos passos descritos acima, os objetos muito pequenos são eliminados utilizando-se o comando bwareaopen do Matlab [10], pois os telhados correspondem aos objetos maiores nas imagens.

2) Tanto o comando bwareopen quanto o comando imfill são implementados por operações morfológicas.

3) O elemento estruturante utilizado nas operações morfológicas foi o quadrado, devido à forma retangular dos telhados.

Figura 8 – Resultado Final sobreposto com a imagem original.

5. Testes e Resultados

Na imagem cujo processamento foi ilustrado neste artigo, somente um falso positivo foi detectado (jardim indicado pela seta na figura 9a). Um telhado de material escuro não foi encontrado e também dois lados sombras de telhados (indicados pelas setas na figura 9b). Isto se deve aos valores de nível de cinza desses objetos, que fazem com que eles sejam eliminados durante a fase de pré-processsamento.

a) falso positivo b) falsos negativosFigura 9 – análise dos resultados

A variação da classificação feita por dois observadores independentes pode ser medida em qualquer situação em que os observadores estão avaliando um mesmo conjunto de dados. A estatística Kappa é uma medida desta variação. Ela mede a diferença entre a concordância da classificação realizada, e a concordância que seria obtida por mero acaso e é normalizada para estar no intervalo -1 a 1, onde 1 é uma concordância perfeita e 0 é o que seria esperado por acaso. Valores menores do que zero indicam concordância menor do que casuais, isto é, uma potencial discordância sistemática [13]. No caso desse trabalho, foi calculada a estatística Kappa entre o método desenvolvido e a classificação real dos objetos, realizada manualmente num conjunto de objetos de amostra.

212

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 224: III WVC 2007

Na tabela 1, é mostrada a classificação dos objetos em telhados e não telhados, feita manualmente e a obtida pelo método.

Tabela 1 - Classificação dos Métodos Manual e Automático

Método Manual

Sim Não Total

Sim 46 7 53

Não 11 31 42Método

Automático Total 57 38 95

A estatística Kappa é calculada pela fórmula:

)1(

)( 0

e

e

p

ppK

−−= (4)

onde p0 é a concordância observada e pe é a concordância esperada. Da tabela 1 obtemos p0 = 0,81 e pe = 0,51. Portanto, Kappa = 0,61.

A tabela 2 mostra o nível de concordância indicado pelo coeficiente Kappa.

Tabela 2 - Nível de concordância indicado pelo coeficiente Kappa

Nível de Concordância Valor do coeficiente

Kappa

Nenhuma concordância κ = -1

Baixa concordância κ < 0.20

Leve concordância 0.20 < κ < 0.40 Concordância Moderada

0.40 < κ < 0.60

Alta concordância 0.60 < κ < 0.80 Muito alta concordância κ > 0.80 Total Concordância κ = 1

Pela tabela resulta que o método desenvolvido possui um alto grau de concordância com o método manual.

6. Conclusões

Este artigo demonstrou a utilização de operadores morfológicos em fotos aéreas de uma região urbana, com o objetivo de localizar automaticamente as casas por meio da identificação dos seus telhados.

A aplicação de operadores morfológicos para alcançar o objetivo mostrou um bom resultado na identificação dos telhados. Em todas as imagens testadas, 80% dos telhados foram corretamente identificados. Apenas alguns poucos objetos não foram corretamente identificados como telhado, tais como o lado sombra de um telhado ou um telhado feito com um material escuro. Ajustar os limiares utilizados durante a binarização poderia solucionar esse problema, evitando a rejeição desses objetos.

Para que o resultado deste método possa ser utilizado na prática, deve ser realizado o georreferenciamento. Este procedimento é feito identificando-se pontos na imagem com coordenadas geográficas já conhecidas, os chamados pontos de controle.

Agradecimentos

Os autores gostariam de agradecer a Dra. Simone Sayuri Sato pelas imagens cedidas e ao Conselho Nacional de Desenvolvimento Científico e Tecnológico (CNPq) pelo apoio financeiro.

Referências

[1] F. Fitzgerald, “Picturing the Landscape: A Guide to Aerial Photography”, Design Center for American Urban Landscape- Design Brief, vol.12, April 2004; Minnesota, p. 7.

[2] T. M. Lillesand and R. W. Kiefer, Remote Sensing and Image Interpretation, 2nd edition, John Wiley & Sons, New York, 1987.

[3] A. F. Elaksher, J. S. Bethel and E. M. Mikhail, “Reconstructing 3D Building Wireframes from Multiple Images”, International Archives of Photogrammetry Remote Sensing and Spatial Information Sciences, vol. 34; Great Britain, 2002, part 3/A, pages 91-96.

[4] J. A. Benediktsson, M. Pesaresi and K. Arnason, “Classification and feature extraction for remote sensing images from urban areas based on morphological transformations”, IEEE Transactions on Geoscience and Remote Sensing., vol. 41, no. 9, 2003, pp. 1940-1949.

[5] R. Daré, “Identificação de novas ocupações urbanas utilizando técnicas de Geoprocessamento e Fotografias Aéreas de Pequeno Formato”, Anais XIII Simpósio Brasileiro de Sensoriamento Remoto, Florianópolis, Brasil, 2007, INPE, p. 5179-5185.

[6] R. A. A Nobrega, C. G. O’Hara, J. A. Quintanilha, “Preliminary results or road detection in informal settlements using object-based technologies and Ikonos data”, Annual Research Symposium of Graduate Student Association of Mississippi State University, 4th, 2006, Starkville.

[7] R. A. A Nobrega, C. G. O’Hara, J. A. Quintanilha, “Detecting roads in informal settlements surrounding São Paulo city by using object-based classification” International Conference on Object-Based Image Analysis, 1st, 2006, Salzburg.

[8] C. M. D. Pinho, F.F. Feitosa, H. Kux, “Classificação automática de cobertura do solo urbano em imagem IKONOS: Comparação entre a abordagem pixel-a-pixel e orientada a objetos” Simpósio Brasileiro de Sensoriamento Remoto, XII, 2005, Goiânia, p. 4217-4224.

[9] R. A. L. Alves, O. R. Vergara, “Identificação de alvos urbanos em imagens Ikonos, aplicando classificação orientada

213

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 225: III WVC 2007

a segmentos”, Simpósio Brasileiro de Sensoriamento Remoto, XII, 2005, Goiânia, p. 2573-2580.

[10] MatLab Online Documentation, URL: http://www.mathworks.com/access/helpdesk/help/helpdesk.html, acessado em 11 de julho de 2007.

[11] R. C. Gonzalez and R. E. Woods, Digital Image Processing, 2nd edition, Prentice Hall, New Jersey, 2002.

[12] J. Canny, “A Computational Approach to Edge Detection”, IEEE Trans. Pattern Analysis and Machine Intelligence, 8:679-714, 1986.

[13] A. J. Viera, J. M. Garrett, “Understanding Interobserver Agreement: The Kappa Statistic”, Family Medicine, vol. 35, May 2005; North Carolina, pages 360-363.

214

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 226: III WVC 2007

Recuperação de Imagens 3D Baseado Conteúdo Utilizando mais de uma Imagem-consulta

Alexandre Munhoz [email protected]

Shermila Guerra Santa Cruz [email protected]

Dr. Adilson Gonzaga [email protected]

Departamento de Engenharia Elétrica - EESC/USP

Avenida Trabalhador São-carlense, 400 - 13566-590 - São Carlos – SP-Brasil.

Universidade São Paulo - São Carlos

Resumo

A Recuperação de imagens baseadas

em conteúdo (Content Based Image

Retrieval - CBIR) consiste em recuperar

imagens similares em um banco de

imagens, onde se fornece como fonte de

busca uma imagem consulta(IC). As

características da imagem são levantadas

com o objetivo de recuperar imagens

mais semelhantes possíveis da imagem-

consulta. Neste trabalho, se propõe como

ferramenta auxiliar às CBIRs, um

algoritmo que utiliza como fonte mais de

uma imagem-consulta.

Em situações onde, não se possui a

imagem consulta com as características

desejadas, porem se tem imagens com

uma das características desejada e outra

possui a outra característica, o método

as combina, e com isso se obtém a

imagem procurada.

PALAVRAS CHAVE Recuperação de

imagens por conteúdo CBIR.

1. Introdução

Atualmente com o aumento

exponencial de bancos de imagem,

devido às inovações tecnológicas, tornou-

se necessário manter algum tipo de

mecanismo de busca de recuperação de

imagens.

CBIR constitui uma possibilidade de

recuperar e comparar imagens usando

características visuais intrínsecas como

cor, forma e textura. O foco de um

sistema CBIR, é pesquisar no banco de

dados as "n" imagens similares a uma IC

de acordo com um critério dado.

Devido às necessidades únicas e

peculiares, as bases de dados de imagens

não podem ser tratadas em um estilo

similar. Por esta razão, é difícil encontrar

uma técnica universal de recuperação

baseada em conteúdo.

Uma ferramenta amplamente utilizada

em CBIR para comparar dois vetores de

características é a distancia euclidiana,

onde cada imagem da base é plotada em

um espaço polidimensional, sendo que

cada eixo deste espaço corresponde a uma

característica dela extraída. Em seguida,

é verificada a coordenada das IC, para

que por fim seja retornada a imagem de

distância euclidiana mais próximas.

Extinguida a busca das imagens mais

próximas, o raio de busca é

gradativamente aumentado, para que

retorne imagens cada vez mais distantes

do ponto inicial de busca.

No gráfico polidimensional onde cada

eixo representa uma característica das

imagens contidas no banco de imagem,

dois pontos são considerados

215

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 227: III WVC 2007

eqüidistantes à imagem-consulta se

tiverem à mesma distancia euclidiana

desta imagem. O conjunto dos pontos

eqüidistantes à imagem-consulta constitui

em uma hiper-esfera. No caso de uma

determinada característica deste gráfico

polidimensional possuir uma importância

maior do que outras características, os

conjuntos de imagens semelhantes não

são mais eqüidistantes da imagem-

consulta e forma uma hiper-elipsoide.

Nas buscas CBIR que utilizam a

distancia euclidiana como ferramenta de

busca, começa retornando as imagens

contidas no interior de uma hiper-

elipsoide ou uma hiper-esfera, cujo ponto

central é a IC. Gradativamente, o raio da

hiper-esfera, ou o tamanho da hiper-

elipsoide vai aumentando, e com isso vai

se recuperando imagens cada vez mais

distantes da IC.

A busca em um espaço

hiperdimensional, levando em conta o

peso de cada característica, tem sua

distância expressa por:

onde:

d : Distância entre a IC e, e a imagem bdo banco de imagens.

fe n : Característica n da IC e.

fb n : Característica n da IC b .

w n : Peso da característica n do espaço

polidimensional.

2. Histórico Apesar de CBIR ser uma tecnologia

recente já foram desenvolvidos diversos

trabalhos na área.

Hirata e Kato [4] propuseram um

CBIR baseado em exemplos visuais, que

extrai as arestas da consulta e faz um

casamento com outras arestas de outras

imagens através de deslocamentos e

deformações, sem usar qualquer tipo de

indexação.

Faloutsos et. al.[3] desenvolveu um

sistema QBIC (pela IBM) baseado em

vários parâmetros das imagens,

permitindo que os usuários fizessem uma

consulta baseada em cor, forma e textura

que fossem semi-automaticamente

extraídas. Também implementou uma

forma de indexação baseada em árvores.

Jacobs et. al. [2] propuseram a

recuperação usando informação espacial

(disposição física de regiões) e

características visuais representadas no

domínio dos coeficientes wavelets. Não

implementaram qualquer tipo de

indexação.

Smith e Chang [6] criaram um sistema

chamado VisualSeek que permitia busca

por cor, regiões e layout espacial. Usaram

indexação para aumentar a eficiência do

sistema.

Ooi et. al. [5] criou o sistema VIPER

que utilizava cor e informação espacial.

Extraía primeiramente um conjunto de

cores dominantes e então derivava a

informação espacial composta por tais

cores. Para a busca utilizava indexação.

3.Definição do problema

A dependência contextual apresentada

pelas imagens, e a natureza complexa das

imagens tridimensionais tornam a questão

da representação mais difícil para bases

de dados de imagens.

Em CBIR comuns, o usuário precisa

apresentar uma imagem muito próxima da

busca que ele deseja efetuar, e não tem

liberdade para adicionar características

2 2 2 21( 1 1) 2( 2 2) 3( 3 3) ...... ( )d w fe fb w fe fb w fe fb wn fen fbn

216

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 228: III WVC 2007

complementares com outras imagens

adicionais.

Nesse experimento utilizou-se a base

“COIL-100 database of Columbia

University”, que contém 7200 imagens

oriundos de 100 objetos, e para cada

objeto 72 imagens que correspondem a

variações de rotação no eixo Y deste

objeto.

Figura 1. Exemplo de imagens da base de dados COIL-100, de objeto rota-cionado no eixo Y, pertence a uma classe.

4. Solução de problema

Esta proposta, permite realizar buscas

CBIR utilizando mais de uma imagem

como fonte. O algoritmo extrai as

características das imagens de origem, e

faz combinações entre estas

características. Para cada combinação

gerada é semeado um ponto de busca no

espaço polidimensional de características.

As imagens de uma distância mínima

são procuradas, a partir de cada ponto

combinatório encontrado. Depois de

encerrada a busca das imagens mais

próximas, o raio de busca aumenta para

todas as combinações simultaneamente.

Para que o usuário pudesse separar as

imagens que possui características

desejáveis, selecionamos características

de fácil intuição, como cor, textura, índice

de cinza de maior ocorrência e forma do

contorno do objeto.

Nessa proposta utilizamos

características de fácil intuição para o

usuário, como cor, textura, forma.

CÔR

O índice de cor foi calculado pelo sistema

de representação RGB, segundo Simões

and Reali Costa, 2000, que segue as

equações :

r = R / (R+G+B) …......................(1)

g = G / (R+G+B) .........................(2)

b = B/ (R+G+B)…...........…........(3)

Os índices r(1) , g(2) e b(3) são

normalizados.

TEXTURA

Um atributo de textura é um valor,

calculado a partir da imagem de um

objeto, que quantifica algumas

características das variações dos níveis de

cinza desse objeto [7].

A partir do histograma dos níveis de

cinza da imagem, se infere diferentes

parâmetros. Para descrever

quantitativamente as propriedades

estatísticas se utilizou a média, variância

e a energia.

Média1

0

)(

G

i

iip . ....................................(4)

Variância

)()(

1

0

22 ipi

G

i

...........................(5)

Energia 21

0

)(G

i

ipE ..................................(6)

217

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 229: III WVC 2007

Os dados da média, variância e energia,

foram integrados e normalizados para

obtenção de um único índice de textura.

FORMA Para obtermos o índice relacionado à

forma, a imagem foi inicialmente

convertida em escala de cinza. Após ser

convertida para uma imagem binária com

threshold de 35% da escala, podemos

isolar o objeto já em branco com fundo

escuro. Depois foi extraído o contorno do

objeto com o operador de Laplace. Em

seguida, foi aplicada a transformada de

Hough. O índice da forma foi considerado

como sendo o numero de retas que

possuem mais de 38 pixels, retornado

pela transformada de Hough .

A interpretação deste procedimento, é

que quando temos no contorno poucas

retas maiores de 38 pixels, o objeto é

predominantemente redondo. Quando

temos uma maior quantia de retas maiores

que 38 pixels, o objeto possui forma

menos arredondada.

Ocasionalmente, alguns contornos que

tomamos intuitivamente como curvas, são

traçados com uma série de pequenas

retas. Observamos que retas de 38 pixels

separam as retas de contorno verdadeiras,

daquelas que intuímos como integrantes

de uma curva para as imagens de nosso

trabalho.

As imagens da base de dados Coil-100,

consiste em objetos que sofrem rotação

sobre o eixo vertical, de modo que ao

longo desta rotação podem aparecer retas

de contorno não vistas quando olhamos

sob outra face.

Distribuição dos pesos Procura-se uma distribuição de pesos

para as características pesquisadas que

permitisse uma versatilidade do usuário

na pesquisa. A distribuição empregada foi

de 20% para o nível de cinza de maior

ocorrência, 10% para os cromas R, G e B.

10% para o índice de textura, e 200%

para a forma.

As características extraídas das

imagens, são submetidas à análise

combinatória, gerando todas as interações

possíveis entre as imagens consulta.

Como exemplo, se tivermos uma

imagem A1) com quatro retas de

contorno, com cor predominante azul:

outra imagem A2) com ausência de retas

significativas em seu contorno, com cor

predominante amarelo, e demais

característica com índice semelhante

entre si, teríamos as seguintes

combinações : B1) Objeto com 4 retas

de contorno e cor mais significativa azul.

B2) Objeto com ausência de retas de

contorno significativas e cor mais

significativa amarelo. B3) Objeto com 4

retas de contorno e cor mais significativa

amarelo. B4) Objeto com ausência de

retas de contorno significativas e cor mais

significativa azul. Ver figura 2.

Figura 2. Em A são exibidas duas ICs. Em B representa imagem retornadas pela busca em CBIR combinatório com diagramas simbólicos.

A B

218

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 230: III WVC 2007

O Algoritmo utilizado é o descrito no

Quadro 1.

Quadro 1 – Pseudo-código para a busca CBIR combinatória

4. Resultados

As curvas Recall Precision indicam a

eficiência da recuperação, onde o eixo x

indica a porcentagem de imagens

recuperadas entre o total de imagens

desejadas. Este eixo encerra com o índice

1, que em escala normalizada indica que

100% das imagens foram recuperadas.

O eixo Y indica a porcentagem de

acerto das imagens retornadas. O limite

desta escala 1 (normalizada) significa

100% de acerto para as imagens

retornadas para o dado momento da

pesquisa.

No experimento 1 se buscou duas

imagens de um mesmo objeto, para

comparar a eficiência da pesquisa em

relação à uma busca tradicional com 1

imagem deste mesmo objeto.

Figura 3. Busca de diferentes imagens de mesmo objeto X Busca de

uma imagem do objeto

O resultado mostra que o desempenho

da pesquisa foi relativamente melhor no

CBIR com 2 imagens consulta, com cerca

de 35% de acertos quando havia 28% das

imagens recuperadas, enquanto em buscas

com 1 imagem consulta foi obtido 15%

1.- Tabela_combinatória (Características

Imagem Consulta, Características das

imagens no banco de dados)

2.- Inicializar o Raio Busca com 0.00

3.- Enquanto a pesquisa não seja abordado

pelo usuário

3.1 Incrementar o raio de busca em 0.01

3.2 Para cada combinação da tabela

combinatória

3.2.1 Buscar imagens pela distancia

euclidiana( tabela combinatória,

raio de busca)

3.2.2 Se a Imagem não está no banco

de dados de imagens recuperadas

então incluir e exibir.

Experimento 1.1-Retornar todas as

imagens de um objeto utilizando duas

imagens consulta deste objeto

Experimento 1.2- Retornar todas as

imagens do objeto utilizando uma imagem

consulta

Recall precision

0

0,1

0,2

0,3

0,4

0,5

0,6

0 0 0,2 0,4 0,4 0,6 0,6 0,6 0,8 1

Recall

Pre

cici

on

R ecall precision

0

0.1

0.2

0.3

0.4

0.5

0 0 0.2 0.2 0.2 0.2 0.2 0.4 0.6 0.8

Re ca ll

Pre

cici

on

219

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 231: III WVC 2007

de acerto quando 28% das imagens foram

recuperadas (figura 3).

Figura 4. Busca de imagens com o objetivo de recuperar objetos de mesma coloração

Figura 5. Pesquisa de imagens visando recuperação de forma

Em busca de imagens de diferentes

objetos com coloração semelhante,

verificou-se que os métodos possuem

eficiência similar, conforme apresentadas

pelas curvas de Recall Precision

Experimento 2: Buscar imagens com

colorações parecidas

E2.1.- Busca com duas imagens

consulta de colorações semelhantes

Recall precision

00,10,20,30,40,50,60,70,80,9

0

0,22 0,4

0,58

0,67

0,78

0,82

0,84

0,89

0,89

0,89

0,96

0,96

0,96

0,98

0,98 1

Recall

Pre

cici

on

E22. Busca com uma imagem de

consulta de coloração desejada

Recall precision

0

0,1

0,2

0,3

0,4

0,5

0,6

0,7

0

0,18

0,29

0,44

0,49

0,49

0,56 0,6

0,64

0,73

0,73

0,73

0,87

0,89

0,91

0,91

0,98

Recall

Pre

cici

on

Experimento 3: Buscar imagens com

formas de contorno externas parecidas.

E3.1- Pesquisa com 2 objetos de forma

parecida.

Recall precision

00,10,20,30,40,50,60,70,80,9

0

0,15

0,22

0,32 0,4

0,47

0,52 0,6

0,7

0,78

0,82

0,82

0,88

0,92

0,93

0,95

0,98

Recall

Pre

cici

on

E3.2 - Pesquisa com 1 objeto da forma

desejada.

Recall precision

00,10,2

0,30,40,50,60,7

0,8

0

0,08

0,19

0,34

0,51

0,58

0,69

0,73

0,75

0,81

0,83

0,86

0,92

0,93

0,95

0,95

Recall

Pre

cici

on

220

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 232: III WVC 2007

Experimento 4: Buscar imagens com

Cor e forma desejadas.

E4. 1. Pesquisa com duas imagens de

características complementares

E4. 2. Pesquisa com uma imagem de forma

semelhante à desejada

E4.3. Pesquisa com 1 imagem de cor

semelhante à desejada

Figura 6. Busca de imagens em situações onde não se possui imagem consulta de mesma classe

Em busca de objetos com formato

semelhantes, obtivemos retorno semelhante

entre as pesquisas com uma única imagem

e diversas imagens de mesmo formato.

Estes resultados estão expostos na figura 5.

Neste experimento, os objetos de retorno

desejável são aqueles que não possuem

retas significativas em seu contorno.

O resultado mais interessante de nossa

pesquisa é o da possibilidade de se

recuperar objetos ao qual não temos a

imagem exata. Neste experimento E4,

procurávamos recuperar as imagens de

tomates que são redondos e vermelhos.Para

isso inserimos imagens de uma cebola

redonda e verde, e de um carro de

bombeiros, vermelho e com retas de

contorno. O retorno se mostrou mais

satisfatório do que o retorno com cada uma

das imagens separadas, conforme mostrado

da figura 6.

6. Conclusão

O método permite recuperar imagens

similares como resultado da combinação

das características de duas ou mais

imagens.

Este método de analise combinatória de

duas ou mais imagens se mostrou mais

eficiente do que nos casos, quando a

imagem consultada era única.

A pesquisa utilizando mais de uma

imagem consulta de mesmo objeto

mostrou ligeira melhora em relação à

consulta utilizando única imagem.

Quando as imagens consultam

possuíam entre si apenas uma

característica comum, o método

apresentou uma eficiência semelhante, em

relação à pesquisa CBIR com uma única

imagem.

Recall precision

0

0,05

0,1

0,15

0,2

0,25

0,3

0

0,17

0,17

0,33

0,67

0,67

0,83

0,83

0,83

0,83

0,83

0,83

0,83

0,83

0,83

0,83

0,83

Recall

Pre

cici

on

Recall precision

00,010,020,030,040,050,060,07

0,08

0 0 0 0 0 0 0 0 0 00,

20,

20,

40,

40,

8

Recall

Pre

cici

on

Recall precision

0

0,01

0,02

0,03

0,04

0,05

0,06

0 0 0 0 0 0 0 0 0 0 0 0 0

0,2

0,2

0,2

0,2

Recall

Pre

cici

on

221

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 233: III WVC 2007

Referencias

[1] SANJOY K. SAHA a, AMIT K. Das,

BHABATOSH Chanda. Recuperação de

images baseado na indexação e retro

alimentação da relevância (feedback

relevance)

[2] C.E. Jacobs, A. Finkelstein, D. H.

Salesin. Fast Multiresolution Image

Query. Proceedings of the ACM

SIBGRAPH, 1995.

[3] FALOUTSOS, C. Fast Searching by

Content in Multimedia Databases. Data

Engineering Bulltein 18 (4), 31-40. 1995.

[4] HIRATA, K. Kato, T. Query byVisual

Example-Content Based Image Retrieval.

Advances in Database Technology (EDBT’ 92), 56-71. 1992.

[5] OOI, B.C., Tan, K.L. CHUA, T.S.,

HSU, W. Fast Image Retrieval Using

Color-Spatial Information. The VLDB

Journal 7 (2), 115-128, 1998

[6] SMITH, J.R., Chang, S.F.

VisualSEEK: A Fully Automatec Conten-

Based Image Query System. ACM

Multimedia 96, Boston, MA, 87-98.

1996.

[7] GONZALEZ, Rafael C. WOODS,

Richard E.- Digital Image Processing

222

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 234: III WVC 2007

Segmentacao de pele humana em imagens coloridas baseada em valores dasmedias da vizinhanca em subimagens

Joao Marcelo Ribeiro, Adilson Gonzaga

Universidade de Sao Paulo - Departamento de Engenharia EletricaAvenida do Trabalhador Sao Carlense, 400

CEP 13566-590 - Sao Carlos - SP - Fone/Fax: (16)3373 9371.

ribeiro [email protected], [email protected]

Resumo

The segmentation of human skin in colored images isuseful in several daily applications, and can be a pre-processing stage for other applications. For example, insoccer stadiums and shopping centers, people’s localizationcan be very important for their safety, so, the main objec-tive of this work is to develop a new method to identify, withgreater precision, human skin in colored images in daily si-tuations.

A training image was built, called ”Patchwork quilt”, inorder to get the pixels neighborhoods averages and do thesegmentation. The images that served as parameter for theconstruction of the ”patchwork quilt”were obtained in animage database and the images for the segmentation testswere obtained by the author with a digital photographic ca-mera in daily situations. The gotten results were comparedto that one that it motivated the development of this work.

1. Introducao

1.1. Uma abordagem sobre a deteccao de pele

Um dos principais objetivos do processamento de ima-gens e auxiliar o observador a interpretar o conteudo de ima-gens identificando nestas aquilo que se pretende ou aquiloque ela contem. Desta forma, o processo de percepcao vi-sual pode ser realizado pela visao natural ou pela visao ar-tificial. Nesta ultima os sistemas de processamento podemter alguns limites e dificuldades, tais como: (1) a posicaodos objetos, (2) diferencas de tamanhos e formatos, (3) pro-blemas de perspectivas e (4) iluminacao. [11].

A cor e um fator importante no processamento de ima-gens onde descreve um objeto (ou uma cena) simplificando

e identificando suas caracterısticas. Elas sao vistas comocombinacoes variaveis das chamadas cores primarias etodas sao representadas em um determinado subespaco.Isso e o que define os modelos de cores, tais como: RGB,HSV, HSI, YCbCr, CIE-Lab e CIE-Luv, por exemplo. Parao processamento e analise de imagens, geralmente o pri-meiro passo e a sua segmentacao. O crescimento da regiaoem torno de um pixel central (ou pixel ”semente”) dentrode um domınio espacial (subimagem), constitui-se de umprocesso que apura as caracterısticas de um determinadonumero de pixels vizinhos a este pixel (vizinhanca).

A segmentacao de pele humana em imagens pode se tor-nar uma tarefa extremamente complexa e desafiadora, vistoque ela e bastante sensıvel a diversos fatores, tais como:Iluminacao, etnia, caracterısticas individuais e outros mais.Para esta segmentacao um dos principais desafios e fazercom que a classificacao dos pixels coloridos das imagensseja o mais similar possıvel aquela percebida pela visao na-tural. O primeiro passo para isso, e talvez o principal, e a es-colha de um modelo de cor. Geralmente o modelo RGB e omodelo escolhido pela grande maioria, como mostra os tra-balhos de [2] e [3]. Alguns outros utilizam os demais mo-delos, como [2], [8] e [6].

A escolha de um modelo de cores esta associado a es-colha de uma tecnica (ou metodo) para a segmentacao con-forme o problema que se pretende resolver. A deteccao depele humana em imagens pode ser dividida em duas clas-ses: (1) pixel-pele e (2) pixel-nao-pele; e para abordar esteproblema, pesquisadores utilizam diferentes tecnicas pro-curando obter um melhor resultado. O thresholding, porexemplo, usado no trabalho de [13], agrupa uma pequenaregiao de pixels pertencentes a um determinado modelo decor. O histograma e as redes neurais tambem sao metodosbastante utilizados. Os trabalhos de [12] e [10] utilizam es-ses metodos respectivamente. As misturas Gaussianas, usa-

223

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 235: III WVC 2007

das em [4] e [5], tambem sao utilizadas para classificar pelehumana por causa da sua vantagem em generalizar melhorcom menos dados de treinamento.

A escolha do melhor espaco de cores dentro de um mo-delo de cor que represente a pele humana e uma das maio-res dificuldades de pesquisa relativas a segmentacao de pelehumana. No estudo realizado por Kovac e outros [7], eledescreve suas restricoes, as quais foram utilizadas para odesenvolvimento deste trabalho, que as cores determinan-tes de pele humana com iluminacao constante da luz dodia sao aquelas que satisfazem, no modelo de cores RGB, aequacao:

R > 95 and G > 40 and B > 20 and

(max(R,G,B) − min(R,G,B) > 15) and

(|R − G| > 15) and (R > G) and (R > B) (1)

ou que as cores determinantes de pele humana comiluminacao artificial, inclusive na luz do dia, sao aque-las que satisfazem a seguinte equacao:

R > 220 and G > 210 and B > 170 and

|R − G| <= 15 and R > B and G > B (2)

2. Metodologia

2.1. A escolha do modelo de cores

A escolha do modelo de cores a ser utilizado baseou-sena comparacao e nos resultados obtidos por um teste queverificou o relacionamento e a integridade das informacoesresultantes entre: (1) um padrao (colcha de retalhos), e(2) uma nova imagem para verificacao (imagem teste depele) em tres modelos de cor: HSV, HSI e RGB. Primeira-mente foram obtidas, por uma camera digital, 30 imagensdo rosto de 30 pessoas (13 homens e 17 mulheres) de dife-rentes tonalidades de pele e todas sob as mesmas condicoesde iluminacao. Depois foram escolhidas 12 imagens, das30 existentes (6 imagens de cada sexo), e extraıdas peque-nas amostras de partes do rosto (ou pequenos pedacos deimagens de pele) de cada uma das imagens destas pessoas.Essas amostras eram adicionadas a uma nova imagem e, poressa condicao, essa nova imagem, a imagem padrao (de ta-manho 120x120, totalizando 14.400 pixels), foi chamada decolcha de retalhos, como mostra a figura 1.

Nesta imagem foram extraıdas as caracterısticas decada pixel pertencente a ela e o conjunto de valores (3 va-lores) de cada pixel, nos 3 modelos testados, foi exportadopara um banco de dados formando um registro. Os 14.400registros gerados neste banco de dados foram organizadosde maneira que todos fossem distintos uns dos outros.Por exemplo, um pixel no modelo RGB com valores R=159,G=109 e B=81 forma um registro em um banco de dados.Esses registros foram organizados de maneira que nenhumconjunto de valores se repetissem, como mostra a figura 2.

Figura 1. A colcha de retalhos ao centromontada a partir de pequenas imagens depedacos de pele.

Figura 2. A organizacao dos registros e os va-lores dos pixels.

Para efeito de comparacao, foi feito o mesmo procedi-mento com novos valores originados de outra extracao emoutra imagem de pele humana (de tamanho 73x96, tota-lizando 7.008 pixels), chamada de imagem teste de pele.Conforme mostra a tabela 1, depois de organizadas, compa-radas e analisadas as informacoes resultantes dos registrosgerados pela verificacao das duas imagens (a colcha de reta-lhos padrao e a imagem de verificacao), pode-se notar que aporcentagem de acerto (os registros coincidentes nas duasimagens) entre os modelos HSV e HSI foram iguais (100por cento) e superior ao modelo RGB (14,76 por cento).Com relacao a quantidade de registros organizados o mo-delo HSV possui uma pequena vantagem em relacao ao mo-delo HSI. Outro fator e que enquanto o modelo de cor RGBe composto por 3 variaveis que representam a cor do pi-xel (R, G e B), o modelo HSV e representado apenas poruma variavel (o H).

Portanto, a utilizacao de um modelo composto por maisvariaveis faz com que a taxa de acerto seja menor do queum modelo composto por menos variaveis. Como a quanti-dade de registros gerados apos sua organizacao tambem foioutro fator a ser analisado, o modelo de cores HSV foi oescolhido para o desenvolvimento deste trabalho, pois aquantidade de registros organizados foi menor que os de-mais modelos.

224

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 236: III WVC 2007

Tabela 1. Comparacao entre os modelosRGB, HSV e HSI.

2.2. Geracao da Colcha de retalhos para a base detestes

Depois de definido o modelo de cores, foi cons-truıda uma nova colcha de retalhos a partir de umnovo banco de imagens e seguindo os mesmos proce-dimentos de montagem da colcha de retalhos descri-tos anteriormente. Esta nova imagem, que servira parase obter os valores das medias que serao usadas comoparametro para a segmentacao de pele humana, foi mon-tada utilizando-se o Banco AR [9] que possui cerca de130 pessoas (76 homens e 60 mulheres). Para a mon-tagem da colcha, foram utilizadas as imagens de 100pessoas (50 de cada sexo) em 4 diferentes posicoes nao so-frendo variacoes de iluminacao. Quando comparada anova colcha de retalhos com a anterior as diferencas fo-ram: (1) o tamanho da imagem da colcha de retalhos, cri-ada em tamanho maior (900x1000, totalizando 900.000pixels); (2) o numero de retalhos maior do que o mo-delo anterior ; e (3) o banco de imagens de onde foramextraıdos os pedacos de pele que compoem esta nova col-cha de retalhos, sendo estas do banco AR, como mostra afigura 3.

2.3. Calculo de medias variando o tamanho dasvizinhancas das subimagens

Depois de criada a imagem da colcha de retalhos, estaserviu para obter-se a media aritmetica do pixel centralcom relacao a sua vizinhanca dentro de uma subimagem.Com os valores das maiores e menores medias do pixel cen-tral e que outros pixels serao classificados como sendo ounao sendo pele em novas imagens. A media do pixel centralfoi obtida baseado na sua vizinhanca. Ou seja, deslocava-se uma subimagem (tamanho 3x3) de um pixel (a direita eabaixo) em toda a colcha de retalhos, realizando uma varre-

Figura 3. Algumas imagens do Banco AR e anova colcha de retalhos.

dura e calculando os maiores e menores valores das mediasencontradas em cada subimagem.

Essa media na colcha de retalhos, refere-se ao valor deH (matiz) do pixel, devido ao fato do modelo de cores uti-lizado ser o HSV. O procedimento realizado para encontraresses valores em subimagem de tamanho 3x3 tambem foirealizado para encontrar os maiores e os menores valoresdas medias em subimagens de outros tamanhos: 5x5, 7x7e 9x9. Totalizando, assim, quatro valores de medias meno-res e outros quatro valores de medias maiores, como mostrao grafico da figura 4.

Figura 4. Disposicao dos valores das mediasmaiores e menores.

2.4. Calculo das medias de vizinhancas em ima-gens com diversas resolucoes

Depois, foram encontradas novas medias utilizando osmesmos procedimentos alterando-se apenas a resolucaoda imagem mas com a subimagem de tamanho 3x3.

225

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 237: III WVC 2007

Ou seja, partindo-se da resolucao de 900x1000 (Totali-zando 900.000 pixels) para: (1) 640x480 pixels de resolucao(307.200 pixels), (2) 320x240 pixels de resolucao (76.800pixels) e (3) 160x120 pixels de resolucao (19.200 pi-xels).

A interpolacao e um processo fundamental no proces-samento de imagens [1] e o metodo NEAREST NEIGH-BOR foi adotado devido ao fato de serem atribuıdos aospixels da imagem redimensionada valores sem nenhumamodificacao. Para cada alteracao do tamanho da imagem,foram realizados os mesmos procedimentos especificadospara adquirir as medias das vizinhancas com subimagensde tamanhos variados. Totalizando assim, outros quatro va-lores de medias menores e outros quatro valores de mediasmaiores relativos ao tamanho da subimagem 3x3 em cadauma das 4 resolucoes da colcha.

2.5. Segmentacao considerando tamanho davizinhanca nas subimagens e resolucoes daimagem Colcha de Retalhos

Os valores das medias obtidas sao utilizadas para iden-tificar se os pixels contidos nas imagens a serem analisa-das sao ou nao sao pele humana. Assim, com uma camerafotografica, foram obtidas diversas imagens (variando en-tre 640x480 e 2048x1536 de resolucao, conforme mos-tra a figura 5) para serem analisadas, nas mais variadasformas: dentro de locais fechados, sob diferentes tipos deiluminacoes dentre outras.

Figura 5. Imagens obtidas para a realizacaodos testes.

O processo de identificacao adotou o mesmo procedi-mento realizado no calculo para encontrar os maiores e me-nores valores das medias de vizinhancas. A diferenca e queesse novo algoritmo faz essa segmentacao utilizando os va-lores das medias encontradas variando-se o tamanho dasvizinhancas na colcha de retalhos, conforme equacao:

H min <= H pixel pele <= H max (3)

Assim, foram analisados os pixels de pele e nao pele nasmesmas imagens utilizando-se as medias obtidas em: (1) di-ferentes tamanhos de subimagens (3x3, 5x5, 7x7 e 9x9) e

em apenas uma resolucao da colcha de retalhos (900x1000),(2) apenas um tamanho de subimagem (3x3) e em diferen-tes resolucoes da colcha de retalhos (900x1000, 640x480,320x240 e 160x120) e (3) o relacionamento entre (1) e (2).

3. Resultados

3.1. A geracao da colcha de retalhos

Uma nova colcha de retalhos (novo padrao) foi cons-truıda e verificada sua integridade e se as suas carac-terısticas eram apropriadas a classificacao de pele, taiscomo: (1) se os valores dos pixels atendem as especificacoesde pele mencionadas por Kovac e outros [7]; e (2) se exis-tiam espacos (ou pixels) em branco que poderiam alte-rar os resultados. Para resolver problemas relativos a estascondicoes, novos pedacos de imagens de pele humana fo-ram adicionados substituindo os pedacos de imagensirregulares. Novas verificacoes eram feitas ate a con-sistencia definitiva desta imagem padrao. Na criacao danova imagem os aspectos inicialmente observados fo-ram: (1) a quantidade de pedacos de pele humanacontidas nela, e (2) o tamanho da imagem (900x1000 pi-xels de resolucao). A intencao de construir uma ima-gem com essas caracterısticas era de ter mais parametros,ou ter mais valores de media, que influenciassem nos re-sultados do que ´e ou nao e pixels de pele humanaem imagens. Depois de pronta, a nova colcha de reta-lhos de pele humana foi utilizada como padrao deste tra-balho onde observou-se que o aumento no numero deamostras de pele dentro desta imagem tem pequena in-fluencia na variacao das medias.

3.2. Variacao do tamanho da vizinhanca

Os valores das medias menores e maiores sofreramvariacoes em cada processamento relativo aos diferentes ta-manhos das subimagens (3x3, 5x5, 7x7 e 9x9) na resolucaode 900x1000 pixels. Conforme o tamanho da subima-gem e aumentado (indo do 3x3 para o 9x9), o valor dasmedias menores aumenta e o valor das medias maio-res diminui. E os valores das medias menores aumen-tam com a reducao da resolucao da colcha de reta-lhos e os valores das medias maiores diminuem. Destaforma, quando se segmenta imagens com valores obti-dos da subimagem de tamanho 3x3, encontra-se maispixels que nao sao pele humana do que quando se seg-menta a mesma imagem com valores obtidos de umasubimagem de tamanho maior. Em contrapartida, para me-lhor classificar, ou melhor segmentar uma imagem com oque e pele humana, a subimagem de tamanho 9x9 e me-lhor. Como mostra a figura 6.

226

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 238: III WVC 2007

Figura 6. Segmentacao com valores daresolucao da Colcha de Retalhos em900x1000 e diferentes subimagens.

3.3. Variacao da resolucao da colcha de retalhos

Obteve-se medias tambem pelo dimensionamento daimagem da colcha de retalhos atraves do metodo deinterpolacao pelo vizinho mais proximo (NEARESTNEIGHBOR). A segmentacao realizada com novos valo-res das medias obtidas pela alteracao da resolucao da colchade retalhos (900x1000, 640x480, 320x240 e 160x120), ape-nas com a subimagem de tamanho 3x3, gerou resultadosnao muito diferentes das anteriores. Ou seja, quando se seg-menta imagens com valores obtidos da colcha de retalhoscom uma resolucao maior (tamanho 900x1000, por exem-plo), encontra-se mais pixels que nao sao pele humanado que quando se segmenta a mesma imagem com valo-res obtidos da colcha de retalhos com uma resolucao menor(160x120 por exemplo). Como mostra a figura 7.

3.4. Verificacao completa

Os testes utilizando-se os valores das medias (maiorese menores) fixando-se a resolucao e variando-se o tama-nho das subimagens e fixando-se o tamanho da subima-gem e variando-se a resolucao obtiveram praticamente osmesmos resultados com pouca ou nenhuma variacao. Coma finalidade de aumentar a eficiencia, foi utilizada a imagemda colcha de retalhos em diferentes resolucoes juntamentecom os diferentes tamanhos de subimagens. Pode-se ob-servar que a influencia do aumento do tamanho da subima-gem, na segmentacao de pele humana, e maior do que a in-fluencia no aumento da resolucao da colcha de retalhos. Aocontrario, o aumento da resolucao da colcha de retalhos e in-verso, relativamente a segmentacao correta de pixel de pelee nao pele, ou seja, dentro de um tamanho de subimagem,

Figura 7. Segmentacao com valores dasubimagem de tamanho 3x3 e diferentesresolucoes da Colcha de Retalhos.

o resultado e melhor em menores resolucoes. Como mos-tram as figuras 8 e 9.

Figura 8. Segmentacao com valores das di-ferentes subimagens e diferentes resolucoesda Colcha de Retalhos.

4. Conclusoes

Apesar de serem muitos os trabalhos desenvolvidos parasegmentacao de pele em imagens coloridas, o trabalho de-senvolvido por Kovac e outros [7] foi a motivacao para odesenvolvimento deste. Suas equacoes para segmentacao de

227

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 239: III WVC 2007

Figura 9. Segmentacao com valores das di-ferentes subimagens e diferentes resolucoesda Colcha de Retalhos.

pele humana foram usadas como base para comparacoes deresultados, como mostra a figura 10.

Assim, os resultados obtidos pelas restricoes de Kovace outros [7] nao atingiram, ou melhor, nao garantem asegmentacao correta em 100 por cento dos casos. Na mai-oria das imagens, este trabalho mostra que nao somente oacerto de pixels que sao pele foi maior, mas tambema classificacao de pixels que nao sao pele. Alem disso,as restricoes de Kovac e outros [7] sao fixas, o que segu-ramente dara resultados inferiores, relativamente a nossaabordagem, quando o conjunto de imagens utilizados tivercaracterısticas restritivas com relacao a iluminacao, foco,distancia do objeto, etc.

De uma forma geral, este trabalho obteve resultados sa-tisfatorios pelo fato de demonstrar que a segmentacao depele humana pode ser melhor quando nao sao fixados va-lores, parametros, tamanhos ou quaisquer variaveis que sir-

Figura 10. Segmentacao realizada pela pro-posta de [7] e deste trabalho.

vam para o auxılio na segmentacao.

Referencias

[1] A. Bovik. Handbook of Image and Video Processing. Aca-demic Press, 2000.

[2] D. Brown, I. Craw, and J. Lewthwaite. A som based appro-ach to skin detection with application in real time systems.BMVC01, 2001.

[3] T. Caetano and D. Barone. A probabilistic model for the hu-man skin-color. ICIAP01, pages 279–283, 2001.

[4] T. Caetano, S. Olabarriaga, and D. Barone. Do mixture mo-dels in chromaticity space improve skin detection? PatternRecognition, 36(12):3019–3021, 2003.

[5] M. Jones and J. Rehg. Statistical color models with applica-tion to skin detection. J. Comput. Vision, 46(1):81–96, 2002.

[6] S. Kawato and J. Ohya. Automatic skin-color distributionextraction for face detection and tracking. Fifth Internatio-nal Conference on Signal Processing, 2:1415–1418, 2000.

[7] J. Kovac, P. Peer, and F. Solina. Human skin colour cluste-ring for face detection. EUROCON, 2003.

[8] K.W.Wong, K. Lam, and W. Siu. A robust scheme for livedetection of human faces in color images. Signal Process.Image Commun., 18(2):103–114, 2003.

[9] A. Martinez and R. Benavente. The ar face database. Tech-nical report, CVC Technical Report, 1998.

[10] M. Seow, D. Valaparla, and V. Asari. Neural network-basedskin color model for face detection. Proceedings of the 32ndWorkshop on Applied Imagery Pattern Recognition, 2003.

[11] G. Sharma. Imaging Handbook. CRC Press, 2003.[12] L. Sigal, S. Sclaroff, and V. Athitsos. Skin color-based video

segmentation under time-varying illumination. IEEE Trans.Pattern Anal. Mach. Intell., 26(6), 2004.

[13] Y. Wang and B. Yuan. A novel approach for human face de-tection from color images under complex background. Pat-tern Recognition, 34(10):1983–1992, 2001.

228

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 240: III WVC 2007

Reconhecimento Facial Utilizando a Rede Neural Neocognitron

Cristiane Oliveira de Santana e José Hiroki Saito

Universidade Federal de São Carlos - Departamento de Computação - Grupo de Arquitetura e

Processamento de Imagens e Sinais (GAPIS)

cristiane_santana, [email protected]

Resumo

Este trabalho apresenta uma aplicação da rede

neocognitron no processamento de imagens faciais num

sistema de reconhecimento facial. O sistema consiste

basicamente no uso da rede neocognitron com uma

classe de saída, para a obtenção do vetor de

características correspondente à classe. O conjunto de

vetores formam um banco de dados para a fase de

reconhecimento. Nos experimentos foi verificada a

taxa de reconhecimento do sistema implementado.

Apesar do número reduzido de amostras de treinamento

para cada classe, o resultado foi satisfatório.

Abstract

This work shows one application of neocognitron

network in the face images processing on a system of

face recognition. The system uses one output

neocognitron, to obtain the characteristic vector of the

corresponding input image. The resulting vectors set

composes a database to be used at the recognition

phase. As a result it was verified the recognition rate of

the implemented system. Besides of the reduced amount

of training patterns for each class, the result was

satisfactory.

1. Introdução

As redes convolucionais possuem a habilidade de

lidar com deformações e variações nos dados de entrada

devido à combinação, em sua arquitetura das idéias dos

campos receptivos, compartilhamento de pesos e

subsampling temporal ou espacial [1].

A rede neocognitron, por sua vez, é uma rede

convolucional proposta por Fukushima para o

reconhecimento de caracteres manuscritos [2]. Sofreu

alterações ao longo do tempo sendo, em 2003,

aperfeiçoada para que seu treinamento pudesse ser

incremental fazendo com que sua estrutura possa ser

modificada numa segunda fase de treinamento [3].

Alguns trabalhos tem sido realizados utilizando-a como

em 1998, quando Neubauer combinou neurônios

perceptron com o neocognitron [4] ou mesmo em 2005,

quando Saito et al. [5] aplicou a rede neocognitron no

reconhecimento facial. O presente trabalho discute os resultados obtidos na

aplicação da rede neocognitron no reconhecimento

facial, usando o banco de imagens CMU-PIE (Carnegie

Mellon University Pose Illumination and Expression

Database). Na seção seguinte é apresentada a rede

neocognitron e sua forma de aprendizado, a seguir na

terceira seção é apresentada a base de imagens faciais

CMU-PIE Database. Na quarta seção é apresentado o

sistema de reconhecimento facial a ser utilizado nos

experimentos seguido pela quinta seção onde são

realizados os experimentos. Por fim, são apresentadas

as conclusões e trabalhos futuros.

2. Neocognitron

A rede neocognitron é formada por vários estágios

que possuem duas camadas cada um, exceto o estágio

que representa a camada de entrada: uma camada de

células-S, responsável pela extração de características e

uma camada de células-C, responsável pela tolerância

às distorções do padrão de entrada. Cada camada é

composta por planos celulares de mesmo tamanho.

Cada estágio possui ainda um plano de células-V

responsáveis por prover informação para as células-S

sobre a quantidade de atividade presente em cada região

de entrada de cada célula-S.

Sua auto-organização é baseada em dois princípios:

aprendizado por competição onde as células competem

pela extração de uma característica e pelo princípio de

que uma célula vencedora (seed cell) não apenas cresce

como também controla a sua vizinhança.

Cada conexão possui um peso associado. As

conexões entre células-C de um estágio l-1 com as

células-V do estágio l e as conexões de células-S de um

estagio l com as células-C do mesmo estágio são

conhecidos como pesos-c e pesos-d, respectivamente,

invariantes e determinados no início do treinamento da

rede. Nas demais conexões entre as células-C de um

estágio l-1 com as células-S de um estágio l são

representadas pelos pesos-a e as conexões entre as

células-V de um estágio l e as células S do mesmo

estágio são representados pelos pesos-b, ambos

variantes e responsáveis por armazenar as

características dos padrões, e suas atualizações são

obtidas segundo as equações 1 e 2:

1 1 1( , , ) ( ) ( , )l l l l l Cl la k i k q c i u k in (1)

( ) ( )l l Clb k q v n (2)

onde e indicam a posição e o plano celular do

neurônio vencedor, kl-1 o plano celular do estágio

anterior em que o neurônio é conectado, i é a posição

lkn

229

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 241: III WVC 2007

da conexão dentro da região de conexão, ql é a taxa de

aprendizado, c/ o peso-c correspondente, ucl-1 é o valor

da entrada na conexão considerada, e vcl é o valor da

célula V conectada.

Para a computação de uma célula-S, uSl(k,n), na

posição n, em um plano kl de um estágio l utiliza-se os

valores uCl-1 das células-C de todos os planos celulares

do estágio precedente e os respectivos pesos-a, al,

numa dada área de conexão S, segundo a equação 3:

1 1 1

1

11

1 ( , , ) ( , )

( , ) 11 1 ( ) ( )

l l l Cl l

Sl l

l l Cl

Kl

k i Sl l

a k i k u k i

u kb k v

n

nn

(3)

onde é o limiar responsável pela habilidade de extrair

características onde, quanto maior o fator de inibição

menor sua generalização e como função de ativação

definida por:

, 0( )

0 , 0

x se xx

se x (4)

As células-V são obtidas segundo a equação:

2

1 1

1

11

( ) ( ) ( , )Cl l Cl l

Kl

k i Sl l

v c i u k in n

(5)

As células-C por sua vez são obtidas através do

cálculo:

( , ) ( ). ( , )Cl l l Sl l

i Sl

u n k d i u n i k (6)

em que a função é definida como:

, 0

1( )

0, 0

xse x

xx

se x

(7)

Entretanto, para se realizar o treinamento dentro de

um estágio, para a inserção de novos planos celulares a

cada novo fator ou característica extraída, é necessário

calcular os valores das células-S de todos os planos

celulares já existentes, ou seja, kl=1...Kl. Após isso, são

calculados os valores das células-S para um plano

auxiliar denominado plano de seleção de semente

(Seed-Selection-Plane SSP, em inglês), que contem

pequenos pesos-a e pesos-b, nas conexões de entrada,

para a obtenção de um novo fator.

Partindo do princípio da competição, já mencionado,

é verificada a célula vencedora do SSP correspondente

à célula com valor de resposta máximo. Caso esta célula

corresponda a um fator já existente, é realizada uma

nova busca por uma célula vencedora.

Encontrada uma célula vencedora que não coincida

com um fator já existente, seus pesos-a e pesos-b são

reforçados e um novo plano celular é criado, semeando

células com mesmos pesos em todas as posições. Em

seguida, incrementa-se o número Kl de planos celulares

já treinados. Encontrado um vencedor seus pesos-a e

pesos-b são então reforçados e um novo plano criado.

3. Base de imagens CMU-PIE A base CMU-PIE contém mais de 40.000 imagens

coletadas entre outubro e dezembro de 2000. Trata-se

de imagens de 68 indivíduos com treze variações de

pose, três de expressão e quarenta e três variações de

iluminação [6].

Cada imagem possui uma resolução de 640x486

pixels e área facial correspondente a ¼ deste total (em

torno de 320 x 243 pixels) na posição central da

imagem.

No desenvolvimento do presente trabalho foram

utilizadas imagens frontais de dez classes distintas de

imagens faciais, exemplificadas pela Figura 1.

Figura 1. Exemplos de padrões utilizados e suas respectivas classes. 4. Sistema de Reconhecimento Facial O sistema de reconhecimento facial proposto é

composto dos seguintes módulos: detecção de face,

alinhamento da face detectada, extração de

características, e comparação de características com as

contidas num banco de dados (Figura 2).

A operação do sistema consiste de duas fases. A

primeira fase é a de treinamento, que consiste na

obtenção de vetores de características das classes, que

são armazenados no módulo de banco de dados. A

segunda fase é a de reconhecimento, em que a imagem

contendo as faces a serem reconhecidas são

apresentadas na entrada do sistema, as mesmas são

detectadas, alinhadas, as características são obtidas e

230

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 242: III WVC 2007

comparadas com os vetores contidos no banco de dados.

Figura 2. Sistema de reconhecimento facial

[7].

5. Experimentos Nos experimentos, as partes de detecção facial e

alinhamento foram facilitadas pelo uso de um

subconjunto da base de dados CMU-PIE com imagens

faciais numa determinada pose.

Inicialmente, para utilização da base de dados fez-se

necessário o pré-processamento a fim de obter imagens

de resolução 57 x 57 pixels da região facial devido à

utilização do simulador desenvolvido por Saito et al.

[5], cuja estrutura foi alterada para apenas uma classe

de saída como mostra a figura 3, para a obtenção dos

vetores de características das classes utilizadas.

padrãode

entradaU0

Imagemde

contrasteUG

redução

US1

UC1 US2US2' UC2

US3

UC3

saída

Classe

57x57

57x5720x20

20x20

13x1313x13

13x13 7x7 7x7

7x73x3

3x3

1x1

Figura 3. Estrutura da rede utilizada para realização dos experimentos

Para a realização do treinamento foram escolhidas

dez classes de padrões com dez padrões cada. O

treinamento foi realizado com a entrada da imagem da

região facial de 57x57 pixels na rede neocognitron,

resultando na obtenção de um vetor de características,

conforme mostra o diagrama da figura 4. O vetor de

características é composto do conjunto de todos os

pesos variáveis, pesos-a e pesos-b, da rede neocognitron

resultante.

Figura 4. Diagrama da fase de treinamento.

A fase de reconhecimento foi realizada, usando a

seqüência mostrada no diagrama da figura 5, onde a

imagem da região facial a ser identificada é introduzida

na rede neocognitron. A rede é executada diversas

vezes, sendo que a cada etapa é usado um vetor de

características diferente do banco. As respostas da rede

para cada uma das etapas são comparadas entre si, e a

de maior valor corresponde à classe correspondente à

imagem de entrada.

Figura 5. Diagrama da fase de

reconhecimento. 6. Resultados Obtidos

Experimento 1 - primeiramente foram usadas as

mesmas amostras de imagens faciais usadas para

treinamento, para a fase de reconhecimento.

O experimento obteve os resultados apresentados na

Tabela 1 onde o termo configuração refere-se ao vetor

de características obtido no treinamento das classes de

padrões, REC refere-se ao reconhecimento dos padrões

pertencentes à classe, NREC o não-reconhecimento de

padrões pertencentes à classe e ERRO a classificação de

forma errônea de padrões não-pertencentes à classe

como pertencentes à mesma.

Tabela 1. Resultados do experimento 1. Configuração REC NREC ERRO

01: Classe 0 81,82% 18,18% -02: Classe 1 90,91% 9,09% -03: Classe 2 27,23% 72,72% -04: Classe 3 100% 0% 3,03%05: Classe 4 100% 0% 3,03%06: Classe 5 81,82% 18,18% -07: Classe 6 81,82% 18,18% -08: Classe 7 100% 0% -09: Classe 8 100% 0% -10: Classe 9 81,82% 18,18% -

Como pode ser visto na Tabela 1 nas configurações

da classe 3, 4, 7 e 8 foi obtida uma taxa de 100% de

reconhecimento, ou seja, nessas configurações todos os

padrões pertencentes à classe foram reconhecidos

quando utilizadas suas configurações correspondentes.

Apenas as configurações 4 e 5 obtiveram padrões não-

pertencentes à classe sendo reconhecido como

pertencente, sendo que a porcentagem encontrada

refere-se a classificação de 3 padrões, erroneamente,

231

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 243: III WVC 2007

num universo de 99 padrões não pertencentes à classe.

A configuração 03 obteve menor taxa de

reconhecimento, sendo que a porcentagem encontrada

refere-se a oito padrões num universo de 11 padrões

pertencentes à classe.

Experimento 2 consiste no resultado da aplicação

de padrões não utilizados durante o treinamento da rede

na operação de reconhecimento das classes.

Tabela 2. Resultados do experimento 2. Configuração Reconhecimento do padrão

não-treinado 01 Sim 02 Sim 03 Não 04 Sim 05 Não 06 Não 07 Sim 08 Sim 09 Sim 10 Não

A tabela 2 apresenta os resultados obtidos neste

segundo experimento em que foram obtidos 60% de

reconhecimento dos padrões não apresentados durante o

treinamento restando 40% para os padrões não-

reconhecidos.

7. Conclusões

Com este trabalho a rede neocognitron mostrou-se

viável para a tarefa de reconhecimento de imagens

faciais.

Observa-se que os resultados devem ser melhorados

com a utilização de maior número de padrões de

treinamento por classe, fazendo com que a rede consiga

extrair maior número de características de cada classe,

resultando numa representação mais adequada. A configuração 03, conforme tabela1, apresentou

maior taxa de erro de classificação que pode ser

explicada pela complexidade da imagem frente às

demais devido a existência de barba e óculos no

indivíduo representado pela classe 2 da base CMU-PIE

podendo obter melhores resultados com a diminuição

do limiar de generalização utilizado durante a fase de

treinamento fazendo com que a rede seja capaz de

realizar melhor generalização do padrão apresentado.

Observou-se ainda que a rede obteve bons resultados

no segundo experimento, confirmando a habilidade da

rede em reconhecer padrões distorcidos mesmo com a

utilização de padrões não-treinados durante a fase de

reconhecimento. Esses resultados podem ainda serem

melhorados, pelas mesmas razões descritas, com a

utilização de maior número de padrões de treinamento,

e também com a diminuição do limiar de disparo, usado

no treinamento.

8. Agradecimentos Os autores agradecem a Fundação de Amparo à

Pesquisa do Estado da Bahia (FAPESB) pelo apoio

financeiro concedido.

9.Referências [1] Lecun, Y. and Bengio, Y. Convolutional Networks for

Images, Speech and Neural Networks

(Editor) The Handbook of Brain Theory and Neural

Networks. 2ª ed. Cambridge: M.I.T. Press. 2003, pp. 276-279

(Série Bradford Books).

[2] -organizing neural

network model for a mechanism of pattern recognition

Biological Cybernetics, v.36, n.

4, pp. 193-202, 1980.

The Handbook of

Brain Theory and Neural Networks. 2ª ed. Cambridge: M.I.T.

Press. 2003, pp. 715-719 (Série Bradford Books).

IEEE Transactions on

Neural Networks, v. 9, n. 4, pp. 685-696, 1998.

[5] Saito, J. H.; Carvalho, T. V.; Hirakuri, M.; Saunite, A.;

Ide, A. N. and Abib, S. Using CMU PIE Human Face

Database to a Convolutional Neural Network

Neocognitron . European Symposium on Artificial Neural

Networks. Bruges, pp. 491-496 2005.

[6] Sim, T.; Baker, S. and Bsat, M. The CMU Pose,

Illumination and Expression Database . IEEE Transaction on

Pattern Analysis and machine Intelligence, v. 25, n. 12, pp.

1615-1618, 2003.

[7] LI, Z. S. and JAIN, A. K. Chapter 1: Introduction. . In:

_______. Handbook of Face Recognition. New York:

Springer, 2005. p. 1-11

232

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 244: III WVC 2007

Método da Determinação da Dimensão Fractal por Fourier e Análise Multiescalapara Reconhecimento de Padrões

Leandro Paganotti Brazil, Leonardo A. Andrade, Odemir M. BrunoUSP - Universidade de São Paulo

ICMC - Instituto de Ciências Matemáticas e de ComputaçãoSCC - Departamento de Ciência da ComputaçãoCx Postal 668 - CEP 13560-970 São Carlos (SP)

(leandro,landrade,bruno)@icmc.usp.br

Resumo

A Dimensão Fractal de um objeto possui uma grande ri-queza de informação em suas diferentes escalas espaciais.Este trabalho tem como propósito o estudo e validação deum método para o cálculo de Dimensão Fractal fazendo ouso da Transformada de Fourier. Com base nesse método,apresenta-se uma análise da dimensão de um objeto fractalem suas diversas escalas de complexidade, isto é, a Dimen-são Fractal MultiEscala. Esta, por sua vez, demonstrou-seser uma eficiente ferramenta para o reconhecimento de pa-drões. Foram realizados testes para o cálculo das dimen-sões de alguns objetos clássicos da geometria fractal, taiscomo Koch, TreeLike e entre outros. Por fim, são apresen-tados resultados de testes para reconhecimento de padrõesusando a curva multiescala sobre texturas de Brodatz.

1. Introdução

A geometria euclidiana define e estuda formas ditascomo perfeitas (pontos, retas, quadrados, círculos entre ou-tras), contudo, não é suficiente para classificar algumas for-mas presentes na natureza.

Essas formas possuem como base, regras simples deconstrução, mas que ao serem repetidas inúmeras vezes, ge-ram figuras de uma complexidade espantosa [1]. Essas no-vas formas apresentam auto-semelhança em nível de escala,ou seja, o conjunto total é constituído por pequenas réplicasdele mesmo independente da escala utilizada para visualizá-lo [8]. O nome dado a essas formas foi cunhado por Man-delbrot, sendo chamadas de fractais [9].

Uma característica importante dos fractais é relativa asua dimensão. Os objetos ditos euclidianos possuem sua di-mensão inteira, enquanto os objetos fractais possuem suadimensão fracionada.

O objetivo geral deste trabalho é o estudo e a validaçãode um método para o cálculo de dimensão fractal fazendoo uso da Transformada de Fourier. Com base nesse método,apresenta-se uma análise da Dimensão Fractal MultiEscalae seu uso para o reconhecimento de padrões. Serão apresen-tados testes com o método de Fourier para objetos clássicosda geometria fractal e, também, análise multiescala para re-conhecimento de padrões sobre as texturas de Brodatz.

Este trabalho está organizado na seguinte forma: na se-ção 2 serão vistos os conceitos básicos sobre a dimensãofractal; na seção 3 será mostrado o método de Fourier parao cálculo da dimensão fractal; na seção 4 é mostrado umaanálise multiescala para o método proposto; na seção 5 se-rão introduzidos alguns conceitos sobre texturas; na seção 6serão mostrados alguns resultados obtidos com o método deFourier e, também, com a análise multiescala para reconhe-cimento de padrões e, porfim, na seção 7 serão discultidosos resultados obtidos com o método proposto.

2. Dimensão Fractal

A dimensão de um objeto fractal é um valor fracionário,pois este valor indica o grau de complexidade ou irregulari-dade que uma imagem possui, ou seja, o quanto do espaçofísico ela ocupa [7] [11].

Seja uma linha de comprimento L e outra de compri-mento u, de modo que L > u. Sobrepondo a linha u so-bre a linha L até cobri-la completamente, encontra-se umvalor N = L/u, que nada mais é que uma medida da li-nha.

Da mesma forma que é feito para linha, pode ser feitopara um quadrado de lado L, sobrepondo-se quadrados me-nores de lado u, obtendo a mesma relação N = (L/u)2. Demodo geral temos a seguinte relação:

N = (L/u)D (1)

233

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 245: III WVC 2007

Extraindo o logaritmo de ambos os lados obtemos:

D =ln(N)

ln(L/u)(2)

onde D é a dimensão fractal do objeto. Para um objeto eu-clidiano D é inteiro, para um fractal D é fracionário.

3. Dimensão Fractal pela Transformada deFourier

Em análises de uma imagem, esta é considerada comosendo uma função discreta f(x, y), onde x e y são as coor-denadas de pixel na horizontal e vertical respectivamente. ATransformada Discreta de Fourier é aplicada para transfor-mar uma imagem 2D em uma imagem F (u, v) correspon-dente no domínio da freqüência, e é dada como:

F (u, v) =1

M.N

M−1∑x=0

N−1∑y=0

f(x, y) ∗ e−j∗2π(ux/M+vy/N)

(3)onde u e v são as coordenadas de pixel da imagem no do-mínio da freqüência. A magnitude da imagem no domínioda freqüência é dado como:

M(u, v) =√

R(u, v)2 + I(u, v)2 (4)

onde R(u, v) é a parte real e I(u, v) a parte imaginária dafunção F (u, v). A fase da imagem no domínio da freqüên-cia é dado como:

Φ(u, v) = arctan

(I(u, v)

R(u, v)

)(5)

A dimensão de um objeto fractal pode ser obtida pelo re-lacionamento linear do logaritmo da magnitude com o loga-ritmo da fase. Esse relacionamento é representado por umareta u(t) aproximada. Assim, a dimensão fractal é D = −α,onde α é a inclinação da reta u(t) aproximada [4].

Para gerar o gráfico da dimensão fractal, é necessárioinicialmente calcular o histograma da fase. Variando o ân-gulo de 0 a 180o, com incremento de 1o, é possível calcu-lar o valor da fase para cada um desses ângulos, e seu va-lor será dado pelo arco-tangente da parte imaginária dividapela parte real. Os valores obtidos geram o eixo horizon-tal do gráfico citado. O eixo vertical é calculado pelo acú-mulo da magnitude, que é dado pela raiz quadrada do es-pectro na fase do domímio da imagem.

4. Análise Multiescala

A curva log-log u(t) gerada pelo método para cálculo dedimensão fractal por Fourier possui uma grande riqueza dedetalhes em suas diferentes escalas espaciais. Aplicando a

essa curva uma transformação multiescala U(u(t), a), ondea é a escala de observação, obtemos uma função de escalaespacial relacionada à curva e não mais a um valor numé-rico [6] [11]. A essa nova função gerada dá-se o nome deDimensão Fractal MultiEscala(DFM).

O uso da transformação multiescala sobre u(t) permiteanalisar não apenas um valor da dimensão para um objetofractal, mas sim, uma função que representa os seus dife-rentes níveis de fractalidade para as diferentes escalas ob-servadas [6] [10].

Essa curva é obtida a partir da primeira derivada da curvau(t), onde DFM é a dimensão fractal.

DFM =du(t)

dt(6)

Validação da derivada: a derivada numérica utiliza ape-nas a vizinhança de um ponto para o cálculo da derivada, aderivada no espectro leva em consideração todos os pontosda curva, garantindo uma maior precisão do resultado[1].

Diferenciação Multiescala Baseada em Fourier: é ummétodo que permite extrair características MultiEscala deum sinal por meio da prorpiedade Derivativa da Transfor-mada de Fourier. Esse método é a transformada de fourierda função, diferenciada no domínio da freqüência, junta-mente com uma suavização gaussiana e a Transformada In-versa de Fourier [2] [3]. Obtemos a seguinte equação:

du(t)

dt= F−1Fu(t)Ga(f)(j2πf) (7)

onde t e u(t) são, respectivamente, os logaritmos da mag-nitude e da fase da imagem do método de dimensão frac-tal por Fourier, f é a frequência, j é o número imaginário eGa(f) é a transformada de Fourier da função gaussiana dedesvio padrão a.

Para garantir um bom resultado do método de deriva-ção, é necessário levar em consideração alguns aspectosimportantes. Deve-se garantir que o sinal analisado possuiuma boa amostragem. Para isso, basta desconsiderar os pri-meiros pontos do sinal, pois a amostragem nesses pontos ébaixa. Além disso, a curva gerada pelo método de Fourieré uma reta aproxima de coeficiente angular negativo, por-tanto deve-se inverter o sinal de inclinação da reta, comoobservado na Figura 1.

Outro fator importante a ser considerado na derivada deFourier é em relação a descontinuidade nas extremidades dosinal. Esse Fenômeno é conhecido como Gibbs [2]. Para re-solver tal problema, usa-se o método de replicação e refle-xão de sinal, afim de fazê-lo contínuo para a transformadade Fourier. Esse método garante a continuidade do sinal nointervalo [2N − 1, 3N ] [1], como observado na Figura 2.

Finalmente, depois de resolver tais problemas acima,pode-se então extrair a derivada do sinal pelo método de

234

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 246: III WVC 2007

Figura 1. Curva log-log gerada pelo métodocom o inverso da sua inclinação. Parte comfundo cinza desconsiderada para o métodode derivada por Fourier.

Figura 2. Curva log-log gerada pelo métodocom o inverso da sua inclinação e o esquemade replicação e reflexão.

Fourier. A Dimensão Fractal Multiescala é obtida comosendo

DFM(t) =du(t)

dt(8)

onde u(t) é a curva gerada pelo método de Fourier.

5. Análise de Textura

As texturas, assim como os fractais, se caraterizam pelarepetição de um padrão. No caso das texturas, o padrãoé aplicado sobre uma determinada região, sendo que estepode sofrer pequenas variações.

A textura se apresenta como um ótimo descritor de re-giões, e contribui para uma maior precisão para os proces-

sos de reconhecimento, descrição e classificação de ima-gens [1], contudo, o processo de reconhecimento é carocomputacionalmente [5].

5.1. Assinaturas

A assinatura de uma imagem pode ser definida comouma função ou matriz de menor complexidade que possarepresentar ou caracterizar a mesma, com a qual é possí-vel reconhecer se um trecho de um padrão é similar a ou-tro.

As técnicas utilizadas para determinação da assinatura,envolvem transformações T : I2 → R ou T : I2 → I , ondea função ou vetor obtido caracteriza a imagem.

6. Resultados Experimentais

Os resultados apresentados foram implementados com osoftware MatLab, e o código foi executado em um compu-tador Pentium IV de 3,4 GHz com 2 GB de RAM. Foramrealizados cálculos de dimensão fractal utilizando uma im-plementação do método de Fourier para os objetos da Fi-gura 3. Em seguida, os resultados são comparados com osresultados obtidos pelo método de Minkowiski implemen-tado em [1].

Figura 3. Imagens testadas com o método deFourier implementado. (a) Quadrado, (b) Box,(c) Koch (n=4), (d) Triângulo de Sierpinski e(e) TreeLike.

235

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 247: III WVC 2007

6.1. Comparações da Dimensão Fractal por Fou-rier, Minkowsky e Boxcounting

A seguir, são mostrados os resultados do cálculo dadimensão fractal pelo método de Fourier implementado.O primeiro cálculo feito foi realizado para um quadrado,sendo o valor encontrado igual a 2.103.

O gráfico mostrado na Figura 4 indica pelo inverso desua inclinação, a dimensão fractal da Figura Box. O valorencontrado foi de 2.056.

Figura 4. Dimensão de Fractal da figura Boxpelo método de Fourier. Desvios da ordem de5% e regressão linear na forma y = ax + b.

Foi calculada a dimensão fractal das curvas de Koch, doTriângulo de Sierpinski e da Figura TreeLike, sendo os va-lores encontrados de 1.444, 1.667 e 1.527 respectivamente.

A Tabela 1 mostra os resultados encontrados pelo mé-todo de Fourier, Box e Minkowski, além do valor teórico dadimensão fractal para as figuras de testes.

Figura Fourier Minkowski Teorico

Quadrado 2.103 1.78 2Box 2.056 1.4 1.464

Koch(n = 4) 1.444 1.27 1.262Sierpinski 1.667 1.56 1.585TreeLike 1.529 1.37 1.465

Tabela 1. Comparações de métodos que cal-culam a dimensão fractal. Os resultados deMinkowski utilizaram raio = 20 e foram extraí-dos de [1]

6.2. Multiescala e Reconhecimento de Padrões

O método de determinação da dimensão fractal multies-cala por Fourier, determina uma assinatura geométrica da fi-gura em sua curva multiescala, e isto pode ser utilizado parareconhecimento de padrões. Com a implementação destemétodo, é possível realizar a identificação de determinadatextura. Para testar a implementação realizada foram utili-zados blocos de 256x256 pixels retiradas de determinadasimagens de textura de Brodatz, como mostram as Figuras 5,6, 7

Figura 5. Bloco 1 - Imagens retiradas do pa-drão 1 de Brodatz testadas com o método deDimensão Fractal Multiescala por Fourier im-plementado. (a) Recorte 1, (b) Recorte 2, (c)Recorte 3, (d) Recorte 4.

Para as figuras originais com os padrões de Brodatz (emresolução 640x480 pixels) foi gerada uma curva multies-cala com a técnica utilizada, e em seguida um gráfico comas curvas geradas para cada um dos três blocos. Os resulta-dos podem ser observados nas figuras 8, 9, 10, 11, 12, 13

Se ajustarmos a escala dos gráficos em relação ao eixoda escala de qualquer uma das curvas geradas por recortesdo padrão de Brodatz, e em seguida realizarmos o soma-tório das difenças entre os valores da dimensão fractal dascurvas de recorte e o da assinatura, a menor diferença in-dica a qual padrão o recorte pertence, o que valida o mé-todo para reconhecimento de padrões.

7. Conclusões

O cálculo da dimensão fractal por Fourier implementadoutilizou a mesma metodologia para geração de resultados,e podemos observar que a distribuição dos pontos do loga-

236

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 248: III WVC 2007

Figura 6. Bloco 2 - Imagens retiradas do pa-drão 20 de Brodatz testadas com o métodode Dimensão Fractal Multiescala por Fourierimplementado. (a) Recorte 1, (b) Recorte 2,(c) Recorte 3, (d) Recorte 4.

Figura 7. Bloco 3 - Imagens retiradas do pa-drão 23 de Brodatz testadas com o métodode Dimensão Fractal Multiescala por Fourierimplementado. (a) Recorte 1, (b) Recorte 2,(c) Recorte 3, (d) Recorte 4.

Figura 8. Curva Multiescala para o padrão 1de Brodatz.

Figura 9. Curvas Multiescalas para os quatrorecortes do padrão 1 de Broadatz encontra-dos na figura 5.

Figura 10. Curva Multiescala para o padrão20 de Brodatz.

237

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 249: III WVC 2007

Figura 11. Curvas Multiescalas para os qua-tro recortes do padrão 20 de Brodatz encon-trados na figura 6.

Figura 12. Curva Multiescala para o padrão23 de Brodatz.

Figura 13. Curvas Multiescalas para os qua-tro recortes do padrão 23 de Brodatz encon-trados na figura 7.

ritmo da magnitude indica se o resultado é confiável. Emespecial na Figura Box encontramos o caso onde a distri-buição não é uniforme, observando que o valor da dimen-são fractal calculado não se aproximou do valor teórico, adiferença foi de 0,592, enquanto as outras diferenças foramde 0.103, 0.182, 0.107 e 0.064 para as Figuras Quadrado,Koch (n = 4), Triângulo de Sierpinki e TreeLike respectiva-mente.

Também é importante observar que parte dos dados inici-ais dos dados que geram a dimensão fractal devem ser des-cartados, para que a distribuição seja uniforme e confiável.Este foi um dos passos iniciais realizados na implementa-ção da dimensão multiescala, onde foram descartados 30%dos dados iniciais da curva de dimensão fractal. Isto garan-tiu que a derivada por Fourier calculada não fosse descarac-terizada, inviabilizando a eficácia do método proposto.

A assinatura de texturas indicada pela curva multiescalaimplementada demonstrou o potencial da técnica multies-cala para a análise e classificação de imagens, o que podeser observado pelos resultados testados com as texturas deBrodatz.

Referências

[1] A. R. Backes. Implementação e comparação de métodos deestimativa da dimensão fractal e sua aplicação à análise eprocessamento de imagens. Master’s thesis, USP - Universi-dade de São Paulo, 2006.

[2] E. O. Brigham. The Fast Fourier Transform. New Jercey,Practice Hall, second edition, 1988.

[3] L. F. Costa and R. M. Cesar. Shape Analysis and Classifica-tion: Theory and Practice. CRC, first edition, 2000.

[4] A. G. M. Dongming Tang. Microstructure and fractal analy-sis of fat crystal networks. Journal of the American Oil Che-mists’ Society, 83(5):377–388, May 2006.

[5] D. Ebert. Texturing and Modeling: A Procedural Approach.Academic Press, 1994.

[6] C. Emerson, N. S.-N. Lam, and D. A. Quattrochi. Multi-scalefractal analysis of image texture and pattern. Photogramme-tric Enginnering and Remote Sensing, 65(1):51–61, 1999.

[7] K. Falconer. Fractal Geometry: Mathematical and Applica-tions. New York, John Wiley, 1990.

[8] D. Gulick. Encounters With Chaos. McGraw-Hill Internati-onal Editions - Mathematics and Statistics Series, 1992.

[9] B. B. Mandelbrot. The Fractal Geometry of Nature. W. H.Freeman and Company, 19th edition edition, 2000.

[10] R. O. Plotze, M. Flavio, and O. M. Bruno. Fractal dimensi-ons applied to plant identification. submetido para publica-ção na Patter Recogniton lettes, 2004.

[11] C. Tricot. Curves and Fractal Dimension. New York:Springer-Verlag, 1994.

238

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 250: III WVC 2007

Um Algoritmo para Clipping de Linha em uma Area de Visualizacao Circular

Alex F. de AraujoUniversidade Federal de Goias

Av. Dr Lamartine P. Avelar75705-220 - Catalao, GO - [email protected]

Acrısio Jose do Nascimento JuniorUniversidade Federal de Goias

Av. Dr Lamartine P. Avelar75705-220 - Catalao, GO - [email protected]

[email protected]

Resumo

O presente artigo propoe a implementacao de um algo-ritmo de clipping de linha para ser aplicado em janelas devisualizacao circular. Ha uma carencia destes algoritmospara janelas neste formato como pode ser observado emrenomadas bibliografias [2]. Este algoritmo e baseado naideia de Cohen e Sutherland para clipping em janelas re-tangulares, onde os pontos de intersecao sao encontradosde forma direta. O algoritmo apresentado aqui utiliza-sedas equacoes da reta e da circunferencia para determinaras partes visıveis da linha.

1. Introducao

O clipping e aplicado em cenas para retirar linhas e su-perfıcies que localizam-se fora da area de visualizacao. Osalgoritmos de corte das superfıcies que extravasam esta areaseguem os mesmos princıpios dos algoritmos para recortede linhas [3]. Este artigo aborda apenas o clipping de li-nhas, o qual e parte fundamental do pipeline de visualizacaografica [6]. Estes algoritmos dividem-se em duas aborda-gens: (a) de codificacao e (b) parametrica.

O algoritmo de subdivisao de Cohen-Sutherland [5]utiliza-se de calculos matematicos para obter os pon-tos finais visıveis da linha que se deseja tracar, segundo aabordagem de codificacao (a). Cohen e Sutherland [7] fa-zem uso de um vetor de inteiros, sendo cada elemento deste,correspondente ao posicionamento dos extremos da li-nha em relacao a janela de visualizacao (0 – visıvel e 1 –invisıvel). Estes dados sao usados como codigos pelo algo-ritmo para determinar qual porcao da linha deve ser dese-

nhada. Ja a segunda abordagem (b) e baseada na analise daequacao parametrica do segmento da reta [8], como no al-goritmo de Liang-Barsky [2]. Este calcula, para cada linha,os valores dos parametros que definem qual parte da li-nha esta dentro da janela de clipping.

Os algoritmos citados [7] [2] sao simples e de facil en-tendimento [4]. Porem, consideram a janela de visualizacaocomo um retangulo regular. Outros, como Cyrus-Beck [5],consideram polıgonos irregulares como a janela de clipping.No entanto, nenhum deles aborda a utilizacao de uma cir-cunferencia como janela de clipping.

E indiscutıvel que o uso de janelas regulares (em suamaioria, retangulares) tem mais aplicabilidade do que areasde visualizacao circulares. Entretanto, isto nao significa queesta ultima nao seja utilizada. Um exemplo e a simulacaode uma luneta ou a visualizacao atraves de um orifıcio cir-cular, como o de uma fechadura. Para suprir esta falta, pro-pomos uma abordagem matematica para a determinacao daporcao visıvel de uma linha atraves de uma area circular.

2. Abordagem Matematica

a = −2 × xc

b = −2 × yc

c = x2

c + y2

c − r2

p = a × (x2 − x1)2 − 2 × (−x1 × y2 + x2 × y1)

×(y1 − y2) − b × (x2 − x1) × (y1 − y2)

q = (−x1 × y2 + x2 × y1)2 + c(x2 − x1)

2

∆ = p2 − 4 × ((x2 − x1)2 + (y1 − y2)

2) × q

239

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 251: III WVC 2007

xi1 =−p +

√∆

2 × ((x2 − x1)2 + (y1 − y2)2)

xi2 =−p −√

2 × ((x2 − x1)2 + (y1 − y2)2)

yi1 =(−x1 × y2 + x2 × y1) − xi1 × (y1 − y2)

x2 − x1

yi2 =(−x1 × y2 + x2 × y1) − xi2 × (y1 − y2)

x2 − x1

Equacao 1. Formulacao matematica para determi-nar as intersecoes.

onde:x1, y1, x2 e y2 sao as coordenadas dos pontos p1 e p2, res-pectivamente;xc e yc sao as coordenadas do centro da circunferencia e ro raio desta;(xi1 , yi1) e (xi2 , yi2) os pontos de intersecao;p e q sao artifıcios matematicos para reducao da equacao to-tal;∆ e o discriminante da equacao.

Figura 1. Modelo geometrico de uma janelade clipping circular.

Considerando a abordagem matematica, empregamos aEquacao 1 para encontrar os pontos na extremidade visıvelda linha. Observa-se que as equacoes da circunferencia e dareta formam a base dos calculos [1]. Desta forma, os da-dos de entrada sao: (a) os pontos finais da linha a ser de-senhada, (b) o centro da janela e (c) o raio da janela devisualizacao. Com estes dados, estabelecemos: a equacao dareta que passa pelos dois pontos fornecidos e a equacao dacircunferencia que contorna a area visıvel. Apos determina-las, efetua-se o calculo das coordenadas de cada ponto deintersecao, encontrando-os com uma unica iteracao. Caso a

Figura 2. Imagem gerada pela execucao doalgoritmo de Sutherland.

linha nao intercepte a circunferencia, ou seja, esteja total-mente fora da area visıvel, o valor de ∆ e negativo.

A Figura 1 apresenta a modelagem geometrica para umajanela de clipping circular. Nesta os segmentos de linha naovisıveis sao mostrados em tom de cinza e o segmento visıvelna cor preta.

O algoritmo aqui apresentado segue a ideia do algoritmode Cohen-Sutherland [5], conhecido tambem como algo-ritmo de subdivisao de linha. Nele, apos descartar a possi-bilidade de que a linha e totalmente invisıvel, a mesma e di-vidida fazendo uso das coordenadas que limitam a janela devisualizacao, para obter os pontos de intersecao, utilizando-se uma unica iteracao. A Figura 2 apresenta o resultado daexecucao do algoritmo da subdivisao para desenhar algu-mas linhas.

3. O Algoritmo

3.1. Encontrando os Pontos de Intersercecao

O Algoritmo 1 monta a equacao da reta que passa pe-los pontos p1 e p2, a equacao da circunferencia que con-torna a janela de visualizacao, a qual possui centro no pontode coordenadas (xc, yc) e raio igual a r; depois, substitui aequacao da reta na equacao da circunferencia, para deixa-laapenas em funcao de x e encontrar o valor de ∆. Se ∆ fornegativo, a linha limitada pelos pontos p1 e p2 e totalmenteinvisıvel, pois neste caso a reta que passa por eles nao inter-cepta a circunferencia em nenhum ponto. Caso contrario, ascoordenadas dos pontos de intersecao sao calculadas e ar-mazenadas nos pontos (xi1 , yi1) e (xi2 , yi2).

3.2. Desenhando a linha

Apos encontrar os pontos de intersecao, deve-se fazer aplotagem. Porem, e importante verificar antes se estes sao

240

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 252: III WVC 2007

Figura 3. Imagem gerada pela execucao doAlgoritmo 2

Algoritmo 1 Encontra CruzamentosEntrada: Os pontos (x1, y1), (x2, y2) (que definem a li-

nha), o ponto (xc, yc), centro da circunferencia e o raior.

Saıda: Os pontos (xi1 , yi1), (xi2 , yi2), de intersecao.1: a ←−2 × xc

2: b ← −2 × yc

3: c ← x2

c + y2

c − r2

4: se (x1 = x2) entao5: temp1 ← y1 − y2

6: temp2 ← x2 − x1

7: senao8: temp1 ← x2 − x1

9: temp2 ← y1 − y2

10: fim se11: ∆ ← (−2 × xc − 2 × a × yc)

2 − (4 − 4 × a2)(y2

c −r2 + x2

c)12: temp3 ← −x1 × y2 + x2 × y1

13: temp4 ← temp2

1+ temp2

2

14: temp5 ← a × temp2

1− 2 × temp3 × temp2 − b ×

temp1 × temp2

15: temp6 ← temp2

3+ c × temp2

1

16: ∆ ← temp2

5− 4 × temp4 × temp6

17: se ∆ < 0 entao18: flag ← −119: retorna flag20: fim se21: flag = 022: xi1 ← (−temp5 +

√∆)/(2 × temp4)

23: xi2 ← (−temp5 −√

∆)/(2 × temp4)24: yi1 ← (temp3 − xi1 × temp2)/temp1

25: yi2 ← (temp3 − xi2 × temp2)/temp1

26: se (x1 = x2) entao27: retorna flag, (yi1 , xi1), (yi2 , xi2)28: fim se29: retorna flag, (xi1 , yi1), (xi2 , yi2)

Figura 4. Imagem onde uma intersecao einvalida

Algoritmo 2 Desenha LinhaEntrada: Os pontos p1 = (x1, y1) e p2 = (x2, y2), o cen-

tro c = (xc, yc) e o raio r1: se (distancia(p1, c) < r) e (distancia(p2, c) < r)

entao2: (xi1 , yi1) ← (x1, y1)3: (xi2 , yi2) ← (x2, y2)4: senao5: Encontre (xi1 , yi1) e (xi2 , yi2) utilizando o Algo-

ritmo 16: se flag = 0 entao7: se (distancia(p1, c) < distancia((xi1 , yi1), c))

entao8: (xi2 , yi2) ← p1

9: fim se10: se (distancia(p2, c) < distancia((xi2 , yi2), c))

entao11: (xi2 , yi2) ← p2

12: fim se13: fim se14: Desenhe a linha definida por (xi1 , yi1) e (xi2 , yi2)15: fim se

realmente consistentes, isso deve ser feito porque nem sem-pre a linha que se deseja desenhar e limitada pelos pontos deintersecao, como observa-se na Figura 4. O Algoritmo 2 va-lida os pontos e desenha a parte visıvel da linha, caso exista(Figura 3).

4. Conclusao

Os principais algoritmos de clipping de linhas sao vol-tados apenas para janelas retangulares. Diante deste

241

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 253: III WVC 2007

fato, e proposto um algoritmo de clipping para areasde visualizacao circular que lanca mao da mesma ideiabasica do algoritmo Cohen-Sutherland [2]. Atraves daEquacao 1, os pontos de intersecao da linha com o con-torno da janela sao encontrados de forma direta e com umaunica iteracao, o que garante bom desempenho ao algo-ritmo. Algumas condicoes sao verificadas para validar ospontos finais: se os pontos p1 e p2 sao totalmente inter-nos a area visıvel, os mesmos sao desenhados sem executaro metodo para encontrar os cruzamentos; caso o Algo-ritmo 1 seja chamado, deve-se verificar (antes de desenhara linha) se as intersecoes estao mais proximas do cen-tro quando comparadas aos pontos p1 e p2. Se isto for ver-dade, desenha-se uma linha limitada pelas intersecoes.Caso contrario, esta e limitada pelos pontos de en-trada.

Referencias

[1] V. V. da Silva and G. L. dos Reis. Geometria Analıtica. LivrosTecnicos e Cientıficos, 1996.

[2] D. Hearn and M. P. Baker. Computer graphics. Prentice-Hall,Inc., Upper Saddle River, NJ, USA, 1986.

[3] Y. K. Liu, X. Q. Wang, S. Z. Bao, M. Gombosi, and B. alik.An algorithm for polygon clipping, and for determining poly-gon intersections and unions. Comput. Geosci., 33(5):589–598, 2007.

[4] T. M. Nicholl, D. T. Lee, and R. A. Nicholl. An efficient newalgorithm for 2-d line clipping: Its development and analy-sis. In SIGGRAPH ’87: Proceedings of the 14th annual con-ference on Computer graphics and interactive techniques, pa-ges 253–262, New York, NY, USA, 1987. ACM Press.

[5] D. F. Rogers. Procedural elements for computer graphics.McGraw-Hill, Inc., New York, NY, USA, 1985.

[6] M. S. Sobkow, P. Pospisil, and Y.-H. Yang. A fast two-dimensional line clipping algorithm via line encoding. Com-puter & Graphics, 11(4):459–467, 1987.

[7] I. E. Sutherland. Sketchpad a man-machine graphical commu-nication system. In 25 years of DAC: Papers on Twenty-fiveyears of electronic design automation, pages 507–524, NewYork, NY, USA, 1988. ACM Press.

[8] M. Zhang and C. L. Sabharwal. An efficient implementa-tion of parametric line and polygon clipping algorithm. InSAC ’02: Proceedings of the 2002 ACM symposium on Ap-plied computing, pages 796–800, New York, NY, USA, 2002.ACM Press.

242

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 254: III WVC 2007

Automatic Vehicle Classification Using Learning-based ComputerVision and Fuzzy Logic

Jailson A. de Brito Jr.Departamento de Ciencia da Computacao

Instituto de MatematicaUniversidade Federal da Bahia

[email protected]

Luis Edmundo Prado de CamposLaboratorio de Geotecnia - DCTM

Escola PolitecnicaUniversidade Federal da Bahia

[email protected]

Abstract

In this paper, a vision-based system for traffic moni-toring is presented. In a frame by frame processing, eachvehicle is detected and extracted from video acquisition.With OpenCV library[4] pattern recognition functions,the vehicles axles are recognized. Then with a fuzzy con-troller, each vehicle is classified according to it’s axlesconfiguration. Obtained classification precision is highenough to provide good results.

1. Introduction

In recent years, issues related with defective roadshave become a significant problem. An action thathelps to offer roads maintenance is the traffic moni-toring

With a periodic traffic monitoring collecting infor-mations like quantity, direction and composition of thevehicle flow that pass in one or more selected pointsin a road system in a specific time interval, is possi-ble working to determine evaluation of capacity, causesof traffic congestion and high levels of accidents as wellas pavement maintenance and projects of new lanes,among others improvements.

A proceeding usually used in traffic engineering tocollect traffic data is called direct observation, that con-sists in analyzing the traffic behavior as they are, with-out disturbing it. Usually this task is made by an hu-man observer which cannot work under certain weatherconditions and long periods of time. Many research ef-forts have been made in this area, trying to find goodtraffic monitoring systems, but still there is room forimprovements.

A vision-based system is promising since it offers ad-vantages like better accuracy than no automatic obser-

vations and lower costs comparing with some commer-cial sensors-based systems.

A successful vision system for traffic monitoring ap-plication must meet the following requirements: detectall vehicles; correctly detect all types of road vehicles;work under a wide range of traffic conditions - lighttraffic, congestion, varying speeds, varying weatherconditions and different lanes.

2. Axles-based Classification

According to DNIT vehicles classification [3], theclass is determined by it’s axles configuration.

Figure 1. Example of vehicle adopted in DNITclassification.

Each class has a quantity of axles and distances be-tween axles well defined in a certain range. Then is pos-

243

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 255: III WVC 2007

sible to estimate how much weight the pavement is re-ceiving for each vehicle, see figure 1.

3. Proposed system

Aiming to find an efficient solution with low cost,so it could be widely used, the proposed traffic mon-itoring was divided in some modules described as fol-low.

This system is fully programmed in Python lan-guage.

3.1. Acquisition system

The first step consist in perform a segmentation ofeach vehicle from background and others vehicle, thenis possible detecting all vehicles, see figure 2.

Figure 2. Vehicle captured by acquisition system

The acquisition software must work in real time, andshould requires a minimum of hardware to work, be-cause it’s equipment should be placed in a road edgewith restricted or no security. So, the segmentation al-gorithm used should have low cost of computer pro-cessing.

3.2. Training and Classification system

Here we have a set of applications which make pos-sible the training of a classifier from information aboutaxles and vehicles classes. The training is divided intwo parts: axles detection and classification from axlesconfiguration.

The axles detection training is a task that must bedone times to times providing new information about

axles which were not recognized. This training canspend some days even in high performance comput-ers. Once all vehicles classes are classified correctly, thistraining will be not necessary anymore.

The classification training consists in define somerules about the classes and it’s axles configurations ina fuzzy controller. Using fuzzy logic to do this task al-lows good results, although working under impreciseinformations about the distances of axles of each vehi-cle.

3.3. Reporting system

After all processing tasks, the results should be plot-ted in a functional reports format, offering character-istics about the traffic in the observed road, like num-ber of vehicles by classes and time. This kind of reportis also useful to help improving the quality of roads.

4. Vehicles segmentation

Regions in screen which probably contains vehiclesare found using a difference between two frames tech-nique, since they are in movement. After a thresholdfilter is applied, then a blur filter. This combinationof filters provide a resultant image that can be bet-ter used with algorithm to find contours.

So, moving objects are tracked from it’s contoursfound with Canny algorithm for edge detection[2], seefigure 3. Then, frames which objects are at the cen-ter of screen are stored. These frames are determinedfrom the number of necessary frames to the tracked ob-ject cross the capturing area.

Figure 3. Segmentation of vehicle area

244

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 256: III WVC 2007

For vehicles with great length, two methods are be-ing experimented in this first case. One solution is theuse of wide angle lens that allows detecting in a singleframe vehicles with great length. Another approach isthe use of a combinations of sequential frames methodfor those vehicles longer than the capturing area.

5. Axles detection

Detecting axles is a task that falls in patterns recog-nition area. The haartraining functions set[1] providedwith OpenCV library were used to do this.

OpenCV uses such a statistical approach for objectdetection. This method uses simple Haar-like features(so called because they are computed similar to the co-efficients in Haar wavelet transforms) and a cascade ofboosted tree classifiers as a statistical model [9]. Thismethod is tuned and primarily used for face detection.Therefore, a classifier for an arbitrary object class, likevehicles tires, can be trained and used in exactly thesame way.

The cascade training was done using about 7000 im-ages of positives, images containing exclusively vehiclestires, and about 3000 images of negatives, images notcontaining vehicles tires.

Figure 4. Detected axles are circled

Then is possible to find how much axles the vehiclehave, the diameter of the tires, and distances betweenthem, see figure 4.

6. Classification

With the contour of the vehicle, the number of axlesand the distance between them is possible to determinein which class the vehicle is.

This task is made with a fuzzy controller with rulesfor each class of vehicle. Each rule has as inputs: thenumber of axles and the distance between them, see fig-ure 5; and the vehicle class as output.

Figure 5. Example of distance between axles in-put code.

The use of a fuzzy controller allows that we workunder imprecise information, so we just lead the inputof distance between axles as not precise adjectives likelittle, medium and big instead of numeric values. Eachclass of vehicle has a specific rule, see figure 6.

Figure 6. Example of rule code.

245

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 257: III WVC 2007

If no axles are detected then we assume that the de-tected object is not a vehicle, so it is removed from theacquired vehicles set database.

7. Results

Our first preliminary evaluating tests indicate thatthe proposed system has a good precision and has greatvalue. Tests were made with captured videos with a notsignificant number of vehicle to validate this system asit should be.

As a next-step action, the system should be firedto a set of massive tests, that will make it possible tosee what can be done to decrease mistakes done by theclassifier and increasing precision, as well as the sys-tem reliability.

These conclusive tests should be presented in a fu-ture work, since a validation of a system like the pro-posed in this work requires more time, because the sys-tem should be evaluated under a wide range of traf-fic conditions - light traffic, congestion, varying speeds,varying weather conditions and different lanes.

8. Conclusion

Aiming at present a good solution to traffic monitor-ing, a vision-based system offers advantages like goodaccuracy and low cost.

The results show that the classification precision ishigh and the instrument has great value to be widelyused.

A validation of the proposed system is still requiredand will be presented in a posterior work, comparingwith others solution in same area.

References

[1] G. Bradski, A. Kaehler, and V. Pisarevsky. Learning-based computer vision with intel’s open source computervision library. IntelTechonologyJournal, 9:14, 2005.

[2] J. Canny. A computational approach to edge detection,.IEEE Trans.on Pattern Analysis and M achine Intelli-gence, 8:6, 1986.

[3] D. N. de Infra-Estrutura de Transportes. M anualdeEs-tudosdeTrafego. Rio de Janeiro, 2006.

[4] Intel. Open source computer vision library.http://www.intel.com/research/mrl/research/opencv.

[5] F. Keissarian. Computer vision - based imaging systemsfor road traffic monitoring. In AnnualResearch Confer-enceatUAE University, 2002.

[6] I. M. Monteiro. Logica fuzzy. Instituto de Informatica,Universidade Federal do Rio Grande do Sul, 2007.

[7] S. Pinto and E. Preussler. Pavimentacao rodoviaria: con-ceitos fundamentais sobre pavimentos flexıveis. Rio deJaneiro, 2002.

[8] S. O. Rezende. Sistem as Inteligentes -Fundam entos eAplicacoes.Manule, Sao Paulo, 1 edition, 2002.

[9] P. Viola and M. J. Jones. Rapid object detection using aboosted cascade of simple features. IEEE CVPR , 2001.

246

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 258: III WVC 2007

Implementação de uma Ferramenta para Recuperação de Imagens Mamográficas Baseada em Conteúdo

Ana Paula O. Santos, Fátima L. S. Nunes, Márcio E. Delamaro Centro Universitário Eurípides de Marília – UNIVEM

[email protected], fatima,[email protected]

Resumo

Este trabalho apresenta a implementação de um sistema de recuperação de imagens baseada em conteúdo para aplicação em um banco de dados de imagens mamográficas, utilizado originalmente para apoiar o desenvolvimento e os testes de sistemas de auxílio ao diagnóstico. O sistema foi desenvolvido utilizando a linguagem de programação Java, juntamente com a API JAI (Java Advanced Imaging).

1. Introdução

Esquemas de diagnóstico auxiliado por computador (CAD – computer-aided diagnosis) têm sido desenvolvidos por vários grupos de pesquisas, visando a auxiliar na detecção precoce do câncer de mama, pois é sabido que a descoberta da doença na fase inicial favorece a sua cura [4]. A maioria dos trabalhos nessa área é desenvolvida tendo as imagens geradas através de mamografia por raios X como fonte de dados. Esquemas CAD podem ser úteis no sentido de emitir uma segunda opinião ao radiologista, chamando a atenção para áreas suspeitas da imagem. Entre essas áreas, estão, por exemplo, aquelas que podem conter agrupamentos de microcalcificações (clusters) ou nódulos em formação.

Uma das maiores dificuldades encontradas durante o desenvolvimento das técnicas utilizadas na construção de sistemas CAD diz respeito à avaliação dos processos. Os resultados podem variar de acordo com o conjunto de imagens utilizado nos testes. Para se atestar a viabilidade do uso de uma técnica são necessários testes com um vasto conjunto de imagens que tenham, preferencialmente, características de aquisição variadas e que atendam aos requisitos da finalidade da técnica, isto é, conter as estruturas procuradas na detecção. Uma vez formada a base de imagens, outra dificuldade encontrada é buscar dentro dela as imagens adequadas para testes de uma determinada técnica. O usuário pode querer, por exemplo, somente imagens de mamas densas ou, ainda, imagens que contenham um determinado achado radiológico, como um tumor benigno ou maligno. A inclusão de atributos textuais na base de dados poderia facilitar tal busca, mas exigiria conhecimento prévio de cada imagem, fornecido pelos laudos, que nem sempre estão disponíveis.

Dentro deste contexto a Recuperação de Imagens Baseada em Conteúdo (CBIR – Content-Based ImageRetrieval) pode oferecer uma solução eficaz. O conceito de CBIR consiste em uma busca feita por imagens semelhantes a um determinado padrão fornecido. O que torna isso possível é a comparação realizada entre aspectos da imagem dada e as imagens armazenadas na base de dados. O interessante é a execução da busca por semelhança a um caso específico (uma imagem fornecida) e não como no processo convencional de busca textual que compara parâmetros do usuário com valores de atributos armazenados [6]. Os critérios de similaridade são obtidos a partir da extração de características da imagem como cor, textura e forma.

Em trabalhos anteriores foi implementada uma ferramenta para gerenciar uma base de imagens mamográficas usando a Internet. O objetivo era disponibilizar um grande conjunto de imagens mamográficas digitalizadas e suas respectivas informações, a fim de que seu uso pudesse contribuir na avaliação de esquemas CAD em mamografia. O sistema foi implementado com tecnologia gratuita, permitindo acesso rápido, eficiente e sem custos adicionais ao usuário. A base de imagens disponibilizada pode ser usada também como ferramenta didática para o ensino de tópicos relacionados à mamografia [9][10].

Este trabalho apresenta a implementação de um sistema de recuperação de imagens mamográficas baseada em conteúdo, a fim de auxiliar os testes de sistemas CAD. Um segundo objetivo é disponibilizar uma ferramenta didática para o ensino de áreas da saúde que utilizam as imagens médicas como material didático.

2. Recuperação de Imagens Baseada em Conteúdo

Em CBIR a comparação entre as imagens é feita utilizando um conjunto de características que as descrevem. Estas características podem ser obtidas por especialistas ou utilizando-se algoritmos automáticos [2].

Os algoritmos automáticos podem extrair atributos relacionados a cor, textura ou forma, de acordo com a classe de imagens e o interesse do usuário. Os atributos são agrupados em um vetor de características, que representa o conteúdo da imagem. Sistemas CBIR

247

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 259: III WVC 2007

possibilitam a recuperação de um conjunto finito de imagens similares a uma imagem exemplo, utilizando informações inerentes à própria imagem, similaridade essa com um nível de semelhança determinado pelo usuário.

Os algoritmos que obtêm as características das imagens de forma automática são chamados de extratores e fornecem como resultado um conjunto numérico representando as características extraídas. Pode-se utilizar um ou mais extratores para representar uma imagem [2]. Esta parte é um dos pontos mais sensíveis da recuperação de imagens por conteúdo, visto que sintetiza as propriedades inerentes das imagens, que serão utilizadas para a recuperação das mesmas [6].

Outra etapa importante de sistemas CBIR é a indexação das características, que deve prever uma forma otimizada de armazenar os atributos a fim de fornecer a consulta rápida e adequada a partir de um banco de dados [6]. A partir do vetor de características de espaço n-dimensional para o armazenamento dos atributos, a recuperação de imagens deve calcular a menor distância entre os vetores [1][2]. Pode ser realizada por meio de uma função que calcule a similaridade dos vetores e, conseqüentemente, das características armazenadas [2].

A função de distância é um algoritmo que compara os vetores das imagens sob consulta, devendo satisfazer algumas propriedades em um domínio métrico, retornando um valor não negativo. Quanto menor esse valor, mais parecidas são as imagens comparadas [2].

Uma vez definida a função de distância, pode-se fazer as consultas por similaridade. As funções mais utilizadas são: k-vizinhos mais próximos (k-nearest neighbor) e abrangência (range). A consulta pelos k-vizinhos mais próximos retorna os k valores mais próximos do ponto de referência e a consulta por abrangência retorna os valores pertencentes ao raio de abrangência (raio de busca), dado que representa a distância de similaridade entre um ponto de referência e a imagem em questão [3][2][7].

3. Materiais e Métodos

O trabalho aqui apresentado foi desenvolvido utilizando a linguagem de programação Java e a API (Application Program Interface) JAI (Java AdvancedImaging) que possibilita a representação, o processamento e a visualização de imagens [11]. Como Sistema Gerenciador de Banco de Dados (SGBD) foi utilizado o Derby que utiliza o paradigma relacional, é gratuito e inteiramente desenvolvido em Java.

As imagens utilizadas neste projeto fazem parte de um banco de imagens desenvolvido pelo LAPIMO (Laboratório de Processamento de Imagens Médicas e Odontológicas, da EESC/USP). A composição da base de imagens procurou obter a maior quantidade possível de mamogramas, de forma a incluir imagens provenientes de

diferentes hospitais. Na digitalização das imagens foram utilizados dois digitalizadores a laser, ambos da marca Lumisys (Lumiscan 50 e Lumiscan 75) e que, segundo o fabricante, possibilitam obter imagens com até 12 bits de resolução de contraste (4096 níveis de cinza). O tamanho médio das imagens é de 10,75 Megabytes e cada imagem possui em média 2048 linhas e 2750 colunas.

Primeiramente foi implementado um algoritmo para a eliminação do fundo da imagem, uma vez que as características obtidas das imagens devem ser computadas considerando apenas a área da mama, e não a imagem inteira.

Para a composição do Banco de Dados foram criadas três tabelas: IMAGEM, que armazena um código e o local de armazenamento da imagem; CARACTERISTICA, que armazena um código e o nome referente à característica e IMAGEM_CARACTER, que faz o relacionamento entre as duas anteriores, armazenando o código da imagem, o código da característica e também o valor associado àquela característica da referida imagem. Portanto, a tabela IMAGEM armazena todas as imagens pertencentes ao banco, a tabela CARACTERISTICA guarda o cadastro de características possíveis e a tabela IMAGEM_CARACTER guarda o valor de cada característica em cada uma das imagens do banco, calculado quando é feita a primeira busca utilizando a referida característica. O Diagrama Entidade-Relacionamento (DER) das tabelas apresentadas se encontra na Figura 1.

Figura 1 – Diagrama Entidade-Relacionamento das tabelas do sistema

Também foi desenvolvida uma estrutura genérica para CBIR, de forma que futuramente as classes implementadas possam ser aplicadas para outros tipos de imagens, uma vez que permite a inserção de novos extratores de características no sistema. Para este esquema (Figura 2), foram criadas quatro classes que servirão de base para o sistema:

• ParameterBlock - contém objetos que funcionam como um vetor de elementos que servirão de parâmetro para os extratores de características;

• AbstractExtractor - serve de base para a criação dos extratores de características. Padroniza a implementação de um construtor, um método para fazer a comparação de duas imagens (compare), outro para calcular o valor da característica (computeValue) e também permite ao programador definir os parâmetros para o extrator (setParameters);

248

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 260: III WVC 2007

• SimilarityFunction - responsável por permitir a combinação de diversos extratores para a obtenção do grau de similaridade entre duas imagens;

• CharVector - cria o vetor de características, podendo estabelecer o nome e o valor das características (setValue), recuperar o valor de uma determinada característica (getValue), calcular a similaridade entre dois vetores de características (computeSimilarity e computeStrictySimilarity) ou, ainda, retornar o vetor de características atual (getVector).

Figura 2 – Diagrama de classes do esquema genérico para o CBIR utilizado

Para a extração das características das imagens mamográficas, foram implementados seis extratores, a saber: (1) área (soma dos pixels da área pertencente à mama dividida pela quantidade total de pixels da imagem); (2) densidade (média dos valores dos pixels da imagem dividida pelo maior valor de cinza possível); (3) forma da mama (divisão da quantidade de pixels no eixo y pela quantidade de pixels no eixo x); (4) entropia (grau de desordem dos pixels da imagem); (5) segundo momento angular (nível de homogeneidade da imagem) e (6) contraste (variações locais das imagens).

As características de entropia, segundo momento angular (SMA) e contraste são características de textura obtidas a partir da matriz de co-ocorrência que, corresponde à freqüência de um nível de cinza na imagem considerando uma distância em uma determinada direção [8][5].

A posição p(i,j) indica a freqüência de ocorrência de um particular par de nível de cinza i e j, obtido a partir de uma distância e de um ângulo (direção) [8][5]. Por exemplo: considerando uma distância igual a 1 e um ângulo de 0º a posição (0,1) da matriz de co-ocorrência é incrementada em uma unidade, caso o valor do elemento à esquerda ou à direita de um pixel de valor 0 for igual a 1, assim como ilustrado na Figura 3.

00101

02011

00122

11011

21000

⎥⎥⎥

⎢⎢⎢

222

268

288

Figura 3 – Exemplo de imagem com três níveis de cinza e sua respectiva matriz de co-ocorrência para distância 1 e ângulo 0º

Para a normalização da matriz, cada posição é dividida pela soma de todas as posições [5][8]. No exemplo da Figura 3, cada uma das posições da matriz seria dividida por 40, que é a soma de todas as posições.

O problema encontrado para a implementação desta matriz é que ela é quadrada e de ordem igual ao número de níveis de cinza da imagem. Como as imagens utilizadas neste trabalho foram adquiridas com 16 bits de resolução de contraste, torna-se inviável computacionalmente a construção da referida matriz com a dimensão ideal. Para solucionar este problema foi encontrado o intervalo de níveis de cinza realmente utilizado nas imagens, constatando-se um máximo de 3600 níveis. Portanto, para obter-se a referida matriz foi primeiramente subtraído do pixel atual o menor valor de pixel utilizado na imagem e, depois, o valor resultante foi dividido por 8 a fim de se obter uma matriz quadrada de ordem máxima igual a 450, solucionando-se, assim, o problema da dimensão da mesma.

As fórmulas utilizadas para a extração das características de textura foram obtidas em [5] conforme demonstradas nas equações (1), (2) e (3), onde p(i,j) representa o elemento (i,j) normalizado e Ng é a quantidade de níveis de cinza da imagem.

∑∑ ⋅−=i j

jipjipEntropia )),(log(),( (1)

∑∑=i j

jiprentoAngulaSegundoMom )²,( (2)

∑ ∑∑−

= ⎭⎬⎫

⎩⎨⎧

=−=1

0

||),,(²gN

n i j

njisejipnContraste (3)

Na primeira consulta são calculados os valores de cada característica selecionada de todas as imagens e estes são armazenados no banco de dados. Para a fase de recuperação é criado um vetor de características para cada imagem, buscando-se no banco de dados os valores correspondentes às características da referida imagem. Nesta etapa é utilizada uma função de similaridade que compara o resultado do vetor da imagem de referência com as demais imagens do banco.

Para a criação e comparação dos vetores foi utilizada a classe CharVector, por meio dos métodos computeSimilarity e computeStrictySimilarity,

249

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 261: III WVC 2007

que retornam a distância Euclidiana entre os dois vetores, considerando todas as características. Os valores retornados são armazenados em um vetor numérico, onde cada uma das posições representa a similaridade de uma das imagens com a imagem de referência. Após ordenar este vetor, é possível obter uma classificação das imagens mais similares, de acordo com as características selecionadas. Assim, recuperam-se as n imagens com a menor distância Euclidiana, ou seja, com a maior similaridade, onde n é o número de imagens que se deseja retornar.

Figura 4 – Exemplo da Interface do sistema

Na interface do sistema, ilustrada na Figura 4, o usuário pode selecionar quais características serão utilizadas para a recuperação e também qual será a imagem de referência. Para isto foram criadas caixas de seleção de cada uma das características do banco (parte A da Figura 4), e uma lista com todas as imagens do banco para a seleção da imagem de referência. Quando a imagem é selecionada, sua visualização é automaticamente disponibilizada abaixo da lista de seleção (parte B da Figura 4). Também é permitido ao usuário selecionar quantas imagens deseja recuperar. Quando selecionado o botão Procurar, é feita a recuperação das imagens mais similares à imagem de consulta, considerando as características selecionadas (parte C da Figura 4).

4. Resultados e Discussões

Para os testes do sistema foram criados três conjuntos de imagens, a saber:

1) Conjunto com 42 imagens fornecidas pelo LAPIMO da EESC/USP provenientes de diversos hospitais. Este conjunto é composto por imagens de visão crânio-caudal e médio-lateral de cada paciente.

2) Conjunto com 20 imagens, sendo quatro imagens reais e da mesma paciente, provenientes do primeiro

conjunto, onde duas delas são da mama direita nas visões crânio-caudal e médio-lateral, e outras duas da mama esquerda em ambas visões. As outras 16 imagens foram obtidas executando-se uma alteração no brilho das imagens citadas. Para cada imagem foram criadas outras quatro imagens alteradas sendo duas imagens mais claras (com aumento de 60 e 1000 níveis de cinza em cada pixel) e outras duas imagens mais escuras (com diminuição de 60 e 1000 níveis de cinza em cada pixel). A finalidade deste conjunto é permitir a verificação da eficiência das características em relação à variação do brilho das imagens. A Figura 5 mostra um exemplo deste conjunto de imagens.

(a) (b) (c) (d) (e) Figura 5 – Exemplo de uma imagem do segundo conjunto com suas variações: (a) imagem original; (b) imagem mais clara com 60 níveis de cinza; (c) imagem mais clara com 1000 níveis de cinza; (d) imagem mais escura com 60 níveis de cinza; (e) imagem mais escura com 1000 níveis de cinza.

3) Conjunto com 16 imagens, contendo quatro imagens originais do primeiro conjunto e mais três variações de cada imagem. Na primeira variação foi criado um artefato (de mesmo tamanho e cor) em uma determinada posição da imagem. Na segunda variação foi criado outro artefato posicionado em locais diferentes das imagens do conjunto, mas com o mesmo tamanho e cor. Por último foi criada um terceiro artefato inserida em posições diferenciadas nas imagens do conjunto, assumindo tamanhos diferentes em cada imagem, mas permanecendo com a mesma cor. Este conjunto foi criado com o objetivo de verificar a eficiência das características em relação à recuperação de imagens com eventuais achados mamográficos semelhantes (nódulos, por exemplo), sendo útil para o teste das características de textura. A Figura 6 mostra um exemplo deste conjunto de imagens.

(a) (b) (c) (d) Figura 6 – Exemplo de uma imagem do terceiro conjunto com suas variações: (a) imagem original; (b) imagem com artefato; (c) imagem com artefato de mesmo tamanho e cor e posicionamento diferenciado; (d) imagem com uma mancha de mesma cor e tamanho e posicionamento variados.

A

BC

250

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 262: III WVC 2007

O sistema foi avaliado utilizando as curvas de precisão e revocação, que foram calculadas para as consultas de cada característica individualmente e algumas características agrupadas. A partir da interface mostrada na Figura 4, foram escolhidos aleatoriamente grupos de características que pudessem obter resultados diferentes.

Os testes para a avaliação do sistema foram criados sobre o segundo e terceiro conjuntos. O primeiro conjunto foi utilizado para avaliar inicialmente o retorno da recuperação a fim de verificar se os extratores estavam funcionando de forma correta. No entanto, para a construção das curvas de precisão versus revocação não havia uma maneira de definir para este conjunto quais imagens seriam relevantes para a consulta por similaridade. Os outros conjuntos possuíam quatro imagens provenientes originalmente do primeiro conjunto e mais algumas imagens resultantes de variações nas quatro imagens iniciais. Foram consideradas relevantes as imagens referentes à imagem original com as variações de cada conjunto, sendo esperadas a recuperação de 5 imagens para o segundo conjunto (a original e suas 4 variações) e 4 imagens para o terceiro conjunto (a original e as outras 3 respectivas variações).

Na Tabela 1 estão relacionadas as características e agrupamentos de características, juntamente com seus respectivos valores de precisão média para o segundo e terceiro conjuntos e revocação média para ambos os conjuntos.

A partir dos dados apresentados na Tabela 1, conclui-se que as características individuais que apresentaram um melhor desempenho para os testes criados foram a “Área” e a “Forma”. As características agrupadas com melhor desempenho foram “Área + Forma” e “Densidade + Forma”. Também é possível analisar que os piores desempenhos entre as características individuais foram apresentados pelo “Contraste”, seguido do “SMA”. Os piores desempenhos das características agrupadas foram apresentados pela “Entropia + SMA” no segundo conjunto, e pela combinação “SMA + Contraste” no terceiro conjunto.

Se os resultados obtidos neste sistema implementado forem comparados aos resultados encontrados na literatura é possível observar a obtenção de resultados mais significativos neste trabalho. Em [1] foram implementadas as características de forma e densidade, obtendo-se precisão média de 84,3% no presente trabalho contra 35,67% no trabalho citado. Para a característica forma, o presente trabalho obteve precisão de 97,5% contra 80,38% do trabalho anterior. Se considerarmos a recuperação de todas as características do sistema, em [1] foram implementadas as características de densidade, forma, tamanho e lado, tendo sido obtida precisão de 20,88% contra 76,64% e revocação de 23,02% contra de 55,25%, ambos a favor do sistema aqui apresentado. No

trabalho citado a recuperação das imagens foi feita utilizando mapas de Kohonen e técnicas de correlação cruzada.

Tabela 1 – Precisão e Revocação médias (em porcentagem %)

Em [7] foram implementados atributos no domínio de Radon, atributo de medida de granulometria e atributo de forma. O atributo de forma é composto de medida de área, de razão de diâmetro e de solidez. Neste caso, só pode ser comparada a característica de forma do presente artigo com o da literatura, onde o da literatura apresenta 84,5% de precisão, considerando todas as características implementadas pelo sistema e no presente artigo a precisão de todas as características é de 76,64%. Como as características implementadas são diferentes, não podemos chegar a uma conclusão efetiva quanto à comparação dos dois sistemas.

5. Conclusões

O objetivo deste trabalho foi a implementação de um sistema de recuperação de imagens baseada em conteúdo para a aplicação em um banco de imagens mamográficas, utilizado originalmente para apoiar o desenvolvimento e os testes de sistemas CAD. Para atingir este objetivo, primeiramente foi realizada uma revisão bibliográfica a fim de encontrar na literatura sistemas CBIR já implementados de aplicação na área de imagens médicas, bem como as características e os critérios de similaridade utilizados por estes sistemas.

Os extratores implementados mostraram-se satisfatórios para os testes realizados, apresentando bom desempenho na recuperação, em relação à precisão dos resultados. Verificou-se que o tempo de processamento é relativamente alto na primeira vez em que as características são calculadas. No entanto, este problema foi resolvido utilizando-se o armazenamento em banco de dados. A dimensão das imagens contribui para a lentidão

251

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 263: III WVC 2007

dos cálculos, pois o volume de dados a ser processado pelos extratores é grande.

Os extratores das características área e densidade foram os que apresentaram melhor desempenho quando utilizados individualmente. Os extratores das características de contraste e SMA foram os que apresentaram pior desempenho para os testes realizados com características individuais. Analisando as características agrupadas, “Densidade+Forma” e “Área+Forma” foram os que apresentaram melhor desempenho e “Entropia+SMA” e “SMA+Contraste” apresentaram o pior desempenho.

Além da recuperação de imagens mamográficas por conteúdo, contribuindo para construção de sistemas CAD e utilização de imagens adequadas para fins didáticos, este trabalho apresenta como contribuições adicionais: a disponibilização de um esquema genérico para CBIR que pode ser usado para implementar extratores e recuperação de imagens para objetos de qualquer natureza e a análise das características implementadas especificamente para recuperar imagens mamográficas.

Apesar de implementar apenas uma função de similaridade, considerada a mais simples (distância Euclidiana), a estrutura de classes implementada permite utilizar várias funções de similaridade, assim como várias características outras citadas na literatura. Desta forma, a continuidade natural deste trabalho é a implementação e testes de novas características e novas funções de similaridade.

6. Agradecimentos

À FAPESP– Fundação de Amparo à Pesquisa do Estado de São Paulo (processo nº. 2006/00463-7), pelo apoio financeiro e ao LAPIMO (Laboratório de Processamento de Imagens Médicas e Odontológicas (EESC/USP), pelas imagens cedidas.

7. Referências[1] T. C. S. S. André, P. M. A. Marques, J. A. H. Rodrigues, e R. M. Rangayyan, “Sistema de Recuperação de Imagens Baseada em Conteúdo Usando Mapas de Kohonen e Técnicas de Correlação Cruzada”. In: IX CBIS, Congresso Brasileiro de Informática em Saúde, Ribeirão Preto, novembro de 2004.

[2] M. R. B. Araujo, C. Traina JR., A. Traina, e P. M. A. Marques, “Recuperação de Exames em Sistemas de Informação Hospitalar com Suporte a Busca de Imagens Baseada em Conteúdo”. In: VIII Congresso Brasileiro de Informática em Saúde - CBIS'2002, Natal - RN, de 29 de setembro a 02 de outubro de 2002.

[3] J. M. Bueno, “Suporte à Recuperação de Imagens Médicas Baseada em Conteúdo através de Histogramas

Métricos”. 2001. 148 f. Dissertação (Doutorado em Ciência da Computação e Matemática Computacional) –Instituto de Ciências Matemáticas e Computação (ICMC), Universidade de São Paulo (USP), São Carlos, 2001.

[4] J. Dengler, S. Behrens, e J. F. Desaga, “Segmentation of microcalcifications in mammograms”. In: IEEE Transactions on Medical Imaging, v.12, n.4, p.634-642, 1993.

[5] C. A. Ferrero, H. D. Lee, W. F. Chung, C. S. R. Coy, J. J. Fagundes, e J. R. N. Góes, “Seleção de Características Baseadas em Textura para a Identificação de Anormalidades em Imagens de Colonoscopia”. In: X Congresso Brasileiro de Informática em Saúde – CBIS’2006, Florianópolis, SC-Brazil, 2006.

[6] H. E. R. Gato, F. L. S. Nunes, e H. Schiabel, “Uma proposta de Recuperação de Imagens Mamográficas Baseada em Conteúdo”. In: IX Congresso Brasileiro de Informática em Saúde, 2004, Ribeirão Preto. Anais do Congresso Brasileiro de Informática em Saúde, 2004. v. 1.

[7] S. K. Kinoshita, R. R. Pereira Jr, M. O. Honda, J. A. H. Rodrigues, e P. M. A. Marques, “Recuperação Baseada em Conteúdo de Imagens Mamográficas: Atributos Visuais de Forma, Espectrais no domínio de Radon e Granulometria”. In: IX Congresso Brasileiro de Informática em Saúde, 2004, Ribeirão Preto. CBIS2004, 2004.

[8] P. M. A. Marques, M. H. Honda, J. A. H. Rodrigues, R. R. Santos, A.J.M. Traina, C. Traina Jr, e J.M. Bueno “Recuperação de Imagem Baseada em Conteúdo: Uso de Atributos de Textura para Caracterização de Microcalcificações Mamográficas”. Revista Brasileira de Radiologia, vol. 35, pp. 93-98, 2002.

[9] Nunes, F. L. S.; Schiabel, H.; Goes, C. E. “Using free technology to store and retrieve mammographic images by Internet”. In: 5th International Workshop on Image Analysis, 2004, Lisboa, Proceedings of 5th International Workshop on Image Analysis, 2004.

[10] Nunes, F. L. S.; Schiabel, H.; Oliveira JR, J. A.; Goes, C. E., Benatti, R. H. “Disponibilização de imagens mamográficas via Internet: uma forma de contribuir para a integração regional de pesquisas em diagnóstico auxiliado por computador”. In: Anais do XXIV Congresso da Sociedade Brasileira de Computação – Seminário Integrado de Hardware e Software, Salvador, julho 2004.

[11] R. D. C. Santos, “Java Advanced Imaging API: A Tutorial”. Revista de Informática Teórica e Aplicada, Rio Grande do Sul, v. 11, p. 93-123, 2004.

252

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 264: III WVC 2007

Um algoritmo para eliminação de fundo em imagens de cultivo de soja

Rodrigo Sato

Programa de Pós-

Graduação em Engenharia

Elétrica

Faculdade de Engenharia de

Ilha Solteira – Universidade

Estadual Paulista

Norian Marranghello

Programa de Pós-

Graduação em Engenharia

Elétrica

Faculdade de Engenharia de

Ilha Solteira – Universidade

Estadual Paulista

Aledir Silveira Pereira

Departamento de Ciências de

Computação e Estatística

Instituto de Biociências, Letras

e Ciências Exatas –

Universidade Estadual Paulista

Resumo

Este trabalho apresenta um algoritmo para

eliminação de fundo em imagens, voltado a tarefas de

identificação de plantas daninhas em cultivo de soja. A principal característica deste trabalho é o emprego de

técnicas de processamento de imagens, com a varredura

da imagem realizada pixel a pixel. Os objetos resultantes na imagem são as folhas, seja de soja ou planta daninha.

Foram concebidas versões de software com a criação de

algoritmos em MATLAB e linguagem C, para posterior implementação em linguagem VHDL (Very High Speed

Integrated Circuit Hardware Description Language)..

Foram utilizadas rotinas em MATLAB para operar sobre imagens representadas como matrizes. Os algoritmos

foram refinados até que produzissem um resultado

satisfatório. Estes algoritmos, após o refinamento, foram programados em linguagem C, momento no qual

puderam ser feitas modificações para sua implementação em VHDL.

1. Introdução

Na agricultura, a identificação de plantas daninhas

torna-se uma tarefa bastante difícil, mas muito

importante. O controle de plantas daninhas é uma prática

de elevada importância para a obtenção de altos

rendimentos em qualquer atividade [1].

As plantas daninhas constituem grande problema para

a cultura da soja e por isso, a necessidade de controlá-las

é muito grande. Conforme a espécie, a densidade e a

distribuição da invasora na lavoura, as perdas são

significativas. A planta daninha compete com a cultura

de soja pela luz solar, pela água e pelos nutrientes e

dependendo do nível de infestação e da espécie, pode

dificultar a colheita e comprometer a qualidade do grão

[1].

Um dos maiores custos na produção agrícola está na

aplicação de agrotóxicos, que são recomendados para

infestações de pragas, doenças e plantas daninhas. As

aplicações de agrotóxicos, se não realizadas

corretamente, geram perdas econômicas para o

agricultor além de causar sérios danos ao meio

ambiente. Na prática convencional agrícola ainda são

aplicadas grandes quantidades de agrotóxicos, sem

dosagem muito correta.

A agricultura de precisão, também chamada de A.P.,

surgiu para resolver esse problema. A A.P. é uma

técnica de gerenciamento agrícola cujo principal

conceito é aplicar os insumos agrícolas no local

correto, no momento adequado e nas quantidades

necessárias, em áreas cada vez menores e mais

homogêneas, tanto quanto a tecnologia e os custos

envolvidos o permitam [2].

Alguns dos principais benefícios da aplicação das

técnicas de agricultura de precisão que podem ser

citados são: a redução dos custos da produção devido à

redução de insumos, a maior produtividade da lavoura,

a redução da contaminação ambiental, o aumento no

rendimento das culturas, entre outros [2].

Para que se chegue ao objetivo esperado, a

identificação de plantas daninhas em determinada área,

são utilizadas técnicas de processamento digital de

imagens, aliadas às técnicas de inteligência artificial. O

processamento digital das imagens é responsável pela

extração de informações relevantes destas imagens,

descartando o fundo da imagem e eliminando tudo o

que não puder ser aproveitado para futuro

processamento, enquanto que as técnicas de

inteligência artificial são responsáveis pela detecção

das plantas daninhas, distinguindo-a das folhas de soja.

Existem vários trabalhos voltados para a área de

agricultura de precisão. Dentre eles pode-se citar [3] e

[4]. Em [3], PERNOMIAN relata o desenvolvimento

de um identificador de plantas daninhas em tempo real

253

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 265: III WVC 2007

utilizando redes neurais artificiais. Em [4], YANG.

PRASHER, LANDRY, RAMASWAMY e

DITOMMASO apresentam uma aplicação de redes

neurais artificiais em reconhecimento e classificação de

plantas daninhas. Pode-se citar também [5], onde DIAS

desenvolve uma aplicação para a identificação da doença

Ferrugem em áreas cultivadas com cana-de-açúcar

utilizando-se redes neurais artificiais. Estes trabalhos

foram desenvolvidos em software, mas não

implementados em hardware.

Este trabalho tem por objetivo a criação de um

algoritmo para eliminação de fundo em imagens, voltado

a tarefas de identificação de plantas daninhas em cultivo

de soja, implementado em VHDL.

2. Metodologia

O trabalho está subdividido em quatro etapas:

aquisição, pré-processamento, segmentação das imagens

digitais, criação do software em linguagem C e

implementação em VHDL. As figuras 1 e 2 ilustram as

etapas do trabalho.

Figura 1. Diagrama de blocos da etapa de aquisição das imagens

Figura 2. Diagrama de blocos da etapa do pré-processamento, segmentação, criação do software

em C e Implementação em VHDL.

3. Aquisição das imagens digitais

O primeiro passo foi a escolha do local do cultivo de

soja a ser filmado. A propriedade escolhida está

localizada em Frutal-MG.. A filmagem foi realizada com

o auxílio de uma câmera digital, da fabricante Sony, a

cerca de 1,5 metros de altura e perpendicular ao solo.

De posse de um filme de cerca de 5 minutos, a câmera

foi conectada ao computador a partir da porta Firewire

(IEEE 1394), sem a necessidade do uso de placa de

captura de vídeo, pois a câmera utilizada apresenta saída

digital. Para a captura do vídeo a partir da porta

Firewire foi utilizado o software de edição de vídeo

Sony Vegas.

Foram obtidos três filmes no formato AVI (Áudio

Vídeo Interleave), com resolução de 720x480 pixels. A

seguir, o programa AVI Constructor foi utilizado para

desmembrar os arquivos AVI em uma série de arquivos

de imagens digitais. Tal procedimento gerou inúmeras

imagens no formato BMP (Bitmap) [7]. Das imagens

obtidas, foram selecionadas as com melhor nitidez.

4. Pré-Processamento das Imagens

A partir deste ponto, de posse dos arquivos de

imagens BMP na resolução 720x480 pixels, foi

iniciada a etapa de pré-processamento e segmentação

das imagens. Primeiramente foi utilizado o software

MATLAB v7.1 e seu Toolbox de processamento de

imagens [8], para facilitar as simulações e testes, pois

as transformações realizadas nas imagens podem ser

observadas e simuladas mais facilmente. Os algoritmos

criados no MATLAB foram refinados até que

produzissem um resultado satisfatório. Estes, após o

refinamento, foram programados em linguagem C,

onde foram realizadas modificações visando futura

implementação em hardware. A linguagem C foi

utilizada por ter uma estrutura muito parecida com a

linguagem VHDL, tornando a transição para linguagem

de hardware (VHDL) mais fácil.

Câmera PC

Am

bie

nte

(Cultiv

o d

e

Soja

)

4.1 A primeira remoção de ruídos – filtro da mediana

Implementação em VHDL

Filtro da Mediana

Pré-Processamento

Remoção de

Cores

Segmentação

Remoção de

Ruídos

Criação do software em C

Para a retirada de ruídos da imagem original foi

descrito o filtro da mediana, amplamente conhecido na

literatura [6] [9]. Este filtro é utilizado comumente em

edição de fotografias digitais para suavizar a imagem,

eliminando sua granulação (ruído).

O algoritmo descrito utiliza uma janela 3x3x3 cores

para armazenar um pixel e seus vizinhos. A janela é

movida através da imagem, pixel a pixel. Com janelas

maiores obtém-se uma maior suavização da imagem.

Neste projeto foi utilizada uma janela 3x3, pois este

tamanho de janela é suficiente para suavização das

bordas das folhas.

O filtro da mediana não foi criado no MATLAB,

uma vez que o software já provê esta função em seu

Toolbox (ferramentas) de processamento de imagens: a

função medfilt2(I,[3 3]) realiza o filtro da mediana na

imagem I utilizando janela 3x3 [8].

5. Segmentação das imagens

Após a retirada de ruído, caminhou-se à etapa de

segmentação da imagem, em que se diferenciam os

254

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 266: III WVC 2007

componentes homogêneos da cena [6] - as folhas -

diferenciando-as do fundo da imagem (background).

Para isso foi descrito um algoritmo, o filtro de remoção

de cores, criado para a remoção das cores indesejadas da

imagem. Este módulo consiste basicamente na

verificação dos valores dos componentes primários de

cada pixel (R, G e B) e, se esses componentes

pertencerem a certos intervalos de valores, significa que

são irrelevantes, sendo então descartados, recebendo

valor 255 (cor branca) para todos os três componentes.

Os intervalos foram definidos a partir de testes de

calibração no MATLAB [10], onde foram analisados

diversos valores e combinações para os três

componentes. O resultado do filtro de remoção de cores

é apresentado na figura 3.

(a)

(b)Figura 3. (a) Imagem original processada com o filtro da mediana e (b) Imagem após a utilização

do filtro de remoção de cores

Pode-se observar a partir da figura 3(b) que a imagem

ainda não está totalmente limpa. Houve a limpeza do

conteúdo irrelevante proposto pelo algoritmo de remoção

de cores, mas não o suficiente para cumprimento do

objetivo. Ainda restam ruídos (pontos isolados) que

devem ser eliminados, pois apesar de serem verdes, não

são componentes da folha. Utiliza-se então outro

algoritmo, o de redução de ruídos.

5.1 A segunda remoção de ruídos

O último módulo do pré-processador foi

implementado com um novo algoritmo que utiliza uma

janela 7x7 de vizinhança para definir se aquele pixel

deve ou não ser excluído. Tal algoritmo tem o objetivo

de eliminar os pontos (ruídos) que restaram após o

filtro de remoção de cores.

O algoritmo percorre a imagem pixel a pixel. Para

cada pixel é contada a quantidade de vizinhos nulos

(valores de R, G e B igual a 255), dentro da janela 7x7.

Se a contagem ultrapassar um limiar, que na fase de

calibração ficou definido com o valor 25, aquele pixel

não pertence a uma folha e é um ruído que deve ser

eliminado. Com isso, os componentes R, G e B

recebem o valor 255 (branco). O valor “25” significa

que se houver 25 ou mais pixels nulos (branco) dentro

da janela de vizinhança, o pixel em questão não

pertence a uma folha, passando então a ser nulo. Se

houver menos de 25 pixels nulos, aquele ponto

pertence a uma folha, não devendo ser eliminado. O

tamanho da janela de vizinhança, assim como o valor

do limiar foram definidos por calibrações em testes

iterativos no software MATLAB, de modo que haja a

melhor retirada de ruídos sem comprometer a estrutura

das folhas ao criar oclusões nas mesmas.

Foram realizados testes com cerca de 30 imagens de

soja. Nota-se que para cada cultivo de soja, é

necessária a calibração de cores, pois as tonalidades de

verde das folhas são diferentes para cada cultivo. Após

os testes, foram utilizadas cerca de 30 imagens, do

mesmo cultivo, para efeito de validação. Todas essas

30 imagens apresentaram resultados esperados,

semelhantes ao da figura 4.

A figura 4 ilustra o resultado final ao se aplicar o

filtro de remoção de ruídos sobre a na figura 3(b),

correspondendo ao resultado final do pré-processador

de imagens.

Figura 4. Resultado final do pré-processamento da imagem

6. A criação do software em C

Após a definição dos algoritmos e parâmetros em

scripts MATLAB, procedeu-se à criação de um

255

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 267: III WVC 2007

software em C com o auxílio do ambiente de

programação Dev-C++, que utiliza o compilador GCC.

Nesta fase foram utilizadas imagens no formato bitmap,

coloridas, com 24 bits de intensidade por sua

simplicidade em armazenar a imagem. Tais imagens

dedicam seus primeiros 54 bytes ao cabeçalho e o

restante à informação dos pixels; 24 bits por pixel, 8 bits

para cada componente RGB [11]. Esses dados são

armazenados pelo software em uma matriz

tridimensional cuja altura e largura correspondem à

resolução da imagem e a profundidade aos elementos

RGB. A partir de então é possível aplicar os filtros na

matriz gerada, ao invés de tratar a informação

unidimensional do arquivo.

Tendo neste ponto uma estrutura da imagem idêntica

à fornecida pelo MATLAB, em que a imagem é

representada por um vetor tridimensional, transcrevemos

o código dos scripts diretamente, criando três funções

correspondentes a cada um dos filtros.

Estando o software funcionando, realizaram-se

alterações para manter o código em ANSI C puro, sem o

uso de bibliotecas específicas, além de mudar os

algoritmos para o uso de vetor unidimensional já que, em

geral, vetores multidimensionais não são suportados

pelas ferramentas de síntese [12]. Os vetores

tridimensionais foram então reduzidos manualmente a

vetores unidimensionais.

Dessa forma o código C pode ser transcrito para uma

descrição de hardware [13], neste caso, VHDL.

7. A Implementação em VHDL

A implementação em VHDL foi iniciada após a

criação do software em linguagem C. Como explicado

anteriormente, o vetor tridimensional, cuja finalidade é

armazenar a imagem, foi transformado em um vetor

unidimensional. Além disso, cada componente RGB foi

tratado separadamente, cada um com seu vetor

unidimensional. Assim, por exemplo, uma imagem

colorida de 50x50 pixels será armazenada em três

vetores unidimensionais com 2500 posições cada um.

Foram implementadas em VHDL as etapas de pré-

processamento e segmentação, conforme pode ser

observado na figura 2. A plataforma utilizada foi o

software Quartus II v7.1, da Altera.

Inicialmente, as etapas de pré-processamento e

segmentação foram inclusas em um único bloco, com o

código dos três filtros (mediana,remoção de cores e

remoção de ruídos) na mesma entidade (entity). Devido

a problemas na compilação optou-se pela divisão em

blocos menores, interligados entre si. Estes problemas

referem-se à demora excessiva na etapa de Análise e

Síntese, que consumiu todos os recursos de memória do

computador utilizado para a compilação (cerca de 1Gb

de memória RAM), travando-o. O problema foi

resolvido utilizando-se blocos de memória e filtros

separados, mas interligados entre si. O diagrama de

blocos simplificado pode ser observado a partir da

figura 5.

Nota-se a existência de quatro blocos principais: três

módulos de memória RAM (Random Access Memory,

um módulo filtro da mediana, um módulo filtro de

remoção de cores e um módulo filtro de remoção de

ruídos. Há ainda o módulo controlador, que irá receber

e enviar sinais de controle, habilitando e desabilitando

os módulos e os dispositivos tri-state. Este módulo,

bem como os dispositivos tri-state foram omitidos da

figura para maior simplificação. Cada um dos blocos

será detalhado abaixo.

Memória

“R”

Memória

“G”

Memória

“B”

Fluxo de dados Fluxo de dados

Fluxo de dados Entrada de dados / endereços

Filtro

Mediana

Filtro

remoção de

cores

Filtro

remoção de

ruídos

Figura 5 – Diagrama de Blocos simplificado

A memória RAM tem como função armazenar a

imagem. Ela contém um barramento de endereços,

onde em cada posição será armazenado um pixel,

barramentos de entrada e saída de 8 bits, que

correspondem ao valor de cada pixel e sinais de

controle, write enable e clock. Os barramentos de

entrada e saída são de 8 bits pois representam os

componente R, G ou B. Cada componente pode

assumir valores de 0 a 255.

Como se trata de imagens coloridas, sistema RGB,

foram utilizados três módulos de memória, cada um

armazenando um componente R, G ou B. O módulo de

memória pode ser observado a partir da figura 6.

Figura 6. Módulo de memória

256

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 268: III WVC 2007

O módulo filtro da mediana, cuja função foi descrita

anteriormente, apresenta como saídas um barramento de

endereços, para acesso à posição de memória, três

barramentos, de 8 bits que irão conter o resultado da

aplicação do filtro da mediana e sinais de controle,

gera_pos e wr. Na entrada, o módulo apresenta três

barramentos de entrada de dados (pixels), um barramento

de endereço e sinais de controle enable e clock. O

módulo filtro da mediana pode ser observado a partir da

figura 7.

Figura 7. Módulo filtro da mediana

Os módulos filtro de remoção de cores e filtro de

remoção de ruídos seguem o mesmo padrão do módulo

filtro da mediana, pois têm a mesma função de

manipulação dos dados (pixels) da memória. Os módulos

filtro de remoção de cores e filtro de remoção de ruídos

podem ser observados a partir da figura 8 (a) e (b)

respectivamente.

(a)

(b)Figura 8. (a) Módulo filtro de remoção de cores e

(b) Módulo filtro de remoção de ruídos

O módulo controlador é composto por sinais de

entrada e saída que comandarão todos os módulos do

pré-processador. Pode-se observar, a partir da figura 9,

que o módulo é composto pelos sinais de entrada

enable, reset e clock, e também ot0, ot1, ot2 e ot3 que

receberão sinais da memória e dos módulos dos filtros.

Na saída, há os sinais EF1, EF2 e EF3 (enable dos

filtros), rw (leitura e escrita na memória), CEM (buffer

de entrada), CSM (buffer de saída) e CE (controlador

de endereços)

Figura 9. Módulo controlador

O fluxo de dados dar-se-á da seguinte maneira: a

imagem é armazenada nas memórias, onde cada

memória armazena um componente do sistema RGB.

Após a imagem ser armazenada, iniciam-se os módulos

dos filtros, na seguinte ordem: filtro da mediana, filtro de remoção cores e filtro de remoção de ruídos. Cada

filtro trata a imagem inteira, pixel a pixel, conforme

seus algoritmos individuais, realizando operações de

leitura e escrita nas memórias. O próximo filtro irá

iniciar somente após o término do filtro anterior. Após

o filtro de remoção de ruídos, o conteúdo da memória

será a imagem transformada, sem o fundo e somente

com as folhas.

8. Conclusões

Neste artigo foi apresentado um método

desenvolvido para eliminação de fundo em imagens,

voltado para tarefas de identificação de plantas

daninhas em cultivo de soja.

Os algoritmos foram inicialmente descritos em

MATLAB, exceto o da Mediana, para facilitar a

simulação e os testes interativos. Posteriormente à

definição dos algoritmos, procedeu-se a conversão à

linguagem C. As imagens obtidas em ambos os

ambientes foram praticamente iguais, apresentando

resultados finais satisfatórios.

Observa-se que os testes iterativos são de suma

importância, pois a partir deles são obtidos os valores

ideais para a remoção das cores e ruídos

inconvenientes. Se esses valores não forem escolhidos

adequadamente, pode haver o comprometimento da

estrutura das folhas, ao serem criadas oclusões nas

mesmas.

Após os testes iterativos e a conversão à linguagem

C, os filtros foram descritos em VHDL. Cada bloco foi

simulado individualmente, com resultados esperados.

257

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 269: III WVC 2007

Logo após os blocos foram unidos e simulados como um

bloco só.

Foram realizados testes com cerca de 30 imagens de

soja. Para cada cultivo de soja, é necessária a calibração

de cores, pois as tonalidades de verde das folhas podem

ser diferentes para cada cultivo. As condições climáticas

(nublado, sol) e o horário da filmagem (manhã, tarde)

também podem contribuir para que as tonalidades de

verde sejam diferentes.

O desempenho do algoritmo pode ser melhorado se

um calibrador de cores puder ser gerado; assim, as

condições climáticas e o horário da filmagem não

influenciariam muito nos resultados.

Observa-se também que as condições de captura da

imagem são extremamente importantes para o

desempenho das etapas de pré-processamento e

segmentação. Deste modo, um melhor sistema de

captura, com o mínimo de oscilações e com iluminação

adequada (sem a presença de sombras) deve ser

desenvolvido para obtenção de melhores imagens.

9. Referências

[1] EMBRAPA. Tecnologias de Produção de Soja. Brasil,

2000. Disponível em: <http://www.cnpso.embrapa.br/produ

caosoja/>.

[2] TSCHIEDEL, M; FERREIRA, M. F. Introduction the

Precision Farming: Concepts and Advantages. Ciência

Rural, vol.32, no.1, p.159-163, Santa Maria, Brazil, 2002.

[3] PERNOMIAN, V. A. Identificação de plantas invasoras em

tempo real. Dissertação de Mestrado – ICMC, USP. São

Carlos, 2002.

[4] YANG, C.C.; PRASHER, S.O.; LANDRY, J.A.;

RAMASWAMY, H.S.; DITOMMASO, A. Application of

artificial neural networks in image recognition and

classification of crops and weeds. Canadian Agricultural

Engineering. Vol. 42, No. 3 July 2000.

[5] DIAS, D. N. Identificação dos sintomas de ferrugem em

áreas cultivadas com cana-de-açúcar. Dissertação de

Mestrado – ICMC, USP. São Carlos, 2004.

[6] GONZALEZ, R. C.; WOODS, R. E. Digital Image

Processing. 2nd.ed. Addison-Wesley Publishing Company,

New Jersey, 2002.

[7] RIBEIRO, F. F. S.; LIMA, A. C. C. Detecção de volume de

tráfego de veículos proporcionada por visão

computacional via redes neurais. Proceedings of the IV

Brazilian Conference on Neural Networks. São José dos

Campos, SP, Brazil. 1999.

[8] THE MATHWORKS. MatLab Help Desk. Disponível em:

<http://www.mathworks.com/access/helpdesk/help/techdoc

/matlab.html>. Acesso em: Junho 2006.

[9] FILHO, O. M.; NETO, H. V. Processamento digital de

imagens, Brasport, 1999.

[10] SANDBERG, K. Introduction to image processing in

Matlab. University of Colorado. Disponível em:

<http://amath.colorado.edu/courses/4720/2000Spr/Labs/

Worksheets/ Matlab_tutorial/matlabimpr.html>. Acesso

em: Junho 2006.

[11] GREEN, B. Raster Data Tutorial (24-Bit). Disponível

em:

<http://www.pages.drexel.edu/~weg22/colorBMP.html>.

Acesso em: Outubro 2006.

[12] UNIVERSITY OF CALIFORNIA - CECS. Feature list

and restrictions on input C for SPARK. Disponível em:

<http://mesl.ucsd.edu/spark/download/docs/featureList.ht

ml>. Acesso em: Outubro 2006.

[13] D’AMORE, R.; Descrição e síntese de Circuitos

Digitais. LTC Editora, 2005.

[14] ALTERA INC. Disponível em:

<https://www.altera.com/

support/software/download/sof-download_center.html>.

258

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 270: III WVC 2007

Processamento de Imagem Distribuído e Orientado a Serviço usando JAVA

Frank José Affonso 1,2

, Evandro Luis Linhari Rodrigues 2

1-Centro Universitário Central Paulista (UNICEP)

2-Escola de Engenharia de São Carlos (EESC-USP)

([email protected] / [email protected]) ([email protected])

Abstract

This paper presents a methodology of distributed

image processing that has the main objective to optimize

the resource of machine available into network. To

optimize the machine time to processing of image is

introduced the concept of service orientation, which is

responsible to find the available machine into network to

help decrease the time of image processing.

With the service oriented processing is possible the image

processing to become dynamic, because depending of the

algorithm or technique that is intended to apply, it is

necessary the high number of machine to have a

satisfactory processing time. To have a dynamic process

were utilized two technologies, JINI and JavaSpace,

which are complementary and work together to become

the distributed processing more dynamic than traditional

technology can offer actually.

1. Introdução

A atividade de processar uma imagem requer, em

alguns casos, alto poder de processamento de máquina.

Em algumas aplicações pode-se observar um ou mais

computador(es) dedicado(s) para realizar esta atividade.

O volume de processamento pode ser determinado em

função dos algoritmos (cálculos) que se pretende realizar

e, nota-se também, em determinados casos, o

processamento é subutilizado e em outros se torna

insuficiente. Para aperfeiçoar a relação investimento

versus processamento, apresenta-se neste artigo uma

metodologia para processamento distribuído de imagens e

orientado a serviços, cujo principal enfoque é otimizar o

processamento em função dos recursos computacionais.

Este artigo está organizado da seguinte maneira: na

seção 2 são apresentados os trabalhos relacionados ao

desenvolvimento deste; na seção 3 são apresentados os

sistemas, local e orientado a serviços, de processamento

de imagens com filtros e na seção 4 são apresentadas as

conclusões finais.

2. Trabalhos Relacionados

A linguagem de programação JAVA [2] é considerada

uma das mais poderosas e mais abrangentes das existentes

atualmente no mercado [1]. Ela pode ser caracterizada

como uma linguagem orientada a objetos, robusta,

interoperável, portável, multiplataforma e utilizada em

vários ambientes de implementação computacional,

devido à grande quantidade de APIs (Application

Program Interface) existentes. Essas características

levaram a Sun [3] investir num slogan que marcou a

linguagem JAVA “compile uma vez e rode em qualquer

lugar”. Neste artigo são abordadas APIs para

Manipulação de Imagens (Image I/O) [4], para

desenvolvimento de aplicações desktop (SwingJFC) [5] e

para distribuição da aplicação na rede (RMI, JINI,

JavaSpace) [6, 7 e 8].

A API Java Image I/O [4] oferece recursos para

manipulação de imagens tanto em 2D quanto em 3D, para

integração com aplicativos Swing [5] e para Web, para

aplicativos que envolvem recursos OpenGL [4]. Apesar

de oferecer suporte a grande quantidade de recursos,

optou-se neste trabalho pela utilização de processamento

de imagens em 2D com a aplicação de filtros, que são

operações matemáticas capazes de realizar as mudanças

nas imagens originais. Os detalhes da escolha deste tipo

de imagem e filtros que serão aplicados serão detalhados

na seção 3.

Para realizar o processamento de imagens com a

aplicação de filtros foi desenvolvido um software de

execução local, também conhecido como aplicativo

desktop. Esse software foi desenvolvido na ferramenta

Netbeans [9] versão 5.5 pela integração direta com os

componentes gráficos SwingsJFC [5] e pela facilidade de

desenvolvimento.

Para implementação da computação distribuída

destaca-se a RMI, Remote Method Invocation, que

permite que objetos JAVA [2], presentes no mesmo

computador ou em um ambiente distribuído, se

comuniquem entre si por meio de chamadas remotas aos

métodos que implementam [10]. A RMI oferece a

transferência de objetos complexos, tipos de dados

complexos, através de um mecanismo de serialização,

cujo propósito principal é viabilizar a comunicação entre

os objetos remotos, codificando-os como um fluxo de

bytes. Para isso, duas classes são fundamentais: a

ObjectOutputStream, que converte qualquer objeto

“Serializable” em fluxo de bytes para transmissão

na rede; e a ObjectInputStream, que reconstitui os

259

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 271: III WVC 2007

bytes em objetos [6 e 10].

A tecnologia de distribuição JINI permite a integração

de serviços em um ambiente restrito, como uma rede

local, ou amplo, como a Internet. Para permitir o acesso

às funcionalidades por aplicações distintas, necessita-se

que os serviços compartilhados possuam interfaces de

Entrada/Saída bem definidas, pois podem, clientes e

servidores, estar presentes em ambientes de execução

heterogêneos, com diferentes protocolos de rede, sistemas

operacionais, plataformas de hardware, entre outros [11].

Sobre os mecanismos de distribuição, a arquitetura

JINI tem como base a RMI. Os clientes descobrem os

serviços dinamicamente e fazem download das classes

necessárias para utilização do serviço e depois fazem a

utilização dos mesmos. Esse mecanismo de comunicação

pode ter funcionamento semelhante ao plug-and-play,

pois a aplicação que solicita um serviço não instala

qualquer aplicativo adicional (driver) [11]. Basicamente,

a arquitetura JINI [7] é composta por três itens:

provedores de serviços (servidores), consumidores

(clientes) e os localizadores de serviços (lookup).

O serviço JavaSpace faz parte da arquitetura JINI e

contribui para o desenvolvimento de aplicações

distribuídas viabilizando a comunicação entre objetos, o

compartilhamento de objetos na rede e a coordenação de

tarefas em áreas de memória compartilhadas. Seu objetivo

principal é controlar áreas de memória escrevendo,

entregando e lendo dados de maneira isolada, por apenas

um objeto, ou transacional, por um conjunto de objetos [8

e 11]. Assim como no JINI, o localizador de serviços está

presente no JavaSpace com a mesma finalidade.

Em [12 e 13] são abordados o processamento de

imagens utilizando clusters. Os autores apresentam um

sistema de recuperação de imagens por conteúdo, em que

é fornecido ao sistema um conjunto de atributos que

qualificam e quantificam determinadas características das

imagens. Ao realizar o processamento de pesquisa, essas

informações são encaminhadas a um cluster de

processamento que executa a pesquisa e devolve o

resultado para o diagnóstico. Esse tipo de sistema requer

uma estrutura computacional pré-configurada para

realização das operações, com isso, elevando o custo da

implementação.

3. Processamento de Imagens Local e Orientado a Serviços

Esta seção apresenta, de maneira detalhada, a

descrição dos sistemas de processamento de imagens.

Inicialmente é descrito o sistema local para aplicação de

filtros e, posteriormente, a distribuição desse sistema em

um processamento distribuído e orientado a serviços.

Para o desenvolvimento de ambos os sistemas,

diagramas da UML foram confeccionados, pois

representam graficamente a troca de mensagens entre os

objetos. As Figuras 1(a) e (b) mostram, respectivamente,

a modelagem do sistema e sua implementação. A classe

Java2DMain representa o programa principal, ou seja,

ela é invocada pela JVM, Java Virtual Machine, e produz

o programa visualizado na Figura 1 (b).

Figura 1 - Diagrama UML e Sistema de Processamento de Imagem (Aplicação de Filtros Simples)

(a)

(b)

260

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 272: III WVC 2007

A modelagem e implementação deste software seguem

o padrão de projeto MVC [14], Model View Control. A

classe Java2DMain representa a lógica do sistema, ou

seja, o programa principal, pois executa chamada para as

demais classes do sistema. A classe ImagePanelView

representa a visão do sistema, a qual contém o

componente responsável por exibir imagem original e as

correspondentes alterações aplicadas pelos filtros. As

classes SharpenFilter, InvertFilter,

ColorFilter e BlurFilter implementam a

interface Java2DImageFilter, ou seja, assinam um

contrato que devem implementar o método

processImage(). Em cada uma das classes existe

uma implementação (filtro) para este método. Sobre seu

funcionamento pode-se dizer que recebe uma imagem

presente na visão do usuário (ImagePanelView),

realiza o processamento aplicando sobre ela o filtro que

implementa e devolve para ser exibida novamente. A

Figura 2 mostra a imagem original e a aplicação de todos

os filtros que este programa implementa.

Figura 2 - Filtros aplicados na imagem

O sistema apresentado para processamento de imagem

com a aplicação de filtros trata-se de uma aplicação

exemplo para simular o processamento distribuído e

orientado a serviço. O sistema proposto é uma aplicação

stand-alone que executa de maneira síncrona consumindo

todo tempo de máquina possível até o fim da realização

da aplicação do filtro.

Quanto ao tipo de processamento pode-se dizer que

exige equipamentos dedicados, que pode ser apenas uma

unidade de processamento (microcomputador) ou várias

(cluster de microcomputadores). Em ambos os casos

existem paradoxos a serem tratados, tais como:

Uma unidade de processamento: requer

baixo investimento, mas pode ser insuficiente

dependendo to tipo de processamento que se

pretende realizar, acarretando em alto tipo de

processamento;

Várias unidades (cluster): requer maior

investimento em equipamentos, tende a

apresentar maior poder processamento,

Filtro: Inverte Cores Filtro: Enfatiza

Filtro: Mancha Filtro: Altera Cores

Imagem Original

261

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 273: III WVC 2007

conseqüentemente otimização de tempo. No

entanto, em alguns casos a implementação

pode ser subutilizada, ou seja, pode

ocasionar ociosidade de processamento.

Em ambos os casos existem problemas quanto à

otimização de processamento. A solução ideal é a uma

unidade de processamento reconfigurável capaz de incluir

ou excluir processamento de máquina conforme a

necessidade da aplicação.

Para viabilizar essa estrutura, um sistema distribuído e

orientado a serviços foi desenvolvido. Sua estrutura

também está relacionada a uma rede de computadores

local ou distribuída, porém sem a dedicação exclusiva. A

constituição de todos os nós de processamento é

centralizada na unidade principal de processamento,

encarregada de reconhecer e encaminhar/receber o

processamento/processado.

No sistema atual, a unidade principal de

processamento possui N nós. Para aplicar um filtro a uma

determinada imagem o usuário informa o nome do

arquivo (imagem a ser processada) o número M de nós

(sendo M <= N) que serão utilizados no processamento e

o filtro que se pretende aplicar.

A aplicação central fragmenta a imagem em partes

menores e encaminha para os demais nós para realizar o

processamento. Ao terminar o processamento, cada nó,

devolve para a aplicação central o que foi processado para

que a imagem seja reconstituída e apresentada para o

usuário, conforme mostra a Figura 3.

Figura 3 – Estrutura de Processamento Distribuído Orientado a Serviços

Para implementar um sistema distribuído orientado a

serviços é necessário que cada nó processador seja

identificado e localizado pela aplicação central. A

tecnologia JINI assim como a JavaSpace trabalham com o

conceito de nomes em URLs, Uniform Resource Locator.

Uma URL é formada pela localização da unidade de

processamento na rede por meio de seu endereço IP,

Internet Protocol, ou nome na rede, e pelo nome que lhe é

atribuído pela aplicação servidora. Além disso, essas

tecnologias requerem que um gerenciador de transação

seja criado para interligar e facilitar o gerenciamento das

aplicações na rede, recebimento do que processar, do

processamento e da devolução daquilo que foi

Imagem Original Imagem Processada

Processador de Imagens (Cliente)

JavaSpace

Fragmenta

Processamento

Entrada de Imagem

Reconstitui

Processada

Saída de Imagem

Nodo Processado (1)

Nodo Processador (2)

Nodo Processador (3)

Nodo Processador (4)

Nodo Processador (N)

. . . .

Imagem

Filtro

Unidades de processamento

Imagem Modificada Imagem Processada

Imagem Original

Imagem Processada

Imagem Original

262

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 274: III WVC 2007

processado. A Figura 4 mostra a composição de URL e

gerenciador de transações.

Figura 4 - Trecho de código para definição da URL e do Gerenciador de Transação JINI/JavaSpace

Conforme apresentado nesta seção, o usuário ao

realizar o processamento da imagem, faz a escolha de

quantos nós serão utilizados. Isso torna o processamento

estático e preserva problemas da aplicação stand-alone ,

subutilização de recurso ou lentidão no processamento.

Para minimizar esses problemas o usuário pode utilizar

um recurso adicional para o dimensionamento do

tamanho da imagem quanto ao processamento a ser

realizado, que corresponde a um detector do tamanho do

arquivo.

Na fase inicial o usuário pode optar por uma sugestão

do sistema quanto ao tempo de processamento e os nós

necessários para melhor otimização. Para oferecer essa

sugestão o sistema avalia as entradas fornecidas pelo

usuário e compara com uma base de informações

heurísticas. Estas são medições realizadas anteriormente e

estabelecidas como estimativas para os processamentos

futuros.

4. Conclusões

Este artigo mostra uma metodologia para o

processamento de imagens realizado de maneira stand-

alone, distribuído em cluster e distribuído orientado a

serviço. Em todos os casos existe uma relação de custo

financeiro na estrutura de processamento e no tempo para

sua realização. Destaca-se na terceira opção a otimização

que pode ser realizada em relação ao que deve ser

processado. As tecnologias JINI e JavaSpace permitem o

desenvolvimento de unidades de processamento

configuráveis e dinâmicas em tempo de execução.

O processamento dinâmico abordado neste artigo

minimiza problemas de subutilização de recursos ou

elevados tempos de processamento. Além disso, o usuário

pode utilizar um apoio computacional que dimensione o

número de nós necessários para que uma imagem seja

processada em um determinado tempo.

O software desenvolvido permite que sejam aplicados

filtros para exemplificar o processamento de imagem de

maneira local e distribuída. O objetivo deste comparativo

não é abordar o processamento realizado e sim enfatizar a

distribuição que pode ser realizada e os aspectos

dinâmicos abordados. No entanto, a estrutura distribuída

apresenta melhor otimização à medida que a

complexidade de processamento aumenta, pois apesar de

haver divisão e reconstituição de tarefas para realização

do processamento de imagens o resultado final tende a ser

mais otimizado se comparado ao stand-alone.

Como atividade futura para continuidade deste

trabalho pretende-se realizar a otimização de distribuição,

pois determinados tipos de imagem podem passar por um

processo de compactação e ter seu tempo de transmissão

pela rede reduzido significativamente. Para isso, devem

ser realizados vários testes para avaliar seu desempenho e

formar um conjunto de medidas que servirão de

referência para o usuário em processamentos futuros.

5. Referências Bibliográficas

[1] H. M. Deitel & P. J. Deitel, “Java, como programar”,

tradução Edson Furnankiewicz. 6a. ed. São Paulo:

Pearson Prentice Hall. 2005;

[2] SUN-JAVA. Site oficial da sun microsystem para o

JAVASE. Disponível em: <http://java.sun.com/

javase/6/>. Acessado em: 01 de ago. 2007;

[3] SUN. Site oficial da sun microsystem. Disponível em:

< http://java.sun.com>. Acessado em: 01 de ago. 2007;

[4] SUN-JAVA. Site oficial da sun microsystem para

Image I/O. Disponível em: <http://java.sun.com/javase/6/

docs/technotes/guides/imageio/index.html>.Acessado em:

01 de ago. 2007;

[5] SUN-JAVA. Site oficial da sun microsystem para

Swing JFC. Disponível em: <http://java.sun.com/javase/

6/docs/technotes/guides/swing/index.html>. Acessado

em: 01 de ago. 2007;

[6] SUN-JAVA. Site oficial da sun microsystem para

RMI. Disponível em: <http://java.sun.com/javase/6/

docs/technotes/guides/rmi/index.html>. Acessado em: 01

de ago. 2007;

private JavaSpace space;

...

//Trecho que define a URL String url = "jini://" + hostname;

JavaSpaceFinder finder =

new JavaSpaceFinder(url);

space = finder.getJavaSpace();

// Trecho que define o Gerenciador de transação. TransactionManagerFinder findTransaction

= new TransactionManagerFinder(url);

manager =

findTransaction.getTransactionManager();

...

Nome do microcomputador na rede

263

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 275: III WVC 2007

[7] SUN-JAVA. Site oficial da sun microsystem para

JINI. Disponível em: <http://www.sun.com/software/

jini/>. Acessado em: 01 de ago. 2007;

[8] E. Freeman, S. Hupfer, K. Arnold, “JavaSpace

Principles, Patterns, and Practice”, Ed. Addilson Wesley

ISBN: 0-201-30955-6, 1999;

[9] NETBEANS, Site oficial do netbeans. Disponível em:

<http://www.netbeans.org>. Acessado em: 02 de ago.

2007;

[10] H. M. Deitel & P. J. Deitel, “Java, como programar”,

tradução Edson Furnankiewicz. 3a. ed. Porto Alegre :

Bookman. 2001;

[11] H. M. Deitel, P. J. Deitel, and S. E. Santry.

“Advanced Java 2 Plataform, How to Program”. Ed.

Prentice Hall, ISBN: 0-13-089560-1, 2001;

[12] M. Guld, B. Wein, D. Keysers, C. Thies, M. Kohnen,

H. Schubert, and T. Lehmann, "A distributed architecture

for content-based image retrieval in medical

applications," in Proceedings of the 2nd International

Workshop on Pattern Recognition in Information

Systems, pp. 299--314, 2002;

[13] Mark O. Güld, Christian Thies, Benedikt Fischer,

Daniel Keysers, Berthold B. Wein, Thomas M. Lehmann.

“A Platform for Distributed Image Processing and Image

Retrieval”, Department of Medical Informatics, 2003;

[14] E. Freeman, E. Freeman, K. Sierra, B. Bates. Head

First Design Patterns. Ed. O’Relley, ISBN:0-596-00712-

4, páginas 500 – 561;

264

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 276: III WVC 2007

Aplicação de Redes Neurais para Visualização de Relevos Naturais em forma de Composições Musicais Utilizando Compassos como Primitivas

Débora Cristina Corrêa1, José Hiroki Saito

1, Mário Alexandre Gazziro

2

1Universidade Federal de São Carlos – Departamento de Computação – Grupo de Arquitetura e

Processamento de Imagens e Sinais (GAPIS)

debora_correa, [email protected] de São Paulo – Instituto de Física – Dipteralab-IFSC-USP

[email protected]

Abstract

This paper describes a neural network application for

landscapes contour visualization as musical composition.

During the training phase, the neural network learns

certain aspects of musical structure by means of measure

examples taken from melodies of the training set. The

chosen melodies for training are folk melodies, once they

are simple and monophonic. During composition, the

system uses the measures learned to compose new

melodies using as input the extracted data of the

landscapes contour.

Resumo

Esse artigo descreve uma aplicação de redes neurais

para visualização de relevos naturais como composições

musicais. Durante a fase de treinamento, a rede neural

aprende certos aspectos da estrutura musical através de

exemplos de compassos extraídos de melodias do

conjunto de treinamento. As melodias escolhidas para o

treinamento são melodias folclóricas, por serem simples

e monofônicas. Durante a composição, o sistema utiliza o

repertório de compassos usados no treinamento para

compor novas melodias, usando como entrada dados

extraídos de relevos naturais.

1. Introdução

A visualização de uma imagem como composição

musical, bem como a visualização da música num espaço

3D tem sido objeto de pesquisas nos últimos anos. Martin

Quinn [9] descreve a geração de componentes musicais

na sonificação de dados que representam 110.000 anos de

história climática terrestre. Os arquivos de dados do

Centro de Pesquisas em Mudanças Climáticas da

Universidade de New Hampshire interagem em

interessantes formas, para a composição de uma

apresentação musical de 5 minutos. Smith e Williams [11]

descrevem um método alternativo para a visualização da

música, fazendo uso de espaço tridimensional e cores,

como forma de substituição de notação musical

convencional. Taylor, Bonlonger e Torres [10]

apresentam um sistema de visualização que permite

extrair dados musicais em tempo real para sua

representação num ambiente virtual imersivo.

A computação musical, incluindo reprodução e

geração, tem atraído pesquisadores há muito tempo.

Interesses em composição musical por computadores,

especificamente, datam das décadas de 50, quando as

cadeias de Markov foram utilizadas para gerar melodias

[5]. Uma vez que estudantes geralmente aprendem a

compor através de exemplos, as abordagens iniciais foram

motivadas pela busca de padrões existentes nas melodias.

Mais recentemente, as redes neurais artificiais (RNAs)

passaram a ser desenvolvidas como modelos para

aprender processos musicais.

As RNAs, também conhecidas como sistemas

conexionistas, constituem uma forma de computação não-

algorítmica inspirada na estrutura e processamento do

cérebro humano. A computação é realizada por várias

unidades de processamento simples, os neurônios,

conectados em rede e atuando em conjunto. As RNAs

passam por um processo de aprendizagem que consiste

em receber um conjunto de treinamento pelo qual ocorre

a extração de características necessárias para representar a

solução desejada [1]. Nesse procedimento, as redes

neurais artificiais adaptam suas interconexões até que os

padrões de excitação desejados estejam próximos do

comportamento desejado [1] [6].

Para a composição musical, os sistemas conexionistas,

assim como os outros sistemas que envolvem aprendizado

de máquina, são capazes de aprender padrões e

características presentes nas melodias do conjunto de

treinamento e obter generalizações dessas características

para a composição de novas melodias [2] [3] [4] [8] [12].

O presente trabalho consiste no uso de RNAs para o

aprendizado de compassos de melodias, usando como

entradas, dados extraídos de relevos naturais, e como

saídas as amostras de compassos de melodias. Para a

composição, os mesmos ou novos dados de relevos são

apresentados à rede para a geração de novas melodias que

265

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 277: III WVC 2007

representam uma forma de visualização de um ambiente

geográfico.

O artigo está organizado como segue: a seção 2

consiste na descrição do projeto proposto; a seção 3

consiste nos resultados obtidos e a seção 4 consiste na

conclusão do trabalho.

2. Descrição do Trabalho

Além do conhecimento musical, emoções e intenções,

o compositor geralmente conta com uma inspiração para

o desenvolvimento de uma nova melodia. Este trabalho,

em fase de desenvolvimento, propõe adicionar ao

processo de composição uma forma de inspiração,

proveniente da Natureza. Propõe-se que as novas

composições sejam inspiradas na Natureza através da

utilização das ondulações dos acidentes geográficos

durante a fase de treinamento e composição. Essas

composições são então formas de visualização desses

ambientes naturais. Na fase de treinamento, a rede neural

deve aprender os compassos de melodias escolhidos pelo

usuário e, na fase de composição, deve ser capaz de gerar

novas melodias com base nos compassos previamente

treinados.

O trabalho considera, em princípio, que um compasso

consiste numa primitiva melódica que possui condições

de se encadear com outros compassos para a formação de

uma melodia. Para isso, a restrição no treinamento seria a

escolha dos compassos de um mesmo estilo musical.

Na implementação preliminar relativa ao presente

trabalho, as notas musicais são representadas por suas

alturas e durações. As notações rítmicas estão limitadas

em colcheia ( ), semínima ( ), mínima ( ) e semibreve

( ). As pausas não são usadas. Os compassos são

representados pelas notas e pelos seus atributos de

duração e podem ser formados de modo que possuam

quatro ou oito tempos cada. Para compassos com quatro

tempos, a semínima é a unidade de tempo, e a mínima e a

semibreve valem dois e quatro tempos, respectivamente.

Para compassos com oito tempos, a colcheia é a unidade

de tempo, e a semínima e a mínima valem dois e quatros

tempos, respectivamente.

As alturas das notas são representadas pela

combinação de números inteiros e intervalos musicais. A

cada nota é atribuído um número inteiro (Figura 1).

Cada intervalo determina uma distância de freqüência

de uma nota para a outra, em semitons (utilizado nesse

trabalho) ou em freqüências logarítmicas. Mesmo com

um número fixo de neurônios, vários intervalos de notas

podem ser atingidos com essa representação. Além disso,

essa representação é menos dependente de uma

determinada tonalidade e pode descobrir estruturas

comuns entre melodias [7] [12].

O intervalo entre duas notas s e t pode ser determinado

pela equação 1:

int( )s t t s (1)

em que s e t são os valores inteiros que representam as

notas musicais.

Figura 1. Representação das notas musicais por valores inteiros

A duração das notas musicais é representada por 1 e 0,

que indicam quando uma nova nota começa ou quando

ela é a continuação em tempo da anterior,

respectivamente. Dessa forma é possível distinguir, por

exemplo, se o vetor de saída representado por

A,A,A,A, para um compasso de quatro tempos,

representa quatro notas A, cada uma com um tempo cada,

ou duas notas A, cada uma com dois tempos cada, ou

ainda duas notas A, a primeira com três tempos e a última

com um tempo, entre outras possibilidades. Como

exemplo, considera-se a Figura 2 (a), que representa um

exemplo de compasso de quatro tempos extraído da

música “Marcha Soldado” [14], e a Figura 2 (b) que

ilustra a representação desse compasso na rede, em que os

neurônios (yi) representam os neurônios de saída.

(a)

y1 y2 y3 y4 y5 y6 y7 y8

7 7 7 4 1 0 1 1

(b)

Figura 2: Representação dos compassos na rede

Os dados que representam os padrões de entrada (que

constituem a inspiração da rede) são codificados a partir

do contorno de ondulações geográficas de imagens

previamente selecionadas. A Figura 3 apresenta um

exemplo dessa codificação.

266

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 278: III WVC 2007

(a)

(b)

Figura 3. Representação da entrada da rede

O contorno das ondulações é extraído de uma imagem

(Figura 3 (a)) e convertido para valores numéricos

inteiros como mostra o gráfico da Figura 3 (b).

3. Resultados

Nos exemplos de aplicação abaixo discutidos, a rede

neural foi treinada com compassos extraídos de músicas

folclóricas brasileiras, como “Mulher Rendeira”, “O Boi

da Cara Preta”, “Samba Lêlê”, “Peixe Vivo”, entre

outras [14].

A taxa de aprendizado é alterada dinamicamente,

conforme o aprendizado da rede. A atualização dos pesos

é feita localmente, ou seja, para cada par entrada,saída

desejada os pesos são ajustados. Os neurônios da

camada escondida e os neurônios de saída que

representam o atributo de duração das notas usam funções

de ativação sigmóide, enquanto que os neurônios de saída

que representam as notas usam funções lineares.

Foram realizados dois experimentos que se

diferenciam principalmente pela maneira pela qual a rede

é treinada e utilizada para compor novas melodias.

No primeiro experimento a inspiração é utilizada

desde o treinamento da rede e, no segundo, somente na

fase de composição.

Tanto os padrões das ondulações geográficas quanto

os compassos de treinamento são iguais nos dois

experimentos e o algoritmo de aprendizado utilizado é o

back-propagation padrão [6].

A Figura 4 ilustra 11 compassos utilizados no

treinamento, ordenados aleatoriamente.

Figura 4. Compassos utilizados no treinamento

O modelo de rede neural utilizado nos

experimentos (mostrado na Figura 5) contém entradas

recorrentes (xi), que recebem os valores dos neurônios de

saída, e entradas não recorrentes (ii), para os dados das

ondulações geográficas. A rede contém uma camada

escondida (representada pelos neurônios zi) e uma

camada de saída (neurônios yi), que representam os

compassos de treinamento.

Figura 5: Arquitetura da Rede

3.1 Primeiro experimento

Nesse primeiro experimento, foi utilizada uma rede

recorrente, fortemente conectada, com 8 entradas

recorrentes que representam os compassos de treinamento

(4 notas e 4 atributos de duração) e 4 entradas não

recorrentes que representam os padrões extraídos das

ondulações geográficas. A rede possui 12 neurônios

escondidos e 8 neurônios de saída. A cada época de

267

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 279: III WVC 2007

treinamento, a rede recebe como entrada os compassos

extraídos das melodias de treinamento e os padrões das

ondulações geográficas.

Normalmente um compositor humano primeiro

aprende os conceitos necessários para compor uma

melodia. E depois, quando for compor sua própria

melodia, pode ser influenciado por sensações ou

inspirações. Nesse experimento, esses dois momentos

acontecem ao mesmo tempo. A rede está aprendendo as

características dos compassos de treinamento junto com a

inspiração. Porém, a motivação desse experimento

consiste em se obter uma composição preliminar, que

deverá então ser analisada e ser o ponto de partida para

uma composição final. É como se o compositor somasse

ao seu conhecimento uma inspiração e compusesse uma

melodia, para ser posteriormente analisada e

aperfeiçoada, para se tornar a composição final. Esse

processo é comum em uma composição musical.

Além disso, a rede aprende, no seu treinamento, a lidar

com esses padrões de entrada e transformá-los em

compassos musicais.

Como geralmente ocorre no treinamento das redes

neurais recorrentes, os valores dos neurônios de saída são

comparados com os valores desejados e retornados

através das conexões recorrentes para os neurônios de

entrada. No início do treinamento, antes que a rede esteja

totalmente treinada, as saídas estão distantes das

desejadas. Essas saídas incorretas são retornadas para os

neurônios de entrada, comprometendo as equações de

ajuste de pesos [5]. Como tentativa de otimizar esse

processo, o treinamento nesse experimento foi realizado

de duas maneiras diferentes.

Na primeira delas, foi realizado o treinamento forçado

[13], que consiste em ignorar os valores obtidos pelos

neurônios de saída e retornar para os neurônios de entrada

os próprios valores desejados. Portanto, ao invés dos

valores obtidos pelos neurônios de saídas serem

retornados para os neurônios de entrada, os próprios

valores desejados são retornados, uma vez que esses

valores são conhecidos durante o treinamento [5] [9].

Assim, o aprendizado se torna mais eficiente.

Durante o treinamento, a rede precisou de menos de 10

mil épocas para aprender 10 compassos musicais. Durante

a composição, foram utilizados os mesmos padrões de

ondulações geográficas do treinamento, e a rede foi

compondo de acordo com suas próprias saídas. A figura 6

mostra a melodia gerada com 10 compassos.

Figura 6. Exemplo de melodia gerada pelo treinamento forçado

A Figura 7 mostra a melodia obtida pela rede na fase

de composição para padrões de entrada de ondulações

geográficas similares com os padrões utilizados no

treinamento. Esses padrões foram extraídos de uma

imagem com ondulações semelhantes às presentes na

Figura 4 (a).

Figura 7. Exemplo de melodia gerada com padrões de entrada similares aos

utilizados no treinamento

Porém, há duas desvantagens no treinamento forçado

[5] [12]. A primeira delas é que ele não é aplicável para

recorrência em neurônios escondidos, uma vez que os

valores desejados não estão disponíveis para esses

neurônios. A segunda desvantagem refere-se ao

comportamento da rede. Mesmo quando a rede estiver

totalmente treinada, suas saídas podem nunca serem

exatamente iguais às saídas desejadas. Sendo assim,

quando a rede for usada para lidar com novos exemplos

depois de treinada, e sua saída retornada para os

neurônios de entrada, essa entrada irá incluir variações

que não estavam presentes durante o treinamento.

Um segundo treinamento foi proposto nesse

experimento, na tentativa de otimizar essa segunda

desvantagem apresentada pelo treinamento forçado. O

treinamento consiste em utilizar uma função de

probabilidade gaussiana em cada neurônio de entrada,

com a média sendo o valor desejado de cada neurônio de

saída e variância bem pequena. Os neurônios de entrada

passam a não receber exatamente os valores desejados a

cada passo de treinamento e sim um valor aleatório

pertencente a um pequeno intervalo que contém a saída

268

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 280: III WVC 2007

desejada (centro do intervalo) do passo de treinamento

anterior. Por exemplo, considerando uma gaussiana de

variância igual a 0.001 e média igual à saída desejada.

Com isso, a rede aprende a lidar com possíveis variações

durante o treinamento, e apresenta um melhor

desempenho na fase de generalização.

Foram necessárias 50 mil épocas para que a rede

aprendesse os compassos do conjunto de treinamento.

Semelhante ao treinamento anterior, os mesmos padrões

de ondulações foram utilizados na fase de composição,

em conjunto com as próprias saídas produzidas pela rede.

A Figura 8 mostra a melodia gerada para 10 compassos.

Figura 8. Exemplo de melodia gerada pelo treinamento forçado com

probabilidade gaussiana

3.2 Segundo experimento

A principal diferença desse experimento em relação ao

primeiro é que os padrões das ondulações geográficas não

fazem parte do treinamento da rede. Ou seja, durante o

treinamento, a rede aprende os compassos extraídos das

melodias sem a participação desses padrões. Esse sistema

representa um compositor que utiliza os conceitos

aprendidos e adiciona a esses conceitos uma possível

inspiração para compor novas melodias.

Portanto, a rede utilizada também é recorrente, mas

possui 8 neurônios de entrada (que representam as notas e

seus atributos), 8 neurônios escondidos e 8 neurônios de

saída.

Os padrões das ondulações geográficas são inseridos

no momento da composição. A rede gera novas melodias

com base no que aprendeu durante o treinamento e com

base na inspiração, representada por esses padrões.

Com um pouco menos de 10 mil épocas e utilizando o

treinamento forçado, a rede conseguiu aprender os

compassos do conjunto de treinamento. Como a

informação da inspiração não estava presente na fase de

treinamento, o comportamento da rede na fase de

composição é inesperado. Como se espera no final uma

melodia musical, talvez esse comportamento não seja uma

desvantagem.

A Figura 9 representa a melodia gerada pela rede

nesse experimento para 10 compassos.

Figura 9. Exemplo de melodia gerada sem informação de inspiração no treinamento.

A Tabela 1, no final do artigo, mostra

numericamente os compassos de treinamento e as

melodias geradas pela rede. Como descrito no primeiro

experimento, a cada passo de treinamento a rede recebe

como entrada quatro valores referentes aos padrões dos

relevos naturais e oito valores que representam as quatro

notas do compasso e seus atributos de duração. No

segundo experimento, a rede recebe com entrada apenas

os oito valores que representam os compassos. Pode-se

observar na Tabela 1 o resultado das melodias das Figuras

6, 8 e 9.

4. Conclusão

Foi descrito um sistema de visualização de contornos

de relevos naturais em forma de uma composição musical

usando redes neurais, e baseado no treinamento de

compassos. Nota-se que apesar de serem consideradas as

ondulações geográficas, essa inspiração pode ser

generalizada.

O sistema é útil para a obtenção automática de

melodias para que o usuário possa fazer sua análise

posterior.

Foram propostos experimentos que mostram como o

treinamento e a representação dos dados na rede podem

influenciar no resultado final.

O sistema assim constituído pode ser aperfeiçoado

com a inclusão de outros atributos para as saídas, como

dinâmicas de intensidade e andamento. Outras figuras

rítmicas podem ser incluídas e a rede deve ser capaz de

aprender uma quantidade maior de compassos. Também

há a necessidade de estender a rede para melodias

polifônicas.

Deve-se melhorar também a forma de representação

dos dados na rede, para buscar uma otimização nos erros.

Um exemplo de erro considerado nesse trabalho ocorre

quando se tem na saída uma nota de altura diferente, mas

o atributo de duração indica que essa nota é a continuação

em tempos da anterior.

Como trabalhos futuros, devem-se incluir os

algoritmos de análise dos resultados da visualização, para

que as melodias geradas possam ser analisadas e

269

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 281: III WVC 2007

avaliadas, melhorando a capacidade de generalização da

rede.

5. Referências Bibliográficas

[1] BRAGA, A. P.; LUDERMIR, T. B.; CARVALHO, A. P.

“Redes Neurais Artificiais – Teoria e Aplicações.”, Rio de

Janeiro - RJ, LTC, 2000.

[2] CARPINTEIRO, O. A. S. (2001) “A neural model to

segment musical pieces.” In Proceedings of the Second

Brazilian Symposium on Computer Music, Fifteenth Congress

of the Brazilian Computer Society, p. 114 – 120.

[3] CHEN, C. C. J.; MIIKKULAINEN, R. (2001) “Creating

Melodies with Evolving Recurrent Neural Network.” In

Proceedings of the International Joint Conference on Neural

Networks, IJCNN’01, 2001, p. 2241 – 2246, Washington - DC.

[4] ECK, D.; SCHMIDHUBER, J. (2002) “A First Look at

Music Composition using LSTM Recurrent Neural Networks.”

Technical Report: IDSIA-07-02.

[5] FRANKLIN, J. A. (2006) “Recurrent Neural Networks for

Music Computation.” Informs Journal on Computing, Vol.8,

No.3, pp. 321-338.

[6] HAYKIN, S. “Neural Networks – A Comprehensive

Foundation.” Prentice Hall, USA, 1999.

[7] LADEN, B.; KEEFE, D. H. (1989) “The Representation of

Pitch in a Neural Net Model for Chord Classification.”

Computer Music Journal, Vol. 13, No.4.

[8] MOZER, M. C. (1994) “Neural network music composition

by prediction: Exploring the benefits of psychoacoustic

constraints and multiscale processing.” Connection Science,

6(2-3), p. 247 – 280.

[9]QUINN, M. (2000) “The climate Symphony: Rhythmic

Techniques Applied to the Sonification of Ice Core Data.” 4th

Annual Conference of the International Environment Forum,

Orlando, Florida,USA.

[10]TAYLOR, R., BOULANGER, P., TORRES, D. (2006)

“Real-Time Music Visualization Using Responsive Imagery.”

8th International Conference on Virtual Reality, Laval, France,

April 26-30, pp. 62-69.

[11]SMITH, S. M., WILLIAMS, G. N. (1997) “A Visualization

of music.” 8th IEEE Visualization 1997 (VIS’97).

[12] TODD, P. M. A (1989) “Connectionist Approach to

Algorithmic Composition.” Computer Music Journal: Vol.13,

No. 4.

[13] WILLIANS, R. J., ZIPSER, D. (1988) “A learning

algorithm for continually running fully recurrent networks”.

Technical Report ICS-8805, Institute for Cognitive Science,

University of California, San Diego, CA.

[14] YOGI, C. “Aprendendo e Brincando com Música. Vol1.”

Editora Fapi, Minas Gerais – MG, 2003.

Tabela1: Resultados numéricos dos experimentos

Tre

inam

ento

Pad

rões

de

entr

ada

Co

mp

asso

s

de

Tre

inam

ento

Mel

od

ia d

a

Fig

ura

6

Mel

od

ia d

a

Fig

ura

8

Mel

od

ia d

a

Fig

ura

9

-5 7 1 5 1 5 1 22 1

-3 7 0 5 0 5 0 20 1

8 5 1 4 1 4 1 18 1

passo

7 5 0 2 1 2 1 18 1

-3 7 1 11 1 14 1 17 1

8 7 0 8 1 12 1 16 1

7 7 1 1 1 8 1 15 1

passo

7 4 1 3 1 5 1 15 0

8 9 1 -2 1 18 1 13 1

7 7 1 -2 0 16 1 13 0

7 4 1 9 1 13 1 17 1

passo

17 7 1 9 0 11 1 17 0

7 0 1 7 1 15 1 14 1

7 0 0 5 1 15 0 14 0

17 4 1 -3 1 15 0 17 1

passo

25 4 0 0 1 15 0 17 0

7 2 1 -5 1 11 1 17 1

17 5 1 -5 0 11 0 17 0

25 5 1 -1 1 8 1 19 1

passo

10 5 1 -3 1 8 0 20 1

17 5 1 -6 1 2 1 25 1

25 4 1 -2 1 2 0 25 0

10 2 1 2 1 4 1 25 0

passo

-1 2 0 1 1 4 0 22 1

25 7 1 8 1 -7 1 4 1

10 7 0 5 1 -4 1 4 0

-1 5 1 1 1 -2 1 11 1

passo

-5 4 1 1 0 -2 0 11 1

10 2 1 6 1 8 1 -7 1

-1 4 1 6 0 7 1 1 1

-5 2 1 11 1 4 1 7 1

passo

-6 0 1 5 1 3 1 9 1

-1 11 1 25 1 18 1 1 1

-5 7 1 20 1 18 0 6 1

-6 7 1 20 0 12 1 10 1

passo

-6 4 1 20 0 9 1 11 1

-5 14 1 3 1 25 1 3 1

-6 14 0 3 0 22 1 7 1

-6 11 1 13 1 17 1 10 1

10º

passo

-7 7 1 8 1 17 0 12 1

270

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 282: III WVC 2007

Face Detection through Ellipse Detection and Neural Classifier

Denis H. P. Salvadeo, Jander Moreira

Departamento de Computação – Universidade Federal de São Carlos, São Carlos, SP, Brazil

[email protected], [email protected]

Abstract

Face detection is one of the problems in Computer Vision not completely solved yet. Face detection plays

essential role in several applications as preprocessing

for face recognition, videoconferencing, surveillance systems, and retrieval in content-based databases. In

this work, an approach for the face detection problem

is proposed. In our approach the problem is divided in two parts: 1) detection of possible face-regions as

elliptical shapes and 2) classification of these regions

selected as face and non-face. The first part is based in an ellipse detector developed by Zhang and Liu [1].

Already the classification step is accomplished by MLP

networks. Preliminary results show the viability and efficiency of this method in the face detection in gray-

scale images with complex background. This method is

also less restrictive regarding illumination, rotation and scale, restrictions often observed in the literature.

Keywords: face detection, complex background, neural classifier, Multilayer Perceptron

1. Introduction At the Department of Computer Science of the

Federal University of São Carlos a research about

retrieval of information from image databases

considering similarity among a query object and stored

objects is under development. This project involves

several elements: indexing structures for image

retrieval [2], features used as retrieval indexes,

determination of important features for indexing and

image analysis of the database for features extraction

[3], for instance. A specific case of query is the one for

retrieval of one or more faces from a database based on

a feature set elaborated from a sample face image. In

this context, there is a need for tools to aid the face

features analysis. Thus, this work has the purpose of

presenting a tool designed to locate faces in gray-scale

images with complex background for later face

analysis.

The face detection process will explain in the

following sections. A preprocessing stage is presented

in section 2. The ellipse detection stage is described in

section 3. Section 4 presents the classification step, and

our results are discussed in section 5. Finally, the paper

is concluded and future works is examined in section 6.

2. Preprocessing This stage is performed in order to determine useful

edge points and measures for the ellipse detection

stage. The preprocessing consists of performing the

following steps:

Apply a semi-Gaussian smoothing mask [4]

(Fig. 1);

Edge detection using the ADM (Absolute

Difference Mask) algorithm [4];

Compute the strength and the direction of the

edge points [4];

Compute an automatic threshold (based on

Otsu [5]);

Detect the significant edges [1];

Remove of spurious points [1];

Compute the edge convexity [1].

3. Ellipse detection

Figure 1. Semi-Gaussian mask. [1]

271

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 283: III WVC 2007

In this stage, four parameters are computed which

define an ellipse (center position, orientation and sizes

of the semi-axis) for all relevant ellipses in the image.

Here, the ellipses are considered to be the possible face

regions (final product of this stage). This detection

method is based in the Hough Transform and it uses

the convexity property computed in the preprocessing

stage. For this stage, the following steps are applied to

the resultant edge image produced in the previous stage

(based on [1]):

Apply the stream scan process [1] (Fig. 2);

Compute the intersections and search for the

center of the ellipses (Fig. 3);

Vote for semi-axis ratio and rotation using an

and accumulator array;

Compute the sizes of the semi-axis.

The stream scan restricts the number of point pairs

associated to the same ellipse considering restrictions

as the associated convexity, a minimum distance

between them and an angle around 90º, reducing the

computational complexity. More details can be found

in [1].

4. Classification using MLP

After selection of possible face regions, we still

need to determine which of these regions in fact

correspond to faces.

To accomplish the classification process, the

selected region was rescaled, rotated and applied to

Multilayer Perceptron Networks (MLP) [6] using

CBCL Face Database #1 [7] from MIT (Massachussets

Institute of Technology) for both train and test steps.

This database is divided in train images and test

images. The train set contain 2429 faces and 4548 non-

faces samples while the test set contain 472 faces and

23573 non-faces samples. All grayscale images are

19x19 pixels with face images, with pose and

illumination variations.

The train step is uses the backpropagation

algorithm, with the activation function of the

intermediate layers being a bipolar sigmoid, while the

activation function of the final layer (with only one

node) is the bipolar sigmoid and the degree function in

series. For the degree function is considered the value

1 for face and value -1 for non-face.

The test step is applied on the whole test set in order

to evaluate the performance when using the MLP to

solve the classification problem. If the result

classification process was -1 the region selected in

ellipse detection step is rejected of the detection

process.

At the end of the process (ellipse detection and

classification steps), the faces are detected, as well as

their positions and dimensions (in the ellipse detection

step).

5. Results This method was applied to several images of

distinct size, scale, and rotation, and also under

different illumination conditions. The quality

evaluation was accomplished subjectively for ellipse

detection stage, that is, visually the center points of the

ellipses are close to the expected face centers and for

all test images the detected center points had occurred

on the faces (Fig. 4). The Fig. 5 shows samples

extracted regions after ellipse detection step. The

results are considered very satisfactory. Moreover, this

method can be used in real-time applications.

The ellipse detection step is fast and leads, usually,

to the correct center points. Depending on the choice

for the parameters (such as minimum distance and

window size) of the ellipse detector, in some images a

lot of candidate faces are selected. Thus, the parameter

adjusts are somewhat problem dependent. This

possible aggravation is a dependency on the edge

detector and leads to an increase in the processing

time.

Figure 2. Directions and associated convexity used by the stream scan process. [1]

Figure 3. Selected point pairs. [1]

272

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 284: III WVC 2007

In the last step, in order to classify each detected

ellipse area in the image as face or non-face, a MLP

neural network was applied. This neural architecture is

demonstrated to suffer with small displacements and

rotations in database faces images, what brings

difficulty to the generalization process.

In the tests, the top result considering only images

with a face was 37.5%, which is a low rate. This is

explained by sensitivity to displacements and rotations

of MLP and the fact that minor adjustments to correct

mainly displacements are not yet implemented. This

problem can be solved applying a preprocessing as

blurring to train and test images, as well as normalize

the candidate face subimage according to a symmetry

axis.

6. Conclusions and Future Works In this paper, a face detection method based on

selecting possible face regions through a robust and

fast ellipse detector, and the their classification as face

or non-face using a neural network was proposed.

In first part, the major problem is the number of the

selected candidate points for the ellipse detection

process. The procedure is sensitive to some parameter

adjustments, but they can be tuned by restricting the

application scope (mainly scale).

In second part, a previously trained MLP is applied

to selected regions. However, the most critical

problems in using the MLP are its sensitivity for the

displacement and rotation properties. Thus, a

preprocessing is necessary to soften the small rotations

and displacement in input images. This is the main

reason for most of the lower classification results

obtained so far. Corrections on this matter are

fortunately a non-complex task, and we are working on

them.

In spite of related difficulties, the proposed method

in this paper is demonstrated be very promising for

solving the face detection problem, with reliability and

time efficiency.

For future work and improvements we suggest:

1) replace the MLP by a convolutional neural

networks, such as the Neocognitron by Fukushima [8]

(which deal properly with displacement and rotation

properties), and 2) refining the ellipse detection

method by adding more previous knowledge to reduce

the number of selected points and, therefore,

decreasing the computational cost.

7. Acknowledgements This work is being supported by FAPESP (process

2005/03671-7).

8. References [1] S. C. Zhang, and Z. Q. Liu, “A robust, real-time ellipse

detector”, Pattern Recognition, vol. 38, pp. 273-287, 2005.

[2] A. Gavioli, M. Biajiz, and J. Moreira, “MIFLIR: A Metric

Indexing and Fuzzy Logic-based Image Retrieval System”,

IEEE International Workshop on Managing Data for

Emerging Multimedia Applications, Tokyo: IEEE, 2005.

[3] A. Oriani and J. Moreira, “Preliminary Study of

Extraction of Facial Geometric Measures as Features for

Content-Based Retrieval”, XVIII Brazilian Symposium on

Computer Graphics and Image Processing, SIBGRAPI’2005,

Natal, Brazil, 2005.

[4] F. M. Alzahrani and T. Chen, “A real-time edge detector:

Algorithm and VLSI architecture”, Real-Time Imaging, vol.

3, pp. 363-378, 1997.

[5] N. Otsu, “Threshold Selection Method from Gray-Level

Histograms”, IEEE Transactions on Systems Man and

Cybernetics, vol. 9, pp. 62-69, 1979.

[6] Braga, A. P., T. B. Ludermir, et al., “Redes Neurais

Artificiais: Teoria e aplicações”, LTC - Livros Técnicos e

Científicos Editora S.A., v. 1, Rio de Janeiro: 2000, 262 p.

[7] MIT Center for Biological and Computation Learning,

“CBLC Face Database #1”. In:

http://www.ai.mit.edu/projects/cbcl

[8] Fukushima, K., “Neocognitron: A hierarchical neural

network capable of visual pattern recognition”, Neural

Networks, v. 1, n. 2, pp. 119-130, 1988.

Figure 4. Sample images with ellipse centers detected

Figure 5. Sample extracted images of ellipse detection step

273

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 285: III WVC 2007

Sistema de Inspeção Visual Automática de Resistores de Montagem em Superfície

Anderson Castellar Departamento de Engenharia Elétrica

EESC - Escola de Engenharia de São Carlos USP - Universidade de São Paulo

[email protected]

Evandro L. L. Rodrigues Departamento de Engenharia Elétrica

EESC - Escola de Engenharia de São Carlos USP - Universidade de São Paulo

[email protected]

Resumo

Este trabalho apresenta um sistema de baixo custo de inspeção de valores de resistores de montagem em superfície em placas de circuito impresso, utilizando uma rede neural artificial do tipo LVQ (Learnig Vector Quantization) com 7000 entradas binárias. O sistema tem como objetivo principal verificar se o valor do resistor inserido na posição cartesiana X,Y em uma nova placa de circuito impresso é igual ao valor do resistor (na mesma posição cartesiana) apresentado por uma placa padrão durante a fase de treinamento do sistema. A implementação do sistema mostrou o elevado tempo de treinamento da rede neural artificial e a viabilidade do sistema para a inspeção de resistores de montagem em superfície.

1. Introdução

O avanço dos equipamentos eletrônicos nos dias atuais é notável. Com a miniaturização e com o aumento das funcionalidades dos equipamentos eletrônicos como câmeras digitais, notebooks, telefones celulares, etc., houve uma demanda maior por tecnologia de montagem e verificação de componentes e placas de circuito impresso presentes nestes equipamentos.

Tradicionalmente, as placas de circuito impresso juntamente com os componentes eletrônicos passam por um operador humano responsável pela inspeção visual, cujo diagnóstico é lento e cujo desempenho não pode ser garantido [1]. A aprovação ou não através da inspeção visual varia de operador para operador, tendo como principais diferenças a velocidade de inspeção, a fadiga do operador e o julgamento. A Figura 1 apresenta um gráfico de defeitos versus número de peças para diferentes operadores realizando inspeção visual [2].

Figura 1. Defeitos versus peças para diferentes operadores

A produtividade é um item crítico na montagem e verificação de componentes de montagem em superfície nos dias atuais [4]. Como podemos verificar na Figura 2, os defeitos provenientes de erros de montagem manual representam aproximadamente 13% de todos os erros encontrados em uma linha tradicional de montagem de componentes em superfície [2]. Vários autores sugerem a utilização de sistemas de inspeção visual automática, conhecidos como AOI (Automated Optical Inspection), em linhas de montagem de componentes em superfície [1].

Solda com pontes

Soldaaberta

Sem soldaSem componentesSolda insuficiente

Materiais defeituosos

Componentes não funcionais

Erros de montagemmanual

Relacionados a solda por onda

Posição de componenteerrado

Componente errado

Pinos levantados

Figura 2. Defeitos na produção de placas eletrônicas

Tais sistemas realizam a verificação de inúmeros defeitos através do processamento das imagens obtidas de placas na linha de montagem. Estes sistemas de inspeção podem ser utilizados antes do processo de soldagem, após o processo de soldagem e fora da linha

274

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 286: III WVC 2007

de montagem (off-line). A Figura 3 apresenta um gráfico de comparação entre a utilização off-line e on-line de um sistema AOI [2].

Semanas

Taxa de falhas Implementação AOI off-line

Implementação AOI on-line

Teste de defeitosFalta de componentes

Figura 3. Taxa de defeitos versus semanas

Podemos verificar que houve um decremento na taxa de defeitos após a introdução de um sistema AOI off-line e um decremento ainda maior quando o sistema AOI foi introduzido on-line.

Devido à alta complexidade dos sistemas AOI, seu custo é muito elevado, sendo proibitivo seu uso em micro e pequenas empresas de montagem de componentes em superfície. A proposta deste trabalho é implementar um sistema de inspeção visual automática de baixo custo, para verificação do valor de resistores de montagem em superfície em placas de circuito impresso. Esta verificação será realizada pelo processamento das imagens capturadas dos resistores e por uma rede neural artificial do tipo LVQ (Learnig Vector Quantization) [3].

2. Materiais e métodos

A Figura 4 apresenta a configuração básica do sistema proposto.

IluminaçãoCâmera

Placa deCircuito Impresso

Figura 4. Configuração do sistema

As operações realizadas pelo sistema são apresentadas em forma de fluxograma na Figura 5. Como o principal objetivo do sistema proposto é baixo custo, a aquisição das imagens para processamento foi realizada por uma WebCam USB modelo Video CAM EYE da empresa Genius, com resolução de 640x480 pixels (VGA) no formato de cor RGB.

Aquisição

Processamento(Binarização)

Classificação

Préprocessamento

Figura 5. Operações do sistema

O pré-processamento é realizado para a padronização do tamanho da imagem. As imagens de entrada tanto para treinamento e classificação possuem um tamanho fixo de 100x70 pixels. A Figura 6 apresenta algumas imagens utilizadas após o pré-processamento

1 2 3

4 51- Resistor 0805 10 ohms2 K 3 33 4 82K 5 330

SMD- Resistor 0805 10 ohms- Resistor 0805 ohms- Resistor 0805 ohms- Resistor 0805 ohms

SMDSMDSMDSMD

Figura 6. Imagens capturadas após pré-processamento

Após o pré-processamento, a imagem é binarizada com um valor de threshold otimizado para cada imagem, obtido pelo MatLab®. A Figura 7 apresenta algumas imagens binarizadas utilizadas para treinamento.

275

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 287: III WVC 2007

1 2 3

4 51- Resistor 0805 10 ohms2 K 3 33 4 82K 5 330

SMD- Resistor 0805 10 ohms- Resistor 0805 ohms- Resistor 0805 ohms- Resistor 0805 ohms

SMDSMDSMDSMD

Figura 7. Imagens binarizadas

Após a binarização, a imagem é apresentada na entrada de uma rede neural artificial do tipo LVQ com 7000 entradas (7000 neurônios). Esta rede neural foi escolhida por possuir um treinamento supervisionado e por ser amplamente utilizada na classificação de padrões [3]. Ao todo foram utilizadas 15 imagens (3 imagens para cada valor de resistor para 5 classes) para treinamento. Todo o processamento e classificação foram realizados em um computador Intel Centrino DualCore, com 1Gbyte de memória RAM e 100Gbytes de disco rígido, em ambiente MatLab®.

O fluxograma do sistema completo é apresentado na Figura 8 e descrito abaixo.

Escolha dosresistores a serem

inspecionados

Préprocessamento

Processamento(Binarização)

Aquisição dasimagens

Placa dereferência

Atribuição deClasse para cada

imagem

Criar conjunto detreinamento com

as imagens obtidas

Treinar redeLVQ

Placas parainspeção

Aquisição dasimagens

Préprocessamento

Processamento(Binarização)

Classificação

Figura 8. Fluxograma geral

Primeiramente o usuário deve fornecer uma placa de referência para a escolha dos resistores que serão inspecionados e para a atribuição das classes (valores dos resistores). Após a seleção dos resistores pelo usuário, o sistema realiza a aquisição das imagens dos resistores escolhidos, pré-processa estas imagens para remoção de partes não úteis para classificação e treinamento, binariza as imagens, cria um conjunto de imagens de treinamento e inicia o treinamento da rede LVQ. Após o treinamento da rede, o usuário fornece as

placas para inspeção. Após a colocação das placas para inspeção, o sistema realiza a aquisição das imagens dos resistores escolhidos, pré-processa estas imagens para remoção de partes não úteis para classificação e treinamento, binariza as imagens, e as apresenta na entrada da rede LVQ para classificação.

3. Discussão

Após a implementação de todo o hardware para a aquisição de imagens e a implementação da rede neural artificial LVQ em MatLab®, foi realizado um treinamento da rede neural com 15 imagens diferentes pertencentes a 5 classes de resistores (Resistor 10ohms, 10Kohms, 33ohms, 82Kohms e 330ohms). O tempo total de treinamento da rede neural foi de 253,1720 segundos. Com a finalização do treinamento, foram apresentadas 10 imagens de resistores provenientes de outras placas com valores iguais aos da classificação. A Figura 9 apresenta algumas das imagens utilizadas para classificação.

1 2 3

4 51- Resistor 0805 10 ohms2 K 3 33 4 82K 5 330

SMD- Resistor 0805 10 ohms- Resistor 0805 ohms- Resistor 0805 ohms- Resistor 0805 ohms

SMDSMDSMDSMD

Figura 9. Imagens para classificação

A Tabela 1 apresenta as classificações reais, as classificações obtidas e o tempo de classificação com a rede neural treinada das 10 imagens de entrada.

Tabela 1. Resultados obtidos

Imagem Classificação

Real Classificação

Obtida Tempo

(s) 100-1 1 1 0.0780 103-1 2 2 0.1100 330-1 3 3 0.1100 823-1 4 4 0.1100 331-1 5 5 0.1090 100-2 1 1 0.0780 103-2 2 2 0.1090 330-2 3 3 0.1250 823-2 4 4 0.1250 331-2 5 5 0.1090

276

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 288: III WVC 2007

4. Conclusões

Verificamos que é viável a utilização de redes neurais do tipo LVQ na verificação de imagens obtidas de resistores de montagem em superfície com a finalidade de classificação. As imagens utilizadas passaram por um pré-processamento simples, visando um aumento de velocidade do sistema como um todo. Neste trabalho foi observado o elevado tempo de treinamento da rede neural artificial, devido principalmente ao seu elevado número de entradas (7000 entradas). Como o número de resistores a serem verificados poderá ser muito grande, o tempo de treinamento pode se tornar inviável. Este fato justifica, em uma aplicação futura, a implementação da rede neural artificial utilizada em hardware reconfigurável, com objetivo principal de diminuir o tempo de treinamento da rede e consequentemente, o tempo de

classificação após treinamento. A implementação deste sistema se mostrou válida, pois foi capaz de realizar corretamente a verificação dos resistores apresentados.

5. Referências Bibliográficas

[1] A. N. BELBACHIR, An Automatic Optical Inspection System for the Diagnosis of Printed Circuits Based on Neural Networks. IAS-IEEE, 2005.

[2] M. R. G. RÚBIO, Tecnologia de encapsulamentos. Fatec, 2004. [3] S. HAYKIN, Neural Networks. Prentice Hall, 1999.

[4] R. STRAUSS, SMT Soldering Handbook. Newnes, Inglaterra, 1998.

277

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 289: III WVC 2007

Analise Discriminante de Fisher Aplicada a Deteccao de Defeitos em CouroBovino

Willian Paraguassu AmorimUniversidade Catolica Dom Bosco

Grupo de Pesquisa em Engenharia e ComputacaoCampo Grande - MS, [email protected]

Hemerson [email protected]

Resumo

Este artigo apresenta um estudo e aplicacao da analisediscriminante de Fisher na selecao de atributos base-ados em textura e cor, para a deteccao de defeitos emcouro bovino. Um conjunto de 261 atributos, basea-dos nos metodos matriz de co-ocorrencia, mapas deinteracao e atributos discretizados dos espaco de co-res RGB e HSB, foram extraıdos para a utilizacao dareducao de dimensao por Fisher. Experimentos com da-dos reais indicaram que um vetor com 16 atributos criadoa partir da reducao dos 261 atributos extraıdos, ob-tiveram a mesma taxa de classificacao, diminuindo otempo de treinamento e o tempo classificacao. Esse traba-lho faz parte do projeto DTCOURO, cujo objetivo prin-cipal e criar um sistema automatico de extracao deparametros, a partir de imagens digitais, capaz de tor-nar mais eficiente e preciso o processo de classificacao depeles e couros bovino.

1. Introducao

O Brasil possui o maior rebanho bovino do planeta, eapesar disto nao consegue assumir um papel de destaque naindustria do couro bovino. A maior parte do couro produ-zido no paıs e de baixa qualidade, sendo que a maioria dessecouro e comercializada nos estagios iniciais de processa-mento, com baixo valor agregado. A baixa qualidade docouro bovino brasileiro tem limitado o desenvolvimento dosetor coureiro, afetando tambem a capacidade do paıs agre-gar valor ao produto internamente, e de usufruir das opor-tunidades oferecidas pela comercializacao do couro de me-lhor cotacao no mercado [8].

Inumeros fatores contribuem no problema da qualidadedo couro bovino, entre eles, a inexistencia de sistemas deremuneracao diferencial pela qualidade da materia prima

produzida, baixa qualidade do couro, ocorrencia de defeitosna fase produtiva, como: exposicao aos ectoparasitas e ma-nejo inadequado (ferrao, cerca de arame farpado, marcacaoa ferro quente em local improprio, entre outros) [6] [9] [3].

Atualmente a classificacao do couro bovino e realizadaatraves de um especialista, que tem a tarefa de inspecionarcada peca do couro e levantar os defeitos encontrados, infor-mando sua classificacao1. Visando auxiliar o especialista natarefa da classificacao do couro bovino, foi criado uma par-ceria com a EMBRAPA/Gado de Corte e o GPEC (Grupo dePesquisa em Engenharia de Computacao) para a criacao doprojeto DTCOURO. O projeto DTCOURO tem como ob-jetivo a construcao de um sistema em visao computacionalque sera capaz de realizar a deteccao automatica das diver-sas inconformidades apresentadas no couro, e atraves des-tas informacoes, realizar sua classificacao.

Nos artigos [12], [1] e [13], foram realizados alguns ex-perimentos iniciais de classificacao de defeitos do courobovino. O objetivo desses experimentos foi implementar eanalisar as tecnicas de extracao de atributos, como: matrizde co-ocorrencia, mapas de interacao e atributos de cores,e verificar o desempenho do classificador na discriminacaoentre as classes de defeitos.

Com base nesses experimentos, verificamos que foramobtidos bons resultados na classificacao, mas os tempos detreinamento e classificacao nao foram tao satisfatorios. Pararealizar a deteccao automatica de defeitos do couro bovinoo sistema precisara realizar um varredura na imagem cap-turando suas amostras e dessa forma efetuar a classificacao.Como os tempos de treinamento e classificacao foram altos,e preciso encontrar alguma tecnica que efetue a reducao deatributos, acelerando de modo eficaz esse processo.

Este artigo apresenta alguns experimentos, indi-cando que o uso da analise discriminante de Fisher(FLDA), pode reduzir significamente o vetor de atri-

1 Em alguns curtumes e frigorıficos sao utilizadas as classificacoes de A(melhor qualidade) ate D (pior qualidade).

278

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 290: III WVC 2007

butos de 261 para 16 atributos melhorando o tempo detreinamento e classificacao sem perder sua precisao de dis-criminabilidade.

Os experimentos foram realizados com base em umgrupo de 4 imagens do couro-cru. Para cada imagem fo-ram feitas marcacoes sobre os defeitos, e a captura de amos-tras para cada marcacao. Os defeitos analisados foram: car-rapato, esfola, estria, marca-ferro, risco, regioes sem defeitoe o local em que se encontra o couro bovino, chamado aquide “fundo”. A partir das amostras capturadas, foi realizadaa extracao de atributos para a geracao das bases de apren-dizagem, que foram utilizadas na reducao de dimensao. Osmetodos de extracao de atributos utilizados foram: matrizde co-ocorrencia, mapas de interacao e atributos relaciona-dos a discretizacao e media para cada componente dos for-mato de cores RGB2 e HSB3, a partir dos histogramas gera-dos para cada regiao de interesse. Nesse artigo iremos des-crever somente o metodo de extracao de atributos utilizandomapas de interacao, pelo fato de ser menos conhecido e pos-suir poucas referencias.

Esse artigo esta organizado da seguinte forma, na secao2, e apresentado o metodo de extracao de atributos utili-zando mapas de interacao que foi usado junto com matrizde co-ocorrencia e atributos de cores na criacao da basede conhecimento. A secao 3 apresenta a definicao e teo-ria da tecnica de Fisher utilizada para reducao de atributos.Na secao 4 e 5 sao apresentados os experimentos e resulta-dos obtidos e na secao 6 sao apresentadas as conclusoes.

2. Mapas de Interacao

Mapas de interacao sao muito utilizados na analise de pa-res de pixel de uma imagem [10]. Essa tecnica consiste emcalcular a diferenca absoluta dos valores da intensidade dospixels, localizado em uma determinada distancia e anguloda imagem. A utilizacao desse metodo pode capturar al-gumas das diferentes variacoes de textura encontradas nocouro bovino. Como a matriz de co-ocorrencia, o mapa deinteracao tambem trabalha com a intensidade em tons decinza dos pixels de uma imagem. A Figura 1 ilustra como eaplicado essa tecnica na analise de uma imagem.

A tecnica consiste em calcular a media das diferencas ab-solutas dos pıxels da imagem, com seus vizinhos img(i, j),dado um deslocamento inicial di, deslocamento final df ,angulo inicial ai e angulo final af . Como resultado e cri-ada uma nova matriz chamada mapa polar de interacaomap[nd/dinc][na/ainc], em que nd representando a quan-tidade de distancia entre os pares de pıxels, na quantidade

2 O modelo RGB e um modelo de cor com tres cores primarias: verme-lho, verde e azul, com um intervalo de valores de 0 ate 255.

3 O modelo de cores HSB se baseia na percepcao humana das cores enao nos valores de RGB. Suas cores sao representadas por H(matiz),S(saturacao) e B(brilho).

Figura 1. Aplicacao do mapa de interacao nacriacao do mapa polar.

de angulos, dinc distancia de incremento entre os pıxel eainc angulo que sera incrementado a partir do angulo ini-cial e final[5] [4].

3. Analise Discriminante de Fisher e Selecaode Atributos

A analise discriminante, tambem conhecida como discri-minante linear de Fisher (FLDA), e uma tecnica que esta setornando muito comum em aplicacoes de visao computa-cional. Essa tecnica utiliza informacoes das categorias as-sociadas a cada padrao para extrair linearmente as carac-terısticas mais discriminantes. Atraves da analise discrimi-nante de Fisher podemos tambem realizar a discriminacaoentre classes, atraves de processos supervisionados (quandose conhece o padrao) ou atraves de processos nao super-visionados, em que e utilizado quando nao se tem umpadrao conhecido. A FLDA e um metodo supervisionadona concepcao estatıstica e deve ser empregada quando al-gumas condicoes forem atendidas, como: (1) as classes sobinvestigacao sao mutuamente exclusivas, (2) cada classe eobtida de uma populacao normal multivariada, (3) duas me-didas nao podem ser perfeitamente correlacionadas, entreoutras [7].

Nos trabalhos [2], [15] e [16] sao apresentadas de formadetalhada a utilizacao da analise discriminante de Fisher.Essa tecnica consiste na computacao de uma combinacao li-near de m variaveis quantitativas, que mais eficientementeseparam grupos de amostras em um espaco m-dimensional.Para isso a razao da variancia entre-grupos e inter-grupos emaximizada. A separacao intra-classe e realizada atraves daseguinte formula estabelecida por Fisher.

1. Espalhamento intra-classes;

Sw =c∑

j=1

Tj∑i=1

(xji − uj).(x

ji − uj)

t, (1)

279

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 291: III WVC 2007

em que xji e o i-esimo exemplo da classe j, uj e a

media da classe j, Tj e o numero de amostras da classej e c e a quantidade de classes;

2. Espalhamento inter-classes;

Sb =c∑

j=1

(uj − u).(uj − u)t, (2)

em que u e a media de todas as classes.

A partir do calculo de espalhamento intra-classe e inter-classe de um conjunto de amostras, e possıvel seguir ocriterio de Fisher, que e maximizar a medida inter-classes eminimizar a medida intra-classes. Uma forma de fazer issoe maximizar a taxa Sf = det(Sb)/det(Sw). Essa formulamostra que se Sw e uma matriz nao singular, entao essa taxae maximizada quando os vetores colunas da matriz Sf saoos autovetores de S−1

w .Sb.A reducao de atributos e um problema de otimizacao

que busca criar novas caracterısticas atraves de umacombinacao do conjunto original de caracterısticas man-tendo a eficiencia no processo de classificacao [11]. Adimensionabilidade do espaco de atributos pode resul-tar em problemas como alto custo de processamento e ageracao do fenomeno conhecido como maldicao da di-mensionabilidade. Maldicao da dimensionabilidade, podeser caracterizado como uma degradacao nos resulta-dos de classificacao, com o aumento da dimensionabilidadedos dados [14].

Em analise discriminante de Fisher a reducao de atribu-tos e realizado a partir de um conjunto de amostras para nclasses, tendo p variaveis, com o objetivo de reduzir para matributos. Para a reducao de atributos por Fisher segue-se aseguinte linha de calculo;

1. Calcular o espalhamento Sw e Sb para n classes;

2. Maximizar a medida inter-classes e minimizar a me-dida intra-classes Sf a partir de S−1

w .Sb.

A partir de Sf e possıvel a reducao de atributos com baseem seus auto-valores e auto-vetores, em que os atributos se-lecionados serao os auto-vetores referente aos seus m mai-ores auto-valores. A Figura 2(a) ilustra 3 conjuntos de in-divıduos representando cada classe de classificacao e uti-lizando dois atributos (x, y) para sua representacao. A Fi-gura 2(b) mostra um exemplo da projecao dos dados sobreum atributo reduzido (z), demonstrando tambem que a dis-criminabilidade dos dados e mantida.

4. Experimentos

Para a realizacao desses experimentos foram utilizadas4 imagens, sendo em cada, contendo os defeitos: carra-pato, esfola, estria, marca-ferro, risco e regioes (sem de-feito e fundo). Em seguida, para cada imagem, realizamos

(a)

(b)

Figura 2. Exemplo utilizando analise discri-minante de Fisher para reducao de variaveis(a) conjunto de amostras utilizando 2 atribu-tos (x, y) e (b) reducao de atributos para umunico atributo (z)

as marcacoes referentes a cada classe. O objetivo dessa re-gra de marcacao foi a necessidade de se obter uma maiorvariacao de regioes sem defeito, fundo, e regioes com defei-tos, proximas uma da outra. Para cada marcacao foram cap-turadas todas as amostras possıveis numa escala de 20X20pıxel e com um intervalo de 1 pixel para cada amostra.A quantidade de amostras geradas para cada defeito fo-ram: carrapato (366), esfola (38), estria (2355), marca-ferro(391), risco (49), sem defeito (2664) e fundo (948). Na Fi-gura 3 sao ilustradas algumas amostras dos tipos de defeitosque foram capturados.

A partir de cada amostra capturada, realizamos aextracao de atributos, utilizando as tecnicas de matrizde co-ocorrencia, mapas de interacao, atributos discreti-zados dos modelos de cores HSB e RGB e sua medias.Para matriz de co-ocorrencia utilizamos como proprie-dade de sua tecnica variacoes no angulo de (0o a 360o)com intervalo nos angulos de 45o e distancia de 1 pi-

280

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 292: III WVC 2007

(a) (b) (c)

(d) (e) (f)

(g)

Figura 3. Exemplo de amostras capturadasdos defeitos do couro cru. (a) esfola, (b) es-tria, (c) fundo, (d) marca ferro, (e) risco, (f)sem defeito e (g) carrapato

xel. Em mapas de interacao utilizamos variacoes de(0o a 360o) com intervalo inicial 0o, final 360o e incre-mento de 45o com distancias de 1 e 2 pıxels. As duastecnicas resultaram em duas matrizes, uma contendo o re-sultado da matriz de co-ocorrencia entre os pixels e outracontendo o mapa polar do mapas de interacao, e a par-tir disso foram capturados atributos, como: entropia, mo-mento da diferenca inversa, dissimilaridade, correlacao,contraste, segundo momento angular e a diferenca in-versa. Foram extraıdos tambem os valores medios e oshistogramas discretizados em 32 intervalos de cada mo-delo dos formato de cores HSB e RGB. Foram captura-dos no total 261 atributos, sendo 63 atributos de textura e198 atributos de cores. A Tabela 1, mostra com mais deta-lhes os atributos extraıdos.

Com base nos 261 atributos extraıdos das amostras ejunto com a tecnica implementada de Fisher, para reducaode atributos, foram geradas 261 bases de aprendizagem,sendo em cada contendo ai atributos tal que 1 ≤ ai ≤261. Utilizamos em nossos experimentos os algoritmosde classificacao C4.5 e maquinas de vetores de suporte(SMO). O motivo que nos levaram a escolher o C4.5 e oSMO, foi que em experimentos anteriores seus resultadosde classificacao se comportaram de modo mais eficiente.

Para a realizacao dos experimentos, escolhemos

Metodo de Extracao Quantidade de AtributosMedia (H), (S), e (B) 3Media (R), (G) e (B) 3HSB (Discretizado cadamodelo em 32 intervalos) 96RGB (Discretizado cadamodelo em 32 intervalos) 96Mapas de Interacao 7Matriz de Co-ocorrencia 56Total 261

Tabela 1. Atributos extraıdos

como modo de testes dos resultados a tecnica es-tatıstica de validacao cruzada com configuracao de 5dobras e 6 validacoes. Para a visualizacao dos resul-tados, foram selecionados as seguintes caracterısticas:taxa(%) de classificacao correta e tempos(s) de treina-mento e classificacao. Dessa forma sera possıvel analisarse o desempenho do classificador ira ser mantido a me-dida que os atributos sao reduzidos utilizando analisediscriminante de Fisher.

Para a realizacao dos experimentos foram utiliza-dos tres modulos que pertencem ao projeto DTCOURO,que ajudaram a criar a base de conhecimento, que fo-ram: (1) modulo de marcacao e geracao de amostras,que foi responsavel pela criacao do banco de ima-gens para marcacao e geracao das amostras especıficas paracada tipo de defeito, (2) modulo de experimentos, que re-alizou a extracao dos atributos a partir das amostras ge-radas e (3) modulo de classificacao automatica, que foiresponsavel pela classificacao automatica dos defeitos co-letados. Nos experimentos foi utilizado um computa-dor com processador Pentium 4 - 2.3 GHz com 1024 MBde memoria RAM.

5. Resultados

Para avaliar os resultados, mostraremos graficamente ocomportamento do classificador a medida que o numerode atributos e reduzido. Nos experimentos foram utilizadas6.811 amostras, para a classificacao de 7 classes (carrapato,esfola, estria, marca-ferro, risco, sem defeito e fundo) , uti-lizando os algoritmos de aprendizagem (C4.5) e (SMO). Otempo total para a realizacao dos 261 experimentos foramde 36 horas para C4.5 e 47 horas para SMO. Os Graficos4(a), 4(b) e 4(c), ilustram os resultados com base na porcen-tagem de acerto e os tempos de treinamento e classificacaodos algoritmos C4.5 e SMO.

Com base nos resultados, podemos observar que ataxa de acerto do classificador teve um bom desempe-nho. Mas tambem acreditamos que as grandes variacoes

281

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 293: III WVC 2007

(a)

(b)

(c)

Figura 4. Comportamento do classificador,(a) classificacao correta(%) de C4.5 e SMO,(b) tempo de treinamento e classificacaode C4.5 e (c) tempo de treinamento eclassificacao de SMO.

nos defeitos marcados e pelas poucas imagens utiliza-das poderam influenciar nos resultados. Analisando o com-portamento do grafico 4(a), podemos verificar que mesmocom a reducao de atributos, mas com pequenas variacoesda taxa de acerto, a analise discriminante de Fisher apre-sentou um bom desempenho, mantendo o nıvel dos classi-ficadores quase constante. Pelo grafico tambem pode serverificado que a porcentagem de acerto melhora a me-dida que a quantidade de atributos e acrescentada, istoate uma certa quantidade, em que ha uma estabili-dade. Para o algoritmo C4.5 a estabilidade e encontrada apartir de 106 atributos com 99,56% de acerto, e para o al-goritmo SMO a estabilidade e visualizada a partir dosexperimentos com 71 atributos com 100% de acerto. E ve-rificado tambem que em experimentos com uma baixaquantidade de atributos a tecnica de FLDA se comor-tou de modo eficiente, em que com 16 atributos o classifi-cador apresentou como resultado de classificacao 99,12%de acerto.

Os graficos 4(b) e 4(c) foram apresentados com o obje-tivo de mostrar que a reducao de atributos e uma etapa muitoimportante para classificacao de imagens. A medida que aquantidade de atributos e acrescentada o tempo de treina-mento e classificacao aumentam, mostrando assim que autilizacao de um tecnica para reducao de atributos, comoanalise discriminante de Fisher, pode dar eficiencia, veloci-dade e confianca para um classificador automatico.

6. Conclusao

A deteccao de defeitos e a classificacao do couro bovino,com base em inspecao visual, e uma importante etapa dacadeia produtiva do boi. A automatizacao desse processo,atraves de sistemas computacionais, pode torna-lo mais pre-ciso, menos subjetivo, menos sujeito a falhas e mais uni-forme.

Com base nos experimentos realizados e em seus re-sultados, verificamos que a tecnica de Fisher demons-trou um bom desempenho, mostrando que a partir dacombinacao estatıtisca de um conjunto de atributos, po-dem ser criados um sub-conjunto com a mesma eficienciade classificacao. Foi tambem verificado que os modulos im-plementados auxiliares facilitaram os experimentospara testes de classificacao, reforcando as expectati-vas de que sera possıvel a implantacao de um classificadorautomatico de couros bovinos. A baixa quantidade de ima-gens e a grande variacao na semelhanca dos defeitos,favoreceram o alto nıvel de acerto, porem para um ex-perimento ideal, seria necessario um conjunto maior deimagens, em diferentes ambientes.

Durante os experimentos, alguns problemas foram en-contrados, como: baixa quantidade de imagens de tipos dedefeitos e problemas com um numero muito alto de atribu-

282

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 294: III WVC 2007

tos utilizando a tecnica de Fisher, provocando assim, pro-blemas de matrizes singulares. A partir desses resultadosalcancados, foi possıvel abrir novas perspectivas para tra-balhos futuros, como: resolver o problema de matriz sin-gular da reducao de atributos por Fisher, para uma quanti-dade m de atributos e uma quantidade n de amostras, sendon ≤ m, e atributos com pouca variancia; utilizar tecnicasde segmentacao para a remocao do fundo das imagens docouro bovino para realizacao de novos experimentos; utili-zar a tecnica de Fisher em outras aplicacoes, como: reco-nhecimento de texturas, gestos, faces, entre outras.

AgradecimentosEste trabalho recebeu apoio financeiro da UniversidadeCatolica Dom Bosco, UCDB, da Agencia Financiadora deEstudos e Projetos, FINEP e da Fundacao de Apoio aoDesenvolvimento do Ensino, Ciencia e Tecnologia do Es-tado de Mato Grosso do Sul, FUNDECT. O primeiro au-tor desse trabalho e bolsista DTI-CNPq e o segundo autor ebolsista de Produtividade em Desenvolvimento TecnologicoExtensao Inovadora do CNPq.

Referencias

[1] W. P. Amorim, R. H. R. Viana, R. C. B. Rodrigues, andH. Pistori. Desenvolvimento de um software de processa-mento e geracao de imagens para classificacao de couro bo-vino. Workshop de Iniciacao Cientıfica - SIBGRAPI, 2006.

[2] P. N. Belhumeur, J. P. Hespanha, and D. J. Kriegman. Eigen-faces vs. fisherfaces: Recognition using class specific linearprojection. IEEE Transactions on Pattern Analisys and Ma-chine Intelligence, 1997.

[3] G. A. Cardoso, E. and V. S. Lario. Analise da cadeira pro-dutiva de peles e couros no brasil. Embrapa - ComunicadoTecnico, pages (68):1–4, 2001.

[4] D. Chetverikov. Structural filtering with texture feature ba-sed interaction maps: Fast algorithms and applications. InICPR96, pages II: 795–799, 1996.

[5] D. Chetverikov. Texture analysis using feature-basedpairwise interaction maps. Pattern Recognition, 32(3):487–502, 1999.

[6] A. Gomes. Como melhorar a qualidade do couro. Gado decorte informa, page 10, 1997.

[7] A. Gomes. Aspectos da cadeia produtiva do couro no brasile em mato grosso do sul. Embrapa Gado de Corte, pages61–72, 2002.

[8] A. Gomes. Avaliacao tecnica e operacional do sistema declassificacao do couro bovino. Embrapa Gado de Corte, Re-latorio Final do Projeto (CNPQ), 2005.

[9] IEL. Instituto euvaldo lodi, cna confederacao nacional daagricultura, e sebrae/nacional servico brasileiro de apoioas micro e pequenas empresas. estudo sobre a eficienciaeconomica e competitividade da cadeia da pecuaria de corteno brasil. page 398, 2000.

[10] R. Jobanputra and D. Clausi. Texture analysis using gaussianweighted grey level co-occurrence probabilities. In CRV04,pages 51–57, 2004.

[11] J. A. Olivera, L. V. Dutra, and C. D. Renn. Aplicacoes demetodos de extracao e selecao de atributos para classificacaode regioes. Instituto Nacional de Pesquisas Espaciais -INPE, 2005.

[12] H. Pistori, W. P. Amorim, M. C. Pereira, P. S. Martins, M. A.Pereira, and M. A. C. Jacinto. Defect detection in raw hideand wet blue leather. CompIMAGE - Computational Mo-delling of Objects Represented in Images: Fundamentals,Methods and Applications, 2006,.

[13] L. Ramirez, W. P. Amorim, and P. S. Martins. Comparacaode matrizes de co-ocorrencia e mapas de interacao nadeteccao de defeitos em couro bovino. Workshop deIniciacao Cientıfica - SIBGRAPI, 2006.

[14] J. C. Santos, J. R. F. Oliveira, and L. V. Dutra. Uso de algo-ritmos geneticos na selecao de atributos para classificacao deregioes. Instituto Nacional de Pesquisas Espaciais (INPE),Sao Jose dos Campos - SP - Brasil, 2004.

[15] H. Yu and J. Yang. A direct lda algorithm for high-dimensional data - with application to face recognition. Pre-print submitted to Pattern Recognition Letters, 2000.

[16] W. Zhao, R. Chellappa, and P. J. Phillips. Subspace lineardiscriminant analisys to face recognition. Partially suppor-ted by the Office of Naval Research, 1999.

283

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 295: III WVC 2007

An occlusion invariant extension to Boles’ method

Edmundo D. Hoyle D.

Pontifícia Universidade

Católica do Rio de Janeiro

[email protected]

Paula Beatriz C. Leite

Pontifícia Universidade

Católica do Rio de Janeiro

[email protected]

Raul Queiroz Feitosa

Pontifícia Universidade

Católica do Rio de Janeiro

[email protected]

Abstract

An earlier study indicated that most of the inefficiency

of the iris identification method proposed by Wageeh

Boles can be credited to its inability to deal with

occlusion. This paper proposes an extension to Boles’

method to cope with occlusion. The extension consists

in a modification of the dissimilarity function proposed

by Boles that disregards areas under occlusion.

Experiments carried out using images of the Casia

database demonstrated that the proposed method is

significantly superior to the original Bole’s method,

especially for highly occluded images.

1. Introduction

The interest on security of systems and services is

increasing in the last decade because of frauds,

falsification of documents, patents and terrorism. This

motivates the research on methods for personal

identification based on biometric characteristics. These

are better than traditional means of identification

because they can be neither forgotten nor stolen or

forged.

Many biometric technologies have been proposed

based on physical traits such as fingerprints, voice tone

and timber, face, hand geometry and retina patterns,

each one having its strengths and weaknesses [1].

In this scenario systems based on iris structure have

the potential of playing a major role. The iris contains a

group of characteristics which makes it one of the safest

biometric features for identification. The iris is an

internal organ of the eye, protected from the external

environment by eyelashes and eyelids [2]. It is clearly

visible, which eases its capture; it is already entirely

formed by the first life year and remains virtually

unchanged all life long.

Nowadays, there are many techniques proposed in

the scientific literature about identification systems

based on iris structure analysis. They can be divided in

three categories:

1. based on the analysis of local variations

with methods of phase representation,

2. based on zero-crossing representation, and

3. based on texture analysis.

John Daugman was the pioneer in this topic and

developed mathematical algorithms which allow the

iris’ image to be digitally encoded [3]. His work was

patented in 1994 and it is still the most acknowledged

work on iris recognition.

Next to the Daugman model, the method proposed

by Richard Wildes [4] and a third one proposed by

Wageeh Boles [5] and [6] are the most cited in the

literature. The aforementioned methods have certain

limitations. The Wildes’ method has comparatively low

performance, the Boles’ method does not take occlusion

into consideration and many fundamental details of

Daugman’s method are not revealed by its numerous

reports available in the literature (e.g. [7]).

An earlier study [6] has shown that the Boles`

method performs close to Daugman’s method, for

images with a small amount of occlusion. However the

performance falls off considerably as the proportion of

the iris image subjected to occlusion increases.

The present article proposes an extension to Boles`

method that makes it less sensitive to occlusion than in

its original formulation. An experimental analysis is

carried out based on the Casia database [8] to investigate

the impact of occlusion on identification performance. It

is shown that the proposed extension significantly

improves the robustness of the original Boles method

against occlusion.

This work shows a brief explanation about the

identification through iris images in section 2, followed

by a description of Boles method in section 3. The

proposed extension to this method, turning it robust to

occlusion, is presented in section 4. A performance

analysis is presented in section 5 followed by final

comments.

2. Identification through iris images

The process of human identification based on the

structure of the iris may be divided in five main steps:

1. image acquisition,

2. segmentation,

3. normalization

4. representation,

5. matching.

The first step is about capturing the iris images. The

acquired image must be segmented in the second step.

284

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 296: III WVC 2007

Here the inner edge of the iris at the pupil as well as the

outer edge at the sclera are located (see figure 1). In the

normalization step a geometric transformation is applied

to the region comprised between the inner and outer iris

edges resulting in a rectangular image, as illustrated in

figure 2. This compensates the pupil deformation caused

by varying illumination. Figure 3 shows an example of

images of the same eye in which the pupil has two

different diameters.

In the next step the information contained in the

normalized image is represented in a more compact

form to save computer storage space. The representation

retains the distinctive iris features so as to permit

identification. However, for security reasons, the

representation is such that the reconstruction of the

original image from it is impossible.

The final step, called matching, consists in

determining whether different iris images belong or not

to the same subject. This is usually done in two different

operation modes. In the verification mode the system

checks if a claimed identity and the biometric data are

consistent (positive) or not (negative). In this mode the

provided biometric data undergoes steps 1 to 4 and the

resulting representation is compared with samples

recorded in a database associated to the declared subject.

The identification mode is about searching the system

database for the record that best matches a given

biometric data, aiming at establishing the subject’s

identity. In both modes, matching operations are

performed upon representations rather than on the

original images.

Figure 1. Eye image with segmented pupil and iris

Figure 2. Iris of figure 1 after normalization

Many different approaches with good associated

performance have been proposed for steps 1 to 3 [9].

Actually the steps 4 and 5 are the major research focus

on iris recognition due to their inherent complexity. For

this reason the text concentrates henceforth on

representation and matching, assuming that an

appropriate solution for steps 1 to 3 has been already

provided.

Figure 3. Iris images of the same subject with different pupil’s

diameters

Figure 4. Normalized iris’ image with occlusion area

converted to zero values - from figure 2

3. Boles` method

This section describes succinctly how

representation and matching is performed according to

Boles proposal.

Representation

The starting point for the iris representation is the

information of pixel intensities in the normalized iris

image, as shown in figure 2. Each row of the normalized

image forms a vector which is later treated as a single

period sample of a one-dimensional periodic signal.

Figure 5. Wavelet transform and its zero-crossing

representation

A dyadic wavelet transform is applied to each row

vector, decomposing them in different resolution levels.

285

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 297: III WVC 2007

As the information in the highest resolution levels is

often largely affected by noise, they are discarded for

the following analysis. The authors concluded

experimentally that the fourth, fifth and sixth levels are

enough to generate a good representation.

The zero crossings of the dyadic wavelet transform

of the row signals are determined for each of the 3 levels

mentioned above. These points occur on abrupt change

in signal amplitude. Figure 5 shows a zero crossing

representation of the wavelet transform for a sample row

of the normalized image.

Once the zero crossings have been located, the

average value between each two consecutive zero

crossing points in the wavelet outcome is computed.

So, working with normalized images with 16 rows

and 256 columns, as in the original Boles paper, the iris

is represented by a matrix having 48×256 elements [5].

MatchingTo compute the dissimilarity between two irises, their

zero crossing representations are compared. Boles

proposes four functions to measure the dissimilarity

between the signals [5]. Hereafter only the dissimilarity

measure defined in equation 1 is considered, since it

provided the best performance in the experiments

conducted within this work. This is given by

||||||||

)()(1),(

1

0

gZfZ

mngZnfZgf

jmd

jj

j

N

n jEq. 1

where djm(f,g) denotes the dissimilarity of iris f and g

associated to the j-th row of their representation

matrices for a displacement m, the vectors Zjf and Zjgare the j-th row of the zero crossing representations

respectively of irises f and g, N is the number of

elements of Zjf and Zjg, m,n [ 0 N-1] and the symbol

“|| ||” represents the vector norm. Note that djm(f,g) is

equal to 1 minus the correlation coefficient between

Zjf(n) and Zjg(n). Thus the dissimilarity djm(f,g) may take

values between 0 and 2, whereby 0 corresponds to a

perfect match.

Equation 1 is computed for each row of the

representation matrices. For normalized images with 16

rows and working with 3 resolution levels, this will

return 48 values, whose mean is taken as the

dissimilarity (Dm) between irises f and g, for a given

value of m.It is important to notice that m in equation 1

represents shifts of the second signal. Varying m in

equation 1 from 0 to N-1 yields N dissimilarity values

(Dm). The overall dissimilarity D between irises f and g

is given by.

mm

DD min Eq. 2

4. Methodology

This section describes the extension to

Boles method proposed in this work to deal with

occlusion.

It is assumed henceforth that the occlusion areas in

the normalized images (as in figure 2) were located in a

previous step. Methods have been proposed in the

literature to do it automatically [10].

The basic idea consists in restricting the computation

of dissimilarity to the values of the wavelet transforms

not influenced by occlusion. Since the wavelet

transform is a neighborhood operation, it is affected by

occlusion over a range the goes beyond the pixels

directly under occlusion. It includes the occluded pixels

themselves and the pixels lying in a neighborhood of

size w, where w is the width of the wavelet kernel.

The approach can be better understood by

considering Figure 4. It shows the same image of Figure

2 where the occlusion regions are set to zero (black).

Clearly, for a method that handles occlusion properly,

Figure 2 and 4 must be equivalent.

Let’s now take the j-th row of both images and

compute their wavelet transforms. They are illustrated in

Figure 6 respectively by the dotted and by the dashed

line. These two curves differ from each other only in the

region not affected by occlusion. A third curve, drawn

by a continuous line in figure 6, is produced by zeroing

any of the earlier curves only where they differ. Hence,

to ignore pixels under occlusion, the similarity analysis

should be limited to the non zero values of this third

curve.

Figure 6. Wavelet transforms

This idea is explained in more formal terms as

follows. Let’s Zjf and Zjg be the zero crossing

representation yielded by the wavelet transforms of the

j-th row of a normalized image, like of the one shown in

Figure 2. Similarly Z’jf and Z’jg are the zero crossing

representations of the same row but with zeros over

286

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 298: III WVC 2007

occluded pixels. Let’s further Z*jf and Z*

jg denote the

vectors defined as

otherwise

nfZnfZfornfZnfZ jjj

j0

,*

otherwise

ngZngZforngZngZ jjj

j0

,*

Eq. 3

Equation 2 states that Z*jf and Z*

jg derive from Zjf

and Zjg by setting to zero the elements affected by

occlusion. Let’s now zjf and zjg be the vectors formed

only by the elements respectively of Z*jf and Z*

jg for

which Z*jf(n) 0 and Z*

jg(n+m) 0. The length M of zjfand zjg will depend not only on the number and position

of the pixels under occlusion in both images being

compared but also on m. Clearly, for a given value of m

the information in Zjf and Zjg relative to non occluded

areas is totally contained in zjf and zjg.

For that reason the dissimilarity, as given in Equation

1, should be computed only on zjf and zjg..

A simple manipulation leads to the conclusion that:

gZfZ

mngZnfZ

gzfz

pgzpfz

jj

N

n jj

jj

j

M

p j

**

1

0

**1

0)()( Eq.

4

This reasoning leads to the proposal of a new

dissimilarity function to cope with occlusion as given by

||||||||1),(

**

1

0

**

gZfZ

mngZnfZgf

jmd

jj

N

n jjEq. 5

The dissimilarity of two irises f and g is given in

original Boles’ method by the plain average of the 48

values produced by the application of Equation 1 to each

row of the zero crossing representation matrices. This

work proposes the use of a weighted mean instead of the

simple mean, whereby the weights are given by the

number of non zeroed values in Z*jf(n) and Z*

jg(n),

according to the formula

48

1

48

1

,

j

j

j

jjm

m

k

kgfd

D Eq. 6

where djm(f,g) is given by Equation 5 and kj is the

number of non zeroed values in the j-th row of the zero

crossing representations of both images. Again, the

overall dissimilarity D between f and g is computed as

in Equation 2, using the results produced by Equation 6

for Dm.

5. Performance Analysis

A software prototype implementing the method

proposed in this work was built for performance

assessment. Experiments were conducted using iris

images of Casia database. Image samples that could not

be properly segmented were discarded from the

analysis. As a result a total of 263 images, coming from

15 different subjects, were used in the evaluation.

The analysis was limited to the verification mode. A

total of 33453 image pairs selected from the 263 images

were used in the analysis, whereby 32295 pairs of

different eyes (negatives) and 1158 pairs of the same

eye (positives).

A program implementing the method proposed in [3]

was applied to perform iris normalization. All the

images used in these experiments were normalized into

16x256 intensity matrices. An occlusion mask was

drawn manually for each normalized image.

The wavelet used in our experiment was taken from

the Gaussian derivatives family (first derivative of the

Gaussian probability density function).

Figure 7 shows the histograms of the overall

dissimilarity for positives and negatives produced by the

original Boles method as well as by the proposed

method.

Figure 7. Histograms of Positives and Negatives

The superiority of our method can be seen by

observing the area of overlap below the curves for

positives and negatives. The larger is this area, the more

frequent is the occurrence of either false positives or

false negatives increases. Figure 7 shows that the

overlap of the region below both curves is significantly

smaller for our method than for Boles` method. If we

consider as acceptance threshold the dissimilarity value

for which the normalized frequency is equal for

positives and negatives, the overlap area is

approximately three times larger for Boles` method than

for our approach.

287

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 299: III WVC 2007

The choice of the acceptance threshold will be

determined by the applications needs, for instance, in

high security applications where the avoidance of false

positives is the major issue, a low acceptance threshold

is recommended. On the other hand for applications

where the inconvenience caused by a false negative is

the main concern, a comparatively higher acceptance

threshold may be appropriate.

The system performance as a function of the

acceptance value may be better observed on ROC

(Receiver Operating Characteristics) plots. Figures 8, 9

and 10 show the ROC curves for both methods,

considering respectively all the image pairs, images with

more than 15% of occlusion and only images with less

than 15% of occlusion.

The closer the ROC curve stays to the horizontal and

vertical axes the higher the associated performance.

Figures 8, 9 and 10 show that, in terms of recognition

performance, our method is considerably better than the

Boles method for all levels of occlusion. The ROC

curves for Boles moves away from the horizontal and

vertical axes faster than the proposed method as the

occlusion increases.

Figure 8. ROC curve for all images in the data set

Figure 9. ROC curve only for images with more than 15%

of occlusion

Figure 10. ROC curve for images with less than 15% of

occlusion

A further analysis of the experimental results has

shown that the occurrence of false negatives is mostly

influenced by the difference of the pupil’s diameter in

both images being analyzed. This suggests that a more

elaborated image normalization algorithm may

significantly improve the false negative rate.

6. Final comments

This work proposed an extension to Boles method in

order to make it robust against occlusion. Experiments

conducted on images from the Casia database for the

system working in verification mode indicated that the

proposal significantly improves the recognition

performance particularly for images highly affected by

occlusion.

Certainly the efficiency of the proposed method

depends on how accurately the occlusion areas are

delineated in the input image. In these experiments the

areas of occlusion were determined manually for each

image. A study of automatic methods for eyelids and

eyelashes detection in conjunction with the proposed

extension is planed for the continuation of this work.

Daugman’s method [3] is the most widely accepted

benchmark in the research of iris recognition. An earlier

study [7] indicated that the superiority of Daugman’s

method over Boles’ method could be mainly credited to

the inability of Boles’ to deal with occlusion. A future

study is also planed aiming at verifying how close the

proposed extension of Boles’ method comes to

Daugman’s performance.

7. References

[1] S. Nanavati, M. Thieme, R. Nanavati, Biometrics: Identity

Verification in a Networked World, John Wiley & Sohns,

2002.

288

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 300: III WVC 2007

[2] H. Proença, L. A. Alexandre, “A Method for the

Identification of Noisy Regions in Normalized Iris Images”,ICPR, 18th International Conference on Pattern Recognition,

2006, vol. 4, pp. 405–408.

[3] J. Daugman, “How Iris Recognition Works”, IEEE

Transactions on circuits and systems for video technology,

2004, vol. 14, n.1, pp. 21-31.

[4] R. P. Wildes, “Iris recognition: an emerging biometric

technology”, Proceedings of the IEEE, 1997, vol. 85, n. 9, pp.

1348–1363.

[5] W. W. Boles, “A security System Based on Human Iris

Identification Using Wavelet Transform”, 1997 First

International Conference on Knowledge-Based intelligent

Electronic System, L. C. Jain, Adelaide - Australia, 1997, pp.

533-541.

[6] W. W. Boles, B. Boashash “A human Identification

Technique using images of the Iris and wavelet transform”,

1998 IEEE transactions on signal processing, 1998, pp. 1185-

1188.

[7] R. C. Nascimento, “Sistema de identificação baseada na

estrutura de íris”, Master Thesis, Pontifícia Universidade

Católica do Rio de Janeiro, Rio de Janeiro, 2005.

[8] Casia database, Center for Biometrics and Security

Research, http://www.cbsr.ia.ac.cn/IrisDatabase.htm, last

access date: 6 Aug. 2007.

[9] L. Ma, T. Tan, Y. Wang, D. Zhang, “Personal

Identification Based on Iris Texture Analysis”, IEEE

Transactions on Pattern Analysis and Machine Intelligence,

2003, vol. 25, n.12, pp. 1519–1533.

[10] J. Huang, Y. Wang, T. Tan, J. Cui. “A new iris

segmentation method for recognition”. ICPR, Proceedings of

the 17th International Conference on Pattern Recognition,

2004, vol. 3, pp. 554-557.

[11] L. Ma, T. Tan, Y. Wang, D. Zhang, “Efficient Iris

Recognition by Characterizing Key Local Variations”, IEEE

Transactions on image processing, 2004, vol. 13, n.6, pp. 739-

750.

289

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 301: III WVC 2007

Reconhecimento Automatico de Gestos da Lıngua Brasileira de Sinais utilizandoVisao Computacional

Kleber Padovani de SouzaUniversidade Catolica Dom Bosco

Grupo de Pesquisa em Engenharia e ComputacaoCampo Grande - MS, [email protected]

Jessica Barbosa [email protected]

Hemerson [email protected]

Resumo

Hidden Markov Models (HMMs) have been frequentlyused in speech recognition, what suggested their possibleuse in gesture recognition. Traditional human-machine in-terfaces are not suitable for people with certain disabili-ties, specially auditory and motor disabilities, and the useof computers to automatically recognize gestures can bringimportant benefits to this community. This work presents aHMM-based system integrated in a platform to support thedevelopment of visually guided applications capable of re-cognizing human gestures in sequences of images achievingan accuracy rate of 99% for training samples and 80% fortesting samples in a subset of Brazilian Sign Language ges-tures.

1. Introducao

O reconhecimento automatico de gestos humanos podeser utilizado em varias aplicacoes uteis a sociedade, comoem ambientes virtuais, em sistemas de seguranca e su-pervisao, em ferramentas de suporte medico, no suportea interacao homem-maquina atraves de movimentos e emmuitas outras. Existem duas abordagens que sao comu-mente utilizadas para realizar este reconhecimento.

A primeira e atraves do uso de alguns dispositivos deapoio, que auxiliam na coleta de informacoes relevantes aoprocesso de classificacao, como as luvas de dados e bodysuits. Esta abordagem, apesar de simplificar e, geralmente,aumentar o nıvel de precisao na extracao de caracterısticasdas imagens, traz consigo algumas desvantagens, como alimitacao dos movimentos do sinalizador1 e o desconforto,causado pela necessidade de se vestir o equipamento. Em

1 Os termos sinalizador e colaborador sao utilizados para referenciaraos usuarios que executaram os gestos para obtencao das amostras(vıdeos) dos gestos.

muitos casos, existe rejeicao por parte dos usuarios a estetipo de recurso, devido a esta caracterıstica intrusiva [9].

A segunda abordagem e baseada em visao computacio-nal, em que a classificacao dos gestos e alcancada obtendo-se apenas imagens como fonte de informacao, eliminandoo incomodo implıcito na abordagem anterior. No entanto, ocusto computacional de sistemas baseados em visao, geral-mente e maior, devido a necessidade de processamento dasimagens. Todavia, no intuito de facilitar a implementacao desistemas com interfaces guiadas por sinais visuais, foi cri-ada uma plataforma de codigos-fonte abertos, denominadaSIGUS [14], que minimiza a complexidade desta tarefa.

Neste trabalho, foram investidos esforcos no desenvolvi-mento de um sistema de reconhecimento automatico de ges-tos da Lıngua Brasileira de Sinais, baseado na plataformaSIGUS, utilizando modelos de Markov ocultos (ou Hid-den Markov Models - HMMs) no estagio de classificacao.Os HMMs sao estruturas amplamente utilizadas na modela-gem de problemas com variacoes temporais e estao entre osmetodos mais utilizados nas pesquisas da area de reconhe-cimento de gestos [4, 12]2.

A descricao deste trabalho foi organizada em 4 partes.Na secao seguinte e feita uma breve revisao sobre a tecnicacentral do trabalho, os modelos de Markov ocultos (HMM).A secao 3 explica detalhadamente a forma em que o con-ceito foi aplicado ao reconhecimento de gestos e cita algunsdetalhes sobre as implementacoes. Por fim, as secoes 4 e 5apresentam os experimentos e resultados obtidos, faz umaanalise breve e geral sobre o tema discutido neste trabalhoe sugere possıveis trabalhos futuros.

2 Apesar de algumas literaturas considerarem posturas (ouconfiguracoes) como gestos estaticos, neste trabalho, o termogesto se refere apenas a gestos dinamicos.

290

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 302: III WVC 2007

2. Modelos de Markov Ocultos

Nas ultimas decadas, diversos pesquisadores da area dereconhecimento de fala tem utilizado com sucesso os mode-los de Markov ocultos como mecanismos de classificacaoem seus trabalhos [16, 20, 8, 1]. Recentemente, eles temsido empregados em aplicacoes de visao computacional queenvolvem reconhecimento de padroes, como no reconheci-mento de letras manuscritas [10, 19, 22] e na classificacaode gestos em sequencias de imagens [12, 11, 5, 21].

Um modelo de Markov oculto e similar a uma Ca-deia de Markov[7] , porem, os elementos dos conjuntos deobservacoes nao pertencem ao conjunto de estados, mas aoutro conjunto, chamado conjunto de sımbolos, tornando asequencia de estados percorrida oculta ao observador. Es-ses sımbolos sao gerados pelos estados e, em cada instantede tempo, e gerado um sımbolo pelo conjunto de estados,no entanto, o estado gerador nao e conhecido. Portanto, eacrescentada uma camada estocastica na cadeia de Markovpara se obter um modelo de Markov oculto.

A primeira camada estocastica e uma cadeia de Markovde primeira ordem, porem, nao e diretamente observavelcomo nas cadeias de Markov, em que cada estado e umapossıvel observacao3. A segunda camada estocastica e umconjunto de probabilidades que indica, para cada estado, asprobabilidades de emissao de cada sımbolo do modelo.

Como dito, a sequencia de estados percorrida em ummodelo, dada uma sequencia de observacoes, e oculta aoobservador. Ou seja, tendo uma sequencia de observacoes(conjunto ordenado de sımbolos), nao se tem acesso asequencia de estados percorrida pelo modelo para geracaodesta sequencia, mas somente uma funcao probabilısticadeste caminho, e, por isso, o modelo e chamado de mo-delo de Markov oculto. A seguir, serao descritos alguns ter-mos adotados que sao comumente encontrados em textos daarea e ao longo deste trabalho.

1. Um HMM e representado pelo sımbolo λ;

2. Os estados do modelo sao denotados pelo conjuntoS = s1, s2, ..., sN, de tamanho N ;

3. Os sımbolos reconhecidos pelo modelo estao contidosno conjunto V = v1, v2, ..., vM, de tamanho M ,tambem conhecido como alfabeto do modelo;

4. Uma sequencia de observacoes e denotada pelo con-junto ordenado O = o1, o2, ..., oT , composto de Telementos quaisquer do conjunto V , em que T e ot re-presentam, respectivamente, o tamanho da sequencia e

3 O termo “observacoes” recebe diferentes significados quando aplica-dos a processos de Markov e a modelos de Markov ocultos. No pri-meiro, essas observacoes sao os estados percorridos pelo modelo, en-quanto que nos modelos de Markov ocultos sao os sımbolos geradosnos estados do modelo, porem, a sequencia de estados nao e conhe-cida.

o sımbolo observado no instante t da sequencia, tal que1 ≤ t ≤ T ;

5. Quando conhecida, uma sequencia de estados paradeterminada observacao e representada pelo conjuntoQ = q1, q2, ..., qT , composto por T elementos deS, em que qt representa o estado no instante t dasequencia de observacoes de tamanho T ;

6. O vetor π = π1, π2, ..., πN, com um valor proba-bilıstico para cada um dos N estados do modelo, sendoπestado a probabilidade de estado ser o gerador do pri-meiro sımbolo de qualquer sequencia de observacoesgerada pelo modelo;

7. A matriz ANxN , cujos elementos sao referenciados naforma a(origem,destino) e representam a probabilidadede transicao do estado origem para o estado destino;

8. A matriz BNxM , cujos elementos sao representadoscomo bestado(sımbolo) e representam a probabilidadede um estado gerar determinado sımbolo;

9. A probabilidade da sequencia de observacao O ter sidogerada pelo modelo λ e representada por P (O|λ).

Os elementos de π, A e B podem ser os ındices dos ele-mentos dentro dos conjuntos ou seus proprios nomes. Porexemplo, a probabilidade do estado si ser inicial pode serdescrita como πi ou πsi e a probabilidade do estado si serinicial pode ser descrita como πi ou πsi . Da mesma forma,bi(vj) indica a probabilidade do estado si gerar o sımbolovj e bsx

(y) indica a probabilidade do estado sx gerar osımbolo vy .

Para melhor compreensao, a Figura 1 ilustra um exem-plo de HMM com tres estados (1, 2 e 3) e dois sımbolos(a e b). A matriz A seria composta pelas probabilidades detransicao entre estados (e.g. a(1,2) = 0.4, a(3,2) = 0.6, etc.)e a matriz B pelas probabilidades de emissao de sımbolosde cada estado (e.g. b3(a) = 0.7, b2(b) = 0.9, etc.),restando apenas o vetor π, que conteria as probabilidadesiniciais dos estados 1, 2 e 3. As possıveis sequencias deobservacoes para este modelo seriam todas compostas pe-los sımbolos a e b (e.g. O = a, a, b, a, b) de qualquer ta-manho T , tal que T ≥ 1.

2.1. Incognitas principais

Existem tres incognitas implıcitas nos HMMs, cu-jas solucoes contribuem para o funcionamento efi-caz das aplicacoes que o utilizam [13], sendo elas aavaliacao da observacao, a melhor sequencia de esta-dos da observacao e o treinamento dos modelos4. As

4 As tres incognitas descritas sao citadas por alguns autores como ostres “problemas basicos” dos HMMs, como o problema da avaliacao,o problema do melhor caminho e o problema do treinamento.

291

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 303: III WVC 2007

Figura 1. Exemplo de HMM.

tres incognitas e suas solucoes serao brevemente discuti-das. Para maiores detalhes, consulte [16].

2.1.1. Avaliacao da observacao O primeiro problema serefere a descoberta da probabilidade de uma determinadasequencia de observacoes O ter sido gerada por um es-pecıfico modelo λ. Este tipo de situacao pode ser muitofrequente nas aplicacoes de HMM. Como exemplo, no reco-nhecimento de voz, ao se produzir um fonema qualquer, estaentrada pode ser classificada como pertencente ao modeloque indicar a maior probabilidade (P [O|λ]); outro exem-plo seria no reconhecimento de comportamento de animaisem sequencias de imagens, em que o modelo que apresen-tar a maior probabilidade indica a reacao do animal peranteuma situacao ou um conjunto de estımulos.

A maneira mais “simples” de calcular a probabilidadede determinada sequencia de observacao ter sido gerada porum modelo e atraves da verificacao de todas as sequenciasde estados de tamanho T (numero total de observacoes)possıveis, e, posteriormente, calcular suas probabilidades.No entanto, este calculo pode ser computacionalmente im-praticavel devido a quantidade de operacoes matematicasnecessarias. A fim de minimizar o numero de operacoes,podem ser utilizados dois metodos, chamados forward ebackward [16]. Ambos utilizam estrategia de programacaodinamica para minimizar o custo computacional do calculo.Contudo, vale lembrar que os procedimentos forward ebackward sao independentes e apenas um deles e necessariopara encontrar a probabilidade desejada.

2.1.2. Melhor sequencia de estados da observacao Asegunda incognita se refere a busca da melhor sequenciade estados percorrida pelo modelo para uma determinadasequencia de observacoes. Ou seja, a sequencia de estadosque produz a maior probabilidade final para uma determi-nada sequencia de observacoes dentre todas as sequenciasde estados possıveis no modelo. Um exemplo de situacaoem que esta incognita ocorre e na transformacao de falaem texto, em que os sinais acusticos sao as observacoesdo sistema e as letras sao os estados do modelo. Assim,dado um sinal acustico, procura-se a sequencia de estados

mais provavel, sendo esta a sequencia de letras equivalenteao sinal. Geralmente, esta incognita e resolvida por meiodo algoritmo de Viterbi, que tambem utiliza a tecnica deprogramacao dinamica.

2.1.3. Treinamento do modelo A terceira incognita ea realizacao do ajuste dos parametros (A,B, π) do mo-delo a partir de uma ou mais sequencias de observacoes.A sequencia O utilizada para este ajuste e chamadade sequencia de treinamento, pois e utilizada para trei-nar o HMM. Nao existe uma maneira conhecida de realizareste ajuste para resolver analiticamente o modelo que ma-ximize a probabilidade da(s) sequencia(s) de observacoes,porem, e possıvel escolher o modelo que sua probabili-dade seja localmente maximizada usando um procedimentoiterativo.

A existencia de um processo que ajusta iterativa-mente e automaticamente os parametros do modelo combase nas sequencias de observacoes e a principal forcados HMMs [6]. Este processo e executado pelo algo-ritmo Baum-Welch [16], que se trata de uma especializacaodo algoritmo EM - Expectation-Maximization [2, 15] apli-cada aos HMMs. Um exemplo de aplicacao desta incognitaocorre nos treinamentos dos sistemas que utilizam HMMsno processo de classificacao, em que, dadas as amos-tras das classes que se deseja reconhecer, o algoritmo ajustaos modelos, a fim de se otimizar o reconhecimento de ou-tras sequencias de observacoes similares.

3. Desenvolvimento

Com auxılio do dicionario trilıngue [17, 18], foram sele-cionados alguns gestos que sao utilizados na formacao dassentencas da Lıngua Brasileira de Sinais, LIBRAS, e cons-truıdo um banco de amostras (vıdeos) de gestos [3]. Paracada gesto foi desenvolvido um respectivo modelo de Mar-kov oculto.

Para a construcao desses modelos foram escolhidas asposturas mais marcantes dos gestos, sendo que cada umadestas posturas se relaciona diretamente a um estado do mo-delo. Uma postura e uma configuracao estatica, sem movi-mento, enquanto o gesto e dinamico, ou seja, possui movi-mento. Por exemplo, a foto de uma mao e a filmagem deuma cabeca se deslocando da esquerda para a direita saoexemplos de postura e gesto, respectivamente.

Primeiramente, foram definidas as caracterısticas que,juntas, auxiliam a discriminar as posturas e, consequen-temente, os gestos executados pelos sinalizadores. As ca-racterısticas foram escolhidas com base nas descricoes epadronizacoes contidas em [17, 18] e na analise dos ges-tos escolhidos, observando quais combinacoes discrimina-vam visualmente as posturas e os gestos selecionados demaneira unica e, posteriormente, foram associadas as pos-

292

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 304: III WVC 2007

turas marcantes aos estados e destacadas as transicoes entreessas posturas.

Para obtencao das probabilidades de algumas componen-tes dos HMMs foi realizada uma analise visual, em que umespecialista analisou cada quadro (postura) dos vıdeos (ges-tos) e a relacionou a um estado do respectivo modelo, ob-tendo as sequencias de estados para cada amostra de gestoe, consequentemente, as probabilidades das matrizes deocorrencia inicial (π) e de transicao de estados (A). Durantea analise, como apenas as posturas denominadas como mar-cantes tem um respectivo estado no modelo, algumas pos-turas sao “ignoradas”5, sendo substituıdas nessa correlacaopela postura marcante mais proxima.

Por exemplo, a Figura 2 ilustra as posturas marcantespara execucao do gesto referente a “derrame-cerebral”, emque a mao direita deve estar em M6, com a palma viradapara a esquerda e com os dedos apontando para cima, to-cando o lado direito da testa. Em seguida, cruzar os bracosem frente a cabeca, com as duas maos fechadas e com aspalmas para dentro, e mover as maos para os lados opos-tos com forca.

Como foram consideradas tres posturas como mar-cantes, consequentemente, o modelo construıdo para arepresentacao deste gesto contera tres estados. Desta forma,as posturas que sao diferentes dessas, como as posturas ne-cessarias para transitar de uma postura marcante para outra,sao aproximadas para uma das posturas marcantes du-rante a analise.

Figura 2. Posturas denominadas marcantespara o gesto “derrame cerebral”.

A matriz de emissao de sımbolos (B) se relaciona com osinal real obtido, que, no caso, sao as informacoes obtidasatraves da sequencia de imagens dos gestos. Para obtencaodessas caracterısticas, as imagens eram submetidas ao pro-cesso de segmentacao e, posteriormente, a extracao de ca-racterısticas. Para deteccao de pele nas imagens, foram uti-lizadas arvores de decisao e, em seguida, foi realizado pre-

5 As posturas contidas no gesto que sao classificadas como desconheci-das para o modelo sao aproximadas pelo sistema a uma das posturasmarcantes, obedecendo a determinado criterio de classificacao.

6 A descricao detalhada de todos os gestos selecionados podem ser obti-das no dicionario trilıngue da Lıngua de Sinais Brasileira, de FernandoCapovilla.

enchimento de orifıcios e exclusao de regioes irrelevantes.A partir das imagens segmentadas, foram extraıdas carac-terısticas da face e das duas maos do sinalizador, como area,centro de massa, excentricidade, etc.

Como a estrutura dos HMMs utilizados era discreta,ou seja, as observacoes compatıveis com o modelo estaoem domınio discreto, os atributos oriundos do processo deextracao de caracterısticas eram submetidos a uma etapa dequantizacao e a combinacao dos valores discretos dos atri-butos produzia um sımbolo do modelo e, por consequencia,a sequencia de observacoes da amostra. Assim, tendo assequencias de estados e observacoes, foram obtidas as pro-babilidades de emissao de sımbolos para cada estado dosmodelos e, desta forma, os modelos iniciais referentes aosgestos estavam completos, possuindo suas triplas (π, A, B)necessarias.

Para reconhecer as amostras dos gestos, elas sao envi-adas a um gerenciador de modelos, que considera as pro-babilidades de geracao de cada modelo para determinadasequencia de observacoes. Alternativamente, este geren-ciador possui a opcao de realizar a contagem de sımbolosreconhecidos pelos modelos, ou seja, os sımbolos dasequencia de observacoes que tem probabilidade dife-rente de zero em pelo menos um estado do modelo. Destamaneira, sequencias com posturas que, por curtos inter-valos de tempo nao seguem um comportamento esperadopelo gesto, podem ser reconhecidas de maneira apropri-ada.

Considerando que o sistema possui um conjunto desımbolos muito extenso (cerca de 210 bilhoes), existem di-versas sequencias de observacoes possıveis para um mesmogesto. Dessa forma, o algoritmo distribui em cada mo-delo, de maneira equiprovavel, uma contribuicao irissoriaaos sımbolos que nao estavam contidos nas amostras utili-zadas para obtencao dos modelos. Do mesmo modo, o ge-renciador distribui probabilidades mınimas as condicoesinexistentes as transicoes e ocorrencias iniciais dos esta-dos, que, por serem muito pequenas, nao interferem consi-deravelmente na classificacao e podem auxiliar na correcaode erros ou restricoes provenientes da fase de treina-mento.

Do mesmo modo, o gerenciador de modelos implemen-tado executa a mesma distribuicao equiprovavel a cadaiteracao do algoritmo Baum-Welch, com intuito de possibi-litar o aumento de probabilidade dos sımbolos nao reconhe-cidos por cada modelo. Porem, os valores dessa distribuicaoe a ativacao de sua execucao e parametrizada, possibilitandoo procedimento normal, sem adaptacoes. Entre os valoresparametrizados, esta o ındice de estabilidade entre iteracoes,que determina o momento de encerramento das iteracoes dereestimacao.

Outra caracterıstica peculiar do gerenciador e a alterna-tiva que habilita a mesclagem de amostras de treinamento,

293

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 305: III WVC 2007

que possibilita a execucao do metodo reestimador em variassequencias de observacao em cada iteracao, considerandotodas as observacoes antes de maximizar as probabilidadesdos modelos.

Como as probabilidades sao muito pequenas devido aonumero de sımbolos, algumas nao seriam suportadas emvariaveis comuns da linguagem de programacao escolhida,por isso, foi implementada uma estrutura especial, que apre-senta suporte ao armazenamento de numeros dessa natu-reza.

Os codigos implementados para realizacao de todas asetapas do sistema reconhecedor sao abertos e foram de-senvolvidos na linguagem Java, utilizando bibliotecas deprocessamento de imagens (ImageJ) e mineracao de dados(Weka) e estao em processo de incorporacao na plataformaSIGUS para utilizacao em outras aplicacoes.

4. Experimentos e Resultados

Para a realizacao das analises e experimentos no sistema,foi criado um banco de imagens referentes aos gestos se-lecionados [3]. A captura das imagens que compoem estebanco foi realizada em um ambiente com fundo estatico euniforme, ou seja, nao existiam objetos atras do sinaliza-dor e o unico objeto com movimento era ele proprio. Paraisto, foi utilizada uma camera digital7 para obtencao dassequencias de imagens, sendo que esta se manteve fixadaem frente ao sinalizador e imovel durante as gravacoes.

A coleta foi organizada em ciclos para evitar que o si-nalizador executasse o mesmo gesto mais de uma vez, como intuito de aumentar a naturalidade na execucao dos ges-tos, explorando variacoes possıveis. Foram capturadas ima-gens de 3 colaboradores para os experimentos, em que cadaum executou sete ciclos de 47 gestos. Com isso, o bancode imagens dedicado a experimentacao possuia 21 amos-tras para cada gesto, totalizando 987 arquivos de vıdeo, emque nao foi utilizado recurso algum de apoio para o rastrea-mento das maos e da face, como luvas de dados ou camerasde infra-vermelho.

Para realizacao dos experimentos, foram divididas asamostras em duas classes, treinamento e teste, e os expe-rimentos em 2 grupos, sendo que as amostras de treina-mento sao as mesmas utilizadas para obtencao dos mode-los iniciais. Dentro de cada classe sao realizados dois ex-perimentos: com HMMs constituıdos das probabilidadesalcancadas por formula fechada utilizando os dados obti-dos durante a analise visual e com HMMs submetidos aoprocesso de reestimacao, utilizando as mesmas amostras detreinamento.

A primeira classe experimenta a classificacao das amos-tras de treinamento, que sao as mesmas utilizadas para a

7 Camera digital, marca Sony, modelo DSC-F828.

obtencao dos modelos iniciais e a segunda as amostras res-tantes. A base de treinamento possui um conjunto total de987 amostras de gestos, sendo que 564 dessas amostras saodestinadas ao treinamento (e testes) e as restantes apenaspara testes. Em ambas as abordagens, com modelos iniciaise reestimados, o sistema obteve taxa de acerto de 99.11% noprimeiro grupo e de 80.1% nas amostras de teste, que sao asamostras que nao foram utilizadas para obtencao dos mode-los iniciais.

5. Consideracoes Finais

Neste trabalho investiu-se na utilizacao de uma tecnicabastante utilizada no reconhecimento de fala e muito bemconceituada, porem, aplicada ao reconhecimento de ges-tos: os modelos de Markov ocultos (HMM). O domıniodeste sistema reconhecedor e um conjunto de 47 gestos, ex-traıdos do dicionario Trilingue da Lıngua Brasileira de Si-nais [17, 18]. Estes gestos foram analisados e capturadosatraves de cameras digitais e armazenados em um banco deimagens. Foram analisadas as variaveis visuais que melhorcaracterizavam os gestos, ou seja, um conjunto de atribu-tos que, em conjunto, descrevem cada gesto de maneira dis-tinta. De fato, estas caracterısticas nao descrevem especifi-camente o gesto, mas sim, cada postura do gesto.

Os resultados obtidos foram satisfatorios, no entanto, po-dem ser analisadas alternativas que possam maximizar ospercentuais de acerto. Como exemplo, a analise detalhadada invariancia na taxa de acerto antes e apos a reestimacaodos modelos talvez possa auxiliar na descoberta de carac-terısticas relevantes ao processo de classificacao.

Uma das melhorias que poderia ser adicionada ao traba-lho, seria a incorporacao de experimentos em imagens cap-turadas em tempo real, pois os experimentos realizados nosistema se limitaram ao domınio de imagens armazenadasem disco. Alem disso, outra abordagem que enriqueceria oprojeto, seriam experimentos com colabores que nao estaopresentes na parcela de treinamento, para constatar se o sis-tema suporta independencia de usuarios.

Outra abordagem interessante seria uma analise compa-rativa entre o desempenho de classificacao do sistema apli-cando esta mesma metodologia para a construcao dos mo-delos em relacao a modelos gerados aleatoriamente e reesti-mados atraves do algoritmo Baum-Welch. Essa analise de-monstraria a relevancia da identificacao das sequencias deestados nas amostras, como foi realizado neste trabalho du-rante a analise visual.

6. Agradecimentos

Este trabalho recebeu apoio financeiro da UniversidadeCatolica Dom Bosco, UCDB, da Agencia Financiadora de

294

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 306: III WVC 2007

Estudos e Projetos, FINEP e da Fundacao de Apoio ao De-senvolvimento do Ensino, Ciencia e Tecnologia do Estadode Mato Grosso do Sul, FUNDECT. O primeiro autor destetrabalho foi bolsista ITI-CNPq e um dos co-autores e bol-sista de Produtividade em Desenvolvimento Tecnologico eExtensao Inovadora do CNPq.

Referencias

[1] T. Aarnio. Speech recognition with hidden markov models invisual communication. Master’s thesis, University of Turku,1999.

[2] F. Dellaert. The expectation maximization algorithm. Tech-nical Report GIT-GVU-02-20, GVU, February 2002.

[3] J. B. Dias, K. P. Souza, and H. Pistori. Conjunto de trei-namento para algoritmos de reconhecimento de libras. IIWorkshop de Visao Computacional, Sao Carlos, October2006.

[4] S. Eickeler, A. Kosmala, and G. Rigoll. Hidden MarkovModel Based Continuous Online Gesture Recognition. InInt. Conference on Pattern Recognition (ICPR), pages 1206–1208, Brisbane, 1998.

[5] S. Eickeler, A. Kosmala, and G. Rigoll. Hidden MarkovModel Based Continuous Online Gesture Recognition. InInt. Conference on Pattern Recognition (ICPR), pages 1206–1208, Brisbane, 1998.

[6] A. El-Yacoubi, R. Sabourin, M. Gilloux, and C. Y. Suen.Off-line handwritten word recognition using hidden Markovmodels, pages 191–230. CRC Press, Inc., Boca Raton, FL,USA, 1999.

[7] C. M. Grinstead and L. J. Snell. Introduction to Probability.American Mathematical Society, July 1997.

[8] X. D. Huang, H. W. Hon, and K. F. Lee. Large-vocabularyspeaker-independent continuous speech recognition withsemi-continuous hidden markov models. In HLT ’89: Pro-ceedings of the workshop on Speech and Natural Language,pages 276–279, Morristown, NJ, USA, 1989. Association forComputational Linguistics.

[9] J. Joseph J. LaViola. A survey of hand posture and ges-ture recognition techniques and technology. Technical re-port, Brown University, Providence, RI, USA, 1999.

[10] J. Jose Josemar de Oliveira, J. M. de Carvalho, C. O.de A. Freitas, and R. Sabourin. Evaluating nn and hmm clas-sifiers for handwritten word recognition. In SIBGRAPI ’02:Proceedings of the 15th Brazilian Symposium on ComputerGraphics and Image Processing, pages 210–217, Washing-ton, DC, USA, 2002. IEEE Computer Society.

[11] N. Liu and B. C. Lovell. Gesture classification using hiddenmarkov models and viterbi path counting. In DICTA, pages273–282, 2003.

[12] J. A. Montero and L. E. Sucar. Feature selection for vi-sual gesture recognition using hidden markov models. enc,0:196–203, 2004.

[13] M. Morita and L. S. Oliveira. Introducao aos modelosescondidos de markov. Technical report, PPGIA-PUCPR,Curitiba-Brazil, November 1998.

[14] H. Pistori, P. S. Martins, M. C. Pereira, and J. J. Neto. Si-gus - plataforma de apoio ao desenvolvimento de sistemaspara inclusao digital de pessoas com necessidades especiais.IV Congresso Iberdiscap: Tecnologias de Apoio a Portado-res de Deficiencia, Vitoria, February 2006.

[15] D. Prescher. A tutorial on the expectation-maximization al-gorithm including maximum-likelihood estimation and emtraining of probabilistic context-free grammars. ArXiv Com-puter Science e-prints, December 2004.

[16] L. R. Rabiner. A tutorial on hidden markov models and se-lected applications in speech recognition. IEEE ComputerGraphics and Applications, 77(2):42–53, 1989.

[17] F. C. C. W. D. Raphael. Dicionario Enciclopedico IlustradoTrilıngue da Lıngua de Sinais Brasileira, volume Volume I:Sinais de A a L. Sao Paulo, SP: Edusp, Imprensa Oficial,2002.

[18] F. C. C. W. D. Raphael. Dicionario Enciclopedico IlustradoTrilıngue da Lıngua de Sinais Brasileira, volume Volume I:Sinais de M a Z. Sao Paulo, SP: Edusp, Imprensa Oficial,2002.

[19] K. Siriboon, A. Jirayusakul, and B. Kruatrachue. Hmm to-pology selection for on-line thai handwritten recognition.In CW ’02: Proceedings of the First International Sympo-sium on Cyber Worlds (CW’02), page 0142, Washington,DC, USA, 2002. IEEE Computer Society.

[20] C. A. Ynoguti. Reconhecimento de Fala Contınua UsandoModelos Ocultos de Markov. PhD thesis, Faculdade de En-genharia Eletrica e de Computacao, Universidade Estadualde Campinas, Campinas, Sao Paulo, Brasil, 1999.

[21] L.-G. Zhang, X. Chen, C. Wang, Y. Chen, and W. Gao. Re-cognition of sign language subwords based on boosted hid-den markov models. In ICMI ’05: Proceedings of the 7th in-ternational conference on Multimodal interfaces, pages 282–287, New York, NY, USA, 2005. ACM Press.

[22] M. Zimmermann and H. Bunke. Hidden markov mo-del length optimization for handwriting recognition sys-tems. In IWFHR ’02: Proceedings of the Eighth Interna-tional Workshop on Frontiers in Handwriting Recognition(IWFHR’02), page 369, Washington, DC, USA, 2002. IEEEComputer Society.

295

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 307: III WVC 2007

Reconhecimento de Faces Utilizando Redes Neurais Artificiais com Fusão de Características Faciais por Método de Votação

Ricardo A. S. Fernandes1, Adilson Gonzaga

2,

Escola de Engenharia de São Carlos – EESC. Universidade de São Paulo – USP

[email protected], adilson

[email protected]

Resumo

Este artigo consiste em um método para

reconhecimento de faces baseado em Redes Neurais

Artificiais que classificam três características faciais e

utiliza suas saídas como entradas para a fusão que é

realizada pelo método de votação, este apresenta como

saída o individuo reconhecido pelo sistema. Devido aos

princípios básicos de redes neurais, o conjunto de

dados foi dividido em conjunto de treinamento e

validação, como estes conjuntos apresentaram alta

dimensionalidade, a técnica de PCA foi aplicada. Isto

possibilitou um menor esforço computacional tanto na

etapa de treinamento quanto na validação e também

melhores resultados puderam ser obtidos devido à

extração dos principais componentes.

1. Introdução

Com a sociedade necessitando cada vez mais de

segurança, a busca pela criação de sistemas inteligentes

capazes de identificar indivíduos de forma cada vez

mais precisa em tarefas de difícil classificação para

seres humanos faz com que uma enorme variedade de

metodologias para identificação biométrica [1, 2, 3, 4]

seja pesquisada tais como: íris, face, impressão digital

dentre outras. Este tipo de atividade requer muito

esforço computacional, mas com o crescente avanço da

tecnologia estas tarefas passam a ser viáveis e assim

colocadas em prática.

Atualmente, pesquisadores procuram criar métodos

de reconhecimento multi-modais utilizando a junção de

várias características biométricas, por isto se faz

necessário o aprimoramento no reconhecimento isolado

de cada biometria, pois, o intuito é a criação de sistemas

com a melhor taxa de acertos possível.

Neste contexto, em [5] é proposto um

reconhecimento de faces sobre três características

faciais aplicando-se PCA junto com um discriminante

linear de Fisher para identificar cada característica facial

e a seguir aplicar um método de fusão probabilística que

fornece como resultado a pessoa reconhecida. A

validação do sistema acima citado utiliza as bases de

dados de faces AR e FERET para mostrar que o

reconhecimento de faces pelo método de fusão fornece

melhor resposta quando comparado à classificação de

cada característica individual.

Neste artigo propôs-se a utilização de redes neurais

artificiais nos processos de classificação das

características individuais e para fusão um método de

votação. As características faciais consideradas foram:

imagem da face em tons de cinza, imagens com

aplicação de filtros Butterworth (Passa-Baixa, Passa-

Alta, Passa-Faixa), imagem com aplicação do filtro de

Canny e uma imagem com aplicação dos filtros

Derivativo e Gaussiano que é conhecida como Edginess.

Cada característica facial utiliza sua própria rede

neural para reconhecimento individual. As taxas de

acerto para cada característica foram analisadas e apenas

as três que contribuíam mais para o método de fusão

foram utilizadas. Desta forma as características restantes

foram eliminadas e a classificação das três

características faciais feita novamente pelas redes

neurais onde suas saídas foram dadas como entradas

para o método de fusão que fornece em sua saída o

resultado do reconhecimento, isto é, o indivíduo

reconhecido. Para validação do sistema a base de dados

de faces AR foi utilizada. A partir dos resultados

obtidos, as devidas conclusões foram tomadas de acordo

com a viabilidade de se utilizar classificação de

características faciais por redes neurais e com relação à

contribuição do método de fusão para melhoria do

sistema.

2. Análise dos Componentes Principais

A análise dos componentes principais (PCA) é um

meio de se identificar padrões em um conjunto de dados

e expressar suas similaridades e diferenças. Também é

um método bastante eficaz para quando há a

necessidade da caracterização de padrões a partir de

dados com alta dimensionalidade. Neste caso, como

cada imagem possui dimensões de 128x96 pixels, todo o

conjunto de dados irá resultar numa matriz com

dimensões altíssimas. Assim PCA foi o método

escolhido como apropriado para que as dimensões do

conjunto de dados fossem reduzidas para que não

sobrecarregasse o processamento das redes neurais.

Entretanto, antes de se aplicar PCA foi necessário um

pré-processamento em cada imagem onde suas colunas

296

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 308: III WVC 2007

foram concatenadas para gerar um vetor coluna e cada

nova imagem concatenada passa a ser uma coluna da

matriz que representa o conjunto de dados. A

transformação da imagem em um vetor coluna pode ser

observada no exemplo da Fig. 1.

Fig. 1. Concatena as colunas de uma imagem 3x3.

Com os dados já preparados, o método de PCA

consiste em se fazer primeiro o cálculo da média total

sobre todo o conjunto de dados como mostrado na

Equação (1).

,

1 1

1 I M

i m

i m

fK

(1)

sendo o total de imagens utilizadas no conjunto de

treinamento, I é a quantidade de indivíduos e M a

quantidade de imagens por individuo. Após obter a

média total, deve-se criar uma matriz de covariâncias C

conforme a Equação (2).

K

, ,

1 1

1 I MT

i m i m

i m

CK

(2)

sendo, ,i m i mf , representando a diferença entre

uma imagem do conjunto de treinamento e a média

total. Neste momento, os autovalores e autovetores são

extraídos e o espaço PCA pode ser criado, assim há a

necessidade de se projetar o conjunto de dados atual no

espaço PCA para a obtenção de um novo conjunto de

dados, porém, com dimensões reduzidas e

posteriormente deve ser dividido em conjuntos de

treinamento e validação para serem utilizados como

entrada das redes neurais, sendo que é criado um

conjunto de dados para cada característica facial.

3. Características Faciais

As características utilizadas neste trabalho foram

seis, porém, para que estas fossem criadas, as imagens

da base de dados AR (Fig. 2a.), foram convertidas para

tons de cinza (Fig. 2b.) e esta por sua vez deriva as

outras cinco características faciais pela aplicação de

alguns filtros como Canny, Edginess e Butterworth.

Visto que o filtro de Butterworth cria três características

faciais pela aplicação de cada um de seus filtros (Passa-

Baixa, Passa-Alta e Passa-Faixa).

Fig. 2. (a) Imagem da Base de Dados e (b) Imagem em tons de Cinza.

3.1. Imagem com Filtro de Canny

O filtro de Canny [6] é convoluido com a imagem

deixando seu ruído uniforme e assim detectando suas

bordas. Este filtro utiliza como parâmetros dois limiares

1 0T e 2 0.1T onde 1 2T T e desvio padrão 0.99

que controla a abertura da Gaussiana. Na Fig. 3a,

podemos visualizar uma imagem com filtro de Canny.

Fig. 3. Imagem com Filtro de Canny.

3.2. Imagem Edginess

Para gerar a imagem Edginess [5, 7] foram utilizados

dois filtros (Gaussiana e Derivativo), aplicados na

detecção das componentes horizontal e vertical da

imagem, respectivamente. A convolução da imagem

em tons de cinza com o filtro de Gaussiana, ajuda a

reduzir os efeitos causados pelos ruídos. Já o filtro

Derivativo irá amenizar os efeitos causados pela

iluminação. Estes filtros dados pelas Equações (3) e (4)

e podem ser visualizados na Tabela 1.

2

221

( )2

x

g x e (3)

2

22

3( )

2

yy

d y e (4)

297

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 309: III WVC 2007

Como estes filtros trabalham em função da

freqüência, houve a necessidade de utilizar a

Transformada Rápida de Fourier (FFT) para quantificar

as freqüências intrínsecas às imagens e assim gerar uma

matriz que será convoluida com o filtro para assim

aplicar a Transformada Inversa Rápida de Fourier

(IFFT) e recuperar a imagem já filtrada.

Tabela 1 Coeficientes dos Filtros de Gaussiana e Derivativo

Filtro de Gaussiana Filtro Derivativo 0.0001 0.0005

0.0440 0.0133

0.0540 0.1080

0.2420 0.2420

0.3989 0.0000

0.2420 -0.2420

0.0540 -0.1080

0.0440 -0.0133

0.0001 -0.0005

4. Redes Neurais Artificiais

As redes neurais utilizadas são responsáveis pela

classificação das características faciais de cada

individuo, para isto faz-se necessário o treinamento,

onde seus pesos internos se ajustam de forma a

generalizar a classificação no momento da validação. Na

primeira etapa possuímos uma rede neural para cada

característica facial, treinadas e validadas para uma

posterior análise de seus percentuais de acerto, para

assim verificar quais as três características que

contribuem mais para o método de fusão, os resultados

desta etapa são mostrados na Tabela 2. Escolhidas as

características, estas são dadas como entradas para as

redes neurais que por sua vez fornecem em suas saídas o

indivíduo reconhecido, portanto, teremos na saída três

resultados que podem vir a ser diferentes, por isto foi

utilizado o método de fusão que utiliza como entradas

estas três respostas fornecidas pelas redes neurais,

fundindo-as para obter uma única resposta de saída.

Ambos filtros utilizam desvio padrão 3. A

aplicação destes filtros proporcionou a geração da

imagem Edginess com características que a torna

bastante robusta quando relacionada a variações na

iluminação e pode ser visualizada na Fig. 4.

Fig. 4. Imagem Edginess.

3.3. Imagens com Filtros Butterworth

Todas as redes neurais utilizadas foram do tipo LVQ

(Learning Vector Quantization) devido as suas

características, onde esta divide o espaço amostral em

subespaços disjuntos para serem representados por

classes que por sua vez irão representar cada individuo.

Redes Neurais do tipo LVQ possuem apenas uma

camada neural, esta utiliza uma quantidade de neurônios

igual à quantidade de classes a serem caracterizadas.

Para a etapa de treinamento foram ajustados os

parâmetros de taxa de aprendizagem em 0.01 e um

número máximo de épocas igual a 10000 [8]. O

conjunto de dados possui 800 imagens e foi dividido em

20%, 10% e 5% para treinamento sendo o restante dos

dados utilizados para a validação das redes. Quando se

diz respeito a redes neurais, esta divisão do conjunto de

dados para o treinamento pode parecer errônea, porém,

em sistemas de reconhecimento de faces reais iremos

possuir poucas fotos da pessoa, muitas vezes uma única

foto, daí a utilização de um conjunto de treinamento

pequeno e um conjunto de validação maior que iria

representar a pessoa em diversas posições diferentes.

Por isso também foi variado o tamanho do conjunto de

treinamento de modo a diminuir a quantidade de

imagens e verificar se a redução percentual se torna

muito grande.

O modelo típico dos filtros de Butterworth é o passa-

baixas, porém, este pode ser adaptado tornando-se um

filtro de passa-altas ou então juntar um filtro passa-altas

com um passa-baixas para se tornar um filtro passa-

faixa também conhecido como rejeita-faixa. As três

características faciais geradas pelos filtros de

Butterworth podem ser visualizadas pela Fig. 5a, 5b e

5c.

Fig. 5. (a) Imagem com Passa-Alta, (b) Imagem com Passa-Baixa e (c) Imagem com Passa-Faixa.

298

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 310: III WVC 2007

Tabela 2 Taxas de Acerto para as características faciais individuais

Imagem emtons de cinza

ImagemEdginess

Filtro de Canny

FiltroPassa-Alta

FiltroPassa-Baixa

FiltroPassa-Faixa

69.9% 67.5% 40.4% 69.0% 60.8% 72.6%

5. Fusão

O processo de fusão é realizado por um método de

votação onde este recebe como entradas as saídas das

redes neurais e faz uma análise quantitativa para

verificar qual o maior número de vezes que se

reconheceu um individuo entre as três entradas, sendo

que em caso de as três reconhecerem indivíduos

diferentes, deve ser feito um sorteio para a escolha do

vencedor.

Por exemplo, suponhamos que a primeira rede neural

seja responsável por classificar indivíduos pela imagem

em tons de cinza, a segunda rede neural classifica a

imagem Edginess e a terceira rede neural classificaria a

imagem com filtro passa-faixa. A primeira rede neural

forneceu como resultado a pessoa #1, a segunda rede

neural a pessoa #5 e a terceira rede neural a pessoa #1,

assim, o método de fusão dará em sua saída como

resposta final do sistema a pessoa #1, devido a o seu

maior número de ocorrências. Todo o sistema é

mostrado pela Fig. 6, onde podemos visualizar a

Imagem (colorida), que vem direto da base de dados AR

e passa por um processo de conversão que irá gerar as

três características escolhidas para que assim sejam

dadas como entradas para as redes neurais já treinadas.

A entrada do bloco de fusão será constituída pelas

saídas das redes neurais, desta forma o método de

votação irá eleger o individuo reconhecido e enviará a

resposta para sua saída.

Fig. 6. Sistema de Reconhecimento.

6. Resultados

Para obtenção e análise de resultados, dois aspectos

foram escolhidos, o primeiro consistia em se variar a

quantidade de imagens da base de dados e o segundo em

variar a quantidade de dados do conjunto de treinamento

de forma a reduzi-lo e fazer uma análise de viabilidade

do sistema, fazendo com que este se aproxime o

máximo possível de um sistema real.

Assim, os resultados são analisados de duas formas

que apresentaremos a seguir pelas Tabelas 3 e 4. Para a

primeira análise, o sistema foi submetido a dois

conjuntos de dados diferentes, onde a quantidade de

imagens pertencentes à base de dados foi variada (200 e

800 imagens). Com esta variação os resultados

mostraram que quanto menos classes tiverem, melhor

será o resultado, isto já era esperado, pois, este é um

comportamento normal para sistemas de

reconhecimento de faces. Já a análise do segundo teste

consistia em verificar a viabilidade do sistema quando

da redução do conjunto de treinamento da rede neural.

Portanto poucas imagens de cada classe foram dadas

como entrada para o treinamento da rede neural, esta

quantidade de imagens foi variada para que o conjunto

de validação possuísse de 80% a 95% do conjunto de

dados. Esta segunda etapa da análise de resultados

mostrou uma grande perda da taxa de acertos quando os

resultados foram variados entre 80% e 90%, porém,

quando variados entre 90% e 95% estes apresentaram

pouca diferença mostrando que o sistema se torna mais

299

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 311: III WVC 2007

estável. Também pode ser notado que quando utilizada

base de dados com apenas 200 imagens, a variação dos

conjuntos de validação apresentaram mais estabilidade

do que quando utilizada a base de dados com 800

imagens.

Tabela 3 Resultados para base de dados com 200 imagens

Conjuntode

Validação

ImagemEm tons de

cinza

ImagemEdginess

FiltroPassa-Faixa

Fusão

80% 77.0% 74.5% 79.0% 82.0%

90% 75.0% 71.5% 72.5% 77.5%

95% 75.5% 70.5% 74.0% 76.0%

Tabela 4 Resultados para base de dados com 800 imagens

Conjuntode

Validação

Imagem em tons de cinza

ImagemEdginess

FiltroPassa-Faixa

Fusão

80% 74.1% 70.0% 72.9% 76.3%

90% 60.1% 58.9% 61.6% 63.6%

95% 52.1% 52.3% 58.4% 58.4%

Após estas duas análises anteriormente mostradas,

voltamos ao enfoque principal do trabalho que consiste

em se verificar o desempenho do método de fusão para

que sistemas de reconhecimento de faces se tornem

melhores por meio do estudo de novas técnicas. Assim a

fusão por método de votação conseguiu apresentar uma

melhora no sistema quando os resultados da fusão são

equiparados aos resultados obtidos por cada

característica facial individualmente.

7. Conclusões

A partir dos resultados obtidos podemos dizer que o

processo de fusão apresentou melhores resultados

mesmo com pouca variação destes com relação aos

resultados individuais. Esta pequena variação pode ser

devida à escolha das características, ficando bem

caracterizado que a utilização de métodos de Data

Mining pode ser útil, pois, possibilitaria a obtenção de

melhores resultados. Quanto às redes neurais, estas

apresentaram bom desempenho com relação a tempo de

treinamento, pois, as mesmas chegaram a convergir num

tempo médio de cinqüenta segundos, já suas taxas de

acerto foram medianas, por isso outras arquiteturas de

redes neurais artificiais podem ser verificadas na

tentativa de se obter um melhor desempenho do sistema.

Outros tipos de sistemas inteligentes como Sistemas de

Inferência Fuzzy e Algoritmos Genéticos também

podem ser empregados nesta tarefa ao invés de Redes

Neurais Artificiais.

Referências

[1] L. Hong and A. Jain, “Integrating faces and fingerprints for

personal identification,” IEEE Trans. Pattern Anal. Machine

Intell., vol. 20, no. 12, pp. 1295–1307, 1998.

[2] S. Ben-Yacoub, Y. Abdeljaoued, and E. Mayoraz, “Fusion

of face and speech data for person identity verification,” IEEE

Trans. Neural Networks, vol. 10, no. 5, pp. 1065–1074, 1999.

[3] G. Shakhnarovich and T. Darrell, “On probabilistic

combination of face and gait cues for identification,” in Proc.

5th IEEE International Conference on Automatic Face and

Gesture Recognition (FGR ’02), pp. 169–174, Washington,

DC, USA, May 2002.

[4] J. Kittler, M. Hatef, R. P. W. Duin, and J. Matas, “On

combining classifiers,” IEEE Trans. Pattern Anal. Machine

Intell., vol. 20, no. 3, pp. 226–239, 1998.

[5] A.N. Rajagopalan, K. Srinivasan Rao, and Y. Anoop

Kumar, “Face recognition using multiple facial features”,

Pattern Recognition Letters 28, Elsevier, 2007, pp. 335-341.

[6] Gonzalez, R. C., Woods, R. E., Eddins, S. L., Digital

Image Processing using Matlab, Prentice Hall, New Jersey,

2004.

[7] K. Srinivasan Rao, and A.N. Rajagopalan, “A Probabilistic

Fusion Methodology for Face Recognition”, EURASIP

Journal on Applied Processing 17, Hindawi Publishing

Corporation, 2005, pp. 2772-2787.

[8] Haykin, S., Neural Network: A Compreensive Foundation,

IEEE Press, Location, Date.

300

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 312: III WVC 2007

Reconhecimento de Marcos de Localização por um Sistema de ControleDistribuído Sobre um Barramento CAN (Controller Area Network)

HENRIQUE A. VIAN1, LUCIANA L. SILVA

1, MÁRIO L. TRONCO

1, ARTHUR J. V. PORTO

2

1Laboratório de Automação e Computação Evolutiva, Departamento de Ciências de Computação e

Estatística, Universidade Estadual Paulista – UNESP2Laboratório de Simulação e Controle de Sistemas Discretos

Escola de Engenharia de São Carlos - Universidade de São Paulo - USP

E-mails: [email protected], [email protected], [email protected], [email protected]

Abstract

A great challenge in the development of mobile robots

is their autonomy. Several studies demonstrate a number

of ways of reaching the goal of improving this feature in a

robot. This paper shows one method associating the use

of computational vision with distributed control systems

for the landmark recognition, using affine moment

invariants (AMIs). Also, it makes a description of the

strategy adopted for this task with the use of a CAN bus

network.

1. Introdução

A robótica tem sido tema de muitos estudos e tem

obtido grande desenvolvimento nos últimos anos no

campo da Inteligência Artificial [1]. Desde a década de

1950 que pesquisadores mostram interesse no

desenvolvimento de robôs móveis. Neste período,

Willian Walter desenvolveu diversos robôs que tinham a

capacidade de desviar de obstáculos ou seguir fontes

luminosas [2].

O desenvolvimento de robôs móveis depende de

conceitos das mais diversas áreas do conhecimento, como

da teoria da cognição, do controle e automação, do

sensoriamento, da visão computacional, da engenharia

elétrica e mecânica. Por isso, o desenvolvimento destes

equipamentos atualmente ainda se mostra como um

grande desafio, principalmente no que diz respeito à

autonomia do robô, cujo grau depende, invariavelmente,

da implementação embarcada de diversas funções que o

auxiliam no êxito do alcance de seus objetivos,

propiciando capacidade de contornar ou tomar decisões

em relação a fatos inesperados ocorridos no ambiente de

navegação [3].

Pesquisas recentes têm mostrado o uso freqüente de

associações entre sensores e sistemas de visão

computacional para possibilitar a autonomia dos robôs.

Os sistemas de controle distribuído também têm sido

bastante empregados em arquiteturas de controle dos

dispositivos autônomos.

Vasudevan et. al [4], Rekleitisa et. al [5] e Choi & Lee

[6] utilizam-se de sensores e de imagens captadas,

verificando obstáculos e marcos de localização, para

determinar sua localização no ambiente e traçar sua rota.

Uma arquitetura adaptativa para robôs móveis que

promove um aprendizado por reforço e coordena os

comportamentos do sistema foi desenvolvida por

Selvatici [1]. Esta arquitetura faz uso de visão

computacional para fazer o reconhecimento do ambiente e

para verificar a disposição de objetos ou obstáculos na

frente do robô.

Este trabalho mostra uma estratégia de controle de um

robô móvel com o uso de um sistema de controle

distribuído, com intervalos de tempo destinados também

ao reconhecimento de marcos.

Na próxima seção apresenta-se a fundamentação

teórica na qual o trabalho é embasado. A seção seguinte

mostra a estratégia de controle e, por fim, a última seção

conclui sobre a viabilidade deste trabalho.

2. Contexto teórico

Nesta seção mostram-se as áreas abrangidas pelo

presente trabalho e a teoria envolvida.

2.1. Marcos de Localização

A identificação do ambiente permite ao robô atingir o

objetivo proposto de maneira mais fácil e rápida. O

reconhecimento de marcos (imagens de objetos ou figuras

artificiais presentes na cena coletada) permite ao robô

realizar esta identificação. Diversos trabalhos utilizam

desta técnica e mostram os resultados alcançados [7; 8; 9;

10].

O uso de objetos presentes no ambiente como marcos,

geralmente, é feito em locais estáticos, onde a cena não

sofre alterações relevantes. Para ambientes dinâmicos, o

uso de marcos artificiais, inseridos em pontos estratégicos

301

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 313: III WVC 2007

do ambiente, se mostra uma maneira eficiente de

propiciar a identificação do local pelo robô.

Neste trabalho, faz-se uso de marcos artificiais,

baseados em setores circulares, como é mostrado mais

adiante. A seguir, introduz-se o conceito dos invariantes

utilizados na identificação destes marcos.

2.2. Momentos Invariantes Afins

Os momentos invariantes afins (AMI – Affine Moment

Invariants) surgiram da teoria de invariantes algébricas

[11] e têm se mostrado uma ferramenta importante para o

reconhecimento de marcos de localização em imagens

coletadas por um sistema de visão computacional. A

transformação afim que possibilita o AMI é mostrada a

seguir:

.

.

210

210

ybxbbv

yaxaau

++=++=

(1)

Em que (x,y) são as coordenadas do pixel da imagem

antes de aplicar-se a transformada e (u,v) são as

posteriores a sua aplicação. A demonstração teórica e

experimental dos AMIs pode ser vista em Flusser & Suk

[11; 12].

Considerando µpq o momento central de ordem (p+q),

este é dado por:

∫∫ −−=A

q

t

p

tpq dxdyyxfyyxx ,),()()(µ (2)

Onde (xt, yt) são as coordenadas do centro de gravidade

do objeto de área A e f(x,y) é a intensidade do nível de

cinza do pixel na posição (x,y).

Os primeiros seis AMIs são mostrados a seguir [11]:

),(1 2

1102204

00

1 µµµµ

−=I (3)

),34

46(1

2

12

2

21

3

2103

3

123003122130

2

03

2

3010

00

2

µµµµ

µµµµµµµµµ

−+

+−=I(4)

)),(

)()((1

2

21123002

1221033011

2

120321207

00

3

µµµµ

µµµµµµµµµµ

−+

−−−=I(5)

),6

129

68

186

129

66(1

2

30

3

022130

2

0211

123002

2

11

2

21

2

0220

1230

2

02200330

3

11

12210211200330021120

0321

2

1120

2

1202

2

20

032102

2

20031211

2

20

2

03

3

2011

00

4

µµµµµµµµµµµµµ

µµµµµµµµµµµµµµµµµ

µµµµµµµ

µµµµµµµµµµµ

+−

++

−−

−+++

−−=I

(6)

),34(1 2

22133104406

00

5 µµµµµµ

+−=I (7)

),

2(1

3

22

2

3104

2

1340

1322312204409

00

6

µµµµµ

µµµµµµµ

−−−

+=I(8)

Em [13] é apresentado experimentalmente o uso de

AMIs no reconhecimento de caracteres. Sua eficácia para

o reconhecimento de marcos baseados em setores

circulares, também é mostrada em detalhes por Zitová &

Flusser [14], o que é exemplificado na Figura 1.

Este trabalho também utilizará setores circulares como

marcos de localização no ambiente.

Figura 1 - Exemplos de marcos de localização [14]

Escolheu-se o uso de setores circulares por

apresentarem simetria radial, o que faz com que os AIMs

I2,, I3 e I4 tenham valor praticamente nulo, o que não

auxilia no reconhecimento e, portanto, não precisam ser

calculados. Isto ocorre devido ao momento central µpq ter

o valor zero, na condição citada, quando p ou q é ímpar.

Porém, através do cálculo dos invariantes I1, I5 e I6 é

possível identificar os marcos, mesmo com deformações

ou ruídos na imagem, o que é comprovado

experimentalmente em [14].

Na próxima subseção, é descrito o protocolo de rede

utilizado no sistema de controle distribuído, cujos nós da

rede, além do controle, realizam os cálculos dos

invariantes e do reconhecimento do marco de localização

no presente trabalho.

2.3. Protocolo CAN

O CAN Bus (Controller Area Network Bus) [15] foi

desenvolvido pela empresa alemã Robert BOSCH e

disponibilizado em meados dos anos 80. Sua aplicação

inicial foi realizada em ônibus e caminhões. Atualmente,

é utilizado na indústria, em veículos automotivos, navios,

máquinas agrícolas, satélites, veículos autônomos e

máquinas da construção civil, entre outros [16]. É um

protocolo de comunicação serial síncrono. O sincronismo

entre os módulos, também chamados de nós, conectados à

rede é feito em relação ao início de cada mensagem

lançada no barramento. Trabalha baseado no conceito

multi-mestre, onde todos os módulos podem se tornar

mestre em determinado momento e escravo em outro,

302

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 314: III WVC 2007

além de suas mensagens serem enviadas em regime

multicast, caracterizado pelo envio de toda e qualquer

mensagem para todos os módulos existentes na rede [17].

O protocolo CAN é bastante fundamentado, e foi

padronizado pela SAE (Society of Automotive Engineers)

e pela ISO (International Organization for

Standardization). Algumas características importantes

deste protocolo são:

• Uso de cabos do tipo par trançado no barramento de

comunicação de dados, o que propicia baixo custo e

reduzida complexidade de implementação física;

• Método de acesso ao barramento com priorização de

mensagens, evitando colisões e permitindo uma

resposta rápida à necessidade de transmissão;

• Possibilidade de configurações para operar com taxa

de transferência que pode variar de 1 Kbps até

1Mbps;

• Flexibilidade de configuração, permitindo-se

adicionar, remover ou alterar dispositivos da rede, o

que facilita operações de manutenção e alterações no

sistema;

• Recepção multicast com sincronização, ou seja,

vários nós podem receber a mesma mensagem, ao

mesmo tempo;

• Redes bastante robustas, devido às várias técnicas

para manter consistência de dados e para detecção e

sinalização de erros;

• Método de tolerância a falhas, sendo capaz de

distinguir entre erros temporários e permanente dos

nós, inclusive possibilita fazer o desligamento

automático de nós com problema;

• Dados com tamanho otimizado por quadro,

permitindo a transmissão de dados comuns a

dispositivos de sistemas de controle, com tempo

curto de ociosidade para cada dispositivo.

Devido a confiabilidade e robustez apresentada, o

protocolo CAN expandiu-se rapidamente para diversas

áreas, entre elas a agrícola, a industrial e a de sistemas de

controle.

Na área agrícola, existem diversas normas que foram

embasadas no protocolo CAN, surgindo protocolos que

têm sido implementados e utilizados nesta área na

automação de veículos agrícolas e de sistemas de controle

de cultivo [16; 17; 18].

Marques et al. [19] apresenta um sistema embarcado

com uso de rede CAN em um veículo móvel capaz de

tomar decisões em tempo real para desviar de obstáculos

surgidos no ambiente.

Um robô móvel para uso em ambientes internos de

pequeno porte, mas que pode atingir uma velocidade de 4

m/s é mostrado por Lingemann et al. [20]. Os autores

propuseram algoritmos de controle para que este robô

atingisse esta velocidade com segurança em ambientes

dinâmicos, utilizando um sistema de controle distribuído

sobre um barramento CAN.

3. Estratégia de Controle

Os objetivos do presente trabalho contemplam a

implementação de um Barramento CAN para controle da

movimentação do robô móvel do LACE, bem como para

o reconhecimento de marcos de localização, em conjunto

com um Sistema de Visão Omnidirecional, embarcados

no mesmo. O projeto envolve a implementação dos nós

CAN individuais, com a definição das funções

desempenhadas por cada um na hierarquia de controle

definida, além de uma estratégia para a troca de

mensagens entre tais nós, utilizando o barramento CAN

como meio de comunicação.

A rede apresenta a utilização de duas janelas distintas

de tempo dentro de cada segundo, sendo que em 85% do

tempo os nós estarão executando as funções de controle,

como direção, sensoriamento e velocidade e nos 15%

restantes, os nós da rede trabalham para efetuar o

reconhecimento do marco. Estas janelas de tempo estão

esquematizadas na Figura 2.

Figura 2 - Janelas de tempo de funcionalidade dos nósda rede

O robô é equipado com Módulos de Acionamento e

Controle/Sensoriamento, além de um Sistema de

Navegação baseado em Visão Ominidirecional, como

mostrado na Figura 3.

Figura 3 - Sistema de Visão Omnidirecional do RobôMóvel do LACE

1 segundo

Janela deControle

Janela de Processamento(reconhecimento de marco)

303

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 315: III WVC 2007

Como visto na Figura 3, o robô móvel do LACE

possui um Módulo de Visão Omnidirecional, trabalhando

em conjunto com um Módulo de Planejamento e

Definição de Rotas e um Módulo de Controle Fuzzy, os

quais atuam sobre uma camada de acionamento e controle

(Módulos de Acionamento e Controle Microprocessados)

proporcionando uma estrutura para sua movimentação

controlada.

Baseado neste cenário, contempla-se a seguinte

estratégia de controle via Rede de comunicação de dados:

Para a implementação do sistema de controle do robô,

utilizando o Barramento CAN, os nós da rede apresentam

características específicas, baseadas nas funções que

deverão desempenhar: Nó Controlador de Velocidade de

Motores DC; Nó Controlador de Posição Angular das

rodas de direção; Dois Nós de Aquisição de Dados de

Sensores (de Infravermelho e de Ultra-som); Nó de

Interface que realiza o reconhecimento dos marcos e Nó

Gerenciador de Comunicação.

O chassi do robô móvel é composto por rodas de

tração e de direção, com controles independentes. Sua

velocidade máxima é de 30cm/s. O robô também está

equipado com sensores de ultra-som para a medida de

distâncias e sensores ópticos reflexivos tipo barreira, para

a detecção de obstáculos.

O robô possui um Computador de Bordo (PC Pentium

III, com Sistema Operacional LINUX). Os Módulos de

Visão Omnidirecional, Fuzzy e de Geração de Rotas estão

implementados neste computador.

Pode-se ver uma imagem coletada pelo sistema de

visão na Figura 4. Esta imagem é binarizada pelo sistema

e uma parte dela, onde pode existir um marco de

localização, é enviada para a rede de barramento para a

identificação deste marco.

Figura 4 - Imagem do sistema de visão omnidirecional

No Barramento CAN, um comando recebido via porta

serial é derivado em mensagens CAN endereçadas aos

nós correspondentes para que realizem as funções de

controle necessárias para o deslocamento controlado do

robô, bem como para a identificação de marcos de

localização.

3.1. Algoritmos de Controle

Distribuídos nos nós da rede de modo a aproveitar o

processamento de todos os controladores de maneira

homogênea, os algoritmos implementados envolvem:

• um algoritmo para o controle de Velocidade dos

Motores DC presentes no chassi (motores de tração),

baseado em PWM (Pulse Width Modulation);

• um algoritmo para o controle de Posição, em malha

fechada, das rodas de direção do veículo, baseado na

leitura de um sensor de posição e utilizando uma

estratégia de controle PID;

• um algoritmo para a leitura dos sensores presentes

no robô e tratamento das informações lidas;

• algoritmos necessários para a implementação das

funções do Módulo Gerenciador de Comunicação;

• algoritmos para a Navegação do Robô, baseado na

composição dos algoritmos anteriores e em

comandos recebidos via PC, envolvendo diversas

formas de operação (robô autônomo, robô

teleoperado e AGV);

• algoritmos para o cálculo de Invariantes para o

reconhecimento de marcos;

• um algoritmo para o reconhecimento de marcos,

através dos valores dos Invariantes calculados por

outros nós.

Com o uso dos Nós CAN e de seus respectivos

algoritmos, implementa-se a operação do robô, de forma

integrada, de maneira a possibilitar sua operação como

robô autônomo (percorre o ambiente evitando obstáculos

até receber um comando de parada), robô teleoperado

(responde a comandos de um operador remoto, cuidando

para manter sua integridade e a do ambiente onde se

locomove) ou como um AGV (recebe uma posição meta

como entrada e a busca de forma autônoma, parando

somente ao alcançá-la).

Este modelo para o controle do robô móvel contempla

uma arquitetura híbrida que possui um nó da rede como

dispositivo controlador e há a possibilidade dos demais

nós se comunicarem entre si quando necessário, além de

trabalharem paralelamente com o objetivo de identificar

marcos de localização.

Destaca-se na Figura 5 o diagrama de blocos

representando a comunicação da rede no intervalo de

tempo dedicado ao processamento para identificação de

um marco de localização.

Ainda na Figura 5, é visto que o nó da rede

responsável pela comunicação com o sistema

implementado no PC, embarcado no robô móvel, recebe a

imagem através de uma porta serial. São realizados então

os seguintes passos:

Passo 1: O nó Mestre particiona a imagem em

conjuntos de até 8 bytes e os envia em mensagens que são

recebidas em regime multicast por três nós da rede,

responsáveis pelo cálculo dos invariantes 1, 5 e 6.

Passos 2, 3 e 4: São realizados de maneira paralela.

Os nós A, B e C encontram os valores dos invariantes 1, 5

e 6, respectivamente, e os enviam ao nó responsável por

determinar o marco.

Passo 5: O nó D compara os valores dos invariantes

recebidos com os valores que possui armazenados e

identifica a figura representativa do marco de localização,

304

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 316: III WVC 2007

enviando o resultado encontrado ao nó Mestre que o

repassa ao sistema de navegação do PC.

Figura 5 - Funcionamento da Rede CAN duranteintervalo de processamento

A comunicação entre a rede CAN e o PC é feita

através de funções contidas em uma biblioteca para a

linguagem C, gerada para facilitar a comunicação entre os

sistemas envolvidos. Entre as funções contidas nesta

biblioteca, incluem-se a de diminuir o tamanho da

imagem binarizada, representando os valores dos pixels

da imagem por bits, e a de retornar ao sistema de

navegação o marco identificado pela rede de barramento.

O sistema de navegação comunica-se com o sistema de

controle fazendo uso desta biblioteca, chamando suas

funções de controle e recebendo as informações de estado

do robô e sobre os marcos localizados.

4. Resultados e conclusão

Foram feitas várias simulações com alguns tamanhos

de imagens, para verificar a viabilidade do método

aplicado neste trabalho. Para as simulações da rede CAN

utilizou-se uma ferramenta desenvolvida por Godoy, que

é detalhada e validada pelo autor em [21].

Na Tabela 1 mostra-se o tempo gasto com a troca de

mensagens no barramento, considerando a identificação

de um marco em uma imagem de 256 pixels (16x16), que

foi particionada em quatro mensagens. É possível

verificar o tempo de cada mensagem que circula pela rede

durante todo o processo de reconhecimento.

Simulou-se também para imagens quadradas com 64,

100 e 400 pixels, obtendo como variação de tempo da

rede de 9,7 a 13,2ms, de 13,56 a 18,14ms e de 45,38 a

53,78ms, respectivamente.

Preferiu-se trabalhar com imagens de 256 pixels, por

atender às necessidades do sistema, tanto para uma boa

identificação do marco, como para a viabilidade temporal

para a execução desta tarefa pela rede, dentro dos limites

de tempo especificados na definição da estratégia de

controle.

Tabela 1 - Tempos de troca de mensagensNúmero daMensagem– conteúdo

Tamanhodos dados

(bit)

Tempo daMensagem

(ms)

Mensagemcom atraso

(ms)1 – Imagem 64 1,38 2,142 – Imagem 64 2,02 2,783 – Imagem 64 2,66 3,424 – Imagem 64 3,1 3,865 – I1 24 3,54 4,36 – I5 24 3,98 4,747 – I6 24 4,34 5,18 – Marco 8 4,34 5,1

Tempo Total (ms) 25,36 31,47

Os tempos obtidos mostram a viabilidade deste

trabalho e do uso de um sistema de tempo compartilhado

para a execução de tarefas que auxiliam na navegação do

robô, aproveitando o tempo disponível dos nós da rede

para os cálculos necessários para efetuar a identificação

dos marcos. A janela de tempo reservada para a

realização de cálculos (cerca de 150ms por segundo) pode

ser ainda utilizada para outros fins, visto que o

reconhecimento de marcos em uma imagem binarizada é

feito num tempo inferior a este.

5. Referências Bibliográficas

[1] A.H.P. Selvatici, “AAREACT: Uma Arquitetura

Comportamental Adaptativa para Robôs Móveis que

Integra Visão, Sonares e Odometria”, Dissertação

(Mestrado em Engenharia Elétrica) – Escola Politécnica

da Universidade de São Paulo. Departamento de

Engenharia de Computação e Sistemas Digitais, São

Paulo, SP, 2005.

[2] F.J. Heinen, “Sistema de Controle Híbrido para Robôs

Móveis Autônomos”, Dissertação (Mestrado) –

Universidade do Vale do Rio dos Sinos, Centro de

Ciências Exatas e Tecnológicas, São Leopoldo, RS, 2002.

[3] G.A.N. Ferreira, “Desenvolvimento de uma

arquitetura de controle baseada em objetos para um robô

móvel aquático”, Dissertação (Mestrado em Engenharia)

— Escola Politécnica da Universidade de São Paulo, São

Paulo, SP, 2003.

[4] S. Vasudevan, S. Gächter, V. Nguyen, R. Siegwart,

"Cognitive maps for mobile robots—an object based

NóA

NóB

NóC

NóD

NóMestre

Imagem (1)

Id_Marco (5)

Id_Marco(5)

Imagem (1)

Imagem (1)

Imagem (1)

I1 (2)

I5 (3)

I6 (4)I1 (2), I5 (3),

I6 (4)

PC Embarcado

Imagem Id_Marco

BarramentoCAN

305

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 317: III WVC 2007

approach", Robotics and Autonomous Systems, vol. 55,

2007.

[5] I. Rekleitisa, D. Megerb, G. Dudekb, "Simultaneous

planning, localization, and mapping in a camera sensor

network", Robotics and Autonomous Systems, vol. 54,

2006.

[6] S.Y. Choi, J.M. Lee, "Applications of moving

windows technique to autonomous vehicle navigation",

Image and Vision Computing, vol. 24, 2006.

[7] S. Marsland, U. Nehmzow, T. Duckett, “Learning to

select distinctive landmarks for mobile robot navigation”,

Robotics and Autonomous Systems, vol. 37, 2001.

[8] A. Arsênio, M. I. Ribeiro, “Absolute localization of

mobile robots using natural landmarks”, IEEE

International Conference on Eletronics, Circuits and

Systems, vol. 2, 1998.

[9] M. Betke, L. Gurvits, “Mobile Robot Lcalization

Using Landmarks”, IEEE Transactions on Robotics and

Automation, vol. 13, 1997.

[10] S. Se, D. Lowe, J. Little, “Mobile Robot Localization

and Mapping with Uncertainty using Scale-Invariant

Visual Landmarks”, The International Journal of

Robotics Research, vol. 21, 2002.

[11] J. Flusser, T. Suk, “Pattern recognition by affine

moment invariants”, Pattern Recognitions, vol. 26, 1993.

[12] J. Flusser, T. Suk, “A moment-based approach to

registration of images with affine geometric distortion”,

IEEE Transactions on Geoscience and Remote sensing,

vol. 32, 1994.

[13] J. Flusser, T. Suk, “Affine moment invariants: A new

tool for character recognition”, Pattern Recognition

Letters, vol. 15, 1994

[14] B. Zitová, J. Flusser, “Landmark recognition using

invariant features”, Pattern Recognition Letters, vol. 20,

1999.

[15] R. Bosch, “CAN Specification – Version 2.0. Robert

Bosch GmbH” - Systems und Products for Car

Manufacturer, 1991.

[16] R.V. Souza, “CAN (Controller Area Network): uma

abordagem para automação e controle na área agrícola”.

Dissertação (Mestrado em Engenharia Mecânica) –

Escola de Engenharia de São Carlos, Universidade de São

Paulo, São Carlos, SP, 2002.

[17] G. Craessaerts, K. Maertens, J. De Baerdemaeker, “A

Windows- based design environment for combine

automation via CANbus”, Computers and Electronics in

Agriculture, 2005.

[18] A. Suvinen, M. Saarilahti, “Measuring the mobility

parameters of forwarders using GPS and CAN bus

techniques”, Journal of Terramechanics, 2006.

[19] R.S. Marques, N. Navet, F. Simonot-Lion,

“Configuration of in-vehicle embedded systems under

real-time constraints”, IEEE International Conference on

Emerging Technologies and Factory Automation, 2005.

[20] K. Lingemann, A. Nüchter, J. Hertzberg, H.

Surmann, “About the control of high speed mobile indoor

robots”, Second european conference on mobile robotics,

2005.

[21] E.P. Godoy, "Desenvolvimento de uma Ferramenta

de Análise de Desempenho de Redes CAN (Controller

Area Network) para Aplicações em Sistemas Agrícolas".

Dissertação (Mestrado em Engenharia) – Escola de

Engenharia de São Carlos, Universidade de São Paulo,

São Carlos, SP, 2007.

306

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 318: III WVC 2007

Sistema de Análise e Armazenamento de Imagens utilizando Esfregaços deSangue

Arantes, A.G.; Oliveira, R.F., Ushizima, D. M.

Centro de Ciências Exatas e Tecnológicas - Universidade Católica de Santos

Santos, São Paulo, Brasil

[email protected], [email protected], [email protected]

Abstract

This article describes the new image storage and

analysis system (SAAI), which allows centralizing

patient information related to exams and other

clinical data. The advantages of the proposed system

is to digitize medical information, organize them and

to offer some basic image processing tools to deal

with blood images, so that the doctor is able to

evaluate the blood smear if it is necessary. The

project has been guided by software engineer

techniques as UML, providing important insights for

reformulating the system to a broad range of

applications related to digital images.

1. Introdução

A análise citológica em esfregaços de sangue

vigente no Brasil é feita por humanos usando

imagens observadas diretamente ao microscópio, um

trabalho repetitivo e minucioso que requer muito

tempo do profissional [1]. As lâminas estão

suscetíveis à descoloração além de serem frágeis.

Para acompanhar as lâminas, são gerados diversos

relatórios em papel que correm o risco de serem

segregados acidentalmente das lâminas, gerando

erros e desentendimentos.

Digitalizar imagens e relatórios é uma tendência

em todos os hospitais do mundo, assim se pretende

organizar e centralizar um conjunto de informações a

respeito de um paciente em banco de dados. O

sistema também procura viabilizar rotinas simples,

porém muito úteis para melhoramento de imagens

digitais para facilitar a visualização durante análises

citológicas.

2. SAAI

O Sistema de Análise e Armazenamento de

Imagens (SAAI) é um sistema de cadastro de exames

que armazena dados clínicos e pessoais sobre os

pacientes, e principalmente as imagens das lâminas

de sangue capturadas por uma câmera digital

acoplada a um microscópio.

Esse software tem como objetivo principal

oferecer aos usuários, mais precisamente aos

médicos, funcionalidades para o tratamento de

imagens digitais para uma melhor visualização e um

melhor diagnóstico através de ferramentas de realce

da imagem, com acesso a dados clínicos e análises

laboratoriais registradas no sistema previamente.

Além da possibilidade de cadastro em banco de

dados, também serão permitidas a visualização, a

alteração e a exclusão de informações.

É importante enfatizar que as lâminas de sangue

são digitalizadas automaticamente através de um

aparato microscópio-câmera, não controlados pelo

sistema em questão. As imagens digitalizadas são

provenientes de uma ou mais lâminas e são

disponibilizadas sem qualquer pré-classificação.

3. Modelagem do Protótipo

Para elaborar o protótipo do SAAI, foi necessário

realizar levantamento de requisitos para entender o

problema e propor uma solução. Decidiu-se pela

modelagem do sistema utilizando a linguagem UML,

a qual é permeada por diagramas, que oferecem uma

maneira rápida e precisa para acessar as informações

do modelo proposto.

Optou-se por UML (Linguagem de Modelagem

Unificada), pois se trata de um padrão para a

modelagem de sistemas orientados a objeto [2],

oferecendo: amplo conhecimento do domínio do

sistema; interação com o problema; alto grau de

abstração; auxílio na implementação; visualização de

erros antecipadamente; redução de riscos;

documentação do sistema como um todo.

O sistema proposto foi modelado a partir dos

seguintes diagramas:

307

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 319: III WVC 2007

o Diagrama de Caso de Uso: fornece um grau de

abstração que permite a visualização estática do

sistema e suas funcionalidades (Fig.1).

Para modelar o diagrama de caso de uso, algumas

das características básicas de cada um dos usuários

foram definidas:

usuário-atendente: preenchimento de dados

clínicos (citômetro de fluxo e histórico do

paciente), carregamento das imagens

digitalizadas a partir das lâminas de sangue de

um paciente, ou seja, indicação do sítio das

imagens nos registros do paciente.

usuário-administrador: terá acesso total as

funcionalidades e informações do sistema, será

responsável por cadastrar usuários e classificar o

nível de acesso, além de realizar a calibração do

software em função de parâmetros específicos

dados pelo(s) microscópio(s) utilizado(s) para

aquisição de imagens, como iluminação e

magnificação.

usuário-médico: acesso aos dados clínicos e

imagens digitalizadas, podendo solicitar pré-

classificação de células para auxílio no

diagnóstico de doenças.

Figura 1. Diagrama de Caso de Uso do SAAI: três tipos de usuários com acessos diferentes à base de dados e serviços.

o Diagrama de Classes: permite a visualização

dos atributos (representação de propriedades

que todos os objetos de uma classe têm),

métodos (ações que os objetos de uma classe

podem realizar) e uma visão mais abstrata de

como o conjunto de classes que compõem o

projeto se relacionam (Fig.2).

Nesse diagrama, temos a classe Usuário e três

subclasses: Administrador, Atendente e Médico,

onde em cada um possui características ou ações que

distinguem cada tipo de usuário. A classe Exame é

composta por quatro classes: Paciente, Hemograma,

Imagem, Laboratório, e Médico Requisitante.

308

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 320: III WVC 2007

Figura 2. Diagrama de Classe do SAAI: digitalização de exames e acesso remoto a informações microscópicas.

E a partir dos requisitos levantados, obteve-se o

modelo de entidade e relacionamento, o qual será

utilizado na implementação do software, pois permite

a visualização de todas as tabelas e atributos

necessários para a criação do banco de dados (Fig.

3).

A tabela Exame, que será a principal entidade,

onde vinculará os dados obtidos de um hemograma

com as imagens que pertencem à mesma amostra

colhida de um paciente, assim formará um histórico

de todas as informações clínicas de um determinado

paciente.

A tabela Hemograma armazenará as informações

colhidas de um exame de sangue.

A tabela Imagem armazenará as imagens

originais, e a tabela Imagem Processada armazenará

as imagens resultantes de um processamento em

309

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 321: III WVC 2007

diretórios previamente configurados pelo usuário-

administrador do sistema.

Na tabela Paciente serão armazenados dados

pessoais e clínicos.

Nas tabelas Convênio, Laboratório e Usuário

serão cadastrados os dados referentes às respectivas

entidades e poderão ter seus dados adicionados,

atualizados ou removidos somente pelo usuário-

administrador.

Figura 3. Modelo de Entidade e Relacionamento: organização de dados textuais e visuais.

4. Resultados Obtidos

Prosseguiu-se com a modelagem seguindo as

diretivas da linguagem UML e conclui-se o banco de

dados, que pode ser visualizado na Figura 3. Quanto

às rotinas de processamento de imagem, foi

elaborado protótipo funcional em Matlab, versão 7.0

antes da implementação em Delphi, utilizando

sistema operacional Windows XP com processador

Pentium IV.

Testes foram realizados comparando os resultados

dos algoritmos implementados com os resultados

obtidos a partir de funções da biblioteca do Matlab.

As rotinas de processamento de imagem [3]

implementadas foram:

Histograma;

Amostragem;

Quantização;

Filtros de suavização: gaussiana;

Aumento de contraste: Sobel;

310

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 322: III WVC 2007

Figura 4. Imagem de esfregaço de sangue contendo uma célula maligna de leucemia linfóide crônica.

A partir da Figura 4.a, obteve-se o histograma

(Fig. 4.c), que é a representação gráfica da

distribuição de freqüências de níveis de cinza

contidas na imagem (função imhist no Matlab).

A Figura 5.a mostra o resultado da amostragem a

partir da imagem da Fig. 4.b, processo que será

usado amplamente na apresentação de imagens

miniaturas (thumbnails) para visualização rápida do

conjunto de imagens disponíveis. No processo de

amostragem ilustrado, houve a redução do número de

pixels de 400×400 da Fig.4.b) para 25×25,

diminuindo o tamanho da imagem (a imagem abaixo

foi mantida no tamanho original para mostrar a

degradação sofrida após o processamento). Na

Fig.5.b, mostra-se a versão quantizada da imagem

em Fig.4.b, onde houve redução do número total de

níveis de cinza da imagem, 256 bits para 4 bits.

Figura 5. Processamentos sobre a imagem para viabilização mais rápida das imagens em interface com usuário.

Na fig. 6.a, temos o resultado da suavização (filtro

passa-baixa) com a finalidade de atenuar possíveis

ruídos introduzidos durante a captação da imagem

bem como variações abruptas inerentes da própria

imagem. E por último, a Figura 6.b, apresenta

imagem com realce das bordas da imagem utilizando

o método de Sobel – essa imagem pode ser

combinada com a imagem original em níveis de

cinza, compondo uma imagem semelhante, porém

com bordas realçadas.

a) Imagem Original b) Imagem em nível de cinza c) Histograma da imagem em b)

a) Imagem amostrada b) Imagem quantizada

311

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 323: III WVC 2007

Figura 6. Processamentos sobre a imagem para melhorar aspecto visual.

5. Conclusão

A tecnologia computacional digital está

conquistando um espaço cada vez maior. A demanda

por ferramentas com aplicação em tratamento de

imagens digitais ocorre nas mais diversas áreas

como: medicina, robótica, meteorologia, entre outras.

E com base nessas informações resolvemos elaborar

um sistema que cadastre informações de um

determinado exame de sangue, a imagem da lâmina

utilizada para a geração do hemograma e que realize

os processamentos fundamentais nas imagens

digitais melhorando seu aspecto visual para que seja

possível o reconhecimento das células pelo humano.

Foram estudados e implementados algoritmos de

processamento de imagem, bem como modelado o

sistema SAAI que centralizará o controle dos dados

clínicos textuais e visuais de um paciente. Os

desenvolvimentos futuros serão em direção a

implementação do software em Delphi e testes com

banco de dados em clínicas médicas.

6. Referencias Bibliográficas

[1] USHIZIMA, Daniela Mayumi. “Diagnóstico de

Leucemia Linfóide Auxiliado por Computador”,

Dissertação (Doutorado em Ciências) - Instituto de

Física de São Carlos, Universidade de São Paulo. São

Carlos, 2004.

[2] FILGUEIRA, João Maria; COSTA, Welbson

Siqueira. A Importância de utilizar UML para

modelar sistemas: Estudo de Caso, CEFET-RN, Rio

Grande do Norte, 2002.

[3] Costa, L da F, César Jr, R M, Shape Analysis And

Classification, CRC Press, 2000.

a) Imagem suavizada b) Imagem de bordas

312

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 324: III WVC 2007

Método Não Invasivo para Avaliação do Ângulo de Inclinação do Anodo de Aparelhos Radiológicos

Paulo Domingues de Oliveira Junior, Marcelo Andrade da Costa Vieira, Homero Schiabel

Escola de Engenharia de São Carlos - Departamento de Engenharia Elétrica - EESC/USP Av.

Trabalhador Sãocarlense, 400, Centro, São Carlos, SP - 13566-590 - (16) 3373-9366 (r.222)

[email protected]

Abstract

There are several parameters related to the

radiographic equipment that must be evaluated to

guarantee the efficiency of a radiological examination.

Most of them are directly related to the quality of the

radiographic image. The anode angle of an x-ray tube

is an important parameter that must be evaluated as it

is associated to the focal spot size, heel effect and

anode heat dissipation, and can determine the useful

life of the x-ray tube. However, it is very difficult to be

measured experimentally and rarely is provided by the

manufacturer. Thus, this work presents a computational

technique for automatic determination of the anode

angle of any radiographic equipment using a non-

invasive method. First, it was built a pinhole matrix

made by lead, which contains 33 radial 50µm diameter

holes. This pinhole matrix is used to obtain a

radiographic image of focal spot projections along the

radiation field. The computer algorithm calculates the

point spread function of each focal spot projection as

well as the distance between them. Thus, anode angle

can be determined automatically by using the field

characteristic equations, as the geometric unsharpness

at any arbitrary field position can be derived from

those at the central beam position. Results showed good

accuracy compared to nominal values and also a

methodology was developed to validate the

computational algorithm. Determination of anode

angle of any radiographic equipment (including

mammographic ones) which great precision can be

easily done by using the method proposed in this work.

1. Introdução

Desde sua descoberta por Wilhelm Conrad

Röentgen, os raios X vêm sendo largamente utilizados

em várias áreas com inúmeras finalidades. Entretanto,

foi no âmbito da medicina que eles proporcionaram a

maior revolução. Por ser um meio de diagnóstico não

invasivo e ainda, no contexto terapêutico, por contribuir

para cura de doenças, os raios X tiveram grandes

avanços tecnológicos, os quais permitiram o surgimento

de equipamentos sofisticados e de fácil interação. Por

outro lado, os efeitos biológicos associados às radiações

ionizantes são muitos, e dependendo da dose recebida,

pode ocasionar a morte do individuo [1]. No cenário

brasileiro, a Portaria Federal nº 453, de 1 de junho de

1998, aprova o regulamento técnico que estabelece as

diretrizes básicas de proteção radiológica em

radiodiagnóstico médico e odontológico, e dispõe sobre

o uso dos raios X diagnósticos em todo território

nacional. Essa norma apresenta um conjunto de

procedimentos que permitem avaliar e identificar entre

todo o serviço de radiodiagnóstico, qual o processo

produtivo que está degradando a qualidade da imagem

registrada, que deverá ser posteriormente analisada por

um profissional competente da área [2].

Existem várias parâmetros importantes que devem

ser levados em consideração em um exame de

radiodiagnóstico. Muitos destes fatores estão

compreendidos nas normas técnicas, que avaliam não

só a segurança radiológica que o aparelho fornece ao

paciente, mas também a qualidade da imagem formada

pelo mesmo [3]. Um parâmetro importante que não está

compreendido nas normas técnicas mas, entretanto, tem

influência direta sobre vários aspectos do processo de

formação da imagem é o ângulo de inclinação do anodo

[4]. No tubo de raios X, o anodo é ligeiramente

inclinado para aumentar a área bombardeada pelo feixe

de elétrons no alvo e, dessa forma, evitar um

superaquecimento do local. Além disso, essa inclinação

permite que o tamanho do ponto focal projetado no

plano-imagem seja menor do que o tamanho efetivo do

foco. Com isso, aumenta-se a nitidez da imagem sem

comprometer o equipamento [5-7]. Contudo, existe um

limite prático para essa inclinação. Estudos demonstram

que ângulos menores que 12º podem limitar

excessivamente o tamanho do campo e, por

conseqüência aumentar a influência negativa do efeito

heel na qualidade da imagem [8]. Portanto, o ângulo de

inclinação do anodo deve ser considerado uma

característica importante do tubo de raios X e,

associado com outros parâmetros do aparelho, pode-se

obter informações relevantes sobre o funcionamento do

mesmo. Entretanto, essa informação nem sempre é

fornecida pelo fabricante do aparelho. Além disso, sua

medida experimental é muito complicada, pois o tubo é

lacrado no interior do equipamento radiográfico [4].

Dessa forma, o presente trabalho tem por objetivo

apresentar uma nova metodologia que permitirá a

medida precisa do ângulo de inclinação do anodo de

aparelhos de raios X convencionais e mamográficos,

sem que haja a necessidade de procedimentos invasivos

ao tubo. A metodologia utilizada baseia-se na extração

de um conjunto de parâmetros das imagens de

313

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 325: III WVC 2007

projeções do ponto focal obtidas com uma matriz de

orifício, onde se pode verificar o fenômeno de

característica de campo. Assim, utilizando-se as

equações propostas por Doi em 1977 [9], pode-se com

baixo índice de erro aferir o ângulo de inclinação do

anodo.

2. Metodologia

Os experimentos computacionais foram realizados

em dois aparelhos de raios X diagnósticos e um

mamógrafo. As especificações dos aparelhos podem ser

visualizadas na tabela 1 a seguir.

Tabela 1 - Especificações técnicas e medidas nominais dos aparelhos utilizados nos experimentos

Caract. Eq 1 Eq 2 Eq 3

Marca Philips GE GE

ModeloRotalixSRO25/50

MX 100 GCR Senographe

500t

Aplicação Radiodiag. Radiodiag. Mamog.

Foco fino 0,6 mm 0,6 mm 0,3 mm

Foco grosso 1,2 mm 1,2 mm 0,6 mm

Material do alvo

(W) (W) (Mo)

Ângulo do Anodo

16º 12º 7º

Para confecção das imagens foi utilizada uma matriz

de orifício (Figura 1a), que é constituída de uma folha

de chumbo com 1,0 mm de espessura. Um sistema de

marcação a laser, cujo intuito principal é cortar laminas

de aço, foi adaptado para que fizesse furos com 50 m

de diâmetro na folha de chumbo. Esse sistema consiste

em um aparelho laser de diodo (775nm) acoplado a um

amplificador pulsado (CPA-2001, Clark-MXR Inc.,

USA) operando a 1,0 kHz [10, 11] Utilizou-se de uma

configuração geométrica apropriada, a qual permitiu-se

controlar com precisão desejável a espessura do feixe e,

portanto, o tamanho dos furos. Pode-se através dessa

matriz verificar o tamanho e forma do ponto focal em

diferentes áreas do campo de radiação, como é

demonstrado na Figura 1b.

Figura 1 – a) imagem da matriz de orifício desenvolvida para os testes de inclinação do anodo b) ilustração de uma imagem do fenômeno da característica de campo formada

utilizando a matriz.

Para garantir o alinhamento da matriz de orifício

com o feixe central de raios X, foi utilizado um objeto

simulador da Nuclear Associates (Cardinal Health,

Cleveland, EUA). Esse dispositivo é utilizado em

conjunto com um kit de avaliação do ponto focal

modelo Multipurpose Focal Spot/HVL Test Stand 07-

62. Esse dispositivo é composto de um cilindro de

acrílico que possui em seu interior 5 esferas de

tungstênio. Quatro dessas esferas são dispostas nas

extremidades do objeto formando um quadrado,

enquanto a esfera restante situa-se no centro.

Pode-se através de um objeto, onde a distância real

entre dois pontos é conhecida, calcular-se a

magnificação (M) que é dada pela razão entre a mesma

distância medida na imagem digital e a distância real

anteriormente aferida. Foi então realizada a medida da

distância do objeto ao filme e utilizando-se do resultado

obtido para magnificação, é possível obter com precisão

o valor da distância foco-filme por meio da equação 1.

1M

MDOFDFF (1)

a)

b)

314

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 326: III WVC 2007

Onde,

DFF é a distância foco-filme real

DOF é a distância objeto-filme

M é a magnificação.

A técnica selecionada para os aparelhos

convencionais consiste em 60kVp e 30mAs, utilizando

o foco fino do aparelho. Para o mamógrafo foi utilizada

a técnica de 30kVp e 120mAs. O sistema de registro é

composto de um chassi com material de baixo número

atômico, o que oferece a mínima atenuação dos feixes

incidentes. Não se utilizou écran, para evitar o

fenômeno de difusão da luz provocada pela sua

presença, proporcionando assim medidas mais precisas.

Sabe-se que o filme radiológico é mais sensível à luz

que a radiação, dessa forma, o filme utilizado em todos

os experimentos foi mamográfico, pois possui maior

sensibilidade a exposição à radiação. As imagens

registradas em filmes foram, em seguida, digitalizadas

em um digitalizador a laser Lumiscan 50 o qual possui

resolução de 1140 x 1520 pixels. Sua resolução espacial

é muito próxima de 0,150mm e sua resolução de

contraste é de 12 bits. Em termos de densidade óptica

(DO) a faixa sensível varia de 0 a 3,6.

O método computacional desenvolvido consiste na

extração de parâmetros da imagem, os quais são

posteriormente convertidos em medidas de acordo com

a resolução espacial utilizada na digitalização. Para o

cálculo da inclinação as primeiras informações

necessárias são os tamanhos do ponto focal no centro

do campo e nas suas projeções (Figura 2a). Para isso,

faz-se o levantamento da Função de espalhamento de

linha (FEL) e utilizando o método da largura em meia

altura (FWHM) calcula-se o tamanho das projeções do

ponto focal no campo. O primeiro passo é encontrar à

proporção que a projeção do ponto focal aumenta, nas

diferentes áreas do campo de radiação, dada pela

constante k (Figura 2c).

Figura 2 – a) Esboço do fenômeno da característica de campo. b) e c) Esboço da proporção de aumento entre o

ponto focal no centro do campo e sua projeção. b) refere-se ao ponto focal no centro, enquanto c) é sua projeção em

algum lugar do campo de radiação

Pode-se calcular o valor da constante k a partir da

relação entre o tamanho do ponto focal no centro do

campo (figura 2b) e cada uma de suas projeções (figura

2c). Calcula-se então a distância entre o ponto focal no

centro do campo e suas projeções (dx). Isso pode ser

feito contando o número de pixels entre os pontos e

multiplicando pela constante dada pela resolução do

sistema de aquisição da imagem digital. Por fim,

calcula-se o ângulo de inclinação utilizando a equação 2

e os parâmetros adquiridos previamente.

(2)

Onde;

dx é a distância do ponto focal no centro do

campo até a sua projeção em questão

DFF é a distância foco-filme calculada pela

equação 1

k é a constante calculada pela relação do

tamanho do ponto focal no centro do campo e

suas projeções

é a inclinação do anodo calculada.

3. Resultados

A seguir são apresentados os resultados obtidos com

o aplicativo computacional desenvolvido. Foram

registradas três imagens para cada equipamento,

garantindo assim, um espaço amostral confiável para

avaliar a reprodutibilidade do sistema desenvolvido.

Com isso, calcula-se a média dos ângulos encontrados

para cada equipamento e seus respectivos desvios

padrão. Pelo fato do anodo ser de difícil acesso e seu

valor nominal possuir exatidão questionável, foi

b) c)

315

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 327: III WVC 2007

desenvolvido um método de validação para o sistema.

Esse método consiste em inclinar o próprio sistema de

registro das imagens em um ângulo conhecido. Dessa

forma, proporciona-se uma variação conhecida, e assim,

caso o sistema responda na proporção dessa variação,

os resultados serão confiáveis. Esse sistema pode ser

visualizado na figura 3.

Figura 3 - Ilustração do método de validação proposto para o sistema. Em (a) as imagens são registradas sem

inclinação, da mesma forma que os experimentos mostrados na tabela 2. Em (b) inclina-se o sistema de

registro em 10 graus simulando uma mudança conhecida no ângulo de inclinação do anodo.

Foram calculados os desvios médios percentuais

levando em consideração os valores médios obtidos

para cada equipamento, a variação entre os valores

médios e os obtidos para cada ângulo . Esses

resultados podem ser observados na tabela 2.

Analisando os resultados obtidos é possível notar que

os valores calculados para os desvios percentuais entre

os experimentos com e sem inclinação são muito

próximos dos resultados esperados, cuja maior erro

encontrada foi de 4.06%.

Tabela 2 - Inclinações medidas para cada equipamento nos testes de validação do método computacional

desenvolvidoÂngulomedido

( 0º)

Inclin.(10º)

Inclin.(15º)

Inclin.(20º)

DesvioMédio

(%)

Exp. 1 15.79° 9.56º 15.58º 19.44º 3,69%

Exp. 2 12,20° 10.38º 14.44º 20.39º 3,16%

Exp. 3 6,77° 9.43º 14.62º 19.21º 4,06%

4. Discussões e Conclusões

Um grande fator que influência no resultado do

sistema é o contraste conseguido nas imagens

adquiridas. Por esse motivo tomou-se certo cuidado no

processo de aquisição das imagens. Foram utilizados no

sistema de registro filmes e chassi mamográfico, que

juntamente com a técnica demonstraram-se ótimos

resultados, embora não foram utilizadas telas

intensificadoras, o que ocasionou a necessidade de

varias exposições até que o filme adquirisse o contraste

desejável. As informações obtidas das imagens tiveram

uma boa precisão. Isso ocorreu por dois motivos, o

baixo nível de ruído encontrado na imagem, que foi

proporcionado pelo método de aquisição adotado, e a

alta resolução que as imagens foram digitalizadas, com

cerca de 1200dpi.

A análise dos resultados obtidos revelou que o

aplicativo computacional se demonstrou eficiente,

proporcionando baixa estimativa de erros

fundamentados pelo método de validação utilizado.

Pode-se notar que a reprodução dos ângulos do anodo

ao se variar a inclinação do chassi foram muito

próximas das variações nominais utilizadas, obtendo

um desvio máximo de 4.06%. Através desse método de

validação foi possível perceber que os ângulos de

inclinação nominais dos aparelhos estavam coerentes

com os informados. Todavia, isso pode nem sempre

estar correto e disponível. Ao se adquirir um

equipamento, deve-se em primeira instância realizar os

testes de aceitação, verificando se o equipamento

analisado possui realmente os parâmetros especificados.

Por serem equipamentos frágeis, vários fatores podem

ser alterados a qualquer hora, seja pelo próprio desgaste

levado por sua utilização ou mesmo no transporte até

seu destino final. Sendo assim, esses equipamentos

estão sujeitos a alterações que podem prejudicar a

qualidade da imagem formada, já que o ângulo de

inclinação do anodo tem influência direta sobre o

tamanho do ponto focal, efeito heel e também na vida

útil do tubo. Dessa forma através de um considerável

316

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 328: III WVC 2007

número de testes juntamente com a análise dos

resultados obtidos pode-se concluir que o aplicativo

desenvolvido é funcional e realiza medidas coerentes,

portanto, sua utilização pode repercutir medidas

precisas da inclinação do anodo, proporcionando

cálculos mais precisos para equações que necessitam

desse parâmetro como parâmetro de informação.

5. Agradecimentos

Os autores gostariam de agradecer a FAPESP

(Fundação de Amparo à Pesquisa do Estado de São

Paulo) pelo apoio financeiro.

6. Referências

[1] OKUNO, E., CALDAS, I. L. e CHOW, C., Física

para ciências biológicas e biomédicas. Ed. Harbra

(1982).

[2] BRASIL (1998). Portaria nº453: Diretrizes de

proteção radiológica em radiodiagnóstico médico e

odontológico. Secretaria de Vigilância Sanitária,

Ministério da Saúde. Brasília.

[3] MEDEIROS, R.B.; ALVES, F.F.R.; FERREIRA,

A.H.P.G. et al., (2000). How the Quality Control

Program Can Help the Clinical Detectability of findings

in Mammograms. In: World Congress on Medican

Physics and Biomedical Engineering, Chicago. USA.

[4] STUMBO, S.; BOTTIGLI, U.; GOLOSIO, B.;

OLIVA, P. TANGARO. S.; (2004) Direct analysis of

molybdenum target generated x-ray spectra with a

portable device. Medical Physics, v.31, n.10, p. 2763-

2770.

[5] CHRISTENSEN, E.E., CURRY, T.S., (1978) III

and Dowley, J.E., An Introduction to the Physics of

Diagnostic Radiology, Lea and Febiger, Philadelphia.

[6] HENDEE, W.R., CHANEY, E.L. AND ROSSI,

R.P., (1997) Radiologic Physics, Equipament and

Quality Control, Yer book Medical Publishers,

Chicago.

[7] MEREDITH, W.J., MASSEY, J.B., (1977)

Fundamental Physics of Radiology, John Wright and

Sons, Bristol.

[8] FRITZ, S.L.; LIVINGSTON, W.H. (1985). The

effect of anode curvature on radiographic heel effect.

Medical Physics, v.12, n.4, p.443-446.

[9] DOI, K. (1977). Field characteristics of geometric

unsharpness due to X-ray tube focal spot. Medical

Physics, v.4, n.1, p.15-20.

[10] LERNER, E. J. (1999) “Laser marking systems

strive for color and speed, Laser Focus World 35,

p.123.

[11] CRAIG, B. (1998) Ultrafast pulses promise better

processing of fine structures, Laser Focus World 34,

p.79.

317

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 329: III WVC 2007

Comparacao de Descritores de Formas no Reconhecimento de Objetos

Jonathan de Andrade Silva, Wesley Nunes Goncalves, Bruno Brandoli Machado,Hemerson Pistori, Albert Schiaveto de SouzaUCDB - Universidade Catolica Dom Bosco

Grupo de Pesquisa em Engenharia e ComputacaoAv. Tamandare, 6000, Jardim Seminario, 79117-900, Campo Grande, MS, Brasil

jsilva, wnunes, [email protected], pistori,[email protected]

Resumo

Os descritores de formas sao amplamente utilizadospara descrever ou representar objetos em imagens. Nestetrabalho e realizado um estudo comparativo entre os descri-tores de formas baseados em contorno e regiao. Na aborda-gem por contorno, foram avaliadas as cadeias de codigos,k-curvatura e descritores de Fourier, e na abordagem porregiao utilizou-se momentos de imagem. A classificacao ebaseada pela extracao de caracterısticas das formas. Estesdescritores foram aplicados ao problema de identificacaodo comportamento de camundongos. A avaliacao foi reali-zada atraves da variacao dos parametros de cada tecnicae na acuracia dos classificadores, alcancando 92.6% deacerto a tecnica momentos de imagem.

1. Introducao

O reconhecimento de padroes e um processo para to-mada de decisao com o objetivo de classificar os objetos emum numero de categorias ou classes. A capacidade de re-conhecer padroes em uma imagem depende muito da quan-tidade de informacoes que se conhece de cada objeto [8].Com isso, extrair caracterısticas para descrever e represen-tar os objetos e uma etapa fundamental em qualquer pro-cesso de reconhecimento de objetos. Ha diferentes metodospara extrair informacoes de objetos em imagens, como osdescritores de formas, que utilizam o contorno ou a regiaodo objeto como atributo principal.

Um importante problema que vem sendo estudado pordiversos grupos de pesquisa em visao computacional e acapacidade de reconhecer atraves de imagens os compor-tamentos de animais em experimentos na area da saude.A observacao dos comportamentos dos animais e impor-tante para descobrir informacoes relacionadas, como a tra-jetoria e o tipo dos movimentos realizados. Atraves dessasinformacoes e possıvel identificar o comportamento desses

animais quando aplicada alguma droga ou realizada algumamodificacao genetica. Um experimento muito utilizado e oteste do campo aberto [11]. Este experimento e geralmenterealizado com ratos e camundongos, que sao colocados emuma arena e seu comportamento e analisado para que pos-sam ser identificadas mudancas significativas.

Neste trabalho, foram utilizados dois principais gruposde tecnicas para a descricao de formas, o primeiro base-ado nas caracterısticas das regioes e o segundo nas ca-racterısticas do contorno do objeto. Entre as tecnicas dedescricao por regiao foi avaliada a tecnica de momentosde imagem, enquanto na abordagem por representacao docontorno do objeto foram realizados experimentos com osalgoritmos de cadeia de codigos, k-curvatura e descritoresde Fourier. As comparacoes foram realizadas com base emimagens reais de tres comportamentos basicos dos camun-dongos, comportamento de auto limpeza, exploracao verti-cal e horizontal. Para o auxılio na classificacao dos com-portamentos realizados pelos camundongos foi utilizado osoftware Weka1. Para cada tecnica foi escolhida a melhorconfiguracao de parametros de acordo com a porcentagemde acerto dos classificadores.

Este artigo esta estruturado em cinco secoes. A Secao2 cita os trabalhos correlatos de descritores de formas. NaSecao 3, sao definidos os descritores de formas. Na proximasecao, sao discutidas as ferramentas utilizadas e a realizacaodos experimentos. Na Secao 5, sao analisados os resultadosdas tecnicas implementadas. Finalmente, sao apresentadosa conclusao e os trabalhos futuros.

2. Trabalhos Correlatos

A representacao de objetos e um importante passo parao reconhecimento de padroes. Diversas caracterısticas e al-goritmos de representacao tem sido analisados e desenvol-

1 O Weka e uma ferramenta livre que possui um conjunto de algoritmosde aprendizagem de maquina. http://www.cs.waikato.ac.nz/ml/weka/

318

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 330: III WVC 2007

vidos nos ultimos anos, sendo o contorno uma das carac-terısticas mais utilizadas na representacao dos objetos. Em[9] foi desenvolvido um metodo para o reconhecimento deobjetos irregulares baseado em seu contorno. O contornodo objeto e descrito por cadeia de codigos baseada em his-tograma, sendo invariante a rotacao e translacao. O metodofoi avaliado no reconhecimento de letras e em objetos irre-gulares com superfıcies defeituosas.

Wu [15] descreve um metodo de representacao utili-zando os pontos predominantes de cada objeto. Os pontospredominantes sao aqueles onde a curvatura e extrema. Se-gundo Wu, a deteccao desses pontos e uma importante etapapara representacao de formas. O metodo apresentado utilizacadeia de codigos para representar o contorno e o algoritmoK-cosseno como medida de curvatura. O metodo foi ava-liado em contornos de folhas utilizando cinco criterios deavaliacao: numero de pontos predominantes, taxa de com-pressao, erro medio da area, erro medio quadrado e tempode processamento.

Em [14] o algoritmo k-curvatura foi utilizado para iden-tificar os dedos das maos para o reconhecimento de ges-tos e outras aplicacoes de interacao homem-maquina. Paraavaliar o metodo, foi considerada a porcentagem de acer-tos de dedos identificados e do reconhecimento de 4 ges-tos (mao fechada, mao aberta, mao com um dedo estendidoe mao com dois dedos estendidos). O resultado do reconhe-cimento de dedos foi em media de 97.6% em 6971 ima-gens. Para o reconhecimento de gestos o resultado foi aindamelhor, em media 99.39% de acertos avaliados sobre 4745imagens.

Uma outra representacao extensamente empregada saoos descritores de Fourier. Em [16] os descritores de Fou-rier com diferentes representacoes de formas foram utili-zados para recuperacao de imagens atraves do contorno. Aavaliacao foi realizada atraves da taxa de formas relevan-tes retornadas pelo numero de formas buscadas no bancode dados. Com isso, o melhor resultado foi alcancado uti-lizando os descritores de Fourier derivados da distancia en-tre cada ponto e o centro do objeto. Ja em [13], os descri-tores de Fourier, juntamente com redes neurais, foram uti-lizados na inspecao industrial. Os experimentos foram rea-lizados em dois produtos e o treinamento foi realizado so-bre 480 amostras com produtos aprovados e reprovados nainspecao. Na fase de reconhecimento foram utilizadas 200amostras. Em ambos os experimentos com os produtos, aporcentagem de acertos foi maxima, utilizando 15 descrito-res para a representacao da forma dos objetos.

A modelagem da variacao da forma e uma importante ca-racterıstica para o reconhecimento de objetos. Liu [10] apre-sentou um metodo para modelar as mudancas nas formas 2-D dos objetos. O metodo representa a forma do objeto utili-zando descritores de Fourier e as mudancas utilizando mo-delos de auto-regressao. O metodo foi avaliado em tres dife-

rentes aplicacoes. Na primeira aplicacao, o metodo e avali-ado na deteccao de contornos de fogo, alcancando uma taxade 99.9% de acerto. A segunda aplicacao demonstra quea variacao da forma sozinha e uma boa caracterıstica paradiscriminacao. Os experimentos sao realizados utilizando ometodo cross-validation em sete sequencias de pessoas cor-rendo, bandeiras em movimento e sequencias de fogo. Aterceira e ultima aplicacao e utilizada em rastreamento decontornos. Uma limitacao apresentada pelo metodo e queo modelo auto-regressivo (AR) e um sistema linear e podeocorrer casos onde a linearidade nao e suficiente para repre-sentar a variacao da forma de um objeto deformavel.

Em [1] a tecnica de cadeia de codigos e utilizada para re-presentar as formas geometricas de quadrados e retangulosem uma imagem, utilizando o conceito de conectividade-de-4 para representar quadrados e conectividade-de-8 pararepresentar triangulos. Em [7] classifica-se os caracteres es-critos a mao baseados em uma decomposicao direcionalda representacao correspondente da cadeia de codigos deconectividade-de-8. O classificador e treinado pela cadeiade codigos que representa o contorno do caractere.

3. Descritores de Formas

As imagens sao constituıdas de diversos objetos, perten-centes ao plano de fundo e ao plano de interesse. Os obje-tos do plano de interesse sao, geralmente, os que possuemmaior importancia para os sistemas de visao computacio-nal. Esses objetos sao constituıdos de um conjunto de pi-xels representando a sua forma, cor e textura.

Os descritores de formas sao metodos matematicos querepresentam a forma do objeto ou a regiao. Os descritoressao divididos em duas categorias, baseados no contorno doobjeto e outros baseados em regioes. Os descritores base-ados em contorno descrevem a forma do objeto conside-rando suas formas mais externas, seu contorno. Descritoresbaseados em regiao descrevem as formas detalhadas do ob-jeto considerando suas formas internas. Os descritores ide-ais devem possuir invarianca a translacao, rotacao, escala ea ponto de inıcio.

3.1. Momentos de Imagens

Os momentos [2] de ordem p + q sobre uma funcaocontınua 2D sao calculados de acordo com a Equacao 1.

Mpq =

∫ ∞

−∞

∫ ∞

−∞xpyqf(x, y)dxdy (1)

Uma imagem pode ser visualizada como uma funcao 2Ddiscreta I , onde a intensidade de cada pixel e indexada comoI(x, y). A Equacao 2 e a derivacao da Equacao 1 de mo-mentos aplicada a imagens.

319

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 331: III WVC 2007

Mpq =

width∑x=1

height∑y=1

xpyqI(x, y) (2)

Para a representacao de um objeto atraves de momen-tos sao considerados apenas pixels pertencentes ao objeto.Atraves dos momentos de imagens, aplicados a um objeto,e possıvel derivar algumas propriedades, como por exem-plo, a area do objeto, que e representada pelo momento M00

e o centro de massa x e y representado pelos momentosM10M00

, M01M00

, respectivamente.Alem dos momentos regulares, e possıvel derivar os mo-

mentos centrais para imagens, definido na Equacao 3.

upq =width∑x=1

height∑y=1

(x − x)p(y − y)qI(x, y) (3)

As propriedades derivadas dos momentos centrais nestetrabalho sao a variancia em X e Y (Equacao 4), a direcao doobjeto (Equacao 5) e a excentricidade (Equacao 6).

σ2

x =u20

m00

, σ2

y =u02

m00

(4)

θ =u02 − u20 − 2u11 + λ

u02 − u20 + 2u11 − λ(5)

e2 =u20 + u02 + λ

u20 + u02 − λ(6)

λ =√

(u20 − u02)2 + 4u2

11(7)

Na Figura 1 e ilustrada a aplicacao dos momentos emuma imagem contendo um camundongo. A imagem foi di-vidida em quatro quadrantes com a mesma area, em se-guida, para cada quadrante sao extraıdos o centro de massae o desvio, ilustrados como eixos nas cores azul, laranja everde. Alem desses parametros, para a imagem como umtodo, e extraıda a elipse que representa o objeto.

Figura 1. Exemplo da aplicacao dos momen-tos de imagem com quatro quadrantes, duaslinhas e duas colunas.

(a) Imagem ori-ginal de um ca-mundongo.

(b) Imagem com deteccao de bordas ecalculo do angulo.

Figura 2. Passos realizados para a extracaode atributos com k-curvatura.

3.2. K-Curvatura

O extrator k-curvatura representa o contorno de um ob-jeto atraves da relacao do angulo formado entre dois ve-tores. Com a aplicacao de um detector de bordas na ima-gem segmentada e possıvel adquirir um conjunto de pontos(Equacao 8) que representam o contorno, como mostra Fi-gura 2(b). Esse conjunto e adquirido percorrendo-se os pon-tos em um sentido (e.g. horario e anti-horario) a partir de umponto inicial qualquer.

P = p0, p1, ..., pn com pi = (xi, yi) (8)

Para eliminacao de ruıdos do contorno, nao sao conside-rados todos os pontos extraıdos do objeto [14], sendo esco-lhidos pontos apos um espacamento de k valores. O calculodo angulo e realizado entre tres pontos pi, pi+k e pi+2∗k

como mostra a Figura 2(b). O vetor v e formado pelos pon-tos pi e pi+k, enquanto o vetor w e formado pelos pontospi+k e pi+2∗k. A Equacao 9 mostra o calculo do angulo en-tre dois vetores.

θ = cos−1v.w

|v||w| (9)

onde v.w e o produto escalar entre dois vetores (Equacao10) e |v| e a norma de um vetor (Equacao 11).

v.w = v1w1 + v2w2 + ... + vnwn (10)

|v| =√

v.v (11)

Apos os calculos de todos os angulos do contorno econstruıdo um histograma, onde cada posicao i desse his-tograma corresponde a frequencia de uma faixa de angulosencontrado no contorno. Atraves dessa composicao por his-tograma, o extrator k-curvatura e invariante a rotacao etranslacao. Para que o k-curvatura seja invariante a escalae necessario que o k seja atualizado de acordo com a es-cala aplicada.

320

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 332: III WVC 2007

Como exemplo, considere o contorno de um objeto cons-tituıdo pelos angulos 0, 82, 33, 160, 102, 170, 179,131, 20, 49, 51 entre os pontos com cada faixa repre-sentado um intervalo de 50o para o histograma. O histo-grama que representa o exemplo acima e ilustrado na Fi-gura 3.

Figura 3. Histograma de angulos extraıdospelo k-curvatura.

3.3. Cadeias de Codigos

As cadeias de codigos (chain codes) foram inicialmenteintroduzidas por Freeman [4, 12]. Este metodo de extracaode atributos e utilizado para representar o contorno de obje-tos em uma imagem atraves de uma sequencia de sımboloscom determinado tamanho e direcao [3]. As primitivas deconectividade-de-4 ou de-8 segmentos sao, geralmente, uti-lizadas como sımbolos e direcao. As primitivas sao ilustra-das na Figura 4.

A principal vantagem da cadeia de codigos e a fle-xibilidade em descrever um conjunto amplo de objetos.Em contrapartida, qualquer pequena perturbacao ao longodo contorno, devido a ruıdo ou mudancas causadas pelasegmentacao defeituosa, pode nao ser corretamente relacio-nada a forma do objeto.

A partir da cadeia de codigos e possıvel construir umhistograma de cadeia de codigos (Chain Code Histogram -CCH) [9]. O CHH e descrito pela Funcao discreta 12.

h(k) =nk

n(12)

onde nk e o numero de codigos de direcao k e n e o tama-nho da cadeia de codigos. Com isso, o CCH mostra a por-centagem das diferentes direcoes presentes no contorno doobjeto. O exemplo de um objeto, cadeia de codigos e CHHe ilustrado na Figura 5.

(a) Conectividade-de-4.

(b) Conectividade-de-8.

Figura 4. Primitivas utilizadas nas cadeias decodigos.

(a) Objeto qua-drado componto ini-cial do con-torno no pixelazul.

(b) Cadeia decodigos.

(c) Histo-grama de Ca-deia de CodigosCHH.

Figura 5. Exemplo da aplicacao da cadeia decodigos em um objeto.

3.4. Descritores de Fourier

Os descritores de Fourier sao muito utilizados para des-crever os objetos atraves do contorno. Os descritores deFourier aproximam os pontos dos contornos P (Equacao 8)atraves da soma de k, com k ≤ n

2, termos senos e cosse-

nos [5] atraves da Equacao 13.

pl = p +

K∑k=1

akcos(2πkl

n) + bksen(

2πkl

n), l = 1, ..., n

(13)sendo p o centro de massa do objeto, ak e bk descritos nasEquacoes 14 e 15.

ak =2

n

K∑l=1

plcos(2πkl

n) (14)

321

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 333: III WVC 2007

(a) K=5. (b) K=10. (c) K=15.

Figura 6. Aplicacao dos descritores de Fou-rier para diferentes valores de K.

bk =2

n

K∑l=1

plsen(2πkl

n) (15)

Para valores K iguais a n2

a curva interpolada do con-torno passa por todos os pontos originais. Para valores deK menores que n

2a curva interpolada e uma aproximacao

do contorno original. As aproximacoes podem ser visuali-zadas na Figura 6 para o contorno de uma camundongo paradiferentes valores de K.

Essas aproximacoes sao importantes para eliminar pe-quenos ruıdos fornecidos, por exemplo, pelo processode segmentacao. Alem disso, atraves desses descrito-res e possıvel reconstruir o contorno original e manter ainvariancia com respeito a translacao [5].

4. Experimentos

Os experimentos foram realizados com base em umbanco composto de imagens de camundongos separa-das em tres comportamentos descritos como auto limpeza,exploracao vertical e horizontal. Para cada comporta-mento foi utilizado 60 imagens de camundongos comiluminacao artificial e fundo simples. As imagens con-tidas nesse banco foram convertidas em tons de cinza esegmentadas atraves da tecnica de subtracao de fundo [6].

O ambiente computacional utilizado nos experimen-tos foi um computador com processador Intel R©Pentium4TMcom frequencia de clock de 3.00 GHz, 512 MBy-tes de memoria, com sistema operacional Ubuntu e alinguagem de programacao Java versao 1.5. Para asimplementacoes das tecnicas foram utilizadas algumas fun-cionalidades das bibliotecas JMF2, para manipulacao devıdeos e imagens, ImageJ3, para o processamento das ima-gens e o Weka, que possui uma colecao de algoritmos deaprendizagem de maquina, aplicada na classificacao doscomportamentos dos camundongos.

2 JMF - http://java.sun.com/products/java-media/jmf/3 ImageJ - rsb.info.nih.gov/ij/

Para cada tecnica testada foram escolhidos os melho-res parametros baseados na porcentagem de classificacao.Na identificacao dos comportamentos foram utilizados osclassificadores de arvore de decisao J48, arvore de mode-los logısticos LMT, maquina de vetor de suporte SMO e osclassificadores IBK e Kstar implementados no Weka.

Para a tecnica de momentos de imagens foi variado onumero de quadrantes que dividem as imagens, representa-dos por linhas e colunas, variando de duas a vinte divisoescomo mostra a Figura 1. Na tecnica cadeia de codigos foivariado o parametro faixa de cadeias do histograma comintervalos de 1 a 8. O algoritmo de k-curvatura obteve avariacao de 1 a 180 intervalos para a faixa de angulos e oparametro k variou de 1 a 50. Para a tecnica de descrito-res de Fourier o parametro variado foi o numero de descri-tores inciado em 5 ate 30.

Os codigos desenvolvidos dos extratores estao dis-ponıveis livremente na internet atraves de um sistemade controle de versao, o Subversion, integrado como Trac, um sistema baseado em web para o gerencia-mento de projetos utilizados pelo GPEC - Grupo de Pes-quisa em Engenharia e Computacao4. Estes descritoresde formas implementados foram integrados ao projeto SI-GUS5.

5. Analise e Resultados

O grafico da Figura 7 apresenta a porcentagem de acertode cada tecnica implementada na identificacao dos compor-tamentos de camundongos. Nota-se que a tecnica de cadeiade codigos utilizando o classificador IBK atingiu a melhorporcentagem de acerto, com 96.3%, em relacao as demaistecnicas. Entretanto, a tecnica de momentos de imagensmanteve uma menor variacao na porcentagem de acerto,alcancando uma media de 92.6% entre todos os classifica-dores, conforme mostrado na Tabela 1. O algoritmo de mo-mentos de imagens obteve um melhor desempenho pelo fatode considerar as informacoes da area do objeto e nao do seucontorno, onde o contorno e muito susceptıvel a ruıdos e va-riante com imagens apresentando o mesmo comportamento.

6. Conclusao e Trabalhos Futuros

A principal contribuicao deste trabalho foi a comparacaodestes descritores de formas para auxiliar no sistema declassificacao dos comportamentos dos camundongos parao sistema Topolino [11]. Este sistema foi desenvolvido paraauxiliar pesquisadores em experimentos com camundongosde forma automatica na area da saude.

4 http://www.gpec.ucdb.br/5 SIGUS - Plataforma de Apoio ao Desenvolvimento de Siste-

mas para Inclusao Digital de Pessoas com Necessidades Especiaishttp://www.gpec.ucdb.br/projetos/sigus/

322

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 334: III WVC 2007

Figura 7. Grafico dos extratores em relacaoaos classificadores utilizados.

Algoritmo Media (%)Momentos de Imagem 92.6Cadeia de Codigos 91.1K-Curvatura 91.1Descritores de Fourier 86.3

Tabela 1. Media da porcentagem de acertodos algoritmos.

Como trabalhos futuros, e proposto o desenvolvimentode outras tecnicas de descritores de formas baseadas emregiao. Com isso, sera possıvel realizar novas comparacoescom as tecnicas de descritores baseados em contorno quesao sensıveis a ruıdos.

Agradecimentos

Este trabalho recebeu apoio financeiro da UniversidadeCatolica Dom Bosco, UCDB, da Agencia Financiadora deEstudos e Projetos, FINEP e da Fundacao de Apoio ao De-senvolvimento do Ensino, Ciencia e Tecnologia do Estadode Mato Grosso do Sul, FUNDECT. Os autores tambemcontaram com bolsas do Conselho Nacional de Desenvol-vimento Cientıfico e Tecnologico, CNPQ, nas modalidadesPIBIC e Produtividade em Desenvolvimento Tecnologico eExtensao Inovadora.

Referencias

[1] E. R. Costa, A. R. Hirakawa, and J. J. Neto. An adaptive al-ternative for syntactic pattern recognition. In Proceeding of3rd International Symposium on Robotics and Automation,ISRA, pages 409–413, Toluca, Mexico, September 2002.

[2] K. P. de Souza and H. Pistori. Implementacao de um extratorde caracterısticas baseado em momentos da imagem. In Pro-ceedings of SIBGRAPI 2005 - XVIII Brazilian Symposium onComputer Graphics and Image Processing, Natal, RN, Bra-zil, October 2005. SBC, IEEE Press.

[3] P. Dukkipati and L. Brown. Improving the recognition of ge-ometrical shapes in road signs by augmenting the database.ICCSA International Conference on Computer Science andits Applications, V2, June 2005.

[4] H. Freeman. Computer processing of line-drawing images.ACM Computing Surveys, 6(1):57–97, March 1974.

[5] C. A. Glasbey and G. W. Horgan. Image analysis for the bi-ological sciences. John Wiley & Sons, Inc., New York, NY,USA, 1995.

[6] W. N. Goncalves, V. A. Saueia, B. B. Machado, J. de An-drade Silva, K. P. de Souza, and H. Pistori. Tecnicas desegmentacao baseadas em subtracao de fundo e modelos decores: Um estudo comparativo. XXVIII CILAMCE - IberianLatin American Congress on Computational Methods in En-gineering, June 2007.

[7] S. Hoque, K. Sirlantzis, and M. C. Fairhurst. A new chain-code quantization approach enabling high performance. InICIDAR. IEEE Computer Society, 2003.

[8] J. Iivarinen, M. Peura, J. Sarela, and A. Visa. Compari-son of combined shape descriptors for irregular objects. InA. F. Clark, editor, 8th British Machine Vision Conference,BMVC’97, volume 2, pages 430–439, september 1997.

[9] J. Iivarinen and A. Visa. Shape recognition of irregular ob-jects. In D. P. Casasent, editor, Intelligent Robots and Com-puter Vision XV: Algorithms, Techniques, Active Vision, andMaterials Handling, Proc. SPIE 2904, pages 25–32, 1996.

[10] C.-B. Liu and N. Ahuja. A model for dynamic shape and itsapplications. CVPR, 02:129–134, 2004.

[11] B. B. Machado, J. de Andrade Silva, W. N. Goncalves,H. Pistori, and A. S. de Souza. Topolino: Software livrepara automatizacao do experimento do campo aberto. XVSeminario de Computacao, pages 19–28, November 2006.

[12] A.-B. M. Salem, A. A. Sewisy, and U. A. Elyan. A vertexchain code approach for image recognition. ICGST Inter-national Journal on Graphics, Vision and Image Processing,05, 2005.

[13] M. E. Stivanello and P. C. R. Gomes. Inspecao visual in-dustrial automatizada por analise de forma com descrito-res de fourier e redes neurais artificiais. XV Seminario deComputacao, 2006.

[14] M. A. Q. Truyenque. Uma aplicacao de visao computacionalque utiliza gestos da mao para interagir com o computador.Master’s thesis, PUC-Rio, 2005.

[15] W.-Y. Wu. A dynamic method for dominant point detection.Graph. Models, 64(5):304–315, 2002.

[16] D. S. Zhang and G. Lu. A comparative study on shape retrie-val using fourier descriptors with different shape signatures.International Conference on Intelligent Multimedia and Dis-tance Education, pages 1–9, 2001.

323

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 335: III WVC 2007

Modelos Ocultos de Markov Aplicados na Identificacao de Comportamento deSerpentes

Wesley Nunes Goncalves, Jonathan de Andrade Silva, Bruno Brandoli Machado,Hemerson Pistori, Albert Schiaveto de Souza

Grupo de Pesquisa em Engenharia e ComputacaoUniversidade Catolica Dom Bosco

Av. Tamandare, 6000, Jardim Seminario, 79117-900 - Campo Grande, MSjsilva, wnunes, [email protected], pistori,[email protected]

Resumo

Este artigo apresenta uma aplicacao dos modelos ocul-tos de Markov (HMMs) no reconhecimento do compor-tamento de serpentes. Os experimentos foram conduzidosusando diferentes configuracoes para o HMM, incluindomodificacoes no numero de estados internos e no proced-imento de inicializacao do algoritmo de aprendizagem. Omelhor resultado mostra uma porcentagem de classificacaocorreta de 84% utilizando um HMM com quatro estados eo procedimento de inicializacao baseado no algoritmo K-Means.

1. Introducao

As serpentes foram sugeridas como um dos principaisgrupos de animais para avaliar hipoteses ecologicas e evolu-cionarias [11]. Alem disso, esse grupo e um interessante eimportante formador de venenos, o qual sao extensivamenteutilizados no desenvolvimento de drogas para controle dehipertensao, analgesicos, anticoagulantes, entre outros. De-vido a esses motivos, o uso destes animais na pesquisa com-portamental aumentou gradativamente nos ultimos anos,principalmente em questoes relacionadas com a formacaode venenos e o habitat natural.

O habitat para repteis, em particular serpentes, foi aindapouco explorado na area cientıfica. A criacao de serpentesem cativeiros e uma difıcil tarefa que pode ser beneficiadapela analise e identificacao de comportamentos de serpentesem ambientes naturais e artificiais. Estes comportamentossao influenciados por diversos fatores, como temperatura,radiacao solar, umidade e a estacao do ano. A habilidade deidentificar e predizer a atividade apresentada por uma ser-pente e essencial no processo de producao de venenos.

A identificacao comportamental de animais e geral-mente realizada atraves de um procedimento nao au-tomatico envolvendo um alto consumo de tempo nas secoesde observacoes e anotacoes visuais. A precisao e repro-dutibilidade desse procedimento sao afetadas pela fadigae distracao dos observadores. A automacao desse pro-cesso, utilizando tecnicas de visao computacional, podefornecer resultados mais confiaveis e a possibilidade de es-tender os experimentos para situacoes e ambientes quenao sao facilmente acessıveis utilizando os metodos at-uais. Os benefıcios sao ainda maiores para as serpentes,pois apresentam algumas atividades que, para serem obser-vadas, requereriam diversas horas de observacao contınua.A automatizacao pode tambem fornecer informacoes rela-cionadas com medidas fısicas precisas, como distancia evelocidade, que nao sao alcancadas com a observacao vi-sual [13].

Este trabalho avalia o uso dos modelos ocultos deMarkov na identificacao automatica do comportamentode bote realizado por uma serpente. As especies de ser-pente utilizadas durante os experimentos foram: cascavel(Crotalus Durissus), boca de sapo (Bothrops Neuwiedi) ejiboia (Boa Constrictor). O modelo foi treinado com 20sequencias, totalizando 1000 imagens, e avaliado atravesde 10 sequencias, totalizando 500 imagens. Um procedi-mento semi-automatico, baseado em maquina de vetoresde suporte [2], foi adotado na fase de segmentacao. A mel-hor porcentagem de classificacao e tempo de execucao foialcancada atraves da variacao dos parametros dos mod-elos ocultos de Markov, como o numero de estados eo numero de iteracoes do algoritmo de reestimacao deparametros. Alem disso, duas maneiras de inicializacao dosHMMs foram avaliadas. O comportamento de bote foi in-ferido com exatidao de 84% pelo HMM com 10 esta-dos.

Este artigo esta estruturado em oito secoes. A Secao 2apresenta alguns trabalhos correlatos que utilizam os mode-

324

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 336: III WVC 2007

los ocultos de Markov em diversas aplicacoes. Na proximasecao, e apresentado o extrator de caracterısticas das im-agens segmentadas. Na Secao 4, os principais conceitos ealgoritmos dos modelos ocultos de Markov sao descritos.Na Secao 5, os experimentos realizados sao mostrados commaiores detalhes. A Secao 6 apresenta os resultados obti-dos seguido de uma analise. Finalmente, na Secao 7 saomostradas a conclusao e os trabalhos futuros.

2. Trabalhos Correlatos

Os modelos ocultos de Markov (HMMs) tem sido ampla-mente utilizados em diversas areas, principalmente em sis-temas para o reconhecimento de voz [10], reconhecimentode comportamentos [7] e textos manuscritos [6]. Em [5] oHMM e aplicado ao reconhecimento de objetos 2D em im-agens. O HMM, juntamente com as caracterısticas invari-antes do contorno, foram testados em quatro diferentes ob-jetos. Para cada objeto, um HMM foi estimado com um con-junto de cinquenta imagens de treinamento. A classificacaofoi realizada utilizando dez imagens para cada objeto, resul-tando em uma taxa de acerto de 75%.

Starner e Pentland [14] descrevem um sistema para re-conhecimento de sentencas da lıngua americana desinais utilizando HMM. A taxa de reconhecimento e de99.2% para palavras, no entanto, o conjunto de carac-terıstica mostrou-se limitado, pois o sistema e treinadopara esperar certos gestos em certas posicoes espaci-ais na imagem devido a utilizacao das posicoes nao normal-izadas das maos. Uma nova tecnica para o reconhecimentode textos e apresentada em [1]. As caracterısticas sao ex-traıdas de uma imagem em tons de cinza e um HMMe modelado para cada caractere. Durante o reconheci-mento, a mais provavel combinacao de modelos e en-contrada para cada palavra, pelo uso de programacaodinamica.

Em [9] e descrito um HMM para reconhecimento defaces. A imagem contendo a face e dividida em cinco blocos(cabelo, testa, olhos, nariz e boca), onde cada bloco e rep-resentado como um estado no HMM. Os vetores de carac-terısticas sao obtidos de cada bloco utilizando o coeficienteda transformada de Karhunen-Loeve.

Os HMMs sao frequentemente utilizados para descreveruma sequencia de padroes caracterizando um comporta-mento. Em [7] os comportamentos de seres humanos saoidentificados. Esses comportamentos sao atividades legais eilegais, capturadas por uma camera, e realizadas em um sıtioarqueologico. Para a identificacao desses comportamentos,as imagens sao segmentadas utilizando a deteccao de movi-mento seguida por um processamento de remocao de som-bras. Em seguida, a postura realizada pelo ser humano eidentificada utilizando histogramas e medida de similari-dade baseada na distancia de Manhattan. O reconhecimento

dos comportamentos e realizado pelos HMMs, onde os es-tados representam as diferentes posturas. Os experimentosforam realizados na identificacao de quatro comportamen-tos com uma porcentagem media de classificacao correta de86,87%.

Em [3] um sistema de classificacao de comporta-mentos de animais e apresentado. Esse sistema usa umacombinacao de HMM e kNN para treinamento de al-guns movimentos. O sistema foi avaliado em diversas tra-jetorias de abelhas extraıdas de uma sequencia de vıdeo de15 minutos. O sistema desenvolvido foi capaz de etique-tar movimentos com uma exatidao de 81,5%.

3. Momentos de Imagem

Uma imagem pode ser modelada como uma funcao 2Ddiscreta I , onde a intensidade de cada pixel e indexada comoI(x, y). A Equacao 1 representa os momentos regulares deordem p, q de uma imagem.

Mpq =width∑x=1

height∑y=1

xpyqI(x, y) (1)

Os momentos regulares podem ser utilizados para repre-sentar algumas importantes propriedades de um objeto pre-sente em uma imagem, como a area do objeto, M00, e o seucentro de massa, M10

M00, M01

M00, respectivamente.

Os momentos centrais de imagens, definidos na Equacao2, podem tambem ser utilizados para calcular outras inter-essantes propriedades dos objetos, como a sua variancia noseixos X e Y (Equacao 3), direcao (Equacao 4) e excentrici-dade (Equacao 5).

upq =width∑x=1

height∑y=1

(x − x)p(y − y)qI(x, y) (2)

σ2

x =u20

m00

, σ2

y =u02

m00

(3)

θ =u02 − u20 − 2u11 + λ

u02 − u20 + 2u11 − λ(4)

e2 =u20 + u02 + λ

u20 + u02 − λ(5)

λ =√

(u20 − u02)2 + 4u2

11(6)

Alem das propriedades citadas acima, calculadas para to-dos os pixels pertences ao objeto, neste trabalho, seguindouma metodologia sugerida por Freeman [4], o objeto e divi-dido em 4 regioes iguais, e para cada uma dessas regioes, asmesmas propriedades dos momentos de imagens sao calcu-ladas. Desta maneira, o sistema pode combinar informacoesglobais e locais durante a fase de classificacao. A Figura 1

325

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 337: III WVC 2007

ilustrada, usando uma ferramenta de visualizacao dos mo-mentos, as propriedades extraıdas de uma imagem contendouma serpente previamente segmentada e binarizada.

Figura 1. Aplicacao dos momentos de im-agem.

4. Modelos de Markov Ocultos

Os modelos ocultos de Markov (HMMs) sao utilizadospara modelar um par de processos estocasticos comple-mentares. O primeiro processo e representado por um con-junto de estados nao observaveis, tambem chamados de es-tados internos ou ocultos. No caso especial de HMMs deprimeira ordem, o estado atual do sistema depende apenasdo estado anterior, e a distribuicao de probabilidades quemodela a transicao entre os estados e geralmente represen-tada atraves de uma matriz de transicao A = aij, com

aij = P (qt+1 = Sj |qt = Si) 1 ≤ i, j ≤ N (7)

onde N e o numero de estados, qt e o estado atual do sis-tema e S = S1, S2, S3, ..., SN e o conjunto de estadosocultos do modelo.

O segundo processo estocastico modela a probabili-dade de observacao de alguns valores pre-determinados(os valores ou sımbolos observados) dado que o sis-tema esta em um estado especıfico (oculto). A sequenciade T observacoes e representada por um conjuntoO = O1, O2, O3, ..., OT , onde cada elemento Ot e ummembro do conjunto de sımbolos V = v1, v2, ..., vM .A probabilidade de emissao ou observacao de qual-quer sımbolo dado um estado oculto j e definida por umamatriz B = bj(k), com

bj(k) = P (Ot = vk|qt = Sj) 1 ≤ j ≤ N, 1 ≤ k ≤ M(8)

A probabilidade inicial de cada estado e representada porum conjunto π = πi, com

πi = P (q1 = Si) 1 ≤ i ≤ N, comN∑

i=1

πi = 1 (9)

Para a utilizacao dos HMMs em aplicacoes do mundoreal, e necessario a resolucao de tres problemas basicos.A resolucao desses problemas, conhecidos como problemade avaliacao, decodificacao e aprendizagem, foram exten-sivamente descritas em diversos trabalhos na literatura [10,14, 1]. Neste trabalho, sao necessarios e descritos apenas osproblemas de avaliacao e aprendizagem.

4.1. Problema de Avaliacao

Dado uma sequencia de observacoes O e um HMM λ =(A, B, π), o problema de avaliacao e calcular P (O|λ). Umprocedimento que resolve este problema eficientemente,baseado em programacao dinamica, e conhecido como al-goritmo Forward-Backward. Este procedimento define umavariavel αt(j) (a variavel forward) que representa a prob-abilidade de uma sequencia de observacoes parciais (dotempo 0 ate t) dado um estado Sj (no tempo t) e o mod-elo λ. A variavel e atualizada incrementalmente usando oprocedimento recursivo defindo pelas Equacoes 10 e 11 ateque toda sequencia de observacoes seja alcancada e P (O|λ)pode ser facilmente calculada usando a Equacao 12.

α1(j) = πjbj(O1), 1 ≤ j ≤ N. (10)

αt+1(j) =

[N∑

i=1

αt(i)aij

]bj(Ot+1), 1 ≤ t ≤ T − 1.

(11)

P (O|λ) =N∑

j=1

αT (j) (12)

Para calcular a variavel backward βt(i), representando aprobabilidade de observacoes parciais de t + 1 ate T dadoo estado Si no tempo t e um modelo λ, um procedimentosimilar e seguido, mas de uma maneira reversa. O procedi-mento e resumido nas Equacoes 13, 14 e 15.

βT (i) = 1, 1 ≤ i ≤ N. (13)

βt(i) =N∑

j=1

aijbj(Ot+1)βt+1(j), t = T−1, ..., 1 1 ≤ i ≤ N.

(14)

P (O|λ) =N∑

i=1

πibi(O1)β1(i) (15)

326

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 338: III WVC 2007

4.2. Problema da Aprendizagem

Este problema consiste em determinar um metodo paraajustar os parametros do modelo λ = (A, B, π), que max-imiza localmente P (O|λ). Um algoritmo muito con-hecido para resolver esse problema em tempo poli-nomial e o Baum-Welch, uma especializacao do algo-ritmo EM. A ideia basica desse algoritmo e realizar aestimacao atraves do numero esperado de transicoes do es-tado Si para o estado Sj (Equacoes 16 e 17) e o numero deemissao do sımbolo Ot no estado Si.

ξt(i, j) = P (qt = Si, qt+1 = Sj |O, λ). (16)

ξt(i, j) =αt(i)aijbj(Ot+1)βt+1(j)∑N

i=1

∑Nj=1

αt(i)aijbj(Ot+1)βt+1(j). (17)

A probabilidade de ocorrencia do estado Si, definidacomo γt(i), pode ser escrita em funcao de ξt(i, j) de acordocom a Equacao 18.

γt(i) =N∑

j=1

ξt(i, j). (18)

Ao realizar a soma de γt(i) obtem-se uma medida esper-ada do numero de vezes que o estado Si foi visitado e ao so-mar ξt(i, j) obtem-se o numero de transicoes ocorridas doestado Si para o estado Sj , conforme a Equacao 19.

T−1∑t=1

ξt(i, j).

T−1∑t=1

γt(i). (19)

Com base nas equacoes acima, pode-se obter ummetodo iterativo para estimar os parametros do mod-elo λ = (A, B, π) atraves das equacoes 20, 21 e 22.

πi = γ1(i). (20)

ai,j =

∑T−1

t=1ξt(i, j)∑T−1

t=1γt(i)

. (21)

bj(Ot) =

∑T−1

t=1,ot=vkγt(i)∑T−1

t=1γt(i)

. (22)

5. Experimentos

Os experimentos com os HMMs foram realizados com30 sequencias de imagens representando a presenca e aausencia do comportamento de bote. Um exemplo do com-portamento de bote pode ser visualizado na Figura 2. As im-agens foram capturadas usando uma camera TRENDNETTV-IP301W com resolucao espacial de 640 x 480 pixels. As

serpentes foram inseridas em um espaco que simula um am-biente natural e os quadros foram capturados de uma visaoaerea.

Figura 2. Sequencia do Comportamento deBote.

As serpentes usam a camuflagem para se esconder dospredadores e capturar com mais facilidade suas presas, oqual torna o problema de segmentacao, neste contexto, maiscomplexo. A estrategia de aprendizagem supervisionada,baseada em maquinas de vetores de suporte (Support Vec-tor Machine - SVM), foi utilizada para separar a serpentedo plano de fundo. Para cada imagem, uma regiao ao re-dor da serpente foi manualmente determinada para tornar afase de segmentacao mais precisa. Atributos baseados emcores, extraıdos da serpente e das regioes do fundo, foramusados para alimentar o processo de aprendizagem. O resul-tado do procedimento de segmentacao e ilustrado na Figura3.

Figura 3. Exemplo de segmentacao para ima-gens com serpentes.

Apos a segmentacao, os momentos de imagem foram uti-lizados para extrair informacoes relacionadas com a formada serpente em cada quadrado. Estes atributos foram dis-

327

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 339: III WVC 2007

cretizados utilizando o algoritmo de quantizacao de ve-tores LBG (Vector Quantization LBG) [12] e utilizado comosımbolos de observacoes para dois HMMs, um correspon-dendo ao comportamento de ataque e o outro correspon-dendo ao nao-ataque. Um total de 20 sequencias de ima-gens foram utilizadas para treinar e 10 para avaliar o modulode classificacao baseado em HMMs. Todos os experimentosforam realizados em um computador com um processadorP4 2.8GHz, 512MB de RAM e Fedora Core 5.

Os experimentos foram conduzidos a fim de encon-trar a configuracao do HMM que alcanca a maior taxa declassificacao correta no problema de classificacao do com-portamento de bote. Tres parametros foram avaliados: onumero de estados ocultos, o numero de iteracoes do al-goritmo Baum-Welch e o procedimento de inicializacaodurante a fase de aprendizagem. O numero de estados eiteracoes variou de 2 a 20, e de 100 a 1000, respectiva-mente. Dois procedimentos de inicializacao foram avalia-dos: o procedimento sugerido em [10], que assume umadistribuicao de probabilidade uniforme para todas as ma-trizes e uma aproximacao baseada em K-Means [8]. Paraa aproximacao baseada em K-Means, as matrizes A e πforam calculadas como em [10], entretanto, a matriz B einicializada de maneira diferente. Primeiro, o conjunto detreinamento e clusterizado utilizando o K-Means, sendo Ko numero de estados do HMM. Entao, utilizando o mapea-mento dos estados para o conjunto de treinamento geradopelo procedimento de clusterizacao, a matriz B pode ser es-timada por uma tecnica simples de contagem.

6. Resultado e Analise

Os resultados sao apresentados nas Figuras 4, 5, 6,e 7. Na Figura 4 o grafico relata o numero de esta-dos dos HMMs pela porcentagem de classificacao correta.A partir de 6 estados, a media de classificacao cor-reta se manteve na faixa de 78% a 80%. Com 10 estadosos HMMs alcancaram a melhor media de classificacao cor-reta, alcancando 82.1% com um tempo de execucao de515.41 milisegundos. A variacao entre o numero de es-tados e o tempo de execucao e mostrada na Figura 5.O grafico mostra uma curva de crescimento polino-mial em relacao ao numero de estados. Com isso, e possıvelassociar o resultado do grafico com a complexidade do al-goritmo Forward-Backward (O(N2T ), sendo N o numerode estados e T o tamanho da observacao) acrescido de al-gumas constates, como o numero de iteracoes (valor fixo) etamanho da sequencia das observacoes.

O grafico da Figura 6, relata o numero de iteracoes uti-lizado no algoritmo Baum-Welch e a taxa de classificacaocorreta, indicando que este parametro nao possui um grandeefeito no desempenho, que e sempre mantido em torno de81%.

Figura 4. Numero de Estados X ClassificacaoCorreta.

Figura 5. Numero de Estados X Tempo deExecucao (milisegundos) .

Finalmente, na Figura 7 e apresentado um compara-tivo entre os dois tipos de inicializacao. O grafico mostraa relacao entre o numero de estados e a porcentagem declassificacao correta. A inicializacao baseada no algoritmoK-Means obteve melhores resultados com um numero pe-queno de estados, enquanto que, a inicializacao aleatoriaobteve melhores resultados com um numero maior de esta-dos. Para um numero grande de estados, o K-Means atribuıapoucas amostras a alguns estados, consequentemente, asprobabilidades correspondentes a esses estados eram muitopequenas ou nulas. Concluindo assim que esses estadoseram desnecessarios e apenas confundiam a classificacaocorreta. A melhor porcentagem de acerto foi alcancada coma inicializacao baseada no algoritmo K-Means, alcancandouma porcentagem de classificacao de 84% para um HMMcom 4 estados.

7. Conclusao e Trabalhos Futuros

Este artigo mostrou uma aplicacao dos modelos ocul-tos de Markov no reconhecimento de comportamentos deserpentes. Os experimentos mostraram que a inicializacao

328

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 340: III WVC 2007

Figura 6. Numero de Iteracoes XClassificacao Correta.

Figura 7. Numero de Estados X ClassificacaoCorreta para dois tipos de inicializacao.

por K-Means obtem melhores resultados no geral. Enquantoque, as variacoes no numero de iteracoes obtem resultadossimilares dentro de uma faixa de 100 a 1000. O tempo deexecucao dos HMMs com relacao ao numero de estados euma curva polinomial, sendo o numero de estados adequadopara este problema experimentalmente alcancado.

A principal contribuicao desse trabalho esta nacomparacao entre os parametros dos HMMs e de doistipos diferente de inicializacao. Para trabalhos futuros, se-ria interessante acrescentar informacoes sobre o con-torno das serpentes e avaliar outros tipos de HMMs, comoos contınuos (pois a natureza dos atributos dos momen-tos de imagem e contınua e teoricamente, nesse mod-elo, nao ha grandes perdas de informacao pois nao enecessario o passo de discretizacao). E tambem impor-tante expandir os testes para uma quantidade maior deimagens, com diferentes tipos de animais.

8. Agradecimentos

Este trabalho recebeu apoio financeiro da UniversidadeCatolica Dom Bosco, UCDB, da Agencia Financiadora deEstudos e Projetos, FINEP e da Fundacao de Apoio ao De-

senvolvimento do Ensino, Ciencia e Tecnologia do Estadode Mato Grosso do Sul, FUNDECT. Os autores tambemcontaram com bolsas do Conselho Nacional de Desenvolvi-mento Cientıfico e Tecnologico, CNPQ, nas modalidadesPIBIC e Produtividade em Desenvolvimento Tecnologico eExtensao Inovadora.

Referencias

[1] K. Aas, E. Line, and A. Tove. Text recognition from greylevel images using hidden Markov models. Lecture Notes inComputer Science, 970:503–508, 1995.

[2] C. J. C. Burges. A tutorial on support vector machines forpattern recognition. Data Mining and Knowledge Discovery,2(2):121–167, 1998.

[3] A. Feldman and T. Balch. Automatic identification of beemovement. Technical report, Georgia Institute of Technol-ogy, Atlanta, Georgia 30332, USA, 2003.

[4] W. Freeman, K. Tanaka, and J. Ohta. Computer vision forcomputer games. In Int’l Workshop on Automatic Face- andGesture-Recognition, Killington, Vermont, USA, 1996.

[5] J. Hornegger, H. Niemann, D. Paulus, and G. Schlottke. Ob-ject recognition using Hidden Markov Models. In E. S.Gelsema and L. N. Kanal, editors, Pattern Recognition inPractice IV: Multiple Paradigms, Comparative Studies andHybrid Systems, volume 16, pages 37–44, Amsterdam, 1994.Elsevier.

[6] J. Hu, M. K. Brown, and W. Turin. Hmm based on-line hand-writing recognition. IEEE Trans. Pattern Anal. Mach. Intell.,18(10):1039–1045, 1996.

[7] M. Leo, T. D’Orazio, and P. Spagnolo. Human ActivityRecognition for Automatic Visual Surveillance of Wide Ar-eas. Academic Press, 1 edition, 1999.

[8] D. Malyszko and S. T. Wierzchon. Standard and genetic k-means clustering techniques in image segmentation. cisim,0:299–304, 2007.

[9] A. V. Nefian and M. H. Hayes. Face detection and recogni-tion using hidden markov models. In ICIP (1), pages 141–145, 1998.

[10] L. R. Rabiner. A tutorial on hidden markov models and se-lected applications in speech recognition. Proceedings of theIEEE, 77:257–286, 1990.

[11] J. A. Rivas and G. M. Burghardt. Snake mating systems, be-havior, and evolution: The revisionary implications of recentfindings. Journal of Comparative Psychology, 119(4):447–454, 2005.

[12] F. Shen and O. Hasegawa. An adaptive incremental lbg forvector quantization. Neural Netw., 19(5):694–704, 2006.

[13] A. J. Spink, R. A. J. Tegelenbosch, M. O. S. Buma, and L. P.J. J. Noldus. The ethovision video tracking system-a tool forbehavioral phenotyping of transgenic mice. Physiology andBehavior, 73(5):731–744, August 2001.

[14] T. Starner and A. Pentland. Visual recognition of americansign language using hidden markov models. Technical Re-port Master’s Thesis, MIT, Program in Media Arts & Sci-ences, Massachusetts Institute of Technology, Cambridge,USA, Feb 1995.

329

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 341: III WVC 2007

Estudo Comparativo entre as Transformadas Wavelet e Hartley Usando ImagensMédicas de Cabeça e Pescoço

J.R. Furlani1, A.S. Pereira

1, N. Marranghello

1, T.A. Dócusse

1, P.S. Maturana

1, R.P. Romano

1, F.S.B.

Bontempo1

1UNESP – Universidade Estadual Paulista Júlio de Mesquita Filho – São José do Rio Preto – SP

[email protected], [email protected]

Abstract

The goal of this paper is to show how the Wavelet and

the Hartley transforms perform over digital images,

specially the medical ones. Studies were done about

endoscopic image acquisition and the processing of these

images using the Wavelet and Hartley transforms.

1. Introdução

Processamento de imagens digitais é uma das áreas de

crescente interesse por permitir grandes estudos dentro

das diversas sub-áreas que ela possui. Nessa área

buscam-se formas de aprimorar a qualidade de uma

imagem digitalizada, aplicando funções matemáticas

para melhoria de imperfeições na mesma [1],[2],[3].

O estudo e a aplicação de técnicas que auxiliem a

detecção de tumores em imagens endoscópicas tornam-se

essenciais para uma melhoria em um diagnóstico médico.

2. Imagem Endoscópica

A incidência do câncer da laringe varia de país para

país. Corresponde a aproximadamente 1,2% a 2,3% de

todas as neoplasias malignas diagnosticadas e a

aproximadamente 27% dos casos de câncer da região de

cabeça e pescoço. Dentre os tumores da laringe, 85% a

95% são carcinomas espinocelulares, podendo,

entretanto, ocorrer adenocarcinomas, tumores

neuroendócrinos e sarcomas, entre outros. No Brasil, as

cidades de São Paulo (SP) e Porto Alegre (RS) estão

citadas entre as cidades de maior incidência de câncer

laríngeo.O tabagismo e o etilismo, sobretudo quando

associados, constituem os principais fatores de risco para

o desenvolvimento do câncer da laringe, mas existem

também outros fatores de menor importância [10].

A glote é a abertura superior da laringe. Com a glote

pode ocorrer vários problemas, como o edema de glote,

que é um inchaço e um fechamento da própria glote ou

até mesmo a presença de um tumor [11]. A Figura 1

apresentada a seguir é a imagem em tons de cinza da

glote obtida por endoscopia, sem a presença de qualquer

anomalia, tumor maligno ou não maligno.

Figura 1: Imagem obtida por endoscopia da glote

fechada sem presença de tumor.

3. Transformada Wavelet

A transformada Wavelet é uma ferramenta que separa

um sinal de entrada em componentes de diferentes

freqüências e as analisa de acordo com sua escala. Esta

transformada decompõe um sinal de entrada de forma

que as componentes de altas freqüências do sinal sejam

analisadas por elementos de curta duração e as

componentes de baixas freqüências analisadas por

elementos de longa duração.

Portanto nota-se que a transformada Wavelet possui

relação tempo-freqüência não fixa.

A transformada Wavelet decompõe uma função

definida no domínio do tempo em outra função, sendo

definida no domínio da freqüência. Na equação 1

apresenta-se a transformada Wavelet.

(1)

330

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 342: III WVC 2007

A transformada Wavelet discreta bidimensional

(DWT2D) é geralmente aplicada em sinais de duas

dimensões aos quais se necessita fazer decomposições

utilizando Wavelets e funções escalares. Para efetuar a

DWT2D basta utilizarmos as Wavelets e funções

escalares aos pares, sendo uma aplicada horizontalmente

e outra aplicada verticalmente ao arranjo. A

decomposição multiresolução de Sm, Tvm, Th

m e Tdm de

um arranjo a uma escala m+1 pode ser dada pelas

seguintes expressões:

(2)

(3)

(4)

(5)

A Figura 2 apresenta um esquema de decomposição de

uma imagem utilizando a transformada Wavelet discreta

bidimensional.

I[n-3] H[n-2]

V[n-2] D[n-2]

H[n-1]

V[n-1] D[n-1]

H[n]

V[n] D[n]

Figura 2 – Decomposição de uma imagem por

transformada Wavelet.

Na Figura 2, a decomposição I[n-3] é a componente

de baixa freqüência que a transformada produz, ou seja, é

nela que está contida a informação mais significativa da

imagem e no caso de uma compressão de imagem, será

I[n-3] a componente ideal a ser armazenada [4].

Como apresentado, a transformada Wavelet decompõe

uma imagem em quatro componentes de diferentes

freqüências. Em imagens de câncer de cabeça e pescoço

nota-se que tais tumores em imagens em tons de cinza

apresentam detalhes de alta freqüência (Figura 3).

Portanto serão analisados os componentes de alta

freqüência gerados pela transformada Wavelet. Os

componentes de baixa freqüência obtidos pela DWT2D

não apresentam relevante significância quanto a

identificação da imagem analisada [4],[5].

4. Transformada Hartley

A transformada de Hartley é uma transformada

unitária que emprega funções básicas senoidais, iguais a

transformada de Fourier. A transformada de Hartley

utiliza conjuntamente funções básicas do tipo seno e

cosseno, porém seus coeficientes são de números reais,

em contraste com a transformada de Fourier, cujos

coeficientes são, em geral, números complexos [7].

Em 1942, R. V. L. Hartley introduziu um novo par de

transformadas mais simétricas, baseada em Fourier. A

transformada de Hartley é definida pelo par de equações

apresentado nas fórmulas (6) e (7):

(6)

(7)

A transformada de Hartley trabalha com os números

reais em vez dos números complexos, reduzindo o tempo

computacional e assim tornando-se um substituto

potencial para a transformada de Fourier em aplicações

gerais. A transformada de Hartley requer novas

operações para estender a aproximação de Fourier.

A vantagem da transformada de Hartley resulta da

função que contém a informação sobre o ângulo de fase

sem uma complexidade computacional [7],[8],[9].

5. Aplicações

Baseia-se em aplicar as transformadas Wavelets e

Hartley na Figura 1, demonstrando o funcionamento de

tais transformadas para a mesma imagem.

As Figuras 3, 4, 5 e 6 são os resultados da

transformada Wavelet discreta bidimensional aplicada a

imagem em tons de cinza.

331

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 343: III WVC 2007

Figura 3: Sm Figura 4: Thm

Figura 5: Tvm Figura 6: Td

m

As Figuras 7, 8 e 9 é a aplicação da transformada de

Hartley sobre a Figura 1, gerando o espectro, a imagem

no domínio da freqüência e o resultado obtido após a

transformada, ou seja, a imagem recuperada.

Figura 7: Espectro da Imagem.

Figura 8: Imagem no domínio da freqüência.

Figura 9: Imagem recuperada.

6. Resultados

Aplicando a transformada Wavelet separa-se a

imagem em componentes de altas e baixas freqüências,

sendo possível eliminar as que sejam de menor

significância quanto à visualização da imagem. Assim

também comprimindo seu tamanho sem perder uma boa

resolução.

Aplicando a transformada de Hartley é possível

retornar a imagem original sem perdas de componentes

de baixa freqüência.

7. Conclusões

Utilizando tanto a Transformada Discreta

Bidimensional Wavelet como a Transformada de Hartley

é possível uma manipulação segura de imagens médicas.

As transformadas retornam a imagem recuperada

exatamente como a original, de forma que tais imagens

não sofram alterações significativas a olho humano. Para

um especialista na área médica é essencial obter um bom

resultado.

8. Referências Bibliográficas

[1]GONZALEZ R. C., WOODS R. E., Processamento de

Imagens Digitais, Editora Edgard Blücher Ltda., 1993.

[2]GONZALEZ R. C., WOODS R. E., Processamento de

Imagens Digitais, Editora Edgard Blucher Ltda., 2000.

[3]GONZALEZ R. C., WOODS R. E., EDDINS S. L.,

Digital Image Processing using Matlab®, Editora

Prentice Hall., 2004.

[4]ADDISON P., The Illustrated Wavelet Transform

Handbook, Editora IoP Publishing, 2002.

[5]DAUBECHIES I., Ten Lectures on Wavelets, Editora

SIAM, 1992.

332

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 344: III WVC 2007

[6]PEREIRA, Aledir S., Processamento de imagens

médicas utilizando transformada de Hough. 1995. Tese

(Doutorado em Física computacional) – Unicamp,

Campinas – SP, 1995.

[7]CINTRA R. J S., Transformada rápida de Hartley:

novas fatorações e um algoritmo aritmético, 2001.

Dissertação (Mestrado em Engenharia Elétrica) —

Universidade Federal de Pernambuco, 2001.

[8]GRIGORYAN A. M., A Novel Algorithm for

Computing the 1-D Discrete Hartley Transform, IEEE

Signal Processing Letters, v. 11, n. 2, 2004.

[9]SOUZA R. M. C. de, OLIVEIRA H. M. de, PALMA

L. B. E., SOUZA M. M. C. de, Transformadas

Numéricas de Hartley, SBrT 2000 - XVIII Simpósio

Brasileiro de Telecomunicações, 2000.

[10]TSUJI, D. H., SENNES L. U., IMAMURA R.,

Câncer da Laringe, Prática Hospitalar, ano 7, n. 38,

2005.

[11]PENEL N., LEFEBVRE D., FOURNIER C., SARINI

J., KARA A., LEFEBVRE J., Risk Factors for Wound

Infection in Head and Neck Cancer Surgery: A

Prospective Study, International Congress on Infectious

Disease, Buenos Aires, 2000.

333

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 345: III WVC 2007

Recuperacao de Imagens via Semanticas de Regioes utilizando Redes Neurais

Eduardo F. Ribeiro1, Marcos A. Batista3, Ilmerio R. da Silva1, Keiji Yamanaka4, Celia A. Z. Barcelos1,2

1Universidade Federal de Uberlandia, Faculdade de Ciencia da Computacao, Uberlandia, MG, Brasil2Universidade Federal de Uberlandia, Faculdade de Matematica, Uberlandia, MG, Brasil

3Universidade Federal de Goias, Departamento de Ciencia da Computacao, Catalao, GO, Brasil4Universidade Federal de Uberlandia, Faculdade de Engenharia Eletrica , Uberlandia, MG, Brasil

[email protected], [email protected], [email protected], [email protected], [email protected]

Resumo

Neste trabalho, uma forma de caracterizacao erecuperacao de imagens e proposta utilizando as Re-des Neurais Artificiais como instrumento para daras caracterısticas de baixo nıvel (cor, forma e tex-tura) uma interpretacao semantica baseada em classespre-estabelecidas. Tal semantica e adquirida duranteo treinamento da rede que tem a funcao de caracteri-zar cada regiao da imagem como sendo pertencente auma classe (por exemplo, rocha, agua, grama, etc.). Taisclasses serao baseadas em palavras chaves que descreve-rao a imagem em alto nıvel e que serao utilizadas para aformulacao de consultas.

1. Introducao

A revolucao tecnologica possibilitou, nos ultimos anos, apopularizacao de dispositivos de captura de imagens comocameras e scanners digitais. Com isso, se torna visıvel o au-mento do numero de imagens geradas por centros militarese sociais. Tais imagens podem perder sua utilidade se naoforem adequadamente organizadas ou se a busca dentro dosbancos de dados nao for realizada de maneira eficiente. Sis-temas de recuperacao de imagens baseada em conteudo po-dem se tornar uma ferramenta bastante util e eficiente pararesolver esse tipo de problema. Neles, as imagens sao inde-xadas pelos atributos, tambem chamados de caracterısticasde baixo nıvel, diretamente derivados do seu conteudo vi-sual como cor, forma, textura ou uma combinacao destespara refletir a semantica inerente as imagens e tentar repre-sentar o conteudo intrınseco das mesmas.

Mesmo depois do consideravel esforco nas pesquisasrealizadas durante a ultima decada, alguns problemas rela-cionados a recuperacao de imagens baseada em conteudoainda persistem e, atualmente, ainda nao existem sistemas

tao robustos quanto os sistemas de busca baseados emdescricao textual. A principal dificuldade e o gap-semanticoentre as concepcoes de alto nıvel usadas pelos seres hu-manos para entender o conteudo de uma imagem e as ca-racterısticas de baixo nıvel usadas na visao computacional[7]. Para um computador, a extracao do conteudo semanticode uma imagem e uma tarefa ardua, pois muitos obje-tos que possuem o mesmo conteudo semantico podem sertotalmente diferentes na aparencia visual e muitos obje-tos de diferentes categorias podem ser similares em suascaracterısticas [2]. Os humanos, por outro lado, possuemmuita informacao, a priori, sobre diferentes objetos que eusada para reconhece-los, ou seja, essa informacao e obtidaatraves de experiencias previas, preferencias pessoais, in-teresses e o contexto em que as imagens sao apresentadas.Este tipo de conhecimento e inerentemente difıcil de se re-produzir em uma aplicacao de visao computacional [5].

A ciencia da computacao esta enfatizando mais forte-mente uma importante transformacao que busca combinara computacao realizada em ciencia da computacao coma computacao observada na natureza que nos cerca. De-vido a percepcao humana ser o ponto de referencia paracomparacao da eficiencia dos sistemas de recuperacao deimagens, o desenvolvimento de um “sistema ideal” se tornabastante desafiador. Assim como a visao humana e umprocesso inteligente, capaz de extrair padroes de imagensque as caracterizem e fazer inferencias e generalizacoesatraves desses padroes associando-os a um conhecimentoprevio, acredita-se que um sistema de recuperacao de ima-gens efetivo deva ser dotado de tais capacidades, ou seja,deva possuir mecanismos inteligentes, capazes de fazer in-ferencias e/ou generalizacoes. Deste modo os atributos deuma rede neural, tais como aprender atraves de exemplos,generalizacoes redundantes e tolerancia a falhas, propor-cionam fortes incentivos para o uso de redes neurais comouma escolha apropriada para uma modelagem de um sis-tema de recuperacao baseado em semanticas de alto nıvel.

334

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 346: III WVC 2007

Neste artigo, uma aproximacao para a recuperacao deimagens baseada em semanticas de alto nıvel e apresen-tada. Dois aspectos importantes para a recuperacao de ima-gens sao considerados: a recuperacao de imagens que con-tenham o maior numero de regioes possuindo o(s) con-ceito(s) semantico(s) dado(s) pelo usuario e a fusao de di-ferentes caracterısticas de baixo nıvel para dar a rede o co-nhecimento necessario para reconhecer as regioes.

2. Trabalhos Correlatos

Para tentar reduzir o gap-semantico existente entre opoder limitado de interpretacao semantica pelas maquinase a rica subjetividade do pensamento humano alguns tra-balhos baseados em semanticas de alto nıvel tem sido pro-postos com o uso de ferramentas formais como tecnicas deaprendizado supervisionado [8]. O objetivo do aprendizadosupervisionado e fornecer um resultado (por exemplo, umacategoria semantica a qual a consulta pertence) baseado emuma serie de dados entrada [3]. Algumas tecnicas, como oSupport Vector Machine (SVM) [9], podem ser utilizadaspara aprender conceitos de alto nıvel (como categoriassemanticas) atraves de caracterısticas de baixo nıvel (comoatributos de cor, forma e textura).

O SVM tem sido muito utilizado para reconhecimentode objetos, classificacao de textos, e e considerado um bomcandidato para o aprendizado em sistemas de recuperacaode imagens [13]. Tal tecnica e utilizada para encontrarum hiperplano que separa os dados de entrada. Dentre ospossıveis hiperplanos, o plano separador otimo (OSP) iramaximizar a distancia entre o hiperplano e os pontos maisproximos de cada classe e utilizar esse separador para clas-sificar as imagens [10].

As redes neurais tambem podem ser utilizadas parase fazer a classificacao de imagens. Nesse caso um con-sideravel numero de dados de treinamento (caracterısticasde baixo nıvel) e inserido na rede neural para estabe-lecer o vınculo entre os dados de entrada e suas ca-tegorias [14]. A classificacao se da na constituicao defronteiras de decisao nao lineares no espaco de carac-terısticas de baixo nıvel, adequando a imagem consulta aogrupo em que ela mais se aproxima.

No artigo [16], Zhang propoe uma forma de recuperacaode imagens em alto nıvel, atraves da divisao das imagens deinteresse em blocos de regioes uniformes e extraindo carac-terısticas de baixo nıvel (atraves de sete descritores: CLD,CSD, DCD, EHD, TGF, GLC e HSV) para montar vetoresde caracterısticas ponderados. A pesagem de cada termo edada pelo calculo da matriz de distancias do vetor para ocentroide do conjunto de vetores que caracterizam um con-ceito pre-escolhido. A recuperacao e, entao, feita atravesdesses vetores ponderados.

Em [6] e proposto um sistema de recuperacao de ima-gens atraves das redes neurais, onde cada imagem e carac-terizada em baixo nıvel (atraves da Transformada Discretado Co-seno) e associada a um ou mais conceitos presentesnesta. O vetores de caracterısticas e seus respectivos rotulossao reunido em um conjunto para treinar a rede neural e es-tabelecer o vınculo entre as caracterısticas e os conceitospre-definidos. Os resultados mostram que as redes neuraispodem ser capazes de memorizar tais categorias mas, paraimagens compostas por varios conceitos semanticos os re-sultados nao sao satisfatorios. Motivado por essas ideias,esse trabalho propoe a divisao das imagens em regioes uni-formes como em [16], de forma que cada regiao contenhaum unico conceito, para treinar uma rede neural dando aligacao entre um vetor de caracterısticas que represente ostres atributos principais da recuperacao de imagens (cor,forma e textura), tornando a rede mais robusta e a ligacaoentre as caracterısticas de baixo nıvel e seus respectivosconceitos ainda mais intrınseca.

3. Recuperacao de Imagens Baseada em Ob-jetos

Na maioria dos cenarios em recuperacao de ima-gens os usuarios sempre focam a atencao em simples ob-jetos. As pessoas sempre tendem a procurar objetos deinterpretacao semantica mais simples filtrando incons-cientemente elementos ao redor da cena bem como ou-tros objetos mais complexos. Entretanto, a segmentacaode objetos nao e discutida nesse trabalho, visto que asegmentacao de uma imagem em objetos semantica-mente significativos e tao desafiante quanto o proprio pro-blema do gap-semantico. A relacao de objetos nesse tra-balho sera dada atraves do exame de pequenos blocosde tamanho fixo extraıdos das imagens (tambem chama-dos de regioes). O uso de tal tecnica pode ser baseada naobservacao de que os usuarios estao interessados em encon-trar objetos nas imagens, nao se importando o ambiente emque ela esta inserida e de que as regioes caracterizam me-lhor um determinado objeto do que a caracterizacao de todaa imagem. A figura 1 mostra um exemplo que ilustra es-sas observacoes. As regioes destacadas representam ascategorias semanticas: rochas, agua e vegetacao. Estes blo-cos sao pequenos o suficiente para conter um unicoobjeto e grandes o bastante para carregar informacao sufi-ciente na caracterizacao do objeto em questao.

O metodo proposto pode ser dividido em duas etapas:fase de treinamento e fase de consulta. Foram escolhidoscinco conceitos semanticos diferentes a serem representa-dos: agua, vegetacao, nuvens, pedras e tigres. Para dar o co-nhecimento necessario a rede neural e para que a mesmapossa reconhecer tais categorias nas imagens foram sele-cionadas manualmente varias imagens contendo os referi-

335

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 347: III WVC 2007

Figura 1. Blocos de regioes em uma imagem.

dos conceitos e, a partir dessas imagens foram extraıdosblocos de regioes uniformes para cada um dos conceitoscitados. Cada bloco tornou-se entao uma nova imagem.Foram selecionadas 248 imagens e geradas 621 regioes. Afigura 2 mostra um exemplo de regioes utilizadas no treina-mento para cada conceito semantico, bem como o numerode regioes utilizadas para representar cada categoria. Aposescolhidas essas regioes, as mesmas passam por extratoresde caracterısticas de baixo nıvel que servirao de entradaspara a rede. A proxima secao elucida esta etapa.

4. Caracterizacao das Imagens em BaixoNıvel

Sistemas de Recuperacao de Imagens baseada emConteudo (CBIR) se utilizam da hipotese de corres-pondencia de uma dada imagem a outra a partir deseus atributos. Nesses sistemas as imagens sao indexa-das por um conjunto numerico de dados relevantes. Essaestrutura de dados tambem chamada de vetor de caracterıs-ticas abstrai a informacao necessaria para a representacaodestes atributos. Os atributos principais utilizados em sis-temas CBIR sao: cor, forma e textura. A partir de umacaracterizacao adequada de uma imagem e da escolha deuma ferramenta adequada de recuperacao e possıvel iden-tificar alguns padroes principais na mesma ou realizardescricoes sobre o conteudo dela. Neste trabalho, as car-acterısticas de baixo nıvel extraıdas das imagens formaraoo vetor de entradas da rede neural denotados por F =x1, x2, x3, ..., xn, xn+1, xn+2, xn+3, ..., xn+m, xn+m+1,xn+m+2, xn+m+3, ..., xn+m+o onde o conjunto xi re-

Figura 2. Amostra dos blocos consideradospara os conceitos: vegetacao, agua, tigre,rochas e nuvens.

presenta, para 1 < i ≤ n os atributos de cor; para(n + 1) < i ≤ (n + m) os atributos de forma e para(n + m) < i ≤ os atributos de textura. Logo a di-mensao do vetor sera (n + m + o) e consequentemente estesera o numero de entradas na rede.

Esse vetor de caracterısticas nao sera usado comoparametro de verificacao de similaridade como ocorre emsistemas de recuperacao tradicionais, consequentemente,nao sera armazenado no banco de dados do sistema. As ca-racterısticas serao utilizadas unica e exclusivamente paraservirem como entradas da rede e serao descartadas logoem seguida. As subsecoes seguintes apresentam os tres des-critores (de cor, forma e textura) utilizados no treinamentoda rede neural.

4.1. Momentos de Cor

A recuperacao de imagens baseada na semelhanca dascores requer distancias no espaco de cores pertinentes apercepcao humana. Qualquer diferenca resultante entre oespaco de cores e avaliada como uma distancia entre os pon-tos de cores correspondentes. Ao longo do tempo, variastecnicas relativamente simples e robustas foram propostaspara avaliar essa semelhanca. A indexacao de imagens porcor foi introduzida por [12].

Uma dessas tecnicas sao os momentos de cor [11] quecaracterizam as imagens em termos da distribuicao dascores. As imagens sao representadas no espaco de cor HSV

336

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 348: III WVC 2007

(Hue, Saturation and Value) e cada canal de cor e interpre-tado por tres medidas estatısticas.

Sendo N o numero de pixels da imagem e pij o valordo i-esimo canal de cor para o j-esimo pixel da imagem,media, desvio padrao e inclinacao sao computados atravesdas expressoes 1, 2 e 3, respectivamente.

Ei =1

N

N∑j=1

pij (1)

σi =

√√√√ 1

N

N∑j=1

(pij − Ei)2 (2)

Si = 3

√√√√ 1

N

N∑j=1

(pij − Ei)3 (3)

Estes tres momentos sao colhidos para cada componentede cor, totalizando nove momentos.

4.2. Vizinhanca de Textura

A textura e uma propriedade inata de todas as superfıciese isso pode ser facilmente usado para representar diferentesmaterias. Um bom metodo para se descrever a textura deuma imagem e o chamado descritor de vizinhanca de tex-tura [15]. Nesse metodo um descritor de dimensao oito e ge-rado da seguinte forma: se o valor de um pixel na vizinhancade oito e maior que o pixel central entao, o contador dire-cional indicando a respectiva direcao e incrementado. Isto efeito para todos os pixels na imagem.

4.3. Histograma de Direcao da Borda

Os primeiros experimentos em extracoes de caracte-rısticas de forma foram feitos utilizando histogramas dedirecao da borda [1] que e computado da seguinte maneira:primeiramente, o modelo de espaco de cores e transfor-mado no modelo de cores HSV onde a variavel Hue edesconsiderada por questoes explicadas em [1]. As outrasduas variaveis sao convolvidas, ou seja, transformadas emuma nova imagem atraves de operadores de Sobel em oitodirecoes [1].

A imagem resultante desta operacao e entao binarizadacom um valor de threshold apropriado para cada variavel.Os valores de threshold sao, entao, manualmente fixadospara que sejam os mesmos em todas as imagens. Os his-togramas de borda sao calculados contando os pixels daborda em cada uma das oito direcoes [1].

5. Modelagem Semantica

A proposta da modelagem semantica nesse trabalho eassociar as caracterısticas visuais de baixo nıvel com osconceitos semanticos contidos nas imagens. Uma rede neu-ral multicamadas foi empregada para tal tarefa, possuindo100 neuronios na camada oculta e 5 neuronios na camadade saıda (que representam as categorias semanticas pre-determinadas: rochas, agua, nuvens, tigres e vegetacao). Aentrada da rede sera composta por 26 unidades, sendo 9para os momentos de cor, 8 para a vizinhanca de textura, 8para o histograma de direcao da borda e 1 para o bias. SejaG = (F, S) uma colecao de pares caracterısticas-rotulo, arede neural sera iterativamente treinada de forma supervi-sionada ate que minimize o erro global entre a saıda realda rede e o rotulo S. Uma funcao de ativacao sigmoideϕ(.) = 1

1+e−x e usada tanto na camada oculta, quanto nacamada de saıda. O treinamento da rede e, entao, realizadoutilizando um algoritmo de retropropagacao do erro [4].

6. Representacao da Consulta e Medida de Si-milaridade

Apos a rede estar treinada e sua memoria estar carregadade informacoes pertinentes a fase de treinamento, a proximaetapa sera utilizar essas informacoes em imagens de umbanco de testes. Nessa fase cada imagem do banco de da-dos de testes foi dividida em 16 regioes e cada regiao foicaracterizada em baixo nıvel que, por sua vez, foram intro-duzidas na rede neural para produzir um vetor de indicacaoO = (o1, o2, ..., o5), onde ok ∈ (−1, 0, 1). Os valores1(−1) denotam a presenca (ou ausencia) de uma catego-ria semantica contida na regiao em questao e o valor 0representa aquelas regioes em que a rede nao conseguiuidentificar a presenca ou nao de tais categorias. Logo cadaimagem sera representada, na fase de consulta, pelo vetorI = (O1, O2, ..On), onde n e o numero de regioes e Oj

e o vetor de indicacao para a regiao j. Apos todas as ima-gens serem caracterizadas em alto nıvel e possuırem os ve-tores de indicacao, passa-se entao a fase de consulta. Nessafase, o usuario escolhe, atraves de uma interface, quais ob-jetos o mesmo deseja que a imagem a ser recuperada pos-sua. Com esses dados, o sistema ira montar um vetor de va-lores reais Q = (q1, q2, ..., q5), onde qi ∈ (1, 0) e no qual1(0) representa a presenca (ou nao) do conceito na consulta.Assim, a medida de similaridade utilizada pelo modelo pro-posto e dada pela equacao 4,

S(Q, I) =m∑

i=1

n∑j=1

(qioji) (4)

onde qi e o i-esimo elemento do vetor consulta Q e oji e oi-esimo elemento do vetor de indicacao O para a regiao j.

337

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 349: III WVC 2007

As maiores distancias formarao um ranking, onde as ima-gens que possuırem o maior numero de regioes com a(s)categoria(s) escolhida(s) pelo usuario estarao no topo deste.

7. Testes e Resultados Experimentais

O sistema proposto foi implementado em JAVATM eapos a fase de treinamento com as 621 regioes dos 5 con-ceitos pre-estabelecidos passou-se a fase de testes. Nestafase foi montado um banco de dados possuindo 2300 ima-gens com cenas diversas e com varias delas possuindo al-guns dos cinco conceitos: rochas, agua, nuvens, tigres evegetacao. Cada imagem desse banco foi dividida em umgrid de 16 regioes uniformes, cada regiao foi caracteri-zada em baixo nıvel e passada pela rede neural ja treinadagerando os vetores de indicacao.

As figuras 3, 4 e 5 mostram os resultados de consul-tas para um unico conceito (agua ,vegetacao, nuvens e ti-gres). Tais resultados demonstram a habilidade de o sistemamemorizar os padroes de cada conceito durante a fase detreinamento.

Figura 3. Ranking obtido para a consulta:vegetacao.

A figura 6 mostra um experimento onde o vetor con-sulta possui mais de um conceito atribuıdo (agua e rochas).Este tipo de consulta pode ser considerada uma consultabooleana do tipo OU(OR), visto que na implementacao dosistema nao ha a normalizacao do vetor de consulta, fazendocom que o sistema retorne as imagens com o maior numerode regioes que possuem os conceitos inseridos, indepen-dente de quais sao eles.

Para avaliacao de desempenho do sistema foi utilizadauma formula de precisao como em [16]. Nessa formula foiusado um valor de limiar para definir quantas imagens seraoanalisadas no topo do ranking para definir o numero de ima-gens relevantes. O valor do limiar usado foi 50, isto e, foram

Figura 4. Ranking obtido para a consulta: nu-vens.

Figura 5. Ranking obtido para a consulta: ti-gres.

analisadas as primeira 50 posicoes do topo do ranking. Ocalculo da precisao foi feito pela formula 5:

Pi =i

K(5)

onde k e o limiar, i e o numero de elementos de (Ui ∩ Vi),Vi e o conjunto das primeiras K imagens recuperadasusando o conceito i como consulta e Ui e o conjunto dasimagens relevantes usando o conceito i como consulta. Osvalores de precisao utilizando K=50 como limiar sao apre-sentados na tabela 1.

Pode-se observar que a taxa de precisao para o conceitoagua e baixa, pois nas primeiras posicoes do ranking, paraa consulta desse conceito, foram retornadas muitas imagensde nuvens, visto que as propriedade locais (cor, forma e tex-tura) sao bem semelhantes.

338

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 350: III WVC 2007

Figura 6. Ranking obtido para a consulta:agua OU rochas.

Conceito Precisao

agua 42%vegetacao 100%

nuvens 100%rochas 56%tigres 76%

Tabela 1. Valores de precisao para a primeirapagina de imagens recuperadas com limiarigual a 50.

8. Conclusoes e Trabalhos Futuros

Neste trabalho foi apresentado um sistema derecuperacao de imagens baseado em semanticas de obje-tos com o uso das redes neurais para dar a ligacao entrecada regiao e seu respectivo conceito. Nota-se que o apren-dizado neural pode ser uma forma robusta de aquisicaode conhecimentos principalmente para suprimir a sub-jetividade humana e reduzir assim a discrepancia en-tre o poder de descricao limitado das caracterısticas debaixo nıvel e a descricao de alto nıvel feita por inter-pretadores humanos. Tal tecnica fez uso das caracterıs-ticas de baixo nıvel (cor, forma e textura) como suportepara a formacao de um vetor de indicacao represen-tado pelo conhecimento da rede neural adquirido por exem-plos pre-definidos no treinamento da mesma.

Baseado na avaliacao de desempenho da mesma assimcomo na analise visual dos resultados pode-se notar a ha-bilidade do metodo proposto para uma recuperacao efetivadas imagens de acordo com os conceitos semanticos dados,demonstrando sua potencialidade.

Como trabalhos futuros pretende-se incrementar o mo-delo com o aumento do numero de conceitos bem como aexpansao da consulta atraves do retorno de relevantes dadopelo usuario para aumentar ainda mais a precisao do rankinginicial. Pretende-se tambem realizar novos estudos e testescom respeito a segmentacao de imagens para que o sistemafique ainda mais robusto e para que as regioes segmen-tadas caracterizem ainda mais as semanticas de alto nıvelutilizadas por interpretadores humanos.

Referencias

[1] S. Brandt. Use of shape features in content-based image re-trieval. Master’s thesis, Helsinky University of Technology,Espoo, Finlandia, 1999.

[2] A. Gupta and R. Jain. Visual information retrieval. Commu-nications of the ACM, 40(5):70–79, 1997.

[3] T. Hastie, R. Tibshirani, and J. Friedman. The Elements ofStatistical Learning: Data Mining, Inference, and Predic-tion. New York: Springer-Verlag, 2001.

[4] S. Haykin. Redes Neurais: Princıpio e Pratica. 2 edition,2001.

[5] Y. Liu, D. Zhang, G. Lu, and W.-Y. Ma. A survey of content-based image retrieval with high-level semantics. PatternRecogn., 40(1):262–282, 2007.

[6] X. Ma and D. Wang. Semantics modeling based image re-trieval system using neural networks. In ICIP (1), pages1165–1168, 2005.

[7] Y. Rui, T. Huang, and S. Chang. Image retrieval: currenttechniques, promising directions and open issues, Apr. 1999.

[8] I. K. Sethi, I. L. Coman, and D. Stan. Mining associationrules between low-level image features and high-level con-cepts. Proceedings of the SPIE Data Mining and KnowledgeDiscovery, III:279–290, 2001.

[9] R. Shi, H. Feng, T.-S. Chua, and C.-H. Lee. An adaptive im-age content representation and segmentation approach to au-tomatic image annotation. In CIVR, pages 545–554, 2004.

[10] R. Shi, H. Feng, T.-S. Chua, and C.-H. Lee. An adaptive im-age content representation and segmentation approach to au-tomatic image annotation. International Conference on Im-age and Video Retrieval (CIVR), pages 545–554, 2004.

[11] M. Stricker and M. Orengo. Similarity of Color Images, vol-ume 2, pages 381–392. 1995.

[12] M. J. Swain and D. H. Ballard. Color indexing. Int. J. Com-put. Vision, 7(1):11–32, 1991.

[13] S. Tong and E. Chang. Support vector machine active learn-ing for image retrieval. In MULTIMEDIA ’01: Proceedingsof the ninth ACM international conference on Multimedia,pages 107–118, New York, NY, USA, 2001. ACM Press.

[14] C. Town and D. Sinclair. Content based image retrieval us-ing semantic visual categories, 2000.

[15] M. Tuceryan and A. K. Jain. Texture analysis. pages 235–276, 1993.

[16] Q. Zhang and E. Izquierdo. Combining low-level featuresfor semantic inference in image retrieval. Eurassip - Jour-nal on Advances in Signal Processing, April, 2007.

339

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 351: III WVC 2007

Eliminação de Ruídos e Extração de Bordas em Imagens Digitais via Equação deDifusão não-Linear

Wallace Correa de Oliveira CasacaDCCE-IBILCE-UNESP

Rua Cristóvão Colombo, 226515054-000 - São José do Rio Preto - SP

[email protected]

Maurílio BoaventuraDCCE-IBILCE-UNESP

Rua Cristóvão Colombo, 226515054-000 - São José do Rio Preto - SP

[email protected]

Resumo

Este trabalho encontra-se inserido dentro de uma linhade pesquisa bastante interesstante no contexto de restau-ração e segmentação de imagens: a de eliminação de ruí-dos, que consiste em utilizar modelos matemáticos basea-dos em equações diferenciais parciais para restaurar ima-gens digitais danificadas, removendo ou minimizando o ní-vel de ruído na imagem. Aplicações nesta área incluem: tra-tamento de imagens médicas e biológicas, reconstrução defotografias antigas, remoção de textos sobrepostos, suaviza-ção de imagens captadas por radares, entra outras. Nestetrabalho, vamos retratar o modelo de eliminação de ruídoproposto pelos autores Barcelos, Boaventura, e Silva Jr.[1], cuja principal finalidade é eliminar ruídos de forma amanter a estrutura da imagem intacta quanto à suas bordase contornos, possibilitando que haja aplicações de trans-formadas para segmentar imagens digitais. Também vamosapresentar uma abordagem de extração de bordas em ima-gens pré-processadas por meio da transformada Top-hat

1. Introdução

Atualmente, tem-se observado um interesse crescente nodesenvolvimento de novas técnicas e aplicações em proces-samento de imagens. Aplicações nesta área incluem elimi-nação de ruídos, tratamento de imagens médicas, reconstru-ção de fotografias antigas e filmes danificados, remoção detextos sobrepostos, edição de imagens, animações 3D, en-tre outros.

Neste contexto, as equações diferenciais parciais (EDP)vem sendo utilizadas com grande sucesso na modelagem esolução de problemas nesta área, em especial nas áreas deretoque digital (inpainting) e de remoção de ruídos.

O termo ruído pode ser entendido como alterações in-devidas nas escalas de tonalidades de cores que constituem

uma imagem. Nesse sentido, os autores Barcelos, Boaven-tura e Silva Júnior, em [1], propuseram um modelo de di-fusão anisotrópica, o qual trata de maneira diferenciada ospontos de bordas e interiores em uma imagem digital, pro-porcionando um bom equilíbrio nos aspectos eliminação deruídos e preservação de bordas.

Com base nestas informações, o objetivo central destapesquisa é desenvolver o processo de eliminação de ruídosem imagens digitais através de uma análise teória e experi-mental do modelo baseado em equações diferenciais de di-fusão proposto pelos autores de [1] e efetuar a extração decontornos internos da imagem por meio da transformaçãoTop-hat.

2. Modelos Baseados em EDP Não-Linearespara a Eliminação de Ruídos

Durante o processo de aquisição de uma imagem, queserá denotada por u, podem surgir diversos tipos de interfe-rências (ruídos). Do ponto de vista matemático, esses ruídossão caracterizados pela relação SNR (Signal to Noise Ra-tio), medido em decibels (db), que é expresso por:

SNR = 10 log

(σ2

t

σ2η

), (1)

onde σt é o desvio padrão da imagem original (sem ruído)e ση é o desvio padrão do ruído. A Figura (2) mostra umexemplo de imagens com diferentes níveis de contaminaçãopor ruído.

Para solucionar tal problema, vamos considerar o mo-delo de remoção de ruídos e segmentação de imagens pro-posto em [1], que neste contexto será denotado por modeloBBS.

Os autores propuseram um modelo seletivo, efetuandouma suavização mais completa nas regiões homogêneas, esuperficial sobre as bordas, preservando assim a estrutura

340

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 352: III WVC 2007

Figura 1. Imagem original.

Figura 2. Imagem com ruído (SNR = 1 db).

original da imagem. Assim, em termos matemáticos, o mo-delo proposto é dado pela seguinte equação diferencial:

∂u

∂t= g|∇u|div

( ∇u

|∇u|)− λ(1 − g)(u − I) (2)

onde u(x, y, 0) = I(x, y) representa a imagem original pro-vida de ruído, g = g(|∇Gσ ∗ u|) é uma função monótonaque depende da convolução de um núcleo gaussiano com afunção principal u. Neste trabalho, temos que

g = g(|∇Gσ ∗ u|) =1

1 + k|∇Gσ ∗ u|2 , com

Gσ(x, y, t) =1

2σπte− (x2 + y2)

2σt .

A variável σ, presente na função gaussiana G, é tomadacomo sendo o desvio padrão do rúido ση presente na ima-gem contaminada u(x, y, 0) = I(x, y).

As condições de contorno para o modelo apresentado an-

teriormente são do tipo Neumann, isto é,∂u

∂n= 0, onde n é

o vetor normal ao contorno da região Ω de definição da ima-gem.

Esse modelo, o qual segue uma corrente teórica baseadaem equações de difusão originadas a partir do modelo deMalik e Perona [6], consiste em aplicar seletivamente o pro-cesso de difusão descrito 2, suavizando de forma mais inci-siva regiões mais homogêneas e fazendo com que o termoforçante λ(u−I) atue de forma mais intensa nas regiões ca-racterizadas como de contorno, e assim, preservando-as.

2.1. Processo Iterativo do Modelo Difusivo

A implementação computacional do modelo consiste emutilizar um procedimento iterativo visando a suavização daimagem com ruído.

Assim, considere uma imagem digital u0(i, j) : D =[0, N ] × [0,M ] ⊂ N

2 → E ⊂ R, onde E é um con-junto enumerável finito, que representa uma certa gradaçãode cinza.

A idéia fundamental de qualquer modelo de denoi-sing baseado em EDP é construir uma família de imagensu(i, j, t) : D × N → E, tal que

u(i, j, 0) = I(i, j),

isto é, a imagem digital provida de ruído I(i, j) dever ser aprimeira imagem desta família e

limt→∞u(i, j, t) = uR(i, j),

onde uR(i, j) é a imagem obtida após aplicarmos um deter-minado algorítmo recursivo com base no modelo de elimi-nação de ruídos em questão.

Na maioria dos casos, os algorítmos numéricos recursi-vos são da forma:

u(i, j, t + 1) = u(i, j, t) + ∆t L(u),

onde L é um operador que denota a equação central do mo-delo em estudo. Neste caso, a discretização do operador L éfeita substituindo-se as derivadas presentes em L por equa-ções de diferenças.

Na prática, após aplicarmos um número considerável deiterações no parâmetro temporal, isto é, para t suficiente-mente grande, obtemos

u(i, j, t) = uR(i, j),

341

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 353: III WVC 2007

que é, de fato, a imagem restaurada obtida a partir da ima-gem com ruído I .

É válido ressatlar que neste trabalho vamos implemen-tar o modelo de remoção de ruídos BBS apenas em ima-gens monocromáticas.

No caso do calculo o termo da convolução de g(|∇Gσ ∗u|), utilizamos regras de quadratura.

3. Morfologia Matemática

De acordo com [7], a teoria da Morfologia Matemáticaé fundamentada na análise de decomposição de operado-res entre reticulados completos em termos de quatro clas-ses de operadores elementares conhecidos por erosão, dila-tação, antierosão e anti-dilatação.

Essa teoria se baseia no uso de elementos estruturantes,os quais são caracterizados como conjuntos definidos e co-nhecidos (forma e tamanho), que são comparados ao con-junto desconhecido da imagem.

Em termos matemáticos, a morfologia matemática éconstituída a partir de dois operadores básicos, a erosão ea dilatação.

Definição 1. A erosão de u por um elemento estruturanteB é definida por:

[εB(u)](x) = minb∈B

f(x + b) + B(b) (3)

Definição 2. A dilatação de uma imagem em tons de cinzapor um elemento estruturante é definida como:

[δ(u)B(u)](x) = maxb∈B

f(x + b) + B(b) (4)

Embora os operadores dilatação (4) e erosão (3) ressal-tem algumas características quanto às tonalidades escurasou claras da imagem, quando aplicados isoladamente, sãotransformações que nem sempre evidenciam todas as ca-racterísticas reais da imagem. Entretanto, esses operado-res possibilitam constituir algumas funções muito interes-santes, como por exemplo, o gradiente morfológico, fecha-mento, abertura, segmentação, entre outros.

3.1. Transformação Top-hat

Partindo dos conceitos precedentes sobre os operadoresbásicos da Morfologia Matemática (erosão e dilatação), épossível definir o Gradiente Morfológico por dilatação eerosão como a diferença aritmética entre a dilatação e ero-são de uma imagem u por um elemento estruturante B, istoé:

ρ(u) = δB(u) − εB(u). (5)

onde:

• ρ representa o gradiente por dilatação e erosão;

• δB é a dilatação pelo elemento estruturante B;

• εB é a erosão pelo elemento estruturante B.

Uma propriedade importante do gradiente morfológicoé que ele não é invariante à operação de complementação,sendo, portanto uma transformação auto-complementar.

Outro termo comum em meio a este contexto é a aberturade uma imagem u por um elemento estruturante B, pode-mos defini-lá pela operação de erosão de u por B, seguidopela operação de dilatação com elemento estruturante trans-posto B, a qual é determinada pela expressão:

γB(u) = δB [εB(f)]. (6)

Já o fechamento φ de uma imagem u por um elementoestruturante B, pode ser definido pela operação de dilataçãode u por B, seguido pela operação de erosão com elementoestruturante transposto B, isto é, em termos algébricos:

φB(u) = εB [δB(f)]. (7)

Assim, uma maneira de enfatizar a detecção de bordas,consiste em usar uma combinação entre uma imagem ori-ginal e a imagem correspondente aberta (operação de aber-tura), ou usar a imagem fechada (operação de fechamento)e a imagem original. Os Top-hats são transformações carac-terizadas por essas combinações.

O Top-hat por abertura, de uma imagem u, é definidoconsiderando-se a diferença aritmética entre a imagem ori-ginal u e a imagem aberta γ, cuja formulação matemática édefinida por:

WTH(u) = u − γ(u). (8)

Por outro lado, a transformação Top-hat por fechamentode uma imagem u é definida pela diferença aritmética entreo fechamento φ da imagem original e a imagem original u.

BTH(u) = φ(u) − u. (9)

Neste trabalho, adotamos a transformada Top-hat de fe-chamento (9) como auxílio para a correção do fundo da ima-gem. Assim, após a imagem ser pré-processada pelo mo-delo de eliminação de ruído (2), aplica-se a transformaçãoTop-hat de fechamento (9), obtendo-se a imagem completa-mente segmentada.

4. Resultados Experimentais

Para efeito de ilustração, apresentamos quatro exemplos,nos quais foram empregados as técnicas propostas neste tra-balho. As três primeiras imagens experimentais são consti-tuídas por matrizes de dimensões 256 x 256 em escala decinza, cuja tonalidade varia de 0 a 255.

342

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 354: III WVC 2007

No primeiro experimento consideramos a fotografia damodelo Lenna, cujo o SNR = 7. Em seguida, aplicamos omodelo (2) em uma imagem geométrica extremamente da-nificada, com SNR = 0. Para os dois últimos experimen-tos, procuramos evidenciar o processo de suavização utili-zando o modelo (2) seguido da aplicação da transformaçãoTop-hat para a extração dos contornos internos da imagem.

Figura 3. Fotografia da Lenna, sem ruído.

Figura 4. Versão com ruído (SNR = 7).

5. Conclusão

Baseado em nossos experimentos, constatamos que o tra-tamento de imagens via EDP aliado à transformações queevidenciam a segmentação de imagens fornecem resultadosextremamente satisfatórios se tratando de qualidade visual.

Figura 5. Fotografia restaurada pelo modelo.

Figura 6. Imagem original, sem ruído.

Uma vantagem em utilizar equações diferenciais na sua-vização e remoção de ruídos em imagens é o fato de contar-mos com uma vasta variedade de resultados analíticos e nu-méricos, como é o caso da teoria de viscosidade em equa-ções diferenciais parciais, que nos fornece uma base teó-rica sólida para aplicar o formalismo matemático necessá-rio e alguns métodos de discretização de equações diferen-ciais, úteis para a confecção de algorítmos numéricos está-veis.

Através da discretização das equações descritas ante-riormente, originamos modelos iterativos de soluções, oque possibilitou uma implementação computacional robustadessas soluções. Em especial, foram usados o método de di-ferenças finitas e a regra de Simpson melhorada para discre-tizar tais termos.

No caso de tratamento de imagens de gel de eletrofo-rese, cujo estudo é bastante utilizado em seqüenciamento

343

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 355: III WVC 2007

Figura 7. Imagem contaminada por ruído(SNR = 0).

Figura 8. Imagem restaurada pelo modelo.

de DNA e em estudos de variação qualitativa e quantitativada separação de proteínas, as técnias utilizadas neste traba-lho apresentaram ótimos resultados, como pode ser visto em(4). Levando em consideração (4), pode-se dizer que a jun-ção dos métodos (2) e (9) apresentaram resultados satisfa-tórios no tratamento de imagens com alto nível de detalhes,como é o caso de imagens relacionadas à impressão digi-tal.

Gostaríamos de ressaltar que este ramo interdiscipli-nar inserido na área de processamento de imagens digi-tais caracteriza-se por uma evolução contínua e gradativade pesquisas científicas, gerando excelentes trabalhos, noentanto, há muito a ser pesquisado.

Figura 9. Impressão digital provida de ruído.

Figura 10. Imagem suavizada por (2).

5.1. Agradecimentos

Os autores agradeçem à FAPESP e à CAPES pelo su-porte a esta pesquisa.

Referências

[1] BARCELOS, C.A.Z, BOAVENTURA, M., SILVA, JR, A WellBalanced Flow Equation for Noise Remove and Edge Detec-tion, IEEE Transactions on Image Processing, pp. 751-763,2003.

[2] BARCELOS, C.A.Z, BOAVENTURA, M., SILVA, JR, Edgedetection and noise removal by use of a partial differentialequation with automatic selection of parameters, Computa-tional and Applied Mathematics, Brazil, vol. 24, n. 1, pp.131-150, 2005.

[3] BERTALMÍO, M., Processing of flat and non-flat image in-formation on arbitrary manifolds using Partial Differential

344

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 356: III WVC 2007

Figura 11. Extração dos contornos através datransformação Top-hat (9).

Figura 12. Imagem biológica de Gel de Eletro-forese.

Equations, Tese de Doutorado, University of Minnesota,2001.

[4] CUNHA, M.C.C., Métodos Numéricos, Editora Unicamp,Campinas - SP, 2ł ed., 2000.

[5] GONZALES, R., WOODS, R.E., Digital Image Processing,Prentice Hall., 2ł ed., 2002.

[6] MALIK, J., PERONA, P., Scale-space and edge detec-tion using anisotropic diffusion, IEEE Transactions PatternAnalysis and Machine Intelligence, vol 12, no. 7, pp. 629-639, 1990.

[7] MEDEIROS, N.G., SILVA, E.A., NOGUEIRA, J.R., Segmen-tação Morfológica de Imagens utilizando o Gradiente Mor-fológico Multi-Escala, Revista Brasileira de Cartografia, Pre-sidente Prudente, vol. 01, n. 54, pp. 77-85, 2002.

Figura 13. Versão suavizada por (2).

Figura 14. Extração dos contornos através datransformação Top-hat (9).

[8] MITCHELL, A.R., GRIFFITHS, D.F., The Finite DifferenceMethod in Partial Differential Equations, John Wiley, 1980.

[9] RUDIN, L., OSHER, S., FATEMI, E., Nonlinear Total Va-riation Based Noise Removal Algorithms, Physica D 60,pp.259-268, 1992.

[10] YE X., SUEN, C. Y., CHERIET, M., WANG, E., Procee-dings of Vision Interface, Trois-Rivières, pp. 432-438, 1999.

[11] TEIXEIRA, R., Introdução aos Espaços de Escala, 23ž Coló-quio Brasileiro de Matemática, IMPA, Rio de Janeiro, 2001.

345

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 357: III WVC 2007

Processamento Multidomínio de Imagens Mamográficas para a Remoção de Ruídos com Preservação de Bordas

Evanivaldo Castro Silva Júnior Homero Schiabel Faculdade de Tecnologia – FATEC/RP e Universidade de São Paulo – USP/EESC

Centro Universitário de Votuporanga – UNIFEV Departamento de Engenharia Elétrica [email protected] [email protected]

Maurílio Boaventura Célia Aparecida Zorzo Barcelos UNESP/IBILCE - DCCE Universidade Federal de Uberlândia - UFU

[email protected] r [email protected]

Abstract

The main purpose of this paper is to apply a domain decomposition model proposed by Barcelos, Boaventura and Silva Jr [1] which has as its main characteristic a balanced diffusion for denoising processing with a consequent preservation of boundaries to mammographic entire image processing. Once this kind of images has a large domain this represents an expensive task in a computational point of view. Some numeric results will be shown in order to illustrate the performance obtained in the model.

1. Introdução

Com a evolução da tecnologia computacional, aliada ao incremento dos processos de obtenção de imagens do corpo humano tais como raios X, tomografia computadorizada, ultra-som, ressonância magnética, entre outras, a manipulação de imagens digitais tornou-se fundamental no auxilio do diagnóstico médico [2].

Como todo aparato tecnológico, esses dispositivos possuem limitações nos processos de obtenção, transmissão, armazenamento e, consequentemente, na interpretação dos resultados necessários ao diagnóstico médico [3] e [4].

Técnicas de processamento, constantemente são desenvolvidas e utilizadas para a minimização de tais efeitos [5].

Dentre os principais fatores limitantes, podemos citar a presença de ruído devido às etapas de obtenção e transmissão onde os artefatos tecnológicos envolvidos são os principais responsáveis [3].

O objetivo principal desse trabalho é aplicar o modelo proposto por Barcelos, Boaventura e Silva Jr [1] utilizado no processamento de imagens mamográficas [6], visando à remoção de ruídos com preservação de bordas no processamento da imagem mamografia inteira, isto é, em

todo o domínio da radiografia e não somente em regiões de interesse (RI).

A justificativa de tal aplicação deve-se ao fato que em esquemas de auxílio diagnóstico, os chamados CAD (Computer-aided Diagnosis), um dos desafios encontrados é a seleção automática de estruturas de interesse o que se comumente faz por uma seleção prévia de regiões de interesse através da intervenção humana, isto é, médicos radiologistas.

Entretanto, um processamento completo do exame mamográfico, pode eliminar tal etapa além de uma possível minimização de erros de natureza humana.

Dessa forma, a proposta visa aplicar a versão Multidomínio da ferramenta desenvolvida em [1], proposta em [7], onde a imagem mamográfica é fragmentada automaticamente em subdomínios e processada separadamente para posterior junção dos subdomínios em um domínio único final, nessa aplicação, a mamografia completa.

Além dos aspectos já mencionados de automação que a proposta enfoca, o modelo proporciona o processamento computacional em sistemas multiprocessados, uma vez que o código é totalmente paralelizável [7]. Como conseqüência o tempo de processamento é reduzido de forma significativa.

Alguns testes com imagens mamográficas reais e simuladores de estruturas orgânicas (phantom) são apresentados onde são evidenciados resultados iniciais satisfatórios.

2. Materiais e Métodos

2.1. Modelo de Difusão Anisotrópica

O processamento de imagens digitais via equações diferenciais parciais (EDP’s) é baseado em modelos matemáticos que procuram deformar as curvas ou superfícies que representam as imagens, uma vez que podem ser consideradas como funções de

346

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 358: III WVC 2007

[ ]2: ,u R a bΩ ⊂ → , de modo a se atingir o estado

estacionário dessas curvas [8]. Os modelos de difusão não-lineares baseados na

equação do calor tornaram-se importantes ferramentas no processamento de imagens digitais por agirem de forma seletiva, objetivando a remoção de ruídos com preservação de bordas.

Nesse estudo utilizamos o modelo proposto por Barcelos, Boaventura e Silva Jr. [7], dado pela equação:

2

| | (1 )( ), (1)| |

( , , 0) ( , ), ( , ) , 0

1(| * |) , (2)

1 | * |

0 1,

é o desvio padrão do ruído,

k é uma constante.

t

uu g u div g u I

u

u x y I x y x y t

g G uk G u

g

σσ

ω

σ

∇= ∇ − − −

= ∈ >

= ∇ =+ ∇

≤ ≤

⎛ ⎞⎜ ⎟⎝ ⎠

No modelo acima, u=u(x,y) é uma função bidimensional de intensidades de cinza que representa a imagem que está sendo processada, I=I(x,y) é a imagem inicial (com ruídos). O operador laplaciano é denotado por u∇ , o divergente por div e o produto de convolução

por *. Além disso temos que tω = ΩU e tω = ∅I .

Observemos que | * |G uσ∇ é uma aproximação de

| |u∇ e quando | * |G uσ∇ → ∞ temos g ~ 0, o que significa

regiões sugeitas ao processo de suavização (remoção de ruídos) mais intensa (regiões intra-bordas). Ao contrário quando | * | 0G uσ∇ → , g ~ ∞, ou seja, detecção de borda

e, eventualmente, ruídos (sinais de alta freqüência). Como o produto de convolução estima uma média de

intensidades de pixel de uma dada região, os ruídos isolados são removidos mantendo-se regiões de bordas as quais possuem uma maior intensidade de sinais de alta freqüência concentrados e, portanto, com maior representatividade nessa media. Dessa forma, a função gseleciona automaticamente o processo de suavização.

O modelo proposto em (1) possui uma parametrização quase totalmente automática [9] devendo somente ser informado a percentagem do processo de suavização o qual varia de 10 a 50%.

2.2. Decomposição em Subdomínios

A decomposição da imagem em subdomínios consiste em particionar a matriz suporte da imagem ( , )u x y ⊂ Ω ,

em submatrizes ( , )i

u x y , i é da forma

4 , 1, 2,n n ∈ L .Dessa forma, a imagem inicial é

subdividida em i imagens de mesma dimensão que por convenção são múltiplas de quatro, ou seja, as possibilidades de subdivisão são 4, 8, 16, etc. Um exemplo de tal subdivisão é mostrado na figura 2.

Figura 1. Imagem mamográfica original com 1221×839 pixels de domínio.

Devemos observar que o conjunto de sub-imagens deve ter intersecção vazia e que nas regiões de fronteira dependendo das condições de fronteira utilizadas há a possibilidade de se gerar interferências no contraste da imagem final global processada ou mesmo a propagação de ruído indevido (fenômeno de condensação do ruído na fronteira [10]), fato extremamente indesejado nesse tipo de imagem médica.

A fim de minimizar tal efeito foi utilizado as condições de fronteira de Neumann associada ao chamado Median Filter como sugerido em [10].

347

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 359: III WVC 2007

Figura 2. Subdivisão da imagem da figura 1 em 4 subdomínios.

Cada sub-imagem processada possui uma parametrização de acordo com as características de cada domínio, gerando uma maior especificidade e, consequentemente, um resultado mais adequado para cada região.

3. Resultados

Alguns testes computacionais utilizando imagens de mamografias completas foram realizados onde o principal enfoque foram os quesitos qualidade da imagem gerada, tempo de processamento e diminuição do ruído.

A figura 3 (a) e (b) destaca o aspecto visual das imagens geradas com o processamento realizado em 4 e 16 subdomínios, respectivamente.

Deve ser notado que nas regiões de bordas entre cada domínio a imagem é preservada não destacando, visualmente, sinais de descontinuidade de fronteira, ou mesmo condensação de ruído.

(a)

(b)

Figura 3. Mamografia referente à figura 1 processada pelo modelo proposto em [7] em (a) 4 subdomínios e (b) 16 subdomínios.

348

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 360: III WVC 2007

Em imagens de phantons, os resultados mostraram-se semelhantes visualmente (figura 4, 5 e 6).

Figura 4. Imagem de phantom antropomórfico original com 906×503 pixels de domínio.

Figura 5. Phantom Antropomórfico da figura 4 processado pelo modelo proposto em [7] em 4 subdomínios.

Figura 6. Phantom Antropomórfico da figura 4 processado pelo modelo proposto em [7] em 16 subdomínios.

Os tempos de processamento em cada domínio (tabela 1 e 2) evidenciam a redução do custo computacional quando comparado ao processamento seqüencial cujo tempo médio de processamento para essa imagem é de 132 segundos.

Tabela 1. Tempos de processamento em segundos da imagem da figura 1.

Processador Tempo em 4 subdomínios

Tempo em 8 subdomínios

1 32,8 7,5 2 9,9 8,0 3 28,1 2,2 4 24,5 2,3 5 8,4 6 1,0 7 0,8 8 4,0 9 6,2 10 2,8 11 1,2 12 4,8 13 6,3 14 5,2 15 8,0 16 8,1

349

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 361: III WVC 2007

Nessa análise devemos considerar como o tempo total de processamento em multidomínios os maiores tempos individuais em cada processo, especificamente 32,8 segundos em 4 subdomínios e 8,4 em 16 para a imagem da figura 1 e 1,3 segundos em 4 e 0,44 em 16 subdomínios para a figura 4, respectivamente.

Tabela 2. Tempos de processamento em segundos da imagem da figura 4.

Processador Tempo em 4 subdomínios

Tempo em 8 subdomínios

1 1,05 0,27 2 1,3 0,28 3 1,1 0,34 4 1,5 0,32 5 0,1 6 0,2 7 0,3 8 0,4 9 0,01 10 0,23 11 0,42 12 0,44 13 0,3 14 0,3 15 0,4 16 0,3

Obviamente esses tempos são variáveis dependendo de questões como a sobrecarga dos processadores e do próprio sistema de gerenciamento de forma mais global.

4. Discussão e Conclusões

O método proposto em [7] aplicado ao processamento de imagens mamográficas mostrou-se bastante adequado principalmente quando observados o tempo total de processamento, além da própria qualidade das imagens resultantes obtidas.

Como pode ser observado a relação sinal ruído foi melhorado, fato mais claramente observado nas imagens de phantons, o que deve exigir esforços futuros nesse seguimento de pesquisa, principalmente direcionados a quantificação dessa melhora através de uma análise via curvas ROC.

Além disso, a condição de fronteira utilizada mostrou-se razoavelmente adequada porém nota-se a necessidade de estudos visando à diminuição de oscilações de contraste e de propagação de ruído conseqüente das descontinuidades introduzidas pelo processamento paralelo.

Por fim, vale ressaltar que o método sugerido tem como principal característica ser naturalmente paralelizável e de fácil implementação computacional.

6. Referências

[1] C.A.Z. Barcelos, M. Boaventura e E.C. Silva Jr., “A Well-balanced Flow Equation For Noise Removal and Edge Detection”, IEEE Transactions on Image Processing, 2003, pp.751-763.

[2] P.N.T. Wells, “Choices in medicine: illustrations from imaging”, Journal of Medical Engineering and Technology, 1990, pp. 225-232.

[3] A.L. Evans, The evaluation of medical images, Bristol, UK, 1981.

[4] A. Macovski, Medical Imaging Systems, Prentice-Hall, 2002.

[5] Y., Ang, Handbook of Medical Imaging, Processing and analysis, Academic Press, 2000.

[6] E.C. Silva Jr. e H. Schiabel, “Remoção e ruídos e imagens de mama via equações diferenciais parciais”, II simpósio de Instrumentação e Imagens Médicas, 2005.

[7] M. Boaventura, E.C. Silva Jr., C.A.Z. Barcelos e I.G. Boaventura, “A Parallel and Serial Domain Decomposition for Noise Removal Using a Nonlinear Diffusion Equation”, in Proc. 7th VECPAR’06 High Performance Computing for Computational Science, Rio de Janeiro, 2006.

[8] P. Perona e J. Malik, “Scale space and edge detection using anisotropic diffusion”, in Proc. IEEE Computer Society Workshop on Computer Vision, 1987.

[9] C. A. Z. Barcelos, M. Boaventura and E. C. Silva Jr., “Edge detection and noise removal by use of a partial differential equation with automatic selection of parameters”, Computational & Applied Mathematics, 2005, pp. 131-150.

[10] E. C. Silva Jr., M. Boaventura and C. A. Z. Barcelos, “Boundary Conditions Analysis in Digital Image Processing by PDE’s”, In Proc. International Conference on Nonlinear Dynamics, Chaos, control and Their Applications in Engineering Sciences, 2005, pp. 49-50.

350

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 362: III WVC 2007

Background Estimation on Motion Scenes Using K-Means

Bruno Alberto Medeiros Luiz Marcelo Chiesse da Silva

Universidade de São Paulo Universidade Tecnológica Federal do Paraná

Escola de Engenharia de São Carlos Campus Cornélio Procópio

Departamento de Engenharia Elétrica Departamento de Eletrotécnica

[email protected] [email protected]

Adilson Gonzaga

Universidade de São Paulo

Escola de Engenharia de São Carlos

Departamento de Engenharia Elétrica

[email protected]

Abstract

Background subtraction techniques are widely used in

video systems for internal or external surveillance and

vehicle traffic tracking, by motion detection and image

segmentation. These techniques generally differentiate

and separate the motion pixels from pixels in a still area,

identifying the foreground and the background in a video

scene. For purpose of computational efficiency in

embedded systems, it can be done recursively averaging

the frames, and estimating the background from this

average. In a certain level of complexity, there are some

details to leave in count, like soft changes in background

pixels, that must be rejected, or a motion background.

The main aspect to consider is the fast convergence of a

changing pixel (motion pixel) to the average (background

estimated pixel). This paper is based in the

background estimation algorithm, increasing the

convergence of the estimation using the k-means

algorithm to reach the background.

1. Introduction

Background subtraction methods are applied mainly in

traffic and security systems and motion detection in

surveillance systems, by the segmentation of moving

areas in the frames. Generally is needed an embedded

system, and for this purpose, the system must be real-time

and use few computational power and memory. The

Gaussian mixtures [1],[2] and supervised statistical

machine learning techniques [3] generally claims for

computation and memory efficiency. For these features,

the background estimation algorithm [4] is a better

choice. The aim here is modify the algorithm for a

better performance, using the k-means algorithm. Unlike

clustering based in probability models for segmentation

[5] or clustering segmentation techniques [6], here the k-

means algorithm is used to auxiliate the algorithm.

2. background estimation

This method begins with the estimation of the

background calculating the mean at each frame in the

video sequence. In the conventional algorithm, each

pixel level increments or decrements the background

mean, updating the estimation (if there are no change, the

mean value doesn’t change). The variance is calculated

too by the same process with the non-zero differences and

is given to each pixel a label (motion or stationary pixel),

in a recursively framework. In figure 1, M is the

background mean, I the actual frame, V the variance and

D the pixel label. N is the number of non-zero differences

for a pixel between frames. According with [4], the range

value of N is small (between 1 and 4), and usually is a

power of 2. In the initialization, if the pixel is not located

in a background area, it could claims a great number of

frames to converge to the mean, producing the ghost

effect due to the slow convergence to the mean.

background estimation with k-means

Here, the pixel level is splited in clusters replacing the

increment/decrement in the algorithm by the cluster

number given by the k-means algorithm, in each pixel.

The pixel level is clusterized in each frame processing,

351

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.

Page 363: III WVC 2007

and the new pixel average value (in the background) is

estimated in a cluster. The number of clusters is a

adjustable parameter, but alter besides the computational

efficiency.

(1) M0 = I0

For each frame t:

Clt = k-means cluster number for each pixel;

Mt = Mt-1 + Clt

(2) t = |Mt - It|

(3) V0 = 0

For each pixel x in each frame t such that t(x) 0:

Vt(x) = Vt-1(x) + sgn(Nx t(x) - Vt-1(x))

(4) For each pixel x in each frame t:

if t(x) < Vt(x)

then Dt(x) = 0;

else Dt(x) = 1;

Figure 1. background estimation algorithm with k-means.

3. Conclusions

The key in the background estimation by the

background averaging and variance is the fast

convergence of a pixel level to the background average,

when subject to changes. Figure 4 and 5 shows the

labelling results for the conventional background

estimation algorithm and with the k-means, respectively,

after 50 frames (white areas are motion pixels and black

the background pixels). With the k-means, the variation

produced by the noise vanishes, enhancing the

process. This result was obtained in real time in a Java

runtime enviromment, for a 4 fps video rate, grayscale

320x240 frames, in a 1.7 MHz microcomputer system,

using 4 clusters in the algorithm.

References

[1] P. W. Power, J. A. Schoonees. Understanding Background

Mixture Models for Foreground Segmentation. Proceedings

Image and Vision Computing, pp. 267-271, 2002.

[2] C. Stauffer, W.E.L Grimson. Adaptive background mixture

models for real-time tracking. Proceedings IEEE Conf. on

Computer Vision and Pattern Recognition, pp. 246-252, 1999

[3] N. M. Oliver, B. Rosario, A. P. A Bayesian Computer

Vision System for Modeling Human Interactions. IEEE

Transactions on PAMI, 22, no. 8: 831-843, 2000.

[4] A. Manzanera, J. C. Richefeu. A new motion detection

algorithm based on background estimation. Pattern

Recognition Letters, 28: 320-328, June, 2006.

[5] C. Nikou,N. P. Galatsanos. A Class-Adaptive Spatially

Variant Mixture Model for Image Segmentation. IEEE

Transactions on Image Processing, vol. 16, no. 4: 1121-1130,

2007.

[6] A. Takahashi, B.R.C. Bedregal, A. Lyra. Uma Versão

Intervalar do Método de Segmentação de Imagens Utilizando o

K-means. Tendências em Matemática Aplicada e

Computacional, 6, no. 2: 315-324, 2005.

Figure 2. First movie frame.

Figure 3. Motion label by background estimation.

Figure 4. Motion label by background estimation with k-means.

352

WVC'2007 - III Workshop de Visão Computacional, 22 a 24 de Outubro de 2007, São José do Rio Preto, SP.