12.07.2015 Views

III WVC 2007 - Iris.sel.eesc.sc.usp.br - USP

III WVC 2007 - Iris.sel.eesc.sc.usp.br - USP

III WVC 2007 - Iris.sel.eesc.sc.usp.br - USP

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>III</strong> Workshop de VisãoComputacional22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>UNESP - IBILCE – São José do Rio Preto<strong>WVC</strong>’ <strong>2007</strong>ANAISUNESP – Campus de São José do Rio PretoDepartamento de Ciência de Computação e Estatística<strong>2007</strong>


Workshop de Visão Computacional (3. : <strong>2007</strong> : São José do Rio Preto,SP).Anais do <strong>III</strong> Workshop de Visão Computacional / UNESP. IBILCESão José do Rio Preto, [comissão de organização Inês AparecidaGasparotto Boaventura ] ... [et al.]]. – São José do Rio Preto : UNESP.Campus de São José do Rio Preto, <strong>2007</strong>.1 CD-ROMISBN 978-85-61152-00-01. Processamento de imagens - Congressos. 2. Visão porcomputador – Congressos. 3. <strong>WVC</strong>’<strong>2007</strong>. I. Boaventura, InêsAparecida Gasparotto. II. Gonzaga, Adilson. <strong>III</strong>. Título.CDU – 004.932ii


Instituto de Biociências, Letras e Ciências ExatasUniversidade Estadual PaulistaUNESPReitoriaProf. Dr. Marcos MacariVice-ReitoriaHerman Jacobus Cornelis VoorwaldIBILCEDireçãoProf. Dr. Carlos Roberto CeronVice-DireçãoProf. Dr. Vanildo Luiz Del BianchiDepartamento de Ciência de Computação e EstatísticaChefiaProf. Dr. Mário Luiz TroncoVice-ChefiaProf. Dr. Antonio José Manzatoiii


<strong>WVC</strong> <strong>2007</strong> – <strong>III</strong> Workshop de Visão ComputacionalComissão de OrganizaçãoInê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-<strong>USP</strong>)Evandro Luis Linhari Rodrigues (EESC- <strong>USP</strong>)Comissão de ProgramaAdilson Gonzaga (EESC-<strong>USP</strong>)Agma Juci Machado Traina (ICMC-<strong>USP</strong>)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/<strong>USP</strong> e Univ. MACKENZIE )Aparecido Nilceu Marana (UNESP-Bauru)Carlos Dias Maciel (EESC-<strong>USP</strong>)Célia Aparecida Zorzo Barcelos (UFU)Cláudio Kirner (FACEN-UNIMEP)Daniela M. Ushizima (Univesidade de Santos)Evandro Luis Linhari Rodrigues (EESC-<strong>USP</strong>)Fátima de Lourdes S. Nunes (UNIVEM/Marília)Homero Schiabel (EESC-<strong>USP</strong>)Ivan Nunes da Silva (EESC-<strong>USP</strong>)Jander Moreira - ( UFSCar)João do Espírito Santo Batista Neto (ICMC-<strong>USP</strong>)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-<strong>USP</strong>)Luciano da Fontoura Costa (IFSC-<strong>USP</strong>)Luis Augusto Consularo (UNIMEP)Luís Gustavo Nonato (ICMC/<strong>USP</strong>)Marcelo Andrade C. Vieira (EESC/<strong>USP</strong>)Maria Cristina Ferreira Oliveira (ICMC/<strong>USP</strong>)Maria Stela Veludo de Paiva (EESC-<strong>USP</strong>)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


<strong>WVC</strong> <strong>2007</strong> – <strong>III</strong> Workshop de Visão ComputacionalCréditosWeb DesignerLogotipoApoio técnicoAna Carolina Nicolosi da Rocha Gracioso (EESC-<strong>USP</strong>)Rafael Bertacini Gonzaga(ECA-<strong>USP</strong>)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 PretoOutu<strong>br</strong>o <strong>2007</strong>v


ApoioSociedade Brasileirade Comput açãoPatrocinadoresvi


ApresentaçãoA área de Visão Computacional fortemente implantada em todo o mundo temcre<strong>sc</strong>ido de maneira significativa nos últimos anos no Brasil. Caracteriza-se primordialmentepela 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 eestatísticos tem gerado soluções importantes para a área de Visão Computacional.O II Workshop de Visão Computacional (<strong>WVC</strong>’2006) aconteceu no período de 16 a 18de Outu<strong>br</strong>o de 2006, na <strong>USP</strong>, Campus de São Carlos, sob a realização do Departamento deEngenharia Elétrica (SEL) da E<strong>sc</strong>ola de Engenharia de São Carlos (EESC). O evento contoucom apoio da FAPESP e CAPES (http://iris.<strong>sel</strong>.<strong>ee<strong>sc</strong></strong>.<strong>usp</strong>.<strong>br</strong>/wvc2006)O evento que deu origem à série, o <strong>WVC</strong>’2005, aconteceu na cidade de Piracicaba,SP, em conjunto com o WRA’2005 – II Workshop de Realidade Aumentada, no período de21 a 23 de Setem<strong>br</strong>o de 2005, e foi organizado pelo Departamento de Ciências daComputação da UNIMEP (http://iris.<strong>sel</strong>.<strong>ee<strong>sc</strong></strong>.<strong>usp</strong>.<strong>br</strong>/wvc2005).A idéia é fazer com que o evento aconteça anualmente em diferentes localidades noBrasil, para que os centros organizadores possam se tornar conhecidos e inserir os se<strong>usp</strong>esquisadores no cenário nacional, em relação às pesquisas que realizam na área deprocessamento de imagem e visão computacional.Dado o sucesso do II <strong>WVC</strong>, com a participação de pesquisadores de centroslocalizados em diferentes regiões do país, conclui-se que o <strong>WVC</strong> é um evento científico queestá ganhando importância no cenário nacional, e o único que trata especificamente depesquisas envolvendo todos os aspectos de estudos em visão computacional eprocessamento de imagem.O objetivo do <strong>WVC</strong>´<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional é trazer paradi<strong>sc</strong>ussã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 nadivulgação dos trabalhos realizados.PALESTRANTES CONVIDADOS:Professor Dr. Mark NixonDistinguished Professor in the School of Electronics and Computer Science, University ofSouthampton, UK.Professor Dr. Luciano Costa da FontouraProfessor Doutor do Instituto de Física da Universidade de São Paulo, São Carlos, SPProfessora Dra. Célia Ap. Zorzo BarcelosProfessora Titular da Faculdade de Matemática, Universidade Federal de UberlândiaProfa. Inês A G BoaventuraCoordenadora Geralvii


ÍndiceClassificação de Objetos Móveis em Cenas de Tráfego Urbano ...............................1Regis C. Bueno, Flavius P. R. MartinsRedes Neurais Artificiais Aplicadas à Segmentação e Classificação de ImagensDigitais de Úlceras Cutâneas .....................................................................................6A. S. Tarallo, A. Gonzaga, M. A. C. Frade, W. G. RochaReconhecimento de Faces Humanas através de Algoritmo Genético aplicado emRazões Áureas ...........................................................................................................12Walison Joel Barberá Alves, Adilson GonzagaSeleção Automática de Componentes de Cor para Segmentação de Imagens ........18Henrique de Souza Ruiz, Lúcio André de Castro Jorge, Ednaldo José Ferreira,Adilson GonzagaNovo método para normalização da iluminação em imagens de face .......................24Michelle M. Mendonça, Juliana G. Denipote, Ricardo A. S. Fernandes, MariaStela V. PaivaAn Efficient Method for Parameter Estimation on the Multi-Level Logistic MRFImage Model using Maximum Pseudo-Likelihood Approach......................................29Alexandre L. M. Levada, Nelson D. A. Ma<strong>sc</strong>arenhasApplication of image restoration algorithms in vi<strong>br</strong>o-acoustography images..............35Talita Perciano, Nelson D. A. Ma<strong>sc</strong>arenhas, Alejandro C. Frery, Glauber T. SilvaDetecção de Resíduos em Imagens de Bolsas para Coleta de Sangue UtilizandoRedes Neurais Artificiais nos canais RGB..................................................................41Cássio A. Adorni, Adilson GonzagaSegmentação de imagens por agrupamento de regiões: uma comparação entrea abordagem funcional e por grafos...........................................................................46Carolina T. Ferraz, Sérgio F. da Silva, Odemir M. BrunoDimensão Fractal aplicada em imagens de satélite de áreas urbanas ......................52André R. Backes, Adriana B. Bruno, Mauro N. Barros Filho, Odemir M. BrunoCoded Mask Multipinhole Collimation and Richardson-Lucy Decoding Algorithmto Obtain High Temporal and Spatial Resolution Scintigraphic Images of SmallVolumes......................................................................................................................58J. Mejía, O. Y. Galvis-Alonso, J. Braga, A. A. de Castro, R. Corrêa, J. P. Leite, M.V. SimõesAuto-Fusão da Auto-Face, do Auto-Esboço e da Auto-Pele pelo Misturogramaem imagens em nível de cinza ...................................................................................64Osvaldo Severino Jr, Adilson GonzagaModelagem de Ambientes para Robô Móvel baseado em Rede NeuralHierárquica e Visão Omnidirecional ...........................................................................69Luciana L. Silva, Henrique A. Vian, Mário L. Tronco, Arthur J. V. PortoActive contours applied to image based modelling techniques ..................................75Kátia L. S. Alexandre, João E. S. Batista NetoAlgoritmo genético para criação de mapas de disparidade estéreo...........................81Gustavo T. Laureano, Maria S. V. de Paivaviii


Automatic Pattern Recognition of Binary Image Objects using MathematicalMorphology.................................................................................................................180Emerson Carlos Pedrino, Valentin Obac RodaDigital Image Detection of Brazilian Car License Plates Based on Matched Filters...186B.B. Leite, J.M. de SeixasEstudo comparativo de classificadores aplicado à análise de cenas de pomaresde laranjeiras ..............................................................................................................192Felipe A. Cavani, Felipe A. Cavani, Arthur José Vieira PortoInspecionando Placas Montadas de Circuito Impresso com Árvores de Decisão......198Luciano Lucindo Chaves, Flavius Portella Ribas MartinsUsando MLP para filtrar imagens ...............................................................................204Thiago Richter, Ediel Wiezel da Silva, Adilson GonzagaExtração Automática de Feições Urbanas em Fotografias Aéreas utilizandoMorfologia Matemática ...............................................................................................209Juliana Denipote, Robson Barcellos, Maria Stela de PaivaRecuperação de Imagens 3D Baseado Conteúdo Utilizando mais de umaImagem-consulta ........................................................................................................215Alexandre Munhoz, Shermila Guerra Santa Cruz, Adilson GonzagaSegmentação de pele humana em imagens coloridas baseada em valores dasmédias da vizinhança em subimagens.......................................................................223João Marcelo Ribeiro, Adilson GonzagaReconhecimento Facial Utilizando a Rede Neural Neocognitron...............................229Cristiane Oliveira de Santana, José Hiroki SaitoMétodo da Determinação da Dimensão Fractal por Fourier e Análise Multie<strong>sc</strong>alapara Reconhecimento de Padrões .............................................................................233Leandro Paganotti Brazil, Leonardo A. Andrade, Odemir M. BrunoUm Algoritmo para Clipping de Linha em uma Área de Visualização Circular...........239Alex F. de Araújo, Acrísio José do Na<strong>sc</strong>imento Júnior, C.A.M.BarbosaAutomatic Vehicle Classification Using Learning-based Computer Vision andFuzzy Logic.................................................................................................................243Jailson A. de Brito Jr, Luis Edmundo Prado de CamposImplementação de uma Ferramenta para Recuperação de ImagensMamográficas Baseada em Conteúdo .......................................................................247Ana Paula O. Santos, Fátima L. S. Nunes, Márcio E. DelamaroUm algoritmo para eliminação de fundo em imagens de cultivo de soja....................253Rodrigo Sato, Norian Marranghello, Aledir Silveira PereiraProcessamento de Imagem Distribuído e Orientado a Serviço usando JAVA ...........259Frank José Affonso, Evandro Luis Linhari RodriguesAplicação de Redes Neurais para Visualização de Relevos Naturais em forma deComposições Musicais Utilizando Compassos como Primitivas................................265Débora Cristina Corrêa, José Hiroki Saito, Mário Alexandre GazziroFace Detection through Ellipse Detection and Neural Classifier ................................271Denis H. P. Salvadeo, Jander Moreirax


Sistema de Inspeção Visual Automática de Resistores de Montagem emSuperfície....................................................................................................................274Anderson CastellarAnálise Di<strong>sc</strong>riminante de Fisher Aplicada à Detecção de Defeitos em CouroBovino.........................................................................................................................278Willian Paraguassu Amorim, Hemerson PistoriAn occlusion invariant extension to Boles’ method.....................................................284Edmundo D. Hoyle D., Paula Beatriz C. Leite, Raul Queiroz FeitosaReconhecimento Automático de Gestos da Língua Brasileira de Sinais utilizandoVisão Computacional..................................................................................................290Kleber Padovani de Souza, Jéssica Barbosa Dias, Hemerson PistoriReconhecimento de Faces Utilizando Redes Neurais Artificiais com Fusão deCaracterísticas Faciais por Método de Votação .........................................................296Ricardo A. S. Fernandes, Adilson GonzagaReconhecimento de Marcos de Localização por um Sistema de ControleDistribuído So<strong>br</strong>e um Barramento CAN (Controller Area Network)............................301Henrique A. Vian, Luciana L. Silva, Mário L. Tronco, Arthur J. V. PortoSistema de Análise e Armazenamento de Imagens utilizando Esfregaços deSangue .......................................................................................................................307A. G. Arantes, R. F. Oliveira, D. M. UshizimaMétodo Não Invasivo para Avaliação do Ângulo de Inclinação do Anodo deAparelhos Radiológicos..............................................................................................313Paulo D. de Oliveira Junior, Marcelo A. da Costa Vieira, Homero SchiabelComparação de De<strong>sc</strong>ritores de Formas no Reconhecimento de Objetos .................318Jonathan A. Silva, Wesley N. Gonçalves, Bruno B. Machado, Hemerson Pistori,Albert S. de SouzaModelos Ocultos de Markov Aplicados na Identificação de Comportamento deSerpentes ...................................................................................................................324Wesley N. Gonçalves, Jonathan A. Silva, Bruno B. Machado, Hemerson Pistori,Albert S. de SouzaEstudo Comparativo entre as Transformadas Wavelet e Hartley Usando ImagensMédicas de Cabeça e Pe<strong>sc</strong>oço ..................................................................................330J.R. Furlani, A.S. Pereira, N. Marranghello, T.A. Dócusse, P.S. Maturana, R.P.Romano, F.S.B. BontempoRecuperação de Imagens via Semânticas de Regiões utilizando Redes Neurais .....334Eduardo F. Ribeiro, Marcos A. Batista, Ilmério R. da Silva, Keiji Yamanaka, CéliaA. Z. BarcelosEliminação de Ruídos e Extração de Bordas em Imagens Digitais via Equaçãode Difusão não-Linear ................................................................................................340Wallace Correa de Oliveira Casaca, Maurílio BoaventuraProcessamento Multidomínio de Imagens Mamográficas para a Remoção deRuídos com Preservação de Bordas ..........................................................................346Evanivaldo Castro Silva Júnior, Homero Schiabel, Maurílio Boaventura, CéliaAparecida Zorzo BarcelosBackground Estimation on Motion Scenes Using K-Means .......................................351Bruno Alberto Medeiros, Luiz Marcelo Chiesse da Silva, Adilson Gonzagaxi


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.CLASSIFICAÇÃO DE OBJETOS MÓVEISEM CENAS DE TRÁFEGO URBANORegis C. Bueno, MSc e Flavius P. R. Martins, Dr.Abstract—In order to decrease the computational effort toautomatic 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 <strong>sel</strong>ect 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ÇÃODENTIFICAR o código da placa de veículos queItrafegam nas vias públicas é uma prática que vem sendoadotada 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 a<strong>br</strong>angem 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 aArtigo enviado em 06 de junho de <strong>2007</strong>.Agradecemos à FAPESP o auxílio recebido (processo n o 01/08284-6) paraa execução deste projetoFlavius P. R. Martins é pesquisador e docente do IPT – Instituto dePesquisas Tecnológicas do Estado de São Paulo (fone: 11 3767-4510; email:fmartins@ipt.<strong>br</strong>).Régis C. Bueno é aluno especial do curso de doutorado da Unicamp(fone: 11 6911-6859; email: regi<strong>sc</strong>b@ig.com.<strong>br</strong>).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 multiprocessamentopara 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 so<strong>br</strong>e a categoria doveículo considerado, de modo a permitir a <strong>sel</strong>eção dealgoritmos de visão computacional mais adequados à análisede sua imagem, é apresentada neste artigo.II. MATERIAIS E MÉTODOSA. Captura de Imagens e Detecção de Objetos MóveisAo 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 (Y cg ))da imagem de bordas limiarizadas de três estreitas faixas decontrole da imagem ⎯ f 1 ,f 2 ef 3 ⎯ 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,1


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.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 so<strong>br</strong>e a faixaf 1 (e o mesmo se aplica às demais faixas f 2 e f 3 ) podem serrealizadas com um atraso máximo correspondente ao tempo decaptura de 6 imagens 1 .f 2f 3Tomando 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 2 3estados representados pelos valores (0 ou 1) das três variáveisde decisão, D 1 D 2 D 3, onde D i é obtida a partir da seguinteregra: ref1 se Pi− Pi≥ LiD = (1)i 0 em caso contrárioparaaqualP ié o vetor de propriedades da faixa f i em um dado instanteP é o vetor de propriedades referência da faixa f irefiL i é o limiar de decisão da faixa f i .f 1eacFig. 1: Faixas verticais de controle do fluxo óptico.gFigura 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.bdfÉ 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 adotandoseum limiar fixo global calculado de acordo com o métodoproposto em [15].Analisando-se o string D 1 D 2 D 3 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 f 1 f 2 f 3 com 8 possíveis estados)a partir das 8 2 = 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 a<strong>br</strong>ange 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 de<strong>sc</strong>reve 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 so<strong>br</strong>e fundo<strong>br</strong>anco; 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 é <strong>br</strong>anco so<strong>br</strong>e fundo e<strong>sc</strong>uro.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 a2


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.{pessoa} (m= 0,3)Θ:(m=0,7)000<strong>sel</strong>eção de algoritmos de visão computacional dedicados acada uma das categorias de placas.B. Interpretação das Transições da Máquina de EstadosApós a investigação de algumas técnicas de InteligênciaArtificial passíveis de produzirem inferências confiáveis so<strong>br</strong>ea 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) quede<strong>sc</strong>reve 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.000100110000001000{pessoa,moto,carro,caminhão}: (m= 1)Θ:(m=0){moto,carro,caminhão}: (m= 0,3)Θ:(m=0,7){pessoa} (m= 0,5)Θ:(m=0,5){moto, carro}: (m= 0,5)Θ:(m=0,5){caminhão}: (m= 0,5)Θ:(m=0,5)010 010 111{pessoa}(m= 0,6)Θ:(m=0,4){moto} (m= 0,6)Θ:(m=0,4){carro} (m= 0,6)Θ:(m=0,4){caminhão} (m= 0,6)Θ: (m=0,4)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 de011{moto,carro,caminhão}(m= 0,7)Θ:(m=0,3){moto,carro,caminhão}(m= 0,8)Θ:(m=0,2)‘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 f 2 , sem antes tê-losdetectado na faixa f 1 , 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 f 1 e f 2 ou f 2 e f 3 . 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 conhecimentoso<strong>br</strong>e 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 t max ,umadashipó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 Shaferm1=1 − K() S m() T m()U12 1 2TU , : T∩ U=Ssendo K =() ()m T m U1 2TU , : T∩ U=∅onde m 1 (T), m 2 (U) correspondem, respectivamente, às funçõesde atribuição de probabilidade ligadas às interpretações T e Unos instantes sucessivos t 1 , t 2 e m 12 (S) às funções de atribuiçãode probabilidade associadas às interpretações S derivadas doencadeamento de evidências geradas após o instante t 2 .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 f 1 , f 2 ef 3 ..(2)3


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Observando que, no instante t=0, o estado de s 1 é ‘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 de<strong>sc</strong>artar a hipótese de que o sinal geradopor s 1 seja mero ruído". A persistência de s 1 =1 no instante t=1,todavia, induz o sistema a de<strong>sc</strong>rer 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.1(a)1(b)S 1(t) S 2(t) S 3(t)01234567Diagnósticos012345671101234567CATEGORIAPessoaMotocicletaCarroCaminhãoRuído0123456701234567Fig 4: Gráficos temporais dos sinais dos sensores e respectivosdiagnósticos: (a) Instante t=0; (b) Instante t=1.<strong>III</strong>. TESTES REALIZADOSCom 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 metaregrasque 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 pelo11STATUSEntrandoEntrandoEntrandoEntrandoPossívelS 1(t) S 2(t) S 3(t)DiagnósticosCATEGORIAPessoaMotocicletaCarroCaminhãoRuído01234567STATUSEntrandoEntrandoEntrandoEntrandoNULLProlog [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 de<strong>sc</strong>revendo 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ãode<strong>sc</strong>ritos 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 f 1 , f 2 e f 3 , é representado pelo predicadosinais(Instante,Estado)de modo quesinais(5,”110”)indica que, no instante t=5, os estados das faixas de controlef 1 , f 2 e f 3 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ência<strong>sc</strong>onflitantes.O sistema especialista implementado foi submetido a4


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.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 especialistaTABELA 1INTERPRETAÇÕES DAS CENAS DE TRÁFEGOGERADAS PELO SISTEMA ESPECIALISTATransições de Estado Interpretação Ruído000 100 110 010 000 001 000 motocicleta nenhum000 100 000 010 000 001 000 pessoa nenhum000 100 110 110 110 010 011001 000carronenhum000 100 110 010 111 101 000 carro persistente: 1 a faixados estados 111 e 101000 100 110 111 011 001 caminhão nenhum000 100 110 111 010 000 001001 000motocicleta transitório: 3 a faixa de111000 100 110 010 111 101 000 carro persistente: 1 a faixados estados 111 e 101000 100 110 010 110 111 101111 011 001 000 001000 100 110 010 111100 110 111 110 111011 001000 100 110 010 110 100 111011 001 000 001000 100 110 011 111 111 101111 111 111 110 111 011 001carro seguidopor motocicletamotocicletaseguida porcaminhãomotocicletaseguida pormotocicletacarro seguidopor caminhãonenhumtransitório: 3 a faixados estados 111transitório: 3 a faixados estados 111persistente: 3 a faixados estados 011 e111IV. CONCLUSÕESA 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 de<strong>sc</strong>riçã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 de<strong>sc</strong>rito 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, 5 as 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, Vol44,n o 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] Bo<strong>sc</strong>h, J. B., Ehlers, E. M., “Remote Sensing of Characters on 3DObjects”, Computers in Industry Engineering, Vol33,N os 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, <strong>2007</strong>.[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, 3 a 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 <strong>sel</strong>ection for edge detection. PatternRecognition, v.21,n o 3, p.195-203, 1988.5


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Figura 1 – Exemplo de uma imagem com as devidas regiões de ruído, pele e úlcera.ADUN (Ambulatório da Dermatologia de ÚlceraNeurova<strong>sc</strong>ulares) e do CSE (Centro de Saúde E<strong>sc</strong>ola) daFMRP-<strong>USP</strong> (Faculdade de Medicina de Ribeirão Preto daUniversidade de São Paulo), junto a Divisão deDermatologia do Departamento Clínica Médica daFMRP-<strong>USP</strong>. As fotografias foram tiradas através dacâmera Sony Cybershot P-93, com 5.1 Megapixels deresolução, zoom óptico de 3x e zoom digital de 12x. Asimagens e<strong>sc</strong>olhidas aleatoriamente do banco de imagensforam padronizadas e não-padronizadas quanto a zoom,iluminação, distância da câmera à perna do paciente e ofoco da câmera na perna do paciente. Foram <strong>sel</strong>ecionadas50 imagens para testar e validar esta metodologia emformato JPG, obtidas em 3 Megapixels.A abordagem proposta se divide em duas fases, naprimeira ocorre a extração das características de cor e otreinamento da ANN (Fase de Treinamento). A segundafase consiste de segmentar as imagens (Teste da ANN) –[10], aplicação de técnicas de processamento de imagensdigitais [9] para a eliminação de ruídos, melhoria dequalidade na imagem e posterior classificação dos tecidosno leito da ferida – Fase de Testes.Primeiramente foram aplicados 2 algoritmos àsimagens para serem obtidas características de cor, quantoà pele, úlcera (leito) e ruídos na imagem (fundo - tudo quenão seja pele e área ulcerada), servindo como entrada parao treinamento da ANN para distinguir as características decor da área e borda da ferida das outras cores nãointeressantes à ferida, formando padrões de treinamento; afigura 1 mostra um exemplo de uma imagem com asdevidas regiões do que é pele, úlcera e ruídos na imagem.Pelo primeiro algoritmo se obtém as características decor referente à pele e não-pele (pele/ruído/fundo), nomodelo RGB; este processo é realizado manualmente pelopróprio operador do computador (mas é desejável que esteprocesso seja realizado por um profissional da área dasaúde, pois saberá quais são os melhores pontos a serem<strong>sel</strong>ecionados, por saber melhor o que cada corcorresponde na imagem). O software utilizado para odesenvolvimento desta metodologia foi o Matlab 7.0 [15],que a<strong>br</strong>e as 50 imagens utilizadas (uma por vez) e esperao operador do computador <strong>sel</strong>ecionar a região devida como mouse, pelo algoritmo. Cada característica de cor daregião <strong>sel</strong>ecionada é armazenada em um arquivo do tipotexto, formando o vetor de característica (matriz depele/não-pele), conforme a figura 2, que representa amédia dos canais R, G e B da região <strong>sel</strong>ecionada.Figura 2 – Exemplo da Matriz de Pele/Não-pele.Se uma foto contiver várias regiões de característicasinteressantes, essa imagem é aberta mais de uma vez paraa <strong>sel</strong>eção das devidas características.Os valores contidos em cada linha da figura 2representam : -1 é bias utilizado pela rede neural para aativação do neurônio; Os três próximos valores referem-se ao valor deR,G,B da cor <strong>sel</strong>ecionada pelo usuário; 1 é o valor que será utilizado como saídadesejada pela rede neural para pele e não-pele.O segundo algoritmo serve para obter a<strong>sc</strong>aracterísticas de cor da ferida, no modelo RGB; sãoobtidas da mesma forma que no primeiro algoritmo. Ovetor de característica (matriz de feridas) de cada cor<strong>sel</strong>ecionada é salvo em outro arquivo do tipo texto. Asaída desejada da matriz de feridas é o -1. Estas duasmatrizes vão formar os “padrões de treinamento”, que vãoser utilizadas para o treinamento da ANN.7


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP............Seleção dePontos ManualMatriz dePele/Não PeleMatriz deFeridasEntradas daRede NeuralRede NeuralMLPTREINAMENTOEtapa 1Etapa 2Figura 3 - Primeira fase da abordagem proposta.A primeira fase da metodologia proposta se divide emduas etapas. Na primeira são obtidas características deentrada para a rede neural (características de cor) e nasegunda etapa estas características são aplicadas na redeneural para o seu treinamento – Figura 3.2.1. Treinamento da ANNO treinamento da ANN foi aplicado as 25 primeirasimagens 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 oalgoritmo de treinamento Backpropagation, [10], aarquitetura mais utilizada para classificação de padrõesem 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ãoconcatenados para formar a matriz de treinamento. O bias,características RGB e a saída desejável são colocadas emvariáveis separadas, respectivamente; e as característicasRGB normalizadas para o intervalo de [-1, 1]; A Rede é inicializada utilizando a funçãomínimo/máximo da matriz de treinamento; O treinamento da rede neural foi feito utilizandoa função de ativação sigmóide tangente-hiperbólica (servepara que os valores das características RGB não saiam dointervalo normalizado) para as três camadas ocultas darede neural e mais a camada de saída; é utilizado ogradiente de momento; Os valores de outros parâmetros utilizados nestealgoritmo e na Rede Neural serão especificados nospróximos tópicos.2.2. Teste da ANN (Classificação das Imagens)Na segunda fase ou Fase de Testes, verifica-se aeficiência da rede neural na segmentação das 50 imagensa partir dos resultados obtidos no treinamento. Um pósprocessamentoé necessário para eliminar alguns ruídosrestantes e preparar melhor a imagem para classificaçãodos tecidos. A figura 4 apresenta a segunda fase daabordagem proposta. As técnicas empregadas são asoperações morfológicas de erosão e dilatação [9], [15].Finalmente os tecidos das imagens são classificados combase na contagem de pixels, relacionadas às coressimilares às dos tipos de tecidos – pixels de cor vermelhapara granulação e amarela para fi<strong>br</strong>ina. Foi tambémcalculada a porcentagem desses dois tipos de tecidos e aárea da úlcera na imagem.O algoritmo implementado (Teste da ANN) possui osseguintes passos:1) Segmentação das Imagens;2) Pós-Processamento: As imagens são processadasatravés de dilatação e erosão e so<strong>br</strong>eposição de imagensafim de eliminar ruídos e restar apenas a região da ferida;3) Contagem dos pixels referentes ao tecido degranulação e fi<strong>br</strong>ina/esfácelo e cálculo da percentagemreferente a cada tecido na imagem;4) Geração de uma imagem com marcações, na qualsão contados os pixels referentes à granulação e fi<strong>br</strong>ina:os pixels <strong>br</strong>ancos são os de tecido de granulação e osoutros são os de tecido de fi<strong>br</strong>ina;8


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Por último, foi gerada uma imagem baseada na Os resultados obtidos pelo software livre Image J eMetodologia Proposta Image JFigura 7 – Resultados do Teste t para granulação.Área Média 14,1cm 2 13,1cm 2imagem pós-processada, com marcações dos locais emque foram contados os pixels de fi<strong>br</strong>ina e granulação. Apela nossa metodologia mostraram-se satisfatórios; naárea total de ferida, a média foi 13.1 cm 2 pela metodologiafigura 5 mostra as imagens de acordo com a seqüência de proposta e de 14.1 cm 2 pelo Image J (Figura 6). Emexecução do algoritmo. Os parâmetros utilizados na ANNdesta metodologia podem ser observados na tabela 1.relação a granulação, a média obtida foi de 12.4 cm 2 pelametodologia proposta e 12.6 cm 2 pelo Image J ( Figura 7).Em relação a fi<strong>br</strong>ina, a média foi de 1.8 cm 2 (nossaTabela 1 – Valores dos Parâmetros da Rede Neural. metodologia) e 1.9 cm 2 pelo Image J (Figura 8).Vale lem<strong>br</strong>ar que a demarcação da área ulcerada peloParâmetroValorImage J é feita manualmente, gastando muito tempo atéNeurônios na 1ª camada oculta 4chegar aos resultados finais; já pela metodologia propostaNeurônios na 2ª camada oculta 4esse processo é feito de forma automática pela rede neuralNeurônios na 3ª camada oculta 1artificial, ficando mais rápido e prático o processamento.Termo de Momento 0,5 Essa demarcação manual afeta na diferença dos resultadosNúmero de Épocas de Treinamento 1000 da tabela 2 e 3, bem como algumas péssimasTaxa de Erro do Treinamento 1x10 -3interpretações da RNA devido as qualidades das imagense de obtenção das mesmas.3. Resultados e AnálisesOs resultados foram analisados por um especialista daárea médica, que verificou a concordância dos resultadosConsiderando as 50 imagens de teste, as médias das obtidos.percentagens de fi<strong>br</strong>ina e granulação em relação a A figura 6 mostra o gráfico do Teste t Student aplicadoimagem total e considerando somente a área da ferida aos resultados obtidos pela metodologia proposta e Imagesegmentada, podem ser verificadas na tabela 2. Os J para áreas totais. Os dois traços no meio do gráficoresultados foram obtidos pela metodologia proposta. mostram as médias aritméticas dos resultados para cadametodologia, e pode-se observar que ambas estão muitoTabela 2 – Média aritmética da percentagem de Tecidos – próximas.Metodologia Proposta.Imagem Total Área de FeridaFi<strong>br</strong>ina 10,5% 26,1%Granulação 18,4% 73,9%As mesmas imagens testadas na metodologia propostaforam aplicadas ao software livre Image J (usa técnicasnão automáticas de processamento de imagens) paracomparação, pois este software é utilizado nodepartamento de dermatologia da FMRP-<strong>USP</strong> paraanálise das imagens de úlcera de perna. Os resultadosobtidos pelo Image J podem ser observados na tabela 3[8].Figura 6 – Resultados do Teste t para área.Tabela 3 – Média aritmética da percentagem de Tecidos –Image J.Imagem Total Área de FeridaFi<strong>br</strong>ina 18,9% 43,3%Granulação 30,0% 56,7%Também foi calculada a área de cada ferida em cm 2em relação à imagem total, tanto pela metodologiaproposta quanto pelo Image J; as médias aritméticas dosresultados podem ser verificadas na tabela 4.Tabela 4 – Média aritmética das Áreas das Feridas.10


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.REFERÊNCIASFigura 8 – Resultados do Teste t para fi<strong>br</strong>ina.Da mesma forma existem dois outros gráficos quetambém comprovam a similaridade dos resultados obtidospelo Image J e pela pesquisa deste trabalho; a figura 7mostra os resultados do Teste t Student para área degranulação e a figura 8 para a área de fi<strong>br</strong>ina.4. ConclusõesTanto o uso pelo Image J como pela nossametodologia baseada em ANN apresentam resultadossatisfatórios. Foi aplicado Teste t Student com parâmetrode 95% de acerto nos resultados obtidos paracomprovação da eficiência das metodologias. Com issofica-se comprovado que a variação entre os resultadosobtidos pela metodologia proposta e pelo Image J sãoaceitáveis e que as metodologias podem ser aplicadas naprática.Os resultados sugerem que ambos os métodos deanálise de imagens mostraram-se eficazes na mensuraçãodas áreas total, de granulação e de fi<strong>br</strong>ina, consolidandoseem métodos adequado para avaliação dinâmicoterapêuticadas úlceras de perna. As Redes NeuraisArtificiais mostraram-se uma metodologia superior deanálise de imagens quanto a praticidade, com menorinterferência do aplicador/pesquisador por não requererdelineamento manual.Este projeto encoraja e contribui para a divulgação denovas tecnologias e conseqüente uso do software nestaárea e também para o surgimento de novas linhas depesquisas.[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 Networkin Medicine. In Symposium on Applied ComputationalIntelligence.[3] Barros, J. R., 2000. Insuficiência Venosa Crônica. In Pitta,G. B. B., Castro, A.A. & Burihan, E. Angiologia e CirurgiaVa<strong>sc</strong>ular: 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 eCirurgia Va<strong>sc</strong>ular: Guia Ilustrado, viewed, 13 April <strong>2007</strong>,.[7] Goldman, R.J., Salcido, R., 2002. More Than One Way toMeasure 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. Usodo Software Image J Para Análise Clínico-Fotográfica dasÚlceras de Perna. 5 o . 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 ComprehensiveFoundation, 2nd edn, Prentice Hall.[11] Kupcinskas, A. J., 2006, viewed 13 Fe<strong>br</strong>uary 2006,.[12] Mekkes, J.R., Loots, M.A.M., Van Der Wal, A.C., & Bos,J.D., 2003. Causes, Investigation And Treatment Of LegUlceration. British Journal of Dermatology, vol.148, pp. 388-401.[13] Phillips, T. J., Dover, J. S., 1991. Leg Ulcers. J Am AcadDermatol, St Louis, vol.25, pp. 965-987.[14] Pitta, G. B. B., Castro, A. A. & Burihan, E, 2000.Angiologia e Cirurgia Va<strong>sc</strong>ular: Guia Ilustrado, inUNISAL/ECMAL, Brazil, Maceió.[15] Math Works, 2004, ver. 7, computer program, The MathWorks Inc., Matlab Help, USA.5 – AGRADECIMENTOSAgradecemos ao Ambulatório de Dermatologia deÚlceras Neurova<strong>sc</strong>ulares (ADUN) e ao Centro de SaúdeE<strong>sc</strong>ola (CSE) do Departamento de Clínica Médica daFMRP-<strong>USP</strong> pelo fornecimento das imagens de úlcera deperna, aos profissionais dessas entidades por tirar dúvidasso<strong>br</strong>e a área da saúde e por apoiarem e motivarem odesenvolvimento dessa metodologia.11


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Reconhecimento de Faces Humanas através de Algoritmo Genético aplicado em RazõesÁureasWalison Joel Barberá AlvesE-mail: wbarbera@bol.com.<strong>br</strong>Adilson GonzagaE-mail: agonzaga@<strong>sc</strong>.<strong>usp</strong>.<strong>br</strong>E<strong>sc</strong>ola de Engenharia de São Carlos – Universidade de São Paulo – <strong>USP</strong>São Carlos, São Paulo, BrasilAbstractNowadays there has been a great interest io automaticsystems that provide the recognition of human faces.Seeing that, <strong>sc</strong>ientists have gathered different techniquesin order to obtain more and more positive and concreteresults.This interest is not of academic concern only, but thereis also legal and commercial interest in using systems thatcan recognize faces.That being so, this work aims at developing a systemfor the automatic recognition of human faces usingproportions and applying an innovative technique thatimplements a Genetic Algorithm. This algorithm uses thenumber of facial golden proportion sections as its input,so it is possible to determine the existing proportions andconsequently, to locate the desired face no matter theperson’s facial expression.1.IntroduçãoO reconhecimento de faces humanas é um problemabastante complexo para ser implementado de formaautomática, devido a diversos fatores como: diferentesvariações de orientação e tamanho da imagem, condiçõesde iluminação do ambiente, diferenças na aparência, naexpressão facial e na cor da pele, entre outros fatores queinfluenciam a extração de características [1].Esse tipo de técnica exige algoritmos robustos parapoderem reconhecer as faces em diferentes tipos decondições de iluminação, expressões faciais e outrosempecilhos que dificultam o processo.2. Sistemas BiométricosA Biometria pode ser definida como uma aplicação demétodos quantitativos e estatísticos, suportada por fatoresbiológicos e análise matemática desses dados [2].De largo uso desde o início do século XX, foi definidacomo “a aplicação de teorias matemáticas e estatísticasem mensurações de características humanas” [3].Mais recentemente a palavra Biometria tem sido usadapara designar mensurações fisiológicas ou característicasdo comportamento que podem ser utilizadas naidentificação de uma pessoa a partir de característicasindividuais como: veias da palma da mão, impressõesdigitais, reconhecimento da face, estrutura da retina,estrutura da íris e geometria da mão.Teoricamente, qualquer característica humana, querseja fisiológica ou comportamental pode ser usada comouma identificação pessoal quando satisfaz os requisitos deuniversalidade (todos os indivíduos possuíremdeterminada característica), unicidade (fenômeno provadoque não existem dois indivíduos com o mesmo padrão),imutabilidade (a característica estudada não muda com otempo) e coletabilidade (característica que pode sermensurada ou medida).Na Figura 1 é possível ver um esquema básico dosSistemas Biométricos:DispositivosBiométricosOs Dispositivos Biométricos são sensores quecapturam e digitalizam a informação Biométrica. Para quea pessoa faça parte do sistema, inicialmente a informaçãoé processada na etapa de In<strong>sc</strong>rição, por uma ou maisvezes, e armazenada na Base de Dados.Na etapa de Verificação, a mesma pessoa devefornecer sua informação Biométrica através dos mesmosDispositivos Biométricos para que seja comparada com aarmazenada na Base de Dados e, assim, possa fornecer oResultado.3. Algoritmo GenéticoSistemas BiométricosIn<strong>sc</strong>riçãoVerificaçãoBaseDeDadosResultadoFigura 1: Funcionamento básico dos sistemasBiométricosAlgoritmos Genéticos (AGs) são métodos deotimização e bu<strong>sc</strong>a inspirados nos mecanismos deevolução dos seres vivos. Foram introduzidos por Holland[4] e popularizados por um dos seus alunos, Goldberg [5].12


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Os AGs possuem uma analogia direta com a teorianaturalista e fisiologista do inglês Darwin, pai da teoria daevolução das espécies, segundo a qual quanto melhor umindivíduo se adaptar ao seu meio ambiente, maior será suachance de so<strong>br</strong>eviver e gerar de<strong>sc</strong>endentes [6].A idéia básica de funcionamento dos algoritmosgenéticos é a de tratar as possíveis soluções do problemacomo "indivíduos" de uma "população", que irá "evoluir"a cada iteração ou "geração". Para isso é necessárioconstruir um modelo de evolução onde os indivíduossejam soluções de um problema [7].3.1 Definições em AG• Cromossomo: cada indivíduo que representa umapossível solução é representado, de forma codificada, poruma seqüência de códigos agrupados.• População: conjunto de cromossomos ou soluçõesdo problema.• Avaliação de aptidão: também conhecida comofunção de avaliação, tem o objetivo de proporcionar umamedida do grau de aptidão (fitness) de um indivíduo, aqual pode ser vista como uma nota dada a cada indivíduopara medir a qualidade quanto à solução ótima doproblema.• Seleção: o principal objetivo do operador de <strong>sel</strong>eçãoé copiar boas soluções, eliminar soluções de baixaaptidão, quando o tamanho da população for constante[8].Vários métodos podem ser aplicados para a <strong>sel</strong>eçãodos indivíduos que participarão da fase de reprodução.Entre os mais comuns estão o Elitismo, o Método daRoleta e o Método do Torneio.• Operadores Genéticos: o princípio básico dosoperadores genéticos é transformar a população através desucessivas gerações, de forma a obter um resultadosatisfatório no final do processo. Deste modo eles sãoextremamente necessários para que a população sediversifique e mantenha as características de adaptaçãoadquiridas pelas gerações anteriores [9]. Os operadoresgenéticos mais utilizados são Cruzamento (Crossover) eMutação.• Critérios de parada: quando bem implementado, oprocesso geral de aplicação dos AGs tem comoconseqüência a evolução dos indivíduos de suapopulação, passando para sucessivas gerações, fato queindica solução ótima ou, dependendo do problema,solução satisfatória.• Parâmetros de controle dos AGs: são consideradostamanho da população (que pode afetar o desempenhoglobal e a eficiência do AG), taxa de cruzamento(probabilidade de um indivíduo ser recombinado com ooutro), taxa de mutação (probabilidade de um ou maisgenes do cromossomo serem alterados) e número degerações (número de ciclos de evolução de um AG).Na Figura 2 é demonstrada a estrutura básica de umAlgoritmo Genético:Não4. O Algoritmo PropostoVários são os exemplos de problemas complexos, dedifícil solução computacional por técnicas tradicionais,que facilmente são resolvidos pela natureza. Com essaidéia, a Computação Evolutiva, neste caso particular oAlgoritmo Genético, bu<strong>sc</strong>a modelar e simularcomputacionalmente alguns conceitos e fundamentosutilizados pela natureza para a resolução de problemas. Ametodologia proposta utiliza Algoritmo Genético aplicadoem Razões Áureas, para a solução do problema dedeterminar proporções em faces humanas, visando o seureconhecimento.A Figura 3 mostra todas as etapas seguidas para arealização do trabalho.Imagem daFacePré-ProcessamentoPopulaçãoAvaliação de AptidãoSeleçãoCruzamentoMutaçãoCritério deParada?SimRetornar melhorindivíduoFigura 2: Estrutura básica de um AG [7]Cálculo dosSegmentosÁureosFigura 3: Etapas do algoritmoOperadoresGenéticosReconhecimentoIdentificaçãoAlgoritmoGenéticoA partir da imagem de entrada é realizado um préprocessamentobu<strong>sc</strong>ando a diminuição de ruídos edetecção de bordas. A imagem é binarizada e são medidos13


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.os segmentos áureos na face. Estes são submetidos a umalgoritmo genético visando o reconhecimento da face.5. Banco de imagensO banco de imagens é constituído por 118 indivíduos,homens e mulheres, que representam quatro diferentesexpressões faciais: neutra, sorrindo, <strong>br</strong>ava e com a bocaaberta. Portanto são totalizadas 476 imagens de facesfrontais que foram adquiridas do banco AR [10].Todas as imagens utilizadas no algoritmo estão emnível de cinza e possuem uma resolução dimensional de130 pixels de largura por 90 pixels de altura.As imagens foram armazenadas em um banco dearquivos e todas estão no formato bitmap.A Figura 4 mostra algumas das faces que constituem obanco de Faces utilizado nesse trabalho.7. Extração de CaracterísticasO algoritmo para extração das características em facehumana foi desenvolvido sob respaldo teórico adquiridode trabalhos científicos que utilizam a seção áurea comouma das ferramentas de extração na área médica eprincipalmente no trabalho de [12], que através donúmero de retângulos e segmentos áureos encontradostanto 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 faceshumanas, nesse algoritmo foram utilizados somenteSegmentos Áureos. Para verificar a existência dosmesmos na face, após o pré-processamento a mesma foidividida em 10 regiões como mostrado na Figura 8.Figura 4: Exemplos das Imagens do bancode FacesRegião 1 Região 2 Região 3 Região 46. Pré-processamentoOperações de pré-processamento são aplicadas emuma imagem para alcançar como resultado outra imagemcom características realçadas, mais adequadas paraprosseguir com as demais etapas necessárias deprocessamentos [11].O pré-processamento das imagens foi implementadoda seguinte maneira: na imagem original (Figura 5) foiaplicado o filtro da mediana, empregado na eliminação deruídos e preservação de contornos em imagens digitais(Figura 6). Na seqüência foi utilizado o detector de bordasde Sobel, por obter um resultado bem satisfatório nadetecção dos olhos, nariz, boca, so<strong>br</strong>ancelha e contorno daface (Figura 7).Figura 5:Imagem OriginalFigura 6:Filtro da MedianaFigura 7:Detector de SobelRegião 5 Região 6 Região 7Região 8 Região 9 Região 10Figura 8: Regiões utilizadas na extração da<strong>sc</strong>aracterísticasCada região desta foi considerada por apresentarcaracterísticas importantes para o reconhecimento. Assim:• Região 1: Cabelo e contorno da cabeça na partesuperior;• Região 2: Olhos;• Região 3: Nariz;• Região 4: Boca e contorno da cabeça na parteinferior;• 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.14


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.As regiões 1, 2, 3, 4 capturam características desegmentos áureos horizontais. As regiões 5 e 6 localizamcaracterísticas provenientes de segmentos áureosverticais. As regiões 7, 8, 9, 10 são usadas para localizarsegmentos áureos em ambas as direções.A idéia é inspirada biologicamente, adotando-se umcromossomo para formação das características da facecom proporcionalidade e simetria geradas através donúmero de ouro.7.1 Número de Ouro e Segmentos ÁureosO Número de Ouro é um número irracional misteriosoe enigmático que surge numa infinidade de elementos danatureza na forma de uma razão, sendo considerada pormuitos 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,e<strong>sc</strong>ultor grego que utilizou este número [13]. É o númeroobtido quando se divide (a) por (b):(a+b) / a = a / b = Ф = 1,618034Ф 2 = 2,6180341 / Ф = 0,618034Esta proporção diz que a relação entre a soma de duasgrandezas, e uma delas (a maior, que no caso é "a"), éigual à relação entre esta (a) e a outra (b). Isto de fato seobté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 segmentode reta com extremidade A e B, interceptado por umponto S que divide em dois segmentos AS e SB. Ossegmentos originados relacionam-se segundo a razãoáurea [12], conforme a Figura 9.A S BFigura 9: Segmento ÁureoOs gráficos das Figuras 12 a 15 mostram o número desegmentos áureos encontrados nas regiões 1 a 4 das 20primeiras imagens do banco.Nº de SegmentosNº de Segmentos1098765432103025201510Figura 10: SegmentosÁureos HorizontaisFigura 11: SegmentosÁureos Verticais1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20ImagemFigura 12: Número de Segmentos Áureosencontrados na região 1Em outras palavras, isso significa que é possível obterum ponto S que permite encontrar um segmento áureoneste segmento AB, utilizando-se da seguinte razão:AB= ФAS SBNas Figuras 10 e 11 são mostrados alguns exemplos desegmentos áureos horizontais e verticais encontrados naface:501 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20ImagemFigura 13: Número de Segmentos Áureosencontrados na região 2AS =15


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Nº de Segmentos65432108761 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20ImagemFigura 14: Número de Segmentos Áureosencontrados na região 3O gene 1(G1) representa a região 1, que apresentou noexemplo utilizado 6 segmentos áureos, gerando acodificação 00110. Os demais genes seguem o mesmométodo de codificação, formando juntos o cromossomo0011011111100011010010101000001000101101011.9. ClassificadorO banco de faces é constituído por quatro imagens decada indivíduo, cada uma com uma expressão facialdiferente; portanto quando houver bu<strong>sc</strong>a por determinadaimagem (tratada como imagem query) o algoritmo não seresume em apenas encontrar essa imagem, mas encontrálae as outras três imagens do mesmo indivíduo, atravésde suas proporções (Figura 17).Imagem QueryNº de Segmentos5432101 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20ImagemFigura 15: Número de Segmentos Áureosencontrados na região 4O processo de extração de características baseado nonúmero de segmentos áureos encontrados na face tem porobjetivo a construção da população inicial do algoritmogenético proposto.8. Codificação e PopulaçãoCada indivíduo é codificado por uma seqüência dedígitos binários, denominados cromossomos. O<strong>sc</strong>romossomos são divididos em genes; cada generepresentará o número de segmentos áureos encontradosem cada região da face. A regra adotada para arepresentação de cada gene foi de<strong>sc</strong>rever em númerosbinários o número de segmentos áureos encontrados emcada região da face (Figura 16).G1 - 600110G2 - 630111111G3 - 10001G4 - 5101G5 - 500101CromossomoCodificado0011011111100011010010101000001000101101011Figura 16: Codificação utilizadaG6 - 801000G7 - 20010G8 - 500101G9 - 5101G10 - 301110. ResultadosImagens a serem encontradasFigura 17: Objetivo do sistemaApós a implementação do algoritmo proposto,verificou-se sua eficiência através de vários testes ealterações, como por exemplo, os pontos de crossover noAG e taxa de mutação.Inicialmente foi utilizado o cromossomo geradoatravés do número de segmentos áureos encontrados emcada região para o reconhecimento das 4 faces de cadaclasse das imagens da base.As imagens recuperadas pertencentes à cada classe daimagem query apareceram em posições distante<strong>sc</strong>onsiderando-se a distância euclidiana. Isto pode serobservado na coluna “Posição das imagens antes doAlgoritmo Genético” na Tabela 1.Após a aplicação do AG as posições de recuperaçãodas imagens similares, ou seja, da mesma classe, sãosignificativamente melhoradas. Por exemplo, para cadaimagem query, o resultado de recuperação das 4 imagensda mesma classe seria 100% exato se em cada linha daTabela 1, as posições das imagens após o AG fossem (1,2, 3, 4).16


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Tabela 1: Comparação das posições das imagens antese após a aplicação do Algoritmo GenéticoImagemQueryPosição das imagensantes do AGPosição dasimagens após o AG1 1 47 195 218 1 2 3 42 1 104 188 238 1 2 4 253 1 86 211 244 1 2 3 104 1 121 168 230 1 2 3 45 1 87 134 190 1 2 5 76 1 132 133 134 1 3 4 67 1 97 131 199 1 2 3 48 1 22 60 95 1 2 3 5: : : : : : : : :476 1 18 42 71 1 3 7 14Ainda com o intuito de comparar a bu<strong>sc</strong>a antes e apósa aplicação do Algoritmo Genético, foram montadas asMatrizes de Confusão, onde em cada linha é mostrada apercentagem de recuperação correta para cada imagem,tendo assim através da razão entre soma da diagonal damatriz pelo número de imagens, a média de recuperaçõe<strong>sc</strong>orretas.A média de recuperação antes foi de 28,2% e após aaplicação do Algoritmo Genético houve uma considerávelmelhora, atingindo 82,5% de recuperações corretas.Para avaliar graficamente a eficiência da metodologia,foram construídas as curvas de Recall x Precision. AFigura 18 mostra este resultado considerando-se a bu<strong>sc</strong>ada imagem query para todas as outras imagens do banco,antes e depois da aplicação do AG no cromossomogerado:11. ConclusõesAntes do AGApós do AGFigura 18: Desempenho do MétodoComo pode ser observado através dos resultadosobtidos, a metodologia baseada em Algoritmos Genéticosaumentou significativamente a eficiência de bu<strong>sc</strong>a deimagens similares em um banco imagens de faceshumanas. Tais resultados demonstram a viabilidade de talabordagem e está em consonância com o modelo bioinspiradoso<strong>br</strong>e proporções áureas existentes entre a<strong>sc</strong>aracterísticas formantes de um rosto humano.12. Referências[1] SUNG, K.-K.; POGGIO, T. (1998). “Example-BasedLearning for View-Based Human Face Detection”, IEEETransactions on Pattern Analysis and MachineIntelligence, vol.20, no.1, pp.39-51.[2] OLIVEIRA, S. L. G.; ASSIS, J. T. (2006). Umametodologia de identificação de imagens de impressõesdigitais pelo filtro de Gabor. Instituto de Computação daUniversidade Federal Fluminense (UFF).[3] DANTAS, G. F. L. (2003). Sistemas Biométricos deIdentificação pela Imagem Facial. Inwww.logicengenharia.com.<strong>br</strong>/mcamara/alunos/Biometria.pdf. Acesso em: 14 nov. 2006.[4] HOLLAND, J. H. (1975) .Adaptation in Natural andArtificial Systems. University of Michigan Press, AnnArbor.[5] GOLDBERG, D.E. (1989). Genetic Algorithms inSearch, Optimization, an Learning. Addison-Wesley,USA.[6] MILARÉ, C. R. (2003). Extração de conhecimento deredes neurais artificiais utilizando sistemas deaprendizado simbólico e algoritmos genéticos. Tese(Doutorado). Instituto de Ciências Matemáticas e deComputação, Universidade de São Paulo, 2003.[7] POZO, A.; CAVALHEIRO, A. F.; ISHIDA, C.;SPINOSA, E.; RODRIGUES, E. M. (2005). ComputaçãoEvolutiva. Grupo de Pesquisas em ComputaçãoEvolutiva. Departamento de Informática. UniversidadeFederal do Paraná.[8] DEB, K. (2001). Multi-Objective Using EvolutionaryAlgorithms. John Wiley & Sons, Ltd, 2001.[9] SILVA, E.S. (2001). Otimização de Estruturas deConcreto Armado Utilizando Algoritmos Genéticos.Dissertação (Mestrado). E<strong>sc</strong>ola Politécnica daUniversidade de São Paulo.[10] MARTINEZ, A. M.; BENAVENTE, R. The AR FaceDatabase, CVC Technical Report no. 24, June 1998.[11] FORSYTH, D. A.; PONCE, J. (2005). ComputerVision: A Modern Approach. Prentice Hall, 1 edition,2002.[12] PRADO, J. L. (2004). Investigação Biométrica emImagens Digitais para Detecção de Faces Humanasatravés de Proporção Divina. Dissertação (Mestrado).E<strong>sc</strong>ola de Engenharia de São Carlos. Universidade de SãoPaulo.[13] BARISON, M. B. (2005). Proporção Áurea emDesenho Geométrico e Arquitetura. Geométrica vol.1n.4ª.17


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Seleção Automática de Componentes de Cor para Segmentação de ImagensHenrique de Souza RuizEngenharia Elétrica, Universidade de São PauloDepartamento de Engenharia Elétrica, EESC-<strong>USP</strong>Av Trabalhador São-carlense, 400 - 13566-590 - São Carlos, SP, Brasilhenriquesruiz@superig.com.<strong>br</strong>Lúcio André de Castro JorgeEm<strong>br</strong>apa Instrumentação AgropecuáriaRua 15 de Novem<strong>br</strong>o, 1452, C.P. 741, 13560-970, São Carlos, SP - Brasillucio@cnpdia.em<strong>br</strong>apa.<strong>br</strong>Ednaldo José FerreiraEm<strong>br</strong>apa Instrumentação AgropecuáriaRua 15 de Novem<strong>br</strong>o, 1452, C.P. 741, 13560-970, São Carlos, SP - Brasilednaldo@cnpdia.em<strong>br</strong>apa.<strong>br</strong>Adilson GonzagaDepartamento de Engenharia Elétrica, EESC-<strong>USP</strong>Av Trabalhador São-carlense, 400 - 13566-590 - São Carlos, SP, Brasilagonzaga@<strong>sc</strong>.<strong>usp</strong>.<strong>br</strong>AbstractThe choice of a color model is of great importance formany computer vision algorithms. As there are manycolor models available, the inherent difficulty is how toautomatically <strong>sel</strong>ect a single color model or,alternatively, a subset of color components for producingthe best result for a particular task. To achieve propercolors components <strong>sel</strong>ection, in this paper, it is proposedthe use of the wrapper method, a data mining approach,to obtain repeatability and distinctiveness in colorsegmentation process. The result yields good featuredi<strong>sc</strong>rimination. The method was verified experimentallywith 108 images from Amsterdam Li<strong>br</strong>ary of ObjectsImages (ALOI) and 10 aerial images for differentphotometric conditions. Further, it is shown that the colorcomponent <strong>sel</strong>ection <strong>sc</strong>heme provides a proper balancebetween color invariance (repeatability) anddi<strong>sc</strong>riminative power (distinctiveness).1. IntroduçãoA <strong>sel</strong>eção de características em uma imagem é degrande importância para sistemas de visão computacional.Uma grande quantidade de informações presentes em umaimagem, como por exemplo, a cor, a textura e a forma,podem ser ou não relevantes para o processo desegmentação. A cor é uma das características mais óbviase importantes da percepção, sendo um atributo desensaçã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 e<strong>sc</strong>olhero sistema de cores mais adequado ou uma combinação dosmesmos. O uso de diversos modelos de cores é uma tarefacomplexa para os algoritmos de visão computacional, poiso espaço de cor pode ser interpretado e modelado dediferentes formas. Nestes casos, combinar os espaços decores ou os canais de cores ou mesmo achar a melhorcombinação desses espaços para uma determinadaaplicação é um grande desafio. É possível que diversosespaços de cores sejam bons candidatos no processo desegmentação ou classificação, pois podem possuirpropriedades similares, como por exemplo, os canais V eG que trazem informações so<strong>br</strong>e intensidade da cor verde.18


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Neste artigo, o principal objetivo foi <strong>sel</strong>ecionar a<strong>sc</strong>omponentes mais significativas dentre 4 modelos decores adotados para segmentação de imagens colorida<strong>sc</strong>om diferentes condições fotométricas.A e<strong>sc</strong>olha das componentes de cores é de extremaimportância, pois a grande dificuldade é <strong>sel</strong>ecionarautomaticamente um subconjunto ótimo de componentesde cores e suas características mais representativas,produzindo o melhor resultado para determinadaaplicação, o que é conseguido através do balançoadequado entre cores invariantes (repetibilidade) evariantes (poder di<strong>sc</strong>riminatório) [2].Baseando-se na noção de separabilidade de classes, foiproposto um método para <strong>sel</strong>ecionar um subconjunto decomponentes de cores visando alcançar a melhor <strong>sel</strong>eçãode características dos modelos envolvidos neste trabalho,utilizando ferramentas de<strong>sc</strong>ritas em [3], [4] e [5].2. Conjunto de ImagensPara se obter a <strong>sel</strong>eção das componentes de cor foramdefinidos, inicialmente, dois conjuntos de imagens: oprimeiro com imagens artificiais obtidas em condiçõe<strong>sc</strong>ontroladas; e o segundo com imagens de uma aplicaçãoreal.O primeiro conjunto é formado por 108 imagens detamanho 192x144 pixels do objeto 25 da biblioteca deimagens da Universidade de Amsterdã (AmsterdamLi<strong>br</strong>ary of Objects Images) (ALOI) [6]. Essas imagensforam capturadas em diversas condições de iluminação,rotação e temperatura de cor. Exemplos podem serobservados na Figura 1:Figura 1: Objeto 25 da Biblioteca ALOI,apresentando variações na temperatura de cor,iluminação e rotação.O segundo conjunto é formado por 10 imagens aéreasde 372x248 pixels que foram adquiridas a 100 metros dealtura em diferentes posições e condições de iluminação.Na Figura 2 são apresentadas imagens de fazendas decitrus utilizadas na aplicação real.Figura 2: Imagens aéreas de fazendas de citrus.3. Seleção de componentes de corA qualidade da classificação e segmentação dasimagens, induzida por um algoritmo de aprendizado demáquina (AM) depende da relevância das característica<strong>sc</strong>onsideradas no conjunto de padrões de treinamento,chamado de vetor de características (VC). A relevânciadas características é fundamental para o algoritmo de AMno aprendizado de conceitos. Quanto maior a quantidadede características que não permitem a di<strong>sc</strong>riminação da<strong>sc</strong>lasses, maior a necessidade de exemplos de treinamentopara alcançar uma dada acurácia [7].Os métodos de <strong>sel</strong>eção de características têm a missãode encontrar uma combinação adequada de característicasrelevantes para o aprendizado de um conceito. Váriasrazões justificam e motivam a aplicação da <strong>sel</strong>eção decaracterísticas. A primeira razão é que alguns algoritmosde AM computacionalmente viáveis não trabalhamadequadamente na presença de um grande número decaracterísticas, principalmente se houver característicasirrelevantes. Isso significa que a <strong>sel</strong>eção pode aumentar aacurácia dos classificadores gerados por esses algoritmos.Outra razão é que a <strong>sel</strong>eção pode auxiliar na compreensãodos dados. A terceira razão é que a <strong>sel</strong>eção pode ajudar areduzir os custos envolvidos na coleta de dados de algunsdomínios.A abordagem de <strong>sel</strong>eção utilizada neste trabalho,conhecida como Wrapper [4], é apresentada na Figura 3.O método Wrapper é reconhecido como uma alternativade <strong>sel</strong>eção de características em problemas deaprendizado supervisionado e é caracterizadofundamentalmente por empregar os algoritmos de AMpara avaliar os subconjuntos de características<strong>sel</strong>ecionados durante o processo de bu<strong>sc</strong>a. Embora oelevado número de características faça a abordagemWrapper apresentar elevado custo computacional,principalmente se a bu<strong>sc</strong>a for exaustiva, a <strong>sel</strong>eção decaracterísticas relevantes para o algoritmo de aprendizadoneste tipo de abordagem, supera o de outras técnicas de<strong>sel</strong>eção e, por essa razão, é o foco deste trabalho.19


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Neste trabalho, o método Wrapper foi implementadousando pacotes da ferramenta Weka. O Weka é umacoleção de ferramentas de pré-processamento de dados eaprendizagem de máquina. Ela foi desenvolvida nauniversidade de Waikato, Nova Zelândia, em Java sobtermos de licença do GNU General Public Licence [3].em diferentes condições de iluminação, rotação etemperatura de cor.Para a execução do método Wrapper, foi necessáriocapturar amostras dos padrões de cada classe presente nasimagens. As classes foram definidas por regiões r de coresdiferentes, ou seja, vermelho, azul, verde, amarelo e ofundo. Foram capturadas 5 amostras de tamanho 3x3 decada região, procurando contemplar as diversas condiçõesde iluminação e <strong>br</strong>ilho na <strong>sel</strong>eção, como mostrado naFigura 4.Figura 3: Método Wrapper para <strong>sel</strong>eção desubconjunto de características [4].A proposta desse artigo foi avaliar o desempenho desegmentação após a <strong>sel</strong>eção de características por meio dométodo Wrapper com algoritmo C4.5 e bu<strong>sc</strong>a exaustiva[3], assim como, identificar o melhor subconjunto decomponentes de cor dos modelos envolvidos, gerandolimiares ótimos para a classificação das classes através deárvores de decisão. O algoritmo C4.5 implementa umclassificador simbólico como estrutura de árvore, ondecada nó interno indica o teste em um atributo, cada ramorepresenta um resultado do teste, e os nós terminaisrepresentam classes ou distribuições das classes [8].4. Processo de segmentação das imagens nosexperimentosNeste artigo, foram utilizados 4 modelos de cores,RGB, HSV, CIE L*a*b* e I 1 I 2 I 3 [14]. Os modelos HSV,CIE L*a*b* e I 1 I 2 I 3 , foram obtidos a partir detransformações do modelo RGB.Esses modelos, tipicamente encontrados na literatura,contêm algumas propriedades variantes e invariantes noque diz respeito às condições fotométricas. A<strong>sc</strong>omponentes de cor RGB, CIE L*, e SV são sensíveis àssom<strong>br</strong>as, iluminação e <strong>br</strong>ilho, ou seja, possuem um grandepoder di<strong>sc</strong>riminatório. Já as componentes CIE a*b* e Hsão invariantes às som<strong>br</strong>as e intensidade da iluminação,possuindo grande capacidade de repetibilidade [9]. Para ométodo proposto deve haver um balanço entre o poderdi<strong>sc</strong>riminatório e a repetibilidade.Foram realizados três experimentos, de<strong>sc</strong>ritos a seguir.O primeiro experimento foi conduzido com 4 imagensdo objeto 25 da biblioteca de imagens da Universidade doAmsterdã (ALOI) [6]. Este objeto é uma bola com a<strong>sc</strong>ores vermelho, azul, verde, amarelo e um fundo e<strong>sc</strong>uro,Figura 4: Seleção das amostras para uma classe verdeso<strong>br</strong>e a imagem.Para cada região r da imagem, foi tomada umaamostra do padrão de tamanho IxJ. . . Para cada uma da<strong>sc</strong>omponentes de cor calculou-se a média, variância eentropia das amostras r(i, j), para i=1…I, j=1…J, comomostrado nas equações (1), (2) e (3). A entropia foideterminada pelo histograma h(k) onde v(h(k)) são asocorrências dos valores e k é o nível de cinza em cadaregião r(i,j); considerando cada componente uma novaimagem em tons de cinza.1Mean Média =MNM1Variance Variância =MNEntropy Entropia =255∑i=0N∑∑i= 1 j−1Mr(i,j)N∑∑i= 1 j=1h(k) * v(h(k))( r(i,j)− Mean Média ij)2(1)(2)(3)Depois de extraídos os valores da média, variância eentropia, o vetor de características VC foi arranjadoconforme na seqüência:20


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Figura 7: Imagens originais do objeto 25 daBiblioteca ALOI e os resultados da segmentação dasimagens baseadas no método Wrapper com bu<strong>sc</strong>aexaustiva.Outros grupos de imagens com cores similares aoobjeto ALOI 25 foram testados, usando a mesma árvoreda decisão gerada. Duas das imagens foram obtidas daBiblioteca ALOI e outra de uma base de imagens departidas de futebol. O desempenho do algoritmo pode serobservado na Figura 8.Figura 8: Imagens que não foram treinadas,utilizando a árvore de decisão mostrada na figura 6,apresentaram bom desempenho na segmentação.No segundo experimento foi aplicada a metodologiaproposta às imagens aéreas de citrus. O método Wrapperfoi utilizado também em duas etapas, ou seja, somentecom as médias em primeira instância e, posteriormente,adicionando-se as variâncias e entropias correspondentesàs componentes <strong>sel</strong>ecionadas. A precisão em validaçãocruzada foi de 99.52% de acertos, sendo as componentes<strong>sel</strong>ecionadas, as médias de a e de G, e a entropia de B,como mostrado na Figura 9. Os resultados dasegmentação com a árvore da decisão (Figura 9) sãomostrados na Figura 10.Média a123.39Figura 10: Imagens aéreas e os resultados dasegmentação das imagens baseadas no método Wrappercom bu<strong>sc</strong>a exaustiva.Os resultados foram avaliados visualmente apenasobservando-se as imagens e os respectivos segmentos.Nas imagens artificiais é fácil verificar onde asegmentação foi adequada ou não. Nas imagens aéreas, adificuldade visual di<strong>sc</strong>riminatória é maior. Porém, de umaforma geral os resultados foram satisfatórios. Paracomparação, foi implementada uma rede neural MLP(Perceptron de Múltiplas Camadas) com o algoritmoBackpropagation. Os mesmos conjuntos de treinamentoutilizados no Wrapper foram usados para treinar a redeneural, porém, foram utilizadas apenas as componentes demédias RGB. Os resultados para os objetos ALOI 25 e asimagens aéreas podem ser observados nas Figuras 11 e12. A rede neural foi treinada com os valores médios deRGB, apresentando um erro médio de 0.1% para oconjunto de treinamento. É possível verificar que osresultados mostraram problemas para segmentar o solo eas ervas daninhas. A idéia aqui foi avaliar um sistema desegmentação apenas com as componentes RGB uma vezque os outros sistemas de cor são derivados deste eapresentam alguma redundância. Observa-se umdesempenho adequado na segmentação do objeto ALOI25, mostrando que mesmo sob diferentes condições deiluminação, temperatura de cor e pontos de vista, épossível segmentá-las com poucas componentes de cor.No entanto, em imagens mais complexas, como asimagens aéreas de citrus, a textura é um fator importante enecessário para a di<strong>sc</strong>riminação das classes, além da<strong>sc</strong>omponentes invariantes. É nesse aspecto que a <strong>sel</strong>eçãodas componentes de cores proporcionada pela abordagemWrapper se destaca, apresentando melhor desempenhomesmo com algoritmos de classificação mais simples(C4.5) comparado aos modelos tradicionais de redesneurais.Verde5.6244AzulVerdeFigura 9: Árvore de Decisão para as imagens aéreas.Figura 11: Segmentação das imagens das bolas usandouma Rede Neural MLP com valores médios de RGB.22


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Figura 12: Segmentação das imagens aéreas de citrususando uma Rede Neural MLP com valores médios deRGB.Convém ressaltar a existência de redundância entrealgumas das componentes dos diferentes modelos de coresenvolvidos neste trabalho, ainda que a combinação destaspossa melhorar a precisão dos algoritmos de AM. Noentanto, este trabalho mostra que a <strong>sel</strong>eção adequada deum subconjunto de componentes contribui para umequilí<strong>br</strong>io entre a capacidade de repetibilidade e poderdi<strong>sc</strong>riminatório, o que é desejável na segmentação deimagens aéreas.6. ConclusõesNeste trabalho, o método Wrapper foi proposto eaplicado de modo a <strong>sel</strong>ecionar um subconjunto ótimo decomponentes de modelos de cores para umadi<strong>sc</strong>riminatória e robusta segmentação de imagens. Foiverificado experimentalmente que o método Wrapperusando uma bu<strong>sc</strong>a exaustiva na <strong>sel</strong>eção do subconjunto decaracterísticas com Árvore de Decisão pelo algoritmoC4.5, representa uma abordagem com bons resultados desegmentação. A <strong>sel</strong>eção do subconjunto de componentesde cor efetuada permitiu o balanço apropriado entrerepetibilidade e o poder di<strong>sc</strong>riminatório.Em Visão Computacional existe um cre<strong>sc</strong>enteinteresse na <strong>sel</strong>eção de características, onde váriasquestões ainda permanecem abertas. Os métodos deMineração de Dados para a <strong>sel</strong>eção de características têmsido propostos com algum sucesso. Muitos exemplosdestas aproximações são focalizados em clusterizaçãonumérica, não havendo nenhuma evidência teórica ouexperimental relacionada a seu comportamento emimagens coloridas. Este é um dos primeiros trabalhosneste sentido. As experiências conduzidas em uma grandevariedade de imagens tanto artificiais quanto reais,mostraram que o método proposto é aplicável e comresultados significativos na segmentação de imagen<strong>sc</strong>oloridas em diferentes condições de iluminação.[3] Witten, I.H.; Frank, E. Data Mining - PracticalMachine Learning Tools and Techniques with Java.Morgan Kaufmann Publishes, (WEKA).[4] Kohavi, R.; John, G. H. Wrappers for feature subset<strong>sel</strong>ection. Artificial Intelligence. 97(1-2):273-324,1997.[5] Kohavi, R.; Sommerfield, D. Feature subset <strong>sel</strong>ectionusing the wrapper model. Overfitting and dynamicsearch space topology. In: The First InternationalConference on Knowledge Di<strong>sc</strong>overy and DataMining. Pág. 192-197, 1995.[6] http://staff.<strong>sc</strong>ience.uva.nl/~aloi/[7] Langley, P.; Iba, W. Average-case analysis of anearest neighbor algorithm. In: International JointConference on Artificial Intelligence. Chambery,1993.[8] Rezende, S. O.; Pugliesi, J. B.; Melanda, E. A.; DePaula, M. F., "Mineração de Dados", In: SistemasInteligentes: Fundamentos e Aplicações, 58 Barueri,SP, Brasil, Rezende, S. O. (coord.), Editora ManoleLtda., Cap. 12, pp. 307-336, 2003.[9] Gevers, T. Color in image search engines. Universityof Amsterdan. Principles of Visual InformationRetrieval, Spring-Verlag, London, 2001.[10] Rumelhart, D.; Hinton, G; Williams, R. L. LearningInternal Representations by Error Propagation. In:Parallel Distributed Processing - Vol. 1. MIT Press,Cam<strong>br</strong>idge. 1986.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 ofcolor models for image feature detection. IEEETrans. On Pattern analysis and Machine Intelligence.Vol. 29, n.3, march <strong>2007</strong>.23


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Novo método para normalização da iluminação em imagens de faceMichelle M. Mendonça 1 , Juliana G. Denipote 2 , Ricardo A. S. Fernandes 3 , Maria Stela V. Paiva 4 ,E<strong>sc</strong>ola de Engenharia de São Carlos – EESC. Universidade de São Paulo – <strong>USP</strong>{chelle.3m 1 , ricardo.asf 3 }@gmail.com , {judeni 2 , mstela 4 }@<strong>sel</strong>.<strong>ee<strong>sc</strong></strong>.<strong>usp</strong>.<strong>br</strong>AbstractNormalização da iluminação é uma tarefa bastantecomplexa no reconhecimento de faces. Este artigode<strong>sc</strong>reve o método GamaAdapt desenvolvido paraamenizar a má influência da iluminação em imagensfaciais além de de<strong>sc</strong>rever três métodos (LogAbout, filtrohomomórfico e wavelet) e comparar suas contribuiçõespara posterior reconhecimento de faces. Análise deComponente Principal (PCA) foi utilizada para oreconhecimento facial.1. IntroducãoReconhecimento de faces tem sido considerado umproblema desafiador na comunidade de visãocomputacional. Variações em relação à mudança de pose,expressão, ou distribuição da iluminação, fazem com quea detecção de face seja uma tarefa extremamente difícil.Dentre essas variações, mudanças de pose e iluminaçãosão consideradas os fatores mais críticos para umreconhecimento de face robusto.Algoritmos de realce de contraste bem conhecidos, tai<strong>sc</strong>omo equalização do histograma são métodos globais enão consideram detalhes na imagem que são muitoimportantes para o reconhecimento facial [1].Transformações logarítmicas aumentam os baixos níveisde cinza e comprimem os altos, são úteis para imagensnão uniformes e com som<strong>br</strong>as, entretanto não são úteispara imagens com <strong>br</strong>ilho [2]. O filtro homomórficoproporciona simultaneamente intervalo dinâmico decompressão e realce de contraste, este algoritmo élimitado ao tamanho da imagem 2 n x2 n [2].Shan et al. [3] investigou diversos métodos denormalização da iluminação e propôs novas soluções, tai<strong>sc</strong>omo Correção de Intensidade Gama (GIC), EstratégiaBaseada em Região combinando GIC e Equalização doHistograma (HE) e o método Quotient IlluminationRelighting (QIR). Chen et al. [4] utilizou a transformadado Cosseno Di<strong>sc</strong>reta (DCT) para compensar variações dailuminação no domínio logarítmico. Este método nãorequer nenhum passo de modelagem e pode ser facilmenteimplementado em sistema de reconhecimento facial emtempo real. Zhu et al. [5] propôs um método paracorreção de iluminação normalizando o contraste daimagem por meio de uma transformação afim efetuandouma estimação de fundo e ganho.Foi proposta uma comparação entre métododesenvolvido (GamaAdapt) com outros métodos denormalização de imagens de face encontrados naliteratura, tais como o método LogAbout [2], filtrohomomórfico modificado [6] e método baseado emwavelet [1] para tarefas de reconhecimento facial.Este artigo está organizado da seguinte forma: na seção2 é de<strong>sc</strong>rita uma <strong>br</strong>eve introdução da fundamentaçãoteórica. Métodos utilizados para normalização deiluminação são de<strong>sc</strong>ritos na seção 3. Na seção 4 éintroduzido o método GamaAdapt. É apresentada uma<strong>br</strong>eve introdução de reconhecimento de faces utilizandoPCA na seção 5. As seções 6 e 7 mostram resultados econclusões.2. Fundamentação teóricaNesta seção será apresentada uma <strong>br</strong>eve de<strong>sc</strong>rição detransformações logarítmicas, filtro homomórficoButterworth e wavelet, uma vez que estas técnicas foramutilizadas nos métodos de compensação de iluminaçãoque serão apresentadas na próxima seção.2.1 Transformações não linearesTransformações não lineares são usadasfreqüentemente em visão computacional, os tipos mai<strong>sc</strong>omuns de funções de transferências estão ilustradas nafigura 1. A curva da função logarítmica tem comoobjetivo aumentar níveis de cinza baixos e comprimirníveis de cinza altos, o que pode melhorar iluminaçõesdeficientes. Transformações logarítmicas são úteis emimagens com som<strong>br</strong>a e iluminação não-uniforme.Uma função gama tem a finalidade clarear imagense<strong>sc</strong>uras e e<strong>sc</strong>urecer imagens claras, esta função é dadapela equação 1 [7]:γs = cr (1)onde c é uma constante, geralmente 1, r é a imagemoriginal e s é a imagem final.A transformação gama com valor de γ < 1 tende areduzir a intensidade luminosa, enquanto as24


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.transformações com valores maiores que 1 fazem oinverso, ou seja, tornam a imagem mais clara.H ( u,v)= (2)2n⎡D0⎤1+⎢⎣1D(u,v)⎥⎦onde n define a ordem do filtro. D 0 é a distância dafreqüência de corte do centro e D(u,v) é dado por:22[(u − M / 2) + ( v − / 2) ] 1/ 2D( u,v)= N(3)onde M é o número de linhas e N o número de colunasda imagem original.2.3 WaveletsFigura 1: Transformações não-lineares [7]2.2 Filtro Homomórfico ButterworthO filtro homomórfico é um filtro utilizado para realçaras altas freqüências e atenuar as baixas freqüências, afigura 2 mostra em corte um exemplo da função detransferência H(u,v) em função de D(u,v) (distância apartir da origem do par de coordenadas (u,v)). Um resumodeste método pode ser encontrado na figura 3, onde DFTé a transformada di<strong>sc</strong>reta de Fourier e (DFT) -1 é suatransformada inversa [6].A Transformada de Wavelets bi-dimensional parasinais di<strong>sc</strong>retos é definida como [1]:f ( x )=∑∑∑a 0 , kΦ 0 ,k( x ) + dj ,kψj ,k( x ) (4)k j kondeΦ são funções <strong>sc</strong>aling na e<strong>sc</strong>ala j eψj , ksãofunções wavelet na e<strong>sc</strong>ala j . a jk , d jk são coeficientes<strong>sc</strong>aling e wavelet.Para transformação Wavelet Di<strong>sc</strong>reta 2D (DWT), umaimagem é representada em termos de translações edilatações das funções <strong>sc</strong>aling e wavelet. Os coeficientes<strong>sc</strong>aling e wavelet podem ser facilmente computadosutilizando um banco de filtros 2D consistindo de filtrospassa-alta e passa-baixa. Após um nível de decomposição2D, a imagem é dividida em quarto sub-bandas: LL(passa-baixa passabaixa), que é gerada pelos coeficientesde aproximação; LH (passa-baixa passa-alta), HL (passaaltapassa-baixa), e HH (passa-alta passa-alta), que sãogerados pelos coeficientes de detalhe [1].3. Métodos de normalização da iluminaçãoFigura 2: Filtro Butterworth passa-altaNesta seção será apresentada uma <strong>br</strong>eve di<strong>sc</strong>ussão dosmétodos utilizados para compensação da iluminação.3.1 LogAboutFigura 3: Passos filtro homomórficoUm filtro passa-alta normalmente usado para esteprocedimento é o filtro Butterworth definido como [7]:O método LogAbout proposto por Liu et al. [2]consiste da aplicação de um filtro passa-alta seguida deuma transformação logarítmica. A transformaçãologarítmica utilizada foi:25


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.ln( f ( x,y)+ 1)g(x,y)= a +(5)blnconde f(x,y) é a imagem original, a, b e c são parâmetrosque controlam a localização e forma da curva logarítmica.Figure 6: Variação do filtro homomórfico [6]Figura 4: Má<strong>sc</strong>araO filtro passa-alta utilizado neste processo encontra-sena figura 4, resultados estão ilustrados na figura 5.3.3 WaveletsA imagem é decomposta em altas (sub-bandas LH, HLe HH da figure 7) e baixas freqüências (LL2). Equalizaçãodo histograma é aplicada nos coeficientes deaproximação, e ao mesmo tempo são acentuados osdetalhes (alta freqüência) multiplicando cada elemento damatriz dos coeficientes de detalhe por um e<strong>sc</strong>alar > 1 [1].Figura 5: (1) Imagem original (2) Depois datransformação Log (3) Depois do método LogAbout [2]3.2 Adaptação do Filtro HomomórficoNeste método a imagem é dividida verticalmente emduas metades (obtendo-se duas sub-imagens da imagemoriginal) (figura 6) e aplicado o filtro em cada metadeindividualmente. Neste método foi utilizado filtroButtherwort com freqüência de corte D o = 0.25 e n = 1.Seguindo esta idéia, a imagem original é divididahorizontalmente e novamente é aplicado o filtro em cadametade individualmente [6].Após a divisão da imagem e aplicação do préprocessamentoem cada metade, as sub-imagens sãoagrupadas para reconstruí-la. A imagem de saída,IHMMOD(x,y), é dada por:Figura 7: Estrutura multi-resoluçãoA imagem é reconstruída dos coeficientes deaproximação e detalhes em todas as 3 direções usando atransformada wavelet inversa, resultando na imagemnormalizada.I( x,y)= 1 .[ IHMV( x,y)0.75. IHMH( x,y)](6)2HMMOD +onde I HMV (x,y) é a imagem dividida verticalmente,depois da aplicação do filtro homomórfico, e I HMH (x,y) é aimagem dividida horizontalmente.Figura 8: Decomposição wavelet da imagem de face [1]4. Método GamaAdaptNo novo método desenvolvido (figura 11) foi aplicadoinicialmente na imagem um filtro da média com má<strong>sc</strong>ara3x3 com a finalidade de diminuir a influência de pixelsisolados com valores muito altos ou muito baixos, logo26


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.depois foi aplicado a equalização do histograma paramelhorar o contraste da imagem.Foi observado que pixels muito e<strong>sc</strong>uros das imagensestavam no intervalo [0,60], pixels e<strong>sc</strong>uros no intervalo[61,120], pixels claros estavam no intervalo [121,189] emuito claros no intervalo [235,255]. Então foi efetuada amédia total de pixels da imagem para encontrar em qualintervalo a imagem se enquadraria, para finalmenteutilizar a correção gama com valores adequados,conforme pode ser observado na figura 9. Após aaplicação da transformação gama obtém-se a imagemnormalizada.Após o treinamento, a rede neural LVQ (LearningVector Quantization) é capaz de identificar se umaimagem de face pertence ou não ao banco de dados.6. ResultadosFoi utilizado um subconjunto do banco Yale FaceDatabase B [9] contendo imagens em tons de cinza de 10pessoas, cada uma so<strong>br</strong>e 10 diferentes condições deiluminação. Exemplos de imagens de três indivíduos dobanco utilizado encontram-se na figura 10.O resultado da taxa de reconhecimento do PCA semaplicar normalização de iluminação foi de 77%. A tabela1 mostra os resultados obtidos após aplicação dosmétodos de compensação da iluminação antes do uso doPCA, e na figura 11 é possível observar resultados obtidosapós utilização dos métodos de normalização dailuminação.Tabela 1: Taxa de reconhecimento de cada métodoMétodoTaxa de reconhecimentoSem normalização dailuminação77%Adaptação do filtrohomomórfico79%LogAbout 91%Wavelet 93%Método GamaAdapt 96%Figura 9: Estrutura do método GamaAdapt5. Reconhecimento de face utilizando PCAPCA é um método para reconhecimento de padrãonuma determinada base de dados e expressa assimilaridades e diferenças a respeito de uma imagem alvo[8]. O espaço PCA tem dimensionalidade reduzida semmuita perda de informação. O método PCA consiste emcalcular 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 osdados de entrada para a rede neural.Figura 10: Amostra de 3 faces utilizadas27


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.7. ConclusãoNeste trabalho foram comparados quatro métodos denormalização da iluminação. Todos os métodosanalisados obtiveram melhores resultados noreconhecimento facial do que a não utilização de algumtipo de pré-processamento.O método GamaAdapt desenvolvido obteve melhoresresultados, devido este analisar a imagem como um todopara verificar se esta é e<strong>sc</strong>ura ou clara e assim poderefetuar correção de contraste na imagem. A utilização dewavelet obteve segundo melhor resultado, este fato ocorreporque a imagem resultante não tem apenas realce decontraste, mas também realce de bordas e detalhes o quefacilita futuras tarefas de reconhecimento de faces [1].Para se obter uma melhor taxa de acerto noreconhecimento será proposta para uma próxima etapauma técnica de amenização da iluminação que além deavaliar a imagem globalmente também analisará ainfluência de cada pixel da imagem. Também serãocomparados outros métodos de reconhecimento facial,uma vez que é possível obter resultados diferentes comcada método de correção de iluminação.Referências[1] S. Du and R. Ward, “Wavelet-Based IlluminationNormalization For Face Recognition”, Proc. of IEEEInternational 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 IlluminationFeature in Face Detection” , Proc. IEEE InternationalConferences on Info-tech and Info-net, vol. 23, 2001, pp. 444-449.[3] S. Shan, W. Gao, B. Cao and D. Zhao, “IlluminationNormalization for Robust Face Recognition Against VaryingLighting Conditions”, Proc. of the IEEE InternationalWorkshop on Analysis and Modeling of Faces and Gestures,vol. 17, 2003, pp. 157-164.[4] W. Chen, M. J. Er and S. Wu, “Illumination Compensationand Normalization Using Logarithm and Di<strong>sc</strong>ret CosineTransform”, Proc. of IEEE Internacional Conference onControl, Automation, Robotics and Vision, vol. 1, 2004, pp.380-385.[5] J. Zhu, B. Liu, S and C. Schwartz, “General IlluminationCorrection and its Application to Face Normalization”, IEEEInternational Conference on Acoustics, Speech, and SignalProcessing, vol. 3, 2003, pp. 133-6.[6] K. Delac, M. Grgic and T. Kos, “Sub-Image, HomomorphicFiltering Techniques for Improving Facial Identification underDifficult Illumination Conditions”. Internacional Conference onSystem, 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 UsingEigenfaces”, IEEE Computer Society Conference, 1991 pp. 586-591.Figura 11: a) Imagem original, b) Adaptação do filtrohomomórfico, c) LogAbout, d) Método propostoAgradecimentos[9] A. S. Georghiades, P. N. Belhumeur and D. J. Kriegman,“From Few To Many: Generative Models For RecognitionUnder Variable Pose and Illumination”, IEEE Int. Conf. onAutomatic Face and Gesture Recognition, 2000, pp. 277-284.Os autores gostariam de agradecer a "Yale FaceDatabase B" pelas imagens, e Juliana G. Denipotegostaria de agradecer ao CNPq pelo suporte financeiro.28


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.An Efficient Method for Parameter Estimation on the Multi-Level LogisticMRF Image Model using Maximum Pseudo-Likelihood ApproachAlexandre L. M. Levada 1 , Nelson D. A. Ma<strong>sc</strong>arenhas 21 Instituto de Física de São Carlos - Universidade de São Paulo, São Carlos, SP, Brasil.2 Departmento de Computação - Universidade Federal de São Carlos, São Carlos, SP, Brasil.alexandreluis@ursa.if<strong>sc</strong>.<strong>usp</strong>.<strong>br</strong>, nelson@dc.uf<strong>sc</strong>ar.<strong>br</strong>AbstractThis paper addresses the problem of maximumpseudo-likelihood (MPL) estimation of the nonisotropicMarkov Random Field image model knownas Multi-Level Logistic (MLL) in a computationallyefficient way. The proposed method consists in writingthe pseudo-likelihood function on a feasible way, interms of variables a kand r k(where k denotes theclique type), obtained by a unique <strong>sc</strong>anning of theimage. The objective function is then maximized usingan implementation of the simplex search method,which does not require the computation of numericalor analytical gradient. Experiments using tomographicimages show that the proposed method is consistent inthe presence of random noise.1. IntroductionMarkov Random Fields define a robust approachfor contextual modeling. However, there are manyopen problems in MRF parameter estimation, and inmost applications, the model parameters are stillchosen by trial and error [1-2]. The main difficult inMRF parameter estimation is that the traditionalmethods 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 jointdistribution (global model). To overcome thisdifficulty, Besag [3] proposed the maximum pseudolikelihoodapproach (MPL), which uses the localconditional density functions to define a pseudolikelihoodfunction. Our contribution is the proposal ofan efficient methodology for estimation of Multi-LevelLogistic MRF model parameters based on rewriting thepseudo-likelihood function on a feasible way, and byavoiding intensive global optimization algorithms.This paper is organized as follows. Section 2 i<strong>sc</strong>oncerned about the MLL MRF image model and thepseudo-likelihood approach. Section 3 presents theproposed estimation method. The experiments andresults are de<strong>sc</strong>ribed on Section 4. Finally, Section 5presents the conclusions and final remarks.2. MRF Image ModelsThe fundamental notion associated with Markovproperty is the conditional independence, since theknowledge of a local region (neighborhood system)isolates a single element from the entire field. A MRFdefined on a lattice S is a collection of randomvariables for which the probability of a single elementgiven the entire lattice is equal to the probability of thi<strong>sel</strong>ement given a finite support region of the lattice,called neighborhood [4]. Non-causal neighborhoodsystems are referred as zero-order, first-order, secondorderand so on. Figure 1 shows the finite supportregions for first to fifth order systems:Figure 1. Finite support regions for severalneighborhood systemsIn this work, we assume a second-order non-causalnon-isotropic and homogeneous model, called Multi-Level Logistic (the spatial dependency parameters arenot the same for all directions, but they are constantalong the entire image).2.1 The Multi-Level Logistic Image ModelIn stochastic image modeling, we need to define aprobability distribution over possible images whichreflect our prior knowledge about the desired solution.One of such models is the MLL model, which assumesdifferent spatial dependency parameters, each one for aspecific direction: horizontal ( β ), vertical (1β ) and2diagonals ( β3, β ). The standard model assumes that4the spatial parameters are globally constant throughoutthe field. The inhomogeneous model allows the29


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.parameters to vary spatially. Thus, it can be defined bya set of local conditional density functions (LCDF’s).For a general neighborhood system N , the LCDF of aMulti-Level Logistic pairwise interaction model isdefined as [5]:( i,j|xN)i,jp x=exp V x , xk kexp V x , xk∈ xijG k( , + ε,+ η)C i j i j( , + ε,+ η)C i j i j(1)where N denotes the neighborhood around pixeli,jx ,i,jxi ε, j ηNi,j∈ , + + G { 1, 2,..., K}= is the set ofpossible values of x (K is the number of classes) andi,j( ,,+ ε,+ η)V x xCki j i j β , x = x= − β , x ≠ xk i, j i+ ε,j+ηk i, j i+ ε,j+ηwhere ckdefines the clique type, as shows Figure 2.(2)Figure 2. Possible clique types for a MLL pairwiseinteraction process2.2 Maximum pseudo-likelihood estimationThe main difficult in MRF parameter estimation isthat the traditional methods cannot be directly appliedto the problems. The most general estimation method,maximum likelihood approach, is computationallyintractable. The main advantage of the MPL estimatoris its computational simplicity. Fortunately, as themaximum likelihood (ML) estimator, the MPLestimator has also a series of desirable properties, a<strong>sc</strong>onsistency, that is, it converges to the true parameterwith probability one as the size of image growsinfinitely, and asymptotic normality [6]. The MPLestimator satisfies:ˆ βarg max | ,( ,x β),MPL= ∏ p xi j N i j (3)β ( i,j)∈SOften, maximizing the log-pseudo-likelihoodfunction is more convenient (log is a monotonicallyincreasing function), which results in:log PLi,j∈S( β )k= ( ,,+ ε,+ η)V x xCki j i j log exp V x , x k i,j∈S xi,j∈G k −( , + ε,+ η)C i j i j(4)Thus, in order to obtain ˆMPLβ , we need to maximizeequation (4). In the following sections we propose anefficient and computationally feasible method to solvethis problem.3. An approach for MLL parameterestimation using MPL estimationThe log-pseudo-likelihood function can beinterpreted as the difference between 2 main terms.Expanding the summation on first term, gives:( ,+ ε + η) ( ,+ ε + η)T = V x x + V x x +1 C1 i, j i , j C2i, j i , j( i,j)∈S( ,,+ ε, + η) + ( ,,+ ε,+ η)V x x V x xC3 i j i j C4i j i j(5)Denoting by g the number of cliques of type kkwith equal labels and e the number cliques of type kkwith different labels, expression (5) becomes:( β β ) ( β β )( g3β3− e3β3) + ( g4β4 −e4β4) ( gk ek)βkk akβkT = g − e + g − e +1 1 1 1 1 2 2 2 2= −=k(6)where a represents, for the entire image, the totalknumber of cliques of type k with equal labels minus thetotal number of cliques of type k with different labels.Considering a second-order neighborhood system, theneach pixel xi,jbelongs to 2 cliques of type k, asillustrates Figure 3.Figure 3. Cliques for a central pixel on a secondorderMLL pairwise interaction process30


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.For the second term, we should not adopt a globalapproach, but instead use the local informationrestricted only to each pixel’s neighborhood system.Similarly to the first term, we can write:T2= p −q( i,j)∈S x i,j∈G k ln exp ( )k k k = ln exp rkβk( i,j)∈S x i,j∈G k β (7)where p andkq represent the number of neighboringkpixels equal and different on direction k, respectivelyand rk=− 2,0, 2 . Thus, the 4-D function to beβ = β , β , β , β is:maximized on ( )1 2 3 4 L( X, β)= akβk − ln exprkβk(8)k ( i,j) ∈S xi , j∈G k where akis an element of a 1× 4 vector A and r iskan element of a 3-D K× 4× NM matrix R , with Krepresenting the number of possible labels and N , Mare the image spatial dimensions. This 3-D matrixstores one 2-D K × 4 matriz for each image pixel.Note that both A and R can be obtained through asingle image <strong>sc</strong>anning.Algorithm:1. Define the number of regions/classes (K).2. Scan the image once (all NM pixels)a. Calculate A[k], the total number ofcliques of type k with equal labelsminus the total number of cliques oftype k with different labels (k = 1..4)b. Define the 3-D matrix R, containingthe difference on the number ofequal and different neighboringpixels on direction k, for all possiblecentral pixel values3. Define log-pseudo-likelihood function L( β )terms of vector A and matrix R.4. Maximize L( β )using a numerical method(preferably one without analytical or numericalgradients).5. Output parameter vector ˆ β ( ˆ ˆ ˆ ˆMPL= β1, β2, β3,β4)inFigure 4. Example of the R matrix for a 3class problemInitially, to solve the optimization problem, anynumerical algorithm could be used. Our choice for aMATLAB implementation of the simplex searchmethod [7] is motivated by the fact that it is a directsearch method and does not make use of numerical oranalytical gradients. Such class of numerical methodsdoes not require the computation (or even theexistence) of derivatives. Therefore, the proposedmethod provides a computationally feasible way toestimate the parameter vector β by MPL for anygiven number of classes M. Obviously, the price for anincrease on the number of classes is a highercomputational cost. If the number of classes is smallthe problem is simplified since the size of matrix Rsignificantly reduced.4. Contextual ClassificationBasically, the main application of this work is thedevelopment of a new methodology for contextualclassification that uses combination of sub-optimal fastiterative algorithms for multispectral imageclassification (Figure 5). The use of multispectralimages causes a significant increase on the number ofunknown MRF spatial dependency parameters,requiring a robust and accurate parameter estimationstage. The combination approach is motivated by thefact that local iterative optimization algorithms likeICM, MPM and GSA [5] are very dependent on theinitial conditions, converging to local maximasolutions. On the other side, although global methodsas Simulated Annealing (SA) provide optimalsolutions, they are very traditional approaches,computationally expensive and have low convergencespeed. Our methodology for contextual classificationproposes to investigate the use of local methods withmultiple initializations to avoid sub-optimal solutionsby adopting different classifier combination strategies.The estimation methods de<strong>sc</strong>ribed here will be part ofthe MRF model parameter estimation module from thefollowing contextual classification <strong>sc</strong>heme.31


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.variance and on Poisson distribution the variance isequal to the expectedvalue [8].Original imagePoisson noiseGaussian noiseFigure 1. Multispectral imagecontextualclassification using combination ofiterative MRFalgorithms5. Experiments and resultsTo test andd evaluate the proposed method, we presentthe resultss in 4 experiments with real image datacomparingg the values of ˆkβ for first, second and third-oforder neighborhood systems:a.) nuclearr magnetic resonance (NMR) images.b.) computerized tomography images.c.) labeled classified images.d.) Lena image.On the first experiment we considered a samplea multispectral NMR mango image, formed by T1, T2and P D bands, provided by Em<strong>br</strong>apa AgriculturalInstrumentation. These images have been used on thedevelopment of a non-invasive fruit quality assessmentsystem. In order to run the proposed method, we chosea mango transversal section P D band image withdimensionss of 256 x 256pixels, 255 gray levels (255classes). To test theestimation method againstdifferent types and levels of noise, we degraded theimage withh a signal dependent Poisson noise and aindependent additive gaussian noise, with zero mean2and σ = 0.02 . The images and obtained results areshown in Figure 5 andTable 1. Note that carefulexamination of the Poisson noise degraded imagereveals that clearer areas have more noise than darkareas. Thisis because <strong>br</strong>ighter areas have higher noiseFigure 5. NMR P D band mango imagesTable 1. MPL MLL parameter values forsecond order neighborhood systems on NMR P Dband mango imagesOriginalPoissonGaussianHorizontal ˆβ 1= 1.021 ˆ β1= 0.8900 ˆ β1= 0.6565Vertical ˆ β2=0.7470 ˆ β2= 0.7448 ˆ β2= 0.6372Diagonal: / ˆ β3=0.7849 ˆ β3= 0.7753 ˆ β3= 0.6256Diagonal: \ ˆ β4=0.7882 ˆ β4= 0.7784 ˆ β4= 0.6276The second experiment usedone band of amultispectral CT image containing several materialsfound in soil (plexiglass, aluminum, water,phosphorus, calcium, besides the image background)obtained by an X and γ-ray CT <strong>sc</strong>anner developed byEm<strong>br</strong>apa Agricultural Instrumentation to exploreapplications on soil<strong>sc</strong>ience images. To acquire theimages, two X-ray sources and two γ-ray sources(Cesium and Americium) were used [9]. The X-rayenergies were 40keV and 85keV. The γ-ray were60keVV (Americium) and 662keV (Cesium).Onthe followinganalysis we considered one lowSNR ( Signal-to-Noise Ratio) image, contaminated withhigh levels of noise, due to the low exposuree timeduringdata acquisition (3 seconds of exposure) andanother smoother high SNR image, obtained with ahigherexposure time (20 secondss of exposure time),both images with size of 65 x65 pixels. The objectiveis to analyze the performance of the estimation methodon CT-images with different levels of noise.32


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.After the reconstruction with thefiltered back-projection algorithm theimages weree normalized to255 levels of gray (K=255) that are proportional to thevalues of the physicallyy observed linear attenuationcoefficients. These coefficients are a function ofenergy and are also proportional to the attenuationdensity of the materials. For a single energy, the CT-<strong>sc</strong>anners obtain a map ofthe coefficients in the sectionof the sample, so the use of many bands inmultispectral images canoffer additional informationfor classification and analysis because the coefficient<strong>sc</strong>hange substantially withdifferent energies, as verifiedin previousworks [10]. The results are shown below.Table 2. MPL MLL estimators forsecond orderneighborhood systems on 662 KeV band CTimagesHorizontalVerticalDiagonal:Diagonal:/ 3\ 4662KeV Noisy 662 KeVˆ β1= 0.7814ˆ β1= 0.76142ˆβ = 0.9101 ˆ β2= 0.6758ˆ β = 0.7254ˆ β3= 0.5960ˆ β = 0.7569ˆ β = 0.7440Table 3. MPL MLL estimators forsecond orderneighborhood systems on 85 KeV band CTimages4not affect all pixelsin the image (salt and pepperaspect)and the number of classes is small comparingwith the previous cases (K=6).Table 4. MPL MLL estimatorss for second orderneighborhoodsystems on labeled imagesHorizontalVerticalDiagonal: /Diagonal: \PCAˆ β1= 0.3122ˆ β2= 0.3073ˆ β3= 0.1853ˆ β = 0.14474LDAˆ β1= 0.3216ˆ β2= 0.4852ˆ β3= 0.2885ˆ β = 0.3582Finally, in the last experiment, we compared theresultss for MPL MLL parameter estimation usingsmoothand noisy gray<strong>sc</strong>ale Lenaa images (Figure 6).The additive noise is Gaussian with zero mean and2σ = 0.02 . Results are shown on Table 5.In all situations, the obtained results are conwith theory, since in the MLL MRFF model, sistentβ controlsthe homogeneity of the solution and it is desirable thatthe values are smaller for rough fields, because thepresence random noise on images reduces thepixeldependency. It means that this dependency betweenneighboring elements is weakeron noisy imagesbecause the pixels are less correlated.4HorizontalVerticalDiagonal:Diagonal:/ 3\ 485 KeVˆ β1= 0.7888ˆ β2= 0.7973ˆ β = 0.6897ˆ β = 0.6260Noisy 85 KeVˆ β1= 0.7658ˆ β2= 0.7606ˆ β3= 0.6765ˆ β = 0.4484The third experiment used two different label fields(classification maps), obtained by classifying theprevious noisy CT multispectral imageusing differentfeature extraction methods, Principal ComponentAnalysis (PCA) and Linear Di<strong>sc</strong>riminant Analysis(LDA) anda maximumm likelihood classifier (LDC),assuming equal covariance matrices for each class.Note that, in this case, the noise is local since it does4OriginalGaussian noiseFigure 6. Lena images: original and withadditive Gaussian noiseTable 5. MPL MLL estimatorss for second orderneighborhood systems onLena imageGaussianOriginalnoiseHorizontal ˆ β1= 0.9078 ˆ β1= 0.4030Vertical ˆ β2= 1.3245 ˆ β2= 0.4408Diagonal: / ˆ β3= 0.5568 ˆ β3= 0.4194Diagonal: \ ˆ β = 0.6035 ˆ β = 0.38314433


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Observing the results from this and previousexperiments, which include a wide range of imagedata, we notice the non-isotropic nature of images,since the parameters values significantly differ alongdifferent directions. Therefore, we conclude thatconsidering the spatial parameter β as non-isotropicmay not be the best approach for some imageprocessing, computer vision and pattern recognitionapplications. For instance, the parameter vector β canbe interpreted as a set of homogeneity measures in thevarious directions of a <strong>sc</strong>ene, allowing a better imageanalysis or even the characterization of objects/regionsdefined as texture patterns.6. ConclusionsIn this paper we di<strong>sc</strong>ussed maximum pseudolikelihood(MPL) estimation of the non-isotropicMarkov Random Field image model known as Multi-Level Logistic (MLL) in a computationally efficientway. The emphasis is on rewriting the log-pseudolikelihoodfunction in terms of constants a andkrk(where k denotes the clique type), obtained by a unique<strong>sc</strong>anning of the image, together with the use of a directsearch method, which leads to a general estimationmethod because it does not make use of numerical oranalytical gradients. This allows the modeling of lessrestrictive and non-isotropic contextual systems in alarge number of MRF applications. Furthermore, thenumerical methods adopted are not based on intensiveglobal optimization algorithms and the final solution isnot affected by varying initial conditions, a problemfound in many algorithms. Also, the method providedgood results for a variety of image data, showing thatthe method is consistent in the presence of randomnoise. Finally, we conclude that it is not reasonable toaccept the isotropic assumption for the observable data,since the obtained results show significant variationson the directional parameters values. Future works mayinclude an extension on the proposed method forparameter estimation in higher-order neighborhoodsystems and also the use of a non-homogeneous MLLmodel.7. Acknowledgements8. References[1] A. H. S. Solberg, “Flexible nonlinear contextualclassification”, Pattern Recognition Letters, v. 25,1501-1508, 2004.[2] J. Wu, A. C. S. Chung, “A segmentation modelusing compound Markov Random Fields based on aboundary model”, IEEE Transactions on ImageProcessing, v. 16, n. 1, 241-252, <strong>2007</strong>.[3] J. E. Besag, “Spatial interaction and the statisticalanalysis of lattice systems”, Journal of the RoyalStatistical Society, Series B, v.36, 192-236, 1974.[4] A. Waks, O. J. Tretiak, G. K. Gregoriou,“Restoration of noisy regions modeled by noncausalMarkov 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 imageanalysis, Springer, Second Edition, Tokyo, 2001.[6] G. Winkler, Image Analysis, Random Fields andMarkov 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-MeadSimplex Method in Low Dimensions," SIAM Journalof Optimization, v. 9, n. 1, pp. 112-147, 1998.[8] C. Boncelet, “Image noise models”, Handbook ofImage & Video Processing, Ed. Al Bovik, Sec. ed.,397-409, 2005.[9] P.E. Cruvinel, R. Cesareo, and S. Ma<strong>sc</strong>arenhas. “Xand - Rays Computerized Minitomograph Scanner forSoil Science”, IEEE Transactions on Instrumentationand Measurementes, v. 39, n. 5, 1990. p. 745-750.[10] M.R.P. Homem, N.D.A. Ma<strong>sc</strong>arenhas, and P.E.Cruvinel. “The Linear Attenuation Coefficients asFeatures of Multiple Energy CT Image Classification”,Nuclear Instruments and Methods in Physics Research,v. 452, 2000, pp. 351-360.We would like to thank Dr. Paulo E. Cruvinel forproviding the multispectral tomographic images usedin the experiments and FAPESP for Alexandre L. M.Levada student <strong>sc</strong>holarship through the process nº06/01711-4 and financial support through the ThematicProject nº 2002/07153-2.34


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Application of image restoration algorithms in vi<strong>br</strong>o-acoustography imagesTalita Perciano, Nelson D. A. Ma<strong>sc</strong>arenhasUniversidade Federal de São Carlos - DCSão Carlos, SP - Brasil{talita leite,nelson}@dc.uf<strong>sc</strong>ar.<strong>br</strong>Alejandro C. Frery, Glauber T. SilvaUniversidade Federal de Alagoas - ICMaceió, AL - Brasil{acfrery,glauber}@pq.cnpq.<strong>br</strong>AbstractVi<strong>br</strong>o-acoustography (VA) is an imaging modality thatproduces a map (image) of the mechanical response of anobject to a localized dynamic radiation force of an ultrasoundfield. This technique has been studied for clinicalapplications such as calcifications in <strong>br</strong>east tissue and arteries.In this method, images are degraded in its formationprocess and by the acquisition system. The deterministiccomponent of the degradation can be de<strong>sc</strong>ribed by meansof the point-spread function of the system, which is a threedimensionalcomplex function defined in terms of the acousticemission of a point-target in response to a dynamic radiationstress of ultrasound. This paper presents some resultsof the application of restoration algorithms in VA images.We use a digital phantom to simulate a <strong>br</strong>east with lesionlikeinclusions. 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. IntroductionSince 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 consequentlyto an abnormal pathological process as <strong>br</strong>east, 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 methodswere modified to perceive changes of rigidity in superficialand 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 studiedtissue. The applied stress causes a displacement distributionwithin 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 measurementmethod used [9]. The aim of elasticity imaging isto map tissue elastic properties in an anatomically meaningfulpicture to provide useful diagnostic information.Elastography is a non invasive imaging method of elasticitythat 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 vi<strong>br</strong>ation 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 segmentsbefore and after a little deformation.Based on the palpation principle, the elastographymethod was initially designed to detect rigid masses (tumors)inside normal tissue. It exhibited good results inmu<strong>sc</strong>le, prostate and <strong>br</strong>east in vitro and in vivo applications[15]. However, recently, the elastography methodhas demonstrated to have a big impact in other applications,such as normal tissue rigidity and poroelasticityimaging. Elastography has been also applied to detect cardiacabnormalities [11].Muthupillai et al. [13] developed magnetic resonanceelastography (MRE), which consists of visualizingthe propagation of shear waves in a material (ortissue) with the magnetic resonance imaging (MRI) technique.MRE is an imaging technique used to measure tissueelasticity through its vi<strong>br</strong>ation in a MRI machine. An alternativeapproach is to use a localized stress distributiondirectly in the region of interest.The use of localized acoustic radiation force to assess tissueproperties was first proposed by Sugimoto et al. [20].In this method, an impulsive radiation force is exerted on35


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.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 imagingtransducer.Walker et al. [21] used pulsating acoustic radiation forceto produce images of vi<strong>sc</strong>oelastic parameters in a mimickinggel phantom. Nightingale et al. [14] established theacoustic radiation force impulsive imaging (ARFI) in whicha single transducer is used to generate the localized radiationforce and measure the resulting displacement by meansof ultrasound correlation-based methods. Fatemi et al. [5]proposed vi<strong>br</strong>o-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 o<strong>sc</strong>illatory radiationforce is used to vi<strong>br</strong>ate 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 vi<strong>br</strong>ationis detected by a hydrophone and it is used to form an imageof the object [6]. Figure 1 shows a diagram of the VAimaging system. The acoustic field emitted carries informa-Figure 1. Ultrasound-stimulated vi<strong>br</strong>oacoustographytion about the local mechanical properties of the object andalso about the contour conditions of the object.In the system de<strong>sc</strong>ribed on Figure 1, the image plane isdefined as the focal plane of the transducer. The transducermechanically <strong>sc</strong>ans 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 radiationforce on the focal region of the transducer.The VA image is formed by pixels whose <strong>br</strong>ightness isdetermined by the acoustic emission of each point in thetissue. The acoustic emission carries information about thetissue region in low and ultrasound frequencies (densityvariation and compressibility), differently from the conventionalultrasound that does not provide this kind of information.This paper presents results of the application of restorationalgorithms in VA images using a digital phantom tosimulate a <strong>br</strong>east with lesion-like inclusions for the experimentaltests. To the best of our knowledge, there are notworks in the literature addressing this problem.2. Vi<strong>br</strong>o-acoustography Image FormationThe general blurring model used in restoration is expressedin space domain byg(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 blurringfunction, and g(x, y, z) is the blurred image. Moreover,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 randomvariables are considered in this work.The following equation represents the blurring model inthe frequency domainG(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 takinginto account depth-of-field effects. According to that paper,VA imaging systems might be assumed linear and space invariantin an area nearby the focal region of the system.Thus, the VA image of an object can be obtained convolvingthe function that represents the object with the systemPSF:î(r; ω 0 , ∆ω) =ô(r; ω 0 , ∆ω) ∗ ĥ(r), (4)where r is the position vector of the object, ω 0 is the centerfrequency, ∆ω is the frequency of the dynamic radiationforce produced by the ultrasound beams, and ĥ(r) isthe system PSF. The normalized PSF of the system is givenby:ĥ(r) =A ˆφ 1 (r) ˆφ ∗ 2 (r), (5)where A =[ˆφ 1 (r 0 ) ˆφ ∗ 2 (r 0)] −1 is the normalization constantand 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 equationare represented by î (VA image), ô (the region or object36


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.functions f e (x, y, z) and g e (x, y, z) is defined byFigure 2. Theoretical PSF magnitude for asector array transducerof interest) and ĥ (VA PSF) in the second equation, respectively.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 apparatusto obtain a degraded image by blurring and noise, inorder to apply restoration techniques as presented in Section5. Since we are not aware of works in the literature applyingrestoration 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 filters.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 increasesthe computational costs of both implementing andusing restoration algorithms. Next Section presents the definitionof the 3D complex convolution.3. 3D Complex ConvolutionLet us define the 3D di<strong>sc</strong>rete real convolution of twofunctions f(x, y, z) and g(x, y, z). In that case, f and gare defined as matrices of dimensions A × B × C andD × E × F (3D array of numbers), respectively. The functionsare extended with zeros to dimensions M = A+D−1,N = B + E − 1 and O = C + F − 1, so that they are periodicwith period M, N and O in the x, y and z directions[3, 8]. The resulting circular convolution is linear withthese extensions [2]. The 3D convolution of the extendedf e (x, y, z) ∗ g e (x, y, z) = (7)1 ∑f e (m, n, o)g e (x − m, y − n, z − o),MNOm,n,o=0for 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 complexnature, then let us consider f e and g e as complex functions.Let R[f e ] and I[f e ] be the real and imaginary parts ofthe function f e and the same for the function g e (R[g e ] andI[g e ]). Then,f e (x, y, z) ∗ g e (x, y, z) =1 ∑=(R[f e ]+iI[f e ])(R[g e ]+iI[g e ])MNOm,n,o=01 ∑={R[fe ]R[g e ]+i(R[f e ]I[g e ]MNO+ I[f e ]R[g e ]) −I[f e ]I[g e ]}1{∑ [∑=R[fe ]R[g e ]+i R[fe ]I[g e ]MNO+ ∑ ]I[f e ]R[g e ] − ∑ }I[f e ]I[g e ]= R[f e ] ∗R[g e ]+i(R[f e ] ∗I[g e ]+ I[f e ] ∗R[g e ]) −I[f e ] ∗I[g e ] (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 equationseems 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 impracticable.The size of the PSF we used in the simulationof the VA system is 80 × 80 × 512. To compute the convolutionand 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 domain.Moreover, using the Fast Fourier Transform (FFT)the problem is much more tractable. The complex convolutionin the frequency domain (product of Fourier Transforms)is the same of the real convolution, since the FourierTransform of any function, complex or not, is always complex.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 almost37


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.48 million positions each. Since we are using complex values,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 MethodThe 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 f ijk (x, y, z), then thefunction f(x, y, z) can be represented by∑L 1∑L 2∑L 3f(x, y, z) =f ijk (x, y, z), (9)i=1 j=1 k=1where L 1 L 2 L 3 is the number of segments in the image.Convolving f(x, y, z) with g(x, y, z) and using the distributiveproperty of convolution, we obtainf(x, y, z) ∗ g(x, y, z) =(∑ L1∑L 2∑L 3)=f ijk (x, y, z) ∗ g(x, y, z)=i=1 j=1 k=1L 1 L 2 L 3∑ ∑ ∑(f ijk (x, y, z) ∗ g(x, y, z)). (10)i=1 j=1 k=1The segment f ijk (x, y, z) has a smaller support thanf(x, y, z), consequently the computation of the convolutionrequires less memory. The method makes the convolutionslowler, 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. RestorationImage 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 GeometricMean. This choice was made because these arewidespread used filters and, moreover, there is the restrictionto work in frequency domain.The Fourier Transform of the restored image using theWiener Filter is given by[ 1 |H|ˆF 2 ]=H |H| 2 G, (11)+ Kwhere F , H and G are functions of (u, v, w), andK is aconstant. Using the Regularized Least Squares Filter[ 1 |H|ˆF 2 ]=H |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), givenby,⎡p(x, y, z) = ⎣⎡p(x, y, 2) = ⎣0 0 00 −1 00 0 0⎤⎦ ,z =1, 30 −1 0−1 6 −10 −1 0Using the Geometric Mean Filter{ [ ] H∗ α [HˆF ∗ ] } 1−α=H ∗ H H ∗ G. (13)H + γKThis 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 ResultsIn order to make our experimental tests, we used a digitalphantom (see Figure 3(a)), which was designed to mimicthe major features exhibited by the <strong>br</strong>east 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. Besides,making use of simulated images, we can control thenoise level and can evaluate the performance of the algorithmsusing images with different levels of additive andsignal independent noise.The VA image of the <strong>br</strong>east phantom is shown in Figure3(c), along with the region de<strong>sc</strong>ribed by the digitalphantom.We need the object function and the PSF to form theimage, so we use a di<strong>sc</strong>rete version of the phantom with196×161×211 pixels. The di<strong>sc</strong>rete version of the phantom⎤⎦38


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.(a)(b)(a) Original phantom (b) Wiener Filter (K =5)(c)Figure 3. Digital phantom in 3D (a) Breastphantom in (b) and VA image of the <strong>br</strong>eastphantom (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 complex,the figure shows the magnitude of an image slice: thex − y focal plane.(c) RLS Filter (γ =5) (d) GM Filter (γ = 1,K =5and α =1/2)Figure 5. Experimental resultsThe Wiener Filter and the RLS Filter algorithms producedgood results and also better results than the GeometricMean Filter. A visual inspection suggests that the RegularizedLeast Squares Filter is the best of them. To provethis observation, we used a quantitative measure to comparethe results: the Improvement in Signal to Noise Ratio(ISNR) [2]:()‖im d − im o ‖ 2ISNR =10∗ log 10‖im r − im o ‖ 2 . (14)where im d is the degraded image, im r is the restored imageand im o is the original image. According to this ratio, thehigher the value the better the restoration result. The resultsare resumed in Table 1.(a)Figure 4. Blurred image (a) and degradedimage (b)(b)Algorithm ISNRRLS 43.30Wiener 39.76Geometric Mean 31.17Table 1. ISNR of the resultsFigure 5(a) presents the original di<strong>sc</strong>rete phantom. Figures5(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, respectively.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 restorationresults are 3D matrices of real values just like the originaldi<strong>sc</strong>rete phantom. After the restoration, the results maycontain imaginary parts, but those values are very small andhave no significance for the final result.As previously said, the results of the Geometric MeanFilter are close to those resulting from the Wiener or the InverseFilter. 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 usefulbecause 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


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.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 di<strong>sc</strong>ussed, the computational implementationposes problems when applying restoration algorithmsto vi<strong>br</strong>o-acoustography images because of the characteristicsof the system. Thus, the computational cost of the implementationsshould also be compared. In this case, themethods used impose comparable computational costs.(a)Figure 6. ED for the Wiener Filter (a) and EDfor RLS Filter (b)7. ConclusionsWe presented an original and challenging problem:the application of restoration techniques to vi<strong>br</strong>oacoustographyimages. The difficulties arising in thisapplication are di<strong>sc</strong>ussed and solutions are presented, asthe overlap-add method used to overcome the memory requirementsimposed by size of the considered problem.This technique was successfully applied to our experimentaltests. We show results of three classical restorationtechniques applied to a new imaging modality, namely,the vi<strong>br</strong>o-acoustography. There are various restoration methodsin 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. Elastography:elasticity imaging using ultrasound with applicationto mu<strong>sc</strong>le and <strong>br</strong>east in vivo. Ultrason Imaging, 15:73–88, 1993.(b)[5] M. Fatemi and J. F. Greenleaf. Ultrasound-Stimulated Vi<strong>br</strong>o-Acoustic Spectrography. Science, 280:82–85, 1998.[6] M. Fatemi and J. F. Greenleaf. Vi<strong>br</strong>o-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. Imagingof 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 elastography- a feasible study. IEEE Ultrasonics Symposium Proceedings,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 elastographyby 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 Demonstrationof 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 estimationand 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 elasticityof biological tissues. Ultrason Imaging, 13:111–134,1991.[17] A. Sarvazyan. Handbook of Elastic Properties of Solids, Liquids,and Gases, volume Elastic Properties of Solids: Biologicaland 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 imaging:a new ultrasonic technology of medical diagnostics. Ultrasoundin Medicine and Biology, 24:1419–1435, 1998.[19] G. T. Silva, A. C. Frery, and M. Fatemi. Image Formation inVi<strong>br</strong>o-acoustography with Depth-of-fields Effects. ComputerizedMedical Imaging and Graphics, 30:321–327, 2006.[20] T. Sugirnoto, S. Ueha, and K. Itoh. Tissue hardness measurementusing 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 vi<strong>sc</strong>oelastic parameters with acoustic radiationforce. Physics in Medicine and Biology, 45:1437–1447,2000.40


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Detecção de Resíduos em Imagens de Bolsas para Coleta de Sangue UtilizandoRedes Neurais Artificiais nos canais RGBCássio Avelino Adornicassioaa@ig.com.<strong>br</strong>Adilson Gonzagaadilson@<strong>sel</strong>.<strong>ee<strong>sc</strong></strong>.<strong>usp</strong>.<strong>br</strong>Departamento de Engenharia Elétrica, E<strong>sc</strong>ola de Engenharia de São CarlosUniversidade de São Paulo – <strong>USP</strong>RESUMOEste artigo apresenta uma metodologia paraidentificação de resíduos em imagens de bolsa para coletade sangue utilizando técnicas de reconhecimento depadrões, com o auxilio de uma Rede Neural Artificialpara classificar padrões de resíduos encontrados nasimagens, através do intervalo de cada canal do RGB. Osresultados apresentados são comparados com outrametodologia, baseada em lógica Fuzzy, que foi aplicadaao mesmo banco de imagens com bons resultados. Acomparação dos resultados demonstra o ótimodesempenho da metodologia proposta.1. INTRODUÇÃOA produção de produtos médicos ou fármacosnecessitam de cuidados especiais para mantercomposição, qualidade e assegurar a sua esterilidadebiológica.As bolsas para coleta de sangue não são diferentes,precisam estar livres de resíduos para não comprometer oseu conteúdo.Na analise e inspeção destas bolsas durante oprocesso de industrialização algumas empresas utilizam àinspeção visual. Este processo manual é realizado a olhonu, fato que não permite garantir a ausência de resíduospor estar diretamente ligado ao fator humano e a juízo devalor.Garantir que as bolsas comercializadas para coletade sangue, não contenham qualquer tipo de resíduo, a umcusto que não inviabilize a competitividade comercial dasempresas somente pode ser conseguido com sistemasautomatizados.Atualmente os algoritmos para reconhecimento depadrões têm apresentado excelentes resultados quandoaplicados em sistemas automatizados, obtendo avançossignificativos em diversas áreas [1].Este artigo propõe uma metodologia paraautomatizar o sistema de inspeção visual, utilizandoimagens digitalizadas das bolsas para coleta de sangue etécnicas de Reconhecimento de Padrões para detectareventuais resíduos existentes nas bolsas para coleta desangue.Na classificação de padrões em imagens sãoutilizados os classificadores estatísticos, aproximaçãosintática, sistemas fuzzy e redes neurais [2] [3].Optou-se por utilizar Redes Neurais Artificiais(RNA) para classificar os pixels por ter grande capacidadede generalização e de agrupar ou organizar dados. Esta<strong>sc</strong>aracterísticas são importantes para superar asdificuldades de classificar pixels que possam representarresíduos nas imagens.Para analise dos resultados obtidos pelametodologia proposta, foram comparados estes resultado<strong>sc</strong>om os resultados obtidos com outra metodologia baseadaem Sistemas Fuzzy, que também foi aplicada no mesmobanco de imagens.2.JUSTIFICATIVAObservando a Figura 1, pode-se notar como oprocesso de inspeção visual é realizado, apenas com oauxilio de um equipamento de iluminação simples, apercepção visual e experiência da pessoa nesta funçãopara detectar a existência ou não, de resíduos em bolsaspara coleta de sangue.Figura 1 – Processo de Inspeção Visual.41


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.O sistema de inspeção visual de<strong>sc</strong>rito apesar de serrealizado e maneira satisfatória e atender as exigências daVigilância Sanitária não poder garantir quer todas asbolsas 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 contenhamresíduos, porque se possuir algum material ou resíduo quecause alteração em seu estado ou resistência poderácausar a abertura do sistema por ruptura e a perda de seuconteúdo, causando grandes transtornos.Verificando como a tarefa esta sendo realizada,propõe-se capturar imagens das bolsas para coleta desangue, processá-las inspecionando pixel a pixel,aplicando técnicas de reconhecimento de padrões paraobter informações e dados e com o auxílio de uma RNAclassificar estas informações ou dados em resíduos ounão.Na digitalização e captura das imagens, além dacaixa desenvolvida, foi utilizada a câmera digital Mavica(Sony).Mesmo tomando estes cuidados para minimizar asinterferências do ambiente na iluminação, não foi possívelisolar totalmente e nem garantir que a iluminação foidistribuída uniformemente por toda a imagem comomostra a figura 3.3. MATERIAIS E MÉTODOSPara a captura das imagens, foi desenvolvida umacaixa para isolar as bolsas para coleta de sangue dasadversidades do ambiente.A caixa desenvolvida foi divida em duas partes, a“base” revestida em papel alumínio com duas lâmpadasdicróicas, com o foco direcionado para que seja refletidopelo papel alumínio (fundo) para o acrílico <strong>br</strong>anco leitoso.A “Superior” têm suas paredes pintadas em preto fo<strong>sc</strong>ocom uma abertura para câmera digital, como mostra afigura 2.A fonte de energia utilizada foi uma bateriaautomotiva, que possibilitou eliminar as o<strong>sc</strong>ilações defreqüência causadas pela corrente alternada [4].Figura 3 – Imagem capturadaO banco de imagens e composto por 55 imagens,todas coloridas, com resolução 640x480 pixels, com aquantização de cores em 256 níveis e formato jpg,As imagens do banco estão divididas em: 12imagens com resíduos (solução anti-coagulante e bolhas),27 imagens com resíduos, 8 imagens com solução e semresíduos e 8 imagens de bolsas perfeitas, (sem resíduos ousolução).Para a análise destas imagens, foi utilizado osistema de representação de cores RGB. Este sistema foiusado pela facilidade de implementação computacional epor muito utilizado no processamento de imagens digitais[5].Com o RGB foi possível determinar seu<strong>sc</strong>omponentes para cada pixel da imagem. Assim foipossível separar empiricamente amostras de padrões quepossam representar resíduos, filme da bolsa, bordas etc.4.ABORDAGEM RNAFigura 2 – Imagens do interior e exterior da caixadesenvolvida para captura das imagens.A RNA e<strong>sc</strong>olhida foi a Perceptron Multicamadas -PMC (Multi Layer Perceptron – MLP). Esta arquiteturafoi e<strong>sc</strong>olhida por ser muito utilizada como classificadoresde padrões [6] [7], ter baixo custo computacional e baixotempo de execução, pois, pretende-se utilizar esta rede emtempo real.Outras características importantes para a e<strong>sc</strong>olhadesta arquitetura, foram de ter apenas dois padrões desaída (resíduo ou não resíduo), conhecer processo de42


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.classificação do pixels, poucos dados de entrada e nãonecessitar de memória.A Perceptron Multicamadas foi implementada coma camada de entrada contendo quatro entradas uma para oWjθ (Limiar de ativação) e uma para cada componente doRGB. A camada e<strong>sc</strong>ondida possui dois neurônios e acamada de saída com um neurônio, como mostra a Figura4.Tabela 1 - Tabela de resultadosTabela de ResultadosCaracterísticas das ImagensPercentualResultadosPositivosImagens com resíduos 100%Imagens com resíduos, solução anticoagulante100%e bolhasImagens de bolsas perfeitas 100%Imagens com solução e sem resíduos e 100%com bolhasOs resultados da tabela 1 mostram que ametodologia proposta, foi capaz de identificar em todas asimagens, quais tinham ou não resíduos, com o tempomédio de execução de 16 segundos.6.ABORDAGEM FUZZYFigura 4 – Rede Perceptron MulticamadasNa camada e<strong>sc</strong>ondida e saída à função de ativaçãoutilizada foi a sigmóide logística.O algoritmo de treinamento utilizado na redePerceptron multicamadas foi à regra delta Generalizada(Backpropagation) [8].A matriz de treinamento foi criada comquatrocentos e trinta e nove linhas, com cinco colunas:uma para o liminar de ativação, preenchida com -1; umapara cada componente do RGB, contendo as componentesdo RGB de amostras de imagens do banco de imagens; aultima para o resultado final esperado, preenchido comzero ou um de acordo com o resultado esperado.As colunas contendo as componentes do RGBforam normalizadas, em seguida o algoritmo detreinamento foi aplicado a matriz de treinamento. Oalgoritmo 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 daRNA foi desenvolvido o algoritmo para varrer as imagenspixel a pixel, e determinar quais imagens continharesíduo, retornando uma mensagem de texto casoencontrasse um resíduo.O algoritmo de treinamento e de varredura dasimagens foi desenvolvido com o Matlab 7.0 daMathworks.5.RESULTADOS DA ABORDAGEM RNAA tabela 1 apresenta os resultados obtidos com aaplicação da rotina desenvolvida. Nela os resultados sãoapresentados por características das imagens e percentualde resultados positivos.Também foi aplicada no mesmo banco de imagensuma abordagem utilizando Lógica Fuzzy para classificaros padrões obtidos pelo RGB [9].Figura 5 – Padrão geométrico componente AzulO algoritmo com a Lógica Fuzzy foi desenvolvidocom o universo de di<strong>sc</strong>urso variando entre 0 e 255, ouseja, os 256 níveis de quantização de cores do RGB, trêsvariáveis de entrada, vermelha, verde, Azul uma para cadatipo de componente do sistema RGB e cada variável deentrada com sua função de pertinência. Os padrõesgeométricos de cada função de pertinência são mostradosnas figuras 5,6e7O processo de inferência usado foi o ModusPonens generalizado.Apenas uma regra foi aplicada: Se (Vermelho (R) eVerde (G) e Azul(B)) então (existe pixel).43


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.segundos em média. Assim a metodologia proposta tevemelhor desempenho.O fato de ser rápida é uma característicaimportante, pois se pretende aplicar esta metodologia emtempo real.Figura 6 – Padrão geométrico componente VerdeOs operadores utilizados foram o operador decomposição Max-Min e o operador de Mandani comooperador de implicação.Figura 8 – Imagem parcial da bolsa com solução bolhase resíduos.8.CONCLUSÕESFigura 7 – Padrão geométrica componenteVermelhaA abordagem Fuzzy também classificoucorretamente se todas as imagens possuíam ou nãoresíduos, com o tempo médio de execução de um minuto.7.COMPARAÇÃO DOS RESULTADOSObservando, os resultados obtidos com as duasmetodologias, verificou-se que elas foram capazes dedetectar corretamente se existe ou não, resíduos em todasas imagens do banco de imagens.Deste modo as duas metodologias conseguiramcontornar as dificuldades causadas pela iluminação,bolhas causadas pela solução anticoagulante e os ruído<strong>sc</strong>ausados pela textura do filmes da bolsa, como na figura8.A metodologia proposta conseguiu os mesmosresultados obtidos com a abordagem Fuzzy, mas comtempo de execução bem melhor, de apenas dezesseisAs figuras 3 e 8 mostram as dificuldades queforam superadas para determinar se existem ou nãoresíduos nas imagens das bolsas para coleta de sangue.Considerando todas as dificuldades a metodologiaproposta conseguiu identificar corretamente em todas asimagens se esta continha resíduo ou não, com o tempo deexecução melhor que a metodologia com base naabordagem Fuzzy.A metodologia proposta conseguiu contornar todasas dificuldades com resultados precisos na identificaçãode resíduos nas imagens, e deste modo atingiu o objetivoprincipal que é o de identificar corretamente se existe ounão resíduos nas imagens de bolsas e com um ótimotempo de execução.A implementação da metodologia proposta emlinguagem tipo C++ ou Java poderá acelerar aidentificação de resíduos e facilitar a utilização em temporeal.9.REFERÊNCIAS BIBLIOGRÁFICAS[1] Marques Filho, O., Vieira neto, H.“ProcessamentoDigital de Imagens”, Brasport, 1999.[2] Rafael C. Gonzalez and Paul Wintz. “Digital ImageProcessing”, Addison-Wesley Pub. Co., 1987.44


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.[3] Yao Min, J. Zhiwei, YI, W Zhao X. “Application ofgeneralized learning in Image recognition”, In: FirstInternational Conference on Neural Interface and ControlProceedings, 26-28 May 2005, Wuhan, China. p. 159-162.[4] Batchelor, B.G., Hill, .A. Hodgson, D.G. “AutomatedVisual Inspection”, IFS Publi Carton Ltd, North-HollandPub. Co., 1985.[5] Phung, S.L., Bouzerdoum A.; Chai, D. “SkinSegmentation Using Color Pixel Classification Analysisand Comparison”, In: IEEE Transactions on PatternAnalysis and Machine Intelligence, Vol.27, Nº 1, January2005. p. 148-154.[6] Tinós, R. ”Tolerância a Falhas em RobôsManipuladores Cooperativos”, Tese de Doutorado E<strong>sc</strong>olade Engenharia de São Carlos - <strong>USP</strong>, São Carlos, 2003.[7] Gaspar, T.L. “Reconhecimento de Faces Humanasusando Redes Neurais MLP”, Dissertação de mestrado,E<strong>sc</strong>ola de Engenharia de São Carlos - <strong>USP</strong>, São Carlos,2006.[8] Zurada, J.M. ”Introduction to Artificial NeuralSystems “, West Publishing Company, 1992[9] ADORNI, Cássio Avelino; GONZAGA, Adilson;SILVA, Ivan Nunes. “Detecção de Resíduos em Imagensde Bolsas para Coleta de Sangue Utilizando um SistemaFuzzy nos canais RGB”. In: X Congresso Brasileiro deInformática em Saúde, 2006, Florianópolis. Anais do XCongresso Brasileiro de Informática em Saúde, 2006.45


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Segmentação de imagens por agrupamento de regiões: uma comparação entre aabordagem funcional e por grafosCarolina Toledo FerrazSérgio F. da SilvaOdemir M. Bruno<strong>USP</strong> - Universidade de São PauloICMC-Instituto de Ciências Matemáticas e de ComputaçãoCx Postal 668 - CEP 13560-970 São Carlos (SP)caferraz, sergio, <strong>br</strong>uno@icmc.<strong>usp</strong>.<strong>br</strong>ResumoNeste artigo é apresentada uma análise de dois métodosde segmentação de imagens baseados em cre<strong>sc</strong>imento deregiões: 1) Mumford-Shah, onde é minimizado um funcionalde energia e, 2) Segmentação baseada em grafos, ondeutiliza-se a abordagem de grafos. Resultados experimentaisevidenciam aspectos qualitativos, além da usabilidadee aplicabilidade dos métodos. Através da análise dos experimentosfoi concluído que o modelo de Mumford-Shah émais robusto principalmente por não depender de conhecimentoa priori so<strong>br</strong>e as imagens e ter maior aplicabilidade,possuindo menos parâmetros a serem ajustados.1. IntroduçãoSegmentação de imagens refere-se ao processo de dividiruma imagem em regiões ou objetos. Espera-se comoresultado que pixels em uma região, sejam similares comrelação a uma dada característica, como por exemplo, intensidade,cor e textura, enquanto que pixels entre regiõespossuam diferenças significativas com respeito à mesma característica.Atualmente a segmentação de imagens tornou-se um dosprincipais temas de pesquisa da área de processamento deimagem, uma vez que ela é impre<strong>sc</strong>indível para diversasaplicações, tais como:• Imagens médicas [15];• Imagens de satélite [11];• Sistemas biométricos [5, 2];A segmentação de imagens para aplicações gerais éumproblema aberto a pesquisa [14]; no entanto, é trivial estabelecerum guia qualitativo de uma boa segmentação. Haralicke Shapiro [7] estabeleceram que uma boa segmentaçãodeve satisfazer os seguintes critérios:1. Regiões de uma imagem devem ser uniformes comrelação a uma dada característica, tal como, tom de cinza,cor ou textura.2. Regiões adjacentes devem ter valores significantementediferentes com relação a uma dada característica, so<strong>br</strong>ea qual elas são uniformes (ítem 1).3. Os contornos de cada segmento devem ser simples (suaves)e precisos espacialmente.Normalmente, um processo de segmentação é mais complexodo que separar dados através de um limiar [14]. Alternativamente,pode-se pensar em segmentação como umproblema de agrupar dados similares, e desta forma, utilizara teoria de agrupamento de dados [1] para segmentarimagens [17]. Neste contexto, torna-se natural pensar emsegmentação de imagens em termos de agrupamento de pixelsque pertencem á mesma classe (região). O critério a serusado no processo de agrupamento depende da aplicação.Pixels podem pertencer a uma mesma classe por terem amesma cor, a mesma textura, ou a mesma intensidade de<strong>br</strong>ilho, etc.Agrupamentos (segmentação) podem ser construídos pormeio de uma abordagem de grafos. Considere um grafoponderado onde os vértices correspondem aos pixels, asarestas a pares de pixels, e os pesos destas à similaridadedos pixels que as compõem. Separar o grafo em componenente<strong>sc</strong>onectados com pesos relativamente grandes cortandoas arestas com pesos relativamente baixos - corte degrafo - tem se tornado uma técnica bastante popular parasegmentar imagens [6, 16].Boa parte dos métodos de segmentação de imagens utilizamos conceitos de cre<strong>sc</strong>imento e/ou divisão de regiões.Neste artigo serão apresentados e comparados dois métodospara a segmentação de imagens por cre<strong>sc</strong>imento de regiões:segmentação via funcional de Mumford-Shah e baseada emgrafos. Estruturalmente estes dois métodos são bastante si-46


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.milares, sendo que o principal diferencial destes são o<strong>sc</strong>ritérios utilizados para a junção de regiões: minimizaçãode um funcional de energia [10, 8] versus uma heurísticapara determinar bordas [4].O funcional de Mumford-Shah [10, 8] é um dos métodosmais robustos para segmentação de imagens. A robustezdeste método é atribuída a sua formulação matemática quetem embutido critérios simples, e, no entanto, essenciaispara uma boa segmentação. Ao passo que o método de grafosproposto por [4] tem a vantagem de ter bons resultadosde segmentação, tanto em eficiência quanto em eficácia.Neste artigo, é realizada uma comparação analítica dasduas abordagens, onde por meio de resultados das técnicasaplicadas em imagens, e de aspectos de implementação eoperabilidade, serão verificados as vantagens e desvantagensde cada método.2. O Modelo de Mumford-ShahA maioria dos algoritmos de segmentação de imagenssão compostos de vários procedimentos: dividir e combinar(split and merge), eliminar pequenas regiões, suavizar bordas,preencher buracos, entre outros, dependendo assim devários parâmetros ou procedimentos específicos.O procedimento de segmentação via o funcionalde Mumford-Shah leva a uma drástica redução destesparâmetros ou especificidades [8]. A segmentação éobtida através da minimização da energia do referido funcional,o que pode ser feito através de uma das maissimples ferramentas de segmentação de imagens, o algoritmode cre<strong>sc</strong>imento de regiões (region merging).Koepfler [8] mostrou que é possível elaborar um algoritmode segmentação via Mumford-Shah de complexidadeO(n log n), onde n éonúmero de pixels da imagem.O funcional de Mumford-Shah [9] é de<strong>sc</strong>rito pelo funcionalde energia denotado pela equação abaixo:∫ ∫E(u,∫K)∫= (1)β ‖u − g‖ 2 dxdy + α ‖∇‖ 2 dxdy + γ ∗ l(K)ΩΩ/konde:• E(u, K) é a energia funcional de Mumford-Shah emfunção da imagem segmentada u e de suas fronteirasK;• g é a imagem a ser segmentada;• Ω é o domínio da imagem: f : N × N ↦→ N;• K denota as fronteira entre regiões;• Ω i denota uma região da imagem;• l(K) calcula o comprimento das bordas (fronteiras entreregiões);• u denota a imagem segmentada – uma função diferenciavéldentro de cada região Ω i ;• β, α e γ são constantes positivas;Em uma imagem, a função g é suave (valor de gradientepequeno) dentro de cada região Ω i e de<strong>sc</strong>ontínua (valor degradiente elevado) no cruzamento com as bordas (fronteirasentre regiões). Considerar que a imagem segmentada ué constante dentro de cada região é uma forma de simplificaro modelo original de Mumford-Shah, o que resulta emum modelo conhecido como Mumford-Shah Fraco. Normalmente,a função u, para uma dada regiões, é dada pelamédia dos valores de intensidade g (ou cor) naquela região.2.1. Interpretações e propriedades dasegmentação via Mumford-ShahNormalmente quando se segmenta uma imagem desejaseque: a) a imagem segmentada seja a mais próximapossível da imagem original; b) pixels dentro de umadada região sejam similares com relação a uma dada característicae c) bordas regulares. Será visto mais adianteque todos estes critérios estão embutidos no funcionalde Mumford-Shah.Na segmentação por Mumford-Shah as regiões são formadaspor grupos de pixels e podem serem vistas comoborrachas. Uma região cre<strong>sc</strong>e enquanto a borracha puderser esticada. No início do processo pode-se considerar quecada região corresponde a um pixel que posteriormente éfundida a outra região (esticar borracha). Quanto maior avariação dos pixels dentro de uma região, menor a elasticidadeda borracha, ou seja, mais difícil é a união de regiões.Só será realizado uma união de regiões se esta levar a umdecré<strong>sc</strong>imo de energia conforme a equação 1.A segmentação pelo funcional de Mumford-Shahtambém pode ser vista como um problema de otimizaçãomulti-objetivos, ou melhor, de minimização dos três objetivosexplicados à seguir, dados pelos termos da equação1. As regiões realizam uma competição entre si para afusão, sendo que, a cada instante, as duas regiões adjacentesque levarem ao maior decré<strong>sc</strong>imo de energia serão a<strong>sel</strong>eitas para a fusão.Os termos da equação 1, que correspondem aos objetivosa serem otimizados, podem ser interpretados do seguintemodo:• ∫∫ Ω ‖u − g‖2 – mede se u é uma boa aproximação deg. Quanto mais a função u se aproximar da função g,menor será a contribuição desse termo para o valor daenergia. Ou seja, minimizar este termo força u a ser omais próximo possível de g.• ∫∫ Ω/k ‖∇u‖2 – calcula a variação de u dentro de cadaregião. Minimizar este termo força u a ser tão constantequanto possível dentro de uma dada região. No47


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.modelo simplificado (Mumford-Shah Fraco), a funçãou para uma região, será dada pela média dos pontos deg dentro desta região e portanto não existirá variação.Assim, este termo será sempre zero e conseqüentementeeliminado.• γ ∗ l(K) – calcula o comprimento das fronteiras multiplicadopelo parâmetro de e<strong>sc</strong>ala γ. Quanto maior ocomprimento das fronteiras, maior será a contribuiçãodesse termo para o valor da energia. Minimizar estetermo inibe uma supersegmentação implicando embordas econômicas e regulares [13]. O parâmetro γfunciona como um peso.Esta soma de termos dá ao algoritmo de segmentação viao funcional de Mumford-Shah as seguintes propriedades:• Estrutura piramidal – o algoritmo efetuasegmentação hierárquica de granularidade finapara grossa, sendo que a segmentação grossa iráser deduzida da fina por operações de merging, resultandoem uma estrutura de computação piramidal.• Universalidade – o algoritmo é universal, isto é, elenão depende de qualquer conhecimento à priori so<strong>br</strong>eas estatísticas de uma dada imagem.• Multie<strong>sc</strong>ala – o algoritmo efetua segmentação multie<strong>sc</strong>ala[13], em função do parâmetro γ (parâmetrode e<strong>sc</strong>ala). À medida que γ é aumentado, aumenta a<strong>sc</strong>hances de fundir regiões em função da diminuição docomprimento das fronteiras.2.2. Di<strong>sc</strong>retização do funcional de Mumford-ShahConforme Koepfler [8], considerando a função u constantedentro de cada região, o funcional de Mumford-Shahpode ser di<strong>sc</strong>retizado de forma a resultar na equação abaixo:E(K\δ(O i ,O j )) − E(K) =|Oi|∗|Oj||Oi| + |Oj| ∗‖u i − u j ‖ 2 − γ ∗ lδ(Oi, Oj) (2)onde |.| denota a área de uma região, u a intensidade ou corda região e lδ(O i ,O j ) o comprimento da fronteira entre asregiões Oi e Oj.O algoritmo abaixo [8] pode ser utilizado para efetuara segmentação minimizando o funcional de energia daequação 2:• Seja os pixels da imagem a segmentação inicial e γ k =γ 1 o parâmetro de e<strong>sc</strong>ala inicial;• Para cada região, determine qual de suas regiões adjacentesproduz o máximo decré<strong>sc</strong>imo de energia deacordo com a equação 2. Se tal região existe, combineas duas e proceda por checar a próxima regiãoda lista. Uma nova segmentação E(K\δ(O i ,O j ) seráobtida removendo a fronteira δ(O i ,O j ) e atribuindoa nova região com a intensidade (ou cor) média dasregiões O i e O j . Caso não se encontre nenhuma regiãoadjacente que ocasione um decré<strong>sc</strong>imo de energia, asegmentação (u, K) é chamada de 2-normal.• Para cada γ k ,k =1, ..., L calcule a segmentação porrepetir o passo 2 até a convergência (segmentação 2-normal). O algoritmo termina se restar apenas umaregião ou depois de computar a segmentação usandoγ L . O incremento de γ poderá ser linear, polinomialou exponencial.3. Segmentação baseada em grafosTécnicas de segmentação de imagens baseadas em grafosgeralmente representam o problema em termos deum grafo não direcionado G = (V,E) onde cada nóv i ∈ V corresponde a um pixel na imagem, e as arestas(v i ,v j ) ∈ E são pares conectados de pixels vizinhos.Um peso w((v i ,v j )) está associado à cada aresta, e é normalmentebaseado em uma medida de dissimilaridade entreos pixels que a compõe [6, 4].Nesta abordagem, uma segmentação S é uma partição deV em componentes, tal que, cada componente (ou região)C ∈ S corresponde a um componente conectado no grafoG ′ =(V,E ′ ), onde E ′ ⊆ E. A segmentação é induzida porum subconjunto de arestas em E.A diferença interna de um componente C ⊆ V é dadapelo maior peso na árvore geradora mínima do componente,MST(C, E). Isto é,Int(C) = max w(e) (3)e∈MST(C,E)Esta medida significa que um componente C mantém-seconectado quando arestas de pesos no mínimo Int(C) sãoconsideradas.A diferença entre dois componentes C 1 , C 2 ⊆ V é dadapelo peso mínimo de aresta conectando os dois componentes(equação 4). Se não há arestas conectando C 1 e C 2 ,Dif(C 1 ,C 2 )=∞Dif(C 1 ,C 2 )=min w((v i,v j )) (4)v i∈C 1 ,v j∈C 2 ,(v i,v j)∈EO critério de comparação de região avalia se háevidência de uma borda entre os componentes, checandose a diferença entre os componentes Dif(C 1 ,C 2 ) é relativamentemaior que a diferença interna de pelo menos umdos componentes Int(C 1 ) e Int(C 2 ). Uma função de limiaré usada para controlar o grau para o qual a diferença entreos componentes deve ser maior do que uma diferença internamínima. Define-se esta função como:48


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.{ true, se Dif(C1 ,CD(C 1 ,C 2 )=2 ) >MInt(C 1 ,C 2 )false, caso contrárioonde a diferença interna mínima, MInt, é definida como:MInt(C 1 ,C 2 )=min(Int(C 1 )+τ(C 1 ),Int(C 2 )+τ(C 2 ))(5)A função de limiar τ, controla o grau no qual a diferençaentre dois componentes deve ser maior do que sua diferençainterna. Para componentes pequenos, Int(C) não é uma boaestimativa da característica dos dados. No caso extremo,quando |C| = 1, Int(C) = 0. Portanto, utiliza-se umafunção de limiar baseada no tamanho do componente,τ(C) =k/|C| (6)onde |C| denota o tamanho de C, ek éumparâmetro. Naprática, k é a e<strong>sc</strong>ala de observação. Note que, para k grande,há uma preferência para componentes grandes. Contudo knão é o tamanho mínimo de um componente.3.1. O algoritmo de segmentação baseado em grafosA entrada é um grafo G =(V,E), com n vértices e marestas. A saída é uma segmentação de V em componentesS =(C 1 , ..., C r ) [4].0. Ordene E em π =(o 1 , ..., o m ), em ordem de<strong>sc</strong>re<strong>sc</strong>entede peso da aresta.1. Comece com uma segmentação S 0 , onde cada vérticev i é seu próprio componente.2. Repita o passo 3 para q =1, ..., m.3. Contrua S q dado S q−1 como segue. Seja v i e v j osvértices conectados pela q-ésima aresta ordenada, isto é,o q = (v i ,v j ).Sev i e v j são componentes disjuntos deS q−1 e w(o q ) é pequeno comparado as diferenças internasde ambos daqueles componentes, então junte os doi<strong>sc</strong>omponentes, senão, não faça nada. Mais formalmente, sejaC q−1i um componente de S q−1 contendo v i e C q−1j ocomponente contendo v j .SeC q−1i ≠ C q−1j e w(o q ) ≤MInt(C q−1ide C q−1i,C q−1j) então S q é obtido de S q−1 pela junçãoe C q−1j . Caso contrário, S q = S q−1 .4. Retorne S = S m .Segundo Felzenszwalb e Huttenlocher [4], o algoritmode segmentação baseado em grafos, possui asseguintes propriedades: (a) Habilidade em preservar detalhesem regiões de imagem de baixa variabilidadeenquanto ignora detalhes em regiões de baixa variabilidade;(b) O método faz decisões gulosas e locais, uma vezque o critério de segmentação é baseado no grau de variabilidadeentre regiões vizinhas na imagem.4. Resultados e AnáliseNa condução dos experimentos foram utilizadas duas basesde dados de imagens amplamente utilizadas em pesquisasna área de visão computacional e segmentação: ColumbiaObject Image Li<strong>br</strong>ary [12] e The Berkeley SegmentationDataset and Benchmark [3].Nos experimentos foram dadas atenções especiais a doisaspectos: 1) a habilidade dos métodos em capturar agrupamentosou regiões que refletem aspectos globais das imagens;2) o posicionamento correto e suavidade das bordasidentificadas nas imagens. Também foram di<strong>sc</strong>utidos aspectosrelacionados à usabilidade e aplicabilidade dos métodosem aplicações reais de segmentação.Antes de dar início à apresentação dos experimentos,faz-se necessário mencionar que:• Na abordagem baseada em grafos, conforme aimplementação de Felzenszwalb e Huttenlocher[4], é realizado um pré-processamento das imagen<strong>sc</strong>om o filtro gaussiano para a eliminação deruídos. E também que a função peso de aresta é baseadana diferença de intensidade absoluta entre ospixels conectados por esta:w((v i ,v j )) = |I(p i ) − I(p j )| (7)• No modelo baseado em grafos, o usuário não estabeleceexplicitamente o número de regiões desejadas nasegmentação. A e<strong>sc</strong>olha do número de regiões está fortementeligada aos três parâmetros utilizados (σ, Kemin), desta forma, dependendo do conhecimento ouperícia do usuário para definir estes.• No modelo implementado de Mumford-Shah, ousuário especifica o número de regiões em que desejasegmentar uma dada imagem e a ordem decrecimento de λ (linear, quadrático ou exponencial).Dado que ambos os métodos dependem de parâmetros,expomos na tabela 1 os valores utilizados nos experimentos.Pode-se observar que na abordagem baseada em grafos,a quantidade de parâmetros é superior a de Mumford-Shah,e também que este são menos óbvios para o usuário.A Figura 1 mostra a comparação dos métodos para a imagemde uma igreja. Os resultados ficaram bastante próximos(Figuras 1(c) e (e)), apesar do método de segmentação baseadaem grafos perder o contorno das cruzes da igreja.O experimento da Figura 2 trata-se da segmentaçãode objetos sintéticos fotografados em ambientes e<strong>sc</strong>uros.O deslocamento das bordas é evidente no método desegmentação baseado em grafos. Este fato acontece devidoao pré-processamento realizado pelo método (suavização49


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.(a) (b) (c)(d)(e)Figura 1. (a)Imagem Original, (b) Imagem segmentada por Mumford-Shah, (c) So<strong>br</strong>epondo as bordasda segmentação por Mumford-Shah na imagem original, (d) Segmentação baseada em grafos, (e)So<strong>br</strong>epondo as bordas da segmentação baseada em grafos na imagem originalMumford-ShahSegmentação baseada em Grafoslambda N o regiões sigma K min N o regiõesFigura 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 5Tabela 1. Tabela de Parâmetros e Número de Regiõe<strong>sc</strong>om filtro gaussiano). O método de Mumford-Shah apresentoubons resultados nas Figuras 2-(e), (g) e (h). Apenasna Figura 2-(f) apresentou uma borda falsa.5. ConclusãoNeste trabalho foi apresentada uma análise de doismétodos de segmentação por agrupamento de regiões:Mumford-Shah e segmentação baseada em grafos. Ambosos métodos efetuam segmentação por cre<strong>sc</strong>imento deregiões e são de complexidade computacional O(nlogn),onde n éonúmero de pixels de uma imagem, o que os credenciampara uma grande variedade de aplicações. O principaldiferencial destes métodos é o critério utilizado paraa segmentação. Foi constatado através de vários experimento<strong>sc</strong>om uma grande variedade de imagens que, aimplementação do funcional de energia de Mumford-Shahé um critério mais robusto para segmentação, do que a abordagembaseada em grafos [4]. O que ocorre é que o métodode segmentação baseado em grafos mostra uma alta incidênciade deslocamentos de bordas. Tal fato é atribuídoao pré-processamento com filtro gaussiano. Entretanto,se este processo for de<strong>sc</strong>artado, obtêm-se bordasaltamente irregulares. Outro ponto importante é aautomatização do método, ou seja, sua capacidade de lidarcom as imagens sem a necessidade de informações apriori so<strong>br</strong>e o conteúdo a ser processado. Neste requisitoo método de Mumford-Shah também se mostrou superiorà segmentação baseada em grafos.50


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.(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) Segmentaçãobaseada em grafos.Referências[1] M. N. M. A. K. Jain and P. J. Flynn. Data clustering: a review.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 circuitsand systems for video technology, 9(4):551–564, 1999.[3] D. T. D. Martin, C. Fowlkes and J. Malik. A database of humansegmented natural images and its application to evaluatingsegmentation algorithms and measuring ecological statistics.In In Proc. 8th Int’l Conf. Computer Vision, volume 2,pages 416–423, 2001.[4] P. F. Felzenszwalb and D. P. Huttenlocher. Efficient graphbasedimage segmentation. International Journal of ComputerVision, 59(2):167–181, 2004.[5] X.-y. Feng. Eyes location by neural network-based face segmentation.IJCSNS - Internation Journal of Computer Scienceand Network Security, 6(5a):132–135, 2006.[6] D. A. Forsyth and J. Ponce. Computer Vision: A Modern Approach(Hardcover). Prentice Hall, 2003.[7] R. M. Haralick and L. G. Shapiro. Image segmentation techniques.Computer Vision Graphics and Image Processing,29(1):100–132, 1985.[8] G. Koepfler, C. Lopez, and J. M. Morel. A multi<strong>sc</strong>ale algorithmfor 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, São Franci<strong>sc</strong>o, 1985.[10] D. Mumford and J. Shah. Optimal aproximations by piecewisesmooth functions and associated variational problems.Communications on Pure and Applied Mathematics,4(XLII), 1989.[11] D. T. N. J. Redding, D. J. Crisp and G. N. Newsam. An efficientalgorithm for mumford-shah segmentation and its applicationto 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: Columbiaobject image li<strong>br</strong>ary. Technical report, TechinicalReport CUCS-005-96, Fe<strong>br</strong>uary, 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 Inside.John Wiley & Sons, fourth edition, <strong>2007</strong>.[15] W. M. W. I. T. Kapur, W. E. L. Grimson and R. Kikinis. Segmentationof <strong>br</strong>ain 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 Understanding,pages 1548–1555, <strong>2007</strong>.[17] T. W. R. Z. Y. Xia, D. Feng and Y. Zhang. Data clustering: areview. Pattern Recognition Letters, 28:1548–1555, <strong>2007</strong>.51


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Dimensão Fractal aplicada em imagens de satélite de áreas urbanasAndré R. BackesUniversidade de São PauloInstituto de Ciências Matemáticas e ComputaçãoSão Carlos - SPbackes@icmc.<strong>usp</strong>.<strong>br</strong>Adriana B. BrunoUniversidade de São PauloInstituto de Ciências Matemáticas e ComputaçãoSão Carlos - SPadriana@arstechnica.com.<strong>br</strong>Odemir M. BrunoUniversidade de São PauloInstituto de Ciências Matemáticas e ComputaçãoSão Carlos - SP<strong>br</strong>uno@icmc.<strong>usp</strong>.<strong>br</strong>Mauro N. Barros FilhoFaculdade de Ciências Humanas EsudaDepartamento de Arquitetura e UrbanismoRecife - PEmbarrosfilho@gmail.comResumoEste artigo apresenta um estudo so<strong>br</strong>e a correlação entreDimensão Fractal e as características morfológicas deáreas urbanas. Em imagens de sensoriamento remoto deáreas urbanas, as características morfológicas são representadaspor complexas interações de diferentes tipos desuperfície, onde cada superfície corresponde a um tipo diferentede textura. Neste trabalho, Dimensão Fractal é estimadaem imagens de áreas urbanas de modo a obteruma estimativa da complexidade das texturas da imageme, conseqüentemente, uma medida das características morfológicasdas áreas urbanas.1. IntroduçãoCom os avanços obtidos ao longo dos últimos anos, cadavez mais imagens de sensoriamento remoto têm sido utilizadasem aplicações envolvendo mapeamentos e estudos urbanos.Sua ampla cobertura, aliada a atualizações freqüentes eum baixo custo, fazem desse tipo de imagem uma rica fontede informações so<strong>br</strong>e a superfície terrestre. Porém, imagensde áreas urbanas são resultantes de uma complexa interaçãoentre diferentes tipos de superfícies, dificultando assim oseu processo de análise e, conseqüentemente, seus resultados[10, 14, 15, 17].Aanálise de textura é um problema recorrente em processamentode imagens e visão computacional. Trata-se deum problema comum a diversas áreas de aplicação, comoreconhecimento de objetos, recuperação de imagens porconteúdo e sensoriamento remoto. Apesar de não existiruma definição exata para o termo textura, trata-se de umatributo facilmente entendido por humanos e uma fonte ricaem informações so<strong>br</strong>e a imagem [19]. A literatura, por suavez, apresenta diversas abordagens para a análise de texturas,como: Campo Aleatório de Markov [8, 13], Redes NeuraisArtificiais [18], Wavelet [20], Momentos Invariantes [9]e a Dimensão Fractal [3, 4, 12], sendo esta última exploradaneste trabalho.A Dimensão Fractal [1, 3, 5] é uma medida de complexidade.Aplicada em imagens de texturas, permite quantificá-lasquanto a homogeneidade, tornando possível suacomparação [1].O objetivo desse artigo é desenvolver uma ferramentaque possa extrair características morfológicas de áreas urbanasa partir da estimativa de sua complexidade. Portanto,é apresentado um estudo so<strong>br</strong>e o uso da Dimensão Fractalcomo método para obter assinaturas de complexidade detextura em imagens de sensoriamento remoto. Essas imagensforam obtidas de diferentes bairros de uma mesmacidade. Utilizando um classificador, essas assinaturas fo-52


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.ram agrupadas de acordo com a similaridade dos bairros.Ométodo e sua implementação são di<strong>sc</strong>utidos, bem comoos resultados obtidos, ilustrando o potencial da técnica.2. Dimensão Fractal aplicada a TexturasTexturas são padrões visuais caracterizados pelarepetição, seja exata ou com pequenas variações, de entidadesou sub-padrões, que representam característicasfísicas, como <strong>br</strong>ilho e cor, da superfície de um objeto[6, 16].Trata-se de um excelente de<strong>sc</strong>ritor regional, facilmenteentendido por humanos, e fonte de uma grande quantidadede informações so<strong>br</strong>e a imagem [11, 19]. No entanto, apesarde seu amplo uso e importância como de<strong>sc</strong>ritor regionalem processos de reconhecimento, de<strong>sc</strong>rição e classificaçãode imagens, a textura é um termo intuitivo, e que carece deuma definição mais precisa ou formal [6, 7].A Dimensão Fractal pode ser definida como uma medidada complexidade de objetos. Aplicada a texturas, ela permitequantificar a complexidade da organização de seus pixels,onde este nível de complexidade está diretamente relacionadocom o aspecto visual, bem como com a homogeneidadeda textura. Assim, a Dimensão Fractal permitequantificar uma textura em termos de homogeneidade, possibilitandosua comparação com outras texturas [1, 3].Um dos métodos mais simples de se estimar a DimensãoFractal éométodo de BoxCounting [5], o qual se baseia naso<strong>br</strong>eposição de um grid de quadrados de lado r so<strong>br</strong>e umaimagem A e na respectiva contagem do total de quadradosnecessários para co<strong>br</strong>ir essa imagem, N A (r). No entanto,para sua utilização em imagens em tons de cinza, comoé o caso das texturas, considera-se a intensidade do pixelcomo a altura daquele ponto da imagem. Assim, substituisea contagem de quadrados do método por uma contagemde cubos de aresta r (Figura 1) necessários para co<strong>br</strong>ir essatextura [2]. A Dimensão Fractal DF da imagem A é entãoobtida como:Figura 1. Exemplo de contagem de cubos emimagens tons de cinza. As arestas vermelhasrepresentam as caixas e os quadrados pretos,os pixels da imagem.verdes) da região analisada. De modo geral, essas característicasmorfológicas estão relacionadas com a qualidadede vida e o nível de desenvolvimento da região. Assim, atributo<strong>sc</strong>omo tamanho de quadra maior e maior número deáreas verdes indicam uma maior qualidade de vida na região[10, 17].As características morfológicas do espaço urbano sãolog(N A (r))DF = − lim,r→0 log(r)3. Análise de Imagens de Satélite por ComplexidadeImagens de sensoriamento remoto são uma fonte rica eminformações so<strong>br</strong>e a superfície terrestre. Por meio delas épossível, por exemplo, desenvolver aplicações envolvendomapeamentos e estudos urbanos. Imagens de áreas urbanassão resultantes de uma complexa interação entre diferente<strong>sc</strong>aracterísticas morfológicas (tamanho de quadra, geometriadas quadras, tamanho das ruas, disposição de praças e áreasFigura 2. Mapa da cidade e respectivaslocalizações das imagens das áreas usadasno experimento.53


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.resultantes de um complexo arranjo espacial, do pontode vista geométrico e dimensional, de seus elementos estruturadores,como edificações, lotes, quadras e vias. Essa<strong>sc</strong>aracterísticas variam em função dos modos de uso eocupação do solo urbano, das características naturais dosítio, como o relevo e a hidrografia, e do tempo de ocupação,bem como das condições sociais, econômicas, políticas eculturais existentes. Diante desta complexidade, a análisedas características morfológicas do espaço urbano tem sido,predominantemente, conduzida de modo subjetivo, sendoincapaz de oferecer medidas quantitativas que possam de<strong>sc</strong>rever,de modo mais preciso, tais características.Além disso, diante da dinâmica do processo de ocupaçãourbano, principalmente nas áreas informais e periféricas dacidade, muitas leis e planos urbanísticos tornam-se obsoletosou incapazes de controlar, acompanhar e monitoraro cre<strong>sc</strong>imento da cidade, assim como distribuir, de modomais justo, os serviços, os equipamentos e as redes de infraestruturaurbana no espaço urbano. Dessa forma, medidasde complexidade que permitam analisar as característicasmorfológicas urbanas, como a Dimensão Fractal, são ferramentasvaliosas para auxiliar no planejamento e na gestãodas cidades.Nesse artigo é apresentado um experimento que visa verificara correlação entre a Dimensão Fractal e as característicasmorfológicas de áreas urbanas. Em uma imagemde satélite, essas características morfológicas são representadaspor complexas interações de diferentes tipos de superfície,onde cada superfície corresponde a um tipo diferentede textura [14, 15]. Aplicando-se a Dimensão Fractal,é possível obter uma estimativa da complexidade dessa texturae, conseqüentemente, uma medida das característicasde morfologia urbana.Para esse experimento, foram empregadas imagens querepresentam diferentes áreas da cidade de São Carlos, interiordo estado de São Paulo, e que, conseqüentemente,apresentam diferentes condições de habitabilidade e desenvolvimentourbano. Essas imagens foram obtidas a partirdo software Google Earth R○ . Ao todo, foram consideradas5regiões da cidade (Figura 2). Para cada região, 2 imagensde 200 × 200 pixels foram obtidas, sendo consideradasduas altitudes diferentes: 10.000 e 15.000 pés (Figuras3 e 4). Além disso, a informação de cor das imagens foi de<strong>sc</strong>artada,sendo considerados apenas seus níveis de cinza duranteas etapas de análise e estimativa da Dimensão Fractal.4. ResultadosInicialmente as imagens <strong>sel</strong>ecionadas foram separadasem dois grupos, sendo o fator de separação aaltitude. Isso foi realizado, pois à medida que se diminuia altitude de observação, aumenta-se a quantidade deBairro Amostra DF1 2,6747a2 2,67781 2,6520b2 2,65561 2,6096c2 2,63651 2,6564d2 2,66881 2,6481e2 2,6669Tabela 1. Dimensão Fractal estimada para asamostras obtidas a 10.000 pés de altitude.informação de micro-textura presente nas imagens obtidas.Essa informação adicional de micro-textura se refereprincipalmente ao detalhamento de estruturas presentesnas imagens dos bairros como, por exemplo, pequenasvariações de iluminação ou som<strong>br</strong>a nos telhados de casas.Logo, imagens obtidas em diferentes altitudes apresentamníveis de detalhamento diferentes e, conseqüentemente,níveis de complexidades distintos.Quanto maior for a quantidade de informação demicro-texturas, menor será a quantidade de informação so<strong>br</strong>ea macro-textura da imagem. Diante dessas diferentesquantidades de micro e macro texturas, faz-se necessárioa utilização de configurações diferentes do método de Box-Counting para cada grupo de imagens. Neste caso, ondese pretende obter uma caracterização da complexidade organizacionaldos diferentes bairros, percebe-se claramentea necessidade de uma ênfase maior nas informaçõesde macro-textura da imagem, ou seja, tem-se a necessidadede uso de caixas maiores no método de BoxCoun-Bairro Amostra DF1 2,6151a2 2,62911 2,6078b2 2,60341 2,5977c2 2,59711 2,6087d2 2,62121 2,5946e2 2,5973Tabela 2. Dimensão Fractal estimada para asamostras obtidas a 15.000 pés de altitude.54


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.(a) (b) (c) (d) (e)Figura 3. Imagens de satélite de diferentes áreas obtidas a 10000 pés de altitude.(a) (b) (c) (d) (e)Figura 4. Imagens de satélite de diferentes áreas obtidas a 15000 pés de altitudeting.Os conjuntos de tamanhos de caixas utilizados nométodo BoxCounting para analisar as texturas foram e<strong>sc</strong>olhidosempiricamente. No entanto, tanto valores pequenosquanto valores grandes para o tamanho das caixas foramconsiderados. Desse modo, pode-se avaliar a textura deuma imagem em termos de micro-textura (caixas pequenas)e macro-textura (caixas grandes). Isso garante uma quantidademaior de informação so<strong>br</strong>e a imagem com um conjuntomínimo de caixas, e permite uma maior separação entreas amostras pertencentes a diferentes bairros da cidade.Os conjuntos de caixas que obtiveram os melhores resultadospara as imagens a 10.000 e 15.000 pés foram, respectivamente,{1, 16, 31, 46, 61, 76, 91} e {1, 14, 27, 40, 53},sendo os valores obtidos para a Dimensão Fractal apresentadosnas Tabelas1e2.Para ambos os conjuntos de imagens (10.000 e 15.000pés) percebe-se que, à medida que se afasta do centro da cidade,o valor da Dimensão Fractal aumenta. Esse aumentoda complexidade indica uma maior heterogeneidade dessasáreas, ou seja, a organização das estruturas morfológicasnessas regiões apresenta um padrão mais caótico, menos regularou homogêneo. Nota-se também que as áreas vizinhasou que estejam a uma distância aproximadamente igual docentro da cidade apresentam valores de complexidade parecidos,logo a organização de suas estruturas morfológicas ésemelhante. Isso é corroborado pelo fato de áreas centraisdas cidades serem alvo de maior número de benfeitorias,portanto melhor estruturadas, e de não sofrerem de processosde ocupação espontâneos ou informal. A Figura 5 mostraanéis concêntricos delimitando regiões a partir do marcocentral da cidade de São Carlos (Praça Dom José MarcondesHomem de Melo). As áreas analisadas no experimentoestão destacadas no gráfico, que apresenta suas respectivas55


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Figura 5. Anéis concêntricos, apresentando as regiões de mesma distância do marco central da cidadee sua Dimensão Fractal: (a) Valores de DF das imagens de satélite obtidas a 10000 pés; (b)Valores de DF das imagens de satélite obtidas a 15000 pés.dimensões fractais. Em ambos os gráficos pode ser observadoo aumento da dimensão fractal à medida que as zonasde análise se distanciam do centro urbano, comprovando ashipóteses levantadas anteriormente.Em relação às Tabelas 1 e 2, outro aspecto importantepode ser observado. Nota-se que os valores da dimensãofractal estão relacionados às diferentes altitudes. Os valoresda dimensão fractal em amostras obtidas a 10.000 pés sãomais elevados que aqueles em amostras obtidas a 15.000pés. Com isso, pode-se concluir que ocorre um aumento decomplexidade ou maior heterogeneidade quando se diminuia distância (vertical) de observação das amostras, ou seja,quando as amostras são observadas mais de perto.Além do cálculo da Dimensão Fractal, um classificadorhierárquico foi aplicado so<strong>br</strong>e as curvas log-log obtidaspara cada grupo de imagens. Nesse caso, considera-secomo métrica a distância euclidiana média entre as curvaslog-log das diversas amostras, pois esta sofre menos interferênciade valores espúrios. A Figura 6 mostra dendrogramasda organização das amostras de acordo com a similaridade.Percebe-se uma total separação das amostrasde acordo com a sua região, o que evidencia os diferentesníveis de complexidade e, conseqüentemente, a diferenteorganização das estruturas morfológicas de cada áreaurbana. A classificação hierárquica foi utilizada para apresentaras relações de distâncias e agrupamentos das imagensutilizadas no experimento. Em ambos os casos, asimagens foram classificadas corretamente. No dendrogramada Figura 6b o agrupamento das regiões foi realizado demodo proporcional ao distanciamento do marco central dacidade, evidenciando os resultados apresentados na Figura5. Embora a classificação das imagens esteja correta, o dendrogramade menor altitude (Figura 6a) não apresentou orelacionamento entre o agrupamento e as distâncias dasimagens ao marco central, sugerindo melhor acuidade dométodo para imagens adquiridas em altitudes maiores.5. ConclusãoNeste trabalho foi apresentado um estudo so<strong>br</strong>e autilização do método de estimativa de Dimensão Fractalna análise de características morfológicas de imagensde satélite de áreas urbanas, cuja interação resultaem padrões de texturas complexos. Por meio da DimensãoFractal é possível quantificar a complexidade dessatextura e, conseqüentemente, estimar o nível de desenvolvimentourbano de uma determinada área, permitindo asua comparação com demais regiões de uma mesma cidade.Foi realizado um experimento onde imagens de diferentesáreas urbanas foram comparadas segundo a metodologiaproposta. Os resultados demonstraram que existecorrelação entre o nível de complexidade e as característicasmorfológicas existentes em determinadas áreas urbanas, observadasem diferentes altitudes, evidenciando o grande potencialda técnica na análise e classificação de imagens desatélite dessas áreas.56


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.(a)(b)Figura 6. Dendrograma: (a) Imagens de satélite obtidas a 10000 pés; (b) Imagens de satélite obtidasa 15000 pés.6. AgradecimentosOdemir M. Bruno agradece ao CNPq (Procs.#303746/2004-1 e #504476/<strong>2007</strong>-6) eaFAPESP (Proc.#06/54367-9). André R. Backes agradece a FAPESP (Proc.#06/54367-9) pelo apoio financeiro ao doutorado. AdrianaB. Bruno agradece ao CNPq (Proc. #504476/<strong>2007</strong>-6)pelo apoio financeiro à iniciação científica. Mauro N. BarrosFilho agradece à Faculdade Esuda.Referências[1] G. D. and Lange and W. B. Marks. Fractal methods andresults in cellular morphology - dimensions, lacunarity andmultifractals. Journal of Neuro<strong>sc</strong>ience Methods, 69(2):123–136, November 1996.[2] A. R. Backes and O. M. Bruno. Segmentação de texturas poranálise 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. dimension:Does it provide an accurate subsidy for experimentalshape 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<strong>sc</strong>alefractal analysis of image texture and patterns. PhotogrammetricEngineering and Remote Sensing, 65(1):51–62,1999.[8] N. Giordana and W. Pieczynski. Estimation of generalizedmultisensor hidden markov chains and unsupervised imagesegmentation. 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 extractionand classification of vegetation areas from high resolutionimages in urban areas. In Scandinavian Conferenceon Image Analysis, pages 858–867, <strong>2007</strong>.[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 classificationand segmentation. IEEE Transactions on Image Processing,8(11):1572–1585, 1999.[13] S. Z. Li. Markov Random Field Modeling in Computer Vision.Springer-Verlag, 1995.[14] J. Lourenço, 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 environment.In International Conference on Image Processing,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. Nixon.Super-resolution mapping of urban <strong>sc</strong>enes 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 waveletframes. IEEE Trans. Image Processing, 4(11):1549–1560, Nov. 1995.57


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Coded Mask Multipinhole Collimation and Richardson-Lucy Decoding Algorithmto Obtain High Temporal and Spatial Resolution Scintigraphic Images of SmallVolumesJ Mejía 1 , OY Galvis-Alonso 2 , J Braga 1 , AA de Castro 3 , R Corrêa 4 , JP Leite 5 and MV Simões 3(1) Astrophysics Division, Brazilian National Institute for Space Research, São José dos Campos, São Paulo,Brazil. E-mail: mejia@das.inpe.<strong>br</strong>(2) Department of Molecular Biology, São José do Rio Preto Medicine School, São José do Rio Preto, SãoPaulo, Brazil(3) Department of Nuclear Medicine, University of São Paulo Medicine School at Ribeirão Preto, RibeirãoPreto, São Paulo, Brazil.(4) Space and Atmospheric Science Division, Brazilian National Institute for Space Research, São José dosCampos, São Paulo, Brazil.(5) Department of Neurology, Psychiatry and Medical Psychology, University of São Paulo Medicine Schoolat Ribeirão Preto, Ribeirão Preto, São Paulo, Brazil.AbstractIn this work, we present Monte Carlo simulations andexperimental results of the implementation of a<strong>sc</strong>intigraphic imaging system for small volumes,combining a coded mask-based multipinhole collimatorand a clinical gamma-camera, to obtain high temporaland spatial resolution of small fields. As the multipinholecollimator, we used a 77-element MURA-based codedmask, cyclically extended to 1313 elements, with 1-mmdiameter holes. In combination with a Siemens Orbiterclinical gamma camera, we obtained a spatial resolutionon the object plane of 0.5 mm, and a temporal resolutionequivalent to that of an 8-mm diameter single pinhole,when imaging objects as large as 20 mm and located 50mm away from the collimator. The Richardson-Lucy (RL)algorithm for image restoration was adapted to decodethe images registered through the coded mask, in doingso obtaining better quality images than by using theclassical correlation decoding method.1. IntroductionNon-invasive imaging techniques such as SPECT,PET or MRI allow for in vivo studies of organs andtissues. Initial studies of functional imaging focused onperfusional and metabolic alterations of tissues andorgans. Since late 1990s, molecular biology and in vivoimaging have been associated in the new di<strong>sc</strong>ipline“molecular imaging”, with the aim of detecting <strong>sel</strong>ectedbiochemical processes, such as metabolic reactions,receptor interactions or the expression of specific genes.On the other hand, small animals provide experimentalmodels for physiopathological studies, genomicinvestigation and drug di<strong>sc</strong>overy. However, small animalorgans are, at least, one order of magnitude smaller thanthe corresponding human ones, resulting, in the highenergy domain, in poor quality images, if obtained withconventional gamma-cameras and collimators.In this work, we present Monte Carlo (MC)simulations and experimental results on the hardware andsoftware techniques implemented to improve the finalquality of images, as part of an enterprise to obtain highspatial and temporal resolution <strong>sc</strong>intigraphic images ofsmall animals with the technology currently available inthe University Hospital of the Medical School of RibeirãoPreto (HCRP-<strong>USP</strong>) and in collaboration with the HighEnergy Group of the Astrophysics Division of theBrazilian National Institute for Space Research (INPE)and the Department of Molecular Biology of the Sao Josedo Rio Preto Medicine School (FAMERP). In Section 2,we de<strong>sc</strong>ribe the coded mask imaging technique, a methodextensively used in high energy astrophysics to obtainimages of distant sources, how it can be applied to nearfield imaging and the advantages it presents over otherimaging alternatives. In Section 3, we present results ofthe imaging capabilities of the implemented instrumentbased on MC simulations and experimental records, and acomparison of the final image features as obtained whenthe image decodification is done by using the classicalcorrelation method or an iterative RL-based algorithm.58


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Finally, Section 4 summarizes the conclusions of thiswork.2. Scintigraphic Imaging with Coded Mask-Based Multipinhole Collimators and the RLAlgorithmOver 30 keV, focusing techniques are not any moreappropriate to obtain images, mainly because of the highpenetrating capability of photons. In order to obtainimages of high energy sources, it is necessary to code, insome appropriate way, the incidence direction of thedetected photons. In the field of nuclear medicine, themost common techniques are based on the use of parallelhole or single pinhole collimators. In the second case, amagnification factor appears, depending on the ratiobetween the source-to-collimator and image-to-collimatordistances, which, for small fields of view (FOV), allowsto observe small detail features.High spatial and temporal resolutions are two keyparameters in molecular imaging and in dynamic studiesof radiotracers. Spatial resolution is limited by theintrinsic resolution of the gamma-camera detector, incombination with the physical size of the collimatorpinholes, if parallel hole or single pinhole collimators areused. Small diameter holes are, then, desirable, whenimaging small size objects. However, reducing the opensize in the aperture implies in a quadratic reduction of thesensitivity, making it necessary to increase the exposuretime or the applied dose to reach an equivalent statisticalsignificance on the image.To overcome this conflicting situation, it has beenproposed to replace the single pinhole collimator by a setof multiple small-sized pinholes on the aperture, in twodifferent alternatives: multipinhole collimators, where asmall number of pinholes are used to record the objectactivity and the decoded image is obtained by use ofiterative algorithms based on maximum-likelihoodapproaches (see, e.g., [1, 2]); and coded mask collimators,where a higher number of appropriately distributedpinholes (dozens to hundreds of holes) is used and thefinal image is obtained by correlation with an appropriatedecoding array. This second kind of collimators was<strong>sel</strong>ected for us, to be used in combination with a SiemensOrbiter clinical gamma-camera, to obtain high spatial andtemporal resolution images of small volumes.Coded masks have been extensively used in highenergyastrophysics (e.g., [3, 4]), in order to imageastrophysical fields from some keV up to some MeV. Inthe coded mask approach, the instrument's apertureconsists of a distribution of small size holes on anotherwise opaque <strong>sc</strong>reen following an appropriate pattern,such that every point source in the FOV casts a specificshadow pattern on a position-sensitive detector. In otherwords, multiple, superimposed images of the source areprojected on the detector. The information on the photon'sincidence direction is encoded in the shadow distribution(or shadowgram), which can be recovered in a secondstep of image decodification, by appropriate mathematicalmanipulations (see, e.g., [5, 6]). Considering the highnumber of small size holes on the aperture, coded masksprovide substantial gain in detection efficiency whilemaintaining the spatial resolution of single pinholecameras with the same hole size.In the most general way, the shadowgram can berepresented by the convolution of the intensitydistribution in the object plane with the coded maskdistribution, as given by the expressionAO ( x)N(),S( x) x(1)where S represents the shadowgram, O corresponds to theintensity distribution in the object plane, A is the aperturearray and N corresponds to a noise term. One of the mostcommonly used methods to recover the image of theobserved 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,AG, be as near as possible to a delta function (a pulse onan otherwise flat or null sidelobes). In doing so,I S G [ A O]GNG [ AG] O N G O N G,being the decoded image, I, equivalent to the observedobject except by a noise term.Many different classes of coded mask patterns havebeen di<strong>sc</strong>ussed in the literature since the randomdistribution of holes introduced, independently, by Dicke[7] and Ables [8]. An special case of coded apertures isthat of the Uniformly Redundant Arrays (URAs)introduced by Fenimore and Cannon [5], whoseautocorrelation function corresponds to a perfect deltafunction superimposed on a constant or null level, whilemaintaining the high transparency of the random arraysand the high resolution of the single pinhole cameras.Additionally, the decoding process is such that thecontribution of any uniformly distributed noise pattern isautomatically removed.Coded masks were proposed as an alternative toproduce images of objects in the near field by Cannonand Fenimore [9], Fenimore et al [10] and Chen et al[11], showing, additionally, that this kind of camerapresents some reasonable tomographic depth resolution,being able to identify individual planes a couple of cmaway from each other. They were also used to produce(2)59


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.tomographic images of phantoms and biologicalspecimens by, e.g., Rogers et al [12], who obtainedimages of a dog model of acute myocardial infarction.By 2001, the use of coded masks in near-field imagingcameras was reappraised by Accorsi et al [13]. Thoseauthors di<strong>sc</strong>ussed on the most appropriate coded maskpatterns, in terms of signal-to-noise ratio (SNR) [14], andindicated the Modified URAs [15] as an appropriateoption for this application. The origin of artifactsappearing in this application was also reviewed [16], andthe mask-antimask technique [17] was suggested as analternative to remove them by hardware, not requiringadditional time increase or computation effort to producean image. Additionally, those authors combined a codedmask-based collimator with conventional Anger camerasto produce images of small FOVs. When decoded withthe classical correlation method, high spatial resolution(1.7 mm) planar images were obtained [13] as well ashigh temporal resolution (50 ms/frame with weaksources), suggesting that they can be used for dynamicalstudies of radiotracers [18].An alternative method to decode images relies oniterative restoration image algorithms. This technique hasbeen mainly applied to decode images in the multipinholeapproach, as mentioned above. Image restoration can beunderstood as the case of finding the reproducible objectintensity distribution which better explains the detectedintensity distribution, given the instrument'<strong>sc</strong>haracteristics and the irreproducible noise contribution.This kind of problem is known as the inverse problemand arises in many <strong>sc</strong>ientific fields. Following Eq. (1), theobjective is to find a model of the object intensitydistribution, O(x), given the detected intensitydistribution, S(x), and the response of the instrument to apoint source, A(x). In this work, we have tested the RLalgorithm [19, 20] to restore simulated and experimentalimages. In the RL algorithm, the restored image can berepresented by the recursive expressionS(k)A(k,i)( l1) ( ) ( , ) k I j A k j( l)( l1)( ) ( )jI i I i, (3)A(k,i)where the starting value of the restored image, I (0) (i), isset to a uniform positive value, and the restrictivecondition of I (l) (i) 0 is applied in every iteration.In the next section, we present results, based on MCsimulations and experimental data, of the application ofthe hardware and software techniques outlined above inorder to obtain high quality images of small fields, asexpressed by spatial and temporal resolution.k3. The HC<strong>USP</strong>-RP Coded Mask-BasedImaging System ImplementationThe imaging system implemented in our laboratoryuses a multipinhole collimator based on a 7×7 ModifiedURA coded mask, cyclically extended to 13×13 elementsand made on a 4-mm thick lead sheet, as shown in Figure1. Individual pinholes have 1 mm in diameter, singleknifeedges and a 60-degree total opening angle. Themask was located 200 mm away from the gamma-camera(Siemens Orbiter) detector surface and 50 mm from theobject plane, which determines a FOV of 23 mm × 23mm. With this configuration, a point source projects onthe detector a 210 mm × 210 mm shadow of the 7×7-element mask basic pattern, the projection of anindividual 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 thesensitivity of the gamma camera when using the codedmask-based multipinhole collimator and compare it withthe single pinhole (2-mm, 4-mm and 8-mm diameter)ones. A small size source with an activity of 0.225 mCiwas 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, slightlyhigher than that obtained with the 8-mm diameter singlepinhole (18.1 kcounts/s/mCi).Photon events registered by the gamma-camera wereprojected over a matrix having pixel dimensions of 2 mm× 2 mm, from where the central 105×105-element sectorwas retained, corresponding to the projection of one basicmask pattern on the detector, to produce the“shadowgrams”. The remaining pixels were cyclicallyreprojected over this central area, in order to improve theSNR, in this way taking advantage of the contribution tothe image of most of the 84 pinholes on the mask, asproposed by Braga [21].60


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.To obtain the decoded image, we compared bothapproaches di<strong>sc</strong>ussed in Section 2, finding that thealternative based on the RL algorithm produces betterquality results in terms of spatial resolution and SNR. InFigure 2, we compare the results of both approaches, foran annular source based on a MC simulation, while inFigure 3 the same comparison is done for a real point-likesource. For this reason, only those images obtained by theiterative decoding method will be shown here.two line sources 0.5 mm in width and 4 mm away onefrom the other, and (g, h) a set of 5 point sources in a “+”format, 5 mm away one from the other.Figure 2. (a) Shadowgram projected by an annular source,5 mm in diameter and 2 mm in width, obtained by MCsimulation 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 theRL algorithm (FWHM=2.36 mm, 15 iterations). Noticehow the background noise is almost completely absent inthis decoded image.MC simulations of images of different planardistributions were obtained: multiple point-like sources,linear sources, small and large diameter annulardistributions and disk-like objects. In Figure 4, we presentthe shadowgrams and decoded images corresponding to(a, b) an annular source 20 mm in diameter and 2 mmwidth, (c, d) a disk like source 20 mm in diameter, (e, f)Figure 4. MC simulation results of the imaging process:shadowgrams and decoded images of (a, b) an annularsource 20 mm in diameter and 2 mm in width; (c, d) adisk-like source 20 mm in diameter; (e, f) two linesources 0.5 mm in diameter and 4 mm away one from theother; and (g, h) a set of 5 point-like sources in a “+”pattern, 5 mm away one from the other. The sources wereconsidered located 50 mm away from the collimator, andthe images were decoded from the shadowgram by meansof the RL algorithm (15 iterations).61


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Real images of some of the simulated cases were alsoobtained, whose results are shown in Figure 5, for the setof 5 point sources and the annular source. Notice theresemblance with the simulated results.Figure 5. Images obtained with a Siemens-Orbitergamma-camera, the coded mask-based multipinholecollimator previously presented and a RL-based decodingalgorithm (15 iterations) of (a) a set of five point-likesources in a “+” pattern, 5 mm away one from the otherand (c) an annular source 20 mm in diameter and 2 mmwidth. In (b) and (d), cuts along the central line of eachimage are presented. Most of the width of thereconstructions is caused by the finite size of the sources.4. ConclusionsIn this work we have presented details of theimplementation of a high spatial and temporal resolution<strong>sc</strong>intigraphic imaging system, based on the coded maskmultipinhole technique, in combination with aconventional clinical gamma-camera and an appropriatedecoding algorithm. Even though coded mask collimatorshave been successfully used for decades in the field ofhigh energy astrophysics, this kind of collimators has notbeen extensively used in near field, in spite of its abilityto produce, simultaneously, high spatial and temporalresolution. Nevertheless, multipinhole collimators,consisting of a smaller number of holes, have been usedto produce images of small FOVs, in combination withiterative restoration image algorithms based on theMaximum Likelihood RL algorithm (e.g., [1, 2]).Simulations and experimental results indicate thatcoded masks can be used to improve the spatial andtemporal resolution of gamma-ray imaging of smalltargets in the near field by increasing the total open areaof the camera, while maintaining the equivalent highspatial resolution of a small size pinhole camera and, inthis way, allowing for dynamical studies of radiotracers.When in the far field application, images obtained withthe use of appropriately <strong>sel</strong>ected coded mask collimators(namely, URAs) are perfectly decoded by the cros<strong>sc</strong>orrelationof the shadowgram with an appropriatedecoding array. In the near field applications presentedhere, where the objects were always inside the FOV, theimages were also well reconstructed. However, by using aspecially adapted iterative restoration image procedurebased on the RL algorithm, better results are obtained interms of spatial resolution and SNR, than by using theclassical decoding algorithm based on the correlationbetween the shadowgram and the decoding array. In ourapplication, resolutions of 0.5 mm (FWHM) wereachieved, when point or linear sources are imaged, aswell as good border definition, when spatially extendedobjects are considered.The use of a high number of small pinholes, of theorder of 25, allowed us to obtain a sensitivity equivalentto that of a 5-mm diameter single pinhole collimator. Bycyclically reprojecting pixels out of the central area of theshadowgram, we included information from an additionalset of 36 pinholes, in doing so improving the SNR andincreasing the sensitivity of the system to that of a camerawith an 8-mm diameter single pinhole collimator.Finally, we confirm the feasibility of to obtain goodquality <strong>sc</strong>intigraphic images of small FOV with thetechnology and equipments available in our medicalinstitutions, by adapting a clinical use gamma camera, incombination with low cost material coded mask-basedcollimators and the appropriate processing software tools.In the next step, we will work on the implementation of3D image reconstruction algorithms, in order to obtainSPECT images of small animals.6. AcknowledgmentsWe want to thank the wonderful help of the HC-<strong>USP</strong>RPNuclear Medicine Section technical staff in preparing andmanipulating the phantoms during tests. J Mejia issupported by CNPq grant 381985/2004-0. AA de Castrois 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 andM.J. Fulham, “A prototype coded aperture detector for smallanimal SPECT”, IEEE trans. Nuclear Science, v. 49(5), pp.2167-2171, 2003.62


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.[2] U.N. Schramm, M. Schipper, T. Schurrat, M. Behe, H.Alfke, U. Engeland, G. Ebel and T.M. Behr, “Performance of amulti-pinhole animal SPECT”, Nuclear Science SymposiumConference 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-rayastronomy”, Spa. Sc. Rev., v. 45, pp. 349-403, 1987.[5] E.E. Fenimore and T.M. Cannon, “Coded aperture imagingwith uniformly redundant arrays”, App. Opt., v. 17(3), pp. 337-347, 1978.[6] E.E. Fenimore and T.M. Cannon, “Uniformly redundantarrays: digital reconstruction methods”, App. Opt., v. 20(10), pp.1858-1864, 1981.[7] R.H. Dicke, “Scatter-hole cameras for x-rays and gammarays”,ApJ, v. 153, pp. L101-L106, 1968.[8] J.G. Ables, “Fourier transform photograph: a new methodfor x-ray astronomy”, Proc. ASA, v. 1, pp. 172-173, 1968.[9] T.M. Cannon and E.E. Fenimore, “Tomographical imagingusing 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 drivencompressions: 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-dimensionalreconstructions of laser-irradiated targets using URA codedaperture 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 codedaperture for high-resolution nuclear medicine planar imagingwith a conventional Anger camera: experimental results”, IEEEtrans. Nuc. Sci., v. 48, pp. 2411-2417, 2001.[14] R. Accorsi, F. Gasparini and R.C. Lanza, “Optimal codedaperture patterns for improved SNR in nuclear medicineimaging”, Nuc. Inst. Meth Phys. Res. A, v. 474, pp. 273-284,2001.[15] S.R. Gottesman and E.E. Fenimore, “New family of binaryarrays for coded aperture imaging”, App. Opt., v. 28(20), pp.4344-4352, 1989.[16] R. Accorsi and R.C. Lanza, “Near-field artifact reduction inplanar coded aperture imaging”, App. Opt., v. 40(26), pp. 4697-4705, 2001.[17] U.B. Jayanthi and J. Braga, “Physical implementationof 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 dynamiccoded aperture imaging”, Nuc. Sci. Symp. Conf. Record, IEEE,v. 3, pp. 1833-1837, 2003.[19] W.H. Richardson, “Bayesian-based iterative method ofimage restoration”, J. Opt. Soc. Amer., v. 62, pp. 55-59, 1972.[20] L.B. Lucy, “An iterative technique for the rectification ofobserved distribution”, Astron. J., v. 79, pp. 745-754, 1974.[21] J. Braga, Hard X-ray imaging techniques using codedmasks, PhD Thesis, Instituto Astronômico e Geofísico, SãoPaulo, Brazil, 1990.63


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Auto-Fusão da Auto-Face, do Auto-Esboço e da Auto-Pele pelo Misturograma emimagens em nível de cinzaSeverino Jr, OsvaldoIMES - FAFICAosvaldo@fafica.<strong>br</strong>Gonzaga, AdilsonE<strong>sc</strong>ola de Engenharia de São Carlos - <strong>USP</strong>agonzaga@<strong>sc</strong>.<strong>usp</strong>.<strong>br</strong>ResumoNeste trabalho é apresentado um novo método para asegmentação da região de pele e esboço da face emimagens em nível de cinza, através de uma extensão dométodo de quantização de cores definido no sistema RGBe denominado Misturograma. A extensão proposta para oMisturograma permitirá a quantização de cada um dospixels de uma imagem em nível de cinza nas cores preto,azul, verde, ciano, vermelho, magenta, amarelo e <strong>br</strong>anco.A relevância das imagens do esboço da face e da regiãode pele em nível de cinza foi verificada pela auto-fusão. AAuto-fusão é um método de Fusão Multimodal Paraleloefetuado no módulo de decisão.1. IntroduçãoA pele humana é constituída por diferentes misturas decores (pigmentos). A pigmentação define um caráter racialde grande importância e consiste na cor que apresenta apele, o cabelo e a íris do olho. Segundo Domenech [1]levando-se em conta, como caráter fundamental, a cor dapele, 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 passodessa pesquisa consistiu na proposta do termoMisturograma [2]. O Misturograma representa um métodode quantização de cores definido pela observação queuma cor é representada pela adição do vermelho, verde eazul no espaço RGB. Na Tabela 1 verifica-se que estaadição pode resultar em oito combinações, onde 0 indica aausê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, <strong>br</strong>anco), o Misturogramautiliza a definição binária da cor e realiza um fatiamentode bits, do mais significativo para o menos significativo.Dessa forma, cada fatia será constituída por uma das oitocombinações (Tabela 1). Além disso, cada fatia possui umpeso em relação à mistura final da cor que decre<strong>sc</strong>e do bitmais significativo para o menos significativo.Tabela 1. Combinações de Cores no RGB.CanaisCorR G B Resultante0 0 0 Preto0 0 1 Azul0 1 0 Verde0 1 1 Ciano1 0 0 Vermelho1 0 1 Magenta1 1 0 Amarelo1 1 1 BrancoPortanto, a mistura final pode ser expressa por umvalor v, tal que:v =K∑= i 02i2 1( R 2 + G 2 + B )i28i−1Na Tabela 2 observa-se que para C, no espaço RGB, iguala (109,146,137) a representação binária é (01101101,10010010, 10001001) e o valor v será igual a 3 , 3923.Tabela 2. Representação de v pelo fatiamento de bits, domais para o menos significativo de uma cor no RGB.bits R G B Cor7 0 1 1 Ciano6 1 0 0 Vermelho5 1 0 0 Vermelho4 0 1 0 Verde3 1 0 1 Magenta2 1 0 0 Vermelho1 0 1 0 Vermelho0 1 0 1 MagentaDessa forma, qualquer mistura de cores poderá serquantizada a um valor v entre 0 e 7, onde 0 correspondeao valor RGB igual a (0,0,0) e 7 ao valor RGB igual a(255,255,255). Entretanto, para determinar uma cor apartir de v, definiu-se um intervalo i igual a 0,875 (7/8)para expressar a seqüência de cores (preto, azul, verde,i(1)64


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.ciano, vermelho, magenta, amarelo, <strong>br</strong>anco). Portanto,para v igual a 3,3923 será atribuída a cor ciano.Baseando-se na idéia da pele como uma característicarelevante para de<strong>sc</strong>rição de uma imagem, o segundo passodessa pesquisa aplicou o Misturograma para segmentar aregião de pele em imagens faciais coloridas.2. Segmentação da região de pele em imagensfaciais coloridasNa Figura 1 identifica-se uma imagem facial reduzidapara o tamanho 288 x 384 pixels no formato RGB com 24bits do banco de faces AR [3] e a imagem quantizada peloMisturograma.A partir dessa combinação foram realizadas pesquisasna base AR que demonstraram a relevância da imagem deregião de não pele que passou a ser denominada deEsboço da face [4]. Em resumo, foram obtidos o esboçoda face e a região da pele de cada imagem do banco AR.Após, as imagens da face, esboço e pele foramconvertidas para nível de cinza e aplicou-se a técnica PCA(Principal Component Analysis) [5] obtendo-se asimagens auto-face, auto-esboço e auto-pele e verificou-seo desempenho e a contribuição das mesmas.Em uma nova etapa da pesquisa, iniciaram-se testes nabase FERET [6], entretanto, esta base de imagens faciaispossui imagens coloridas e em nível de cinza.Inicialmente, optou-se por utilizar apenas as imagen<strong>sc</strong>oloridas. Mas, a exclusão das imagens em nível de cinzacasou uma inquietação que contribuiu para a conclusão deuma nova etapa na pesquisa que consiste na segmentaçãoda região de pele e esboço da face em imagens faciais emnível de cinza.3. Segmentação da região de pele e esboço daface em imagens faciais em nível de cinzaFigura 1. a) Imagem original e b) imagem quantizadapelo 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 tentativaem reduzir o número de combinações, as imagens foramagrupadas duas a duas, de forma que as cores quepertenciam a primeira não estavam presentes na segunda eas oito cores apareciam nas duas imagens, assim, obtendo128 combinações. Verificando essas combinaçõe<strong>sc</strong>onstatou-se que uma delas conseguia segmentar a regiãoda pele pelos pixels da imagem original quantizadas peloMisturograma nas cores ciano, vermelho, magenta,amarelo e <strong>br</strong>anco, enquanto a região de não pele erasegmentada pelos pixels quantizados pelas cores preto,azul e verde (Figura 2).Testes demonstraram que é possível obter a imagemem nível de cinza a partir do valor v da mistura de cores(Equação 1). Para isso, é necessário dividir o valor v decada pixel da imagem por 7, dessa forma, normalizam-seos novos valores dos pixels da imagem no intervalo de 0-1. Após, encontra-se o valor inteiro mais próximo damultiplicação do novo valor do pixel por 255. Portanto,dada uma imagem com os valores v obtêm-se c (imagemem nível de cinza), tal que:v(i,j)c( i,j)= 255×, c(i,j)∈ N (2)7A Figura 3 mostra as imagens geradas em nível decinza pelo software Matlab e pelo valor v da mistura decores. Verifica-se que a imagem gerada por v capturamelhor os detalhes de iluminação da imagem.Figura 2. a) Imagem original, b) região de não pele e c)região da pele.Figura 3. a) Imagem original, b) imagem em nível decinza gerada pelo software Matlab e c) imagem em nívelde cinza gerada pelo valor v da mistura de cores.65


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Portanto, dada uma imagem em nível de cinza c obtémseo valor v, tal que:c(i,j)v ( i,j)= 7 ×(3)255Efetuado o cálculo de v, para determinar a cor de cadapixel, aplica-se um intervalo i igual a 0,875 para definir aseqüência de cores (preto, azul, verde, ciano, vermelho,magenta, amarelo, <strong>br</strong>anco). Na Figura 4 verifica-se que aimagem quantizada pelo Misturograma a partir da imagemem nível de cinza é igual à obtida a partir da imagemcolorida da Figura 1-b.Figura 4. a) Imagem em nível de cinza e b) imagemquantizada pelo Misturograma a partir de a).4. Validação da PropostaCom o intuito de validar a proposta foram realizadostestes na base AT&T [7] composta por 40 classes deimagens faciais com tamanho 112x92 pixels em nível decinza, sendo que cada classe continha 4 imagens comdiferentes expressões faciais (olhos abertos e fechados,sorrindo e não sorrindo) . Inicialmente, foram geradas asimagens quantizadas pelo Misturograma a partir dasimagens em nível de cinza da base. Após, utilizando asimagens quantizadas foram encontradas as imagensesboço da face e região de pele. Na Figura 5 podem servistas uma amostra de algumas dessas imagens.Gerada a base de teste foi aplicada a técnica PCA nasimagens faciais, esboço e pele, obtendo as imagens autoface,auto-esboço e auto-pele, respectivamente. Paraverificar o desempenho dessas imagens foram calculadasas suas respectivas curvas recall x precision (revocação xprecisão) considerando como critério de similaridade adistância euclidiana. A Figura 6 mostra que 92% dasimagens auto-face do banco conseguiram recuperam as 4imagens da classe, já as imagens auto-esboço alcançaramo índice de 90%, enquanto as imagens auto-pele atingiram80%. 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) eregião de pele (direita) obtidas de imagens faciais(esquerda) em nível de cinza.Figura 6. Verificação do desempenho das imagens autoface,auto-esboço e auto-pele.66


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Para verificar a relevância das imagens auto-pele umnovo passo na pesquisa foi marcado pela proposta dométodo auto-fusão [8].5. Auto-FusãoAuto-fusão é um método de Fusão MultimodalParalelo efetuado no módulo de decisão [9] com trê<strong>sc</strong>aracterísticas biométricas: face, esboço e pele (Figura 7).Verifica-se na Figura 8 que se pode definir uma matrizacumulativa, tal que:• os três Modos de Decisão encontraram a i-005-3 comoa primeira imagem mais próxima,• um Modo de Decisão encontrou a imagem i-005-1como a segunda imagem mais próxima, enquanto osoutros 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-4como a quarta imagem mais próxima.ImagensImagens mais próximasda classei-0051ª 2ª 3ª 4ªi-005-1 0 1 1 0i-005-2 0 2 0 0i-005-3 3 0 0 0i-005-4 0 0 0 2Figura 8. Resultado Acumulativo dos Modos de DecisãoFigura 7. Exemplo de Fusão Multimodal Pareleloefetuado no modo de decisão modificado de Jain [9].Em resumo, inicialmente todas as imagens de face dobanco de dados foram utilizadas para calcular o subespaçoPCA da Face. Após, projetou-se cada imagem de face nosubespaço PCA da Face e calculou-se a auto-face. Esteprocedimento foi realizado para as imagens esboço e peleque constituíram o subespaço PCA do Esboço e da Pele econseqüentemente as imagens auto-esboço e auto-pele.Dada uma imagem query da face, ela é projetada nosubespaço PCA da Face resultando na sua auto-face.Após, efetua-se a distância euclidiana da auto-face daimagem query com todas as auto-faces do banco deimagens de forma seqüencial e, então, o módulo deDecisão da Face classifica as imagens mais próxima daimagem query de acordo com a distância euclidiana emordem cre<strong>sc</strong>ente. Da mesma forma, as imagens esboço epele, geradas a partir da imagem query, são projetadas nossubespaços PCA do Esboço e da Pele e verificada adistâncias em relação as auto-esboço e auto-pele dobanco.Para explicar o método de fusão proposto, suponha quese deseje localizar as quatro imagens mais próximas da i-005-3 (imagem 3 da classe 5) e que obteve-se os seguintesresultados:• 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.Então, o método de auto-fusão procura pelos valores 3,2, 1 na matriz acumulativa, excluindo-se a coluna e a linhaque pertencem a estes valores. Na Figura 8 verifica-se quea matriz acumulativa possui o valor 3 na linha i-005-3 e ana coluna 1ª, nesse caso, o método define a imagem i-005-3 com a primeira bu<strong>sc</strong>a mais próxima e elimina essa linhae essa coluna (Figura 9).ImagensImagens mais próximasda classei-0052ª 3ª 4ªi-005-1 1 1 0i-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 possuio valor 2 na linha i-005-2 e na coluna 2ª e na linha i-005-4e na coluna 4ª, nesse caso, o método define a imagem i-005-2 com a segunda bu<strong>sc</strong>a mais próxima e a imagem i-005-4 com a quarta bu<strong>sc</strong>a mais próxima e eliminam-se asrespectivas linhas e colunas (Figura 10).ImagensImagens mais próximasda classe3ªi-005i-005-1 1Figura 10. Matriz acumulativa após a retirada do valor 2.Na Figura 10 observa-se que a matriz acumulativapossui o valor 1 na linha i-005-1 e na coluna 3ª, nessecaso, o método define a imagem i-005-1 com a terceira67


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.bu<strong>sc</strong>a 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 daclasse. Em caso de houver empate ou ausência de um dosvalores 3, 2 e 1 na coluna, prevalece à ordem: primeiro aimagem encontrada pelo Método de Decisão da Face,segundo pelo método do Esboço e terceiro pelo métododa Pele, devido ao desempenho alcançado por estes deforma individual (Figura 6).Na Figura 11 pode-se observar o desempenho da autofusãoem relação aos métodos aplicados de formaindividual. Verifica-se que utilizando a auto-fusão 95%das imagens do banco conseguem localizar as 4 imagensque compõe as suas respectivas classes, e este resultado é3% superior ao alcançado pela imagens auto-face.uma contribuição para a formação de característicasassociadas à de<strong>sc</strong>rição de imagens digitais coloridas ouem nível de cinza.10. Bibliografia[1] J.M.T. Domenech, A.P. Bolivar, Atlas das RaçasHumanas, Ibero-Americano, Ltda, Rio de Janeiro, 1965.[2] O. Severino Jr., A. Gonzaga, “Misturograma Umaproposta de Quantização do Histograma através daMistura de Cores”, <strong>WVC</strong>'2005 - I Workshop de VisãoComputacional, Piracicaba, 2005, pp. 76-79.[3] A.M. Martinez, R. Benavente, “The AR FaceDatabase”, CVC Technical Report nº 24, 1998, June.[4] O. Severino Jr., A. Gonzaga, “Auto-esboço e Autopelepelo Misturograma”, <strong>WVC</strong>'2006 - II Workshop deVisão Computacional, São Carlos, 2006, pp. 81-86.[5] K. Baek, M.S. Bartlett, and B.A. Draper, “Recognitionfaces with PCA and ICA”, Computer Vision and ImageUnderstand, Vol. 91, 2003, pp. 115-137.[6] P. J. Phillips, H. Moon, P. J. Rauss, and S. Rizvi, “TheFERET evaluation methodology for face recognitionalgorithms”, IEEE Transactions on Pattern Analysis andMachine Intelligence, Vol. 22, No. 10, October, 2000.Figura 11. Gráfico de desempenho da auto-fusão.6. ConclusãoMostrou-se com este trabalho que cada pixel de umaimagem em nível de cinza pode ser classificado como umadas cores preto, azul, verde, ciano, vermelho, magenta,amarelo e <strong>br</strong>anco, através de uma extensão doMisturograma que é uma abordagem de quantização decores de uma imagem RGB. Uma das intenções destetrabalho foi mostrar o potencial do Misturograma quandoutilizado para a segmentação da região de pele e esboçoda face de imagens em nível de cinza. Outra intenção foimostrar a relevância das imagens da face, esboço e pelequando utilizadas como características em um sistemamultimodal. Verificando-se, também, o desempenho e arelevância do método auto-fusão, acreditamos que a<strong>sc</strong>aracterísticas relacionadas ao esboço da face e a regiãode pele poderão ser exploradas em trabalhos futuros como[7] F. Samaria, and A. Harter, “Parameterisation of astochastic model for human face identification”, 2nd IEEEWorkshop on Applications of Computer Vision, Sarasota(Florida), December, 1994.[8] O. Severino Jr., A. Gonzaga, “Auto-Fusão naRecuperação de Imagens Baseadas em Conteúdo”,<strong>WVC</strong>'2006 - II Workshop de Visão Computacional, SãoCarlos, 2006, pp. 305-310.[9] A.K. Jain, A. Ross, and S. Prabhakar, “AnIntroduction to Biometric Recognition”. IEEETransactions on Circuits and Systems for VideoTechnology, Special Issue on Image- and Video-BasedBiometrics, 2004.68


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Modelagem de Ambientes para Robô Móvel baseado em Rede NeuralHierárquica e Visão OmnidirecionalLUCIANA L. SILVA 1 , HENRIQUE VIAN 1 , MARIO L. TRONCO 1 , ARTHUR J. V. PORTO 21 Laboratório de Automação e Computação Evolutiva, Departamento de Ciências de Computaçãoe Estatística, Universidade Estadual Paulista - UNESPAv. Cristovão Colombo, 2265 – São José do Rio Preto- SPE-mails: lleals@gmail.com, havian@gmail.com, mariot@ibilce.unesp.<strong>br</strong>2 Laboratório de Simulação e Controle de Sistemas Di<strong>sc</strong>retosE<strong>sc</strong>ola de Engenharia de São Carlos - Universidade de São Paulo - <strong>USP</strong>Av. trabalhador São-Carlense, 400 - São Carlos - SPEmail: ajvporto@<strong>sc</strong>.<strong>usp</strong>.<strong>br</strong>AbstractAutonomous robots must be able to learnand maintain models of their environments. Inthis context, the present work considers aenvironment mapping system embarked in themobile robot of the Laboratory of Automationand Evolutivo Control (LACE). The robot usesa sensorial system, which perceives theexternal environment supplying suchinformation as entered to a structuralizedhierarchical neural network. The sensorialsystem is composed for ultrasound sensors anda catadioptric vision system formed by acamera and a conical mirror. The neuralnetwork is structuralized in two layers, reasonand instintic, and is trained to classify eachplace explored for the robot amongst fourpredefine classes. The final result of theexploration is the construction of a topologicalmap of the explored environment. Resultsgotten through the simulation of the neuralnetwork show that such technology insidereaches good performance of the context of hemobile roboticKeywords⎯ Mobile robot, Omni-Vision System,hierarchical neural networks.1. IntroduçãoA tarefa de modelar ambientes no contexto darobótica móvel exige do robô uma navegaçãoautônoma, a qual está fortemente condicionada àcapacidade do robô de perceber o ambiente e utilizartais informações sensoriais de maneira eficiente. Sendoassim, é desejável um alto grau de autonomia para semelhorar o desempenho dos métodos de mapeamento.Uma maneira de se conseguir isto é aumentar aquantidade de informações sensoriais disponíveis,utilizando-se, por exemplo, imagens do ambientecoletadas por uma câmera embarcada no robô.Câmeras são sensores potencialmente úteis, poisatravés das imagens obtêm-se uma grande quantidadede informações para a construção de mapas. Umsistema de visão não tradicional muito utilizado emnavegação de robôs móveis é o sistema de visãoomnidirecional, o qual é composto por uma câmera eum espelho. O mesmo tem a capacidade de coletarimagens de 360º ao redor do robô, o que aumenta aindamais a quantidade de informações disponíveis.O processo de modelagem de ambientes consiste nacriação de um modelo que represente a estrutura físicado mesmo, ou seja, na construção de um mapa.Navegação baseada em mapas exige um processo dereconhecimento e análise de alto nível com o objetivode interpretar o mapa e estabelecer sua correspondênciacom mundo real. Além disso, o problema de adquirirmodelos é complexo e difícil de ser resolvido devido alimitações práticas so<strong>br</strong>e a habilidade dos robôs deaprender e utilizar modelos precisos. Tais limitaçõessurgem a partir de problemas inerentes aos sensores ouao ambiente explorado.O presente trabalho apresenta um método demapeamento de ambientes interiores, o qual utiliza umsistema sensorial embarcado no robô móvel do LACEcomposto por sensores de ultra-som e um sistema de69


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.visão omniderecional. O método utiliza uma rede neuralartificial estruturada de maneira hierárquica e treinadapara reconhecer e classificar os lugares explorados combase nas informações de sua vizinhançadisponibilizadas por seu sistema sensorial.Dessa forma, o processo de modelagem envolveuma etapa de exploração do ambiente, na qual a questãocentral é saber quais lugares do ambiente, bem como asrelações entre eles serão identificadas e representadas.Classicamente, a construção de mapas segue duasabordagens: geométrica e topológica.A abordagem adotada neste trabalho é a topológica.De acordo com ela, o ambiente é representado por umconjunto de lugares distintos entre si, e de uma maneiraque o robô possa ir de um lugar para o outro [1]. Emoutras palavras, o ambiente é representado através deum grafo, de modo que os lugares do ambiente formamo conjunto de vértices ou nós e todas as passagens ouligações existentes entre cada par de vértices formam oconjunto de arestas.Vários aspectos do uso de sistemas de visão nocontexto da robótica móvel serão apresentados na Seção2. Na Seção 3 abordamos o procedimento geral para aconstrução do mapa topológico, bem como o sistema devisão omnidirecional embarcado no robô. A Seção 4de<strong>sc</strong>reve a rede neural hierárquica utilizada comoclassificador dos lugares explorados pelo robô. NaSeção 5 apresentamos os resultados experimentaisobtidos, e na Seção 6 as conclusões.2. Trabalhos relacionadosSistemas de visão computacional têm sidoamplamente utilizados na robótica móvel comoferramenta poderosa na captura de informações do meioexterno. Tanto para propósitos de mapeamento deambientes quanto para localização dos robôs dentro deseu ambiente, o uso de tais sistemas como fonte deinformações perceptuais têm resultado em diversostrabalhos na literatura da área.Matsumoto [2] propôs uma técnica que utiliza umaseqüência de imagens omnidirecioanais como mapa doambiente. As imagens são adquiridas em uma etapa deaprendizagem da rede neural, seguindo rotas prédeterminadase coletadas segundo espaçamento<strong>sc</strong>onstantes. Após a etapa de treinamento da rede, omapa construído pode ser utilizado durante a navegaçãodo robô para propósitos de planejamento de rotas elocalização do robô. A tarefa de localização é executadaatravés da comparação entre as imagens adquiridasdurante o percurso com as imagens utilizadas paratreinar a rede.Zitová [3] aplica um conjunto de técnicas deprocessamento de imagens em seu método dereconhecimento de marcos usado pra navegação derobôs móveis. Aqui, marcos artificiais formados pordois círculos concêntricos de mesmo raio externo ediferentes raios internos são espalhados pelo ambiente,e a tarefa do sistema é reconhecer cada marco demaneira distintiva permitindo assim a localização dorobô.Delahoche [4] propôs um método incremental deconstrução de mapas baseado em odometria e naexploração de ângulos extraídos a partir de umaimagem omnidirecional. Além disso, a estimativa daposição atual do robô e a atualização do mapa sãobaseadas no uso de um Filtro de Kalman Extendido.3. Construção do mapa topológicoO método de mapeamento de ambientes propostoneste trabalho tem como objetivo final construir ummodelo topológico do ambiente explorado pelo robômóvel do LACE. Para isso, ele utiliza um sistemasensorial formado por sensores de ultra-som e umsistema de visão omnidirecional, os quais percebem oambiente fornecendo tais dados aos módulos quecompõem o sistema de modelagem.O procedimento de mapeamento é executadodurante a exploração do ambiente pelo robô. Os dadoslidos pelos sensores são pré-processados por nós CANconectados por uma rede de barramento decomunicação de dados. Este pré-processamento torna osdados adequados a sua utilização pelo sistema denavegação do robô, onde se encontra o módulo demapeamento.O sistema de modelagem é composto por trêsmódulos: classificação, identificação/criação ecaracterização dos nós. A principal tarefa do módulo declassificação é identificar cada local visitado pelo robô,classificando-os dentre quatro classes pré-definidas, eassim criar os nós do mapa junto com suas respectivasrelações de adjacência (arestas).Uma rede neural estruturada hierarquicamente emduas camadas, razão e intuição, é utilizada comoprincipal ferramenta pelo módulo classificador. Suaestrutura bem como os procedimentos de classificaçãoserão de<strong>sc</strong>ritos na Seção 4.A tarefa de identificação e criação de um novo nó éexecutada por um procedimento que recebe ainformação fornecida pelo classificador e cria um novonó no mapa. Um procedimento de controle implementaa tarefa de controle desse processo durante a exploraçãoalém de fazer a interface dos módulos entre si e entre osdados sensoriais (Figura 1).Além das tarefas de identificação e classificaçãodos nós, faz-se necessário a caracterização dos mesmos,ou seja, cada nó criado precisa ser identificado no mapade maneira única e distinta dos demais nós pertencentesa mesma classe. Para realizar tal tarefa a proposta éimplementar um sistema de identificação de marcos, osquais consistem em objetos da cena que sãoencontrados de maneira distintiva pelo robô. Dessemodo, cada nó deve ser caracterizado por um marcotornando-o único e distinto dos demais nós do mapa.O procedimento de identificação de marcos utilizaimagens de cada nó identificado durante a exploração,<strong>sel</strong>ecionando nessas imagens alguma região que70


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.identifica o respectivo nó. Esta tarefa é implementadano módulo chamado caracterização dos nós e suarelação com os demais módulos está esquematizada naFigura 1. Navegação baseada em marcos estáamplamente difundida na literatura da área e pesquisasenvolvendo tal técnica têm obtido bons resultados [5, 6,7 e 8].Figura 3. Imagem omnidirecional não pré-processadaFigura 4. Imagem panorâmica obtida a partir de umaimagem omni4. Estrutura da rede neural hierárquicaFigura 1. Diagrama funcional do sistema demapeamento3.1. Sistema de visão omnidirecional do robômóvel do LACENesta Seção apresentamos o sistema de visãoomnidirecional embarcado no robô móvel do LACEutilizado para captura de cenas do ambiente explorado.A Figura 2 ilustra o procedimento de captura eprocessamento da imagem.As imagens omnidirecionais são capturadas poruma câmera com seu foco alinhado a um espelhocônico. Tais imagens são retificadas no módulo de visãoomnidirecional, transformando-a numa imagempanorâmica da cena. Esta é então pré-processada,sofrendo um processo de binarização e detecção debordas. Esta é a imagem disponibilizada ao sistema demapeamento de<strong>sc</strong>rito neste trabalho. As Figuras 3e4ilustram exemplos de imagens omnidirecional epanorâmica, respectivamente.Nesta Seção de<strong>sc</strong>reve-se a estrutura da rede neuralutilizada 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 declassificar os locais explorados pelo robô dentre quatroclasses pré-definidas: corredor, intersecção, sala eporta. Para realizar esta tarefa, a rede recebe comodados de entrada as leituras de sensores de ultra-som eas imagens panorâmicas disponibilizadas pelo sistemade visão embarcado no robô.A rede razão recebe os valores lidos pelos sensoresde ultra-som, os quais medem as distâncias do robô emrelação a objetos. Já a rede intuição recebe comoentrada uma imagem de 50X6 pixels.Os sonares localizados nas laterais do robô semovimentam na horizontal enquanto realizam asleituras das distâncias. Dessa forma, eles fornecem umvetor de números reais, onde cada número representa adistância do robô em relação a um objeto, calculadasegundo o ângulo formado entre a respectiva direção deleitura e a posição central de leitura.As leituras do sensor dianteiro são executadasseguindo o mesmo procedimento, exceto pelo fato deque o mesmo se movimenta também na vertical,resultando numa matriz de números reais. Isto se faznecessário para garantir que o robô detecte a altura doespaço livre à sua frente, evitando possíveis colisões.Cada neurônio da camada de entrada da primeirarede recebe a leitura de uma das posições dos vetores eda matriz. Sendo assim, esta camada tem tantosneurônios quanto o número de leituras efetuadas pelostrês sensores. Este número é fixo durante a execução doprocedimento, podendo, entretanto, ser alterado.Figura 2 – Esquema do sistema de visão do robômóvel do LACE71


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.4.1. Treinamento da Rede Neural – Classes deLugaresPara classificar os lugares explorados pelo robô, arede precisa ser treinada para adquirir a capacidade dereconhecer cada uma das quatro classes. Atribui-se,então, a cada classe, características que a torna distintadas demais, sendo tais parâmetros levados emconsideração durante a construção do conjunto depadrões de treinamento da rede.Durante esta etapa fornece-se à rede neural oconjunto de padrões de treinamento. Os padrõesfornecidos à primeira camada representam algumas da<strong>sc</strong>aracterísticas de cada classe modeladas levando-se emconsideração medidas de distâncias do robô em relaçãoa obstáculos, como, por exemplo, uma parede, enquantoo conjunto de padrões de treinamento da camada deintuição é formado pelas imagens disponibilizadas pelosistema de visão.treinada com imagens de portas e corredores estreito<strong>sc</strong>om o objetivo de aprender a distingui-los, resolvendoassim possíveis confusões de classificação.O fato de<strong>sc</strong>rito no parágrafo anterior é o quejustifica a criação de uma rede neural hierárquica com afunção de classificar locais explorados pelo robô móvel.A classe intersecção é definida como um localonde o robô pode eventualmente alterar a direção do seupercurso. Ela deve ser mapeada sempre que existir oencontro entre dois ou mais corredores. Sendo assim, arede deve primeiramente reconhecer a classe corredorpara assim concluir a a existência de uma intersecção.Após a etapa de treinamento a rede é submetida auma etapa de validação, onde um conjunto maior ediferente de padrões é apresentado a ela. O objetivo évalidar a etapa anterior. Nesta fase calculamos tambémuma curva representativa da taxa de erro do algoritmode aprendizagem. Após a validação, ambas as camadasforam então testadas e os resultados obtidos estãode<strong>sc</strong>ritos na Seção 5.Figura 5. Rede neural hierárquica: classificador dosnós do mapaA camada da razão aprende a classificar com certograu de certeza as classes cujos parâmetros que a<strong>sc</strong>aracterizam são bem definidos e distintos dos demais.A rede da intuição é treinada com imagens coletadas decada classe, sendo ativada sempre que ocorrer algumtipo de confusão no processo de reconhecimento daprimeira camada.Uma classe classificada sem qualquer duvida é acorredor. Os parâmetros estabelecidos para definiçãodesta classe são bem claros e baseados somente nasdistâncias entre o robô e possíveis obstáculos. Dessamaneira, a camada razão consegue reconhecer estaclasse com base nas leituras dos sonares. O contrárioacontece no reconhecimento da classe porta.O padrão de uma porta e um corredor estreitoidentificado pelos sonares das laterais do robô poderesultar em possíveis confusões de reconhecimento.Neste momento ocorre a confusão durante aclassificação realizada pela rede razão. Nesta situação,esta rede é treinada para ativar um neurônio da saída, oqual é o neurônio excitador da rede intuição. Nestemomento a segunda rede entra em execução e classificaseu padrão de entrada, ou seja, a imagem do local a serclassificado pelo robô. Dessa maneira, a rede intuição é5. Resultados ExperimentaisNesta Seção apresentamos o resultado obtidodurante a etapa de testes de ambas as camadas da rede:razão e intuição. Nesta fase, um conjunto de padrõesdiferentes dos utilizados nas fases anteriores éapresentado às redes com o objetivo de se testar odesempenho de sua classificação.Para criar as duas camadas da rede neuralutilizamos o simulador de redes neurais SNNS(Stuttgart Neural Network Simulator) [9], o qualtambém fornece suporte para as etapas de treinamento,validação e teste.A rede razão criada possui 35 neurônios em suacamada de entrada. Os cinco primeiros neurôniosrepresentam o vetor de leitura do sonar direito, os cincoseguintes o vetor de leitura do sonar esquerdo e os vintee cinco neurônios restantes a matriz de leitura do sonardianteiro. 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ônioexcitador da rede intuição.A segunda rede possui uma camada de entrada com300 neurônios, cada um dos quais recebe o valorarmazenado em um dos pixels da imagem de 50 X 6 deresolução. Sua camada de saída possui dois neurôniosrelativos às classes corredor e porta.A Figura 6 ilustra o estado da rede razão após seutreinamento, em virtude da entrada de um padrãomodelando 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 ladodireito (neurônios 2e3).Opadrão ilustrado pertence aoconjunto de treinamento, e foi utilizado com o objetivode capacitar a rede a reconhecer aberturas estreitas dolado direito do robô. Padrões com estas característicasdevem ativar o quarto neurônio da camada de saída(neurônio 39), indicando a possibilidade de existência72


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.de uma porta ou um corredor estreito. Neste caso, comode<strong>sc</strong>rito na Seção 4, a rede intuição é ativada pararesolver tal conflito.Figura 6. Exemplo do estado da rede da razão apóstreinamentoApós o treinamento a rede foi validada. Nesta faseum conjunto de padrões de treinamento e um conjuntode padrões diferentes destes foram submetidos à rede. Aavaliação do desempenho da rede foi feita analisando seo neurônio de saída correspondente ao padrão deentrada foi ativado e também o valor de ativação desteneurônio. Quanto maior for seu valor de ativação dentrode um intervalo de 0 a 1, mais precisa é a classificaçãoda rede.Na Figura 7, por exemplo, simula-se o estado darede em virtude da entrada de um padrão modelando umlocal com uma abertura estreita do lado direito do robô.Padrão este não utilizado no treinamento da rede. Oresultado esperado é a ativação do neurônio 39. Deacordo com a figura, conclui-se que tal resultado foiobtido com precisão, já que o valor de ativação de talneurônio está muito próximo de um (0.992).Figura 8. Exemplo do estado da rede da razãodurante etapa de testes – classeintersecçãoFigura 9 - Exemplo do estado da rede da razãodurante etapa de testes – abertura lateral direita: ativaçãoda rede intuiçãoA rede intuição, também criada utilizando-se aferramenta SNNS, obteve sucesso em sua etapa detreinamento, haja vista os resultados obtidos nas etapasde validação e teste da rede.As Figuras 10 e 11 ilustram padrões representandouma imagem de uma porta e um corredor,respectivamente, submetidos à rede durante a etapa devalidação, com o objetivo de validar a etapa detreinamento. De acordo com as entradas o primeiro e osegundo neurônio da saída das Figuras 10 e 11,respectivamente, devem ser ativados, o que acontececorretamente.Figura 7 – Estado da rede razão em virtude daentrada de um padrão durante etapa de validaçãoA fase de teste da rede razão consistiu nasubmissão de padrões criados aleatoriamente, com oobjetivo de se avaliar sua capacidade de classificaçãofrente a entradas de<strong>sc</strong>onhecidas. O resultado obtido foimuito bom para todos os padrões apresentados à rede.Como exemplos apresenta-se as Figuras 8 e 9, onde aclasse intersecção e a camada de intuição são ativada<strong>sc</strong>orretamente.Figura 10 - Exemplo do estado da rede intuiçãodurante etapa de validação – imagem de uma portaFigura 11- Exemplo do estado da rede intuiçãodurante etapa de validação – imagem de um corredorDurante a etapa de testes foram apresentados à redeimagens de portas e corredores também utilizadas73


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.durante as etapas anteriores, coletadas, contudo, sobpontos de vistas diferentes. Além disso, a rede recebeucomo entrada imagens inéditas de portas e corredores,ou seja, imagens completamente de<strong>sc</strong>onhecidas pelarede intuição. Tal procedimento testou a capacidade degeneralização desta camada.Em ambos os tipos de testes a rede obteve bonsresultados na classificação, o que pode ser comprovadoatravés das Figuras 12 e 13. Na primeira figura temo<strong>sc</strong>omo entrada a imagem de um corredor já conhecido darede, visto, contudo, sob um ponto de vista diferente. Osegundo neurônio da saída foi ativado corretamente,assumindo um alto valor de ativação (0.99984). AFigura 13 ilustra a classificação de uma portade<strong>sc</strong>onhecida da rede, ou seja, um padrão nunca antesapresentado à mesma. A classificação é feitacorretamente e com uma ótima precisão, tendo em vistao valor de ativação alcançado pelo neurônio de saída(0.98807).Figura 12 - Exemplo do estado da rede intuiçãodurante etapa de testes – imagem de um corredorFigura 13 - Exemplo do estado da rede intuição duranteetapa de testes – imagem de uma porta de<strong>sc</strong>onhecida darede6. ConclusõesEste trabalho propõe uma técnica de modelagem deambientes para navegação do robô móvel doLaboratório de Automação e Controle Evolutivo –LACE, a qual utiliza um sistema de visãoomnidirecional e sensores de ultra-som para adquiririnformações do meio externo e fornecê-las ao sistemade mapeamento. O sistema de<strong>sc</strong>rito é composto por trêsmódulos, sendo de<strong>sc</strong>rito neste trabalho o móduloresponsável pela classificação dos nós do mapa dentrequatro classes pré-definidas: intersecção, sala, corredore porta.O módulo classificador usa como principalferramenta uma rede neural hierárquica formada porduas camadas: razão e intuição. Ambas as camadasforam construídas utilizando-se a ferramenta SNNS. Osresultados obtidos a partir da simulação da camadarazão se mostraram satisfatórios e passíveis de seremimplementados no sistema de mapeamento real do robômóvel do LACE.Os resultados obtidos nos testes da camada intuiçãoforam igualmente satisfatórios, alcançando o objetivopara o qual ela foi criada: resolver possíveis confusõesno processo de classificação da primeira camada.A próxima etapa do trabalho contempla aimplementação do módulo de caracterização dos nósbaseado em técnicas de criação e reconhecimento demarcos artificiais inseridos no ambiente.Referências Bibliográficas[1] B. J. Kuipers, Y. T. Byun, “A robot exploration andmapping strategy based on a semantic hierarchy ofspatial representations”, Robotics and AutonomousSystems, 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 Conferenceon Intelligent Robots and Systems, 1999, pp. 317-322.[3] B. Zitová, J. Flusser, “Landmark recognition usinginvariant features”. Pattern Recognition Letters,Vol. 20, 1999, pp. 541 – 547.[4] L. Delahoche, C. Pegard, E. M. Mouaddid, P.Vasseur, “Incremental map building for mobilerobot navigation in an indoor environment”, Proc.IEEE International Conference on Robotics andAutomation, 1998, pp. 2560 – 2565.[5] S. Marsland, U. Nehmzow, T. Duckett,“Learning to <strong>sel</strong>ect distinctive landmarks formobile robot navigation”, Robotics andAutonomous Systems, Vol. 37, 2001, pp. 241 –260.[6] A. Arsênio, M. I. Ribeiro, “Absolute localization ofmobile robots using natural landmarks”, IEEEInternational Confgerence on Eletronics, Circuitsand Systems, Vol 2, 1998, pp. 483 – 486.[7] M. Betke, L. Gurvits, “Mobile Robot LcalizationUsing Landmarks”, IEEE Transactions on Roboticsand Automation, Vol. 13, 1997.[8] S. Se, D. Lowe, J. Little, “Mobile RobotLocalization and Mapping with Uncertainty usingScale-Invariant Visual Landmarks”, TheInternational Journal of Robotics Research, Vol.21, 2002, pp. 735 – 758.[9] A Zell et al., SNNS Stuttgart Neural NetworkSimulator User Manual, Version 4.2, Disponívelemhttp://www.ra.informatik.unituebingen.de/downloads/SNNS/SNNSv4.2.Manual.pdf Acesso: 10 dea<strong>br</strong>il de <strong>2007</strong>.74


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Active contours applied to image based modelling techniques.KÁTIA LUCIENE SCORSOLINI ALEXANDREJOÃO DO E.S. BATISTA NETOLaboratório de Computação de Alto Desempenho - LCADInstituto de Ciências Matemáticas e de Computação (ICMC) - <strong>USP</strong>Av. do Trabalhador São-Carlense, 400 - Centro - Cx. Postal 668São Carlos - São Paulo - Brasil CEP 13560-970AbstractImage based modelling techniques have receivedconsiderable attention from the computervision community due to its potential to create realistic<strong>sc</strong>enes 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 interactiveas they require users to manually <strong>sel</strong>ectand position the most appropriate contour aroundthe object of interest. This work proposes an aidtool designed to automatically find and positiona contour of a <strong>sc</strong>ene object by using active contourtechniques, so as to increase the accuracy ofthe image based modelling techniques. With thisapproach, simple geometric figures, such as pyramidsand cubes, could be reconstructed after thevertex coordinates computation.Keywords Image based modelling, active contours,GVF.1. IntroductionThe transformation of real <strong>sc</strong>enes into a threedimensionalcomputer model from pictures is denominatedImage Based Modelling - IBM). As presented byOliveira [5], there are several techniques to this kind ofmodelling in the literature whose goal is to extract informationfrom a set of images and then to reconstructa <strong>sc</strong>ene under investigation. This information is composedby vertex, lines and/or curves that, ideally, could beextracted automatically, using image segmentation techniques.However, in currently available tools, such as Canoma[7], we can see a very interactive and strongly userdependentprocess, which includes manual wired frames<strong>sel</strong>ection 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 techniquecalled Gradient Vector Flow (GVF) [9]. We expectthat an automatic process will be capable of providing ahigher quality contour, as opposed to that manually producedand, 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 de<strong>sc</strong>ribesthe GVF active contours approach, specially the GVF technique.In section 3 the methodology adopted in this workwill be presented. In section 4 some results and a comparisonwith Hough Transforms will be shown. Finally, in section5, some conclusions are drawn.2. Active contoursThe 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 de<strong>sc</strong>ribethe 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 it<strong>sel</strong>f, such as elasticityand rigidity, and external forces derived from the image,such as pressure forces [4, 6]. The final snake curve isattained by seeking the minimization of the following energyequation:75


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.∫ 11E =0 2 (α| v′ (s) | 2 + β| v ′′ (s) | 2 )+E ext (v(s))ds (1)The first term of the equation 1 represents the snake internalenergy. α and β are weighing parameters that controlthe tension and rigidity of the snake, respectively. The firstorderderivative of v(s), controlled by α, makes the snakeact like a thin mem<strong>br</strong>ane while the second-order derivativeof v(s) makes it act like a thin plate, developing cornerswhen β is zero.The second term, E ext , 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 obtainedwith 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 inver<strong>sel</strong>y 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 towardsthe image border.The GVF algorithm is computed as a diffusion of the gradientvectors of a gray-level or binary edge map f(x, y) derivedfrom 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 = µ(u 2 x+u 2 y+vx+v 2 y)+|∇f| 2 2 |v−∇f| 2 dxdy (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 homogeneousregions of the image through the GVF field interpolationnear border regions.The GVF field is then normalized and the snake deformationprocess 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 α (tension),β (rigidity), γ (vi<strong>sc</strong>osity), and κ (external forceweights) parameters, according to [8], whose transposecan be computed by LU decomposition.3. De<strong>sc</strong>ription of the methodThis section de<strong>sc</strong>ribes an automatic mechanism to graphicalprimitives positioning over objects in a <strong>sc</strong>ene. Its objectiveis to increase the precision and to minimize user interactionon 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 objectwhich are of fundamental importance to the underlyingimage based modeling techniques.3.1. Contour identificationThe 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 filterover the original image. The Sobel, Laplacian, and IntegratedDirectional 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 initialclosed contour. As the closed contour is deformed, interpolationis carried out to give a more realistic representationof 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 boundary,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


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.3.2. Vertexes detectionThe 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 recallthat the objects under investigation are 2-D projectionsof real 3D objects, which are likely to possess hidden vertexes.From visible vertexes coordinates and knowledge onthe object geometry, coordinates of hidden vertexes can beestimated. Both processes are de<strong>sc</strong>ribed below.Visible vertexes calculationThe 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 it<strong>sel</strong>f represents the object’sexternal points only. To compute the remaining (internal)points that belong to the object we take the coordinatesof the snake (the contour of the object) and their respectivevalues 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 contourpoints 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 coordinatesthat 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 conditionof 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 geometry,the angles and proportions. A satisfactory result will dependon an adequate analysis and parameter adjustment foreach type of object geometry.The example illustrated in figure 2a, shows the vertex <strong>sel</strong>ectionprocess for a 10-point sample parameter number (1).Keeping the candidate vertex as the first element, the vectoris rotated 360 o anti clock-wise from the origin (x axis)according to the angle variation provided which, in this example,is 15 o (figure 2b).By rotating the 10-point vector around the candidate vertex,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 relativein the edge map also must belong to the interval (meanstandarddeviation) 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 <strong>sel</strong>ection processto: a) a 10 points sample, and b) an angle variationof 15 o .sidered. When the rotation ends, if the candidate vertex hasmore than one non-consecutive angle stored, it is then classifiedas a vertex of the object.Having calculated all visible vertices after <strong>sc</strong>anning theentire edge map, we may proceed with the hidden vertexcomputation.Hidden vertexes calculationIn order to begin this task, an extra knowledge on the objectgeometry is necessary. Knowing the actual object numberof vertexes, we know how many vertexes have not yetbeen identified. The geometric shapes available: cube, triangularbase 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 object’sedge. 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-dimensional77


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.(a)(b)Figure 3. Vertexes projections in the vanishingpoint and hidden vertex calculation.Figure 4. Pyramid vanishing point calculation.space converges to an unique point in the image plan,called vanishing point [1], we can compute these coordinatesthrough the line equation and the opposite edges’s inclinationrelation.To calculate the vanishing points only vertexes with degree3 or higher are considered, since those are the pointsfrom which we can find line segments in three different directions.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 vanishingpoints, creating the line segments illustrated in figure3b.Finally, the intersections between these line segmentsrepresent the object hidden vertexes in the <strong>sc</strong>ene (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 procedureused 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 commonpoint, and this point does not belong to the object.Nevertheless a pyramid does not exhibit the same behavior,as its vanishing point is represented by one of its vertexes.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 vertexesis 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 figure4 is the vertex 1.If the user chooses to reconstruct a triangular base pyramid,the vertexes 2 and 4 (vertexes of degree 2 or below)(a)Figure 5. Reconstruction of a pyramid of a)triangular base, and b) quadrangular base.will be connected to each other, creating, thus, a threedimensionalmodel of the object (figure 5a).However, if the user wishes to reconstruct a quadrangularbase pyramid the vectors that form the pyramid base ( −→ 32e −→ 34) are added, and the hidden vertex 5 is found, as illustratedin figure 5b.4. ResultsAs 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 it<strong>sel</strong>f: alpha, beta,gamma, kappa, and mu that represent, respectively, elasticity,rigidity, vi<strong>sc</strong>osity, 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(b)78


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.the developed technique. For each example shown the valuesof the parameters used will be given.Figure 6a represents a binary image of a pyramid. Figures6c and 6d illustrates different convergences of the initialcontour (figure 6b) when the value of the alpha parametervaries. This parameter controls the snake elasticity. Ahigher value (figure 6d) prevented the contour from expanding,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 identificationfor 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 11 o 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 images,can also be applied on gray <strong>sc</strong>ale images, as shownin figure 7, where a high-pass filter has been used to computethe the edge map.To illustrate the benefits of the proposed method, we performeda similar experiment with Hough transform technique[2], which is a traditional mechanism for line detection.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 difficultyin defining the correct vertex increases with the thresholdin Hough space. Although it can be trivial to find line intersections(possible vertexes) there is no clear indication ofwhich points actually are the real vertexes of the object.5. ConclusionsBy applying the active contour concept, this paper hasproposed an automatic edge and vertexes detection <strong>sc</strong>hemeto some geometric shapes that can be an aid device for imagebased 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 functional,specially for simple shape primitives such as cubesand pyramids. This is due to fact that the mechanism presentedembodies 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, accordingto the image type, so that the performance is satisfactory.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 geometricalinformation 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 segmentationtool capable of finding occluded objects. We assumethat the <strong>sc</strong>ene 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 <strong>sc</strong>enes.References[1] V. Cantoni, L. Lombardi, M. Porta, and N. Sicard. Vanishingpoint detection: Representation analysis and new approaches.In Proceedings of the IEEE International Conferenceon Image Analysis and Processing, volume 11, pages90–94, 2001.[2] P. V. C. Hough. A method and means for recognition complexpatterns. 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 techniques:a survey. RITA - Revista de informtica terica e aplicada,(2):37–66, 2002.[6] B. S. Pimentel. Segmentao de imagens mdicas utilizandomodelos de active contours. Avaiable in:¡http://www.lrvpa.dcc.ufmg.<strong>br</strong>/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 externalforce 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


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Figure 6. a) Original image (87x94); b) initial contour defined by the user and resulting snake in c) after6 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


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Algoritmo genético para criação de mapas de disparidade estéreoGustavo Teodoro LaureanoUniversidade Estadual de São Paulo - <strong>USP</strong>E<strong>sc</strong>ola de Engenharia de São Carlos - EESCLaboratório de Visão Computacional - LAVIgustavoengdm@gmail.comMaria Stela Veludo de PaivaUniversidade Estadual de São Paulo - <strong>USP</strong>E<strong>sc</strong>ola de Engenharia de São Carlos - EESCLaboratório de Visão Computacional - LAVImstela@<strong>sel</strong>.<strong>ee<strong>sc</strong></strong>.<strong>usp</strong>.<strong>br</strong>ResumoVisão estéreo já é pesquisada por um longo tempo etrata-se de uma das áreas mais complexas de Visão Computacional.Ela aborda as estratégias de recuperação da informaçãotridimensional 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ísticastridimensionais do ambiente. Este trabalho tem o objetivode identificar a informação tridimensional de um ambienteaplicando algoritmo genético como um método debu<strong>sc</strong>a de superfícies de disparidades da cena.1. IntroduçãoVisão Estéreo é um importante segmento de Visão Computacionale tem como objetivo principal a identificação dasinformações tridimensionais de uma cena. Ela é consolidadaso<strong>br</strong>e 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 p ee p d com coordenadas (u e ,v e ) e (u d ,v d ) respectivamente.A diferença entre essas coordenadas é chamada de disparidadee a profundidade z em que se encontra o ponto P podeser determinada pela Equação 1 [5]fz = b ·(1)|x e − x d |onde |x e −x d | é a disparidade, b a distância entre os centrosfocais 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éreoA 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 CorrespondênciaEsté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 facilitaressa 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 iluminaçãoe 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 imagem,a e<strong>sc</strong>olha 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


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.ferência e o outro como a imagem alvo, para cada pontode referência a bu<strong>sc</strong>a por seu correspondente é feita so<strong>br</strong>ea região definida por sua linha epipolar [1, 6]. O conhecimentoprévio da geometria epipolar do sistema de observaçãopermite definir com segurança a região que certamentea segunda projeção está localizada, o que reduz drasticamenteo espaço de bu<strong>sc</strong>a. Para uma configuração de<strong>sc</strong>onhecidadas câmeras, as projeções podem estar em qualquerlugar da imagem e a bu<strong>sc</strong>a por correspondências é feitanas duas dimensões. As linhas epipolares restringem o espaçode bu<strong>sc</strong>a transformando-o em uma bu<strong>sc</strong>a unidimensional.Na Figura 1, as linhas epipolares são representadaspelas retas e e e e d .Mesmo adotando a restrição do espaço de bu<strong>sc</strong>a, 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 so<strong>br</strong>e 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 caminhosdentro 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 Espaçode 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 ImagemAntes 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 Normalizada(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 sensívelao ruído e às distorções provocadas pela mudança deperspectiva, apresenta menor custo computacional. No artigo[8] é possível encontrar um estudo comparativo entreessas 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 computacionale também por ser uma das métricas mais utilizadasnos trabalhos relacionados.Fazendo W r a janela de referência centralizada no pixelde coordenadas (x, y) e W a a janela alvo, ambas com dimensões(2n+1×2n+1), sendo n a quantidade de vizinho<strong>sc</strong>onsiderados, a equação de similaridade entre as regiões édada pela equação 2.EDI(x, y, d) =n∑i,j=−n(W r (x+i, y+j)−W a (x+i+d, y+j)) 2(2)Esse processo resulta em uma matriz tridimensionalEDI chamada de Espaço de Disparidade da Imagem. Estamatriz mapeia o custo de similaridade de cada disparidadepara 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 EDIEm um sistema estéreo coplanar, os pontos físicos possuemsomente o deslocamento horizontal nos planos deimagem, sendo assim, tomando a imagem Π d como a imagemde referência, o deslocamento presente na imagem Π epossui o único sentido que vai da esquerda para a direita.Para efeito de evitar computações desnecessárias, o deslocamentoadotado foi d = [0; +w]. A Figura 3 ilustra comoé construído o espaço de disparidades.3. Algoritmo GenéticoIntroduzido por John Holland em 1975 [3], os algoritmosgené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 procuramsimular 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 é compostapor 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 conjuntosistemas inteligentes adaptativos. Cada indivíduo re-82


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.(a) Imagem de referência(b) Imagem alvoFigura 3. Exemplo de processo de correspondênciapresenta 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 geraçãode potenciais soluções. O cruzamento é fundamentadoso<strong>br</strong>e a possibilidade de que os filhos possam herdaros melhores genes de seus pais e então estar melhor adaptado(evoluído) perante a população passada.O problema de correspondência estéreo pode ser modeladocomo 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 interpretadocomo o ajuste de coordenadas que indexam as projeçõesdo 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 característicastridimensionais 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 mapasde disparidades em potencial. O melhor mapa de disparidadeé 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íduosCada indivíduo k é montado como uma matriz de mesmadimensão das imagens estéreo. O valor associado às coordenadas(x, y) representa a disparidade do ponto na imagemde referência.Π d (x, y) − Π e (x + I k (x, y),y)=0 (4)3.2. Avaliação dos IndivíduosEssa etapa do AG consiste em relacionar a cada indivíduoum valor de Fitness 1 que mede o quanto ele está adaptadoao 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édiade todos os valores cromossomos. Essa estratégia éadotada com o objetivo de permitir a avaliação e competiçãode cromossomo a cromossomo dos mapas de disparidade.Como dito na seção passada, para o cromossomo associadoà posição (x, y), existe uma disparidade da mesmaposição. À esse valor de disparidade existe um custo de similaridadeC k s (x, y) relacionado no EDI.C k s (x, y) =EDI(x, y, I k (x, y)) (5)Para conservar a continuidade das disparidades, seja umamatriz de vizinhança W k com dimensões m × n centralizadaem (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 perantesua população. É comumente empregado nos trabalhos so<strong>br</strong>e algoritmosgenéticos independente de qual língua o texto é e<strong>sc</strong>rito.83


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.C k c (x, y) = 1m · n∑i∈m,j∈n∣ W k (i, j) − I k (x, y) ∣ ∣ (6)O Fitness total relacionado a cada cromossomo do indivíduoé dado pela Equação 7 e o Fitness de cada indivíduopela Equação 8.F k c (x, y) =w s · C k s (x, y)+w c · C k c (x, y) (7)F k = 1u · v∑i∈u,j∈vF k c (i, j) (8)Na Equação 7, w s e w c correspondem aos pesos relacionadosa cada métrica.3.3. SeleçãoExistem vários operadores de <strong>sel</strong>eção utilizados em algoritmosgenéticos, dentre eles os mais conhecidos são ométodo da roleta que atribui probabilidades de e<strong>sc</strong>olha proporcionaisao 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 <strong>sel</strong>eção é aplicável quando a geração do melhor indivíduoé apostada totalmente so<strong>br</strong>e os métodos de cruzamentos,já que os pais são de<strong>sc</strong>artados. A desvantagem associadaé que, na presença de um indivíduo muito bom e a di<strong>sc</strong>repânciade Fitness é muito grande em relação ao restanteda população, a evolução tende a gerar seres muito parecidosao indivíduo com maior probabilidade de transmissãode genes, o que acarreta na redução da diversidade na populaçãoe 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 diferentes.A maior vantagem associada a essa estratégia é da melhorexploração do espaço de bu<strong>sc</strong>a. Dando condições paraa so<strong>br</strong>evivência dos pais maior a possibilidade deles se recombinareme produzirem filhos mais diversificados. Maspor outro lado o tempo de convergência ao ótimo globalé mais longo. Em contrapartida, o operador de elitismobu<strong>sc</strong>a uma convergência mais rápida para o melhor resultado,sendo este local ou global.Neste trabalho a forma de <strong>sel</strong>eção foi desenvolvida bu<strong>sc</strong>andointegrar 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 correspondeà elite, ou seja, aqueles que apresentam uma aptidãomédia. O restante corresponde ao lixo da população, porapresentar uma aptidão baixa. O esquema de <strong>sel</strong>eção é representadopelo 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 geraçãofavorece o elitismo e impede a perda do melhor indivíduo.Os outros cruzamentos bu<strong>sc</strong>am a evolução da populaçãoconfiando na combinação certa dos genes paternos.A inserção de indivíduos aleatórios bu<strong>sc</strong>a a melhor exploraçãodo espaço de bu<strong>sc</strong>a. Outra forma de se fazer isso é inseriroperadores de mutação, mas devido à forma de cruzamentoadotada nesse trabalho a mutação exerce papel irrisóriona 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 melhore<strong>sc</strong>romossomos.3.4. CruzamentoA operação de cruzamento se dá de forma ligeiramentediferente dos AGs tradicionais. O método empregado nessetrabalho bu<strong>sc</strong>a 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:w a =I a (x, y)I a (x, y)+I c (x, y)(9)w b =I b (x, y)I a (x, y)+I c (x, y)(10)I f (x, y) = w b · I a (x, y)+w a · I b (x, y) (11)Onde I f é o filho resultante do cruzamento. O operadorde cruzamento realiza uma média ponderada das disparidadesrelacionando 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. ResultadosNessa seção é apresentado os resultados gerados pelo algoritmocom 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: 984


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Figura 4. Esquema de <strong>sel</strong>eção empregado para o cruzamento• W v com dimensão 7 × 7• w s =0.6 e w c =0.4As Figuras 5 e 6 apresentam os resultados obtidos utilizandoo par de imagens estéreo conhecido como Tsukubae Corridor respectivamente. Os pixels de maior intensidade,cor <strong>br</strong>anca, correspondem aos pontos onde a disparidadepossui maior intensidade, o que significa regiões mais próximasdo sistema de observação. É fácil identificar que o algoritmoproduziu 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 di<strong>sc</strong>utido em trabalhos de visãoestéreo. Por ter baixa resolução, apenas 200 × 200, e tambémpor apresentar muitas regiões repetitivas e com falta detextura, naturalmente a quantidade de ambigüidades é muitomaior que no primeiro teste.Indi<strong>sc</strong>utivelmente, todo o processo de otimização da superfíciede disparidade é altamente dependente da métricautilizada na construção do EDI. Uma medida de semelhançaerrônea implica em cromossomos defeituosos sendopropagados para as próximas gerações, corrompendo consigoparte de seus vizinhos, já que a medida de continuidadedas disparidades deve ser considerada.5. ConclusõesEste 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 construçãodo 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 algoritmosglobais apresentam alto custo computacional esão altamente dependentes das técnicas de construção doEDI. 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 inteligentesna determinação de mapas de disparidades maisbem adaptados é uma promessa empolgante da soluçãodo problema estéreo. Além do mais, AGs permitem utilizarum número infinito de estratégias de representação eevolução dos indivíduos, podendo também partir para algoritmosmais avançados utilizando interpretações multiobjetivopara a avaliação dos cromossomos. Devido às propriedadesde aprendizado e generalização de soluções, essasestratégias inteligentes favorecem a recuperação da informaçãotridimensional globalmente mais adaptada.Referências[1] X. Armangué and J. Salvi. Overall view regarding fundamentalmatrix estimation. International Journal of Imageand Vision Computing, IVC, 21(2):205–220, Fe<strong>br</strong>uary 2003.[2] A. Bensrhair, P. Miché, and R. De<strong>br</strong>ie. Fast and automaticstereo vision matching algorithm based on dynamic programmingmethod. Pattern Recogn. Lett., 17(5):457–466,1996.[3] J. D. S. da Silva, P. O. Simoni, and K. K. Bharadwaj. Multiplecorrespondences in stereo vision under a genetic algorithmapproach. In SIBGRAPI ’00: Proceedings of the 13thBrazilian Symposium on Computer Graphics and Image Processing,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. Cam<strong>br</strong>idge University Press, 40 West 20thStreet, New York, NY 10011-4211, USA, second edition,2003.85


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.(a) Imagem original(b) Mapa de disparidades real(c) Evolução do melhor indivíduo(d) Mapa de disparidadesFigura 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 analysisof cross-correlation matching algorithms using a pyramidalresolution approach. ECCV2000 - 2nd Workshop onEmpirical Evaluation Methods in Computer Vision, 2000.[9] Y. Shao and J. Mayhew. A model-driven stereo correspondencealgorithm using dynamic programming. 1998.[10] G. Tolt and I. Kalaykov. Measures based on fuzzy similarityfor 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 algorithmbasedstereo vision with no block-partitioning of input images.Proceedings 2003 IEEE International Symposiumon Computational Intelligence in Robotics and Automation,pages 830–836, July 2003.86


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.(a) Imagem original(b) Mapa de disparidades real(c) Evolução do melhor indivíduo(d) Mapa de disparidadesFigura 6. Imagens da base corridor.87


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.RECONHECIMENTO AUTOMÁTICO DE PADRÕES MUSICAISUTILIZANDO OPERADORES MORFOLÓGICOS E PROGRAMAÇÃOGENÉTICA.Emerson Carlos Pedrinoe-mail: ecpedrin@<strong>sel</strong>.<strong>ee<strong>sc</strong></strong>.<strong>sc</strong>.<strong>usp</strong>.<strong>br</strong>Valentin Obac Rodae-mail: valentin@<strong>sel</strong>.<strong>ee<strong>sc</strong></strong>.<strong>sc</strong>.<strong>usp</strong>.<strong>br</strong>Universidade de São Paulo/Departamento de Engenharia Elétrica, São Carlos, BrasilAbstract: Este trabalho apresenta uma metodologia para extração automática de padrõesmusicais em imagens binárias utilizando operadores morfológicos e uma variação da técnica deprogramação genética. As soluções são expressas por meio dos operadores básicos de morfologiamatemática, dilatação e erosão, juntamente com outros operadores lógicos. A programaçãogenética utiliza conceitos de genética e da <strong>sel</strong>eção natural de Darwin para criar e evoluirprogramas de computador. É um ramo relativamente novo de computação evolucionária egradualmente está se consolidando como um método promissor em aplicações de reconhecimentode padrões, problemas de classificação e modelamento de sistemas complexos, para citar somentealguns. A morfologia matemática é uma área não linear em processamento de imagens que sebaseia na geometria e teoria da ordem. Esta técnica de processamento tem provado ser umaferramenta 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 tarefatrivial 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 avaliadatambé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çãoA morfologia matemática é uma ferramenta extremamente poderosa para tarefas de processamentode imagens e se baseia em conceitos geométricos e na teoria da ordem [1] [2] [3]. Ela pode ser utilizadapara 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 é umatarefa trivial na prática [6]. É necessário grande conhecimento para <strong>sel</strong>ecionar de forma adequada o<strong>sel</strong>ementos 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 procedimentos88


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.morfológicos, tentando-se assim sanar essas dificuldades inerentes ao processo de projeto. Contudo, ostrabalhos supracitados têm se limitado a projetar filtros ótimos, onde as seqüências de operadoresmorfológicos são de tamanho fixo e os elementos estruturantes utilizados são limitados a formasbásicas [10]. A programação genética utiliza os princípios da <strong>sel</strong>eção natural de Darwin para criarprogramas 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 aoprocessamento de imagens. Assim, este artigo propõe uma metodologia para extração de padrõesmusicais em imagens binárias gerando procedimentos automáticos de morfologia matemática por meiode programação genética com a possibilidade de se explorar um espaço muito grande (não fixo) depossíveis algoritmos morfológicos e de elementos estruturantes de tamanhos e formas diferenciados.Também, o algoritmo desenvolvido permite utilizar ou acre<strong>sc</strong>entar qualquer tipo de instrução, e nãosomente as morfológicas, de acordo com uma dada aplicação.2. Programação GenéticaO objetivo primordial da programação genética é de<strong>sc</strong>o<strong>br</strong>ir como os computadores podem aprendera resolver problemas sem, no entanto, serem programados para essa tarefa [11]. A programaçãogenética é uma extensão de algoritmos genéticos [12] onde os cromossomos são representados porprogramas de computador. Nesta abordagem, os programas são representados por árvores sintáticas, aoinvé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ósterminais é formado por variáveis e constantes. As funções e os terminais são e<strong>sc</strong>olhidos baseadosnuma dada aplicação. O algoritmo básico de bu<strong>sc</strong>a utilizado em programação genética se baseia noalgoritmo genético clássico com seus operadores de cruzamento e mutação operando so<strong>br</strong>e estruturasde árvores. O algoritmo trabalha da seguinte maneira: inicialmente são gerados programas pertinentesao 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 deforma aleatória; assim, torna-se necessário executar cada programa dentro desse ambiente, onde osmelhores são <strong>sel</strong>ecionados e modificados para produzir uma nova população que será avaliada napróxima geração; esse processo é repetido até que uma condição de parada seja satisfeita.3. Construção Automática de Operadores MorfológicosO algoritmo proposto, para construção automática de operadores morfológicos utilizandoprogramação genética, foi desenvolvido no software Matlab 7.0 da Mathworks e trabalha da seguinte89


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.maneira: dadas duas imagens amostras de entrada, uma original e outra possuindo somentecaracterísticas desejadas a serem extraídas pelo procedimento genético proposto, bu<strong>sc</strong>am-se seqüênciasde operadores morfológicos no espaço de algoritmos de morfologia matemática, que satisfaçam osrequisitos desejados. Os operadores são procedimentos pré-definidos para trabalharem comdeterminados tipos de elementos estruturantes, podendo-se criar novos operadores quando estanecessidade se fizer necessária. A variável de entrada do processo é a imagem original. A saída doprograma é representada por uma estrutura linear contendo os tipos de operadores utilizados noalgoritmo de saída (melhor indivíduo) juntamente com seus elementos estruturantes especificados. Oresultado de uma operação será o argumento do operador subseqüente, e assim sucessivamente. Osparâ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. Afunçã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 cadeiasbinárias. Na figura 2, apresenta-se o diagrama em blocos do sistema desenvolvido.4. ResultadosFigura 2: Diagrama em blocos do sistema proposto.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. Nafigura 4 é apresentado um resultado da aplicação do procedimento obtido a uma imagem contendo umtrecho de uma partitura musical.Figura 3: Procedimento morfológico para extração das cabeças das notas.90


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.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 ea 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 umrecurso para flexibilizar o tamanho do programa gerado automaticamente. Na figura 5 é apresentado oresultado obtido por um procedimento gerado automaticamente para a extração do padrão superior dasnotas musicais conhecido como hook. Na figura, a instrução ero_h_3 corresponde a uma erosão por umelemento estruturante horizontal; a instrução sto(store) armazena o resultado corrente de uma operaçãomorfológica que poderá ser utilizado pelo procedimento em algum momento posterior; a instrução cplcorresponde ao NOT lógico e a instrução xor ao Ou-Exclusivo lógico. Na tabela 1 é apresentado umsumário dos resultados obtidos.Comparando os resultados obtidos com os trabalhos apresentados em [7], [8] e em [13], o presentetrabalho apresentou melhoramentos no tempo de processamento, aptidão e flexibilidade deprogramação.91


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Figura 5: Procedimento para extração de hook.Tabela 1 – Resumo dos resultadosExemplo NúmeroGeraçõesNúmeroCromossomosTamanhoÁrvoreTaxaCrossoverTaxaMutaçãoTaxaReproduçãoMAEerrorTempoProcessamentoFigura 3 50 25 6 90% 20% 20% 0,7% 0,02sFigura 5 50 45 12 95% 30% 12% 0,25% 0,033s5. ConclusõesNeste artigo é apresentada uma metodologia para geração automática de procedimentosmorfológicos aplicados a imagens binárias para extração de padrões contidos nessas imagens por meiode programação genética. Exemplos de extração de padrões presentes em partituras musicais foramapresentados e comparados com outros trabalhos na literatura, onde os resultados obtidos comprovam aeficiência do processo; contudo, o sucesso desta abordagem ficará dependente da e<strong>sc</strong>olha adequada dosparâmetros do procedimento genético proposto. Também, o algoritmo proposto pode ser utilizado paraoutras aplicações de processamento digital de imagens e permite o uso de vários tipos de instruções.92


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Referências[1] Quintana, M. I.; Poli, R.; Claridge, E. (2003). On Two Approaches to Image Processing AlgorithmDesign 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 processingin 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 GeneticAlgorithms. EUSIPCO 2000, Tampere, Finland, September.[7] Yoda, I.;Yamamoto, K.; Yamada, H. (1999). Automatic acquisition of hierarchical mathematicalmorphology 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 RecognitionLetters, v.14, n.12, p. 965-973.[10] Quintana, M. I.; Poli, R.; Claridge, E. (2002). Genetic programming for mathematical morphologyalgorithm 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 <strong>sc</strong>ores using aneural network approach. ICDAR, 1995, p. 1074-1079.93


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Avaliação do Branch-and-Bound para Seleção de CaracterísticasMarco Aurélio Roncatti, João do Espirito Santo Batista NetoLaboratório de Computação de Alto Desempenho - LCAD-ICMC-<strong>USP</strong>Caixa Postal: 668 - CEP: 13560-970 - São Carlos - SPmarco roncatti@yahoo.com.<strong>br</strong>, jbatista@icmc.<strong>usp</strong>.<strong>br</strong>ResumoEste artigo apresenta uma visão geral so<strong>br</strong>e o uso do<strong>br</strong>anch-and-bound em <strong>sel</strong>eção de características. Diversasmelhorias do algoritmo original já foram propostase a comparação de algumas delas é apresentada.Um exemplo da aplicação de <strong>sel</strong>eção de característicasem segmentação de imagens mostra como essa técnicapode ajudar no reconhecimento de padrões.1. IntroduçãoA alta dimensionalidade (grande quantidade de características)é um problema comum em reconhecimentode padrões. Esse problema pode ser tratado pormeio da <strong>sel</strong>eção de características, ou seja, a e<strong>sc</strong>olha da<strong>sc</strong>aracterísticas que melhor representam os dados analisados.A partir do conjunto completo de características,pretende-se <strong>sel</strong>ecionar um subconjunto que maximizeo valor de uma determinada função critério J(·), quepode ser a taxa de acerto de um classificador ou umamedida da separabilidade entre as classes quando utilizadasapenas as características do subconjunto. Entreas principais dificuldades encontradas na <strong>sel</strong>eção estãoo grande número possível de combinações de característicase o alto esforço computacional para o cálculo deJ(·). Além disso, a função critério não apresenta comportamentosimples. Por exemplo, um subconjunto detamanho dois pode conter características que, sozinhas,apresentam valores baixos para J(·), mas, quando usadasjuntas, permitem uma boa separação entre as classes.Há também a maldição da dimensionalidade, queocorre quando há poucos padrões na base de dados paramuitas características, o que dificulta o trabalho de umclassificador e faz com que o aumento do número de característicasabaixe o valor de J(·).Quando se utiliza a taxa de acerto de um classificadorcomo função critério, o subconjunto encontrado émais próximo do ideal, principalmente se o mesmo classificadorfor utilizado em tarefas seguintes com a basede dados em analise. Porém, medidas como a distânciade Bhattacharyya [1] são, em geral, calculadas maisrapidamente pelo computador e apresentam resultadossatisfatórios. Além do mais, devido à monotonicidade,essa função pode ser utilizada pelo <strong>br</strong>anch-and-bound(BB), que é um algoritmo de <strong>sel</strong>eção capaz de encontrarum subconjunto ótimo com eficiência muito maiordo que a bu<strong>sc</strong>a exaustiva [1, 13].Na Seção 2 são mostradas diversas abordagens para<strong>sel</strong>eção de características. Técnicas para acelerar o cálculoda distância de Bhattacharyya são apresentadasna Seção 3. Algumas variações do BB são de<strong>sc</strong>ritas naSeção 4. Resultados são apresentados nas Seções 5 e 6por meio da comparação de desempenho entre duas variaçõesdo BB e de um exemplo de aplicação de <strong>sel</strong>eçãode características em segmentação de imagens.2. Trabalhos RelacionadosDiversos algoritmos de <strong>sel</strong>eção já foram propostos ecomparados [4, 6]. Algoritmos genéticos são os mais indicadosem muitos casos [6, 12]. A interpretação dospesos das conexões de redes neurais é uma abordagempouco utilizada, mas que pode apresentar ótimosresultados[11, 9]. Existem ainda os algoritmos de bu<strong>sc</strong>aseqüencial [5]. No sequential forward <strong>sel</strong>ection (SFS), apartir do subconjunto vazio, características são adicionadasuma a uma até atingir o tamanho de subconjuntodesejado. Em cada iteração, a “melhor” característicaé e<strong>sc</strong>olhida. Neste artigo, uma característicaé melhor do que outra quando, no caso de ser adicionadaa um subcojunto, gera um outro subconjuntocom pontuação (valor de J(·)) maior ou, no caso deser removida, gera um subconjunto com pontuação menor.O sequential backward <strong>sel</strong>ection (SBS) éanálogo,masa<strong>sc</strong>aracterísticas são removidas do conjunto completo.Esses dois algoritmos podem de<strong>sc</strong>artar característicaboas em momentos errados devido às proprieda-94


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.des da função critério. Os algoritmos sequential floatingforward <strong>sel</strong>ection (SFFS) e sequential backward floating<strong>sel</strong>ection (SBFS) [10] procuram resolver esse problemaadicionando e depois removendo características repetidamenteseguindo determinadas regras. Com isso, a soluçãoobtida costuma ser igual ou próximodaótima.Porém, a garantia de ótimo só pode ser conseguida coma bu<strong>sc</strong>a exaustiva ou algum algoritmo que verifique todasos subconjuntos possíveis. O BB é capaz de cumpriresse papel [8], mas é restrito a funções critério monotônicas,o que não é uma grande desvantagem, jáque há funções monotônicas que avaliam bem subconjuntosde características. Vale destacar que uma e<strong>sc</strong>olhaótima éemrelação a algum critério. Um subconjuntoótimo em relação àdistância de Bhattacharyyanão é necessariamente o melhor subconjunto para determinadoclassificador e base de dados.3. Distância de BhattacharyyaA distância de Bhattacharyya B h,i [1] para medir aseparabilidade entre as classes h e i com distribuiçãonormal éV m = M i − M h ,S m = C h + C i,2B h,i = 1 8 V T m S −1m V m + 1 2 ln |V m |√|Ch ||C i | , (1)sendo que M h e M i são os vetores de médias (com melementos cada) e C h e C i são as matrizes de covariância(de ordem m × m, pois há m características).Quando a distância de Bhattacharyya é utilizada emalgoritmos de <strong>sel</strong>eção de características, algumas técnicaspodem tornar o processamento mais rápido. O cálculoda distância é feito a partir de M h , M i , C h e C ipara um determinado subconjunto de características.Os valores presentes nesses vetores e matrizes são encontradosem Ṁh, Ṁ i , Ċ h e Ċi, quesão os vetores demédias e as matrizes de covariância para o conjuntocompleto de características. O mesmo vale para V m eS m .Se ˙V m = Ṁi − Ṁh e Ṡm =(Ċh + Ċi) ÷ 2, entãoos valores de V m são encontrados em ˙V m eosvaloresde S m ,emṠm. Portanto, esses cálculos podem serrealizados apenas uma vez no início do programa e reaproveitadosem cada chamada de J(·).A matriz de covariância ésimétrica e semidefinidapositiva. Se nenhuma característica for linearmente dependentede outra, então é definida positiva. S m preservaessas propriedades. Assim, a maneira mais eficientede se encontrar a matriz inversa e o determinantedas matrizes de covariância é utilizando a decomposiçãode Cholesky.Como o determinante de uma matriz de covariânciamuito grande costuma resultar num valor muito pequeno,o cálculo da distância de Bhattacharyya podecausar erro de ponto flutuante. Uma estratégia para resolveresse problema é a mudança na ordem em que asoperações são realizadas. O cálculo deve então ser feitoda seguinte maneira:((√ ) (√ ))B h,i = 1 8 V m T Sm −1 V m + 1 2 ln |Vm | |Vm |√ × √ .|Ch | |Ci |Na execução do BB, como será vistoaseguir,afunçãocritério pode ser chamada para subconjuntos comapenas uma característica removida do subconjunto daiteração anterior. Isso permite o cálculo da distância deBhattacharyya recursivamente [1], o que diminui consideravelmenteo esforço computacional.Aseguir,é removida a última característica da matrizde covariância. A aplicação para as outras característicaspode ser feita pela troca da coluna e linha dacaracterística a ser removida e da m-ésima coluna e linhade S m .[ ][Sm−1 ES m =E T , S −1 F Gsm =G T gAmatrizinversadeS m−1 pode ser calculada porS −1m−1 = F − 1 g GGT .O determinante de S m−1 pode ser calculado por|S m ||S m−1 | =s − E T Sm−1 −1 E .A multiplicação presente no primeiro termo da Eq. (1)pode ser calculada recursivamente porV T m−1S −1m−1 V m−1 = V T m S −1m V m − 1 g4. Branch-and-Bound].([GTg ] V m) 2.Diversas técnicas, como programação dinâmica,já foram tentadas para se conseguir um subconjuntoótimo de maneira mais eficiente que a bu<strong>sc</strong>a exaustiva.A que apresenta o melhor desempenho éoBB,por ser capaz de realizar menos chamadas à funçãocritério e mesmo assim garantir que todos ossubconjuntos de determinado tamanho foram considerados.4.1. Branch-and-Bound BásicoA versão mais simples [8, 1] utiliza uma árvore coma raiz representando o conjunto completo de característicasY = {1, 2,...,D}, sendo D onúmero total de características.A altura da árvore será D − d + 1, sendo95


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.d onúmero de características que se deseja <strong>sel</strong>ecionar.A Fig. 1 mostra um exemplo. Uma característica éremovidaem cada níveleosnós folha representam ossubconjuntos de tamanho d. Onível da árvore, representadopor k, indica o número de características removidas.k = 0 para a raiz e k = D − d para as folhas. Amaneiracomoaárvore éconstruída, mostrada a seguir,impede a repetição de subconjuntos. q k éonúmero defilhos ou ramificaçõesdeumnódonível k. Onóraizdeve possuir q 0 = d+1 filhos. Cada nó filhorecebeumanumeração p, iniciadaemzerodaesquerdaparaadireita,e deve possuir q k = q k−1 −p filhos, sendo que q k−1éonúmero de filhos do nó pai. Em cada nó éremovidaa característica f k .Naraiz,f 0 = 0. Para o restantedos nós, f k = f k−1 + p + 1. O subconjunto correspondentea cada nóserá X k = Y \{f 1 ,f 2 ,...,f k },istoé, todasa<strong>sc</strong>aracterística<strong>sc</strong>om exclusão de {f 1 ,f 2 ,...,f k }.A bu<strong>sc</strong>a é realizada em profundidade da direita paraa esquerda. A pontuação b k do subconjunto é determinadapela chamada da função critério: b k = J(X k ).Quando a bu<strong>sc</strong>a chega ao primeiro nó folha, a pontuaçãomáxima b ∗ e o subconjunto ótimo X ∗ são atualizados:b ∗ ∗= b D−d , X = X D−d . Quando a bu<strong>sc</strong>a chegaa outros nós folha e se b D−d > b, ∗ a atualização de b∗e X ∗ é feita da mesma maneira. Pode não ser necessáriaa avaliação de todos os nós. Devido a monotonicidadede J(·), b k ≥ b k+1 . Portanto, sempre que é encontradoum nó com pontuação b k ≤ ∗ b, ocorre a poda, ouseja,todooramodaárvore que parte desse nó podeser de<strong>sc</strong>artado. No pior caso, quando não ocorre nenhumapoda, o número de chamadas de J(·) é ( D+1d+1).Oqueé muito mais do que o número de chamadas realizadasna bu<strong>sc</strong>a exaustiva, que é ( Dd). Com as diversasmelhorias já propostas, dificilmente a bu<strong>sc</strong>a exaustivasupera o BB em eficiência.4.2. Branch-and-Bound OrdenadoUma melhoria é apresentada juntamente com a propostadoBBbásico[8]. Uma modificação na construçãoda árvore coloca a remoção das piores característicasmais à direita e as melhores, mais à esquerdada árvore. Como a bu<strong>sc</strong>a é iniciada pela direita, hámais chance de pontuações altas serem encontradasmais cedo nas folhas. E as podas ficam mais prováveisem nós do lado esquerdo, levando a mais de<strong>sc</strong>artes,pois há mais ramificações nesse lado da árvore.Para construir a árvore dessa maneira, um conjuntoW = {w 0 ,w 1 ,...,w r } deve ser utilizado para armazenaras r características que ainda estão disponíveispara remoção. Inicialmente, W = Y . Antes de cada ra-Figura 1. Árvore para o BB básico com D =5e d =2.mificação de um nó donível k, as características presentesem W devem ser testadas: v n = J(X k \{w n }),n =1,...,r.O<strong>sel</strong>ementosdeW devem ser ordenadosde maneira cre<strong>sc</strong>ente de acordo com as pontuaçõesv n .Asq k primeiras características dessa ordenação sãousadas para formar os nós seguintes e removidas de W .Quando ocorre o backtracking da bu<strong>sc</strong>a em profundidade,as características devem retornar a W .Apesardaintenção ser diminuir o número de chamadas de J(·),o resultado pode ser o oposto, pois o número de de<strong>sc</strong>artespode não superar o aumento causado na ordenação.4.3. Árvore de Bu<strong>sc</strong>a MínimaNa árvore do BB, há nós com apenas uma ramificaçãoaté onó folha. Por exemplo, os nós dos subconjuntos{1, 2, 4, 5} e {1, 3, 5} daFig.1.Seosubconjuntodesse nó é avaliado, há a possibilidade de de<strong>sc</strong>artede apenas um nó folha. Portanto, é mais convenientea bu<strong>sc</strong>a ir diretamente ao nó folha, gerando umaárvore de bu<strong>sc</strong>a mínima [14]. Além da redução de chamadasde J(·) ser considerável, o cálculo para os subconjuntosdas folhas, por serem menores, émaisrápido.Porém, isso impede o uso da recursão para essesramos.4.4. Branch-and-Bound RápidoPartindo do BB ordenado e utilizando a árvorede bu<strong>sc</strong>a mínima, o BB rápido [13] procura diminuiro número de chamadas de J(·) por meio de previsões.Primeiro o algoritmo determina o quanto cadacaracterística contribui para a redução da pontuaçãoquando tal característica éremovidadeumsubconjunto.Isso é feito durante o percurso pela árvore. Um96


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.vetor A = [ a 0 ... a D] Tarmazena a média de contribuiçõesde cada característica. Sempre que ocorreuma remoção de uma característica x l de um subconjuntoX k ,amédia é atualizada por:a xl = a x ls xl + J(X k ) − J(X k \{x l }),s xl +1s xl = s xl +1,sendo que s xl deve ser iniciado com zero e representaonúmero de vezes que a contribuição para a característicax l foi determinada. Um parâmetro δ éusadopara indicar o valor mínimo que s xl deve ter para quea previsão seja feita quando ocorre a remoção de x l .A pontuação prevista então será b k+1 = Ĵ(X k\{x l })=J(X k )−a xl .Seonó for folha ou s xl ≤ δ, a previsão nãoé permitida e a função critério deve ser chamada. A ordenaçãoé realizada com base nesses valores, que podemser pontuações previstas Ĵ(·) ou pontuações reais J(·).Para o restante da bu<strong>sc</strong>a, as pontuações previstas devemser alteradas para b k+1 = J(X k )−γa xl , sendo queγ é um parâmetro para representar o grau de otimismoda previsão. Se a poda for ocorrer em um nó compontuaçãoprevista, J(·) deve ser chamado para que a pontuaçãomude para real e a ocorrência de poda deve serverificada novamente. Isso garante que a solução sejaótima. Os valores padrões para os parâmetros são δ =1e γ =1.Seγ for baixo, as previsões são de pontuaçõesaltaseaspodassão deslocadas para mais perto das folhas.Por outro lado, se γ for alto, o algoritmo tentarealizar podas mais perto da raiz. Nos dois casos, o númerode chamadas de J(·) aumenta. Porém, a reduçãode chamadas, se comparado com o BB ordenado, émuito grande.4.5. Branch-and-bound AdaptativoO BB adaptativo reúne diversas estratégias e, segundo[7], émaiseficientedoqueoBBrápido em muito<strong>sc</strong>asos, principalmente quando D > 30. Nessealgoritmo, as características são ordenadas apenasuma vez. O resultado da ordenação é colocado emZ = {z 1 ,z 2 ,...,z D }. z 1 é e<strong>sc</strong>olhida como a melhor característicado conjunto completo Y , ou seja, a característicaque resulta na menor pontuação paraJ(Y \{z 1 }). z 2 é e<strong>sc</strong>olhida como a melhor característicade Y \{z 1 }. E assim por diante, até z D . Aárvore é construída como no BB básico, mas utilizandoa ordenação de Z. Para aumentar o númerode podas, uma solução inicial com pontuação∗b inié gerada pelo SFFS. Essas duas operações iniciaisnão prejudicam a eficiência do algoritmo comoum todo, pois o número de chamadas da função critérioé pequeno se comparado com o total realizado peloBB.Como os subconjuntos próximos à raiz têm pontuaçõesmaisaltaseapodaéimprovável, a bu<strong>sc</strong>a no BBadaptativo é iniciada a partir de um determinado nívelk min . Isso evita também a chamada da função critériopara subconjuntos maiores, cujo cálculo émaislento.Esse nível é determinado pelo número mínimo das melhore<strong>sc</strong>aracterísticas que podem ser removidas do conjuntocompleto e gerar um subconjunto com pontuaçãomenor do que a solução inicial encontrada pelo SFFS:k min =argmin k J(Y \{z 1 ,z 2 ,...,z k }) < b ∗ ini .Uma nova maneira de previsão para o valor da funçãocritério é proposta:Ĵ(X k )=J(Y ) × (1 − (k/D) β ). (2)Sendo que β tem um valor para cada nó, como serámostrado a seguir. O percurso pela árvore é realizadopor meio de saltos. Quando a pontuação de um nóécalculada,é previsto em qual nível seguinte ocorrerá umapoda. Para isso, o valor de β é calculado para o nóatual porβ = log(1 − J(X k)/J(Y )). (3)log(k/D)AEq.3é obtida da Eq. 2, mas com J(·) no lugar deĴ(·). Supõe-se que o valor de β é aproximadamente omesmoparaosnós seguintes. Então, o nível em queprovavelmente ocorrerão podas é estimado por⌉k =⌈D × (1 − b/J(Y ∗ )) 1/β . (4)AEq.4também éobtidadaEq.2,ma<strong>sc</strong>omb ∗ no lugarde Ĵ(·). Se k>(D − d), o salto éfeitoparaonível dosnós folha.5. Comparação entre AlgoritmosOs algoritmos implementados e comparados foram abu<strong>sc</strong>a exaustiva, o BB ordenado e o BB rápido. Os parâmetrospara o BB rápido foram δ =5eγ =1,1. Osprogramas foram e<strong>sc</strong>ritos 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 Wi<strong>sc</strong>onsin Diagnostic Breast Cancerobtida no UCI Machine Learning Repository, com30 características e duas classes. Para a medição dotempo de execução da bu<strong>sc</strong>a exaustiva, foi feita uma estimativapela multiplicação de ( )30d pelo tempo de cálculoda distância de Bhattacharyya para um subconjuntode tamanho d.97


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.(a)(b)Figura 2. Resultados dos experimentos.Os resultados da comparação pelo número de chamadasde J(·) pode ser visto na Fig. 2(a). Esse tipode avaliação é amplamente feita em comparações de algoritmosde<strong>sel</strong>eçãode características, pois independeda velocidade de processamento e reflete bem o tempototal de execução. Os resultados obtidos assemelhamsebastante ao que é apresentado em [13]. Quanto aostempos de execução medidos, mostrados na Fig. 2(b),pode-se notar que a bu<strong>sc</strong>a exaustiva supera o BB ordenadopara d


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.(a) (b) (c) (d)(e) (f) (g) (h)Figura 3. Exemplos de segmentação. As segmentações de (a) são mostradas em (b), (c) e (d) e assegmentações de (e) são mostradas em (f), (g) e (h).ainda poderão ser feitas. Uma nova maneira de construçãoda árvore, por exemplo, pode aumentar agrupamentosem nós mais próximos das folhas, aumentoonúmero de de<strong>sc</strong>artes por poda. Da maneira como éconstruída atualmente, alguns nós folha só podem serde<strong>sc</strong>artados em podas próximas da raiz, que têm poucaprobabilidade de ocorrer. A aplicação de <strong>sel</strong>eção emsegmentação de imagens mostra que a redução da dimensionalidaderealmente pode melhorar a classificaçãoe que há características mais apropriadas para diferentesbases de dados.Referências[1] K. Fukunaga. Introduction to Pattern Recognition -Second Edition. Academic Press, 1990.[2] M. M. Galloway. Texture analysis using gray level runlengths. Computer G raphics Im age P rocessing, 4:172–179, 1975.[3] R. M. Haralick, K. S. Shanmugan, and I. Dunstein.Textural features for image classification. IEEE Transactionson System s,M an,and Cybernetics, 3(6):610–621, 1973. HARALICK73.[4] A. Jain and D. Zongker. Feature <strong>sel</strong>ection: Evaluation,application, and small sample performance. IEEETransactions on P attern Analysis and M achine Intelligence,19(2):153–158, 1997.[5] J. Kittler. Feature set search algorithms. In C. H.Chen, editor, Pattern R ecognition and Signal P rocessing,pages 41–60. Sijthoff & Noordhoff, 1978.[6] M. Kudo and J. Sklansky. Comparison of algorithmsthat <strong>sel</strong>ect features for pattern classifiers. Pattern Recognition,33(1):25–41, 2000.[7] S. Nakariyakul and D. P. Casasent. Adaptive <strong>br</strong>anchand bound algorithm for <strong>sel</strong>ecting optimal features.Pattern Recognition Letters, 28(12):1415–1427, <strong>2007</strong>.[8] P. M. Narendra and K. Fukunaga. A <strong>br</strong>anch and boundalgorithm for feature subset <strong>sel</strong>ection. IEEE Transactionson C om puters, 26(9):917–922, 1977.[9] R. Nath, B. Rajagopalan, and R. Ryker. Determiningthe saliency of input variables in neural network classifiers.Computers & Operations Research, 24(8):767–773, 1997.[10] P. Pudil, J. Novovičová, and J. Kittler. Floating searchmethods in feature <strong>sel</strong>ection. Pattern RecognitionLetters, 15(10):1119–1125, 1994.[11] D. P. d. Santos. Seleção de características: Abordagemvia redes neurais aplicada àsegmentação de imagens.Dissertação de mestrado, Departamento de Ciênciasde Computação do ICMC-<strong>USP</strong>, <strong>2007</strong>.[12] W. Siedlecki and J. Sklansky. A note on genetic algorithmsfor large-<strong>sc</strong>ale feature <strong>sel</strong>ection. Pattern RecognitionLetters, 10(5):335–347, 1989.[13] P. Somol, P. Pudil, F. Ferri, and J. Kittler. Fast <strong>br</strong>anchbound algorithm in feature <strong>sel</strong>ection. In 4th WorldMulticonference on System ics,Cybernetics and Informatics,volume 7, pages 646–651, 2000.[14] B. Yu and B. Yuan. A more efficient <strong>br</strong>anch and boundalgorithm for feature <strong>sel</strong>ection. Pattern R ecognition,26(6):883–889, 1993.99


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Reconhecimento de Sinus Frontais Utilizando a Transformada Imagem-FlorestaDiferencial e o Contexto da Forma1 Juan Rogelio Falguera, 2 Fernanda P. S. Falguera,3 Aparecido Nilceu MaranaUNESP – Faculdade de Ciências – Departamento de Computação – Bauru – SP – Brasil{ 1 juan.falguera, 2 fernanda.sartori}@mstech.com.<strong>br</strong>3 nilceu@fc.unesp.<strong>br</strong>ResumoDiversos métodos biométricos baseados emcaracterísticas do corpo humano como impressãodigital, face, íris e retina têm sido propostos paraidentificação humana. No entanto, para a identificaçãode cadáveres, tais medidas biométricas podem não estardisponíveis. Nestes casos, partes do esqueleto do corpohumano podem ser utilizadas para identificação, tai<strong>sc</strong>omo registros dentários, tórax, vérte<strong>br</strong>as, om<strong>br</strong>os e osinus frontal. Foi demonstrado por investigaçõesanteriores que o padrão do sinus frontal é altamentevariável e único para cada indivíduo. Este artigoapresenta um método de reconhecimento de sinusfrontais, para identificação humana, baseado naTransformada Imagem-Floresta e no contexto da forma.Resultados experimentais obtidos (EER = 5,82%)mostram a efetividade do método proposto.1. IntroduçãoO sinus frontal (ou seios frontais da face) estálocalizado no osso frontal do crânio e consiste emcavidades loculadas e irregulares que se comunicam coma fossa nasal através do infundibulum [1].O sinus frontal se desenvolve em<strong>br</strong>ionariamente deuma célula etmoidal e não é visível ao na<strong>sc</strong>imento. Elecomeça a se desenvolver a partir do segundo ano de vidae 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 únicapara cada indivíduo [1,2,3,4] e é controlada por fatoresgenéticos e ambientais. Variações do sinus frontal foramregistradas na literatura até mesmo para gêmeosmonozigóticos [2,3].A Figura 1 apresenta imagens de radiografias emincidê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ãobastante di<strong>sc</strong>riminativas.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 sinusfrontal têm estimulado diversas pesquisas so<strong>br</strong>e apossibilidade de identificação de pessoas por meio daanálise de medidas biométricas dessa característica física,obtidas de radiografias. Shuller [2] foi o primeiroinvestigador a sugerir, em 1943, a possibilidade deidentificação de pessoas através da comparação deradiografias do sinus frontal.100


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Recentemente, Kirk et al. [4] desenvolveram umestudo retrospectivo de 39 casos de identificação deesqueletos através da região do sinus frontal.Ribeiro [5] propôs um método padrão manual demedição de radiografias de sinus frontal em humanos.Ele reportou resultados positivos da aplicação de seumétodo so<strong>br</strong>e um banco de dados contendo 500radiografias.Marana et al. [6] investigaram de<strong>sc</strong>ritores de sinusfrontais visando estabelecer os melhores de<strong>sc</strong>ritores paraserem utilizados em sistemas de identificação automáticaou semi-automática. Nesta investigação, o melhorresultado (EER = 11,56%) foi obtido quando a<strong>sc</strong>aracterísticas: área, largura e diâmetro de Feret dasformas dos sinus frontais, foram utilizadas comode<strong>sc</strong>ritores.O objetivo deste trabalho é investigar, além da<strong>sc</strong>aracterísticas mais apropriadas, os melhores algoritmosde segmentação, a fim de diminuir as taxas de erro para oreconhecimento de sinus frontais, enquanto minimiza-sea intervenção humana durante o processo.2. Transformada Imagem-FlorestaDiferencialO algoritmo baseado na Transformada Imagem-Floresta Diferencial (DIFT) para segmentação deimagens foi proposto por Falcão e Bergo [7]. Essealgoritmo reduz o problema de segmentação de imagensao cálculo de florestas de caminhos de custo mínimo nografo derivado da imagem. A bu<strong>sc</strong>a por caminhos decusto mínimo é restringida a caminhos que se originamem um conjunto de pixels iniciais, denominadossementes [7,8].A função que determina o custo do caminho de umvértice do grafo até outro, é a diferença entre os níveis decinza dos pixels que são representados pelos vértices.Dessa forma, pixels com níveis próximos de cinza terãocustos menores de caminho e tenderão a se conectar aocaminho com o qual tenham maior grau de similaridade.Portanto, com a utilização desse algoritmo, aintervenção do usuário durante a segmentação daimagem é reduzida à e<strong>sc</strong>olha de algumas sementes dentroeforadaáreadeinteresse.Assemente<strong>sc</strong>ompetemporvértices no grafo a cada iteração e geram, ao final,regiões internas e externas à área de interesse cujospixels terminais delimitam o objeto [8].A Figura 2 apresenta um grafo de uma imagembidimensional em tons de cinza, com vizinhança 4. Osnúmeros correspondem às intensidades I(p) dospixelseos círculos maiores denotam duas sementes: uma internaao objeto que se deseja segmentar, um retângulo nocentro 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 customínimo para o grafo da Figura 2, usando como função decusto, C(p,q) = I(q) - I(p), ondeI(p) é a intensidade deum pixel e I(q) é a intensidade do seu pixel predecessor.Os números mostrados na Figura 3 são os valores decusto.A segmentação do retângulo no centro da imagem éobtida pela árvore enraizada na semente interna. As setasda Figura 3 apontam para o predecessor do vértice nocaminho ó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, ousuário pode acre<strong>sc</strong>entar mais sementes dentro ou fora daárea de interesse e executar novamente o algoritmo, queao 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 formadiferencial, em tempo proporcional ao número de vérticesnas regiões modificadas da floresta, reduzindo em até dezvezes o tempo de cada execução, em relação ao algoritmoIFT original [8].101


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.3. Segmentação de Sinus FrontaisA segmentação do sinus frontal a partir de umaradiografia AP do crânio tem se mostrado como a etapamais complexa da tarefa de automatização doreconhecimento de sinus frontais, uma vez que as bordasdos sinus frontais são muito difíceis de serem detectadas,devido às interferências de outras estruturas craniais e aalguns outros tipos de ruídos. Mesmo para especialistasem Radiologia, esta pode ser uma tarefa difícil.Com a intenção de reduzir ao máximo o número deintervenções do usuário durante o processo desegmentação do sinus frontal, o algoritmo DIFT [7,8] foiadotado.A Figura 4(b) exibe a segmentação manual do sinusfrontal obtida, sob supervisão de um radiologista, a partirda imagem da radiografia apresentada na Figura 4(a). AFigura 4(c) apresenta a segmentação do sinus frontal daFigura 4(a), obtida utilizando-se o algoritmo DIFT. Épossível observar que a segmentação obtida peloalgoritmo é bastante similar à segmentação manualobtida sob a supervisão de um especialista humano. Notena Figura 4(c) as sementes internas e externas definidaspelo usuário.Após a segmentação do sinus frontal, apenas ospontos da borda são armazenados para a realização dasetapas seguintes.A Figura 5(c) mostra o histograma da distribuiçãoobtido para o ponto da borda <strong>sel</strong>ecionado na Figura 5(b).Quanto mais e<strong>sc</strong>ura a posição no histograma, maior é aocorrência de pontos da borda naquele ângulo edistância.(a)(b)4. Contexto da FormaO Contexto da Forma (Shape Context) é um de<strong>sc</strong>ritorde formas proposto por Belongie et al. [9]. Dado umponto p pertencente a uma borda, esse de<strong>sc</strong>ritor captura adistribuição polar-logarítmica dos demais pontos daborda em relação a p, proporcionando uma caracterizaçãoglobal e di<strong>sc</strong>riminativa 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 alinhamentoentre os pontos de suas bordas. Quanto mais diferentesforem as formas dos objetos, maior será o custo doalinhamento.A Figura 5(a) apresenta o diagrama do histogramapolar-logarítmico utilizado para calcular o contexto daforma para cada ponto da borda em relação aos demaispontos. Neste exemplo, o histograma é composto por 5compartimentos log r e 12 ângulos , totalizando 60compartimentos.A Figura 5(b) apresenta a imagem de uma borda desinus frontal, na qual se ilustra o cálculo do histogramapolar-logarítmico de um dos pontos da borda.(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 semiautomáticado sinus frontal apresentado em (a)utilizando o algoritmo DIFT (utilizando-se 8 sementesexternas e 17 sementes internas).5. Reconhecimento de Sinus FrontaisPara o reconhecimento do sinus frontal, foi adotadoneste trabalho o método baseado nos de<strong>sc</strong>ritores decontexto da forma nas fases de alinhamento ecomparação das bordas dos sinus frontais extraídas dasimagens segmentadas.102


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.(a)(b)(c)Figura 5. (a) Diagrama do histograma polarlogarítmicoutilizado para computar o contexto daforma; (b) Ilustração do cálculo do histograma polarlogarítmicopara 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 obtidopara eles, utilizando os de<strong>sc</strong>ritores dos contextos daforma para cada um dos pontos pertencentes às suasbordas, detectadas utilizando-se o algoritmo baseado naTransformada de Imagem-Floresta Diferencial. Quantomenor o custo, maior o grau de similaridade entre ossinus frontais.Dadosdoispontosp i e p j, pertencentes a cada uma dasbordas sendo comparadas, como os contextos das formasassociados a cada ponto são distribuições representadaspor histogramas, é natural utilizar-se o teste estatístico 2 , dado pela equação (1), para calcular o custo decasamento entre os pontos p i e p j , onde h i (k) e h j (k)denotam os histogramas normalizados dos pontos p i e p j ,respectivamente, e K representa a quantidade decompartimentos do histograma.Cij12K k 1hi( k) hj( k)h ( k) h ( k)6. Resultados Experimentaisij2(1)O desempenho do método proposto para oreconhecimento de sinus frontais foi avaliado em umbanco de dados contendo 90 radiografias AP de 29indivíduos com mais de 20 anos de idade. No conjunto deradiografias há pelo menos duas imagens de radiografiaspara cada indivíduo.Durante os experimentos realizados, inicialmente, asimagens de todas as radiografias do banco de dadosforam segmentadas, utilizando-se o algoritmo baseado nométodo DIFT, para se obter as bordas de todos os sinusfrontais. As Figuras 6(a), 6(b), 6(c) e 6(d) exibem assegmentações obtidas para algumas imagens deradiografias do banco de dados (as radiografiasapresentadas na Figura 1).Após a segmentação das imagens, foram realizada<strong>sc</strong>omparações entre todas as bordas genuínas, ou seja,bordas de sinus frontais do mesmo indivíduo, gerando-sepontuações para cada comparação. Também foramobtidas as pontuações para todas as comparações debordas impostoras, ou seja, bordas de sinus frontais depessoas diferentes.Com as pontuações obtidas nas comparações entresinus frontais genuínos e impostores, foi possível gerar a<strong>sc</strong>urvas ROC (Receiver Operating Characteristic). A<strong>sc</strong>urvas ROC relacionam a taxa de falsa aceitação emoposição à taxa de falsa rejeição para diversos valores delimiar, proporcionando um método eficiente decomparação entre diferentes métodos biométricos.A Figura 7 mostra a curva ROC obtida nosexperimentos 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 nosexperimentos 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 (EqualError Rate) de 5,82% para o banco de dados utilizado.7. ConclusãoO método proposto para o reconhecimento de sinusfrontais utilizando DIFT e contexto da forma obteveresultados muito bons em nossos experimentos.Resultados estes melhores que os reportados por Marana103


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.et al. [6], quando foram utilizados área, largura ediâmetro de Feret como de<strong>sc</strong>ritores de forma dos sinusfrontais.O sucesso do método deve-se em grande parte àeficácia do algoritmo DIFT, utilizado no estágio desegmentação, que proporcionou segmentações bastantepróximas às segmentações manuais obtidas sob asupervisão de um especialista da área de radiologia.Figura 6. Segmentações dos sinus frontais das imagensapresentadas na Figura 1, por meio do método DIFT.Os pontos pretos e <strong>br</strong>ancos representamrespectivamente as sementes internas e externasdefinidas pelo usuário.Os resultados experimentais obtidos corroboram osde<strong>sc</strong>ritos na literatura so<strong>br</strong>e a viabilidade da utilização deinformações dos sinus frontais como uma alternativa paraidentificação humana em aplicações forenses.Como continuidade deste trabalho, serão investigadosnovos de<strong>sc</strong>ritores dos sinus frontais e novos algoritmospara comparação de formas, visando reduzir ainda maisas taxas de erro.(a)(b)FARFigura 7. Curva ROC FAR x GAR para o métodoproposto de reconhecimento de sinus frontais.(c)FRRGARFAR(d)Figura 8. Curva ROC FAR x FRR para o métodoproposto de reconhecimento de sinus frontais.104


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.AgradecimentosOs autores agradecem a Dra. S. L. Brooks e o Dr. J.McNamara, da Universidade de Michigan, EUA, pelasimagens de radiografias de sinus frontais, e a Dra. FlaviaCasedei, do Hospital Estadual de Bauru, por suacolaboração durante a segmentação manual dos sinusfrontais.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-raypictures 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.. SkeletalIdentification Using the Frontal Sinus Region: ARetrospective Study of 39 Cases. J Forensic Sci 2002,47(2):318-323.[5] Ribeiro, F. A. Q.. Standardized measurements ofradiographic films of the frontal sinuses: An aid toidentifying 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 SinusIdentification System, Anais do II Workshop de VisãoComputacional, <strong>USP</strong> - São Carlos, 2006. p. 93-98.[7] Falcão, A. X. and Bergo, F. P. G.. Interactive volumesegmentation with diferential image foresting transforms.IEEE Trans. on Medical Imaging, 23(9):1100-1108, 2004.[8] Miranda, P. A. V., Segmentação de Imagens pelaTransformada Imagem-Floresta, Dissertação de Mestrado,IC-UNICAMP, January 15th 2006.[9] Belongie, Serge; Malik, Jitendra; Puzicha, Jan. ShapeMatching and Object Recognition using Shape Contexts.IEEE Transactions on Pattern Analysis and MachineIntelligence, April 2002, vol. 24, No. 24, p. 509-522.105


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Otimização do Processamento de Imagens Médicas: Uma Abordagem UtilizandoJavaPri<strong>sc</strong>ila T. M. Saito, Ricardo J. Sabatine,Fátima L. S. Nunes, Kalinka R. L. Jaquie CasteloBrancoUnivem – Centro Universitário Eurípides de MaríliaAv. Hygino Muzzi Filho 529, CEP 17509-901, Marília, SP{psaito, sabatine, fatima, kalinka}@univem.edu.<strong>br</strong>AbstractThis paper aims at demonstrating the use of paralleldistributed computing to improve the execution time ofalgorithms used to the medical image processing. Imageprocessing techniques were implemented in the sequentialand parallel way by using the program language Javaand the parallel virtual li<strong>br</strong>aries mpiJava and JPVM.Smoothing and edge detection algorithms wereimplemented in the special domain, using different size ofmasks. After the implementation, it was possible to makea comparison between the sequential and parallelapplication, that permitted to evaluate and to demonstratethe gain using distributed parallel computing.1. IntroduçãoO processamento de imagens é amplamente utilizadoem muitas aplicações. Essa área de conhecimento exigeintenso poder computacional, visto que as imagensapresentam, em sua grande maioria, tamanho elevado,constituindo grande volume de dados a seremprocessados.Quando o contexto trata de imagens médicas, estaquestão é ainda mais crítica, uma vez que aplicaçõesmédicas, em geral, requerem curto tempo de resposta enão se pode permitir armazenamento com perdas dedados. 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 podercomputacional para o processamento desse tipo deimagem pode ser atendida por meio do uso de sistemasdistribuídos e de bibliotecas de passagem de mensagens,que viabilizam a computação paralela distribuída.2. Computação Paralela DistribuídaO aumento da utilização de sistemas computacionaisdistribuídos, associado aos conceitos de computaçãoparalela, permite que tarefas possam ser realizadasexplorando maior potência computacional com relevanteredução dos custos.Apesar de possuir um meio de comunicação mais lentoquando comparada à comunicação em uma máquinamassivamente paralela, fator que degrada o desempenho,a computação paralela distribuída tem sido utilizada comsucesso para paralelizar aplicações que possuam poucanecessidade de comunicação entre os processos.Existem diversos ambientes de passagens demensagens especializados em fornecer recursosnecessários à programação paralela, entre eles o MPI(Message Passing Interface) e o PVM (Parallel VirtualMachine).Com o surgimento da linguagem Java, inúmeraspropostas foram apresentadas para a utilização dessasbibliotecas nessa linguagem podendo-se citar o mpiJava[1] e o JPVM (Java Parallel Virtual Machine) [3], queconstituem os ambientes de passagem de mensagensutilizados neste trabalho.A e<strong>sc</strong>olha desses ambientes para o processamentoparalelo dos algoritmos vem em decorrência do uso dalinguagem Java que contém fatores como portabilidade,permitindo a independência de plataforma, simplicidade,clareza nos códigos e a existência de bibliotecasespecializadas que possibilitam o reúso de código,facilitando a construção de aplicações nos mais diversosdomínios, como é o caso do processamento de imagens.3. Processamento de Imagens MédicasA finalidade das imagens médicas é auxiliar nacomposição do diagnóstico de anomalias e fornecermaterial para acompanhamento de terapias [6].Técnicas de processamento de imagens são aplicada<strong>sc</strong>om o objetivo de melhorá-las e extrair informações úteisaos diagnósticos.Existem inúmeros métodos de processamento deimagens. A e<strong>sc</strong>olha de procedimentos a serem aplicadosdepende do objetivo que se deseja em relação a umadeterminada categoria de imagem.106


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Para este trabalho, inicialmente foram e<strong>sc</strong>olhidastécnicas de suavização e de detecção de bordas,largamente utilizadas nos sistemas de auxílio aodiagnóstico, a fim de verificar a relação custo/benefíciodecorrente da aplicação da computação paraleladistribuída.3.1. SuavizaçãoFiltros de suavização são utilizados em uma etapa depré-processamento para a redução de ruídos e para aremoção de pequenos detalhes de uma imagem antes daextração de objetos [4]. Entre as técnicas mais comuns desuavização estão os filtros de média e mediana.A filtragem mediana usada neste artigo [4], consiste emsubstituir o valor de um determinado pixel pelo valormediano da sua vizinhança que é o valor central obtidoquando se ordena os pixels da vizinhança.Na Figura 1 são apresentados exemplos da aplicaçãoda filtragem mediana em imagens médicas.(a) (b)(c) (d)Figura 1 - Exemplos de suavização utilizando o filtromediana. (a) imagem mamográfica original; imagemsuavizada (b) má<strong>sc</strong>ara 3x3; (c) má<strong>sc</strong>ara 5x5; (d)má<strong>sc</strong>ara 7x7.3.2. Detecção de BordasA detecção de bordas é outro exemplo de algoritmoque usa operações baseadas em vizinhança. Representaruma imagem por meio de suas bordas pode ser vantajoso,para muitos esquemas na área médica, visto que as bordasfornecem informações úteis para a composição dediagnósticos.Para avaliação neste artigo foi utilizado o algoritmo dedetecção de bordas fazendo uso dos operadores de Sobelmodificado [4]. Estes calculam o valor absolutoaproximado do gradiente em cada ponto da imagemanalisada, deixando em maior evidência as áreas cujafreqüê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 obtidocom a aplicação desses operadores.(a) (b) (c)Figura 2 – Exemplos de detecção de bordas pelosoperadores de Sobel modificado com diferentestamanhos de má<strong>sc</strong>aras. (a) imagem original; (b)má<strong>sc</strong>ara 9x9; (c) 11x11.4. Um Modelo de Paralelismo para oProcessamento de ImagensO requisito básico de um sistema de processamentoparalelo de imagens consiste em uma infra-estrutura quepermita executar de forma eficiente quaisquer algoritmosde nível baixo, médio ou alto. Essa infra-estrutura écomposta essencialmente de funções de comunicação edistribuição de dados adequados ao processamento deimagens [2].Os filtros executados no domínio espacial, quemanipulam diretamente os pixels que compõem a imagem,são os mais utilizados devido à facilidade deimplementação, porém exigem alto poder deprocessamento, visto que as imagens constituem, namaioria das vezes, matrizes enormes de pontos a seremconsiderados.É neste contexto que as técnicas de processamento deimagens e, em especial, aquelas desenvolvidasespecificamente para aplicação em imagens médicas,podem se beneficiar dos conceitos de paralelização. Aimportância do paralelismo é ainda mais realçada vistoque esta classe de imagens, quando destinada aodiagnóstico, não pode permitir armazenamento comperdas de dados. Além disso, muitas vezes, exigemprecisão na sua aquisição gerando um volume ainda maiorde dados.Uma proposta de paralelização eficiente é a divisão daimagem em blocos distribuídos pelos processadores, deforma a processá-los ao mesmo tempo.Definir o tipo de paralelismo que melhor se adapta aoprocessamento proposto é uma tarefa que permite aobtenção de melhor desempenho. No caso deste trabalhoo paralelismo de dados é o que melhor se enquadra, poisdefine-se que o processador deve executar as mesmastarefas so<strong>br</strong>e diferentes dados aproximadamente domesmo tamanho, tendo um único fluxo de controle SPMD(Single Process Multiple Data).107


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.O desafio a ser vencido, neste caso e, maisespecificamente em imagens médicas, é a divisão daimagem em blocos e a posterior junção destes sem perdasde informações, após o processamento.Considerando que no domínio espacial é comum autilização de templates deve-se prever, ainda, umaso<strong>br</strong>eposição entre os blocos a fim de que não faltemdados durante o processamento das partes de umaimagem. Após o processamento, os dados so<strong>br</strong>epostosdevem ser de<strong>sc</strong>onsiderados a fim de que não fiquemduplicados na imagem resultante.A Figura 3 ilustra uma estratégia de paralelização emque uma imagem médica é dividida em blocos pelomestre, e subseqüentemente é transmitida por meio dasbibliotecas mpiJava e JPVM aos e<strong>sc</strong>ravos. Estes têm aincumbência de processar a imagem e retransmitir osblocos já processados ao mestre, o qual os unereconstituindo-a.Figura 3. Estratégia de paralelização de imagensmédicas [7].Pode-se perceber também, nesta Figura pelo número delinhas em cada um dos blocos 1, 2 e 3, que os blocosapresentam tamanhos variados dependendo dacaracterística de cada algoritmo. Alguns algoritmosabordados neste artigo usam templates que operam so<strong>br</strong>euma vizinhança de pontos da imagem; sendo assim, hánecessidade de redundância nos blocos para oprocessamento, conforme citado (destacados em vermelhona Figura 3).5. Análise de Desempenho dos ResultadosObtidosA análise de desempenho dos algoritmos de filtro demediana e de detecção de bordas foi realizada por meio dediferentes testes reais em um ambiente paralelodistribuído controlado, composto inicialmente por 3máquinas homogêneas (Pentium IV de 2.7GHz com512Mbytes de RAM, interligadas por uma rede ethernetde 100MB/s). Posteriormente foram acre<strong>sc</strong>idas máquinasidênticas para compor um ambiente de 4 e 5 máquinas.Foram utilizadas imagens mamográficas (radiografiadas mamas) de elevado tamanho (aproximadamente 11Mb, consistindo em matrizes com tamanho médio2500X3000 pixels, no formato TIFF, com resolução decontraste de 16 bits). O filtro de mediana foi avaliado commá<strong>sc</strong>aras de tamanhos diferentes (3x3, 5x5 e 7x7)utilizando o algoritmo de ordenação shellsort. O filtro dedetecção de bordas foi executado com má<strong>sc</strong>ara detamanho 11x11.Observa-se que o tamanho da má<strong>sc</strong>ara é o que define otamanho da vizinhança a ser considerada. Dependendo dotipo da imagem, uma maior vizinhança pode levar a ummelhor resultado de processamento.Após a realização dos testes obteve-se uma média dos30 tempos de processamento tanto para aplicaçãoseqüencial quanto para a paralela para os diferentes tiposde má<strong>sc</strong>aras. Na avaliação da execução em paralelo foramefetuados testes com até cinco máquinas e, para cada umadelas, testes com até 8 processos sendo iniciados emparalelo. Isso possibilitou realizar a comparação dedesempenho de cada uma das possíveis combinações.Todos os testes foram efetuados usando as bibliotecasJPVM e mpiJava e os resultados obtidos foram avaliadosestatisticamente para comprovar seu grau de significânciapor meio do uso do teste de hipótese [5].As Figuras 4 e 5 apresentam os resultados da execuçãoseqüencial do filtro mediana bem como as execuções emparalelo do mesmo algoritmo em 3, 4 e 5 máquinasrespectivamente.Média do Tempo de Execução(ms)8000700060005000400030002000100003 4 5 6 7 8Número de ProcessosSequencial3 Máquinas4 Máquinas5 MáquinasFigura 4 – Média do tempo de execução da aplicaçãoseqüencial comparada com a aplicação paralela dofiltro de mediana de má<strong>sc</strong>ara 3x3 fazendo uso doambiente de troca de mensagens mpiJava.Pelas figuras é possível observar que o tempo deexecução do algoritmo seqüencial, quando considerada avizinhança de tamanho 3x3, é significativamente melhorque o tempo do mesmo em paralelo, tanto usando JPVMquanto mpiJava, independentemente do número de108


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.máquinas e da quantidade de processos iniciados emparalelo.Uma vez que a quantidade de cálculos efetuados pelofiltro com má<strong>sc</strong>ara 3x3 é relativamente pequena, aparalelização do mesmo não resulta em melhoria, pois seconsome mais tempo com comunicação para envio dedados através da rede do que no cálculo da má<strong>sc</strong>arapropriamente dita, ou seja, o tempo utilizado para o enviode cada parte da imagem (subvetor) é maior que o tempogasto pelos e<strong>sc</strong>ravos para realizar o processamento(formação e ordenação do vetor), o que a torna umaaplicação mais voltada para comunicação do que paraprocessamento.comprovar que o uso da computação paralela distribuídaauxilia e otimiza o uso de algoritmos de processamento deimagens com grande volume de dados.Nos casos em que o número de processos ultrapassauma unidade em cada máquina o tempo médio deprocessamento paralelo fica um pouco prejudicado nocaso da má<strong>sc</strong>ara 5x5 devido à so<strong>br</strong>ecarga nacomunicação. À medida que se aumenta o número deprocessos para certa quantidade de máquinas, odesempenho diminui, tornando-se maior que o tempomédio seqüencial. Isso acontece porque quando seaumenta o número de processos a comunicação passa aser um fator evidente de queda de desempenho.Média do Tempo de Execução(ms)8000700060005000400030002000100003 4 5 6 7 8Número de ProcessosSequencial3 Máquinas4 Máquinas5 MáquinasMédia do Tempo de Execução(ms)1000090008000700060005000400030002000100003 4 5 6 7 8Número de ProcessosSequencial3 Máquinas4 Máquinas5 MáquinasFigura 5 – Média do tempo de execução da aplicaçãoseqüencial comparada com a aplicação paralela dofiltro de mediana de má<strong>sc</strong>ara 3x3 fazendo uso doambiente de troca de mensagens JPVM.As Figuras 6, 7, 8 e 9 apresentam os resultados dasmesmas execuções anteriores levando em consideração asmá<strong>sc</strong>aras 5x5 e 7x7, respectivamente.Média do Tempo de Execução(ms)1000090008000700060005000400030002000100003 4 5 6 7 8Número de ProcessosSequencial3 Máquinas4 Máquinas5 MáquinasFigura 6 – Média do tempo de execução da aplicaçãoseqüencial comparada com a aplicação paralela dofiltro de mediana de má<strong>sc</strong>ara 5x5 fazendo uso doambiente de troca de mensagens mpiJava.Pelas figuras é possível observar que o tempo deexecução do algoritmo seqüencial a partir do uso dessasmá<strong>sc</strong>aras é significativamente pior que o tempo deexecução em paralelo, tanto usando o JPVM quanto ompiJava. Isso pode ser observado principalmente parasituações onde o número de processos equivale ou é maiorque o número de máquinas. Nesses casos pode-seFigura 7 – Média do tempo de execução da aplicaçãoseqüencial comparada com a aplicação paralela dofiltro de mediana de má<strong>sc</strong>ara 5x5 fazendo uso doambiente de troca de mensagens JPVM.Diferentemente das má<strong>sc</strong>aras 3x3 e 5x5, quandoutilizada a má<strong>sc</strong>ara 7x7, independentemente do número deprocessos iniciados (considerando um máximo de 8processos) e do número de máquinas, o tempo médioparalelo é sempre menor que o tempo seqüencial, uma vezque o processamento é alto e o aumento no número deprocessos ainda implica em ganho de desempenho so<strong>br</strong>e aso<strong>br</strong>ecarga de comunicação.Média do Tempo de Execução(ms)1800016000140001200010000800060004000200003 4 5 6 7 8Número de ProcessosSequencial3 Máquinas4 Máquinas5 MáquinasFigura 8 – Média do tempo de execução da aplicaçãoseqüencial comparada com a aplicação paralela dofiltro de mediana de má<strong>sc</strong>ara 7x7 fazendo uso doambiente de troca de mensagens mpiJava.Essa diferença e significativa melhora de desempenho,quando se usa uma arquitetura paralela distribuída, dá-se109


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.pelo fato dos cálculos efetuados pelas má<strong>sc</strong>aras seremvolumosos, garantindo uma melhoria do uso em paralelouma vez que a comunicação imposta se torna desprezívelquando comparada ao ganho em relação aos cálculosefetuados.Média do Tempo de Execução(ms)1800016000140001200010000800060004000200003 4 5 6 7 8Número de ProcessosSequencial3 Máquinas4 Máquinas5 MáquinasFigura 9 – Média do tempo de execução da aplicaçãoseqüencial comparada com a aplicação paralela dofiltro de mediana de má<strong>sc</strong>ara 7x7 fazendo uso doambiente de troca de mensagens JPVM.Na Figura 10 podem ser observados os tempos deexecução seqüencial e paralelo do mpiJava e do JPVM.Observa-se que a JPVM apresenta um melhordesempenho se comparado com a mpiJava, o que pode serum indicativo que a biblioteca JPVM possui umcomportamento relativamente melhor que a mpiJava parao filtro de mediana. De qualquer forma, em ambos o<strong>sc</strong>asos o desempenho médio da execução em paralelo ésignificativamente melhor que o da seqüencial.Média do Tempo de Execução(ms)200001800016000140001200010000800060004000200003 4 5 6 7 8Número de ProcessosSequencialmpiJavaJPVMFigura 10 – Média do tempo de execução da aplicaçãoseqüencial comparada com as aplicações paralelasdo filtro de mediana de má<strong>sc</strong>ara 7x7 fazendo uso dosambientes de troca de mensagem mpiJava e JPVM.O número de processos mostrou ser um fator muitoimportante. No caso da biblioteca JPVM, o melhornúmero de processos é o mesmo que o número demáquinas que forma a máquina virtual. Já na mpiJava, omelhor resultado é obtido quando se tem um númeromaior de processos do que o número de máquinasparticipantes. Isso é devido ao fato de que a mpiJava usaum processo mestre que é contabilizado, mas não efetua atarefa e<strong>sc</strong>rava propriamente dita.As Figuras 11 e 12 apresentam os resultados daexecução seqüencial do filtro de detecção de bordas bemcomo as execuções em paralelo do mesmo algoritmo em 4e 5 máquinas utilizando má<strong>sc</strong>ara de tamanho 11x11 comas bibliotecas mpiJava e JPVM, respectivamente.Média do Tempo de Excução(ms)1800016000140001200010000800060004000200003 4 5 6 7 8Número de ProcessosSequencial4 Máquinas5 MáquinasFigura 11 – Média do tempo de execução da aplicaçãoseqüencial comparada com a aplicação paralela dofiltro de detecção de borda de má<strong>sc</strong>ara 11x11 fazendouso do ambiente de troca de mensagem mpiJava.Média do Tempo de Execução(ms)1800016000140001200010000800060004000200003 4 5 6 7 8Número de ProcessosSequencial4 Máquinas5 MáquinasFigura 12 – Média do tempo de execução da aplicaçãoseqüencial comparada com a aplicação paralela dofiltro de detecção de borda de má<strong>sc</strong>ara 11x11 fazendouso do ambiente de troca de mensagem JPVM.É possível observar que independentemente do númerode processos iniciados, o tempo médio paralelo, tantofazendo uso do mpiJava quanto do JPVM, é sempremelhor que o seqüencial.Nas Figuras 13 e 14 são apresentados os tempos deexecução seqüencial e paralelo da mpiJava e da JPVM dofiltro de detecção de bordas em 5 máquinas, com autilização de má<strong>sc</strong>ara de tamanho 9x9 e 11x11,respectivamente. Pode-se observar que, da mesma formaque o filtro de mediana, considerando-se JPVM oumpiJava, o desempenho médio da execução em paralelo ésignificativamente melhor que o da seqüencial.Com a utilização de má<strong>sc</strong>ara de tamanho 9x9, observaseque o JPVM apresenta um melhor desempenho secomparado com o mpiJava. O mpiJava consegue ummelhor resultado que o JPVM quando o número deprocessos passa a ser maior, em uma unidade, que onúmero de máquinas utilizadas, ou seja, 5 máquinas e 6processos.110


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Já com a utilização de má<strong>sc</strong>ara de tamanho 11x11,observa-se que o mpiJava apresenta um melhordesempenho se comparado com o JPVM. Isso implica quepara se avaliar corretamente as bibliotecas novos estudosdevem ser efetuados a fim de determinar suas diferenças edefinir qual é a melhor, seja de forma geral ou específica,para alguns tipos de algoritmos de processamento deimagens.Média do Tempo de Execução(ms)200001800016000140001200010000800060004000200003 4 5 6 7 8Número de ProcessosSequencialmpiJavaJPVMFigura 13 – Média do tempo de execução da aplicaçãoseqüencial comparada com as aplicações paralelasdo filtro de detecção de borda de má<strong>sc</strong>ara 9x9fazendo uso dos ambientes de troca de mensagemmpiJava e JPVM.Média do Tempo de Execução(ms)200001800016000140001200010000800060004000200003 4 5 6 7 8Número de ProcessosSequencialmpiJavaJPVMFigura 14 – Média do tempo de execução da aplicaçãoseqüencial comparada com as aplicações paralelasdo filtro de detecção de borda de má<strong>sc</strong>ara 11x11fazendo uso do ambiente de troca de mensagemmpiJava e JPVM.6. ConclusõesPartindo-se dos resultados obtidos pode-se verificarque existe um ganho em usar o processamento paralelodistribuído quando se pensa em processamento deimagens médicas. Acredita-se que a utilização de outrosfiltros no domínio espacial também possa prover melhorasignificativa de desempenho para a versão paralelaquando comparada à execução seqüencial.Apesar do resultado não ser favorável à execuçãoparalela do filtro mediana quando aplicada a má<strong>sc</strong>ara 3x3e, em alguns, casos a má<strong>sc</strong>ara 5x5, foi possível observarque para processamentos intensos o uso do processamentoparalelo é bastante vantajoso e garante a otimização notempo de execução de algoritmos de processamento deimagens.Com base nesses resultados obtidos têm-se comotrabalhos futuros o desenvolvimento de novos algoritmosde processamento de imagens bem como a avaliação deoutros algoritmos de ordenação presentes nestesalgoritmos de processamento. Acredita-se também que aparalelização dos algoritmos de ordenação presentes nosalgoritmos de processamento de imagens possa provermelhora significativa no desempenho dos mesmos.Além disso, testes adicionais devem ser executadospara avaliar também qual das duas bibliotecas utilizadas(JPVM e mpiJava) apresenta melhor desempenho, umavez que para um mesmo filtro dependendo da má<strong>sc</strong>arautilizada houve um comportamento diferente entre asmesmas. O desenvolvimento paralelo de outros algoritmosde processamento de imagens permitirá a obtenção de umconjunto maior de dados a partir do qual informaçõespoderão ser extraídas com maior fidelidade a fim deconstruir uma base de comparação efetiva tanto no tocanteaos algoritmos quanto as bibliotecas de passagem demensagem.Referências[1] Baker, M. et al. (1998) mpiJava: A Java Interface toMPI. Submitted to First UKWorkshop on Java for HighPerformance Network Computing, Europar.[2] Barbosa, Jorge M. G. (2000) Paralelismo emProcessamento e Análise de Imagem Médica. Tese(Doutorado) apresentada ao Departamento de EngenhariaElectrotécnica e de Computadores – Faculdade deEngenharia da Universidade do Porto, p.240.[3] Ferrari, A. J.; (1998) JPVM: Network parallel computingin Java, In ACM 1998 Workshop on Java for High-Performance Network Computing, Palo Alto, Fe<strong>br</strong>uary 1998.Concurrency: Pactice and Experience.[4] Gonzalez, R. C.; Woods, R. E. (2002). Digital ImageProcessing. Addison-Wesley Publishing Company,Massachusetts, 2a. Edição.[5] Jain, R. The Art of Computer Systems PerformanceAnalysis: Techniques for Experimental Design,Measurement, Simulation, and Modeling. John Wiley &Sons, 1991.[6] Nunes, F. L. S. M. (2001) Investigações emProcessamento de Imagens Mamográficas para Auxílio aoDiagnó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ídapara Melhoria no Tempo de Processamento de ImagensMédicas. XIV E<strong>sc</strong>ola Regional de Informática da SBC -ERI-PR. Guarapuava, PR. <strong>2007</strong>, pág 36 a 47, <strong>2007</strong>.111


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Predição da maturidade óssea utilizando proporção áureaC.J. Olivete, E. L. L. Rodrigues<strong>USP</strong> / E<strong>sc</strong>ola de Engenharia de São Carlos - Departamento de Engenharia Elétrica, São Carlos, SãoPaulo, Brasil{olivete, evandro}@<strong>sel</strong>.<strong>ee<strong>sc</strong></strong>.<strong>usp</strong>.<strong>br</strong>AbstractClinical assessment of skeletal age is a frequent, but yetdifficult and time-consuming task. Automatic methods,which estimate the skeletal age from hand radiography,are currently being studied. The aim of the present studywas to verify the presence of the golden proportion amongsome ossification centers measurements of hand bone.There were used 250 hand X-rays from children’s withamong six and 15 years old. The sample was divided usingthe software Anacarp and with support of Prof. Dr.Franci<strong>sc</strong>o Haiter Neto. It was <strong>sel</strong>ected 3 ossificationcenters, generating 3 ratios. The results were analyzedusing the t-Student test (5%). Among the 3 ratios, onepresented tendency to the golden proportion in all imagedatabase.1. IntroduçãoA estimação da maturidade óssea é uma das maisimportantes aplicações da radiografia carpal na área daradiologia pediátrica. A maturidade pode ser obtida atravésda análise de características dos ossos da mão (porexemplo: dimensão dos ossos, formato dos centros deossificação), tomando como referência um método deestimativa, 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 paraestimar a idade óssea; o de T&W em padrões e e<strong>sc</strong>ores; 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 deTaffarel, Wangenhein e Silva [2], que desenvolveram umametodologia de estimação da idade óssea através daautomatização do método de T&W e o de Haiter et al. [1],que realiza um estudo com o objetivo de verificar se osmétodos de G&P, T&W e E&R podem ser aplicados àpopulação <strong>br</strong>asileira e qual destes métodos apresentamelhores resultados, na indicação da idade óssea doindivíduo. Outro estudo importante foi o de Tavano [3], emsua tese de doutorado, em 1976, na qual determinou aidade óssea de 590 crianças <strong>br</strong>asileiras (sexo ma<strong>sc</strong>ulino efeminino), através dos índices de G&P, T&W e de E&R.A análise das características utilizadas na determinaçãoda idade óssea pode ser muito trabalhosa, devido aosdiferentes níveis de intensidade que as imagensapresentam, dificultando a segmentação dos ossos (centrosde ossificação) do tecido. Outro fator que frequentementeatrapalha os procedimentos está diretamente ligado aproblemas com a aquisição das imagens. O objetivo dessametodologia é propor novas maneiras de acompanhar ocre<strong>sc</strong>imento ósseo baseando-se apenas na analise dapresença do número de ouro em determinadas dimensões(comprimentos) de alguns centros de ossificação, maisespecificadamente os pertencentes às falanges emetacarpos do terceiro dedo. Esses ossos foram<strong>sel</strong>ecionados por fazerem parte dos centros de ossificaçãoutilizados pelo método de E&R e já terem sido estudadosanteriormente em outras pesquisas, como por exemplo, notrabalho de Olivete e Rodrigues [4,6] .2. Metodologia2.1. Banco de imagensForam realizados experimentos usando o conjunto deimagens do banco de dados da EESC – <strong>USP</strong>(www.carpal.<strong>ee<strong>sc</strong></strong>.<strong>usp</strong>.<strong>br</strong>) [7] formado por imagensradiográficas da mão esquerda, de ambos os sexos, comfaixa etária de 6 a 15 anos, conforme ilustra a Figura 1. Asinformações armazenadas estão relacionadas ao nome,idade cronológica, data de aquisição da imagem, resoluçãode digitalização e laudo médico. A resolução utilizada nadigitalização das imagens foi de 96 dpi (dots per inch), demodo que cada pixel possui aproximadamente 0.0265 mm.Esta resolução foi adotada a fim de agilizar oprocessamento e por não interferir na qualidade daimagem.Distribuição dos indivíduos por idade óssea13 anos11%14 anos12%12 anos11%15 anos8%11 anos12%6 anos3%7 anos11%8 anos9%10 anos12%9 anos11%Figura 1: Distribuição das imagens de acordo com a idadeóssea.112


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.As divisões das amostras, observadas na Figura 1,foram geradas tomando como base os valores dos laudosmédicos, obtidos com a colaboração do Prof. Dr. Franci<strong>sc</strong>oHaiter Neto [1] e com o auxílio do Anacarp [4]. Todas asimagens foram laudadas tomando como base os métodosde E&R, T&W e G&P.2.2. Análise do número de ouroEsta metodologia visa analisar o cre<strong>sc</strong>imento ósseo dopaciente tomando por base a análise da presença daproporção áurea [5] nos ossos da mão, maisespecificamente os pertencentes às falanges e metacarposdo terceiro dedo (Figura 2), ou seja, o comprimento daterceira falange proximal, o comprimento da terceirafalange média e o comprimento do terceiro metacarpo.Esses ossos foram <strong>sel</strong>ecionados por fazerem parte do<strong>sc</strong>entros 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 estudoOs três fatores propostos para o conjunto de imagensdeterminaram três razões (ver Tabela 1), sendo que aproporção é feita sempre entre a maior medida e a menor.Após analisar a amostra verificou-se a presença do númerode ouro (ou proporção divina, ou número áureo, ouproporção áurea, etc...) apenas entre a razão representadapelas falanges proximal e média (representado por R1 naTabela 2 e ilustrada pela Figura 2).“Dois fatores diferentes, e somente dois, podemfornecer 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, quese obtêm quando a/b=1.6180 e b/a=0.6180”.[5]Tabela 1: Razões <strong>sel</strong>ecionadasRazão Fator 1 Fator 2R1 Terceira falange proximal Terceira falange médiaR2 Terceiro metacarpo Terceira falange médiaR3 Terceiro metacarpo Terceira falange proximalA Figura 2 traz o posicionamento da razão R1 dentrodos ossos da mão.Figura 2: Razão R1 – relação entre o comprimento da terceirafalange proximal e o comprimento da terceira falange médiaA fim de verificar se esta estimativa poderia representaro número áureo (1,618), aplicou-se o teste t de Student,adotando-se 5% de significância. Por meio deste teste, paracada razão, o valor estimado correspondente às fases decre<strong>sc</strong>imento 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| daTabela 2 e Tabela 3). Para ilustrar a aplicação deste teste, éapresentada na Tabela 2, uma parte dos resultados dessaanálise (utilizando a razão R1). O mesmo teste foiconduzido para as razões R2 e R3 e, em ambos os casos, osresultados obtidos quanto à estimativa óssea foraminsatisfatórios, ou seja, ficaram fora da faixa designificância. Os resultados para a razão R2 sãoapresentados na Tabela 3 e, os da razão R3 não foramapresentados por apresentarem resultados insatisfatórios.Tabela 2: Análise da razão entre os fatores <strong>sel</strong>ecionados –razão R1ImagemF1/F2 (F1+F2)/F1(A) (B)F2/F1 |A - B|1 1.6694 1.5990 0.5990 0.07042 1.6161 1.6188 0.6188 0.00273 1.6175 1.6182 0.6182 0.00074 1.6122 1.6203 0.6203 0.00805 1.6198 1.6173 0.6173 0.00256 1.7008 1.5879 0.5879 0.11297 1.6199 1.6173 0.6173 0.00258 1.7167 1.5825 0.5825 0.13429 1.6186 1.6178 0.6178 0.0008F1: Comprimento da terceira falange proximalF2: Comprimento da terceira falange média|A - B|: Diferença, em módulo, dos dois fatores que fornecem aproporção áureaOs valores em negrito (última coluna) indicam estimativas forada faixa de significância (maior que 0.05) do número áureo.113


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Tabela 3: Análise da razão entre os fatores <strong>sel</strong>ecionados –razão R2ImagemF1/F2 (F1+F2)/F1(A)(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.02946 1.5182 1.6587 0.6587 0.1405F1: Comprimento do terceiro metacarpoF2: Comprimento da terceira falange média|A - B|: Diferença, em módulo, dos dois fatores que fornecem aproporção áureaOs valores em negrito (última coluna da Tabela) indicamestimativas fora da faixa de significância (maior que 0.05) donúmero áureoComo pode ser visto na Tabela 2, os fatoresrepresentados pelas falanges proximais e médias (R1)apresentam a razão áurea (número de ouro) em grandeparte das imagens analisadas. Bu<strong>sc</strong>ando a análise docre<strong>sc</strong>imento humano, uma desordem pode ser notadaquando 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 obtido<strong>sc</strong>om as razões R2 (apresentados na Tabela 3) e R3 foraminsatisfatórios e de<strong>sc</strong>artados nas análises posteriores.O próximo item apresenta os resultados docomportamento da razão <strong>sel</strong>ecionada (R1), aplicada nasimagens 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&We G&P) na segunda análise.3. Resultados e Di<strong>sc</strong>ussõesPara verificação da razão R1 utilizada na avaliação docre<strong>sc</strong>imento ósseo, aplicou-se o mesmo procedimentodemonstrado na Tabela 2, para indivíduos com ocre<strong>sc</strong>imento normal (a) (quando o valor do laudo médicocoincide com a idade cronológica, levando emconsideração um desvio padrão de 6 meses), paraindivíduos com cre<strong>sc</strong>imento desordenado (b) e para a basede imagens completa (c), sem conhecimento prévio doslaudos, ou seja, aplicação de teste cego. Os gráficos daFigura 3 foram obtidos levando em consideração o laudomédico obtido por E&R.Concordância para os pacientes comcre<strong>sc</strong>imento normal - laudo de E&RErro3.45%Acerto96.55%Concordância para os pacientes comcre<strong>sc</strong>imento desordenado - laudo de E&RErro9.38%Acerto90.63%Concordância em relação à amostra geral -laudo de E&RErro6.56%Acerto93.44%(c)Figura 3: Taxa de concordância para estimação da idadeóssea utilizando proporção áurea comparada ao laudo deE&R, em pacientes com cre<strong>sc</strong>imento normal (a), desordenado(b) e para a amostra completa (c).Analisando a Figura 3 verifica-se alta concordância daproporção áurea em todos os casos. Os resultados foramsatisfatórios tanto para os pacientes com cre<strong>sc</strong>imentoordenado quanto desordenado, alcançando 96.55% deconcordância para o cre<strong>sc</strong>imento correto e 90.63% para odesordenado. Quando aplicada na amostra completa (semconhecimento prévio de laudo), obteve uma concordânciade aproximadamente 94%. O mesmo procedimento foirealizado 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çãoutilizando pacientes com cre<strong>sc</strong>imento normal,desordenado e teste cego para a amostra completa,utilizando como referência o laudo de G&P e T&W.G&PT&WConcordância Erro Concordância ErroCre<strong>sc</strong>imento 91% 9% 94% 6%normalCre<strong>sc</strong>imento 88% 12% 85% 15%desordenadoAmostracompleta91% 9% 91% 9%(a)(b)114


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Observando os dados apresentados na Tabela 4, nota-seque os resultados alcançados foram bem semelhantes comaqueles alcançados em relação ao método E&R, obtendono pior caso 85% de concordância (método de T&W) echegando a 91% no melhor caso para o método de G&P.O mesmo procedimento foi conduzido para o conjuntode imagens tomando como base o valor médio entre oslaudos médicos (E&R, G&P e T&W). Esses resultados sãoexpressos na Figura 4.Concordância para os pacientes comcre<strong>sc</strong>imento normal - média dos laudosErro1.96%Acerto98.04%Concordância para os pacientes comcre<strong>sc</strong>imento desordenado - média doslaudosErro0.00%(a)informações importantes para a análise do cre<strong>sc</strong>imentoósseo em pacientes na faixa etária de 6 a 15 anos.Das três razões analisadas, apenas a formada pelocomprimento da terceira falange proximal e terceirafalange média (razão R1) apresentou a tendência àproporção áurea em todos os casos estudados – paciente<strong>sc</strong>om cre<strong>sc</strong>imento normal, desordenado e teste cego para aamostra completa, utilizando os métodos de E&R, G&P eT&W. Estes resultados foram expressos nas Figura 3 e 4 eTabela 4, mostrando que é possível verificar o estágio decre<strong>sc</strong>imento de um indivíduo através desta proporçãoáurea.Uma outra maneira de realizar o acompanhamento docre<strong>sc</strong>imento ósseo foi feito através da presença daseqüência de Fibonacci entre as falanges e metacarpos. Osresultados obtidos foram coerentes, podendo ser analisadoo cre<strong>sc</strong>imento através desta seqüência. Por fim, também foicriada uma nova metodologia que se baseia em medidas deárea de determinados centros de ossificação para estimar aidade óssea. Os resultados podem ser observados notrabalho de Olivete e Rodrigues [6].5. ReferênciasAcerto100.00%(b)[1] HAITER, F.; KURITA, L. M.; CASANOVA, M. S. “Skeletalage assessment: A comparison of 3 methods”, American Journalof Orthodontics and Dentofacial Orthopedics, October, 2006.Concordância em relação à amostra - média doslaudosErro1.64%Acerto98.36%(c)Figura 4: Taxa de concordância para estimação da idadeóssea utilizando proporção áurea comparada à media doslaudos (E&R, G&P e T&W), em pacientes com cre<strong>sc</strong>imentonormal (a), desordenado (b) e para a amostra completa (c).Observando a Figura 4, verifica-se uma elevadaconcordância da metodologia quando a comparação levaem consideração o valor médio dos três laudos (obtidosatravés de G&P, T&W e E&R), alcançando no pior caso98.04% de concordância.4. ConclusõesAtravés dos resultados obtidos, foi possível concluirque existe a presença da proporção áurea entre algun<strong>sc</strong>entros de ossificação dos ossos da mão, trazendo[2] TAFFAREL, B.; WANGENHEIN, A. V.; SILVA, P. C. A.,“Processamento de Imagens para Análise e Estimativa deProblemas de Cre<strong>sc</strong>imento Ósseo em Crianças”, <strong>III</strong> Workshop deInformática aplicada à Saúde - CBComp 2003, UniversidadeFederal de Santa Catarina, Florianópolis, SC, Brasil, 2003.[3] TAVANO, O; Radiografias Carpal e Cefalométrica comoEstimadores da Idade Óssea e do Cre<strong>sc</strong>imento eDesenvolvimento, Bauru – Brasil, 2001.[4] OLIVETE, C.J.; RODRIGUES, E.LL., “Estimador da IdadeÓssea via Análise Carpal/Anacarp – Software para Estimação daIdade Ó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 docrânio de indivíduos com oclusão em Classe II de Angle, a partirde radiografias cefalométricas laterais”. 2003. 106f. Dissertação,Faculdade de Odontologia de São José dos Campos, UniversidadeEstadual Paulista, 2003[6] OLIVETE, C.J.; RODRIGUES, E.LL., “Determinação daIdade Óssea Através da Análise de Dimensões dos Ossos daMão”, XII CBFM – Congresso Brasileiro de Física Médica, Fozdo Iguaçu, <strong>2007</strong>.[7] Banco de Dados de Imagens Carpais – EESC/<strong>USP</strong> disponível emhttp://www.carpal.<strong>ee<strong>sc</strong></strong>.<strong>usp</strong>.<strong>br</strong>115


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Análise da Desintegração de Comprimidos por Algoritmos de Fluxo Óptico emSeqüências de Imagens de Biosu<strong>sc</strong>eptometria ACFonseca, P.R. 1 ; Corá, L.A. 1 ; Stelzer, M. 1 ; Miranda J.R.A. 1 *;1 Departamento de Física e Biofísica – Inst. Biociências de Botucatu - UNESP*e-mail: jmiranda@ibb.unesp.<strong>br</strong>ResumoA administração oral de formas farmacêuticas sólidasé comum na terapêutica e os métodos de imagem médicasão essenciais para avaliar os processos relacionado<strong>sc</strong>om a liberação do princípio ativo. A cintilografia é atécnica padrão, porém, o uso de radiação ionizante limitao número de ensaios tanto pelo custo quanto pela doseradiológica aplicada ao voluntário no caso de medidas invivo. Isso faz com que técnicas livres de radiaçãoionizante ou não-invasivas mereçam destaque.Os métodos biomagnéticos representam umaalternativa promissora na pesquisa clínica, fisiológica efarmacêutica. A Biosu<strong>sc</strong>eptometria de CorrenteAlternada (BAC) utiliza bobinas de indução para detectara variação do fluxo magnético resultante da resposta deum material magnético próximo ao sistema.Recentemente, um sistema de BAC multi-sensores foiaplicado para avaliar a desintegração de comprimidos invitro in vivo a<strong>br</strong>indo uma nova aplicabilidade paratécnicas de processamento de imagens digitais, tais comoa estimativa de movimento aparente pelo algoritmo deLucas e Kanade, também denominado fluxo óptico. Oobjetivo deste estudo foi associar esta nova técinica deimagens biomagnéticas a algoritmos de fluxo óptico paradesenvolver uma nova forma de análise do processo dedesintegração de comprimidos.Quando aplicadas as análises por fluxo óptico,obteve-se uma aplicabilidade inédita de boa qualidade naqual se quantifica a desintegração de formasfarmacêuticas sólidas não só por curvas de expansão deárea, como também por informações de movimentodetectado na seqüência de imagens. Desse modo,algoritmos de fluxo óptico podem vir a serimplementados para auxiliar no controle de qualidadepara a indústria farmacêutica.1. IntroduçãoMétodos de imagem médica como Cintilogragia [1],SQUID [2] e Ressonância Magnética [3] consagraram-secomo ferramentas básicas na pesquisa farmacêutica.Recentemente a Biosu<strong>sc</strong>eptometria de Corrente Alternada(BAC) foi proposta como técnica alternativa aos métodosatuais, que possuem alto custo operacional ou empregamde radiação ionizante, destacando-se por sua eficácia aomonitorar formas farmacêuticas sólidas (FFS)magneticamente marcadas através de imagens doprocesso de desintegração in vitro e in vivo [4].Todavia, uma análise que envolva informações so<strong>br</strong>e oarranjo espacial, a distribuição de partículas de umdeterminado traçador contido na FFS, a taxa de mudançadesse arranjo e o deslocamento das partículas durante oprocesso de desintegração ainda não foi desenvolvida.Como a informação “primária” em análises de mapasde fluxo óptico consiste justamente de informações so<strong>br</strong>eo arranjo de um sistema e a sua taxa de mudança notempo, a associação dessa metodologia aos resultadosobtidos pela BAC para avaliar a desintegração decomprimidos mostrou-se bastante promissora.2. ObjetivosBu<strong>sc</strong>ando associar esta nova técnica de imagensbiomagnéticas a algoritmos de estimativa de movimentoem seqüências de imagens, o objetivo foi avaliar adesintegração de comprimidos através de mapas de fluxoóptico, desenvolvendo uma nova forma de análise doprocesso de desintegração de formas farmacêuticassólidas.3. Materiais e MétodosA BAC tem seu princípio de funcionamento regido naLei de Indução de Faraday, onde utiliza um par debobinas de excitação e um par de bobinas de detecçãocoaxialmente arranjadas em configuração gradiométricade primeira ordem separadas por uma distância fixa (linhade base do sistema) para monitorar um material com altasu<strong>sc</strong>eptibilidade magnética (ferrita - MnFe 2 O 4 ).Cada par de bobinas (excitação/detecção) pode serconsiderado como um transformador simples de fluxomagnético com núcleo de ar, que permite a transferênciade energia eletromagnética devido ao campo magnéticoalternado gerado pela bobina de excitação so<strong>br</strong>e a bobinade detecção. Assim, o par mais próximo do materialmagnético atua como medida e o mais distante comoreferência, conforme fig. 1.116


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Figura 1: Esquema de funcionamento daBiosu<strong>sc</strong>eptometria AC.Quando não houver material magnético nasproximidades do sistema de medida, o sinal de saída sejaminimizado. Aproximando-se uma massa magnética emum dos lados do sistema, ocorrerá um desbalanceamentono fluxo magnético (resultante do acoplamento entre amassa magnética e a bobina detectora), o que permite amedida e o monitoramento deste material continuamenteatravés de amplificadores “Lock-in”, uma placa A/D de16bits e um computador.O sistema de BAC com multisensores de sete canaispossui um par de bobinas de excitação ( = 11,0cm) esete pares de bobinas de detecção ( = 3,0cm) arranjado<strong>sc</strong>oaxialmente em configuração gradiométrica de primeiraordem (fig. 2).aumentar a resolução espacial da imagem do comprimidomagnético in vitro, que será submetida a subtração debackground, ajustes de <strong>br</strong>ilho e contraste e segmentação(para medidas de área do comprimido).Os comprimidos magneticamente marcados foramobtidos por compressão direta de 1,00g de ferrita eexcipientes e em seguida revestidos por solução depolímero pH-dependente Eudragit E100. Os ensaiosforam realizados em um recipiente de teste contendo 1,0litro de solução que simula o pH gástrico (HCl 0,1N; pH1,2, 36,5ºC) que foi posicionado próximo ao sistema deBAC multi-sensores.Para estimar o fluxo óptico (que é a distribuição dasvelocidades aparentes de movimento de padrões de <strong>br</strong>ilhoem uma imagem) adotou-se o algoritmo de Lucas &Kanade [5,6], também denominado método dasdiferenças. Esse método possui bom desempenho quandoenfatizando a precisão e a densidade de medidas,conforme constam os estudos comparativos realizados porBarron et al [7] e Galvin et al [8]. Feito o préprocessamento(subtração de background e suavizaçãopor filtro Gaussiano), os gradientes espaciais sãocomputados na primeira imagem e o gradiente temporal écalculado, pela diferença entre a imagem atual e aseguinte para estimar o fluxo óptico. As imagens dostestes in vitro foram tomadas em quatro fases: dissoluçãode revestimento, início e final da desintegração eespalhamento de material. Todos os procedimentos deanálise qualitativa e quantitativa destes sinaisdigitalizados, além da obtenção e processamento dasimagens magnéticas foram realizados totalmente emambiente MatLab ® (Mathworks Inc.).4. ResultadosFigura 2: Sistema de BAC com sete sensores.A figura 3 ilustra o sinal coletado durante adesintegração de um comprimido in vitro com a indicaçãodas quatro fases da desintegração avaliadas e acorrespondência de cores ao arranjo espacial dos sensoresda BAC.Os sinais magnéticos são digitalizados (freqüência deamostragem de 10 Hz) e armazenados em formato ASCIIpara posterior processamento e análise. Conformede<strong>sc</strong>rito por Corá et al [4], cada um dos sete canais sãorepresentados espacialmente em uma matriz quadrada 7x7correspondente à configuração dos multi-sensores. A cadatrês segundos, calcula-se a média de cada canal e essevalor é atribuído ao ponto da matriz correspondente aocanal (freqüência de amostragem de 0,33 Hz). Tendo ossete pontos fixos na matriz, os demais pontos sãocalculados por média entre vizinhos e em seguida essamatriz é interpolada (256x256) pelo método spline para117


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Figura 3: Sinal de desintegração de comprimido in vitrocom a indicação das quatro fases da desintegração avaliadase sua correspondência no arranjo dos sensores da BAC.c)As ilustrações da figura 4 são uma composição daregião de interesse das imagens 1 (ao fundo) e 2(contornos em <strong>br</strong>anco) associada aos sub-mapas de fluxode alta intensidade (verde), média intensidade (vermelho)e baixa intensidade (rosa).d)a)Figura 4: Mapas e sub-mapas de fluxo óptico obtidospara 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 eestabilização do material.A figura 5.a apresenta o módulo máximo e o fluxoóptico resultante em função do tempo (em unidadesarbitrárias). Na figura 5.b o fluxo óptico resultante foinormalizado pelo módulo máximo e apresentado emfunção do tempoa)b)118


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.)bFigura 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ódulomáximo de cada imagem;5. Di<strong>sc</strong>ussãoA imagem da figura 4.a corresponde à transição deuma FFS intacta para a primeira fase do processo dedesintegração, ou seja, o fluxo óptico foi calculado entre aimagem do comprimido intacto e a imagem do mesmocomprimido quando seu revestimento está em dissoluçãopela solução ácida do recipiente de testes, com poucaexpansão de área. O fluxo óptico obtido apresentava ummovimento aparente do núcleo do comprimido para fora,ou seja, as alterações de <strong>br</strong>ilho na imagem indicavamexpansão. Quando foram gerados os sub-mapas de fluxo,notou-se que os fluxos de média e alta intensidadeestavam quase totalmente so<strong>br</strong>epostos ao fluxo resultante,o que sugere que todo o movimento detectado nestasimagens correspondia a expansões. Olhando para osvetores de baixa intensidade, nota-se que há um pequenomovimento na porção média do comprimido, também nosentido de expansão.O movimento dantes prenunciado por vetores de baixaintensidade na figura 4.a vem a se confirmar na figura4.b, que corresponde à transição entre a dissolução dorevestimento e o início da desintegração, ou seja, foicomparada a imagem obtida de quando comprimidoapresentava pouca expansão de área e ainda tinha umaparte de seu revestimento em dissolução com imagemgerada quando o comprimido já apresentava expansão emtodas as direções, mas que foram documentadas por todosos mapas de fluxos somente como um movimentoexpansivo para “fora” do comprimido e de maiorintensidade que o fluxo obtido na figura 4.a, conformeapresentado na curva de fluxo óptico resultante da figura5.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 movimentodetectado nesta comparação entre imagens também seriaencontrado ao calcular o fluxo óptico para o par deimagens seguintes, o que se confirmou na figura 4.b.Já a figura 4.b apresenta o fluxo óptico calculado paraa transição entre o início e o final da desintegração, ouseja, foram comparadas as imagens de um comprimidoque iniciou uma forte expansão volumétrica (detectadapela BAC como expansão de área) e a imagem de umcomprimido que já atingiu seu máximo de expansão,quando se considera que a força resultante que age so<strong>br</strong>eele (somatório das forças de expansão oriundasprincipalmente do desintegrante) é nula.Neste caso, o mapa de fluxo óptico resultante e ossub-mapas de alta e média intensidade obtidosapresentaram resultantes ainda voltadas à expansão docomprimido, embora com menor intensidade do que asencontradas até então. Contrariamente aos demais submapas,aquele representativo do fluxo óptico de baixaintensidade apresentou movimentos quase que aleatóriosno interior da FFS, ou seja, dos poucos movimentos debaixa intensidade detectados, não havia direção nemsentido preferenciais no núcleo da FFS. Tal“aleatoriedade” de movimentação pode ser justificadapela ausência das forças de expansão criadas pelodesintegrante e podem indicar estabilização do material(última fase do processo de desintegração).Isso se confirma quando foi comparada a imagem, docomprimido no final de sua desintegração e a imagem docomprimido com seu material já espalhado, estável(figura 4.d). Nesse instante, todos os mapas de fluxoresultaram em movimentos “aleatórios”, orientado em suamaioria contrariamente aos vetores de expansão até agoraencontrados. Isso vem a comprovar a última fase dadesintegração, ou seja, estabilização do material da FFS.Se forem computados mapas de fluxo em intervalos detempo maiores do que os considerados neste trabalhoserão encontrados os mesmos padrões de movimentos,tendendo, todavia à estabilização e conseqüente anulaçãodos 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 comportamentodas curvas demonstra que todos os movimentosdetectados nas primeiras imagens possuíam a mesmaorientação (grande valor do fluxo óptico resultante) egrande amplitude (as partículas de ferrita estavam sujeitasa maiores forças de desintegração, portanto, espalharamserapidamente), indicando um processo rápido deexpansão de área.Na segunda metade (a partir do tempo 2, em unidadesr– u.a.), a figura 5.a começa a apresentar forte queda nosvalores oriundos de somatório (fluxo óptico resultante)quanto nos valores absolutos (módulo máximo). Essecomportamento sugere que os movimentos aparentesdetectados começam a perder amplitude (queda no valordo módulo máximo) por causa da diminuição na força dedesintegração e não indica também o início de uma119


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.aleatoriedade de movimento (baixo valor da soma vetorialdo mapa), não havendo uma “direção preferencial” paraexpansão do material, confirmando estabilização domaterial e o fim do período da desintegração.Esse comportamento aleatório passa a ser oresponsável também pela “aproximação” das duas curvas,uma vez que os movimentos tornam-se cada vez maisdesorientados, o somatório passa a representarsignificativamente somente os vetores com maior módulo,ou seja, aqueles apresentados na curva em preto.Um comportamento interessante foi notado quandoforam normalizados os valores de cada vetor resultantepelo módulo máximo de cada período, resultando nacurva decre<strong>sc</strong>ente no tempo apresentada na figura 5.b.Nesta curva observa-se que o período no qual ocorreu amaior queda de intensidade normalizada correspondia aoperíodo de maior expansão de área (início dadesintegração), ou seja, conforme o comprimido sofreuuma forte expansão, os movimentos detectados (que atéentão eram bastante intensos) perderam sua intensidade eindicavam diminuição da força de expansão que agiaso<strong>br</strong>e as partículas do material magnético.Na segunda metade do sinal registrado (figura 3), osistema registra a “chegada” de material magnético no“campo de visão” do canal 4. Ao calcular o fluxo ópticopara o mesmo período (fase de estabilização do material)o vetor resultante (figura 4.d) detectou também essamudança. Para certificar tal comportamento, outra<strong>sc</strong>omparações entre imagens desta “região” do sinaldeveriam ter sido avaliadas ser feitas.É prudente lem<strong>br</strong>ar, porém, que os resultados de fluxoóptico apresentariam melhor qualidade tanto emdensidade do mapa quanto em precisão do movimentoaparente detectado se as imagens a serem comparadasfossem tomadas em intervalos de tempo menores entre si;assim como o mapa de fluxo óptico é dependente doparâmetro do vetor gaussiano utilizado durante o<strong>sc</strong>álculos, o que requer varreduras nesses parâmetros a fimde encontrar “condições ótimas” para estimar movimentoem imagens de desintegração de comprimidos obtidaspela BAC.6. ConclusãoOs resultados obtidos a partir de análises por fluxoóptico possibilitaram, de forma inédita, determinarinstantes de maior “força" de desintegração, bem comodeterminar o sentido de espalhamento do material,acompanhando a evolução de marcador para traçadormagnético, com a vantagem de associar a essa transiçãoinformações so<strong>br</strong>e a distribuição espacial do material esua variação no tempo.Esses resultados, embora oriundos de estudospreliminares, implicaram numa aplicação inédita destesrecursos de processamento digital de imagens na área defarmacotécnica, onde foram aplicados algoritmos paraestimar velocidades de desintegração baseadas nasimagens temporais. Desse modo, algoritmos de fluxoóptico podem vir a ser aplicados para auxiliar no controlede qualidade para a indústria farmacêutica. Para umfuturo trabalho espera-se conseguir também umaargumentação quantitativa dos processos biológicosenvolvidos, caminhando para de<strong>sc</strong>rever e compreendermelhor esses fenômenos relacionados à saúde humana.7. AgradecimentosOs autores agradecem o apoio das agências de fomentoFAPESP, CAPES e CNPq/PIBIC.8. Referências Bibliográficas[1] I. R.WILDING; A. J. COUPE e S.S. DAVIS“The role of -<strong>sc</strong>intigraphy in oral drug delivery” Adv.Drug Deliv. Rev., v. 46, 2001, pp. 103-124.[2] W. Weit<strong>sc</strong>hies et al “Magnetic markermonitoring of disintegrating capsules”, Eur. J. Pharm.Sci., v. 13, 2001, pp. 411–416.[3] S. Kwiecinski, et al “Tablet disintegrationmonitored by magnetic resonance imaging”, Appl. Magn.Reson., v. 22, 2002, pp. 23–29.[4] L. A. CORÁ, et al “Magnetic images of thedisintegration process of tablets in the human stomach byac biosu<strong>sc</strong>eptometry”, Phys. Med. Biol., v. 50,2005, pp.5523-5534.[5] B.D. Lucas “Generalized Image Matching bythe method of differences”, PhD Dissertation, Dept. ofComputer Science, Carnegie-Mellon University, 1984.[6] B.D. Lucas e T. Kanade “An Iterative ImageRegistratio Technique with an Application to StereoVision”, Proceedings DARPA Image UnderstandingWorkshop, 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: Anevaluation of eight optical flow algorithms”, BritishMachine Vision Conference 98, 1998120


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Segmentação de placas de veículos usando extração de característicasbaseado em DFT e agrupamentoRenato José Santos Maciel 1vavoomhr@yahoo.com.<strong>br</strong>Yuri Tavares dos Passos 1yuri uzuki@yahoo.com.<strong>br</strong>Eduardo Oliveira Freire 2efreire@ufs.<strong>br</strong>Leonardo Nogueira Matos 1lnmatos@ufs.<strong>br</strong>AbstractLicense plate recognition systems are used for manypurposes, such as for inspecting the behaviour of driversor locating of stolen vehicles. The devolepment of suchsystems requires the integration of many approaches ofComputer Vision. The proposed method, which intendsto detect the license plate on an image, is inspired by thebehaviour of human visual system. The primary cortex,which perform frequency analysis, is simulated in orderto segment the image. A bank of direcional filters in frequencydomain is used to extract features from a high dimensionalspace, and the k-means is used to group them.1. IntroduçãoSistemas de reconhecimento de placas de veículos(License Plate Recognition ou LPR)podem ter diversasaplicações. Eles são utilizados em sistemas automático<strong>sc</strong>om as seguintes funções: controle do acesso a áreasprotegidas [5], monitoramento de tráfego [11], loteamentode estacionamentos [15], execução de leis detrânsito [4], coleta automática de pedágio [12], e localizaçãode veículos roubados ou registrados para fugitivos,criminosos ou contrabandistas [16].Um sistema LPRécomposto por duas partes: a detecçãoda placa de licença (License Plate Detection ouLPD) easegmentação de caracteres da placa de licença(License Plate Character Segmentation ou LPS ).ALPDconsisteem detectar a presença de qualquerplaca numaimagem, enquanto que a LPS tem comoobjetivosegmentar a placa de licença em caracteres que1 Departamento de Computação – Universidade Federal de Sergipe2 Núcleo de Engenharia Elétrica – Universidade Federal de Sergipeserão reconhecidos posteriormente através do reconhecimentoótico de caracteres (optical character recognitionou OCR).Oproblema essencial do reconhecimento de placasde licença é localizar a placa do automóvel em um quadrode vídeo ou imagem. Asolução para tal problemarequer a integração de muitas abordagens utilizadasna Visão Computacional. Dentre essas estão as adotadaspara a detecção de objetos e para o reconhecimentode caracteres. Há diversos fatores que influenciam negativamentenos resultados de qualquer sistema LPDeLPS,tai<strong>sc</strong>omo: condições atmosféricas, condições deiluminação ou danos físicos nas placas.Segundo [8] muitos algoritmos LPD são baseados emdetecção de bordas ou limiarização. Em [7], a magnitudedo gradiente e sua variância local em uma imagemécomputada. Então, as regiões com altas magnitudese altas variações de bordas são identificada<strong>sc</strong>omo regiões onde se encontram placas. Em [9], as linhasretas são detectadas usando a transformada deHough e linhas paralelas horizontalmente são agrupada<strong>sc</strong>omo regiões candidatas à placa, supondo queas linhas em uma cena real são também preservadasna imagem capturada. Também existem abordagensutilizando operações morfológicas [13], redes neurais[10], programação genética [1] e combinações de característicasde placas em [3].Neste trabalho apresentamos uma abordagem para adetecção de placas de automóveis inspirada em algunsaspectos do funcionamento do sistema visualhumano[2]. A abordagem proposta baseia-se em primeiramentesimular a <strong>sel</strong>etividade do córtex visual primário utilizandoum banco de filtros no domínio da freqüência.O resultado dessa filtragem éentão empregado em ummétodo de agrupamento (k-means) utilizado para realizara segmentação da imagem.121


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.2. Extração de características direcionaisAidéia do método proposto consiste em decomporaimagem em diversas partes menores e classificar cadauma delas com base em características, tais como orientaçãopredominante, nível de cinza médio, existênciade bordas, etc., que são de fato elementos que caracterizamos textons [6] e originam as texturas. Os elementosque caracterizam as texturas são encontradosindiretamente durante uma etapa de aprendizado.Asegmentação propriamente é precedida por umaetapa de aprendizado em queseapresentaaum algoritmode reconhecimento de padrõesdiversasamostrasdos vetores de características coletados de uma basedeimagens. Esses vetores são originados de acordo com oprocesso de extração de características apresentado naFigura 1Janela deslizanteImagemDFTBanco de filtrosFunção detransferência1 2 3 4Vetor deatributosdessa base as projeções no domínio da freqüência assumemuma disposição típica, o espectro da DFT normalmentetem valores significativos somente em algumasfreqüências mais comuns. Dado que muitos componentesda DFT contribuem com um peso insignificantena sua formação, a dimensão do padrão podepode ser seguramente reduzida sem prejuízoparaoalgoritmode reconhecimento. Uma forma usual de reduzira dimensão do vetor de características éatravés deAnálisedeComponentes Principais (PCA), que correspondea uma projeção no espaço de saída da matriz decovariância dos padrões, permutada em ordem decre<strong>sc</strong>entedos autovalores. Os vetores projetados neste novoespaço possuem componentes independentes entre si epodem ser de<strong>sc</strong>artados com base na análise desses autovalores.O cálculo de cada um dos componentes, quecorresponde ao produto interno do padrão de entradacom um vetor linha da matriz de projeção, equivale àrealização de uma filtragem no domínio da freqüência,representado na Figura 1 como Etapa 3. Existem tantosfiltrosquantoonúmerode componentes principais.ComponentesAmostrasFigura 1. Esquema simplificado do processo deextração de característicasDe acordo com aFigura1,aEtapa1consisteemrealizar o deslocamento de uma janela deslizante so<strong>br</strong>euma imagem. Utilizamos uma janeladedimensão 8×8pixels. A janela deslizante realiza uma amostragem localdo sinal luminoso em intervalos regulares. Duranteotreinamento essa janela dá saltosde16em 16 pixelsamostrando, portanto, regiões não contíguas da imagem.Essessaltossão realizados para diminuir a quantidadede vetores gerados para amostra, já que paraapenas uma imagem essa quantidade é grande.A Etapa 2 realiza a transformada de Fourier em 2dimensões (também conhecida como DFT–Di<strong>sc</strong>reteFourier Transform) eocálculo do logarítmo damagnitude.O espectro da DFT desta sub-imagem éentãolinearizado originando um vetor de 64 posições. Muita<strong>sc</strong>aracterísticas estruturais que formam umaimagemtípica da base de imagens de veículos são bem caracterizadasno domínio da freqüência, tais como asfalto,lataria, placa, bordas, etc. Nos experimentos que realizamos,observamos também que para imagens como asFigura 2. Subconjunto dos vetores de treinamentorepresentados como uma imagem emnível de cinzaOs componentes principais, preservados para uso futuro,carregam a maior parte da informação requeridapara a etapa de reconhecimento. Entretanto, se observarmosum subconjunto dos vetores de treinamento noespaço projetado (Figura 2) podemos constatar que emalgumas dimensõesospadrões estão muito próximos eque, portanto, são difíceis de serem agrupados apropriadamente.Pode ser facilmente atribuído a um mesmogrupo padrões que deveriam ser considerados distintos.Isso ocorre porque a variância em cada componentedecre<strong>sc</strong>e progressivamente do mais ao menos importante(Figura 3). Para melhorar a separabilidadeentre as classes, aplica-se a cada componente a funçãosigmóide, que possui a propriedade de mapear sua entradanointervalo(0,1). Se o ganho dessa função for122


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.muito acentuado, os valores de saída tenderão aos extremos.Dessa forma, a função sigmóide pode ser usadapara distinguir entre o que é relevante (mapeado paravalores próximos de 1) e o que não é relevante (mapeadopara valores próximos de 0). Assumindo que a distribuiçãodos componentes seja aproximadamente normal,para realçar os valores mais à direita da curvade distribuição de freqüência dos componentes, isto é,aqueles que se alinham mais fortemente com um dos eixosdo espaço de componentes, aplicamos a função detransferência da Equação (1).f(x) =1x−µ(1)1+e−5(( σ )−1)em que µ e σ correspondem respectivamente à médiaeaodesviopadrão da distribuição do componente x.Ocoeficiente−5 (ganho) foi ajustado arbitrariamentepara produzir uma rampa de subida mais acentuada e,portanto, maximizar a separabilidade dos padrões desaída (Figura 4).0 2 4 6 8(a) Componente 1−1 0 1 2 3 4(b) Componente 2−4−20 2(d) Componente 4−3−1 1 3(c) Componente 3Figura 3. Distribuição de padrões por valores do<strong>sc</strong>omponentesAtransformação do componente x para e<strong>sc</strong>ores normalizadose posterior subtração de 1, em (1), faz comque todos os padrões que estão até um desvio-padrãoacima damédia (cerca de 84%) sejam mapeados para0. A saída da função de transferência, portanto, quandopróxima deum, reflete um forte alinhamento entre opadrão e o eixo projetivo correspondente. Como oseixosdo espaço de saída são ortogonais, presume-se queo alinhamento do padrão com algum eixo seja mutuamenteexclusivo, e a saída produzida seja aproximadapor um vetor cuja lei de formação é dada pela Equação(2).AmostrasComponentesFigura 4. Vetores de treinamento da figura 2 apósaplicação da função de transferência representado<strong>sc</strong>omoumaimagem em nível de cinzay =< y ı ∈ IR > ∧ ∑ {1 se ∃yı =1y ı =0 cc(2)Isto é, o vetor y possui todos os componentes nulos,ou apenas um diferente de zero, cujo valor é igualaum. Naturalmente esses padrões são mais facéis deserem reconhecidos, desde que a quantidade de vetoresde treinamento que possuem componentes não nulosnão seja tão pequena de modoqueopadrão sejaconsiderado um elemento expúrio (outlier).Os vetores de atributos resultantes desse processode extração de características não são rotulados, istoé, embora estejam diretamente associados a uma característicaparticular, como a presença de uma borda,atexturatípica do asfalto, a superfície lisa da latariaou o farol, essa associação não é explicitada. Emrazão de não existir um rótulo associado, ou a notade um supervisor, os dados são submetidos a um treinamentonão supervisionado. O algoritmo detreinamentoaprende a reconhecer os dados separando-os emgrupos. A finalidade desse processo ésegmentar as diferentesregiões na imagem, inclusiveaquecontém aplaca, associando-as a grupos conhecidos. O método deagrupamento aplicado foi o k−means.3. Experimentos e Di<strong>sc</strong>ussõesOs experimentos foram realizados so<strong>br</strong>e umabasedeimagens de veículos infratores capturadas por câmerasde monitoramento de tráfego. Essa base contém umagrande variedade de imagens, obtidas em diferente<strong>sc</strong>ondições atmosféricas e em diferentes horas do dia.Todasasimagens, entretanto, possuem em comum amesma dimensão (480 × 640 pixels), profundidade (8bits) e canais de cores (monocromática).123


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.3.1. Avaliação do vetor de característicasPode-se observar, conforme ilustrado no gráfico dosautovalores da matriz de covariância (Figura 5), queos quatro primeiros autovalores explicam a quase totalidadeda variância existente nos dados. De tal modoque o número de componentes principais pode ser estabelecidocomo sendo igual a quatro, já queacontribuiçãodada pelos componentes de ordem superior aquatro é insignificante.0.60osignificadodafiltragem promovida por ele. Em outraspalavras, deve-se usar esse autovetor para identificarse a janela recai em uma região clara, e<strong>sc</strong>ura, comintensidade de nível de cinza moderada, etc.(a) 1 (b) 2 (c) 3 (d) 4Figura 6. AutovetoresAUTOVALOR (%)0.450.300.150.000 2 4 6 8COMPONENTEFigura 5. Autovalores associados aos 8 primeiro<strong>sc</strong>omponentes principaisSe apresentarmos a magnitude dos autovetores graficamentecomo uma imagem 8 × 8 pixels (Figura 6),podemos constatar que os mesmos correspondem justamentea má<strong>sc</strong>aras no domínio da freqüência usadaspara filtrar os componentes direcionais di<strong>sc</strong>utidos naSeção 2. Note que o primeiro e terceiro autovetor capturamtransições de nível de cinza ocorridas nas direçõeshorizontal e vertical. O segundo autovetor édefatoum filtro passa-baixas e captura principalmente a informaçãodo nível de cinza médio na janela. O quartoautovetor éum filtro passa-altas não direcional. Essesquatro autovetores juntos podem ser usados paracaracterizar no domínio da freqüência as propriedadesestruturais que compõem uma imagem. Entretantodeve-se levar em consideração que usando a função detransferência apresentada na Equação (1) os grupos,apesar de serem mais facilmente identificados, não levarãoem conta informação so<strong>br</strong>e a intensidade médiade nível de cinza. Isto é, os grupos identificarão claramentea ocorrência de variações de nível de cinza,altas e médias freqüências, mas não serão influenciadospela informação retida nas baixas freqüências. Issosugere que a informação capturada pelo segundo autovetornão seja submetida à mesma função de transferênciapois, neste caso, a informação relevante não éo quanto o padrão se alinha ao autovetor, mas qual éUma vezqueparaoshumanos a intensidade médiado sinal luminoso é por si só uma informação relevante,o segundo autovetor ésubmetido a um tratamentodiferenciado. Se admitirmos que a distribuiçãode probabilidade do componente x seja aproximadamentenormal, para realizarmos um espalhamento uniformedessa variável no intervalo (0, 1), o que equivalea realizar uma equalização histogrâmica, devemos submetê-loà função de distribuição normal acumulada.Essa distribuição pode ser aproximada em termos demínimos quadrados [14] pela Equação (3).f(x) =1x−µ1+e−1.7( σ ) (3)Observamos experimentalmente que produzimosuma segmentação melhor quando aliamos as característicasdirecionais à informação do nível decinza médio. Para incorporarmos essa segunda informaçãoao vetor de características, aplicamos o ganhoempregado na Equação (3), porém deslocando a localizaçãoda rampa de subida da função sigmóide paraum desvio-padrão à direita. Isso tem oefeitodeespalharos valores de nível de cinza à direita do histograma,ao passo que a região mais à esquerda, associadaàs regiões e<strong>sc</strong>uras, são comprimidas, recaindo emvalores próximos de zero (Figura 7). Dessa forma valorizamosa informação associada às regiõe<strong>sc</strong>laraseatribuimosmenor importância àquela associada a regiõese<strong>sc</strong>uras.f(x) =1x−µ(4)1+e−1.7(( σ )−1)3.2. Avaliação do algoritmo de segmentaçãoO algoritmo desegmentação realiza uma varredurarotulando os pixels de uma imagem de teste como pertencentea um dado grupo com base no critério de otimalidadeestabelecido em (5). O vetor x nessa equação124


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.0.80.40.0−1.0 0.5 2.0 3.500.0 0.4 0.8Figura 7. Transformação aplicada ao segundo autovetorFigura 8. Imagem originalé obtido pelos valores dos pixels em uma vizinhança8 × 8, a função f(·) corresponde à função de extraçãode características e os grupos g ı são aprendidos em umafase de treinamento não supervisionado utilizando o algoritmok-means. A decisão ótima é representada porω ∗ .ω ∗ =argmin{‖f(x) − g ı ‖} (5)ıNos experimentos realizados foi usado um conjuntode treinamento formado por 8 imagens representandosituações diversas, com carros claros, e<strong>sc</strong>uros,caminhões, imagens noturnas, diurnas, etc. Onúmero de grupos k foi fixado empiricamente a partirde diversas experimentações. Fizemos k =4inspecionandovisualmente o resultado da segmentaçãoem um conjunto de 11 imagens. Na maioria dos casosépossível segmentar relativamente bem as placasdos veículos, dado que nas placas existem transiçõesde nível de cinza típicas, decorrentes da presença de letrase dígitos, que favorecem sua identificação nodomínio da freqüência.A Figura 8 ilustra uma imagem típica, com aplacapropositadamente borrada para não infringir direitosde terceiros. A segmentação produzida levando em consideraçãosomente as características de alta freqüênciaestá apresentada na Figura 9. Note a ocorrência de gruposespecializados em características direcionais (bordashorizontais e verticais). Convém também observarque baseado nessas características os valores médios denível de cinza não influenciam na formação dos grupose a segmentação produzida torna-se muito similaràquela resultante de um processo de extração debordas. Com a agregação da informação so<strong>br</strong>e o nívelde cinza médio, decorrente da aplicação da função detransferência em (4), melhora-se a qualidade da segmentaçãoresultante (Figura 10).Outras imagens segmentadas são apresentadas naFigura 11. Note que, em particular, o grupo predominanteque ocorre na região da placa permanece inalteradoem todasasimagens.Figura 9. Imagem segmentada baseada nas característicasdirecionais4. Conclusões e Trabalhos FuturosNeste trabalho apresentamos um algoritmo desegmentaçãoinspirado no sistema visualhumano. Realizamosexperimentos com imagens de uma base deveículos e obtivemos resultados que mostram que o empregoda metodologia adotada é apropriada para identificara região em que a placa se localiza. Tendo emvistaqueaplacadeum veículo possui transições denível de cinza de alta freqüência decorrente da impressãode letras e dígitos e<strong>sc</strong>uros so<strong>br</strong>e um fundo claro,o algoritmo desegmentação produz imagens que associamàregião da placa uma área retangular relacionadaaum ou dois grupos conhecidos.O método proposto éfacilmente paralelizável e podeFigura 10. Imagem segmentada125


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.(a)(b)(c)Figura 11. Autovetoresser implementado em um hardware paralelo, comofigurasde execução em FPGA, em aplicações práticas. Algumasetapas do processo como ocálculo da DFT e oalgoritmo de agrupamento podem ser aproximados poruma rede neural, o que facilita sua implementação emhardware paralelo.Como trabalhos futuros pretendemos concluir o reconhecimentoda placa através de um algoritmoquerealizeo recorte na imagem da região onde ela se localizaedoemprego de um algoritmo inteligente para reconhecimentode caracteres. Também pretendemos investigaro uso de algoritmos genéticos para otimizar a e<strong>sc</strong>olhados parâmetros livres da função de transferência, essesparâmetros são o ganho e o deslocamento ao longodo eixo das abcissas onde a função possui seu valormédio.Referências[1] G. Adorni, S. Cagnoni, and M. Mordonini. Efficient lowlevelvision program design using sub-machine-code geneticprogramming. In Workshop sulla Percezione e Visionenelle Macchine, 2002.[2] L.K.Cormack. Computational models of early humanvision. In Handbook of Image And Video Processing,pages271–288. Academic Press, 2000.[3] Y. Cui and Q. 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 recognitiontechnology for toll violation enforcement. InImage Analysis for Transport Applications, IEEE Colloquiumon, London, UK, 1990.[5] S. Draghici. A neural network based artificial vision systemfor licence plate recognition. Int J Neural Syst.,8(1):113–126, Fevereiro 1997.[6] D. A. Forsyth and J. Ponce. Computer Vision: A modernapproach. Prentice-Hall, 2003.[7] D.-S. Gao and J. Zhou. Car license plate detection fromcomplex <strong>sc</strong>ene. In International Conference on SignalProcessing, pages 1409–1414, 2000.[8] F. Kahraman, B. Kurt, and M. Gökmen. License platecharacter segmentation based on the gabor transformand vector quantization. In ISCIS 2003 : InternationalSymposium on Computer and Information Sciences,pages381–388. Springer Berlin / Heidelberg, 2003.[9] V. Kamat and S. Ganesan. An efficient implementationof the hough transform for detecting vehicle licenseplates using dsp’s. In Real Time Technology and ApplicationSymposium, 1995.[10] S. Kim,D.Kim,Y.Ryu,andG.Kim. A robust licenseplateextraction method under complex image conditions.In 16th International Conference On Pattern Recognition(ICPR 02),,volume 3, 2002.[11] H. Kwaśnicka and B. Wawrzyniak. License plate localizationand recognition in camera pictures. AI-METH,Novem<strong>br</strong>o 2002.[12] R. A. Lotufo, A. D. Morgan, and A. S. Johnson. Automaticnumberplate recognition. In Image Analysis forTransport Applications, IEEE Colloquium on, 1990.[13] H. Mahini, S. Kasaei, F. Dorri, and F. Dorri. An efficientfeatures based license plate localization method. InThe 18th International Conference on Pattern Recognition(ICPR’06), 2006.[14] J. R. Montalvão Filho and E. O. Freire. On the equalizationof keystroke timing histograms. Pattern RecognitionLetters, 27(13):1440–1446, 2006.[15] T. Sirithinaphong and K. Chamnongthai. The recognitionof 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


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Máquinas de Vetores de Suporte Aplicadas à Classificação de Defeitos em CouroBovinoRicardo B. Rodrigues, Roberto Viana, André Pasquali e Hemerson PistoriGPEC - Universidade Católica Dom Bo<strong>sc</strong>oAv. Tamandare, 6000 Campo Grande, Brasil{ricardo,roberto,andre}@acad.ucdb.<strong>br</strong>pistori@ucdb.<strong>br</strong>Marco A. AlvarezDepartment of Computer ScienceUtah State UniversityLogan, UT 84322-4205, USAmalvarez@cc.usu.eduAbstractCurrently the bovine leather classification in Brazilis done visually by specialists. Just like other industrialprocesses the automatization of the leather classificationwould <strong>br</strong>ing many benefits to the leather productionchain. This work proposes the usage of Support Vector Machines(SVM) for the leather defects classification, in additionit presents empirical results that encourage the usageof SVMs for the process automatization. The paper also presentsa comparation between SVM and other classificationalgorithms like C4.5, K-NN, Naive Bayes and MultilayerPerceptronResumoAtualmente a classificação do couro bovino no Brasil érealizada manualmente por especialistas. Assim como emoutros segmentos da indústria a automatização deste processotraria 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 bovinoe apresenta resultados empíricos que encorajam a utilizaçãode SVMs na automatização do processo. O trabalhotambém apresenta uma comparação entre a SVM e os algoritmosde classificação, C4.5, K-NN, Naive Bayes e MultilayerPerceptron.1. IntroduçãoA cadeia produtiva de gado é de grande importância paraa economia <strong>br</strong>asileira e o Brasil é considerado um dos maioresprodutores de gado do mundo [14]. Porém, de acordocom [6], apenas 8.5% do couro <strong>br</strong>asileiro é considerado dealta qualidade, o que é prejudicial para a cadeia produtiva.Recentemente, a Empresa Brasileira de Pesquisa Agropecuária(EMBRAPA) sugeriu uma bu<strong>sc</strong>a por um método depadronização do sistema de classificação de couro crú 1 .Hoje, em diversos processos industriais, defeitos em madeiras,metais, couros, tecidos entre outros são classificadospor 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 cansativo,a ocorrência de erros durante a análise torna-se comum.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, <strong>br</strong>ilho, 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 sistemaDTCOURO 2 que propõe o desenvolvimento de um1 Instrução normativa número 12, 18 de Dezem<strong>br</strong>o de 2002 MinistérioBrasileiro de Agricultura, Pecuária e Abastecimento2 Projeto para a Detecção Automática de Defeitos em Peles e CourosBovinos127


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.2.1. Classificação do couroFigura 1. Imagens do couro bovino nos estágio<strong>sc</strong>rú e wet blueprocesso automatizado de classificação do couro bovino emdiferentes estágios da cadeia produtiva. A Figura 1a mostrauma imagem do defeito “marca ferro"so<strong>br</strong>e uma peça decouro bovino no estágio crú (antes de ser curtido) e a Figura1b uma imagem do defeito “ri<strong>sc</strong>o aberto"so<strong>br</strong>e umapeça de couro bovino no estágio wet blue (primeiro processoapós o curtimento). Neste sistema, a análise será realizadaa partir de imagens digitais coletadas do produto alvo,utilizando técnicas de visão computacional, inteligência artificiale 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 padrõespor 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 atributo<strong>sc</strong>ombinadas com SVMs para o problema de classificaçãode defeitos do couro bovino. Em experimentos preliminaresforam realizadas análises comparativas com outrosalgoritmos de classificação mostrando resultados promissores.No capítulo 2 são apresentados alguns trabalhos correlatos,em seguida, no capítulo 3 é fundamentado o métodoSVM e a implementação do mesmo utilizada neste trabalho.A seção 4 de<strong>sc</strong>reve a construção do dataset, os experimentosde comparação entre metodos. Na seção 5 encontram-seconclusões e projeções futuras e na seção 6 os agradecimentos.2. Trabalhos CorrelatosA di<strong>sc</strong>ução dos trabalhos correlatos será dividida emduas partes principais. Inicialmente, são analisados trabalhosna á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.Em [22] Yeh and Perng é proposto um método semiautomáticopara 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 comparado<strong>sc</strong>om os de especialistas na área, mas os autores tambémapontam a desvantagem da necessidade de um especialistana fase de contagem total de defeitos. Um método deinspeção de couro baseado em Haar’s wavelets é apresentadopor So<strong>br</strong>al em [19]. Segundo So<strong>br</strong>al, o método apresentaresultados equivalentes ao de humanos experientes eem tempo real [19], além de superar métodos propostos anteriormente,como o de<strong>sc</strong>rito por Kumar e Pang em [13].Apesar de não e<strong>sc</strong>larecido claramente por So<strong>br</strong>al, aparentementeseu sistema foi testado apenas em couro no estágiofinal de produção, um problema bem mais simples comparadocom 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ídosde 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 encontradoexperimentalmente são utilizados para segmentar regiõesdefeituosas. O método não foi usado na identificaçãodos tipos de defeito. Uma outra abordagem utilizando histogramae atributos extraídos por co-ocorrência é investigadaem [12].2.2. Máquinas de Vetores de SuporteOsuna utiliza SVM para detecção de faces em imagensem [15], ele demonstra a aplicabilidade das SVMs na detecçãode faces em imagens que apresentaram resultados equivalentesou superiores a outros métodos baseados em exemplos[15]. O sistema de Osuna percorre imagens em tons decinza e é capaz de encontrar faces em diferentes e<strong>sc</strong>alas egrau de iluminação. Nos testes realizados por Osuna a SVMé configurada com parâmetro C = 200 eumkernel polinomialde grau 2. A forma de obtenção desta configuração nãoé especificada no artigo. Em [10] Joachims apresenta evidênciasteóricas e práticas do bom desempenho de classificaçãodas SVM em problemas de categorização de textos.O desempenho das SVM é calculado com base em dois conjuntosde 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 performancee foi superado pela SVM em 63 das 90 categoriasdo primeiro conjunto de testes e em todas as 23 categoriasdo 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çãodas SVM na área de Visão Computacional é apresentada128


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.em [18] onde Pontil e Verri realizam experimentos na classificaçãode objetos aplicando vários tipos de modificaçõe<strong>sc</strong>omo: adição de ruído, remoção de partes do objeto, alteraçãoda localização espacial e combinações entre os mesmos.Os resultados foram comparados com Perceptrons ese mostraram superiores. Os autores atribuem estes resultadosao maior poder de generalização das SVMs [18].3. Máquinas de Vetores de Suporte - SVMA SVM é uma técnica usada para o treinamento de classificadoresbaseada no conceito da minimização do ri<strong>sc</strong>o estrutural[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 reconhecimentode 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ótesenão depende do número de atributos, mas sim da margemcom que eles separam os dados [10]. Este fator é muitointeressante quando lidamos com problemas de classificaçãobaseados 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 hiperplanode 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óximosdo hiperplano. Estes pontos são chamados de vetoresde suporte e estão circulados na Figura 2. O hiperplanoé construído com base em treinamento prévio em um conjuntofinito de dados [20].Assumindo o conjunto de treinamento {x i ,y i }, y i ∈{±}, x i ∈ R d onde x i é o i-ésimo elemento de entrada ey i é o seu respectivo valor de classe para x i ,i =1, ..., l. Ocálculo do hiperplano com margem ótima é dado pela minimizaçãode ||w|| 2 obedecendo as seguintes restrições:y i (x i · 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 a i :N∑u ≡ a i − 1 N∑ N∑a i a j y i y j (x i · x j ) (2)2i=1i=1 j=1respeitando as restrições da equação linear:N∑a i y i =0, (3)e as restrições da inequação:ia i ≥ 0, ∀ i (4)Com a solução dada por:w = a i y i x i (5)OndeNéonúmerodeexemplos de treinamento. Os elementosmais próximos ao hiperplano são chamados de vetoresde suporte e estão localizados nos planos H 1 e H 2 Figura2. 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 conjuntode dados não é separável através de um hiperplano linear,e o cálculo dos vetores de suporte utilizando as formulaçõesde<strong>sc</strong>ritas acima não se aplicaria [17]. Este problemapode ser resolvido através da introdução de variáveisde alargamento de margem ξ i que “relaxam"as restriçõesda SVM linear permitindo algumas falhas na margem,mas também penaliza as falhas através da variável de controleC. Estas modificações alteram o problema de otimização(1) para:respeitando,12 ||w||2 + CN∑ξ i , (6)i=1y i (x i · 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


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.0 ≤ a i ≤ C, ∀ i (8)As SVMs ainda podem ser vistas por um ponto de vistamais geral como um classificador multiclasse. Estas modificaçõespodem ser aplicadas mapeando o conjunto de dadosem 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∑a i y i K (x i ,x) − b, (9)i=1Onde a minimização dos Multiplicadore de Lagrangeainda é um problema quadrático,minaN ∑i=1a i − 1 2N∑i=1 j=1N∑K (x i ,x) a i a j y i y j , (10)3.1. Implementação deC-SVC em LIBSVMO LIBSVM é uma biblioteca de implementações deSVM desenvolvida por Chin-Chung Chang [4] com váriasfinalidades: classificação, regressão e estimativa de distribuição.O algoritmo de classificação implementado na bibliotecaleva o nome de C-SVC.Para resolução do problema quadrático o C-SVC decompõeo conjunto de Multiplicadores de Lagrange em subconjuntosmenores <strong>sel</strong>ecionando um subconjunto com tamanhovariável [4]. O C-SVC também implementa as técnicas Shrinkinge 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 demonstradaem [4]. A técnica de Caching simplesmente armazenacá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égiade votação. Para pontos com valores de classe idênticosum algoritmo <strong>sel</strong>eciona 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 <strong>sel</strong>ecionadas dorepositório do projeto DTCOURO. As imagens foram capturadasusando uma câmera digital de cinco megapixels durantevisitas técnicas a curtumes localizados na região deFigura 3. Ilustração do processo de marcaçãoe extração de amostras.Mato Grosso do Sul, Brasil em setem<strong>br</strong>o de 2005. Para esteexperimento as imagens foram redimensionadas de uma altaresolução para 600 × 450 pixels com a intenção de economizartempo de processamento e espaço em di<strong>sc</strong>o. Evidênciasempíricas mostraram que não há percas efetivas como uso da e<strong>sc</strong>ala 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 e<strong>sc</strong>olhidos,são eles, marcas de carrapato, marca ferro, ri<strong>sc</strong>o esarna. Os defeitos foram manualmente segmentados comajuda da ferramenta DTCOURO. Um total de trinta segmentaçõesforam realizadas so<strong>br</strong>e as imagens, representando osexemplos dos defeitos previamente citados. Após a segmentaçãomanual dos defeitos o módulo de extração de amostrasdo projeto DTCOURO foi usado para extrair amostras(“janelas"de 20 × 20 pixels “varrendo"todas as segmentaçõe<strong>sc</strong>omo 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 conjuntode 139 atributos baseados em textura foram extraídosusando Mapas de Interações [5] e Matrizes de Coocorrência[8] e6atributos de cor com os extratores HSBe RGB. Para os extratores baseados em textura foram utilizadasa medidas de similaridade, entropia, dissimilaridade,correlação, momento da diferença inversa, segundo momentoangular e diferença inversa. Mais informações so<strong>br</strong>emedidas de similaridades são encontradas em [2, 11]. Osextratores foram configurados de acordo com a Tabela 1.130


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.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 1Tabela 1. Configuração dos extratores baseadosem textura.Para cada uma das 14722 amostras, um vetor de características¯x foi calculado e armazenado no dataset. Ao mesmotempo, todas as amostras foram tituladas com uma das seguinte<strong>sc</strong>lasses: Carrapato, Marca Ferro, Ri<strong>sc</strong>o e Sarna. Adistribuição das amostras é a seguinte: 2819 Carrapato,3716 MarcaF erro, 2804 Ri<strong>sc</strong>o, 5383 Sarna, onde o númerode amostras em cada classe é proporcional a área decada região de defeito da imagem original.4.1. Configurações do experimentoOs experimentos foram conduzidos utilizando a versão3.5.2 do software Weka [21], a biblioteca LibSV M e<strong>sc</strong>ritapor 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,MultiLayerP erceptron (MLP). Para cada algorítimo foiutilizada uma validação cruzada com 5 do<strong>br</strong>as so<strong>br</strong>e o datasetpara certificar uma estimação mais confiável da generalizaçãodo erro [9].4.2. Avaliação dos algoritmos supervisionadosOs 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 bovinoe comparar seu desempenho com outros algoritmos. Osresultados foram analisados usando medidas tradicionais incluindo,percentual de acertos (Acurácia), tempo de treinamento,precision (captura o efeito do alto número de exemplosnegativos na performance dos algoritmos), recall (representataxa 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 camadas,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/wlsvmT. 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.47Tabela 2. Resultados da execução dos experimentosde classificação.plementação LibSV M. O total de acertos final para os classificadoresK − NN e C4.5 e principalmente o MLP tambémsão altos. A diferença entre a acurácia da MLP edaLibSV M é de apenas 0.23%, no entanto, analisando a melhoriarelativa 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 possuio melhor tempo de treinamento não apresenta resultadosde classificação similares aos melhores apresentados na Tabela2. Note que a fase de treinamento do LibSV M é melhorque a da MLP em termos de eficiência.Os valores de precision e recall destacados demonstrama conveniência de algoritmos de aprendizagem supervisionadapara 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 classificadorespodem di<strong>sc</strong>riminar os defeitos com muita precisão.5. Conclusão e Trabalhos FuturosEmbora a SV M não ser o algoritmo mais eficiente parapropósitos de treinamento apresentou o melhores resultadosde classificação, assim como o MLP. Note que a diferençaentre a acurácia do MLP edoLibSV M pode sernegligenciada, uma vez que ambos resultados são satisfatórios.Uma interessante observação é que as soluções doLibSVM tendem a ser mais rápidas que MLPs para os propósitosde 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 importanteo uso de classificadores como k − NN eoC4.5 é encorajadodevido a suas taxas de acertos consideráveis.Apesar de experimentos prévios terem sido realizadosapresentando bons resultados de classificação, uma outra direçãode pesquisa é a aplicação de soluções similares aplicadasa diferentes estágios do couro com diferentes característicasapresentadas. Dessa forma, serão realizados testespara verificação do ganho de informação de métodos deextração de atributos e segmentação de imagens relaciona-131


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.dos a cada tipo de defeito. Um estudo mais aprofundadoso<strong>br</strong>e as MLPs e seus parâmetros será realizado para futurosexperimentos aplicados ao problema de classificação docouro bovino. Uma nova etapa de testes também será realizadautilizando um conjunto maior de imagens em diferentesestágios do couro.6. AgradecimentosEste trabalho recebeu apoio financeiro da UniversidadeCatólica Dom Bo<strong>sc</strong>o, UCDB, da Agência Financiadora deEstudos e Projetos, FINEP e da Fundação de Apoio ao Desenvolvimentodo Ensino, Ciência e Tecnologia do Estadode Mato Grosso do Sul, FUNDECT. Os autores tambémcontaram com bolsas do Con<strong>sel</strong>ho Nacional de DesenvolvimentoCientífico e Tecnológico, CNPQ, nas modalidadesITI-A, PIBIC e Produtividade em Desenvolvimento Tecnológicoe 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. Desenvolvimentode 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 Di<strong>sc</strong>overy,2(2):121–167, 1998.[4] C.-C. Chang and C.-J. Lin. LIBSVM: a li<strong>br</strong>ary for supportvector 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 integradasno <strong>br</strong>asil: Impactos das zonas de livre comercio. Technicalreport, Instituto de Economia da Universidade Estadualde Campinas, Dezem<strong>br</strong>o 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 matchingbased 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 Proceedingsof the Pattern Recognition, 17th International Conferenceon (ICPR’04), pages 597–600, Washington, DC, USA,2004. IEEE Computer Society.[10] T. Joachims. Text categorization with support vector machines:learning with many relevant features. In C. Nédellec andC. Rouveirol, editors, Proceedings of ECML-98, 10th EuropeanConference on Machine Learning, number 1398, pages137–142, Chemnitz, DE, 1998. Springer Verlag, Heidelberg,DE.[11] R. Jobanputra and D. Clausi. Texture analysis using gaussianweighted grey level co-occurrence probabilities. In Proceedingsof the Canadian Conference on Computer and RobotVision - CRV, pages 51–57, 2004.[12] K. Krastev, L. Georgieva, and N. Angelov. Leather features<strong>sel</strong>ection for defects’ recognition using fuzzy logic. InCompSysTech ’04: Proceedings of the 5th international conferenceon Computer systems and technologies, pages 1–6,New York, NY, USA, 2004. ACM Press.[13] A. Kumar and G. Pang. Defect detection in textured materialsusing gabor filters. IEEE Transactions on Industry Applications,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 objectrecognition. IEEE Trans. Pattern Anal. Mach. Intell.,20(6):637–646, 1998.[19] J. L. So<strong>br</strong>al. Optimised filters for texture defect detection. InProc. of the IEEE International Conference on Image Processing,volume 3, pages 565–573, September 2005.[20] V. N. Vapnik. An overview of statistical learning theory.IEEE Transactions on Neural Networks, 10(5):988–999,1999.[21] I. H. Witten and E. Frank. Data Mining: Practical MachineLearning Tools and Techniques. Morgan Kaufmann,San Franci<strong>sc</strong>o, CA, USA, second edition, 2005.[22] C. Yeh and D. B. Perng. Establishing a demerit count referencestandard for the classification and grading of leatherhides. International Journal of Advanced Manufacturing,18:731–738, 2001.132


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Improving the Richardson-Lucy Algorithm in Deconvolution Micro<strong>sc</strong>opyThrough Poisson Noise ReductionHomem, M. R. P.; Zorzan, M. R.; Ma<strong>sc</strong>arenhas, N. D. A.Universidade Federal de São Carlos, Departamento de ComputaçãoVia Washington Luís, Km 235, CP 676, CEP: 13.565-905, São Carlos, SP, Brazilmurillo rodrigo@dc.uf<strong>sc</strong>ar.<strong>br</strong>; marcelozorzan@yahoo.com.<strong>br</strong>; nelson@dc.uf<strong>sc</strong>ar.<strong>br</strong>AbstractComputational optical sectioning micro<strong>sc</strong>opy is a techniqueto obtain three-dimensional images of micro<strong>sc</strong>opic biologicalspecimens. It consists in obtaining a set of twodimensionaloptical sections of an object where each sectionis acquired by means of a light micro<strong>sc</strong>ope using fluore<strong>sc</strong>encetechniques. However, due to limiting factors in theimaging systems, micro<strong>sc</strong>opic images are always degradedby the micro<strong>sc</strong>ope optics and also by the detection process.Each observed section is a blurred version of the actual imageand it also has contributions of light from other outof-foc<strong>usp</strong>lanes. In this sense, it is important to search forcomputational algorithms that are able to improve the qualityof the three-dimensional observations. The Richardson-Lucy algorithm is one of the most important methods forimage deconvolution in optical sectioning micro<strong>sc</strong>opy andit is often regarded as the algorithm that is able to producethe best results in that application. In this work, we demonstratethat the restored images can be further improved byfirst removing the Poisson noise in the images before applyingthe iterative Richardson-Lucy algorithm. We show thatbetter results are achieved in a similar number of iteractionsand they also have a better quality following the improvementin signal to noise ratio criteria.1. IntroductionThe proper three-dimensional (3D) visualization of cellulararchitectures in biological applications has been consideredin the last twenty years [1]. It is substantially important,because the cell structure and its function are known tobe strongly correlated.Computational optical-sectioning micro<strong>sc</strong>opy (COSM)is recognized as an important tool to reconstruct 3D imagesfrom optical two-dimensional (2D) sections of a fluore<strong>sc</strong>entlystained biological specimen [22]. Considering thatthe specimen is translucid, this technique consists in movingthe focal plane of the micro<strong>sc</strong>ope while a set of 2D imagesare acquired and recorded. In this sense, stacking theset of 2D images forms a 3D image.Commonly, confocal and conventional light micro<strong>sc</strong>opesare used in COSM [25]. The former modality is able to producehigh-quality images because only the light from the regionnear 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 sensitivityare less than in a conventional micro<strong>sc</strong>ope, which canbe a problem in experiments where the light efficiency is animportant concern. On the other hand, a conventional micro<strong>sc</strong>ope(also known as widefield micro<strong>sc</strong>ope) 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 micro<strong>sc</strong>opy.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 ha<strong>sc</strong>ontributions of light from other out-of-focus planes. Theblurring effects come from light diffraction due to the finiteaperture of the micro<strong>sc</strong>ope lens [10]. Particularly, it is importantto note that in conventional micro<strong>sc</strong>opy the blurringeffects are higher than in confocal micro<strong>sc</strong>opy [18].Futhermore, it can be shown that the optical transferfunction of a fluore<strong>sc</strong>ence micro<strong>sc</strong>ope 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 valuesit 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 influore<strong>sc</strong>ence micro<strong>sc</strong>opy is due to the low level of photon<strong>sc</strong>ount. Indeed, the exposure time in fluore<strong>sc</strong>ence micro<strong>sc</strong>opyneeds to be frequently short. It implies that eachimage is acquired under low level of photons count and then133


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.the set of recorded 2D observations are corrupted by noise.Therefore, the restoration of images obtained by meansof optical sectioning micro<strong>sc</strong>opy, especially in widefieldmicro<strong>sc</strong>opy, is an important problem, since it can improvethe quality and accuracy of the recorded data.In the last years, several algorithms, derived under differentimage and noise models, and also with different complexityand processing time, have been proposed to accomplishimage restoration in fluore<strong>sc</strong>ence micro<strong>sc</strong>opy [22].For the best of our knowledge, the iterative Richardson-Lucy algorithm [16, 21] is one of the most important methodsfor COSM applications [11, 12]. Indeed, it is often regardedas 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 applyingthe 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 de<strong>sc</strong>ribe both the image formationmodel and the noise characterization in computational opticalsectioning micro<strong>sc</strong>opy. Later, section 3 presentsthe proposed method, where the An<strong>sc</strong>ombe transformationand the Richardson-Lucy algorithm are di<strong>sc</strong>ussed. TheAn<strong>sc</strong>ombe transformation is used to remove the noise in theimages before the application of the Richardson-Lucy procedure.Finally, in section 4 we present some numericalresults.2. Deconvolution Micro<strong>sc</strong>opyThe blurring process in optical micro<strong>sc</strong>opy can be modelledby a 3D convolution operation between the actual imageand the point spread function (PSF) of the micro<strong>sc</strong>ope.In addition, since the 2D blurred observations are often acquiredunder low level of photons count, each recorded imagefollows a Poisson statistic.Then, the problem that arises is to recover the image,that represents the fluore<strong>sc</strong>ence concentration in the specimen,given the blurred and noisy observation and also thePSF of the micro<strong>sc</strong>ope. This is the well-known deconvolutionproblem in the image restoration literature [4]. Particularly,when using a conventional micro<strong>sc</strong>ope, it is often referredto as deconvolution micro<strong>sc</strong>opy [19].2.1. Image Formation ModelIn COSM, the blurring process is regarded as a linear,space-invariant operator [19]. Then, the 3D blurred imageb(x, y, z) is given byb(x, y, z) = h(x, y, z) ∗ f (x, y, z), (1)where * stands for the 3D convolution, f (x, y, z) is the imagethat represents the actual optical density (or fluore<strong>sc</strong>enceconcentration) in the specimen, h(x, y, z) is the PSFof the micro<strong>sc</strong>ope, and x, y, and z are spatial variables.We can also write equation (1) in the Fourier domain asB(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 di<strong>sc</strong>rete 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 vectorimage f, formed by stacking the elements of f [x, y, z],the blurred vector image b is given byb = 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, H ij ,are samples of the PSF.The normalized FT of the PSF is usually called the opticaltransfer function (OTF) of the micro<strong>sc</strong>ope. 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<strong>sc</strong>opelens. In the regions where the OTF has non-zero valuesit works as a low pass filter and in the regions whereit has zero values it removes the image content in that region.The problem to recover missing frequencies is oftenreferred as superresolution image restoration [14, 23].2.2. Noise CharacterizationFrequently, charged-couple device (CCD) cameras [24]are used to record the images in widefield micro<strong>sc</strong>opes. Onthe other hand, photo-multiplier tubes are used to recordthe images in confocal and multi-photon fluore<strong>sc</strong>ence excitationmicro<strong>sc</strong>opes.Some of the noise processes in the detectors follow Poissonstatistics 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 duringthe acquisition process. This noise can also be well modeledby 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 Poissonrandom process u.Each component u i of u is regarded as the realization of arandom variable Ũ i de<strong>sc</strong>ribed by a Poisson distribution withparameter γb i , where γ>0, andp(u i | b i ) = (γb i) u i· e −γb i, (4)u i !134


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.where E[Ũ i ] = b i , and Var[Ũ i ] = b i , for each i, i = 1, ..., N.We denote by Ũ the random vector with componentsgiven by Ũ i .It can be shown that given b, the joint ensemble photoncounting statistics at the N detectors are approximately independent[24]. Moreover, since each u i depends only onthe corresponding b i , the probability that the vector u occursfor a given b is∏ (γb i ) u i· e −γb ip(u | b) =. (5)ui i !Therefore, in our approach, the image vector u representsthe blurred and noisy observation.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 by3.2. Richardson-Lucy Algorithmp(f | u) =3. Proposed MethodThe proposed method for deconvolution micro<strong>sc</strong>opyconsists in reduce the Poisson noise in the observed imagebefore the application of the Richardson-Lucy algo-f ˆ (n+1) j H ij u if ˆ (n) ∑j= · ∑i H∑ijrithm. Since the Poisson noise is signal dependent, wei l H il ˆlpropose the use of the An<strong>sc</strong>ombe transformation in orderto be able to use more standard methods for noiseremoval.3.1. An<strong>sc</strong>ombe TransformationThe An<strong>sc</strong>ombe transformation (AT) transforms the signaldependent Poisson noise into an approximately Gaussian,additive, signal independent noise with zero mean and 4. Results and Di<strong>sc</strong>ussionsunity variance [3].The application of the transformation on the randomvariable Ũ i is given by√˜Z i = 2 Ũ i + 3 8 , (6)where ˜Z i can also be represented by an additive model as√˜Z i = 2 ˜B i + 1 8 + Ñ i = ˜S i + Ñ i , (7)where now, Ñ i is an additive noise that is approximately independentof ˜S i , with E[Ñ i ] ≈ 0 and Var[Ñ i ] ≈ 1 [15].We note that ˜S i is the noi<strong>sel</strong>ess signal in the An<strong>sc</strong>ombedomain.From these facts, after the transformation, it is possibleto use well-known techniques for reducing signal independentadditive noise by operating on the random variables˜Z i . For instance, we suggest using the pointwise Wiener filter[2] that is optimum under the minimum mean square errorcriteria.After the noise smoothing, we return to the original variableapplying the inverse An<strong>sc</strong>ombe transformation, whichis given by˜B i = 1 4 ˜S i 2 − 1 8 . (8)p(u | f) · p(f), (9)p(u)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 procedureto find the maximum likelihood estimate ˆf of f.From equations 3, 5, and 9, it can be shown thatf (n)(10)is the RL estimate of the j-th component of f, in the iterationn + 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 recoverthe missing frequency components [5, 14].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 actualoptical density of the phantom.The 3D phantom image was blurred by a theoreticalPSF in order to simulate a conventional fluore<strong>sc</strong>ence micro<strong>sc</strong>ope.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 apertureof 1.4, where we consider that the phantom has a fluore<strong>sc</strong>encewavelength of 535 nm. Following, the blurred imagewas degraded by Poisson noise. A blurred image sectionis presented in figure 1(b) and figure 1(c) shows the correspondingblurred 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 procedurede<strong>sc</strong>ribed 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


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.(a)Figure 2. ISNR values for the restored images.(b)Iteration RL RLA RLM0 0.0 0.0 0.0205 5,8919† 6,6681 6,6682241 5,8545 6,7095 6,7093†242 5,8525 6,7096† 6,70925000 -7,7216 -7,4090 -7,4084Table 1. ISNR values for the restored image<strong>sc</strong>onsidering the best results.(c)Figure 1. (a) section of a 3D phantom image; (b)blurred image section; (c) blurred and noisy imagesection.bels) by‖f − u‖ 2IS NR = 10 · log 10‖f − ˆf‖ , (11)2where f, u, and ˆf are defined as above.Figure 2 presents the ISNR values for the restored image<strong>sc</strong>onsidering 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 An<strong>sc</strong>ombeprocedure (RLA), and 241 iterations to the RL with the medianfilter (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 accordingto the ISNR criteria, the proposed method was able toproduce better results than the RL algorithm without pre-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 producevery similar results considering the ISNR criteria, itis important to note that the median filter is an ad hoc procedurefor noise reduction. On the other hand, the methodde<strong>sc</strong>ribed in section 3.1 takes into account the statistical natureof the noise. Futhermore, it is a pointwise procedureand it has a computational complexity compared to the medianfilter.5. Concluding RemarksWe have presented an algorithm for deconvolution micro<strong>sc</strong>opythat is able to produce better results than theRichardson-Lucy algorithm. It consists of reducing thePoisson noise in the observed image before the applicationof the Richardson-Lucy procedure. In future works,we intent to extend the method considering a total variationregularization approach.136


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.(a)(b)(c)Figure 3. (a) a section of the restored image usingthe RL algorithm with 205 iteractions; (b) restoredimage section using the RLM algorithmwith 241 iteractions; (c) restored image sectionusing the RLA algorithm with 242 iteractions.AcknowledgmentsThe 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 micro<strong>sc</strong>opy: Cellular architecturein 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. An<strong>sc</strong>ombe. The transformation of poisson, binomial andnegative-binomial data. Biometrika, 15:246–254, 1948.[4] M. Bertero and P. Boccacci. Introduction to Inverse Problemsin 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 reconstructionfrom confocal <strong>sc</strong>anning micro<strong>sc</strong>ope images. 1: Deterministicand 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 micro<strong>sc</strong>opy. 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 Micro<strong>sc</strong>ope for use in3D Optical Serial Sectioning Micro<strong>sc</strong>opy, In: Optical Micro<strong>sc</strong>opyfor 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 micro<strong>sc</strong>opy. 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 fluore<strong>sc</strong>ence micro<strong>sc</strong>opy:Further testing. Appl. Opt, 28(22):4930–4938,1989.[13] T. J. Holmes and Y. H. Liu. Acceleration of maximumlikelihoodimage restoration for fluore<strong>sc</strong>ence micro<strong>sc</strong>opyand other noncoherent imagery. J. Opt. Soc. Am. A,8(6):893–907, 1991.[14] B. R. Hunt. Super-resolution of images: Algorithms, principles,performance. International Journal of Imaging Systemsand Technology, 6:297–304, 1995.[15] T. Inouye. Square root transform for the analysis of quantumflutuations in spectrum data. Nuclear Instruments andMethod, 91:581–584, 1971.[16] L. B. Lucy. An iterative technique for the rectification of observeddistributions. Astron. J., 79:745–759, 1974.[17] J. Markham and J. A. Conchello. Fast maximum-likelihoodimage restoration algorithms for three-dimensional fluore<strong>sc</strong>encemicro<strong>sc</strong>opy. 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 micro<strong>sc</strong>opy.IBC, Washington University, St. Louis, MO, April1996.[19] J. G. McNally, T. Karpova, J. Cooper, and J. A. Conchello.Three-dimensional imaging by deconvolution micro<strong>sc</strong>opy.Methods, 19(3):373–385, 1999.[20] J. G. McNally, J. Markham, and J. A. Conchello. Comparingmethods for 3D micro<strong>sc</strong>opy. In: Three-DimensionalMicro<strong>sc</strong>opy: Image Acquisition and Processing, C. J.Cogswell, J. -A. Conchello, and T. Wilson (Eds.), Proc. SPIE,3261:108–116, 1998.137


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.[21] W. H. Richardson. Bayesian-based iterative method of imagerestoration. J. Opt. Soc. Am. A, 62:55–60, 1972.[22] P. Sarder and A. Nehorai. Deconvolution methods for 3-Dfluore<strong>sc</strong>ence micro<strong>sc</strong>opy 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 recoveryfrom 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 fluore<strong>sc</strong>ence micro<strong>sc</strong>opy.J. Micro<strong>sc</strong>, 193:50–61, 1999.138


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Redução de Dimensões Baseada emRedes Neurais Perceptron MulticamadaSoledad Espezúa Llerena, Carlos Dias MacielE<strong>sc</strong>ola de Engenharia de São Carlos – Universidade de São Paulo, Brasil.sespezua@<strong>sel</strong>.<strong>ee<strong>sc</strong></strong>.<strong>usp</strong>.<strong>br</strong>, maciel@<strong>sel</strong>.<strong>ee<strong>sc</strong></strong>.<strong>usp</strong>.<strong>br</strong>ResumoNeste trabalho, é apresentada uma alternativa aoclássico método estatístico Multidimensional Scaling(MDS) para reduzir dimensionalidade de dadosmultivariados. A alternativa proposta usa duas redesneurais gêmeas com arquitetura PerceptronMulticamada (PMC) conectadas em paralelo, com o fimde alcançar o mapeamento dos dados de um espaço dealta dimensionalidade para outro espaço de baixadimensionalidade (3-2D). Este modelo aprende a partirde um conjunto de vetores de características de entradae saídas desejadas em forma de matriz de distância oudissimilaridade entre pares de dados. O modelo foitestado em dados sintéticos e em dados de umconhecido exemplo de mapeamento de cores, obtendoseresultados aceitáveis. Foi observado que inclusivecom uma medida destorcida dos vetores de entrada arede neural proposta consegue encontrar uma boarepresentação num espaço baixo dimensional.Palavras Chave: Perceptron Multicamada,Multidimensional Scaling.1. IntroduçãoCom o continuo incremento do poder computacional ea tecnologia de armazenamento atual, é possível coletar,analisar e armazenar grandes quantidades de dados. Astécnicas de redução dimensional constituem umaferramenta importante para os usuários, no processo deextração e compressão de informação de bancos dedados com grandes quantidades de registros e atributos.Muitos métodos têm sido propostos para tratar aredução de dimensionalidade de dados multivariados.Por exemplo, têm-se técnicas estatísticas como análisede componentes principais (PCA) e e<strong>sc</strong>alonamentomultidimensional (MDS) [6]; técnicas de inteligênciaartificial baseadas em redes neurais [1] como mapasauto-organizados (SOM-maps), redes Auto-associativasFeedForward (AFN), as quais realizam a reduçãodimensional mediante a extração da atividade dosneurônios desde a camada interna, CurvilinearComponents Analysis (CCA) [2] que foi proposta comouma melhora aos SOM-maps, NeuroScale [3] que é umaAFN modificada para incorporar informação subjetivaassociada. Posteriormente se propuseram outras técnica<strong>sc</strong>omo Generative Topographic Mapping (GTM) [4] [5]que é um modelo probabilístico que tem sido usadocomo uma alternativa aos SOM-maps para so<strong>br</strong>epor asprincipais desvantagens encontradas nesse modelo.Em técnicas como MDS o número de dimensões édeterminado de uma forma semelhante àquela utilizadana 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, osdados representam melhor a matriz de distânciadesejada e o valor de stress diminui.A disposição dos dados (mapa) pode ser alcançadapor vários métodos; primeiro é necessário que os dadosmultivariados sejam transformados em medidas deproximidade (matriz de distância) usando algumamétrica de distância para logo se encontrar a disposiçãode pontos num espaço de coordenadas reduzidomediante o uso de uma técnica de redução dimensional.Neste trabalho é apresentado um método para realizarredução dimensional com redes neurais artificiais,baseado no método proposto por Kenji Suzuki [8] paramapeamento de faces. O método desenvolvido usa umarranjo de duas redes neurais com arquiteturaPerceptron Multicamada (PMC) conectadas emparalelo, as quais aprendem o mapeamento não linear,entre os vetores de características de entrada (com altadimensionalidade) e a representação dos dados em baixadimensão, tendo como sinal de aprendizagem a matrizde dissimilaridade desejada. O treinamento da rede ébaseado no algoritmo Backpropagation com aconsideração de que o sinal de erro para o treinamento éobtido a partir da diferença entre a distância euclidianacalculada nas saídas das 2 redes e a dissimilaridadedesejada. Depois do treinamento, novos dados podemser apresentados e avaliados, aproveitando a capacidadede generalização da rede.Este trabalho está organizado da seguinte forma, aparte 2 apresenta uma definição de nosso problema, aparte 3 segue com a solução do problema com redesneurais, a parte 4 mostra os resultados computacionais edi<strong>sc</strong>ussões para dois bancos de dados sintéticos e umconhecido banco de dados para percepção de cores;finalmente na parte 5 são apresentadas ás conclusões.2. Definição do problemaFormalmente o problema pode ser definido como:dado um conjunto de p vetores de características deentrada X = { x1 ,..., xp }, definidos em um espaço m-dimensionalmR, onde um padrão α é representado*O presente trabalho foi auxiliado pela CAPES. Agencia deGoverno Brasileiro para o desenvolvimento de recursoshumanos.139


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.αααpelo vetor x = ( x1, x2,..., x m ) . Dada também umamatriz de dissimilaridade entre os padrões S = ( δ ( i,j)),(onde δ ( i,j)representa a distância entre os padrões i ej ). Deseja-se fazer o mapeamento φ : X → Y doconjunto de padrões de entrada X em um conjunto devetores de saída Y = { y1 ,..., yp } definido no espaçonα α α αreduzido R com n < m e y = ( y1, y2,..., y n ) , talque a distância euclidiana entre qualquer par de vetoresα βde saída y e y , denotado por d ( yα , y β ) , seja omais próximo possível à dissimilaridade dos padrões deentrada α e β , isto é, δ ( α,β ) .Neste trabalho é considerada a matriz dedissimilaridade S como uma matriz simétrica comvalores δ ( α,β ) = δ ( β,α ) .3. Solução do problemaNa Figura 1 é mostrado um diagrama ilustrativo daconfiguração da solução do problema de<strong>sc</strong>rito. As duasredes neurais A e B são idênticas com arquitetura PMCe com uma topologia de três camadas (considerando acamada de entrada), cada PMC aceita um vetor deentrada (padrão), as saídas das PMC A e PMC B sãoconectadas em paralelo a uma unidade C a qual calcula adistancia 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 adistâ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 cadarede são as representações em baixa dimensão dospadrões α e β .Figura 1. Ilustração da solução MDS com duas redesPMC gêmeas, A e B com topologia de três camadas.A regra de aprendizado é derivada do métodoBackpropagation.[9] e os pesos de conexão entre a<strong>sc</strong>amadas são ajustados de modo que vão aproximando adistancia obtida d ( α,β ) nas saídas das redes com aαdistancia desejada δ ( α,β ) em cada par de padrões α eβ . O método de gradiente de<strong>sc</strong>endente é adaptado paratreinar as ambas redes. As redes A e B são iniciadas coma mesma configuração inicial de pesos, os quais sãoajustados da mesma forma para prover o mesmomapeamento (simétrico). A função de ativação µ dacamada oculta e da camada de saída é a função tangentehiperbólica. A função de erro calculada para doispadrões de entrada α e β é dada por.E1= (1)22( α , β ) ( δ ( α,β ) − d(α,β))⎛ N2⎞α β( , )⎜ A Bd α β ≡ y − y = 2 − 2 ⎟⎜∑YY(2)⎟⎝ j=1 ⎠O Erro Quadrático Médio (EQM) relativo a todos os ppadrões de treinamento é:EM1=pp∑Eα ,α ≠ β β= 1( α , β )12Figura 2. Topologia das redes PMC.Na Figura 2 é mostrada a topologia para uma dasredes, sendo a outra rede exatamente igual. No sucessivodeste texto é usada a letra Z para indicar qualquer dasduas redes A ou B. Nesta topologia são identificadas asseguintes partes:- Camada de Entrada: Constituída de “m” sinais deentrada ( x 1,x 2,...,x m )- Camada Neural E<strong>sc</strong>ondida: Constituída de N1neurônios; o número de N1 é variado até obter omelhor resultado.- Camada Neural de Saída: Constituída de N2 neurôniosde saída ( y 1,y2,..., y N 2 ) . Para os experimentosrealizados neste trabalho foram usados 3 e 2 neurônios,de acordo com o experimento.Z Z- W 1 = { w1ji}: Matriz de pesos de conexão entre a1 ra e 2 da camada da rede ZZ Z- W 2 = { w2ji}: Matriz de pesos de conexão entre a2 da e 3 ra camada da rede ZZ- I1 : Vetor de entradas ponderadas da camadae<strong>sc</strong>ondida da rede Z.Z- I 2 : Vetor de entradas ponderadas da camada desaída para a rede Z.Z- Y1 : Vetor de saídas da camada e<strong>sc</strong>ondida na rede Z.(3)140


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Z- Y 2 : Vetor de saídas da camada de saída na rede Z.ZOs pesos da camada de saída W2 em as ambas redessão ajustados cada vez que é fornecido um par depadrões de treinamento α e β com dissimilaridadeδ ( α,β ) . A regra de atualização derivada do método degradiente de<strong>sc</strong>endente é dada por (Ver Anexo A ):ZjiZji∆ w2( t + 1) = w2( t)+η * ( ρ2* Y1) (4)⎛Z ZY 2( )j Y 2 j⎞Z Z2 j ( , ) d(, ) * ⎜−ρ = δ α β − α β⎟ * G`(I 2 j ) (5)⎜ d(α,β ) ⎟⎝⎠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 etapade treinamento (Equação 3) foram usadas outras funçõesde Stress para verificar a qualidade do mapeamentoaprendido pelas redes:- Kruskal Stress 1.Stress −1=∑ ( ( i,j)− d(i,j))2∑ d(i,j)j2Ziδ(6)- Mean Relative Absolute errori j d i j d i jMRA ∑ (δ ( , ) − ( , )) / ( , )=n- Root Relative Mean-Squared error∑ −RRMS =((δ ( i,j)d(i,j)) / d(i,j))4. Resultados computacionais e di<strong>sc</strong>ussõesn2(7)(8)Para avaliar a capacidade de reconhecimento nomapeamento da rede foram testados dois bancos dedados artificiais QUADRADO e ESTRELA e paraavaliar o método de redução dimensional foi testado umconhecido exemplo de percepção de cores apresentadoem [9].QUADRADO:Este banco de dados é composto por 4 pontos em 2dimensões os quais formam um quadrado (ver Figura3b). Os padrões de entrada das PMC são versõesdistorcidas destes pontos como é mostrado na Figura 4.As PMC foram treinadas com todas as combinaçõesde pares entre os padrões de entrada e com distânciasdesejadas iguais aos valores de dissimilaridade originais.O objetivo então é fazer o mapeamento com as redesneurais para levar os pontos distorcidos da Figura 4b auma disposição em que a matriz de distância calculadase aproxime à matriz de dissimilaridade original.Foram testadas varias topologias de rede variando onúmero de neurônios da camada e<strong>sc</strong>ondida e por cadatopologia foram executados 10 treinamentos, obtendo-seo melhor deles (com respeito ao erro quadrático médio).Para encontrar o número de neurônios adequadosforam realizados experimentos incrementando o númerode neurônios na camada e<strong>sc</strong>ondida e em cadaexperimento foi calculado o valor de Stress. A Figura 5apresenta o Stress para os 3 critérios em função donúmero de neurônios. Observa-se que nas topologia<strong>sc</strong>om 6, 9, 11 e 12 neurônios na camada e<strong>sc</strong>ondida seapresentam os menores valores de Stress, sendo o menorentre eles o valor em 12 neurônios. Similarmente, aFigura 6 mostra o EQM, onde também é observado queas topologias de 6, 9, 11 e 12 neurônios apresentamerros baixos. Foi tomada a topologia de 12 neurônio<strong>sc</strong>omo a topologia ótima por ter apresentado os menoresvalores de Stress. Os parâmetros desta topologia sãomostrados na Tabela 1 e os pontos resultantes obtido<strong>sc</strong>om esta configuração são mostrados na Figura 7, ondeé observado o resultado da proximidade com respeitoaos pontos originais. A diferença encontrada estabasicamente na rotação (Comparar Figura 3b e 7b).PontosDim1 Dim2-0.1 0.10.1 0.10.1 -0.1-0.1 -0.1(a)(b)Figura 3: (a) Pontos originais, (b) Mapeamento dospontos.Pontos distorcidos (padrões)Dim1 Dim2-0.07091 -0.114170.13904 -0.078130.093491 0.090882-0.06367 0.075936(a)(b)Figura 4: (a) Padrões de entrada (pontos distorcidos), (b)Mapeamento dos pontos distorcidos ingressados à redePMC.Stress0.00180.00160.00140.00120.00100.00080.00060.00040.00020.00000.000000350.000000300.000000250.000000200.000000150.000000100.000000050.00000000Kru<strong>sc</strong>al_StressMRA_StressRRMS_Stress2 3 4 5 6 7 8 9 10 11 12 13 14 15Número de neurônios da camada e<strong>sc</strong>ondidaFigura 5: Stress vs. Número de neurônios.EQM_Final2 3 4 5 6 7 8 9 10 11 12 13 14 15Número de neurôniosFigura 6. EQM vs. Número de neurônios.141


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Tabela 1: Topologia ótima com 12 neurônios na camadae<strong>sc</strong>ondidaTaxa de aprendizagem η = 0.1Épocas de treinamento 20000Neurônios na camada de entrada N = 2Neurônios na camada oculta N1 = 12Neurônios na camada de saída N2 = 2EQM 0.000000001Kruskal_stress1 0.00001540MRA_Stress 0.00001383RRMS_Stress 0.00001755Dim1Dim20.54421 -0.760280.70819 -0.645780.59369 -0.48180.42971 -0.5963(a)(b)Figura 7: (a) Matriz de pontos e, (b) Mapeamento dospontos obtidos com a rede PMC.ESTRELA:Este banco de dados é composto por 8 pontos em 2dimensões os quais formam uma estrela (Figura 8b). Ospadrões de entrada das PMC são versões distorcidasdestes pontos no sentido de rotação (Ver Figura 9b). Aoigual que o objetivo do caso anterior se requer levar ospontos distorcidos a uma disposição na qual a matriz dedistância calculada nos pontos resultantes se aproxime àmatriz de dissimilaridade.Dim1 Dim20.50 0.000.25 0.250.00 0.50-0.25 0.25-0.50 0.00-0.25 -0.250.00 -0.500.25 -0.25(a)(b)Figura 8: (a) Matriz de pontos originais. (b)Mapeamento dos pontos.Dim1Dim20.52439 0.043030.28068 0.230990.01376 0.47688-0.2749 0.25365-0.5356 -0.0337-0.2348 -0.27890.04461 -0.52830.28159 -0.23480.52439 0.043030.52439 0.04303(a)(b)Figura 9: (a) Padrões de entrada (pontos distorcidos)apresentados às redes PMC. (b) Mapeamento de pontosdistorcidos apresentados à rede.Como no exemplo anterior, foram testadas variastopologias de rede variando o número de neurônios dacamada e<strong>sc</strong>ondida. Por cada topologia testada foramexecutados 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 Stresspara cada topologia testada correspondentes ao melhortreinamento. Observa-se que com 2, 3 ou 4 neurônios nacamada e<strong>sc</strong>ondida os valores de Stress são mínimos,mas observando pelo erro quadrático médio (Ver Figura11) foi visto que a topologia com 6 neurônios na camadaoculta possui o menor valor de erro, portanto foie<strong>sc</strong>olhida esta topologia como a topologia ótima. Osparâmetros desta topologia são mostrados na Tabela 2 eos pontos obtidos com esta configuração são mostradosna Figura 12 onde pode ser observada a proximidadecom os pontos originais (rotados).Stress0.0120.0100.0080.0060.0040.0020.000Kru<strong>sc</strong>al_StressMRA_StressRRMS_Stress2 3 4 5 6 7 8 9 10 11 12 13 14 15Número de neuroniosFigura 10: Stress vs. Neurônios na camada e<strong>sc</strong>ondida.EQM0.000300.000250.000200.000150.000100.000050.00000EQM_Final2 3 4 5 6 7 8 9 10 11 12 13 14 15Número de neuroniosFigura 11: EQM vs. Neurônios na camada e<strong>sc</strong>ondida.Tabela 2: Topologia ótima com 6 neurônios na camadae<strong>sc</strong>ondidaTaxa de aprendizagem η = 0.1Épocas de treinamento 20000Neurônios na Camada de entrada N = 2Neurônios na Camada Oculta N1 = 6Neurônios na Camada de Saída N2 = 2EQM 0.00000001Kruskal_stress1 0.00242896MRA_Stress 0.00200543RRMS_Stress 0.00266045142


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Dim1Dim2-0.0474 0.58760.2890 0.47880.6253 0.36980.5165 0.03350.4075 -0.30290.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 redePMC.TABELA DE CORESCom este exemplo foi testada a eficácia do métodoimplementado para redução dimensional; aqui se tentaverificar se a implementação realizada neste trabalhoobtém os mesmos resultados que os apresentados emEkman [10] reduzindo a dimensionalidade desde 13 a 2dimensões.Na Tabela 5 é apresentada a matriz de dissimilaridadecoletada em um estudo de percepção de dados para 14diferentes cores. Cada par de cores foi julgado por 31avaliadores os quais davam juízos de similaridade.Iniciou-se em uma faixa do espetro de freqüências entre434nm a 674nm, ou seja, de azulado-roxo, azul, verde,amarelo, ao vermelho. Assim para nossa rede os padrõesde entrada corresponderão a 14 pontos cada um com 13coordenadas, obtidas pelo procedimento MDS clássico[6]. O objetivo aqui é encontrar um mapeamento dospadrões de entrada em um conjunto de pontos em umespaço 2D tal que a matriz de distância calculada nessespontos se aproxime à matriz de dissimilaridadesdesejada ( Ver Tabela 5).Ao igual que nos exemplos anteriores, foram testadasvarias topologias de rede variando o número deneurônios da camada e<strong>sc</strong>ondida. Por cada topologiatestada foram executados 6 treinamentos obtendo-se omelhor deles (com respeito ao erro quadrático médio).Stress0.350.300.250.200.150.100.050.00Kru<strong>sc</strong>al_StressMRA_StressRRMS_Stress3 5 7 9 11 13 15 17 19 21 23 25 27Número de neuroniosFigura 13: Stress vs. Neurônios na camada e<strong>sc</strong>ondida.baixo. Os mesmos resultados observam-se no EQM (VerFigura 14) donde a topologia de 4 neurônios apresenta omenor valor de stress e EQM, mas não sendo muitodistante das outras topologias entre 3 e 9 neurônios.Tomando a topologia de 4 neurônios como a ótima, osseus parâmetros são mostrados na Tabela 4.EQM0.300.250.200.150.100.050.00EQM_Final3 5 7 9 11 13 15 17 19 21 23 25 27Número de neuroniosFigura 14: EQM vs. Neurônios na camada e<strong>sc</strong>ondida.Tabela 4: Topologia ótima com 4 neurônios na camadae<strong>sc</strong>ondida para o exemplo de coresTaxa de aprendizagem η = 0.01Épocas de treinamento 15000Precisãoε = 1.0exp-14Neurônios na Camada de entrada N = 14Neurônios na Camada Oculta N1 = 4Neurônios na Camada de Saída N2 = 2Padrões P = 14EQM 0.05196261Kruskal_stress1 0.07704881MRA_Stress 0.08718920RRMS_Stress 0.12067569Tabela 5: Dissimilaridades de cores com ranges entre434 e 674 nm.434 445 465 472 490 504 537 555 584 600 610 628 651 6740 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,840,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,860,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,970,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,960,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,990,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,990,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,990,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,980,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,770,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,720,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,450,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,320,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,240,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 0A Figura 15 apresenta o mapeamento resultante obtidocom o método proposto neste trabalho e a Tabela 6apresenta as coordenadas (2 dimensões) usadas paragerar este mapeamento.A Figura 13 apresenta os valores das funções de Stresspara cada topologia testada correspondentes ao melhortreinamento. Observa-se que nas topologias com poucosneurônios (de 3 a 9) na camada oculta o valor de Stress é143


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.5. ConclusãoFigura 15: Pontos obtidos pelas PMC com topologiaótima para dados de cores de Ekman [10].Tabela 6: Matriz de coordenadas obtidas por PMCproposto neste trabalho para o mapeamento de cores.Cor Dim1 Dim2434 0.32436 0.9319445 0.24267 0.92712465 -0.0013544 0.85395472 -0.021523 0.86717490 -0.014859 0.53674504 0.1352 0.20712537 0.26816 0.043904555 0.33215 0.040847584 0.81568 0.27224600 0.95552 0.36779610 0.95912 0.5587628 0.93515 0.73255651 0.89427 0.83325674 0.8773 0.93141Fazendo uma comparação visual entre os resultadosobtidos por PMC e os resultados MDS obtidos porEkman [10] (Ver Figura 15 e Figura 16), pode serobservado que em ambos os mapeamentos estãobastante próximos (obviamente de<strong>sc</strong>onsiderando arotação).A matriz para o mapeamento obtida por Ekman eapresentada no Anexo B.Figura 16: Resultados MDS obtidos por Ekman [10].De acordo aos testes realizados pode-se concluir que ométodo implementado baseado em redes neuraisartificiais PMC mostrou ser eficiente na determinação demapeamentos para redução de dimensões. A vantagemadicional deste método é que uma vez treinado podeefetuar o mapeamento on-line para padrões de entradanão apresentados na etapa de treinamento, ao contrariode outros métodos MDS que precisam realizar um recalculode todos os dados em forma off-line. É sugeridaa realização de um estudo comparativo com outrosmétodos MDS existentes para validar o método.Também se sugere o uso de outras arquiteturas de redecom a finalidade de verificar se é possível reduzir aindamais o erro e assim atingir uma maior precisão naextração de informação relevante nos dados. Um pontoimportante foi a dificuldade na obtenção de bonsaprendizados, devido ao fato que o método de gradientede<strong>sc</strong>endente não garante pesos ótimos globais, pelo queé sugerido para futuros trabalhos o estudo de outrosmétodos de aprendizagem.6. Referências[1] A. Naud, “Neural and Statistical Methods for theVisualization 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, “Curvilinearcomponent analysis: A <strong>sel</strong>f-organizing neuralnetwork 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 andfeed-forward neural networks,” PhD thesis, TheUniversity of Aston in Birmingham, Feb. 1996.[4] C. M. Bishop, M. Svensén, and C. K. I.Williams,“GTM: A principled alternative to the <strong>sel</strong>forganizingmap,” technical report, AstonUniversity, Birmingham, Neural ComputingResearch Group, April 1996.[5] J. F. M. Svensén, “GTM: The generativetopographic mapping,” Ph.D. thesis, AstonUniversity, April 1998.[6] I. Borg and P. Groenen, ModernMultidimensional Scaling: Theory andApplications. 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, “Asimilarity-based neural network for facialexpression analysis,” Proc. Pattern RecognitionLetters, vol. 28, Issue 9, pp. 1104-1111, July<strong>2007</strong>.[9] S. Haykin, Neural Networks: A ComprehensiveFoundation, Second Edition, 1999, Prentice Hall.[10] G. Ekman, “Dimensions of color vision,” Proc.Journal of Psychology, vol. 38, pp.467–474,1954.144


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.A)ANEXODerivação da regra de aprendizagem para os neurônios da camada de saída da rede A∂E∂E∂Y2 ∂I2∇ E = = * *∂W2 ∂Y2 ∂I2 ∂W2AjiAjiAjAjAjAjAjiA∂ I 2(2)j A= Y1i∂W2A∂ Y 2 (3)jA= G`(I 2 j )A∂I2 j⎛A B∂⎞( ) ⎜Y 2 j −Y2(4)Ej= − δ ( α,β ) − d ( α,β ) *⎟A AB∂Y2 ⎜ ( α,β ) ⎟jd⎝AB⎠Substituindo (2), (3) e (4) em (1):A BE⎛ Y 2A A( )j Y 2 jE ( , ) dA AB ( , ) ** G`(I 2 j )* Y1iW 2 jid AB ( , ) ⎟ ⎟ ⎞⎜−(5)∂∇ = = − δ α β − α β∂⎜ α β⎝⎠No qual:⎛A BY 2( )j Y 2 j⎞A A2 j ( , ) d ( , ) * ⎜−(6)ρ = δ α β − AB α β⎟*G`(I 2 j )⎜ d AB ( α,β ) ⎟⎝⎠Ajuste ao gradiente:AA A∆ W 2 = −η * ∇E= η * ρ2* Y1(7)AjijiAjijAjiAiW 2 ( t + 1) = W 2 ( t)+η * ρ2* Y1(8)(1)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 Dim13434 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.002445 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.001465 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.003472 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.003490 0.425 0.083 -0.287 0.122 0.112 0.06 -0.063 0 0.008 0.012 -0.013 -0.002 0.001504 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.002537 0.239 0.483 0.046 -0.193 -0.014 -0.097 0.061 -0.001 0.026 0.004 0.02 0 0.001555 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.007584 -0.225 0.28 0.272 0.244 -0.104 0.209 0.012 0.024 0.021 -0.028 -0.014 0 -0.011600 -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.004610 -0.496 -0.028 0.011 0.119 0.085 -0.078 0.017 -0.037 0 0.005 0.007 0.001 0.009628 -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.009651 -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.008674 -0.431 -0.161 -0.152 -0.17 -0.112 0.141 0.041 -0.099 0.001 -0.008 -0.009 0 0.012145


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Extração de Minúcias em Imagens de Impressões DigitaisCASADO, Ricardo S.; PAIVA, Maria S. V. deE<strong>sc</strong>ola de Engenharia de São CarlosUniversidade de São Paulorcasado@<strong>sel</strong>.<strong>ee<strong>sc</strong></strong>.<strong>usp</strong>.<strong>br</strong>ResumoO trabalho apresenta métodos para a extração deminúcias em imagens de impressões digitais. O objetivofoi desenvolver um sistema semi-automático paraextração de minúcias para auxiliar especialistas na tarefade identificação de indivíduos, onde o sistema executa asseguintes etapas: pré-processamento das imagens com oobjetivo de aumentar a di<strong>sc</strong>riminação visual das mesmas.Etapa de afinamento e marcação das minúcias nasimagens. E por último é realizada a etapa de pósprocessamento,que visa eliminar as falsas minúciasencontradas pelo sistema. Porém é um sistema semiautomáticoonde ainda será necessária a intervenção deum especialista para o reconhecimento do indivíduoatravés da imagem.1. IntroduçãoA biometria tem se tornado um tópico cada vez maisimportante, em face das cre<strong>sc</strong>entes necessidades deproteção e segurança no mundo hodierno. Ela é definidacomo a(s) característica(s) ou métrica(s) queidentifica(m) de forma única o indivíduo [1].As impressões digitais vêm ao longo destes anosdemonstrando maior confiabilidade no que se diz respeitoà identificação de indivíduos. Utilizada nos tribunais dejustiça como provas criminalísticas esta é, portanto juntocom a assinatura a técnica biométrica mais aceita nomundo inteiro. As impressões digitais são formadas nosprimeiros meses de gestação, onde cada um tem suaprópria impressão digital, e pode ser observado que atémesmo gêmeos idênticos possuem os desenhos queformam a geometria da impressão digital diferente porexistir variações no fluxo amniótico e cada um estarinserido em um micro ambiente diferente dentro do útero[2].No trabalho primeiro são executados algoritmos depré-processamento. Já na etapa de extração das minúciasé realizado o trabalho de afinamento das cristas papilarese depois a marcação das minúcias. A etapa final é a depós-processamento, onde é realizada a remoção de falsasminúcias encontradas pelo sistema.Existem vários sistemas de detecção de minúcias emimpressões digitais, na qual a maioria deles realiza oprocesso de classificação e verificação, estes por sua vezsão conhecidos como sistemas automáticos. Já o sistemaapresentado 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-seobservar vários tipos delas como as apresentadas nafigura de número 1.1.Fig. 1.1 Amostra de várias minúcias.Estas minúcias podem se restringir a apenas doisgrupos, as terminações e as bifurcações. Na qual já épossível diferenciar um indivíduo do outro. Geralmenteem uma imagem de impressão digital de boa qualidade épossível observar de 40 a 100 minúcias [3].No sistema desenvolvido foram utilizados paratestes imagens do DB2 e do DB4 encontradas no siteFVC2004 (Fingerprint Verification Competition) [4]. Asimagens encontradas no DB2 foram obtidas através deum sensor óptico e as encontradas no DB4 foram geradaspelo SFinGe (Synthetic Fingerpring Generation).Fig. 1.2 Amostras das imagens capturadas pelos sensores.2. Etapa de pré-processamentoAs imagens de impressões digitais são préprocessada<strong>sc</strong>om o intuito de reduzir as distorções e146


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.aumentar a di<strong>sc</strong>riminação visual entre os objetos contidosna imagem. Pois desde que as imagens são obtidasatravés de sensores podem apresentar deformações secomparadas com a digital original do indivíduo.2.1 Espalhamento de contrasteO espalhamento de contraste é utilizado, poisem imagens de má qualidade apresentam deficiência nocontraste que podem gerar configurações de pixelssimilares ou ignorar minúcias verdadeiras. Este processoconsiste em calcular para cada pixel um valor médio deintensidade em uma vizinhança de 5x5. Se o valor dopixel for menor que a média do bloco considerado, entãoo pixel de interesse receberá o valor zero; caso contrárioo pixel receberá seu valor original [5].Onde B(i,j) é a imagem binária resultante, O(i,j) é aimagem de entrada, ou seja, a imagem original, T é onível de threshold utilizado para realizar a binarização daimagem, N são as linhas e M as colunas da imagem.O threshold adaptável é utilizado, pois o valor donível de cinza é diferente em cada parte da imagem. Porisso é necessária a utilização de pequenos blocos parapercorrer a imagem e realizar a binarização. Então othreshold é calculado para cada bloco da imagem usandoo valor médio de cinza como valor de nível de threshold[7].2.3 Imagem direcionalFig. 2.2 Imagem binarizada.Fig. 2.1 Imagem original e imagem equalizada.2.2 BinarizaçãoA binarização das imagens é de grande uso e dedestacada importância quando são usadas imagensdigitalizadas de impressões digitais. Uma vez que umaimpressão digital deve possuir apenas duas tonalidades, acor do fundo e a cor do desenho. Então a binarização étransformar a imagem original de 8 bits em uma imagemde 1 bit, ou seja, a binarização consiste em transformaruma imagem em tons de cinza em uma imagem preto e<strong>br</strong>anco e esta operação é referida na literatura comothreshold [6].Um método de threshold adaptável é executado parabinarizar a imagem que contém a impressão digital.Neste método verificam-se os valores de intensidade dospixels com um determinado valor chamado de nível dethreshold. Se o pixel de interesse tem valor menor que onível de threshold utilizado, então o pixel receberá ovalor zero, caso contrário este receberá o valor um. Estaoperação pode ser expressa pela seguinte expressão:(1) B(i, j) = 0 se O(i, j) < TB(i, j) = 1se O(i, j) >= T(i = 1, 2, ..., N; j = 1,2, ..., M)A maior parte dos trabalhos de extração deminúcias utilizam a imagem direcional, pois através delaobtêm-se informações contidas nos padrões de impressõesdigitais que podem ser seguramente calculadas emimagens ruidosas [8]. A imagem direcional na verdadetem grande importância durante o processo de extraçãodas características globais (núcleo e delta) da imagempara um posterior processo de classificação desta dentreos cinco padrões adotados pelo NIST (National Instituteof Standards and Technology) que são: Arco angular,arco plano, presilha interna, presilha externa e verticilo,na qual depois de localizada à qual classe pertence talimagem o processo torna-se mais rápido, pois não épreciso procurar a imagem entre todas as outras no bancode dados. Ela também é importante durante o processo dereconhecimento do indivíduo, onde é criado um vetor decaracterísticas contendo a localização da minúcia, seutipo e orientação.A princípio o objetivo era desenvolver um sistemaautomático que realizasse a detecção de minúcias, da<strong>sc</strong>aracterísticas globais, classificação e reconhecimento. Ecomo a técnica para o cálculo da imagem direcional jáhavia sido pesquisada, foi interessante mantê-la notrabalho para estas futuras tarefas.O fluxo direcional das cristas papilares que formam asimpressões digitais pode ser estimado através de suastexturas. Assim o campo de orientação forma uma matrizde direções representando as cristas e os vales (espaçoentre as cristas) para cada localização na imagem, este147


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.método é bastante utilizado em sistemas de identificaçãoe autenticação de impressões digitais [9].Para estimar o fluxo da orientação local das cristaspapilares é necessário utilizar um bloco de estimaçãopara cada bloco da imagem que contém a impressãodigital com tamanho de WxW (W tem 16 pixels porpadrão).Calculam-se os valores dos gradientes na direção x e ypara cada pixel através de uma má<strong>sc</strong>ara de sobel 3x3. E afórmula para realizar o cálculo da orientação do vetorgradiente é apresentada abaixo.⎛ Gy ⎞(2) α( x,y)= arctan⎜⎟⎝ Gx ⎠Os operadores morfológicos são utilizados aqui paradeterminar a região de interesse que na verdade é apenasa região em que se encontram as informaçõesimportantes da impressão digital, ou seja, o algoritmo dedetecção de minúcias só irá percorrer a área em cinzaapresentada na figura 2.4 ignorando as outras regiões.Nesta etapa são utilizados dois operadores morfológico<strong>sc</strong>hamados de operação “OPEN” e “CLOSE”, ambosencontrados na toolbox de morfologia matemática dosoftware Matlab (bwmorph).A operação “OPEN” é capaz expandir a imagem eremover pontos introduzidos por ruídos existentes nofundo da imagem. Já a operação “CLOSE” é capaz decontrair a imagem e eliminar pequenas cavidadesexistentes na mesma.Para estimar a direção das cristas papilares bastacalcular os valores do vetor gradiente que foramcomputados juntamente com os valores dos cos-senos edos senos dos ângulos formados entre as cristas papilarese os eixos x e y.(3)⎛1 ⎜θ ( x,y)= arctan⎜2 ⎜⎝∑i,j)∈∑(( i,j)∈sin 2α( i,j)⎞⎟W⎟cos 2α( i,j)⎟W ⎠E então o processo é finalizado com a estimação dadireção de cada bloco, aqueles blocos sem informaçõessignificantes das cristas papilares e dos vales da imagemque contêm a impressão digital são de<strong>sc</strong>artados baseadosna seguinte fórmula:(4)2 2{2 ∑ ∑(Gx*Gy)+ 2∑ ∑(Gx − Gy )}E =2 2W * W * ∑ ∑(Gx + Gy )Se o nível de E é menor que o nível de threshold,então o bloco é estimado como se fosse o fundo daimagem.Fig. 2.3 Direção estimada do fluxo das cristas papilares.2.4 Região de interesse (ROI)Fig. 2.4 Região de interesse (área cinza).3. Etapa de extração das minúciasNesta etapa serão apresentados métodos de afinamentodas cristas papilares da impressão digital contida naimagem (thinning). Após a operação de afinamento sãoutilizadas técnicas para remover pontos isolados ereentrâncias existentes entre as cristas papilares. E porfim é realizada a operação de extração das minúciasencontradas na impressão digital, ou seja, as terminaçõese as bifurcações.3.1 Afinamento ou thinningO thinning também conhecido como afinamento da<strong>sc</strong>ristas papilares é uma técnica que pode ser utilizadapara remover pontos isolados no fundo da imagem eângulos retos ao longo de bordas dos objetos [10]. Oalgoritmo de afinamento é um casamento de má<strong>sc</strong>aras(blocos) que percorrem a imagem verificando se um pixelfaz ou não parte das cristas papilares que compõem aimpressão digital. O afinamento é definido em termos datransformada “hit or miss”, que no caso é o casamentodas má<strong>sc</strong>aras. Em geral os algoritmos de afinamentoconsomem muito tempo em específico para impressõesdigitais, pois a varredura da imagem é feita linha a linha,examinando a vizinhança e verificando quando um pixelpode ou não ser apagado [11].148


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.O algoritmo de afinamento é executado até que a<strong>sc</strong>ristas papilares da imagem atinjam a espessura de umpixel, normalmente estes algoritmos necessitam de 20 a30 passos para afinar as cristas em uma imagem deimpressão digital. E, portanto para otimizar este processoé necessário conhecer o processo de thinning. Oafinamento é realizado através de pares de elementosestruturantes, porém é sugerido na literatura que estasoperações podem ser efetuadas de forma simétrica apartir 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 valormuda de um para zero, a imagem é dita transformada.Um número total de pixels apagados em um passoconstitui um número total de mudanças neste passo. Oafinamento pode ser dado como completo quando onúmero de mudanças na imagem converge para zero, ouseja, quando não ocorrem mais mudanças [12].Fig. 3.3 Pixel central e seus respectivos vizinhos.Observa-se a seguinte condição para realizar aremoção de pontos indesejáveis, ou seja, que não fazemparte das cristas papilares (ruídos). Primeiramente,define-se o pixel de interesse P (i, j) localizado no centroda má<strong>sc</strong>ara ou bloco que irá percorrer a imagem linha alinha.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). Destaforma é possível obter uma imagem filtrada do esqueletoque forma a impressão digital.Fig. 3.4 Má<strong>sc</strong>ara de remoção de reentrâncias.Fig. 3.1 Família de elementos estruturantes.Os símbolos ativos são representados pelo númerozero e os representados pela letra x são os pixels que nãointeragem com a imagem.Já para a remoção de pontos existentes no fundo daimagem, ou seja, totalmente de<strong>sc</strong>onexos das cristas queformam a impressão digital é utilizado também comoanteriormente uma um bloco de dimensões 3x3, porém setodos os pixels vizinhos ao pixel central possuírem valorzero e apenas o pixel central possuir valor um, então ele étransformado em zero também, passando a fazer parte dofundo da imagem.Fig. 3.5 Má<strong>sc</strong>ara de remoção de pontos.Fig. 3.2 Afinamento.3.2 Filtro de remoção de ruídosConsiderando as características essenciaismencionadas no algoritmo de afinamento, pretende-seremover os pixels que contornam as cristas papilares queformam a impressão digital, exceto aqueles que compõemestas cristas, de forma iterativa. Por exemplo, o pixel P(i,j) para ser removido deve ter alguns relacionamentosespeciais em relação a seus vizinhos.Fig. 3.6 Remoção de ruídos.3.3 Detecção de minúciasDepois de executar o algoritmo de afinamento da<strong>sc</strong>ristas papilares na imagem de impressão digital o149


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.processo de extração das minúcias se torna relativamentefácil, pois depois das cristas serem afinadas estaspassarão a ter uma espessura de um pixel o que tornapossível que seja utilizado um bloco 3x3 (pequeno) paravarrer a imagem em bu<strong>sc</strong>a das minúcias. Porém aextração das minúcias não é uma tarefa trivial comoapresentado em muitas literaturas porque por menor queseja pode haver um caso que necessite de cuidadosespeciais durante o estágio de marcação destas.O algoritmo para marcação das supostas minúcias dáseatravés do processo, onde um bloco ou má<strong>sc</strong>ara dedimensão 3x3 percorrerá a imagem linha a linha paradetectar terminações e bifurcações nas cristas papilares.Por exemplo, se o pixel central tem valor um e tambémmais três vizinhos com valor um, então este local serámarcado como uma minúcia do tipo bifurcação. Agora seo pixel central possuir valor um e apenas um de se<strong>usp</strong>ixels vizinhos também possuir valor um, então o localserá 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-processamentoA etapa de pré-processamento não recuperacompletamente a imagem da impressão digital. Todas asetapas anteriores ocasionalmente introduzem algum tipode ruído na imagem que posteriormente influenciam nadetecção das minúcias. Por isso é necessário que haja umprocesso de remoção de falsas minúcias.4.1 Remoção de falsas minúciasAs falsas minúcias afetam significativamente naprecisão do processo que vem logo a seguir, que é o deverificação e comparação das minúcias para uma supostaidentificação. Pois o sistema irá realizar comparaçõe<strong>sc</strong>om pontos que na verdade não são as minúcias reais quediferenciam um indivíduo do outro, ocasionando assimuma falsa identificação. Portanto alguns mecanismospara remover as falsas minúcias são necessários paramanter um sistema de verificação de impressões digitaisestável.No diagrama abaixo são especificados seis tipos defalsas minúcias que ocorrem em uma imagem deimpressão digital.(a) (b) (c) (d) (e) (f)Fig. 4.1 Estrutura de falsas minúcias.Em (a) temos um caso de que<strong>br</strong>a encontrado na cristapapilar, já em (b) uma ponte que conecta duas cristas, nocaso (c) ocorre um pequeno segmento de crista no valetambém conhecido como ilhota, em (d) ocorre um casoconhecido como lago que é o encontro de duasbifurcações existentes na mesma crista papilar criandoum espaço entre ela, em (e) pode-se observar uma espúriaque é uma pequena ramificação encontrada na crista epor último em (f) nota-se uma ocorrência de pontosisolados encontrados entre as cristas papilares.O processo para remoção de falsas minúcias é oseguinte:I – Se duas terminações estão dentro de um mesmobloco com distância D e suas direções são coincidente<strong>sc</strong>om uma pequena variação angular, então é imposta acondição de que não há nenhuma terminação entre asduas terminações que foram marcadas como minúcias,pois é considerado que houve uma que<strong>br</strong>a na crista (casoa).II – Se a distancia entre duas bifurcações é menor queD e elas estão na mesma crista, é removida as duasbifurcações (casos b e d).<strong>III</strong> – Se duas terminações se encontram em umadistância menor que a especificada em D, é removido asduas terminações (caso c).IV – Se a distância entre uma bifurcação e umaterminação é menor que D e as duas minúcias seencontram na mesma crista são removidas ambas asminúcias (caso e).V – Se por algum motivo ainda existirem pontosisolados entre as cristas papilares e estes não tiveremnenhum vizinho dentro da distância especificada, estaminúcia também será removida.150


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.5. TestesFig. 4.2 Remoção de falsas minúcias.Os testes foram realizados em um micro-computadorAMD Athlon 64 3800+ com 2GB de memória RAM. Eforam utilizadas 50 imagens obtidas por um sensor ópticoe 50 obtidas através do SFinGe (Synthetic FingerprintGenerator), que gera imagens de impressões digitaissintéticas. Os resultados foram satisfatórios, visto quesegundo [14] em uma digital contendo, entre 36 a 46minúcias em média, 15 já são suficientes para realizaruma identificação correta. Analisando-se 10 imagens decada banco de dados nas quais foram realizados os testese em todas foram detectadas de 42 a 80 minúcias, e umamédia de 18 minúcias detectadas corretamente. O que seenquadra nas estatísticas citadas acima.Porém ainda é um número muito alto de falsasminúcias, o que incentivou mais pesquisas relacionadas afiltragem no domínio da freqüência com filtros passabaixase passa-altas que estão sendo pesquisados paraserem aplicados e agrupados ao projeto final.6. ConclusõesO sistema apresentado atinge o objetivo que é o dedetecção de minúcias nas imagens de impressões digitais,porém ainda está em fase de aperfeiçoamento. Mesmoassim apresenta várias técnicas de processamento deimagens que são relevantes para as etapas de detecção emarcação das minúcias. Na etapa de pós-processamentosão definidos seis tipos de falsas minúcias que podem serdetectadas pelo algoritmo e posteriormente removidas oque torna o sistema mais robusto.ReferênciasIEEE Transactions on Pattern Analysis and MachineIntelligence, vol. 20, nº 8, pp. 777-789, 1998.[4] The Third International Fingerprint VerificationCompetition. Disponível em:. Acesso em: 06 Dez2006.[5] HONG, L.; JAIN, A. K.; PANKANTI, S.;BOLLE, R. “Fingerprint Enhancement”. Proc. ThirdIEEE Workshop on Applications of Computer Vision,pp. 202-207, 1996.[6] RATHA, N. K.; CHEN, S.; JAIN, A. K.“Adaptative Flow Orientation – Based FeatureExtraction 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 fromskeletonized binary images”. Pattern Recognition, 32, pp.877-889, 1999.[8] CAPPELLI, R.; LUMINI, A.; MAIO, D.;MALTONI, D. "Fingerprint Classification byDirectional Image Partitioning". IEEE Transactions onPattern Analysis and Machine Intelligence, vol. 21, nº 5,pp. 402-421, 1999.[9] ZHANG, Q.; HUANG, K.; HONG, Y.“Fingerprint Classification Based on Extraction andAnalysis of Singularities and Pseudoridges. School ofElectrical and Information Engineering University ofSydney, NSW 2006, Australia.[10] MEHTRE, B. M. "Fingerprint Image Analysisfor Automatic Identification". Machine Vision andAplicattions, 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 forData Compression by B-Spline Functions”. PatternRecognition, 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. “DigitalImage Processing”. Addison Wesley PublishingCompany, 1987.[14] PRABHAKAR, S. “Fingerprint Classificationand Matching Using a Filterbank”. PhD Thesis,Michigan State University, 2001.[1] LIU, S.; SILVERMAN, M. “A Practical Guideto Biometric Security Technology”. IT Pro, [S.l.], pp. 27-32, January/Fe<strong>br</strong>uary, 2001.[2] PRABHAKAR, S. “Fingerprint Classificationand Matching Using a Filterbank”. PhD Thesis,Michigan State University, 2001.[3] HONG, L.; JAIN, A. K. “Fingerprint ImageEnhencement: Algorithm and Performance Evaluation”151


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP. 152


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP. 153


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP. 154


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP. 155


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP. 156


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP. 157


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Algoritmos para Compressão e Expansão de Imagens DistribuídasFabio Jorge Assad GostaldonUniversidade Estadual Paulista/FEISDepartamento de Engenharia Elétricafabioj.assad@gmail.comAilton Akira ShinodaUniversidade Estadual Paulista/FEISDepartamento de Engenharia Elétricashinoda@dee.feis.unesp.<strong>br</strong>AbstractDigital processing of images is an area that demandgreat capacity of processing. Towards this fact theimplementation of softwares becomes interesting whenbased on the distribution of the processing in severalpieces divided by computers belonging to a samenetwork. Specifically in this work they are handled asdistributed algorithms of compression and expansion ofimages using the di<strong>sc</strong>rete cosine transform. The resultsshow that the economy in processing time obtained duethe parallel algorithms (two different boardings), incomparison to its sequential equivalents, is a functionthat depends on the resolution of the image and thecomplexity of the involved calculation, that is, efficiencyis as greater as longer is the processing period in termsof the time involved for the communication between thenetwork points.1. IntroduçãoO processamento de imagens tem sido usado emaplicações relacionadas a sensoriamento remoto,medicina, cartografia, indústria, manufatura e diversasoutras áreas. Devido ao processamento estar baseado emvolumosas operações matemáticas e a demanda porrecursos computacionais mais sofisticados e eficientes,implementou-se uma biblioteca voltada aodesenvolvimento de tarefas ligada ao processamento deimagens possuindo duas características básicas: (i)portabilidade e (ii) velocidade de processamento.Uma abordagem elegante para esse problema é autilização de algoritmos e sistemas distribuídos. Umsistema distribuído é definido em [8] como "coleção decomputadores independentes que se apresenta ao usuáriocomo um sistema único e consistente"; outra definiçãoencontrada em [1] diz: "coleção de computadoresautônomos interligados através de uma rede decomputadores e equipados com software que permita ocompartilhamento dos recursos do sistema: hardware,software e dados".Além da rede de comunicação, é necessária umacamada de software que possa gerenciar o uso paralelodas estações de trabalho. Para tanto existem bibliotecasespecializadas para tratamento da comunicação entreprocessos e a sincronização de processos concorrentes.Um dos sistemas de troca de mensagens mais utilizadosna atualidade é o MPI (Message Passing Interface).MPI é uma biblioteca de troca de mensagemdesenvolvida para ser padrão de comunicação entreprocessos em ambientes de memória não compartilhada[4]. O MPI define um conjunto de rotinas para facilitar acomunicação (troca de dados e sincronização) entreprocessos, ela é portável para qualquer arquitetura, temaproximadamente 125 funções para programação eferramentas para análise de performance. A bibliotecaMPI possui rotinas para programas em linguagem C,C++, Fortran 77/90. Os programas são compilados eligados à biblioteca MPI.Neste trabalho, as ferramentas citadas acima foramaplicadas à maior área do processamento de imagens queAgradeço a FAPESP pelo suporte através da bolsa de IC processo 2005/04786-2158


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.é a aquisição, armazenamento e recuperação dos dados,neste meio está incluída a compressão de imagens. Amaioria das técnicas de compressão utilizamtransformadas bi-dimensionais com o intuito de reduzir oespaço utilizado na sua armazenagem. Isto é possível,pois em geral as imagens têm alta coerência o que resultaem muitas redundâncias na informação quandocodificada.A mais comum das transformadas bi-dimensionais decompressão de imagens é a transformada di<strong>sc</strong>reta decosseno(Di<strong>sc</strong>ret Transform Cossine – DTC), que é basepara os formatos de compressão mais populares como oJPEG e MPEG.De maneira geral, os dados amostrados da imagem sãosubmetidos à DTC o que gera um modelo mai<strong>sc</strong>onveniente para a sua especificação. Em seguida, éaplicado um método chamado de di<strong>sc</strong>retização, queutiliza o modelo funcional gerado pela DTC fazendo acompressão e<strong>sc</strong>revendo as informações contida nela commenos bits [3] seguindo o padrão da Figura 2.Este trabalho está organizado da seguinte forma. Aseção 2 de<strong>sc</strong>reve as condições e a forma em que osalgoritmos de compressão e expansão foram criados e ostestes realizados. A seção 3 apresenta os resultadosobtidos com os algoritmos paralelos comparando-os comos seqüenciais e também são comparadas entre si as duasabordagens de paralelização aqui utilizadas.2. Materiais e MétodosEste trabalho foi realizado nas dependências doLaboratório Linux de Processamento Paralelo (LLPP),localizado no Departamento de Engenharia Elétrica daUNESP/Ilha Solteira. O laboratório possui quatrocomputadores AMD 2.6 Ghz, 512 Mb de RAMinterligados com switch da 3com a 100 Mbits/s. No LLPPo login do usuário é autenticado em um servidor NIS e oseu diretório home é exportado via NFS. Assim, emqualquer nó, o usuário pode entrar na rede utilizando seupróprio login e senha, tendo acesso aos seus dados.Os algoritmos deste trabalho são baseados nosalgoritmos de [2] assim como a estrutura de arquivos queé chamada de DSPfile e tem a sua forma ilustrada naFigura 1.A imagem digital é representada por uma matriz, ondeo valor de cada uma de suas posições define a intensidadeluminosa de cada pixel. Com isso, para armazenar essaimagem em um DSPfile cada linha da matriz éarmazenada em um Record.O algoritmo paralelo de compressão, implementadoem linguagem C, faz a leitura da imagem e então operauma técnica conhecida como código de bloco. Essatécnica divide a imagem em várias sub-imagens menoresde tamanho 8x8. É exatamente neste momento que oparalelismo é explorado. O número de sub-imagensresultantes é dividido adequadamente em conjuntos, deforma que se novamente agrupadas formam 8 linhas daimagem original, e assim, são enviados para os nós umamensagem com a informação de quais conjuntos cada umserá 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).TCACDTC{A } = (1)2Nonde a matriz A é a subimagem, N é a ordem da matriz Ae C a matriz de cossenos constantes onde cada elemento édefinido pela equação (2).⎡ (2n+ 1) uπ⎤c[u][n]= cos⎢⎥⎣ 2N⎦Os coeficientes resultantes da aplicação da DTC sãoentão quantizados, isto é, r<strong>ee<strong>sc</strong></strong>ritos com menos bits, e(2)159


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.com isso se perde alguma informação, o que justifica umapequena degradação na qualidade da imagem. O<strong>sc</strong>oeficientes resultantes da DTC formam uma matriz 8x8e a posição do coeficiente na matriz, Figura 2, informa aquantidade de bits empregada em cada local, promovendoum fator de compressão de 4:1.Para determinar o melhor tamanho do bloco,primeiramente é preciso conhecer a relação entre osblocos e pixels adjacentes. Na maioria das imagens acorrelação significante existe apenas para 20 pixelsadjacentes. Portanto, para blocos maiores que 16x16, oganho de fidelidade é menor e menos significativo. Porisso, blocos maiores que 16x16 não se justificam [7].O fluxograma da Figura 3 exemplifica melhor adinâmica empregada no algoritmo de compressão deimagens (compressP).256x256, 640x480, 2048x1536, 2560x1920 e 2816x2112.Este procedimento foi repetido variando-se a quantidadede nós da máquina paralela.Figura 2. Matriz com a quantidade de bits que cadacoeficiente será r<strong>ee<strong>sc</strong></strong>rito.O algoritmo de expansão (expandP) funciona de formasimilar ao de compressão. Faz-se primeiro a leitura doDSPfile gerado pelo programa de compressão e então aquantidade de Record (Figura 1) do arquivo é repartidoentre os nós, que primeiramente de<strong>sc</strong>ompacta o<strong>sc</strong>oeficientes quantizados copiando os mesmos para umamatriz 8x8. Então, é aplicada a DTC inversa nessasmatrizes, o que resulta nas sub-imagens que são enviadasao nó principal onde são adequadamente agrupadasformando novamente a imagem com alguma degradaçãoem relação a original.Os testes iniciaram-se aplicando os algoritmos decompressão e expansão (compressP e expandPrespectivamente) so<strong>br</strong>e uma imagem com resolução256x256. Nesta etapa os algoritmos são executados emquatro nós.Para a melhor percepção e comparação da economiade tempo no uso dos algoritmos paralelo, estes foramaplicados so<strong>br</strong>e uma mesma imagem de resoluçãoFigura 3. Fluxograma do algoritmo paralelo de compressãode imagens (compressP).Como em termo absoluto o tempo dispendido com acompressão e expansão não é muito alto, criou-se umcenário composto por uma seqüência de até 50 imagens,que são comprimidas ou expandidas uma a uma assim queobtidas, com resolução 2816X2112 (para a obtenção dosresultados as imagens utilizadas eram idênticas)aumentando o tempo gasto na execução dos algoritmos eassim possibilitando uma melhor análise.Os resultados obtidos estimularam uma abordagemdiferente para o problema. Agora as 50 imagens, deresolução 2816X2112, já foram amostradas, e estão todasdisponíveis para a compressão ou expansão. Para estecenário o algoritmo de compressão criado (compressPF)solicita como entrada um arquivo com o nome dasimagens a serem comprimidas e em seguida, distribuiestrategicamente entre os nós uma certa quantidade deimagens. Esta abordagem é chamada de paralelização160


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.externa, isto é, tarefas inteiras são distribuídas e não há anecessidade de modificação no código de compressão. Oalgoritmo de expansão (expandPF) opera de formasimilar.3. Resultados e Di<strong>sc</strong>ussõesA Figura 4 mostra a imagem original de Lenna e aFigura 5 mostra a imagem de Lenna depois de sercomprimida e recuperada utilizando quatro nós. Pode-seobservar pelas fotos que a imagem recuperada é muitosimilar à original.linearmente com o aumento da resolução, ou seja, quantomaior o número de pixels da imagem. Isto pode serobservado na Figura 6.Contudo percebe-se que para apenas uma foto adiminuição no tempo de execução é pouco sensível ao usodo algoritmo paralelo. Como esperado, o uso do algoritmoparalelo é mais eficiente em fotos com alta resolução.Utilizando esse fato e imaginado uma situação onde sedeve comprimir uma seqüência de imagens de altaresolução assim que são amostradas, o tempo de execuçãopara a compressão dessa seqüência aumenta com oaumento do número de fotos, como se pode observar naFigura 7 onde é mostrado o speedup do programa.Os resultados da utilização das técnicas deparalelização no algoritmo expandP de expansão deimagem não se mostraram tão vantajosos quanto os decompressão. Isto ocorreu porque após a compressão aoperação inversa para recuperar a imagem, maisespecificamente a inversa da transformada di<strong>sc</strong>reta docosseno, é mais simples, ou seja, a quantidade deoperações e complexidade dos cálculos se torna tãopequena que o tempo gasto com o processamento dosdados é relativamente menor em relação ao tempo gastocom a comunicação entre os processos. Estes fatos sãocomprovados no gráfico da Figura 8Figura 4. Imagem (256x256) original de Lenna. Figura 6. Tempo de compressão para imagens dediferentes resoluções utilizando compressP.Figura 5. Foto de Lenna após ser comprimida e expandida.O tempo de execução de compressP aumentaPode-se observar que apesar do tempo de execuçãoaumentar com o aumento do número de fotos da série, aeconomia de tempo utilizando mais nós é pequena e semantém praticamente constante um em relação ao outro, epor isso o speedup se mantém constante não importando onúmero de fotos da série. Também o valor do speedup161


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.não é muito satisfatório atingindo apenas o valor de 1,5com 4 nós.Figura 7. Speedup para comprimir as séries de fotos de 6Mpixels com compressP. Figura 8. Speedup para expandir as séries de fotos de 6Mpixels com expandP.Agora com os algoritmos compressPF e expandPF,aplicados a mesma seqüência de 50 imagens com altaresolução, obteve-se os speedups mostrados nas Figuras 9e 10 respectivamente para compressão e expansão.Os resultados mostram um desempenho muito similardos algoritmos compressP e compressPF. Na verdade, emvalores absolutos de tempo, o algoritmo compressP semostrou mais eficiente para comprimir uma série de 50imagens, como é mostrado na Tabela 1.Já para a expansão o algoritmo expandPF demonstroueficiência muito maior em relação ao expandP. Com autilização de 4 nós, quanto maior a quantidade deimagens mais o speedup do algoritmo se aproxima dovalor ideal 4. E o mesmo aconteceu para 3 nós quando ospeedup se aproximou de três, e para 2 nós quando ospeedup se aproximou de dois. Figura 9. Speedup para comprimir uma série de imagens de6 Mpixels com compressPF. Figura 10. Speedup para expandir uma série de imagens de6 Mpixels com expandPF.Tabela 1: Valores absolutos de tempo de execução dosalgoritmos de compressão4 nós 3 nós 2 nós 1 nócompressP 33,5 s 42,7 s 58,9 s 116,0 <strong>sc</strong>ompressPF 43,3 s 52,8 s 75,5 s 150,9 sCom os resultados obtidos é possível fazer uma melhore<strong>sc</strong>olha entre os algoritmos para uma determinadaaplicação. Por exemplo, é mais comum a necessidade dacompressão das imagens uma a uma quando estas estãosendo amostradas, e portanto, a e<strong>sc</strong>olha do algoritmocompressP é a mais adequada. Já para expandir as162


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.imagens, estas provavelmente já estarão disponíveis comoresultado prévio do programa de compressão, e portanto autilização do algoritmo expandPF é mais adequada, vistoque este tem melhor desempenho em relação ao expandP.4. ConclusõesA utilização das técnicas de paralelização nosalgoritmos de compressão e expansão, dando origem acompressP e expandP respectivamente, não diminuiu suaeficiência com relação à qualidade da imagem resultante,isso devido à paralelização estar baseada no código debloco já bem fundamentado teoricamente.Na compressão de imagens a utilização de algoritmosparalelos foi altamente vantajosa, tanto para compressPcomo para compressPF. A economia de tempo foisignificativa, chegando próximo a 4 vezes com autilização de quatro computadores para se comprimir 50imagens de 6 Mpixels.Como mencionado anteriormente o mesmo nãoocorreu para a expansão das imagens com o algoritmoexpandP. A complexidade dos cálculos não se mostraramtão altos, e por isso o ganho de tempo com oprocessamento paralelo aplicado na expansão não foimuito significativo.Contudo, através de uma abordagem diferente(paralelização externa) criou-se o algoritmo expandPF,que elevou muito o speedup conseguido com o algoritmoexpandP, chegando até próximo de 4 com a utilização dequatro nós expandindo uma série de 50 imagens de 6Mpixels.Portanto, os resultados se mostraram extremamentefavoráveis ao uso do processamento paralelo emprocessamento digital de imagens.Este trabalho foi financiado pela Fundação de Amparoà Pesquisa do Estado de SP (FAPESP) através de bolsa deIniciação Científica sob o numero de processo2005/04786-2.[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 completereference, V.2, MIT Press, Cam<strong>br</strong>idge, 1998.[5] Karniadakis, G., R.M. Kirby, Parallel Scientific Computingin C++ and MPI, Cam<strong>br</strong>idge University Press, Cam<strong>br</strong>idge,2003.[6] Oppenheim, A.V., S.W. SCHAFER, Di<strong>sc</strong>rete Time SignalProcessing, 2 ed, Prentice Hall, New Jersey, 1998.[7] Pratt, W.K., Digital Image Processing, Wiley-Inter<strong>sc</strong>ience,New York, 1978.[8] Tenenbaum, A.S.; M.V. STEEN, Distributed Systems –Principles and Paradigms, Prentice Hall, New Jersey, 2001.5. Referências[1] Coulouris, G. et al, Distributed Systems – Concepts andDisign, 4 ed., Prentice Hall, New Jersey, 2005.[2] Em<strong>br</strong>ee, P.M.; D. Danieli, Algorithms for Digital SignalProcessing, 2 ed., Hall PTR, New Jersey, 1998.163


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.ANÁLISE DE UMA ESTRUTURA DE REDE NEURAL NEOCOGNITRONCOM A INSERÇÃO DE PONTOS DE CONTROLES APLICADA AORECONHECIMENTO FACIALProf. Ms. Angelo Rodrigo BianchiniUniversidade Federal do MaranhãoDepartamento de InformáticaGIA - Grupo de Informática Aplicadabianchini@ufma.<strong>br</strong>Prof. Dr. José Hiroki SaitoUniversidade Federal de São CarlosDepartamento de ComputaçãoGAPIS – Grupo de Arquitetura e Processamento de Imagens e Sinaissaito@dc.uf<strong>sc</strong>ar.<strong>br</strong>AbstractIn this work it is presented a face recognition neuralnetwork structure based in the neocognitron. The networkstructure is divided into two major stages: (a) NeuralNetwork for Detection of Control Points (NNDCP), whichobtains the control points to be used in the nonsupervisedtraining structure of the neocognitron, and (b) NeuralNetwork for the Facial Recognition (NNFR), whichcarried out the recognition of face samples.The main characteristic of NEOPC is the use ofcontrol points for the extraction of patterns strategicallylocated, such as eyes, noses and lips, used on nonsupervised training of the NNFR. The proposed systemwas implemented and the results are presented.1. IntroduçãoHá vários anos um grande número de pesquisas vemsendo realizado para prover sistemas de reconhecimentoautomático, devido à grande demanda de aplicaçõesnecessárias no mercado.Uma das primeiras técnicas “não-convencionais”utilizadas em sistemas de reconhecimento automático foi aimpressão digital, utilizada comercialmente desde 1960,quase que exclusivamente, em áreas forenses parainvestigações criminais.Diversas áreas de pesquisas relacionadas aoreconhecimento facial, como detecção, representação eprocesso, têm despertado um interesse ainda maior, emdecorrência da vasta possibilidade existente de aplicaçõe<strong>sc</strong>omo, por exemplo, sistemas de controle automático deacesso, interface homem-máquina e sistemas devigilância.Uma das dificuldades dos modelos computacionais parao reconhecimento facial é tratar a complexidade dospadrões visuais. Embora todas as faces sejam compostaspor padrões reconhecidos universalmente (boca, olhos enariz), elas possuem poucas variações. Torna-se degrande importância para o reconhecimento facial autilização das variações sutis na determinação da<strong>sc</strong>aracterísticas relevantes [1], sendo necessário ainda,que essas características possuam uma larga variaçãoestatística em relação ao conjunto total de amostras paraserem consideradas únicas para cada indivíduo. O pontoideal é que a variância inter-classe seja grande e a intraclassepequena, para que faces diferentes gerem códigosos mais distintos possíveis, enquanto diferentes imagensde uma mesma face gerem códigos bastante similares[3].O reconhecimento facial é considerado um problemaclássico na área de visão computacional, principalmente,devido à complexidade existente na detecção ereconhecimento dos padrões.Neste trabalho são apresentados dois resultados para oreconhecimento facial através de uma estrutura de redeneural neocognitron com a inserção de pontos de controle.O objetivo da estrutura de rede neural proposta é obtermelhores resultados no processo de aprendizagem e164


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.generalização da rede para o reconhecimento de imagen<strong>sc</strong>onstituídas por um grande número de padrões, muitasvezes, com baixo índice de variação entre as diferente<strong>sc</strong>lasses, como é o caso das imagens faciais.2. NeocognitronO neocognitron é uma rede neural composta de vária<strong>sc</strong>amadas de células neurais, organizadas matricialmente,inspirada no modelo biológico de visão de Hubel eWie<strong>sel</strong> [4]. Como em outros modelos de redes neurais,no neocognitron é possível identificar uma fase detreinamento não-supervisionado e uma fase dereconhecimento, com sua estrutura pertencente acategoria das redes neurais de interconexõesprogressivas [6].A estrutura da rede, Figura 1, consiste de vários estágiossucessivos, cada qual com dois tipos principais decamadas de células: Us de células-S, responsáveis pelaextração dos fatores, e Uc de células-C que fazem ageneralização dos sinais. O estágio inicial da rede é acamada de entrada, chamada de Uo.As células-S são variáveis e necessitam de treinamento(aprendizado) para obterem as características dospadrões de entrada necessárias para o reconhecimento,ou seja, as células-S são ativadas somente se a<strong>sc</strong>aracterísticas forem apresentadas na posição correta dacamada de entrada, sendo que as características a seremobtidas 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 servempara se obter valores correspondentes a uma operação deborramento baseado num grupo de células-S. Essa<strong>sc</strong>élulas são responsáveis pela tolerância à deformação doneocognitron.Assim, cada um dos i-ésimos estágios da rede é compostode camadas Usi que consistem de um número deestruturas matriciais de células-S, seguidas de camadasUci que consistem de um número de matrizes de células-C. Cada estrutura matricial de células, denominada planocelular, é associada a um único fator extraído dos padrõesde entrada, durante a fase de treinamento. Cada célula deum plano-celular recebe conexões de entrada dos plano<strong>sc</strong>elulares da camada precedente.A fase de reconhecimento do neocognitron é semelhanteao processo de propagação progressiva das estruturas deredes neurais multicamadas, em que os efeitosprovocados pelo padrão de entrada apresentado à redesão propagados por todas as camadas, até atingir acamada de saída.A Figura 2 mostra o algoritmo que computa os valoresu Sl (n, k) de células-S, e os valores u Cl (n, k) de células-C,dentro de um estágio l. São computados esses valores nosK 1 planos-celulares e em todas as N posições dentro deum plano-celular.Procedure computar_estagio (l) ;beginfor k = 1 to K 1 do begin ; computar a camada-Sfor n = 1 to N do beginfor κ = 1 to K l-1 dofor all ν ε S ν do begine(n,k):= e(n,k)+a(ν,κ,k).u Cl-1 ( n+ν,κ) ;h(n,k):= h(n,k)+c(ν ).{u Cl-1 (κ , n+ν)} 2 ;end;u Sl (n,k):=(θ/(1−θ)) . ϕ((1+ e(n,k)) /(1+θ.b(k).sqrt(h(n,k)))−1) ;end;end;end;for k = 1 to K 1 do begin ; computar a camada-Cfor n = 1 to N do beginfor all ν ε S ν dou Cl (n,k) : = u Cl (n,k) + d(ν ).u Sl ( n+ν, k );u Cl (n,k) := Ψ ( u Cl ( n, k ))end;end;end; computar_estagio(l)Figura 2 - Algoritmo para computar um estágio.Para o cálculo do valor u Sl (n, k) são computados ossomatórios e(n,k) e h(n,k) de todas as entradas conectadasaos K 1-1 planos-celulares da camada precedente, numadada área de conexão S ν , que circunda a posição da célulan da camada de células-C, do estágio anterior ou dacamada de entrada, pela iteração so<strong>br</strong>e os comandos:165


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.e(n,k) := e(n,k)+a(ν,κ,k).u Cl-1 ( n+ν,κ) , eh(n,k) := h(n,k)+c(ν ).{u Cl-1 (κ , n+ν)} 2Então o valor u Sl (n, k) é obtido pelo comando:u Sl (n,k):=(θ/(1−θ)) . ϕ((1+ e(n,k)) /(1+θ.b(k).sqrt(h(n,k)))−1) ;onde ϕ [ = ( [, quando x > 0, e ϕ [ = ( , casocontrário. A variável θ representa o limiar da função,cujos valores ficam entre 0 e 1, e b(k) representa ocoeficiente de inibição.Para se obter o valor u Cl (n, k), é computadoprimeiramente o somatório de todas as entrada<strong>sc</strong>orrespondentes aos valores u Sl (n, k), previamenteobtidos em uma área de conexão S ν que circunda aposição n da camada de células-S precedente, pelaiteração so<strong>br</strong>e o seguinte comando:u Cl (n,k) := u Cl (n,k) + d(ν ).u Sl ( 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, nointervalo [0,1).O treinamento do neocognitron, Figura 3, procedecomputando os valores de células-S para os plano<strong>sc</strong>elulares k = 1 a k = K l , relacionados aos fatores jáexistentes, e k = K l +1, que corresponde ao plano de<strong>sel</strong>eção de fator (Seed Selecting Plane). Então, éverificada nesse último plano, plano de <strong>sel</strong>eção, a célulavencedora (winner), em que o valor de resposta é máximo.Se, na posição da célula vencedora, existe algumaresposta maior que zero nos K l planos-celulares, oalgoritmo segue na procura de um novo vencedor; casocontrário, cada conexão de entrada da célula vencedora éreforçada proporcionalmente à intensidade da conexão deentrada, através dos comandos:a(v,κ,k) := a(v,κ,k) + q.c(v).u Cl-1 (vencedor+v,κ) , eb(k) := b(k) + q. sqrt(h(vencedor,k)),onde q é a taxa de aprendizado.Dessa forma um novo fator é obtido e um novo planocelularé adicionado à camada, incrementando K l . Umavez feito o reforço das conexões de entrada na célulavencedora, essa célula passa a ser a célula-semente, poistodas as demais células do novo plano-celular terão osmesmos pesos nas conexões de entrada. Daí surge o nomeSeed-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, de<strong>sc</strong>ritoacima, é repetido até que todos os novos fatores sejamdetectados, com a apresentação dos padrões detreinamento na camada de entrada.procedure treinar_estagio (l);beginrepeatfor k = 1 to K l + 1 do computar_estagio(l);<strong>sel</strong>ecionado : = false;repeatif proximo_vencedor> 0 then beginvencedor : = proximo_vencedor;<strong>sel</strong>ecionado : = true;for k = 1 to K l doif u S (vencedor, k) > 0 then<strong>sel</strong>ecionado : = false;end;until (<strong>sel</strong>ecionado or proximo_vencedor = 0);if <strong>sel</strong>ecionado then beginfor κ = 1 to K l-1 dofor all ν ε S doa(v,κ,k) := a(v,κ,k)+ q.c(v).u Cl-1 (vencedor+v,κ) ;b(k) := b(k) + q. sqrt(h(vencedor,k)) ;K l : = K l +1 ;end;end;until not (<strong>sel</strong>ecionado);end;Figura 3 - Treinamento de um estágio do neocognitron.3. Estrutura de Rede Neural ArtificialNeocognitron com Pontos de ControlesA rede neural Neocognitron com Pontos de Controle,NEOPC, é composta de um recurso adicional estabelecidoà estrutura de<strong>sc</strong>rita no treinamento do neocognitron, que éo uso de pontos de controle para a obtenção das célulassemente,além do padrão de entrada. Os pontos decontrole são usados pela rede para que as célulasvencedoras só sejam e<strong>sc</strong>olhidas como célula-semente,caso elas estejam posicionadas estrategicamente emrelação ao padrão de entrada.A justificativa para se acre<strong>sc</strong>entar os pontos de controleso<strong>br</strong>e os padrões de entrada é que a aplicação exclusivado padrão de entrada no algoritmo de treinamento poderesultar na obtenção de células-semente que não sejamadequadas para garantir a <strong>sel</strong>etividade de rede, como porexemplo, aquelas correspondentes às regiões totalment<strong>ee<strong>sc</strong></strong>uras pertencentes aos cabelos, dificultando oaprendizado e generalização da rede ao tornar a variaçãoentre os padrões inter-classes menor. De acordo com166


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Haykin, o processo de treinamento é a etapa responsávelpor definir as fronteiras de decisão, entre as diferente<strong>sc</strong>lasses, para as aplicações de reconhecimento de padrões[5].As estruturas de redes neurais estão sujeitas asuperadaptação em decorrência do número muito grandede parâmetros no modelo [6]. Entende-se que a grandequantidade de padrões durante a fase de treinamento ereconhecimento, com baixo índice de variância, tambémpossa ocasionar uma superadaptação da rede neural,sendo os pontos de controle uma estratégia para evitaresta situação.A estrutura da NEOPC é composta por duas redes neurais:RNDPC (rede neural para a detecção dos pontos decontrole) e a RNRF (rede neural para o reconhecimentofacial).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 dospontos de controle a serem utilizados pela RNRF (redeneural para o reconhecimento facial) durante otreinamento não-supervisionado.A RNDPC possui suas interconexões pré-definidas, queestabelece a detecção de bordas seguidas da detecção desegmentos de retas, de pontos de curvatura, e de pontosextremos, so<strong>br</strong>e os padrões de entrada.A Figura 4 ilustra as etapas correspondentes à RNDPC,em que as bordas são detectadas so<strong>br</strong>e ambos os lados (Ae B) de uma linha em 8 direções principais, que variam de22.5 graus, a partir do ângulo 0. A existência de duasbordas (uma de cada lado) numa determinada direção,identifica um segmento de reta, ou linha. Pequenasdistorções na espessura de uma linha são absorvidas pelaestrutura da rede, que permite essas variações, pelo uso dacamada de células-C.As conexões das células-S das camadas Us1 e Us2 sãosemi-fixas 1 . No estado inicial, quando a rede é construída,as conexões são modificadas pelo método de treinamentosupervisionado do neocognitron. Mais especificamente,uma célula-semente é arbitrariamente <strong>sel</strong>ecionada numplano-celular, e um padrão de treinamento, atribuído àcélula, é apresentado na camada de entrada U0. Cadaconexão de entrada da célula-semente é reforçadaproporcionalmente à intensidade de resposta da célula, deonde provem a conexão. As conexões de entrada de todasas outras células do plano-celular são automaticamentereforçadas, na mesma proporção da célula-semente.O padrão de treinamento para cada plano-celular dacamada 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 é feitaso<strong>br</strong>e essas células posteriormente.para que a célula responda a uma borda de uma linhamuito estreita.Figura 4 - Ilustração dos estágios da RNDPC.Uma linha estreita em uma particular orientação é usadapara o treinamento de um plano-celular da camada Us2.Na Figura 4 é vista após os padrões de bordas, os padrõesde segmentos de retas. Apenas uma simples apresentaçãode uma linha de certa espessura é necessária para treinaras células de extração de linhas, em diferentes espessuras.A camada seguinte UB é responsável pela detecção depontos extremos das linhas retas. Como uma curva écomposta de um conjunto de segmentos de linhas retas, ospontos extremos que pertencem à junção de doissegmentos 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 deentrada são fixas e tem uma distribuição espacial quepermite a detecção de um dos pontos extremos de umalinha numa determinada direção. Em contraste às células-S, uma célula-B (bend points), funciona de formasubtrativa, ao invés da forma multiplicativa, e portanto,não usa as células-V que estão embutidas na estrutura decálculo das células-S.A estrutura dessa rede é semelhante a uma rede paraextração de curvaturas [4]. O arranjo espacial da<strong>sc</strong>onexões excitatórias e inibitórias coincide com aorientação preferencial do plano-celular da camadaprecedente Us2. As células-B são ativadas numa dasextremidades de uma linha obtida em Us2. Quando uma167


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.linha reta é apresentada à camada de entrada U 0 , asrespostas das células-B são ativas numa das extremidadesdas linhas. Quando uma linha curva é apresentada, a<strong>sc</strong>élulas-B respondem aos pontos de curvatura da linha.A rede neural RNDPC permite variar o limiar de disparona detecção de bordas, correspondente ao primeiroestágio, e na detecção de segmentos de reta,correspondente ao segundo. Com esse recurso, os pontosde controle obtidos podem variar usando limiares dedisparo diferentes, fazendo com que as células-semente darede neural secundária sejam distintas, para limiaresdiferentes. O limiar de disparo relaciona-se àexcitabilidade dos neurônios envolvidos. No cére<strong>br</strong>obioló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 notreinamento da sua primeira camada.O treinamento da RNRF consiste de aprendizado nãosupervisionado,que usa, além do padrão de entrada, ospontos de controle obtidos pela RNDPC, que consistemde pontos extremos e pontos de curvatura.Assim, é apresentada à camada de entrada U 0 , umaamostra facial, cujas posições estratégicas de obtençãodos fatores são obtidas previamente pela RNDPC. Oalgoritmo de treinamento não-supervisionado é entãoaplicado, verificando-se se as células-semente coincidemcom os pontos de controle. Dessa forma assegura-se queos fatores específicos de um padrão de entrada sãoaprendidos, em posições estratégicas, definidas pelospontos de controle.Na fase de reconhecimento usa-se somente a RNRF, umavez que a RNDPC serve apenas para a obtenção dospontos de controle usados para o treinamento.4. ResultadosAs imagens faciais utilizadas para os testes com a NEOPCforam obtidas na Universidade de Cam<strong>br</strong>idge, através doendereço eletrônico www.camorl.co.uk\facesataglance.html,que disponibiliza umbanco de imagens faciais de 40 pessoas, com 10 imagensdiferentes para a mesma pessoa, conforme exemplificadona 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 realizadosforam utilizadas as mesmas amostras de imagens para afase de treinamento e de reconhecimento.O primeiro teste foi realizado considerando um total decinco classes, imagens faciais de pessoas diferentes, comapenas cinco amostras cada uma. Após realizado otreinamento, obteve-se uma taxa de acerto equivalente a100%, não havendo erros na fase de reconhecimento.Classe 11-1 1-2 1-3 1-4 1-5 1-6 1-7 1-8 1-9 1-10Classe 22-1 2-2 2-3 2-4 2-5 2-6 2-7 2-8 2-9 2-10Figura 5 – Exemplo das imagens faciais utilizadas para a fasetreinamento e reconhecimento da NEOPC.O próximo teste foi realizado considerando um total dedez classes com dez amostras cada uma. Neste caso,obteve-se uma taxa de acerto, reconhecimento, de apenas59%, sendo 41% a taxa de erro. Entende-se que oresultado obtido está relacionado ao número insatisfatóriode amostras utilizadas para cada classe durante a fase detreinamento, necessárias para estabelecer uma boavariação entre os padrões inter-classe.Neste sentido, foi realizado um teste para identificar onúmero de fatores “aprendidos” pela rede em função daquantidade de amostras utilizadas para o treinamento, ouseja, o número de planos celulares treinados em cadacamada em função da quantidade de amostras. Os dadosapresentados na Figura 6 especificam a variação daquantidade de fatores treinados pelas camadas Us3, Us4 eUs5, para um total de 5 classes contendo 5 amostras cadauma, sendo Us3, Us4 e Us5, as 3 camadas da rede RNRF,assim denotadas em função do uso das denotações Us1 eUs2, na rede RNDPC.Conforme pode ser verificado, o número de padrõestreinados pela rede torna-se maior de acordo com oacré<strong>sc</strong>imo do número de amostras por classe durante afase de treinamento. Por exemplo, considerando aquantidade de 5 classes e a quantidade de 2 e 5 amostras,verifica-se, respectivamente, uma variação de 5 para 8padrões treinados para a camada Us3, de 12 para 38padrões treinados para a camada Us4 e de 8 para 24padrões treinados para a camada Us5.Entende-se que o percentual de acerto para a fase dereconhecimento da NEOPC, considerando os resultadosobtidos para a fase de reconhecimento com 10 classes,deve apresentar uma melhora significativa nos resultadosatravés do aumento do número de padrões treinados paracada camada, utilizando-se na fase de treinamento umnúmero maior de amostras por classe.168


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.2Quantidades deAmostras2 3 4 5Us 3 2 3 4 4Us 4 4 6 7 10Us 5 3 4 6 86. Referências Bibliográficas[1] Abdi, Hervé; O’Toole, Alice J.; Valentim, Dominique.Face Recognition. In: Michael A. Arbib (org.), TheHandbook of Brain Theory and Neural Networks.Bradford Books, Cam<strong>br</strong>idge, 2003.Quantidades de Classes345Us 3 3 4 5 5Us 4 7 9 12 16Us 5 4 6 9 13Us 3 4 5 6 8Us 4 7 1319 38Us 5 7 9 14 32Us 3 5 6 7 8Us 4 12 1927 38Us 5 8 1 17 242Figura 6 - Número de padrões treinados pelas camadas Us3, Us4e Us5, de acordo com o número de classes e amostras utilizadas.5. Considerações FinaisNeste trabalho foram apresentados dois resultados parauma estrutura de rede neural baseada no neocognitron,NEOPC. O principal objetivo da rede é melhorar a<strong>sel</strong>eçã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<strong>sel</strong>etividade de padrões é importante para contribuir comas pesquisas direcionadas para a generalização de umaestrutura de rede neural, neste caso o neocognitron, umavez que o conceito atual é que aprendizado egeneralização são técnicas que devem andar juntas, aoinvés de considerar a generalização como umaconseqüência natural do aprendizado [2].Neste trabalho foi possível identificar uma taxa de acertopequena quando considerado 10 classes com 10 amostra<strong>sc</strong>ada. No entanto, devido a uma limitação na base deimagens utilizada neste primeiro momento, não foipossível identificar o comportamento da rede com umnúmero maior de amostras por classe. Como continuidadedeste trabalho, pretende-se usar bases de imagens com umnúmero maior de amostras para permitir a obtenção deuma taxa de acerto maior para uma rede de 10 classes.[2] Braga, Antônio de Pádua; Carvalho, André CarlosPonce 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 emInteligência Artificial). Barueri, SP: Manole, 2005.[3] Daugman, John, Face and Gesture Recognition:Overview, IEEE Transactions on Pattern Analysis andMachine Intelligence, Vol. 19, N. 7, pp. 675-676, julho de1997.[4] Fukushima, Kunihiko, Neocognitron: A Model forVisual Pattern Recognition. In: Michael A. Arbib (org.),The Handbook of Brain Theory and Neural Networks.Bradford Books, Cam<strong>br</strong>idge, 2003.[5] Haykin, Simon. Redes Neurais: princípios e práticas.Tradução Martins Engel. 2 a edição. Porto Alegre:Bookman, 2001.[6] Rus<strong>sel</strong>l, Stuart J.; Rus<strong>sel</strong>, Peter Norvig. InteligênciaArtificial. Rio de Janeiro: Elsevier, 2004.169


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Comparação de Clusters para Detecção da PeleAndréia V. Na<strong>sc</strong>imento, Michelle M. Mendonça, Juliana G. Denipote, Maria Stela V. PaivaE<strong>sc</strong>ola de Engenharia de São Carlos – EESC. Universidade de São Paulo – <strong>USP</strong>{av.na<strong>sc</strong>imento, chelle.3m}@gmail.com, {judeni, mstela}@<strong>sel</strong>.<strong>ee<strong>sc</strong></strong>.<strong>usp</strong>.<strong>br</strong>ResumoA detecção de cor da pele no espectro visível podeser uma tarefa bastante desafiadora, visto que a cor dapele numa imagem é sensível a vários fatores. Esteartigo apresenta uma comparação de três tiposdiferentes de Clusters, seguidos de operaçõesmorfológicas para detecção de pele humana emimagens digitais, os modelos de cor utilizados foram:RGB, YCbCr e HSV. Esta metodologia é aplicada emum banco de imagens de pessoas de ambos os sexo<strong>sc</strong>om dimensões de 592 x 896. O algoritmo foidesenvolvido no Matlab versão 7.0, e visa apontarqual modelo é mais adequado para a detecçãoautomática da pele.1. IntroduçãoDetecção de pele desempenha um papel importanteem muitas aplicações de processamento de imagens,a<strong>br</strong>angendo detecção de faces, rastreamento de face,análise de gestos etc. Recentemente, as metodologiasde detecção de pele baseadas na informação de cor depele têm ganhado muita atenção, já que forneceinformação computacionalmente efetiva e robusta àrotação, e<strong>sc</strong>ala e oclusões parciais [1].O espaço de cor YCbCr, foi utilizado por Bindu eKumar [2] removendo os componentes Y e Cb. Aimagem é convertida para espaço RGB, retendosomente o componente vermelho, uma vez que a pele érica deste componente. A imagem é submetida a umalgoritmo de detecção de face utilizando assinatura dosobjetos. Já Ahlvers, Zölzer e Rajagopalan [3]utilizaram cluster de pele HSV para detecção erastreamento da face. Yang, Lu e Waibel [4] obtiverambons resultados ao utilizar o modelo RGB paradetecção de pele.Este artigo compara a utilização de três diferentesmodelos de cor (RGB, HSV e YCbCr) para a detecçãode pele em imagens digitais. O método de detecção depele consiste na comparação de três tipos diferentes deClusters de pele, esta metodologia foi implementada noMatlab versão 7.0 [5]. As imagens utilizadas são dabase de imagens do Instituto de Tecnologia daCalifórnia [6]. Elas são coloridas e contém pessoas emposes frontais, em diferentes locações, com diferentesexpressões e condições de iluminação e ambos ossexos .2. Espaço de corA e<strong>sc</strong>olha do espaço de cor pode ser consideradapasso principal na classificação da cor da pele. Oespaço RGB é definido por três inteiros querepresentam respectivamente as quantidades das coresprimárias (vermelho, verde e azul) usadas para gerar acor da maioria dos formatos de imagem disponíveis.Qualquer outro espaço pode ser obtido a partir de umatransformação do RGB que é dividida em dois grupos:aqueles que podem ser obtidos por transformaçõeslineares como YCbCr, e aqueles obtidos através detransformações não-lineares como é o caso do HSV,[7].Uma revisão dos diferentes espaços de cor pararepresentação da cor da pele e de métodos de detecçãode pixels da pele é dada em [8].2.1 Espaço de cor básico RGBO RGB é o espaço de cor mais comumenteutilizado para armazenar e representar imagens digitais,visto que os dados capturados por uma câmera sãonormalmente fornecidos em RGB.Ahlvers, Zölzer e Rajagopalan [3] desenvolveramum 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 eMax{R,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 aclassificação muito rápida na detecção da pele, porém édifícil encontrar o espaço de cor e regras adequadasempiricamente.170


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.2.2 Espaço de cor ortogonal YCbCrOs espaços de cor ortogonais reduzem aredundância presente no RGB e representa a cor comocomponentes estatisticamente independentes. Uma vezque as componentes de luminância e crominância sãoexplicitamente separadas, esses espaços se tornam umae<strong>sc</strong>olha favorável para detecção da pele.O espaço YCbCr representa a cor como luminânciaY computada como uma soma ponderada dos valoresRGB e crominância Cb e Cr computadas através dasubtração da componente luminância dos valores B eR.O espaço YCbCr é uma das e<strong>sc</strong>olhas maispopulares em detecção da pele e foi usado em [2, 9,10].A conversão do espaço RGB para YCbCr é dadapor:⎡Y⎤ ⎡16⎤ ⎡ 65.481⎢ ⎥ ⎢ ⎥+⎢⎢Cb⎥=⎢128⎥ ⎢− 37.797⎢⎣Cr ⎥⎦⎢⎣128⎥⎦⎢⎣112128.553− 74.203− 93.76824.966⎤⎡R'⎤112⎥ ⎢ ⎥⎥.⎢G'⎥−18.214⎥⎦⎢⎣B' ⎥⎦Ahlvers, Zölzer e Rajagopalan [3] mostraram autilização de cluster de pele no espaço YCbCr, dadapelas seguintes regras:(Y, Cb, Cr) é classificada como pele se:Y > 8085 < Cb < 135135 < Cr < 180onde, Y, Cb, Cr = [0,255]2.3 Espaço de Cor Perceptivo HSVO espaço HSV define a cor como matiz (H) – apropriedade da cor que varia em passar de vermelhopara verde, saturação (S) – a propriedade da cor quevaria na passagem de vermelho para rosa e <strong>br</strong>ilho(intensidade, luminosidade ou valor) (V) – apropriedade que varia na passagem do preto para o<strong>br</strong>anco. A transformação do RGB para o HSV éinvariante à alta intensidade na luz <strong>br</strong>anca, luzambiente e orientações de superfície relativas à fontede luz e portanto, pode formar uma boa e<strong>sc</strong>olha paramétodos de detecção de pele [1]. O espaço HSV foiusado em [11, 12, 13].A transformação do espaço RGB para HSV é dadapor [14]:V = max( R,G,B)⎡max(R,G,B)−min(R,G,B), max( R,G,B)0S⎢≠= max( R,G,B)⎢⎢⎣0,max( R,G,B)= 00.5(( R − G)+ ( R − B))H = acos( R − G)(R − G)−(R − G)(G − B)O cluster de pele HSV foi utilizado por Ahlvers,Zölzer e Rajagopalan [3] para detecção e rastreamentoda face. O cluster de pele HSV é dado pelas seguintesregras:3. Metodologia(H,S,V) é classificado como pele se:0 < H < 50 e 0.23 < S < 0.68onde: H = [0,360] e S,V = [0,1]A metodologia empregada neste trabalho paradetecção de pele consiste dos seguintes módulos:Pré-processamentodaImagemFigura 1 - Módulos para detecção de peleO primeiro módulo, o de pré-processamento daimagem, é aplicado so<strong>br</strong>e a imagem de entrada com oobjetivo de convertê-la para um determinado espaço decor e padronizar suas dimensões, com a finalidade dereduzir o tempo de processamento.O segundo módulo, o de Cluster de pele, explorasemelhanças entre padrões e agrupa-os.Operações morfológicas destacam as regiões deinteresse da imagem no terceiro módulo.3.1 Pré-processamentoClusterdePeleOperaçõesMorfológicasA primeira etapa consistiu na utilização de umbanco de dados composto aproximadamente de 450imagens, coletadas por Marcus Weber do Instituto deTecnologia da Califórnia [5]. O banco contém imagen<strong>sc</strong>oloridas de pessoas de ambos os sexos, dimensões de592 x 896, porém foi necessário redimensioná-las emuma proporção menor para diminuir o tempo deexecução do algoritmo. Como mostra a figura 2.171


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Pré-processamento da ImagemBanco deImagens deFacesFigura 2 - Etapas do pré-processamento daimagem3.2 Cluster de peleConverte doRGB paramodelo decorRedimensionaaimagemAs possíveis cores da pele humana,independentemente de suas variações (<strong>br</strong>anca, negra,amarela, etc), formam um aglomerado de pontosquando dispostas no espaço de cores RGB. Esseaglomerado é denominado cluster de pele [15], e édemonstrado na figura 3.3.3 Operações MorfológicasPrimeiramente, aplica-se a erosão para eliminarfendas no contorno da face (figura 5a). Depois aplicaseo fechamento para suavizar o contorno da face(figura 5b). Em seguida, aplica-se o preenchimento deregião em que olhos, boca, ou qualquer outro objetoque apareça na face sejam preenchidos com o comandoimfill do Matlab [6](figura 5c).Pequenos objetos de fundo são então eliminadosutilizando-se o operador morfológico de abertura deárea (figura 5d) que é responsável por remover umagrupamento de determinado número de pixels,proporcionando uma imagem menos ruidosa, essaoperação foi realizada através do comandobwareaopen do MatLab [6]. Finalmente, é aplicada adilatação (figura 5e) para retornar a borda perdida coma erosão. A (figura 5f) mostra a combinação da imagemoriginal com o resultado obtido em conjunto com aaplicação dos operadores morfológicos.Operações Morfológicasa) Erosão b) FechamentoFigura 3 – Cluster de Pele [15]A figura 4 mostra o resultado da aplicação docluster de pele numa determinada imagem.c) Preechimentode regiõesd) Abertura de áreae) Dilatação f) Resultado final4. ResultadosFigura 5 – Operações MorfológicasFigura 4 – Cluster de peleMuitos artigos de detecção de pele nãoproporcionam explicitamente uma explicação arespeito do espaço de cor utilizado, provavelmentepelo fato de obter-se um resultado aceitável em umabase de dados com um determinado espaço de cor.172


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.O que se pode perceber é que alguns métodosdependem de um determinado espaço de cor enquantooutros são independentes deles.A tabela 1 apresenta a porcentagem de localizaçãode pele executada corretamente dentre as 100 imagensutilizadas, considerando-se cada espaço de cor testado.Espaço de cores Acerto ErroRGB 92% 8%YCbCr 86% 14%HSV 15% 85%Tabela 1 – Comparação dos resultados5. ConclusãoNeste trabalho constatou-se que, dentre os trêsmodelos de cluster de pele proposto pela metodologia,o modelo RGB apresentou melhor desempenho nadetecção da pele, sendo detectado corretamente 92%das imagens contendo regiões de pele. Mostrada nafigura 6.a)Original b)Imagem finalFigura 6 – Resultado Cluster de Pele RGBObservou-se que o modelo YCbCr, por ser umespaço de cor que é obtido através de umatransformação linear do RGB, torna-se e<strong>sc</strong>olhafavorável para detecção de pele, obtendo assim. umaporcentagem de 86% de acerto. Como mostra a figura7.a)original b) ConversãoYCbCrc) imagemFinalFigura 7 – Resultado Cluster de Pele YCbCrOs resultados obtidos por meio do modelo HSVnão foram satisfatórios, como mostra a tabela 1, atransformação do RGB para este modelo de cor éobtida através de uma transformação não linear tendoassim uma pequena porcentagem de acerto, apenas15%.a)original b) Conversão c) imagem FinalHSVFigura 8 – Resultado Cluster de Pele HSVDeve-se ressaltar que algumas condições sãoessenciais para detecção da pele como: característicada câmera, iluminação, etnia e uso de acessórios, comoóculos ou barba, pois podem influenciar no resultadofinal.6. Referências Bibliográficas[1] P. Kakumanu, S. Makrogiannis and N. Bourbakis, “Asurvey 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 SkinIllumination Compensation Model for Efficient FaceDetection”, In: Annual Conference on IEEE IndustrialEletronics, 2006, pp. 3444-3449.[3] U. Ahlvers, U. Zölzer and R. Rajagopalan, “Model-FreeFace Detection and Head Tracking with Morphological HoleMapping”, X<strong>III</strong> European Signal Processing Conference,2005.[4] J. Yang, W. Lu and A. Waibel, “Skin-color modeling andadaptation”, Asian Conference in Computer Vision, HongKong, 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/<strong>2007</strong>.[6] MatLab Online Documentation,http://www.mathworks.com/access/helpdesk/help/helpdesk.html, acessado em 11/07/<strong>2007</strong>.[7] J. B. Martinkauppi, M. N. Soriano, and M. H. Laaksonen,“Behavior of skin color under varying illumination seen bydifferent cameras at different color”, Proceedings-SPIE TheInternational Society For Optical, 2001, vol. 4301, pp. 102-112.[8] V. V. S. Vezhnevets et al., “A Survey on Pixel-BasedSkin Color Detection Techniques”, In ProceedingsGraphicon, Mo<strong>sc</strong>ow, Russia, 2003, pp. 85-92.[9] R. L. Hsu, M. Abdel-Mottaleb and A. K. Jain, “Facedetection in color images”, IEEE Trans. Pattern. MachineIntell. vol. 24, n. 5, 2002, pp. 696–706.[10] K. W. Wong, K. M. Lam and W. C. Siu, “A robust<strong>sc</strong>heme for live detection of human faces in color images”,173


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Signal Process. Image Commun, vol. 18, n. 2, 2003, pp.103–114.[11] D. Brown, I. Craw and J. Lewthwaite, “A som basedapproach to skin detection with application in real timesystems”, In Proc of the British Machine VisionConference, 2001.[12] C. Garcia and G. Tziritas, “Face detection usingquantized skin color regions merging and wavelet packetanalysis”, IEEE Trans. Multimedia, vol. 1, n. 3, 1999, pp.264–277.[13] Q Zhu et al., “Adaptive learning of an accurate skincolormodel”, Sixth IEEE International Conference onAutomatic Face and Gesture Recognition, 2004, pp. 37- 42[14] S. L. Phung, A. Bouzerdoum and D. Chai, “SkinSegmentation Using Color Pixel Classification: Analysis andComparison”, IEEE Transactions on Pattern Analysis andMachine Intelligence, v.27 n.1, 2005, p.148-154.[15] E. C. Lopes, “Determinando a Posição e a Orientação daMã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


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Detecção de Infração em faixa de pedestres sem semáforos utilizando visãocomputacional e redes neuraisAlves, B. G. C.; Lima, A. C. de C.Departamento de Engenharia Elétrica - E<strong>sc</strong>ola Politécnica - UFBA,R. Aristides Novis 2, CEP 40210-630 - Salvador - Bahia - BrasilE-mails:<strong>br</strong>ufonte@hotmail.com; acdcl@ufba.<strong>br</strong>ResumoNeste trabalho são associadas às ferramentas deRedes Neurais e processamento de Imagens com oobjetivo de identificar corretamente a infração, presençade veículos e pessoas so<strong>br</strong>e a faixa de pedestres,cometida por veículos em faixas de pedestres que nãodispõem de semáforos, através de um software feito noC++ Builder5. Para isso foi feita a utilização de técnicasbásicas de detecção de bordas, juntamente com umasolução especifica desenvolvida neste trabalho quemelhora o processo de detecção das mesmas, facilitandoassim o reconhecimento de veículos na faixa de pedestrespor padrões geométricos, deixando só as informaçõesnecessárias para que a rede neural utilizada convergissepara um espaço de solução satisfatório para aidentificação da presença de pessoas na faixa depedestres. A utilização de redes neurais paraidentificação de pessoas na faixa veio da grandedificuldade encontrada com utilização de outros métodos,da sua excelente capacidade de reconhecer padrões emtempo real, mesmo quando o espaço de pontos a serutilizado é grande. Como resultado, demonstra-se que oalgoritmo desenvolvido é bem sucedido, proporcionandoa resolução do problema aqui citado com uma taxa deacerto acima de 94%.1. IntroduçãoA criação da faixa de pedestres veio com a finalidadede melhorar o andamento do transito de carros epedestres, permitindo que o deslocamento de ambospudesse existir de forma harmônica. Os artigos 70 e 71 doCódigo Nacional de Transito dizem que: os pedestres queestiverem atravessando a via so<strong>br</strong>e as faixas delimitadaspara este fim terão a prioridade de passagem, exceto noslocais com sinalização semafórica, onde deverão serrespeitadas as disposições deste Código. Como diz ocódigo citado acima existem faixas que tem seu controlede preferência feito por semáforos e outras que não. Nasque não tem o seu controle realizado por semáforo, opedestre tem a prioridade. Assim com base em garantir ocumprimento da lei e a devida punição para aqueles quevenham a de<strong>sc</strong>umpri-la, na<strong>sc</strong>eu a idéia de desenvolver umalgoritmo e um software que realize o processo dedetectar a infração do automóvel para aquela faixa quenão possui semáforo. Dentro deste contexto este trabalhotem o objetivo de achar uma solução para o problema dedetecção da infração em tempo real.A detecção da infração foi dividida assim em duaspartes. A primeira é a identificação de veículos na faixa depedestres e a segunda é, uma vez que a presença deveículos foi detectada, verifica-se a existência depessoa(s) na faixa.Em cada uma das etapas foi feita uma analise detalhadade quais características podiam ser utilizadas e extraídaspara o reconhecimento dos dois padrões desejados, eassim realizar a identificação de infração de formacorreta.2. Materiais e MetodologiaPara a realização deste trabalho foi feita a utilização deuma câmera de filmagem digital da Sony, de umcomputador com memória RAM de 256MB e umprocessador celeron 1.3GHz, da ferramenta de simulaçãoe programação Matlab 7.1 e da ferramenta deprogramação C++ Builder 5.Em seguida foi feita a gravação de vários arquivos devídeos no formato MPG e com uma resolução de 480 por640 pixels com um tamanho de gravação variando entredois e três minutos, correspondendo a diferentes faixas depedestre sem semáforo. Inicialmente foi feita a captura devários frames de cada arquivo de vídeo com o softwareBreeze 5.4.1 Light, gerando assim uma seqüência deimagens em formato JPG contendo imagens sem apresença de veículos e pessoas, com a presença apenas deveículos, com presença apenas de pessoas e com apresença de ambos. Dois tipos de pastas foram geradas,uma contendo imagens para os teste da presença deveículos e identificação de infração, e outra para otreinamento da rede neural.O passo seguinte foi então o desenvolvimento de umalgoritmo que fosse capaz de segmentar a imagem deforma a deixar apenas as informações de interesse para aidentificação do padrão veículo(s), e veiculo(s) epessoa(s). O padrão comum a todos os veículos é a175


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.presença da roda. Esta pode ser identificada pela presençada 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 seuperímetro e em sua área [1]. Com isso temos:4 ⋅π⋅ AreaFC =(1)2PAreaP = ⋅π⋅ r2= π ⋅ r(2)2 (3)Essa relação para um objeto com formato de circuloadquire o valor unitário, proporcionando assim umamaneira para a identificação de veiculo(s) na faixa.Com base na equação 1 foi desenvolvido um algoritmoque fosse capaz de segmentar a imagem deixando-a namelhor maneira para que o calculo de FC pudesse serrealizado.A presença de pessoas na faixa não revela nenhumpadrão básico que possa ser utilizado de forma confiável apoder garantir uma alta taxa de acertos. Existem variaspossibilidades quanto a este padrão pessoa(s), como, porexemplo, uma única pessoa, varias pessoas agrupadas ousuperpostas, pessoas separadas, pessoas separadas eagrupadas. Junto a tudo isso ainda existem combinaçõesde tamanhos e formas diferentes que as combinaçõe<strong>sc</strong>itadas acima podem assumir, devido a fatores comotamanho, peso, tipo de roupa, cor da roupa e variaçõe<strong>sc</strong>limáticas. Devido a isso o método que fosse utilizadopara realizar esta tarefa teria que ter uma capacidade dereconhecer essas diferentes variações, com uma alta taxade acerto, acima de 90% e em tempo real. Assim a opçãomais simples encontrada foi à utilização de redes neurais.3. Detecção de veículo (s) na faixaPara realizar a detecção de veículos na faixa depedestres foi desenvolvido um algoritmo que fosse capazde segmentar a imagem de forma a conseguir mostrar aborda das jantes e calotas das rodas, independente dacondição climática, das som<strong>br</strong>as e em tempo real.Para a realização deste algoritmo o primeiro passo foirealizar a detecção das “edges”. Existem vários métodospara a realização desta tarefa. Os mais comuns e que namaioria das situações apresentam bons resultados sãoPrewitt [2], Sobel [2] e Canny [3]. Deste três método<strong>sc</strong>itados apenas Sobel e Canny foram implementados. Oargumento para a não utilização de Prewitt é que esteapresenta uma maior sensibilidade a ruído do que Sobel.Estes métodos geraram imagens muito su<strong>sc</strong>etíveis avariações de luminosidade, o que implicou na constantealteração de alguns de seus parâmetros para que a taxa deacerto não fosse alterada devido a essa variação. ParaSobel o parâmetro é um valor limite, onde os pixels quetiverem valor acima ou igual a ele assumem o valor 255enquanto os que estiverem abaixo assumem o valor 0.Para Canny os parâmetros eram o desvio padrão, oslimites inferior e superior de supressão.Essa constante necessidade de mudanças nosparâmetros destes métodos inviabilizava a característicade independência em relação à variação da luminosidade.Para a resolução deste problema foi desenvolvido umalgoritmo especifico, que em conjunto com a de detecçãode edges, permite quase que total independência emrelação à variação de luminosidade, gerando as bordasdesejadas de forma correta.Este algoritmo realiza a criação de uma ma<strong>sc</strong>araquadrada, de dimensão impar fornecida pelo usuário.Varrendo a imagem da esquerda para a direita e de cimapara baixo, analisando cada pixel I ( x,y)da imagemI através da equação 4.n−12n−12∑ ∑n−1n−1i=−j=−2 2I(x + i,y +j)M ( x,y)= (4)2nO pixel I( x,y)em questão é analisado para ver se eleé maior que M ( x,y)ou se ele satisfaz a equação 5.( I(x,y)− M ( x,y))≤ T(5)M ( x,y)Onde T é um valor percentual limite fornecido pelousuário, em que o pixel I( x,y)deve estar abaixo emrelação a M ( x,y). Se o pixel em analise satisfazer estacondiçã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 da<strong>sc</strong>alotas e jantes de forma correta, sem falhas oude<strong>sc</strong>ontinuidades. Mesmo contendo dois parâmetros deentrada, estes têm valores que podem ser encontradosfacilmente, gerando a imagem desejada e independente davariação de luminosidade.Uma vez que a imagem é segmentada, resta agoracalcular o fator geométrico FC. No entanto com pode servisto na figura 1, as jantes e calotas produzem círculo<strong>sc</strong>om vários buracos e isto impossibilita o uso da equação1. Assim foi utilizado um algoritmo que bu<strong>sc</strong>a os objetospresentes e preenche seus espaços vazios(preto)classificando eles como circulo ou não, com base naequação 1. Este algoritmo também faz uma filtragem porárea, eliminando objetos com valores de área inferior auma certa porcentagem da área total, o que deixa sóinformações pertinentes para serem analisadas tanto nafase de detecção de carro como de176


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.pessoa.Assim o algoritmo completo para a detecção de carro écomo mostrado abaixo.1. Inicia a leitura do arquivo2. Captura o frame3. Converte de RGB para tons de cinza4. Faz a suavização da imagem com umama<strong>sc</strong>ara de dimensão 3x3, gerada através deuma função gaussiana de desvio padrão 1.5. Faz a detecção das edges com uma ma<strong>sc</strong>araobtida através da derivada da funçãogaussiana.6. Aplica-se o método de detecção de borda pormedia.7. Aplica-se o método de detecção de circulo.4. Detecção de pessoasComo justificado na seção 2, a utilização de redesneurais para o reconhecimento de pessoas na faixa depedestre se mostrou a melhor solução para esta tarefa.A idéia básica consiste em utilizar uma rede simples eque resolva o problema de detecção com uma alta taxa deacerto. Para isso resolveu-se inicialmente utilizar umarede de múltiplas camadas alimentada adiante, tendo umacamada de entrada, uma camada oculta composta dequatro neurônios e um neurônio de saída. A utilização deapenas um neurônio se dá pelo fato de que a rede sóprecisa dar uma resposta positiva ou negativa, indicandoassim a presença de pessoa(s) ou não.Para realizar o treinamento da rede foi e<strong>sc</strong>olhido oalgoritmo de retropropagação de erro, por este já ter sidoaplicado com grande sucesso para resolver diversosproblemas de grande dificuldade em conjunto com a redede múltiplas camadas alimentada adiante [4]. A de<strong>sc</strong>riçãodeste algoritmo, no contexto da bu<strong>sc</strong>a dos coeficientespara a rede neural aqui proposta, pode ser vista logoabaixo.1. Um lote contendo m imagens em formato JPGde 480x640 pixels é apresentado à rede,juntamente com a sua indicação de terpresença ou não de pessoa.2. Cada uma das m imagens é convertida em umvetor linha x[n] e é plicada a camada deentrada.3. Calcula-se o campo local induzido para osneurônios da camada 1, que é a camadaoculta, usando a equação 6.4. Passa-se a resposta de saída de cada neurônioda camada oculta para a entrada do neurônioda camada de saída.5. Calcula-se a resposta do neurônio da camadade saída através da equação 6 e calcula-se osinal de erro através da equação 7.6. Calcula-se o gradiente do neurônio da camadade saída através da equação 8 e faz-se acorreção dos seus pesos sinapticos através daequação 9.7. Calcula-se o gradiente de cada neurônio dacamada oculta através da equação 10 e faz-sea correção de seus pesos sinapticos através daequação 9.8. Repete-se os passos de dois a sete ate que arede chegue ao valor de erro quadráticosatisfatório.O valor satisfatório neste caso foi 0.01 porcento doerro Maximo possível, que é 2,7159. Este valor de errodeu-se devido à utilização de uma função de ativação antisimétricamostrada na equação 11. Onde os valores ótimospara a e b são 1,7159 e 2/3 consecutivamente [5].vljM∑i=0l−1il( n)= w ji ( n)y(6)Na equação 6 l é a camada, M a quantidade de sinais queestão conectado ao neurônio j , i o neurônio ou sinal deentrada se a camada i for a camada de entrada, y o sinalde saída do neurônio i ou sinal de entrada se a camada forde entrada e w o valor da peso sinaptico que conecta oneurônio i ao j .Le j ( n)= d ( n)− yLj ( n)(7)jNa equação 7 L indica o a ultima camada e aprofundidade da rede também e d j(n)o valor esperadopara a saída do neurônio j .L'δ j ( n)= eLj ( n)⋅ϕ j ( vLj ( n))(8)'Na equação 8 ϕ j é a derivada da função de ativação.llll−1w ji ( n + 1) = w ji ( n)+ η ⋅δj ( n)⋅ y i ( n)(9)Na equação 9 η é o parâmetro de taxa de aprendizagem.∑l' ll+1l+1δ j ( n ) = ϕ j ( v j ( n))⋅ δ k ( n)⋅ w kj ( n)(10)Na equação 10 k é o numero de neurônios da camadaa frente conectados ao neurônio da camada anterior j .k177


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.ϕ ( n)= a ⋅ tanh( b ⋅ v ( n))(11)jjCom estes coeficientes gerados pela rede pode-seentão realizar o processo final do algoritmo proposto poreste trabalho, que é, depois que a presença de carro foidetectada pelo passo 7 de<strong>sc</strong>rito na seção 3, pegar aimagem gerada pelo passo 6, de<strong>sc</strong>rita nesta mesma seção eaplicar ela a entrada da rede proposta, tendo como seu<strong>sc</strong>oeficientes os valores encontrados no seu processo detreinamento.taxa de acerto. Este teste tem a finalidade de avaliar oquão eficiente é o algoritmo aqui proposto na detecção deautomóveis na faixa. Na figura 3 e 4 é possível ver oprocessamento deste teste.5. ResultadosPara os testes e desenvolvimento deste algoritmo foramrealizadas três filmagens, sendo que cada uma delas foramfeitas em diferentes horários do dia e em três faixasdiferentes. Usou-se também um intervalo de 20 framesentre um instante e outro do filme. Partindo então destasfilmagens foram gerados os seguintes resultados.Tabela 1. Resultado do treinamento da rede.Nome da faixa N° de amostras N° de iteraçõesFaixa 1 60 300Faixa 2 110 440Faixa 3 72 370A tabela 1 mostra a quantidade de amostras, que nestecaso, são as imagens utilizadas para realizar o treinamentoda rede e o numero de iterações que rede precisou paraconvergir ao erro mínimo desejado. Na figura 2 pode-sever o processo de convergência da rede utilizada na faixa3. O erro mostrado neste gráfico não está em modulo, porisso pode-se ver valores negativos e positivos.Figure 3 – Imagem da faixa segmentada pelométodo proposto seção 3.Figure 4 – Imagem produzida pelo algoritmode detecção de veículos.Tabela 3. Resultados da detecção de infração.Nome da faixa N° de amostras Taxa de acertoFaixa 1 142 96.75%Faixa 2 292 90.00%Faixa 3 277 96.75%neural.Figura 2 – Gráfico do erro de saída da redeTabela 2. Resultado do teste de detecção de carro.Nome da faixa N° de amostras Taxa de acertoFaixa 1 189 94.70%Faixa 2 292 97.26%Faixa 3 271 95.20%A tabela 3 mostra a quantidade de amostras utilizadasem cada faixa para o teste de detecção de infração e a taxade acerto do algoritmo para cada uma delas. Na figura 5se pode ver a imagem que é entre a rede para oprocessamento final.A tabela 2 mostra a quantidade de amostras utilizadapara cada faixa no teste de detecção de veiculo e a sua178


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.área.6. ConclusãoFigure 5 – Imagem segmentada e filtrada porCada uma das tabelas mostradas na seção anterior nosrevela a eficiência do algoritmo em cada uma dos seus trêspassos principais. Um dos primeiros passos é otreinamento da rede. O treinamento da rede em todas asfaixas mostrou uma rápida convergência, principalmentese levarmos em conta o fato de que a situação em analisetem uma grande diversidade de padrões. Com base nestaanalise, no número de iterações necessárias para aconvergência da rede e nas taxas de acerto na detecção deinfração estarem acima de 90%, pode-se dizer que ae<strong>sc</strong>olha de redes neurais para o reconhecimento depessoas na faixa foi adequada.O passo dois é identificação de veículos. Olhando osresultados da tabelo 2 pode-se ver a eficiência desta parte,que conseguiu detectar veículos com uma taxa de acertoacima de 94% para a as três faixas. No entanto paraveículos do tipo moto, existe uma dificuldade maior emrealizar está detecção, pois a roda do mesmo nãoconsegue ser segmentada de forma satisfatória peloalgoritmo aqui proposto e pelos outros que foramutilizados ao longo do seu desenvolvimento. No entanto adetecção para os outros tipos de veículos se dá de formasatisfatória.A última parte do algoritmo é um trabalho conjunto dasduas partes anteriores. Se uma delas falha, a outra tambémirá falhar. Com os testes feitos e os resultados obtidospercebeu-se que, quanto mais situações diferentes foremexpostas a rede no seu processo de treino, melhor será seudesempenho. Já a detecção de veículos depende do bomposicionamento da câmera que capta as imagens. Se estaestiver posicionada em uma altura acima de 2 metros ecentrada para pegar apenas a faixa, implicará então emuma taxa de acerto acima de 94%.A utilização de apenas três diferentes faixas se deupelo fato de estas são tem o maior fluxo de pedestres dacidade de Salvador. Assim a quantidade de ocorrência deinfração é muito grande e acontecem em intervalospequenos de tempo. Já as outras faixas têm um fluxo bemmenor, o que dificulta conseguir realizar uma filmagemem que ocorra uma quantidade mínima de infraçõesnecessárias para treinar a própria rede.Com base em tudo o que foi apresentado aqui se podeafirma que o algoritmo aqui proposto consegue realizar adetecção de forma satisfatória, tendo a sua limitaçãoapenas com veículos do tipo motocicleta.[1] K. Pratt, William, Digital Image Processing: PIKSInside,.-3. ed, New York : John Wiley & Sons, Inc, 2001,pp. 595.[2] Gonzalez, Rafael.C, Digital Image Processig/RichardE.Woods, -1.ed, New Jersey : Prentince Hall, 2002, pp.578.[3] Canny, J.A, A Computacional approach to edgedetection, IEEE Transaction on Pattern Analysis andMachine 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


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Automatic Pattern Recognition of Binary Image Objects using Mathematical Morphology.Emerson Carlos PedrinoandValentin Obac RodaDepartamento de Engenharia ElétricaE<strong>sc</strong>ola de Engenharia de São Carlos - Universidade de São PauloAvenida Trabalhador São-Carlense, 40013566-590 São Carlos (SP) – BrazilTel: (55 16) 3373 9363FAX: (55 16) 3373 9372ecpedrin@<strong>sel</strong>.<strong>ee<strong>sc</strong></strong>.<strong>usp</strong>.<strong>br</strong>valentin@<strong>sel</strong>.<strong>ee<strong>sc</strong></strong>.<strong>usp</strong>.<strong>br</strong>Abstract. In this paper, we present a methodology for automatic pattern recognition ofbinary images objects using morphological operators and genetic programming. Theresults are expressed in terms of the basic morphological operators and logical operators.Genetic Programming (GP) is based on concepts of genetics and Darwin’s principleof natural <strong>sel</strong>ection to genetically <strong>br</strong>eed and evolve computer programs to solve awide variety of problems. GP is a relatively new <strong>br</strong>anch of evolutionary computationand it is gradually consolidating as a promising methodology to be used in applicationsinvolving pattern recognition. Mathematical morphology is based on the set theory(complete lattice) where the notion of order is very important. This processing techniquehas proved to be a powerful tool for many computer vision tasks. An example ofapplication is presented and the result is compared with other methods in the literature.180


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.1 IntroductionMorphological image processing is a nonlinear <strong>br</strong>anch in image processing developedby Matheron and Serra in the 1960´s, based on geometry and the mathematical theory oforder [1 - 2]. Morphological image processing has proved to be a powerful tool for binaryand gray<strong>sc</strong>ale 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 necessarysome expert knowledge to properly <strong>sel</strong>ect the structuring element and the morphologicaloperators to solve a certain problem. In the literature there are several approachesusing automatic programming to overcome these difficulties [3 – 4], however,they present several drawbacks as a limited number of operators, only regular forms ofstructuring elements, only morphological instructions, to name just a few.Genetic programming (GP) is the most popular technique for automatic programmingnowadays and may provide a better context for the automatic generation of morphologicalprocedures [5]. GP is a <strong>br</strong>anch of evolutionary computation and artificial intelligence,based on concepts of genetics and Darwin’s principle of natural <strong>sel</strong>ection to genetically<strong>br</strong>eed and evolve computer programs to solve problems.Genetic Programming is the extension of the genetic algorithms [6] into the space ofprograms. That is, the objects that constitute the population are not fixed-length characterstrings that encode possible solutions to a certain problem. They are programs (expressedas parse trees) that are the candidate solutions to the problem. For example, thesimple program “min(x*2,x+2*y)” is illustrated in figure 1. The programs in the populationare elements from the function set and the terminal set, which will represent thesolution of problems in the domain of interest. In GP, the crossover operator is implementedby taking randomly <strong>sel</strong>ected subtrees in the individuals (<strong>sel</strong>ected according tofitness) 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 operatorsin the literature [7]. We developed a linear genetic programming approach forthe automatic construction of morphological and logical operators, generating a toolboxnamed morph_gen for the Matlab program. The developed toolbox can be used for thedesign of non linear filters, image segmentation and pattern recognition of binary im-181


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.ages. An Example of application is presented and the result is compared with other approaches.This article is organized as a <strong>br</strong>ief review of the basic concepts of morphological operationsand genetic programming, section 1; a detailed de<strong>sc</strong>ription of the developedalgorithm, section 2; results and application examples are presented in section 3; section4 presents the conclusions.2 Automatic construction of morphological operatorsThe proposed algorithm developed in this paper for automatic construction of morphologicaloperators uses a linear genetic programming approach that is a variant of theGP algorithm that acts on linear genomes. The developed algorithm operates with twoinput images, an original image and an image containing only features of interest whichshould be extracted from the original image. The genetic procedure looks for operatorsequences in the space of mathematical morphology algorithms that allows extractingthe features of interest from the original image. The operators are predefined proceduresfrom a database that work with particular types of structuring elements having differentshapes and sizes. It is also possible to include new operators in the data base when necessary.The program output is a linear structure containing the best individual of thefinal population. The output result from one operator is used as input to subsequent operatorand so on. The genetic algorithm parameters are supplied by the user using agraphical user interface (GUI). The main parameters are: tree depth, number of chromosomes,number of generations, crossover rate, mutation rate, error and certain kindsof operators suited to a particular problem. It has been used for the problems the meanabsolute error (MAE) as a fitness measure. For example, the fitness function usingMAE error was calculated as follows:1d(a,b) XYXiYja(i, j) - b(i, j)In equation 1, a is the resulting image evaluated by a particular chromosome (program)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.(1)182


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Figure 2. Flowchart of developed system.The genetic parameters and the images are supplied by the user; the initial populationof programs is randomly generated. Since the chromosomes are encoded as binarychains, for example, if the user has <strong>sel</strong>ected the instructions: and (AND logic), sto(STORE), ero (EROSION) and cpl (COMPLEMENT), the first operator will be codedas “002”, the second as “012”, the third as “102” and the last one as “112”. If the treedepth chosen was four, for example, the chromosome: “000110112” could be created.After evaluation of each chromosome in a generation, a fitness value is assigned toeach one. The <strong>sel</strong>ection method used for genetic operators was the tournament <strong>sel</strong>ection.In crossover operation, morphological operators are randomly <strong>sel</strong>ected and exchangedbetween parents chromosomes. The mutation operation replaces a randomly<strong>sel</strong>ected instruction by another in the range of morphological algorithms space. Thereproduction operator copies a single parent into the new generation according to itsfitness value.3 Results and application examplesIn 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 extractedfrom a fragment of a music <strong>sc</strong>ore. The genetic procedure found the followingbest program to extract heads: “dil_dd_3->dil_q_3->do_nothing->ero_q_3-183


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.>do_nothing->ero_q_3”. The genetic parameters chosen for this task were: 50 generations,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 trainingtime was less than 71 seconds and execution time was less than 0,02 seconds. This procedurewas applied to image of figure 4 producing a very good result. The operatordil_dd_3 is a dilation by a 3x3 diagonal structuring element. Operators dil_q_3 andero_q_3 are a dilation and an erosion by a 3x3 square structuring element. Thedo_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


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Comparing the results with those obtained from [8] [9], our implementation presentedimprovements in fitness, processing time and programming flexibility.Table 1 summarizes all the results obtained.Table 1. Summary of results.ExampleHead extractionGeneration<strong>sc</strong>hromosomes Tree Cross Mut Repr MAE Training Executiondepth rate rate rate error time time50 25 6 90% 20% 20% 0,7% 71s 0,02s4 ConclusionsIn this paper a method for automatic pattern recognition of binary image objects usingmorphological operators and a linear genetic programming approach was presented.An application example has been presented where the solution has been expressed interms of the basic morphological operators, dilation and erosion, in conjunction withother instructions. Comparing with other methods de<strong>sc</strong>ribed in the literature, the developedmethodology presents many advantages such as an improvement in processingtime, 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.References1. E. R. Dougherty, An introduction to Morphological Image Processing, SPIE, Washington,1992.2. J. Serra, Image Analysis and Mathematical Morphology, Academic Press Inc, California,1982.3. S. Marshall, N. R. Harvey, D. Greenhalgh, Design of Morphological Filters usingGenetic Algorithms, EUSIPCO, Tampere, Finland, September, 2000.4. I. Yoda, K. Yamamoto, H. Yamada, Automatic acquisition of hierarchical mathematicalmorphology 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 morphologyalgorithm design on binary images, In M. Proceedings of the InternationalConference KBCS, 2002, pp. 161-171.8. N. R. Harvey, S. Marshall, The use of genetic algorithms in morphological filterDesign, Signal Processing: Image Communication 8(1) (1996) 55-72.9. H. Miyao, Y. Nakano, Head and stem extraction from printed music <strong>sc</strong>ores using aneural network approach, ICDAR, 1995, pp. 1074-1079.185


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Digital Image Detection of Brazilian Car License Plates Based on MatchedFiltersB.B. Leite 1 , J.M. de Seixas 21 INdT – Nokia Technology Institute2 LPS/COPPE/EP – Signal Processing Laboratory<strong>br</strong>uno.leite@indt.org.<strong>br</strong>, seixas@lps.ufrj.<strong>br</strong>AbstractMachine vision techniques play an increasing rolein the development of automating systems. Theconstant growth of vehicle flow in the cities makes itsmonitoring and identification an important issue. Thiswork aims at developing the first step in an automaticidentification system for Brazilian private car licenseplates. This is performed by detecting their imagesfrom car digital images in which license plate imagesare randomly located. For this, line spectral analysisand matched filters are employed. The detectionefficiency was found to be above 81% for good qualityimages acquired in practical conditions.1. IntroductionThe constant growth of vehicle flow in the citiesmakes its monitoring to be an important issue. Themain monitoring objectives are: flow control, <strong>sc</strong>rutinyand vehicle identification.So far, vehicle identification has mainly beenperformed using electronic tags. Computer vision,signal/image processing and pattern recognitiontechniques are still not widely used but it can be seen asa different way to solve the problem. In some cases,where the use of electronic tags is impossible,automatic vehicle identification can be achievedthrough image processing techniques. Although theapproach based on signal processing is more sensitiveto climatic conditions, such as fog, rain and luminosityvariation along the day, its acceptance is beginning toincrease among urban traffic control technicians andauthorities and also among the public securitydepartments [1].Presently, some systems address the vehicle flowcontrol by using digitized image processing in a varietyof ways. However, the efficiencies reached are so farstill not completely satisfactory, which avoids the wideuse of such approach.A <strong>br</strong>oad range of applications can be identified forthis type of system, such as: detect offenders, controltoll units and parking areas, vehicle origin/destinationstudy, traffic flow planning and measurement, stolencar location, access control to restrict areas, etc [2].1.1. State of the artBasically there are two different types of vehicleidentification systems: RF systems and image detectionsystems. The RF systems are composed by RF ID’sstuck on the vehicle front window and detectors thatare usually placed in controlled areas (parking places,toll areas). When the RF ID passes through thedetectors, it is identified and, in the case of controlledareas, the vehicle is authorized or not to get into theseareas. However, this kind of system has a securityproblem: the RF ID can be moved from one vehicle toanother, which makes a loose association in thedatabase with the correct vehicle. Thus, it is notpossible to fully assign the RF ID to the vehicle licenseplate.On the other hand, image-based systems do not needany device installed in the vehicles or any additionalvehicle identifier. It simply recognizes the vehicle byits license plate, a mandatory item in every registeredvehicle.The minimum configuration normally used in anautomatic image processing or RF vehicle license platerecognition system (see Figure 1.1) comprises anelectric or inductive sensor whose objective is to detectthe vehicle (system trigger); a camera, responsible foracquiring the image; a DAQ board, which acquires thesignals 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 andalso for recognizing its characters.186


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Figure 1.1: Example of an image vehicleidentification system.Nowadays, a bunch of companies and R&D centerswork or offer automatic vehicle license platerecognition systems. However, it is difficult to make acomparative analysis among them, as they do notfollow any standard in terms of features or performancemeasurement.The objective of this work is to present anautomatic system that uses image pre-processing forfeature extraction and hypothesis making based on amatched filter to detect the car license plate image fromdigital images in which the license plate image can befound. Specifically the digital images used in this workare acquired in a Brazilian highway with intensevehicle flow and are restricted to private cars. From thedetected images, the corresponding license plate can beidentified in a second step. This step has beenpreviously performed in [2].2. System DevelopmentIn this section, the localization system will bespecified based on previous studies and according tothe Brazilian responsible department resolutions(CONTRAN). After that, it will be shown how theimages were acquired and how the database wa<strong>sc</strong>reated.Typically, a vehicle license plate identificationsystem 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 workaims to present a set of techniques for the two firstphases, that is, vehicle image acquisition, under realconditions, and the following stage, license platelocalization.In this project, the system was designed to acquirethe images, store them in a database and process themoffline. So, according to this specification, the systemhas the following architecture:Figure 2.1: System architecture.The database comprised 1250 images and was splitinto two sets: the development subset, with 90% of theentire database, and the testing subset, formed by theremaining 10% of the images.2.1. Image acquisitionThe image acquisition was done in an express laneof toll area during two days. It was necessary to put ananalog camera connected to a DAQ board that wasinstalled in a PC. The system trigger signal wasgenerated by an inductive sensor installed on the lanefloor.The acquisition was done continuously through thatentire period, generating more than 25.000 images. Notall the images fit the interest of this work, once in someof 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 andso on – there are lot of types of license plates, but notall of them are from private vehicles (whose charactersare black and the background gray), object of ourstudy.Below there is a sample extracted from the databaseused in this work:Figure 2.2: Database sample187


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Those problems, together with the need of knowingthe exact position of the license plate and its charactersin the image, motivated the constructions of a databasede<strong>sc</strong>ribed below.2.3. Database creationWith the objective of creating the database, it wasnecessary to classify the images as well as register thespatial information of interest. To aid in this task, itwas developed a system to register the images [3]. Theinformation of interest for the classification of eachimage is:FieldFile NameLicense Plate in theImageContentIndicates the image filelocationComplete, partial, noneLicense Plate QualityGood, with shadows,bashed, illegibleBumper Contrast Dark, lightLicense Plate Type Gray, red, othersLicense Plate NumberASCII string withlicense plate characters(x,y) location of the dotDotthat separates numbers andletters (in pixel)Top-left (x,y) andCharactersbottom-right (x,y)characters positioncoordinates (in pixel)Top-left (x,y) andPlatebottom-right (x,y) licenseplate position coordinates(in pixel)Table 2.1: Registered fields for each image.Until the beginning of this work, 5.000 images hadbeen registered. Within this group, 1.250 images wereclassified as Gray, Complete and Good. This work wasdeveloped with these 1.250 images, pointing out that90% of these images (1125) were used as thedevelopment set and 10% (125), chosen randomly,were used as the test set of images.3. Matched Filter DesignThe work was developed on an off-line set ofimages that were previously inserted into the database.The methodology is based on classical signalprocessing techniques (instead of classical imageprocessing ones) used in sequence. The first stage, thepre-processing, horizontal frequency filtering, is usedto reduce the amount of area that the matched filter (thesecond stage) will act on.The expected matched filter output is the licenseplate region. On these outputs the efficiency studieswill be performed.3.1. Pre-processingThe pre-processing goal is to reduce the area thatthe matched filter will search for the license plateimage. With that approach some benefits are intendedto be achieved, such as speeding up the system, oncethe matched filter will not need to search the entireimage, a high computational cost operation, andimproving the detection efficiency because noiseregions will be eliminated.Instead of classical image processing filters, wedecided to detect the license plate image through it<strong>sc</strong>haracteristic horizontal frequency [1], what isassociated to inter-character spacing, constant inBrazilian license plates, following CONTRAN rules.In order to find out the frequency region that thecharacteristic horizontal frequency falls within, somelicense plate images were analyzed. The figure belowillustrates the analysis of a single plate:Figure 3.1: Characteristic horizontal frequencyanalyses in a single license plate.Three lines that pass through all the characters (inblue, red and gray) were chosen and analyzed. Eachpair of graphs represents the Luminance x Pixelfunction (graph above) and its FFT coefficients (graphbelow).After concluding the analysis for the set of licenseplate chosen, a cumulative graph (the sum of every188


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.single FFT coefficient graph) of all the FFT’<strong>sc</strong>oefficient was plotted (figure 3.2).small. So that, the patterns were obtained using theprocess average, according to the formula below:IF=where:N∑i=1IiNI F = filterI i = i-th image (sample)N = total number of samplesFigure 3.2: Cumulative graph of all the FFT’<strong>sc</strong>alculated from the license plates development set.Inspecting the figure above, it is possible to verifythat there is a characteristic horizontal frequency rangedefined between 0.03 and 0.06. So this range will beused as a pre-processing input to its filter. It is alsopossible to see that a frequency component around 0.3,introduced by a specific noise from the camera used toacquire the images. However it can be easily filteredand will not interfere in the final result.The pre-processing will search in the image forregions that have significant horizontal frequencycomponents around 0.03 and 0.06. Only in theseregions, the matched filter will act on.This approach was used to reduce thecomputational complexity of the algorithm and makethe system faster.As a result of this operation, we have the followingfilters for each of the 3 patterns:Figure 3.4: Dot filter.Figure 3.5: License plate filter.3.2. Matched filterA matched filter is obtained by correlating a knownsignal, or template, with an unknown signal to detectthe presence of the template in the unknown signal.This is equivalent to convolving the unknown signalwith a time-reversed version of the template. Thematched filter is the optimal linear filter formaximizing the signal to noise ratio (SNR) in thepresence of additive stochastic noise [4].The matched filters developed in this project arebased on patterns that occur in the vehicle image, suchas the license plate, its characters and the dot betweenthe numbers and the letters. It is possible to see the lastpattern below:Figure 3.3: Dot between the numbers and the letters.In this work, it was considered that the statisticalfloat among the samples used to build the filter wasFigure 3.6: Character filters.From the figures above it is possible to notice thatthe float among the characters samples that were usedto build the set of character filters is smaller than thefloat in the samples used to build the license plate andthe dot filters.So now, with the pre-processing parameters and thematched filters constructed, it is possible to moveforward and analyze the entire system.3.3. The systemAfter presenting the filters used in the project, wecan put them together and show the sequence oftechniques used to have the entire locating system.189


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.3.3.2. Sliding filter algorithmThe matched filter chosen will slide through theimage calculating the highest correlation. It slideshorizontally until it reach the end of the line, then itjumps one line below and restarts the process againuntil it reaches the last line. As this operation has ahigh computational cost, the pre-processing will limitthe area the matched filter will slide on.4. ResultsFigure 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 havesome details that cannot be seen in it. Previously, thedetails from the pre-processing were presented. Belowthere are some details about the matched filter.3.3.1. Energy normalizationThe process of applying the matched filter consistsof calculating the cross correlation between the signalsand the filters, as shown in the formula below:N∑ − m − 1xn+mn=0*R ( m)= y , for n ≥ 0;xyAccording to the formula it is possible to see thatthe cross correlation is a sum of products. That is thereason why higher energy signal signals generatecorrelations with higher energy. If the matched filter isused this way, the higher correlation will be generatedby the signal with higher energy.To avoid this kind of problem, it is commonpractice to normalize the energy of the signals that willbe matched. In our case, the energy will be normalizedaccording to the formula below:Nn∑∑[ I(i,j)]i= 1 j=1E =N ∗ Mwhere: the image I has resolution NxM pixels;M2In this section, it will be presented the efficiencyresults for each of the three filter proposed. Thedi<strong>sc</strong>ussion will start defining how efficiency will bemeasured for each filter and for the pre-processing,once they are different from each other.4.1. Efficiency measurementAs we have proposed three different types of filtersand a pre-processing technique, their efficiencies willbe measured differently.4.1.1. Pre-processingThe pre-processing responsibility is to reduce theamount of area that the matched filters will search. So,when computing its efficiency, it is considered acorrect output whenever the pre-processing reduces thearea without excluding the area that contains thelicense plate.4.1.2. License plate filterIn the database, we have the information about theposition of each character of the license plate, so, forthis type of filter, we consider a correct output theregion in the image that contains the seven characters,as shown below:Figure 4.1: Correct output from license plate filter.I Norm=IE4.1.3. Dot filter190


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.In the database, the dot that separates the lettersfrom the numbers is defined as a single point, so forthis filter, if the output region contains the dot position,it is considered as a correct output.4.1.4. Character filtersIn this case, the approach was very similar to theone used in the license plate filter. If the character filteroutput 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 acorrect output when all the seven characters of eachplate were matched.4.2. EfficiencyThe efficiencies were measured on the test subset ofimages. This set, as detailed before, was composed by10% of the database images, that is, 125 images. Thetable below summarizes the efficiencies.Filter Pre-processing System efficiencyusedLicense No 64.4%PlateLicense Yes 81.6%PlateDot No 8.2%Dot Yes 40.0%Characters Yes 67.4%Table 4.1: System efficiencies.As the system has basically two stages (preprocessingand matched filter), we can take intoaccount the efficiency of each stage when analyzing thesystem entire efficiency.According to the table 4.1, the best result wasachieved by the license plate filter with pre-processing(81.6%). If in this case we consider each stageefficiency separately, the pre-processing has anefficiency of 84.0% and the matched filter has anefficiency of 97.1%.5. ConclusionsThis paper presented an automated system to locateBrazilian private license plates based on signalprocessing techniques. This algorithm is just one partof a fully automated license plate recognition system.The pre-processing phase presented was validated,however improvements should be done in order toincrease its efficiency, currently critical in the system.In the matched filter project, the statistical floatamong the samples was considered small so thepatterns were obtained using the process average. Thissmall stochasticity was not taken into account in orderto speed up the system. If it is preferable to gainefficiency than speed, it should be used stochasticfilters.Another simplification in the matched filter projectwas to consider that the noise was white. So, again, tospeed up the system, no noise-whitening technique wasused.And finally, for future works, a pos-processingtechnique would be worthy to use, so the system coulddecide by it<strong>sel</strong>f if its output is a license plate or not.6. AcknowledgementWe would like to thank INdT (Nokia TechnologyInstitute), CBPF, Faperj and CNPq (National Coun<strong>sel</strong>of Technological and Scientific Development) for thesupport 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 FrequencyAnalysis”, Proceedings of Sibgrapi 2002. IEEE ComputerSociety, 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 VehicleLicense Plates Recognition”, Proceedings of CBA 2000.[3] Albuquerque, Marcelo P., Caner, E.S., Gesualdi, A.,Albuquerque, M.P., Leite, B.B., Va<strong>sc</strong>oncelos, C.M., “ImageDatabase of Brazilian Vehicles for Validate License PlateRecognition 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


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Estudo comparativo de classificadores aplicado àanálise de cenas depomares de laranjeirasFelipe A. Cavani<strong>USP</strong> - EESC - SEMAv. Trabalhador São-carlense, 400São Carlos, São Paulo, Brasilfcavani@gmail.comArthur José Vieira Porto<strong>USP</strong> - EESC - SEMajvporto@<strong>sc</strong>.<strong>usp</strong>.<strong>br</strong>Mário Luiz TroncoUNESP - IBILCE - DCCER. Cristóvão Colombo, 2265S. J. do R. Preto, São Paulo, Brasilmariot@ibilce.unesp.<strong>br</strong>ResumoAanálise de imagens agrícolas exige algoritmos comcapacidade de lidar com cenas não estruturadas ao arlivre. Algoritmos de segmentação desenvolvidos parasegmentar cenas naturais juntamente com classificadoresde segmentos viabilizam sistemas de visão computacionalonde o algoritmo de segmentação é distintoda classificação dos segmentos. Tal fato é exploradoneste trabalho com o propósito de avaliar vetores de característicase diferentes tipos de classificadores de padrões.Foram avaliados vetores de características derivadosdos espaços de cores RGB e HSV. Também foramavaliados classificadores baseados no teorema de Bayese baseados no perceptron multicamadas. Os classificadoresbayesianos treinados com os vetores de característicasderivados do espaço de cores HSV mostraramsemais adequados nos experimentos realizados.1. IntroduçãoSistemas de visão computacional (VC), quando usadospara analisar imagens provenientes de ambientenão estruturado ao ar livre, necessitam de algoritmosque devem ser robustos com relação as mudanças deiluminação, reflexos e som<strong>br</strong>as. Algoritmos de segmentaçãoadequados para estes tipos de ambientes, juntamentecom técnicas de classificação de padrões, possibilitama construção de sistemas de VC adequados paraestes ambientes.Um sistema de VC onde um algoritmo de segmentaçãoautomático opera de modo independente da classificaçãosupervisionada dos segmentos, pode ser consideradocomo de arquitetura modular. Tal arquitetura évantajosa pois através desta épossível avaliar separadamentealgoritmos de segmentação, de<strong>sc</strong>ritores de segmentose classificadores de padrões. O algoritmo de segmentaçãodeve gerar segmentos com fronteiras bem definidas,coerentes com os objetos presentes na cena. Osde<strong>sc</strong>ritores desempenham nesta arquitetura um papelfundamental, pois estes impactam diretamente na qualidadedos resultados obtidos do classificador. Por isto,devem ser e<strong>sc</strong>olhidos de<strong>sc</strong>ritores adequados. Também,devem ser consideradas abordagens adequadas para aclassificação destes de<strong>sc</strong>ritores.As vantagens desta arquitetura são adequadas parasistemas de VC agrícolas. Tais sistemas têm se mostradoimportantes, pois a área agrícola tem usado tecnologia<strong>sc</strong>om o propósito de melhorar a competividadeou aumentar a produção. Tais sistemas de VC têm sidousados para: inspeção de produtos, monitoramento daplantação e colheita automática [10, 15]. Quando consideradaa cadeia produtiva de laranjas, a VC tem sidoaplicada para coleta de dados [1, 14] ou para auxiliara colheita automática de frutos [13], dentre outrasaplicações.Neste trabalho, o algoritmo de segmentaçãoJSEG [3] é usado, pois este opera de modo não supervisionado,o que possibilita que o conhecimento arespeito do ambiente seja embutido na etapa de classificaçãodos segmentos. Posteriormente, os segmentossão classificados com o classificador de Bayes, classificadoringênuo de Bayes e classificador baseado noperceptron multicamadas (PMC) treinado com o algoritmoiRprop [8]. Os resultados obtidos com o<strong>sc</strong>lassificadores, treinados com diferentes tipos de ve-192


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.tores de características, são comparados. Por fim,são feitas considerações so<strong>br</strong>e o uso de tal arquiteturaem aplicações reais.Nas seções seguintes, este trabalho é detalhado e,por fim, os resultados e conclusões são apresentados.2. MateriaisAs imagens das laranjeiras foram adquiridas em diferentesdias e horários durante a época em que as frutasestavam maduras. A resolução destas imagens éde2.048×1.536 pixels. Um conjunto de 658 imagens formao banco de imagens, que é dividido em três grupos: umquemostraasárvores desde o solo até o topo, outro quemostra apenas folhas e frutos e outro que mostra as fileirasde árvores, o solo e o céu. Estes três tipos de imagenssão ilustradas pela figura 1.então, estes histogramas são unidos em um único vetorde características. Este vetor é capaz de representaro segmento de forma adequada, entretanto ele não retéma informação cromática.Os histogramas, neste trabalho, são formados por256 categorias para cada uma das componentes do espaçode cores, assim a informação contida em cadacomponente não é perdida. Esta abordagem difere daadotada por [9], que define números de categorias diferentespara cada uma das componentes do espaço decores, o que acaba privilegiando alguma componenteem detrimento das demais.Os espaços de cores adotados foram o HSV e o RGB:o HSV faz distinção entre a informação cromática ea quantidade de luz, o que torna este espaço de coresmais robusto a situaçõesdesom<strong>br</strong>asereflexos;jáo RGB possibilita comparar o desempenho dos classificadore<strong>sc</strong>om ambos os tipos de vetores de características.4. Conjuntos de treinamento e de testeFigura 1. Tipos de imagens usadas neste trabalho.Os algoritmos usados neste trabalho foram implementadospara o software de computação numérica Octave.Alguns dos algoritmos foram implementados emC++ como módulos de expansão do Octave. As funçõesde densidade de probabilidade (fdp) foram estimada<strong>sc</strong>om o algoritmo de Figueiredo-Jain [5] implementadono toolbox desenvolvido por Paalanen et al. [12].Também, os classificadores bayesianos são implementado<strong>sc</strong>om este toolbox. Os PMC foram construídas, treinadase testadas com os módulos para o Octave da bibliotecaFann (fast artificial neural network).3. Características dos segmentosO uso das cores como característica é bastante comumem sistemas agrícolas de VC, pois estas podem caracterizaradequadamente os objetos de interesse, comopor exemplo, as frutas [10, 15, 1, 14].Neste trabalho, o de<strong>sc</strong>ritor de cores adotado éohistograma.O cálculo do histograma das cores, onde sãoconsideradas as três componentes, é muito custoso, poisa quantidade de cores é muito grande, quando as componentessão representadas por 256 níveis. Entretanto,épossível calcular o histograma de cada componenteseparadamente, o que é computacionalmente simples,Foram e<strong>sc</strong>olhidos segmentos de 40 imagens. Estessegmentos foram classificados manualmente nas classesfrutas, céu e folhas, que representam os principai<strong>sel</strong>ementos da cena. Os vetores de características foramcalculados a partir da informação contida em cada pixeldo segmento. Então, estes vetores foram separadosem dois conjuntos. Um conjunto para o treinamentoe outro para teste dos classificadores. O conjunto deteste é composto por 839 vetores <strong>sel</strong>ecionados aleatoriamente.Diferentes conjuntos de treinamento foram criadosapartirdapartição do conjunto original. Somente, osvetores mais próximos à centróide da sua classe forammantidos nos novos conjuntos. Foram considerados vetorespróximos à centróide, os vetores que distam umaporcentagem da distância euclidiana entre o vetor maisdistante desta classe e a centróide da mesma classe. Asporcentagens usadas são 20%, 30%, 50%, 70% e 100%.Onúmero de vetores em cada classe para cada umdos conjuntos de treinamento é apresentado nas tabelas1 e 2 para o caso RGB e HSV, respectivamente.5. Extração e normalização das característicasAPCA(principal components analysis – análise decomponentes principais) éumatécnica que faz umatransformação linear no espaço de característica demodo a obter-se características não correlacionadas.Também, épossível com esta técnica reduzir o númerode dimensões deste espaço.193


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Conjunto Frutas Folhas Céu Total20% 1110 5602 35 674730% 1278 5997 117 739250% 1349 6283 225 785770% 1363 6297 261 7921100% 1364 6297 275 7936Tabela 1. Número de vetores em cada classepara o caso RGB.Conjunto Frutas Folhas Céu Total20% 566 5405 31 600230% 1155 6029 89 727350% 1331 6277 209 781770% 1363 6297 255 7915100% 1364 6297 275 7936Tabela 2. Número de vetores em cada classeparaocasoHSV.Com o objetivo de avaliar a relação entre quantidadede dimensões e a taxa de classificações corretas,esta técnica foi adotada. Deste modo também, evita-sea “maldição da dimensionalidade”, a qual prejudica diretamenteos classificadores [6].Neste trabalho, a PCA foi feita em cada um dos conjuntosde treinamento e as matrizes de transformaçãoencontradas foram usadas para transformar os conjuntosde treinamento e de teste.6. Classificador baseado no perceptronmulticamadasClassificadores construídos com redes neurais artificiais(RNA) toleram ruídos, são rápidos, devido ao seubaixo custo computacional, e podem aprender superfíciesde decisão não-lineares [7]. O perceptron multicamadas(PMC) é uma das arquiteturas de RNA quepode ser usada como classificador de padrões, entretanto,o algoritmo padrão de treinamento, o backpropagation,é lento, ou seja, precisa de muitas iteraçõespara convergir. O treino do PMC pode ser mais rápidocom o algoritmo iRprop, um algoritmo adaptativode de<strong>sc</strong>ida de gradiente que é acurado, robusto erápido [8].Neste trabalho, cada tipo de vetor de característicasé classificado por um PMC com topologia específica,onde o número de entradas coincide com com o númerode dimensões dos vetores de características. Então,são construídos PMC para cada conjunto de treinamento,onde estes PMC suportam vetores de característicasde duas até 20 dimensões, o que resulta em 190PMC. Todos os PMC têm 10 neurônios na camada e<strong>sc</strong>ondidae três neurônios na camada de saída, tal quecada um destes representa uma das classes.Todos os PMC são treinados três vezes. O treinamentotermina quando o erro quadrático médio (EQM)émenorque0, 0001 ou o número de iterações é maiorque 200.000. Antes de cada treinamento, os vetores sãoembaralhados. A função de ativação dos neurônios éatangente hiperbólica, com parâmetro igual a 0, 9. Ospesos sinápticos são inicializados com valores aleatórios.Os demais parâmetros têm os valores padrão dabiblioteca Fann.As redes, obtidas após o treinamento, são usadaspara classificar os vetores do conjunto de teste. Cadavetor é apresentado para a rede e éatribuído para aclasse correspondente ao neurônio de saída que retornáo maior valor. A taxa de acertos de cada classificadoré calculada comparando-se os dados obtidos destecom os dados obtidos na classificação manual dos segmentos.Dentre os três treinamentos de cada uma dasredes, o que apresenta maior taxa de acertos é e<strong>sc</strong>olhido.7. Classificador baseado no teorema deBayesA abordagem estatística utiliza o teorema de Bayespara calcular o valor da probabilidade de um determinadovetor de características pertencer a uma classe.Isto possibilita a atribuição criteriosa a uma classe,quando a fdp e a probabilidade a priori modelam adequadamenteo conjunto de treinamento. Caso a fdp e aprobabilidade a priori não sejam conhecidas, estas devemser estimadas a partir do conjunto de treinamento.A fdp pode ser obtida através de técnicas paramétricasou não-paramétricas. As técnicas paramétricassão utilizadas quando é conhecida a fdp que originouo conjunto de treinamento, mas os parâmetros destanão são conhecidos e devem ser estimados. As técnicasnão-paramétricas são necessárias quando não existe conhecimentosuficiente que possa ser utilizado para determinara fdp ou quando a densidade do conjunto detreinamento assume uma função não conhecida, comoé o caso deste trabalho.As técnicas não-paramétricas podem ser baseadasem janelas ou em vizinhos mais próximos. Uma das dificuldadesé encontrar um tamanho de janela adequadopara todo o domínio do conjunto de treinamento. Osmétodos de vizinhos mais próximos não sofrem desteproblema, entretanto a quantidade de vizinhos tambémdeve ser determinada manualmente. Os dados aserem avaliados na estimativa de um ponto da fdp po-194


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.dem ser suavizados por meio de uma função de núcleo,como é o caso da função gaussiana, que atribui menorpeso aos vetores de características que estão maisdistantes do centro. Esta última técnica é chamada denão-paramétrica de núcleo [4].Os modelos baseados em misturas finitas são semelhantesaos métodos não-paramétricos de núcleo e sãocapazes de representar fdp arbitrárias e complexas [6].Neste caso, a função que modela o conjunto de treinamentoé aproximada pela combinação de um número finitode funções, onde cada uma destas funções, ou componentes,é ponderada por um valor, o que dá origemamistura. Estes modelos permitem uma abordagem formalao aprendizado não supervisionado e, conseqüentemente,permitem que a e<strong>sc</strong>olha do número de componentese a validação do modelo sejam feitas formalmente,diferente das heurísticas de agrupamento comoo k-médias. As misturas são semelhantes aos modelo<strong>sc</strong>riados pelos algoritmos de agrupamento, pois cadacomponente da mistura é associado a um sub-conjunto(agrupamento) do conjunto de treinamento, onde estesub-conjunto têm maior probabilidade de ter sido geradopor este componente da mistura. A função gaussianaé normalmente e<strong>sc</strong>olhida para compor a mistura[5].Neste trabalho, a fdp é aproximada como uma misturade funções gaussianas e assume a forma da equação1, onde k éonúmero de funções, α m são os pesosou probabilidades das funções, θ m são os parâmetrosda função gaussiana, θ ≡{θ 1 ,...,θ k ,α 1 ,...,α k },α m ≥ 0comm =1,...,k e ∑ km=1 α m = 1 [5].ˆp(y|θ) =k∑α m p(y|θ m ) (1)m=1Determinar a fdp, ou o modelo do conjunto de treinamento,neste trabalho, está restrito a e<strong>sc</strong>olha do númerode componentes da mistura (k) e a encontrar osparâmetros destas componentes (θ). Estes parâmetrospodem ser encontrados analiticamente, mas devido afalta de informação a respeito dos conjuntos de treinamento,como médias e matrizes de co-variâncias, estaabordagem não é adequada. Entretanto, o número decomponentes e os parâmetros destas podem ser encontradosatravés de maximum-likelihood (ML) ou atravésda estimativa bayesiana. Na práticaaMLémaissimplese produz resultados tão acurados quanto a estimativabayesiana [11].O algoritmo padrão para obter a ML é o algoritmode maximização da esperança (EM - expectationmaximization).Entretanto, este algoritmo tem algumasdeficiências, como, por exemplo, sensibilidade àinicialização e a necessidade da e<strong>sc</strong>olha do número decomponentes da mistura, onde este númerolevaasubadaptaçãoou a super-adaptação. 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 número arbitrário egrande de componentes, onde as médias destas componentessão distribuídas pelo espaço formado pelo conjuntode treinamento. Estas componentes são eliminadasquando o algoritmo detecta que estas não são suportadaspelo conjunto de treinamento, criando, assim,um novo modelo. Após o algoritmo atingir um númeromínimo de componentes, é e<strong>sc</strong>olhido, dentre todos osmodelos avaliados, o modelo que tem a função de objetivocom menor valor [5].O algoritmo de Figueiredo-Jain foi usado neste trabalhopara estimar as fdp de cada classe a partir do<strong>sc</strong>onjuntos de treinamento. Como é feito para os classificadoresbaseados no PMC, são estimadas fdp para cadauma das quantidades de dimensões, ou seja, de duasaté 20 dimensões, de cada um dos conjuntos de treinamento,sendo que para cada um destes casos, as fdpsão estimadas três vezes. Então, a classificação do conjuntode teste é feita com a equação 2, onde i éumaclasse, P (C i )é a probabilidade da classe C i ocorrer,p(y|C i )é fdp condicional da classe i, y éovetordecaracterísticase K éonúmero total de classes [2]. A classificaçãoque resultar na maior taxa de acerto é e<strong>sc</strong>olhidae as duas outras são de<strong>sc</strong>artadas. Os parâmetrosdo algoritmo de Figueiredo-Jain são os padrões do toolbox[11].P (C i | y) =p(y | C i )P (C i )∑ Kj=1 p(y | C j)P (C j )8. Classificador ingênuo de Bayes(2)Este classificador é semelhante ao apresentado anteriormente,entretanto, neste caso, admite-se que as característicassão independentes. Então, para cada umadas classes, supondo que a fdp assume a forma da equação3, onde p(y j | C i )é a função de densidade marginalcondicional, e n éonúmero de características. Nestecaso, a função de densidade marginal condicional foitambém estimada com o algoritmo de Figueiredo-Jain.p(y | C i )=n∏p(y j | C i ) (3)j=1Classificadores que adotam a fdp desta forma podemlidar com mais características, pois cada fdp marginalterá apenas uma dimensão. Apesar da fdp desteclassificador ser distorcida, ela não prejudica a classificação,pois a distorção é menor perto das fronteiras dedecisão [6].195


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.O treinamento e a avaliação deste classificador sãofeitos da mesma forma que no classificador baseado noteorema de Bayes.9. ResultadosOs resultados obtidos após o treinamento dos vário<strong>sc</strong>lassificadores são resumidos na tabela 3, onde sãoapresentados os melhores classificadores para cada tipode classificador e para cada tipo de vetor de características(vetores derivados dos espaçosdecoresRGBouHSV). Pode-se observar que os melhores classificadoressão: o baseado no perceptron multicamadas e o baseadono teorema de Bayes. Entretanto, para o caso bayesianoo classificador obteve tal taxa utilizando menosdimensões e as fdp foram estimadas de um conjunto detreinamento menor, onde os vetores de tal conjunto estãomenos dispersos no espaço. Considerando que osvetores mais distantes não foram removidos dos conjuntosde teste, épossível afirmar que o classificadorbayesiano teve melhor capacidade de generalização.Classificador Cores D C TaxaMLP RGB 18 100% 0, 94MLP HSV 20 50% 0, 95Bayes RGB 17 70% 0, 94Bayes HSV 17 30% 0, 95Naive RGB 20 100% 0, 92Naive HSV 10 70% 0, 92Tabela 3. Taxas de acerto dos melhores classificadores,onde D éonúmero de dimensões eCé o conjunto de treinamento.Para avaliar o desempenho dos classificadores comrelação ao número de dimensões, são considerados osvalores médios da taxa de acerto obtidos para os conjuntosde treinamento 50%, 70% e 100%. Os conjuntos20% e 30% foram de<strong>sc</strong>onsiderados, pois a quantidadede vetores da classe céu é pequena. Devido aisto, não foi possível estimar as fdp com o algoritmo deFigueiredo-Jain para estes casos.O gráfico na figura 2 mostra as taxas médias deacerto para todos os tipos de classificadores, espaçosde cores e quantidade de dimensões. Neste gráfico épossível observar que os classificadores bayesianos treinado<strong>sc</strong>om vetores derivados do espaço de cores HSVapresentam as melhores taxas de acerto. Sendo que taltaxa cre<strong>sc</strong>e rapidamente até três dimensões e depoi<strong>sc</strong>re<strong>sc</strong>e mais lentamente. Tal fato mostra que a dispersãodos vetores favorece tal classificador mesmo quandousadas poucas dimensões.Também no gráfico da figura 2, nota-se que os classificadoresbayesianos tiveram desempenho superior ao<strong>sc</strong>lassificadores ingênuos de Bayes para a maioria dos casos.Isto mostra, que para este caso, a suposição de independênciaentre as características não é adequada.Para os classificadores baseados no perceptron multicamadas,foi necessário o número máximo de iterações.Os EQM obtidos nos treinamentos ficaram acimado mínimo estipulado. Apesar disto, para o caso HSV,foram obtidas taxas de acerto próximas as obtidas como classificador bayesiano para o mesmo caso. Entretanto,as taxas obtidas com o PMC apresentaram comportamentomais instável como pôde ser observado nográfico da figura 2. Como foi utilizada apenas uma topologia,não épossível afirmar que o PMC é inadequadopara tal tarefa, pois é necessário avaliar outrastopologias.Os resultados mostram que para os espaços de coresadotados, os classificadores apresentam comportamentosemelhante, pois para o caso HSV as taxas deacerto cre<strong>sc</strong>em rapidamente e para o caso RGB estecre<strong>sc</strong>imento é lento. O que mostra que para poucas dimensõesos vetores do caso HSV favorecem mais os classificadoresque para o caso RGB.A arquitetura adotada beneficiou-se da capacidadede segmentação não supervisionada do algoritmoJSEG. O conhecimento necessário para identificaros principais elementos das cenas foi embutido noclassificador de padrões que foi empregado para classificaros segmentos das imagens e não os pixels destas,como é feito normalmente nos trabalhos da área agrícola.Os resultados mostraram que tal arquitetura éviável para a tarefa de análise de cenas em pomaresde laranjeiras. Também, com tal arquitetura, épossível considerar novas aplicações, pois esta possibilitaque novos elementos sejam reconhecidos, quando oclassificador é modificado. Por fim, com o desenvolvimentodos algoritmos de segmentação, tal arquiteturapode ser viabilizada para o uso em aplicações com restriçõestemporais.10. ConclusõesNeste trabalho, a análise de cenas de pomares de laranjeirasfoi feita com uma arquitetura modular, quepossibilitou a comparação de diferentes classificadoresde padrõesedediferentestiposdevetoresdecaracterísticas.Os classificadores bayesianos treinados comos vetores de características derivados do espaço de coresHSV mostraram-se mais adequados. Tal fato, pos-196


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.0.960.940.920.9taxa de acerto0.880.860.840.82RNA - RGBRNA - HSVBayes - RGB0.8Bayes - HSVIngênuo - RGBIngênuo - HSV0.782 4 6 8 10 12 14 16 18 20dimensõesFigura 2. Taxas de classificações corretas para cada quantidade de dimensões.sibilitou o reconhecimento dos principais elementos dospomares de laranjeiras com a arquitetura adotada.Referências[1] P. Annamalai, W. S. Lee, and T. F. Burks. Color visionsystem for estimating citrus yield in real-time. InProceedings...ASAE/CSAE Annual International Meeting,ASABE, 2004.[2] L. da F. Costa and R. M. Cesar Júnior. Shape analysisand classification - T heory andPractice. CRC PressLLC, Boca Raton, Florida, EUA, 1 edition, 2001.[3] Y. Deng, B. S. Manjunath, and H. Shin. Color imagesegmentation. In Conference on C om puter V ision andPattern R ecognition, volume 2, pages 446–451. IEEEComputer Society, jun. 1999.[4] R.O.DudaandP.E.Hart.Pattern classification and<strong>sc</strong>ene analysis. John Wiley & Sons, Inc., New York,EUA, 1 edition, 1973.[5] M. A. T. Figueiredo and A. K. Jain. Unsupervised learningof finite mixture models. IEEE TransactionsonPattern Analysusand M achine Intelligence, 24(3):381–396, 2002.[6] T. Hastie, R. Tibshirani, and J. Friedman. The elementsof statistical learning. Springer, New York,EUA, 1 edition, 2003.[7] S. Haykin. Neural networks:a comprehensive foudation.Pretince-Hall, New Jersey, EUA, 2 edition, 1999.[8] C. Igel and M. Hüsken. 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. Yamada.Color and texture de<strong>sc</strong>riptors. IEEE Transactionson C ircuits and System s for V ideo Technology,11(6):703–715, 2001.[10] J. C. Neto, G. E. Meyer, D. D. Jones, and A. J. Surkan.Adaptive image segmentation using a fuzzy neuralnetwork 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. Kälviäinen.Feature representation and di<strong>sc</strong>riminationbased on gaussian mixture model probability densities– practices and algorithms. Pattern R ecognition,39:1346–1358, 2006.[12] P. Paalanen, J.-K. Kamarainen, J. Ilonen, and H. Kälviäinen.GMMBAYES matlab toolbox, <strong>2007</strong>. Disponívelem: .Acesso em: 11 mar. <strong>2007</strong>.[13] A. Plebe and G. Grasso. Localization of spherical fruitsfor robotic harvesting. Machine V ision and A pplications,13:70–79, 2001.[14] M. Regunathan and W. S. Lee. Citrus fruit identificationand size determination using machine vision andultrasonic sensors. In Proceedings...ASAE/CSAE AnnualInternational Meeting, ASABE, 2005.[15] B. L. Steward, L. F. Tian, D. Nettleton, and L. Tang.Reduced-dimension clustering for vegetation segmentation.Transactions ofthe A SA E , 47:609–616, 2004.197


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Inspecionando Placas Montadas de Circuito Impresso com Árvores de DecisãoLuciano Lucindo ChavesFlavius Portella Ribas MartinsIPT – Instituto de Pesquisas Tecnológicas do Estado de São PauloAv. Prof. Almeida Prado, 532 – Cidade Universitária – Campus do IPT- Prédio 55, Sala 306CEP 05508-901– São Paulo – SP – Brasile-mail: lucianochaves@uol.com.<strong>br</strong> fmartins@ipt.<strong>br</strong>AbstractThis paper proposes to use decision trees for findingdefects on mounted printed circuit boards, using aninductive algorithm and previously classified examples.During a training stage the algorithm learns how todifferentiate classes, evaluating dependencies betweenexample’s characteristics (cause) and its respective<strong>sc</strong>lasses (effect). The result is a classifier that can be usedto evaluate new examples whose classes are unknown.Experiments were carried using a set of mounted printedcircuit board images, composed of subsets previouslyclassified as “without defect” and “with defect”. Onaverage, the generated classifiers had 86,7% of successrate.Keywords: decision trees, inductive algorithm, machinelearning, computer vision.1. IntroduçãoAs atividades 1 de inspeção visual realizadas porinspetores humanos apresentam acentuado decaimentotemporal de eficiência. Conforme apontado por Mogantiet al. [1] e Hilton et al. [2], erros de identificação daordem de 50% são bastante freqüentes em ambientesindustriais de inspeção visual. Além do interesse deaumentar a confiabilidade na inspeção, há também oaspecto de redução de custo e maior agilidade naexecução de tarefas. Para tanto, processos de inspeçãovisual automática, inclusive utilizando-se técnicas deinteligência artificial, têm sido aplicados nos maisvariados setores da indústria [2] [3] [4].Artigo enviado em 28/07/<strong>2007</strong>.Agradecemos à FINEP o auxílio recebido para execução deste projeto(Sistema Computacional Embarcado para Inspeção Visual Automáticade Placas de Circuito Impresso - convênio 01.05.0773.00 Ref: 1587/05).Luciano L. Chaves é di<strong>sc</strong>ente do curso de Mestrado Profissional emEngenharia da Computação do IPT, e consultor senior em projetos desoftware (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 problemada identificação de defeitos em placas de circuitoimpresso montadas - aquelas em cuja superfície existemvariados tipos de componentes eletrônicos. Apesar deexistirem sistemas comerciais de visão computacional queresolvem grande parte dos problemas de inspeção visualautomática de placas de circuito impresso, os mesmosrepresentam custo excessivo para a maioria das empresasde pequeno e médio porte. Além disso, os detalhestécnicos dessas soluções obviamente são mantidos comosegredos industriais, sendo impossível utilizar talconhecimento para o desenvolvimento de soluções abertase de baixo custo [5]. Portanto, a principal motivação destetrabalho é contribuir para a construção de uma ferramentade inspeção visual automática que possa ser utilizada pelaindústria de placas de circuito impresso de pequeno emédio porte.Como parte de uma solução de inspeção automática deplacas de circuito impresso montadas, este trabalhopropõe a utilização de árvores de decisão, associada àtécnicas de processamento de imagens, a fim de seidentificar defeitos em placas, classificando-as em dua<strong>sc</strong>ategorias: “sem defeito” e “com defeito”.2. Inspeção de placas montadasAs técnicas de inspeção automática de placas decircuito impresso podem ser divididas em duas classes:métodos “elétricos com contato” e “não elétricos e semcontato”.Embora diversos defeitos possam ser detectados pelosmétodos elétricos, estes não são suficientes para impedirque produtos defeituosos passem despercebidos durante oprocesso de controle de qualidade; em particular defeitosrelacionados a espessura de trilhas e excesso de solda, quepodem causar falhas na placa, não são detectados por essacategoria de métodos. Aliam-se a isso a dificuldade e oalto custo para se implementar esses testes [1].2.1. Inspeção visual automáticaA inspeção baseada no método “não elétrico e semcontato” é realizada através da captura e análise de198


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.imagens e se utiliza, basicamente, dos seguintes elementos[1]: a) dispositivo optoeletrônico para formação deimagens (tipicamente, uma câmera CCD), b) hardware deaquisição de imagens, c) fontes de iluminação e d)algoritmos de visão computacional para emular as funçõesde avaliação.Os algoritmos de visão computacional implementam osprocessos responsáveis pela avaliação da imagem quepermitem verificar se a placa de circuito impresso estámontada de acordo com as especificações de projeto.Com relação às placas montadas, os problemasencontrados podem ser divididos nas seguintes categorias:defeitos de componentes ou placas, defeitos de inserção edefeitos nas terminações. Dentre os problemas mai<strong>sc</strong>omuns de inserção de componentes destacam-se:ausência, inversão ou desalinhamento de componentes eimperfeições na soldagem.Conforme se pode observar na figura 1, imagens deplacas montadas contêm uma grande variedade de padrõesmenos regulares que os apresentados pelas placas nuas(sem componentes) – o que torna o seu processo deinspeção visual automática bastante complexo.Figura 1 - Defeitos típicos de placas de circuito impressomontadas: a) Inversão b) Desalinhamento c) Ausência [5]2.2. Trabalhos relacionadosA inspeção de uma placa montada é realizada em duasetapas: inspeção de componentes e inspeção de solda [2].Em cada uma dessas etapas, a inspeção pode ser realizadautilizando-se imagens 2D, capturadas por câmeras ou<strong>sc</strong>anners, ou 3D, utilizando-se luz estruturada ouiluminação com ângulo de incidência controlado [5].A inspeção de componentes utilizando imagens 2D(foco deste trabalho), é normalmente realizada aplicandoseum conjunto de algoritmos de processamento e análisede imagens que procuram identificar os defeitos da placa apartir de comparações com uma imagem-referência.A técnica mais elementar – image subtraction – para seidentificar diferenças entre imagens, consiste em seconfrontar a imagem avaliada com uma imagemreferência,pixel a pixel, gerando-se como resultado adiferença entre as duas imagens; a presença de artefatosde dimensões apreciáveis na imagem-diferença seriamindícios de defeitos. Uma outra maneira tambémrelativamente simples de se identificar eventuaisdi<strong>sc</strong>repâncias entre a imagem referência e a imagemavaliada consiste em se aplicar a técnica de templatematching [6], mediante a qual se compara a imagem emavaliação com um número maior de templates, o queproporciona alguma tolerância a ruído. Esse método, noentanto, vem a falhar quando existem pequenas variaçõe<strong>sc</strong>ausadas por diferenças de iluminação, desalinhamentodos componentes e outros ruídos. Outra limitação destaúltima técnica reside na necessidade de se utilizar umagrande quantidade de imagens-referência, o que torna oprocesso dispendioso em relação ao esforçocomputacional. Em complemento às técnicas citadas,operações de morfologia matemática [7] podem seraplicadas para eliminar pequenas variações que poderiamser apontadas erroneamente como defeitos, e, também, afim de realizar operações de medição e de inspeção detolerância [8] [9].Por causa das limitações inerentes às técnicas decomparação pixel a pixel, têm se desenvolvido métodosque procuram extrair informações de mais alto nível daimagem. Neste caso não são extraídos diretamente valoresde tons de cinza dos pixels da imagem, mas sim dadosestatísticos desses valores [10] [11]. Nessa abordagem,há uma forte tolerância a ruídos, possibilitando que setrabalhe com considerável variação de luminosidade naaquisição das imagens.Cootes et al. [10], por exemplo, verificam a presençade determinado componente em uma imagem, e se talcomponente se encontra dentro de certa tolerância emrelação à posição e orientação ideais. Para tanto, calculamestatísticas relacionadas aos tons de cinza de imagensreferência,as quais são posteriormente confrontados comas estatísticas extraídas da imagem a ser inspecionada.Esses autores concluem que o método aplicado apresentamaior robustez que os métodos clássicos de comparaçãopixel a pixel (mesmo que estes considerem margens detolerância), por permitir uma considerável variação nostons de cinza entre a imagem-referência e as imagensposteriormente avaliadas.Abordagens utilizando técnicas de inteligênciaartificial também têm sido aplicadas na inspeção visual deplacas de circuito impresso. Mashohor, Evans & Arslan[12] [13] inspecionam placas montadas utilizandoalgoritmos genéticos para a identificação dos parâmetrosda transformação-afim que promove o alinhamento ótimodas imagens referência e teste, após o quê um simples199


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.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 demáquina na inspeção visual de componentes industriais,os autores do presente artigo não encontraram na literaturaaplicações de métodos indutivos à síntese de algoritmosde inspeção visual automática de placas de circuitoimpresso.3. Aprendizado de máquinaAprendizado de máquina, no contexto da InteligênciaArtificial, é a di<strong>sc</strong>iplina que estuda e desenvolve método<strong>sc</strong>omputacionais que têm a capacidade de aprimorar o seudesempenho dinamicamente, à medida que são aplicadosa massas de dados sucessivamente maiores; assim, emulasea habilidade humana de aquisição de perícia por meioda experiência.Há duas categorias de métodos de aprendizado demáquina: supervisionado e não-supervisionado. Nesteúltimo, os algoritmos analisam exemplos nãoclassificados, de modo a identificar diferenças entre osmesmos que possibilitem separá-los em agrupamentosdiversos, os quais são posteriormente analisados para seidentificar os seus significados no contexto do problema[15]. No aprendizado supervisionado existe um arcabouçopara se permitir que o sistema aprenda através deexemplos previamente classificados. Um exemplo –também chamado de caso, registro ou dado – é o objetode estudo a ser classificado, e pode ser de<strong>sc</strong>rito por umatupla (vetor) de valores de atributos. Por sua vez, osatributos são características de um exemplo. Umadeterminada combinação de atributos leva o exemplo apertencer a uma determinada classe, que é simplesmenteum atributo especial do exemplo.3.1. O processo de aprendizagemNo caso do objeto de estudo deste artigo, uma placa decircuito impresso montada pode pertencer a uma de dua<strong>sc</strong>lasses: “sem defeito” ou “com defeito”. Efetuando-seuma avaliação das características (atributos) de umadeterminada placa “com defeito”, é possível identificarquais dessas são mais comumente encontradas nesta classedo que na classe “sem defeito” e, assim, postular ahipótese de que quando o exemplo tem determinada<strong>sc</strong>aracterísticas (c 1 , c 2 ,...,c n ) deve, possivelmente, pertencerà classe C p , onde C p ∈ {“sem defeito”, “com defeito”}.Inferências como a apontada acima podem serrealizadas mediante estudo acurado dos exemplospreviamente classificados de modo a se estabelecerrelações entre causas (características) e efeitos (classes),processo esse que caracteriza o método indutivo deresolução de problemas, ou seja, obtenção de leis gerais apartir de casos particulares.Para implementar esse método de forma automática,utilizou-se, neste trabalho, algoritmos indutores, os quaisanalisam um conjunto de exemplos a<strong>br</strong>angendo placas“com defeito” e placas “sem defeito”, avaliam a<strong>sc</strong>aracterísticas das mesmas e inferem as relações decausa-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ãoutilizadas na previsão das classes de novos exemplos.No processo de aprendizagem comumente se utilizamdois conjuntos de exemplos. O primeiro, chamado deconjunto de treinamento, é utilizado para treinar oalgoritmo indutor, gerando, como resultado, oclassificador. O segundo, chamado de conjunto deexecução, é composto de exemplos que serão utilizadospara verificar se o classificador atingiu um bom grau degeneralização. Assim, aplica-se o classificador nosexemplos do conjunto de execução, para se avaliar seugrau de confiabilidade e sua taxa de erro. Em suma, oconjunto de execução é utilizado para se avaliar ahabilidade do classificador em rotular corretamente outrosexemplos que não tenham sido pré-classificados.Para que se obtenha um classificador confiável, alémde uma baixa porcentagem de erro, é necessário garantirque os conjuntos de treinamento e execução contenhamexemplos que sejam realmente representativos, ou seja,que apresentem as características e classes que serãoencontradas nos exemplos a serem avaliados no futuro.3.2. Indução de árvores de decisãoUma árvore de decisão é composta por nós e ramos. Onó inicial é a raiz, de onde partem ramificações quepodem 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 detreinamento - ou seja, o classificador assume a forma deuma árvore. As regras geradas pela árvore de decisão sãoentão aplicadas ao conjunto de execução (ver figura 2).AlgoritmoIndutorConjunto deTreinamentoConjunto deExecuçãoÁrvore de Decisão(classificador)Figura 2 – Processo de indução de árvores de decisão200


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Algoritmos de indução de árvores de decisão são dafamí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ó daraiz; os valores dos atributos constituem as ramificaçõesque partem deste nó.2. Para cada subconjunto de exemplos dos ramos oprocesso é repetido enquanto houver exemplos dediferentes classes.3. Se o subconjunto tiver apenas exemplos de umamesma classe, ao invés de se gerar nova ramificação criaseum nó indicando a classe do subconjunto.4. Inspeção com árvores de decisãoConforme já exposto, a comparação direta, pixel apixel, entre imagem-referência e imagem-teste apresentamuitas limitações, principalmente no caso de inspeção deplacas de circuito impresso montadas. Entretanto, essasdificuldades podem ser minoradas se a comparação forrealizada entre os vetores de características das imagensde referência e de teste, para o quê é necessário que seidentifiquem os atributos das imagens que sejamefetivamente úteis para distinguir placas defeituosas dasplacas sem defeito.Durante essa análise visual das imagens-exemplo, que,necessariamente, deve ser realizada pelo especialistahumano, são identificados filtros e algoritmos deprocessamento de imagens passíveis de destacar a<strong>sc</strong>aracterísticas di<strong>sc</strong>riminativas das imagens, e assim,promover a construção de vetores característicosrepresentativos das classes. Algoritmos de suavização,detecção de bordas, de limiarização, entre outros, sãoaplicados, de forma encadeada, com o propósito de gerarcaracterísticas marcantes das duas classes de imagen<strong>sc</strong>onsideradas.Na figura 3, por exemplo, é possível notar que aaplicação do operador de limiarização fez com que o<strong>sc</strong>omponentes montados na placa fossem destacados; emcontrapartida, os artefatos específicos do circuitoimpresso - orifícios e trilhas - foram eliminados.Figura 3 – Imagens-exemplo: original e limiarizada4.1. Metodologia aplicadaPara a realização dos experimentos, foramdesenvolvidas duas ferramentas para automatização dotreinamento dos algoritmos indutivos. A primeira,denominada Conversor, implementada com recursos daferramenta Visual Prolog V. 5.2 [16], foi construída parase aplicar às imagens variados filtros espaciais ealgoritmos de processamento de imagens de interesse parao problema, tais como: limiarização e conversão de tipo de imagem (decolorida para monocromática); filtros de suavização: Média, Mediana eGaussiano;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 umarquivo com instruções a serem processadas em lote,tornando possível aplicar-se uma seqüência de operaçõesencadeadas so<strong>br</strong>e uma imagem, utilizando-se diferentesprocessos de conversão e aplicação de filtros. Com esterecurso pode-se atenuar ou destacar determinada<strong>sc</strong>aracterísticas das imagens, conforme a necessidade.A segunda ferramenta, denominada Extrator,implementada na linguagem Delphi [17], foi dotada dealgoritmos dedicados à extração de características dasimagens previamente processadas dos conjuntos detreinamento e execução. As características geradas peloExtrator foram então submetidas à ferramenta MLC++[18], que consiste de um conjunto de programas queimplementam diversos algoritmos de aprendizado demáquina, mediante os quais são gerados o<strong>sc</strong>lassificadores.Em linhas gerais, adotou-se o procedimento abaixopara a realização dos experimentos (vide figura 4):a. Obteve-se um conjunto de imagens-exemplomonocromáticas de sub-regiões de placas montadas, partedos quais compostos por imagens previamenteclassificadas nas categorias “com defeito” e “semdefeito”;b. Aplicando-se ao conjunto de imagens-exemplouma cadeia de algoritmos de processamento de imagensimplementados na ferramenta “Conversor”, foram geradasversões limiarizadas das mesmas.c. Elegeram-se algumas características dessasúltimas imagens que visualmente pareciam distinguir asimagens das placas “com defeito” daquelas “sem defeito”(vide próxima subseção);d. Aplicando-se a ferramenta “Extrator”, foramextraídas as características eleitas, onde, para cadaimagem-exemplo e sua respectiva imagem limiarizada,gerou-se um vetor de características composto de atributosvetoriais e e<strong>sc</strong>alares. Esses vetores foram gravados em201


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.arquivo texto, cada qual ocupando um registro (linha) nomesmo. Os registros deste arquivo foram divididos emdois subconjuntos: S 1 , com registros para composição doconjunto de treinamento, e S 2 , com registros separadospara compor o conjunto de execução;e. Utilizando-se a ferramenta MLC++, aplicaram-seao subconjunto de registros S 1 os algoritmos deaprendizado de máquina ID3 [19] e MC4 [18] (variantedo algoritmo C4.5 [20]), gerando-se assim, o<strong>sc</strong>lassificadores correspondentes. É importante aquiobservar que cada um destes algoritmos procurou, deacordo com seus próprios critérios, identificar quai<strong>sc</strong>aracterísticas eram relevantes para o processo declassificação, razão pela qual as árvores de decisãoinduzidas pelos mesmos apresentaram diferentestopologias e características;f. Na seqüência, o subconjunto de registros S 2 foisubmetido aos classificadores gerados no passo “e”, deforma 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 experimentos4.2. Características extraídasApós a análise visual de uma grande variedade deimagens geradas pelos algoritmos implementados naferramenta “Conversor”, implementaram-se na ferramenta“Extrator” alguns algoritmos para o cálculo de 20propriedades características de imagens monocromáticas ebinárias, a saber: Das imagens monocromáticas (255 tons de cinza)pré-processadas: Histograma de tons de cinza, agrupandoseos tons em dez faixas uniformes; Das imagens limiarizadas:Quantidade de ocorrências de três pixels<strong>br</strong>ancos em seqüência: na horizontal, navertical, na diagonal à direita e nadiagonal à esquerda;Quantidade total de pixels <strong>br</strong>ancos e depixels pretos;Das imagens de bordas limiarizadas:Total de bordas a 0 graus, de 90 graus, de180 graus e 270 graus.4.2. Resultados experimentaisPara a realização dos experimentos foram utilizadas170 imagens-exemplo de sub-regiões de placas montadasde circuito impresso - 85 delas separadas para compor oconjunto de imagens de placas sem defeito e 85 paracompor o conjunto de placas com defeito. Nas imagens deplacas sem defeito foram adicionados ruídos artificiais,como: salt and pepper noise, variações uniformes nosníveis de luminância e pequenos deslocamentos verticaisou horizontais. As imagens de placas com defeito foramgeradas de forma artificial, criando-se, por meio deedição, exemplos para ‘ausência de componente’,‘presença de componente indesejado’ e ‘componente comtamanho diferente do requerido’; a essas imagens geradasartificialmente também foram acre<strong>sc</strong>entados os mesmostipos de ruídos impostos às imagens de placas semdefeito.Foram realizados 44 experimentos utilizando-se a<strong>sc</strong>aracterísticas extraídas das imagens-exemplo. Cadaexperimento utilizou um conjunto diferente decaracterísticas, entre todas as extraídas, e/ou, além disso,variou-se a composição dos conjuntos de treinamento eexecução e o algoritmo indutor utilizado. A tabela 1apresenta um resumo geral dos resultados, indicando queo algoritmo ID3 obteve os melhores resultados na médiageral da taxa de acerto e na melhor taxa de acerto obtida.Tabela 1 – Resumo geral dos experimentosIndicadorAlgoritmoID3AlgoritmoMC4Mé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 obtevea melhor taxa de acerto, para ambos os algoritmostestados, haviam sido consideradas apenas a<strong>sc</strong>aracterísticas extraídas das imagens limiarizadas.Tabela 2 – Quantidade de experimentes por faixa de taxade acerto obtida202


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Quantidade de experimentosFaixa de taxade acerto Algoritmo ID3 Algoritmo MC480 – 84,9% 7 1285 – 89,9% 5 490 – 94,9% 5 395 – 99,9% 3 3100% 2 0Conforme se pode observar na tabela 2, o algoritmoID3 confirma o melhor desempenho, apresentando taxasde acerto maiores que 90% em quase 50% dosexperimentos; comparativamente, o algoritmo MC4alcançou taxas de acerto inferiores a 90% em 70% dosexperimentos.5. Conclusões e trabalhos futurosOs resultados experimentais demonstram que é viávelutilizar algoritmos indutores de árvores de decisão parainspecionar placas de circuito impresso montadas. Mesmocom considerável nível de ruído nas imagens-exemplo, o<strong>sc</strong>lassificadores obtiveram, no mínimo, 80% de acerto emédia geral de 86,7%; além disso, o melhor classificadorclassificou corretamente 100% dos exemplos do conjuntode execução.Cabe destacar que os melhores classificadores foramobtidos quando se utilizaram apenas característicasextraídas das imagens limiarizadas. Isso se deve,possivelmente, ao fato de as imagens monocromáticasapresentarem grande variância nos tons de cinza, o quetorna o seu histograma de tons de cinza uma característicade menor potencial di<strong>sc</strong>riminativo.A maior vantagem do método proposto, frente a outrastécnicas, consiste na utilização de características simplesda imagem, cuja extração é realizada com pequenoesforço computacional, e na possibilidade de se operarcom considerável nível de ruído.Futuramente, pretende-se estender o e<strong>sc</strong>opo destetrabalho a fim de que os algoritmos indutivos geremárvores de decisão capazes de classificar as imagens deplacas de acordo com o tipo de defeito encontrado.6. Referências[1] E. Moganti et al., “Automatic PCB inspection algorithms: asurvey”. Computer Vision and Image Understanding, Vol. 63,No. 2, 1996, pp. 287-313.[2] A. Hilton et al., “Automatic Inspection of Loaded PCB’sUsing 3D Range Data”. In: Proc. SPIE Machine VisionApplications in Industrial Inspection II, Vol. 2183, 1994, pp.226-237.[3] D. Unay and B. Gos<strong>sel</strong>in, “Apple Defect Detection andQuality Classification with MLP-Neural Networks”. In: Proc. ofPRORISC 2002, Veldhoven, Netherlands, November, 2002.[4] Z. Zhou and Y. Ziang, “Medical diagnosis with C4.5 rulepreceded by artificial neural network ensemble”. IEEETransactions 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 VisualAutomática de Placas de Circuito Impresso: Anteprojeto eResultados Iniciais”. Relatório Técnico 93677-205, São Paulo,<strong>2007</strong>.[6] D. H. Ballard and C. M. Brown, Computer Vision. PrenticeHall, 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 forVisual Pattern Inspection”. IEEE Transactions on PatternAnalysis and Machine Intelligence, vol 10(1), 1988, pp.56-68.[9] M.H. Tatibana and R. de A. Lotufo, “Novel automatic PCBinspection technique based on connectivity”. In: Proc. of XBrazilian Symposium on Computer Graphics and ImageProcessing (SIBGRAPI), 1997, pp. 187-194.[10] T. Cootes et al., “Statistical Grey-Level Models for ObjectLocation and Identification”. In: 6 th British Machine VisonConference, Birmingham: BMVA Press, England, Sept. 1995,pp. 533-542.[11] E. K. Teoh and D. P. Mital, “A Transputer-basedAutomated Visual Inspection System for Electronic Devices andPCBs”. Optics and Lasers in Engineering, vol. 22, 1995, pp.161-180.[12] S. Mashohor, J.R. Evans and T. Arslan, “Genetic AlgorithmBased Printed Circuit Board Inspection System”. In: IEEEInternational Symposium on Consumer Electronics, Reading,UK , September, 2004, pp. 519-522.[13] S. Mashohor, J.R. Evans and T. Arslan, “Elitist SelectionSchemes for Genetic Algorithm based Printed Circuit BoardInspection System”. In IEEE Congress on EvolutionaryComputation, Vol. 2, Sept. 2005, pp. 974-978.[14] M. Piccard et al., “Exploiting Symbolic Learning in VisualInspection”. 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 CenterA/S, <strong>2007</strong>. Disponível em .Acesso em 23 de Julho de <strong>2007</strong>.[17] Delphi, CodeGear from Borland, <strong>2007</strong>. Disponível em. Acesso em 23de Julho de <strong>2007</strong>.[18] R. Kohavi, D. Sommerfield and J. Dougherty, “Data Miningusing MLC++ - A Machine Learning Li<strong>br</strong>ary in C++”, ToolsWith AI, 1996, pp. 234-245.[19] J. R. Quinlan, “Induction of decision trees”. MachineLearning, vol. 1, 1986, pp. 81-106.[20] J. R. Quinlan, C4.5: Programs For Machine Learning. SanFranci<strong>sc</strong>o: Morgan Kaufmann, 1993.203


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Usando MLP para filtrar imagensThiago Richter, Ediel Wiezel da Silva, e Adilson GonzagaDepartamento de Engenharia Elétrica, Universidade de São Paulo, Brasilthiago.richter@yahoo.com.<strong>br</strong>, edielws@gmail.com, adilson@<strong>sel</strong>.<strong>ee<strong>sc</strong></strong>.<strong>usp</strong>.<strong>br</strong>ResumoEste trabalho tem como objetivo estudararquiteturas e topologias de redes neuraisartificiais que possam ser usadas como filtros deimagens contendo ruídos. Serão realizados eapresentados testes usando diversas topologias,assim como a metodologia empregada seráapresentada.1. IntroduçãoO objetivo deste trabalho visa estudar arquiteturas etopologias de redes neurais artificiais que possam serusadas como filtros em imagens contendo ruídos, sendo aredução de ruídos necessária em casos como o desegmentação de imagens. Abaixo apresentam-se <strong>br</strong>eve<strong>sc</strong>onceitos relacionados a imagens ruidosas, de filtrosespaciais e redes neurais.1.1. Ruídos em imagensRuídos em imagens são padrões aleatórios de pontosque superpostos à imagem como resultado de qualquerinterferência, tanto na transmissão como na captura dainformação, degradando a imagem e dificultandoprocessamentos digitais de imagens, incluindo-seprincipalmente segmentação de imagens. Ruídos sempreestarão presentes em qualquer equipamento eletrônico, emmaior ou menor grau.A capacidade de simular o funcionamento e efeitos doruído numa imagem torna-se importante para estudarrestaurações de imagens, incluindo-se os filtros, visto queé possível comparar a imagem original com a imagemrestaurada através do uso da imagem com ruído[1]. Dentreos diversos tipos de ruídos aplicados a imagens, destacamseos ruídos Gaussiano, Poisson, Salt-and-Pepper eSpeckle.1.2. Filtros espaciaisFiltros espaciais são os filtros mais utilizadosatualmente em processamento de imagens digitais econsistem basicamente em definir um ponto central (x, y);executar operações envolvendo uma região de pixels(vizinhos) definidos a partir deste ponto central comvalores pré-definidos em um template (má<strong>sc</strong>ara), sendoesta vizinhança do mesmo tamanho que o template; umnovo valor do ponto central é atribuído através doresultado desta operação; e este processo é repetido paratodos os pontos da imagem [1]. Podem-se separar osfiltros espaciais em dois grupos, filtros espaciais lineares,se as operações realizadas no processo forem lineares efiltros espaciais não-lineares se estas operações não foremlineares.Dentre os filtros espaciais lineares, destacam-se osfiltros laplacianos e gaussianos e dentre os filtros nãolineares pode-se destacar o filtro da mediana. Filtrosderivativos como Sobel e Prewit são utilizadosprincipalmente para detectar bordas, assim como os filtrosde Canny e Laplaciano da Gaussiana (LoG).Dois exemplos de templates usados em filtros espaciaissão apresentados na figura (Fig. 1) abaixo:⎡ 0⎢(a)⎢−1⎢⎣0−14−10 ⎤⎥ ⎡1−1(b)⎥ ⎢0 ⎥⎣0⎦0 ⎤−1⎥ ⎦⎡ 0 1⎤⎢ ⎥⎣−10⎦Figura 1. Templates (a) Laplaciano, (b) Roberts.1.3. Redes Neurais ArtificiaisRedes Neurais Artificiais (RNA) são modelo<strong>sc</strong>omputacionais inspirados no cére<strong>br</strong>o humano e quepossuem a capacidade de aquisição e manutenção dainformação. As RNA podem também ser definidas comoum 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ônioartificial de McCulloch, onde x são as entradas da RNA, wsão seus pesos, θ é o limiar de ativação, f é a função deativação e y a saída da rede.Tem como características a capacidade de adaptar ouaprender, inclusive aprender através de exemplos,capacidade de generalizar, agrupar ou organizar dados,auto-organizar, tolerar falhas e de não necessitar damodelagem matemática do processo. Suas principais áreasde aplicação são [2], [3]: reconhecimento de padrões,aproximação de funções, previsão/estimação, otimização204


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.de funções, categorização/clustering, memóriasassociativas e controle de sistemas.Diversas topologias serão estudadas, diversostamanhos de template e treinamentos serão analisados. Eserão utilizados 4 tipos de ruídos: Gaussiano, Poisson,Salt-&-Pepper e Speckle (SP). Como resultados serãoindicados as melhores topologias, incluindo treinamentosrealizados com todos os ruídos e segmentados.3. DesenvolvimentoFigura 2. Modelo geral de neurônio artificial.Diversas são as topologias usadas em RNA, dentreelas destaca-se a topologia Perceptron Multicamadas(MLP – Multllayer Perceptron). A MLP possuiarquitetura feedforward e são constituídas de uma camadade entrada (X n ), uma ou mais camadas neurais e<strong>sc</strong>ondidas(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: aproximadoruniversal de funções, classificadores e processamento dedados, incluindo filtros [4], [5], entre outras aplicações.Várias topologias têm sido utilizadas objetivando reduçãode ruídos, conforme pode ser visto em [6], [7], e [8].Figura 3. Modelo de arquitetura de uma rede MLP.2. MetodologiaO presente trabalho utilizará a arquitetura PerceptronMulticamadas para realizar filtragens nas imagens comruídos. Para o treinamento a rede terá como entradavalores contidos em um template utilizando a imagemcom ruído e como saída desejada será utilizado o valor doponto central do template referente à imagem original daLena (Fig. 3). Os testes serão realizados utilizando umtemplate com valores da imagem ruidosa e deveráapresentar como saída o ponto central do template.A seguir serão apresentados os diversos passosutilizados para o desenvolvimento do projeto, elaboradocom o programa MATLAB versão 7 SP3.Constitui-se como primeira etapa definir o número detreinos realizados em cada treinamento, a precisãoutilizada, a taxa de aprendizagem e o número deneurônios utilizados na camada neural e<strong>sc</strong>ondida (CNE),sendo que as três últimas variáveis foram alteradas para seobter mais possibilidades de melhoria, abaixo sãoapresentados 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 arquivocontendo as entradas e a saída desejada da rede deve ser apróxima etapa a ser realizada. A extração dos dadosinspirou-se na metodologia de filtros espaciais, utilizandosetemplates. Inicialmente empregou-se templates de 3x3pixels e posteriormente 5x5, da mesma forma utilizou-seinicialmente imagens de 75x75 pixels e posteriormente100x100, sendo adotado como padrão o template de 5x5 eimagens com 100x100 pixels.Figura 5. Exemplos de templates.Duas foram as abordagens para extração dos dados,visando comparar os resultados entre as abordagens. Aprimeira abordagem consiste em utilizar toda a imagempara treinar e testar e a segunda abordagem consiste emsegmentar a imagem em 16 partes iguais (conformeimagem ilustrativa – Fig. 6), treiná-las e testá-lasindividualmente e ao término agrupar os segmentos emuma única imagem.Figura 4. Lena.205


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.imagens com ruídos a fim de verificar a eficácia dotreinamento de um tipo de ruído aplicado a outros tipos.4. ResultadosFigura 6. Segmentação da imagem.Após a extração dos dados de todas as imagens, faz-senecessário treinar a rede. Utilizou-se para o treinamentocinco imagens ruidosas, sendo duas imagens com o ruídoSalt-&-Pepper, com densidade de ruído 0,1 e 0,01; umaimagem utilizando-se ruído Gaussiano com média zero evariância de 0,01; uma imagem com ruído Speckle,utilizando-se a equação J = I+n*I, onde J é a imagemresultante, I a imagem original e n é o ruído aleatório commé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ívelrealizar 180 treinamentos para as imagens inteiras e 2880treinamentos utilizando imagens segmentadas, nãoconsiderando neste número a quantidade de treinos quecada treinamento contém.Abaixo são apresentadas as cinco imagens com ruídos.Inicialmente foi utilizado template 3x3 e imagem de75x75 pixels, posteriormente verificou-se que templatesmaiores permitiram menor generalização, possibilitandomelhores filtragens. A seguir é apresentada imagem comruído Gaussiano e o resultado apresentado pela redeneural utilizando 15 neurônios na CNE, precisão de 10^-5e taxa de aprendizagem de 0,01.Figura 5. Imagens 75x75 pixels(a) Ruído Gaussiano; (b) Imagem filtrada.Utilizando-se imagens com 100x100 pixels obtiveramseos resultados a seguir. Utilizando imagem única paratreinamento da rede, como se esperava os melhoresresultados foram os correspondentes de cada treinamento,ou seja, os melhores filtros para imagens com ruídosGaussianos foram os pesos ajustados a partir de imagen<strong>sc</strong>om o mesmo tipo de ruído.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 amédia dos erros de suas saídas (diferença entre o valorresultante da RNA e valor esperado para o pixel) e comeste valor pode-se definir o melhor treino realizado notreinamento e consequentemente as melhores topologiaspara cada tipo de ruído.Também executou-se uma série de treinamentos etestes utilizando não apenas um tipo de ruído em cadatreinamento, mas todos eles em um mesmo treinamento.A última etapa refere-se aos testes. Para cada um dostreinamentos realizados foram efetuados cinco testes, ouseja, para cada treinamento foram filtradas as cincoFigura 8. Resultado da filtragem de imagens com ruídoGaussiano utilizando imagens com ruídos diferentes notreinamento (Neurônios na CNE);(a) Trein. Gauss. 15 NCE; (b) Trein. Speckle 10 NCE.A seguir pode-se observar um exemplo de <strong>sel</strong>eção detopologia, neste caso usando-se 20 neurônios na camadaneural e<strong>sc</strong>ondida obteve o melhor resultado, são valoresrepresentando treinamento e testes realizados comimagens com ruídos Gaussianos.Em geral as melhores topologias obtidas tinham entre10 e 20 neurônios e percebeu-se que a taxa deaprendizagem seria suficiente com 0,1, tendo resultadosparecidos, porém com maior desempenho.206


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.N° NCE Médias3 0,10544 0,10315 0,10167 0,103510 0,106515 0,106820 0,101525 0,105630 0,1056Tabela 2. Seleção de topologia.A Figura 8, a seguir, mostra alguns resultados obtidosatravés do treinamento e teste realizados com ossegmentos da imagem. Pode-se verificar que com estaabordagem o filtro desempenhou melhor sua função.se comparados com os treinamentos individuais,mostrados anteriormente.Figura 10. Resultado da filtragem utilizando todos osruí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, comopode ser visto na figura 11, a seguir.Figura 10. Resultado da filtragem segmentada utilizandotodos os ruídos no treinamento em imagens com diversosruídos; (a) Imagem Ruidosa Speckle; (b) Imagem Filtrada.5. ConclusõesFigura 8. Resultado da filtragem segmentada (imagemusada 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 filtragenssegmentadas, onde pode-se observar melhor os resultadosindividuais.Trein/TesteGauss./Gauss. 15 Speckle/Poisson 10NCESegmento 7 10 11 7 10 11Sem ruídoCom ruídoResultadoFiltro RNAFigura 9. Filtragem segmentada.Utilizando-se todos os ruídos no treinamento nãosegmentado, não se obtém melhores resultados (Fig. 10)Conclui-se a partir dos resultados acima apresentados,que redes neurais podem ser empregadas como filtros deimagens. Treinando-se as redes para vários segmentosindividuais podem melhorar os resultados se comparadoaos treinamentos realizados com toda a imagem, visto quea generalização é menor. A utilização de filtrosespecíficos para cada tipo de ruído, usual nos filtrosespaciais, aplica-se a este trabalho, os resultados mostramque usando vários ruídos no treinamento, o resultado finalnão é melhorado.Como sugestão para trabalhos futuros, tem-se apossibilidade de usar arquiteturas de redes neurais paradefinir a qual classe pertence um determinado ruído,usando-se, por exemplo, redes de mapas autoorganizáveis(SOM – Self-organazing Maps), e apó<strong>sc</strong>lassificar este ruído, pode-se aplicar o filtro determinadopara o ruído classificado.6. Referências[1] R. C. Gonzalez, R. E. Woods, e S. L. Eddins, “DigitalImage Processing Using MATLAB”, Prentice-Hall, 2003.[2] S. Haykin, “Neural Networks”, Prentice-Hall, 1999.207


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.[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 ofNonlinear Filters – Neural Filters”, IEEE, Transactions onSignal Processing, 1993.[5] K. Suzuki, I. Horiba, N. Sugie, “EfficientApproximation of Neural Filter for Removing QuantumNoise From Images”, IEEE, Transactions on SignalProcessing, 2002.[6] H. Jahn, “A Neural Network for Image Smoothing andSegmentation”, Springer, Lecture Notes in ComputerScience, 1998.[7] S. W. Perry, L. Guan, “Weight Assignment forAdaptive Image Restoration by Neural Networks”, IEEE,Transactions on Neural Network, vol. 11, 2000.[8] M. Haritopoulos, H. Yin, e N. M. Allinson, “Imagedenoising using <strong>sel</strong>f-organizing map-based nonlinearindependent component analysis”, Elsevier, NeuralNetworks, vol. 15, 2002.208


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Extração Automática de Feições Urbanas em FotografiasAéreas utilizando Morfologia MatemáticaJuliana Denipote 1 , Robson Barcellos 2 , Maria Stela de Paiva 3Departamento de Engenharia Elétrica - E<strong>sc</strong>ola de Engenharia de São Carlos (EESC)Universidade de São Paulo (<strong>USP</strong>){judeni 1 , mstela 3 }@<strong>sel</strong>.<strong>ee<strong>sc</strong></strong>.<strong>usp</strong>, barcellos.robson@uol.com.<strong>br</strong> 2ResumoOs resultados da análise de fotografias aéreasde regiões urbanas podem ser utilizados em muitasaplicações, principalmente na área de planejamentourbano. Porém, esta análise é uma tarefa complexavisto o grande número de objetos que podem seridentificados nessas imagens. Este trabalho de<strong>sc</strong>reve ouso de operadores morfológicos para extrairautomaticamente feições urbanas de fotografias aéreas.1. IntroduçãoFotos tiradas com uma câmera embarcada em umveículo aéreo, como um avião, um helicóptero, umbalão ou mesmo em uma pipa, são chamadas fotografiasaéreas. As fotografias aéreas podem ser divididas emdois tipos principais: verticais e oblíquas. As fotografiasverticais são tiradas com uma câmera posicionada deforma que o eixo de sua lente esteja coincidente com avertical ao solo, com uma tolerância de 3 0 . Elas co<strong>br</strong>emuma área relativamente pequena e fornecem uma visãonão familiar do terreno, visto que é tirada de cima. Suavantagem é que as distâncias e direções podem seaproximar da indicada em mapas, se tiradas de umterreno plano. As fotografias oblíquas podem serdivididas em dois sub-tipos: baixa obliqüidade, quandoas fotos são tiradas com a câmera inclinadaaproximadamente 30 0 em relação à vertical e sãousadas, por exemplo, como auxílio a um ataque aéreo, ealta obliqüidade, com a câmera inclinada em torno de60 0 em relação à vertical e podem ser usadas naconfecção de cartas aeronáuticas [1].As imagens obtidas através de fotografias aéreas,quando adequadamente analisadas, podem fornecer umagrande variedade de informações que podem ser usada<strong>sc</strong>omo 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, dadensidade de construções, largura e estado deconservação das ruas, tamanho das áreas verdes eproximidade a regiões industriais;3) mapear as mudanças da área urbana pelainterpretação de imagens de múltiplas datas; entreoutras aplicações.No entanto, a análise dessas imagens é uma tarefacomplexa, devido à enorme quantidade de objetospossíveis de serem interpretados em imagens de grandese<strong>sc</strong>alas.Alguns autores combinam imagens aéreas comalgum outro recurso para encontrar feições urbanas.Elaksher, Bethel e Mikhail [3] processaram imagensaéreas utilizando a técnica de segmentação split emerge. As regiões extraídas são classificadas em“telhado” e “não-telhado” por uma rede neural de dua<strong>sc</strong>amadas. 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 aelevação, os autores utilizaram o Modelo Digital deElevação (DEM) do terreno. Cada construção éidentificada por meio da análise de 4 imagens. As retasque fazem parte de uma construção são encontradaspela transformada de Hough e assim, gera-se umpolígono para representar cada construção em umambiente 3D.Benediktsson, Pesaresi e Arnason [4] utilizaramoperadores morfológicos em imagens aéreashiperespectrais, ou seja, com várias bandas do espectrovisível e infravermelho. Os elementos estruturantesutilizados variam conforme as e<strong>sc</strong>alas das imagens. Osautores utilizaram ainda Análise de ComponentesPrincipais (PCA) para reduzir a dimensionalidade dosdados e, assim, diminuir o custo computacional dométodo por eles elaborado. Utilizaram uma rede neuralpara classificar as feições urbanas entre as classes“árvores”, “estacionamentos”, “asfalto”, “solo”,“som<strong>br</strong>as” e “telhados”. Porém a aquisição de imagenshiperespectrais exigem equipamento de maior custoquando comparada as fotografias aéreas.Daré et al. [5] utilizaram 12 fotografias aéreas nãoconvencionaisde baixo custo, conhecidas como depequeno 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 nobairro em estudo foi realizada por meio da identificaçãovisual das mesmas. O resultado obtido tem alto grau de209


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.confiabilidade, devido à alta resolução das imagens, ebaixo custo. Porém a identificação das construções éfeita de forma manual, e demanda elevado tempo deprocessamento.Outros trabalhos utilizam imagens de alta resoluçãodo satélite IKONOS e a classificação orientada aobjetos para encontrar feições urbanas. Essaclassificação difere da abordagem pixel a pixel, poisbaseia-se em informações que levam em consideraçãoos vizinhos dos objetos. Como trabalhos que utilizam aabordagem orientada a objetos, podem-se citar:Nó<strong>br</strong>ega, O’Hara e Quintanilha [6] [7], encontram ruas;Pinho, Feitosa e Kux [8] classificaram as regiõespresentes nas imagens em “vegetação”, “pavimentação”,“cobertura cerâmica”, “concreto”, “solo exposto”,“som<strong>br</strong>a” e “água”; Alves e Vergara [9] classificaram asregiões em “construções”, “construções de coberturae<strong>sc</strong>ura”, “solo”, “ruas”, “vegetação” e “água”, com oauxílio de regras fuzzy determinadas pelo usuárioespecialista.Este artigo de<strong>sc</strong>reve o uso dos operadoresmorfológicos de dilatação, erosão e abertura para aextração automática de feições urbanas em fotografiasaéreas. Como feições urbanas, entende-se os elemento<strong>sc</strong>omumente encontrados em uma cidade como ruas,avenidas, quadras, construções, etc. Neste trabalhopreocupou-se em encontrar as casas, por meio dalocalização de seus telhados.2. Materiais3. Pré-processamento de imagensO primeiro passo do pré-processamento foi aplicar àimagem, um filtro de mediana para reduzir ruído. Emseguida foi feita uma binarização, utilizando doisvalores de limiar, como mostrado no histograma dafigura 2. O limiar 1 é um valor baixo que correspondeaos 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 comandograythresh do Matlab, que usa o método de Otsu paradeterminar um limiar global, que maximiza a variânciainterclasses das duas classes de pixel definidas nohistograma por este limiar.O limiar 2 é um valor alto (240), e <strong>sel</strong>eciona pixelsque correspondem a paredes de casas, que possuemnível de cinza próximo do <strong>br</strong>anco (255). Os pixel<strong>sc</strong>orrespondentes a ruas e paredes podem serdesprezados na procura pelos telhados e sãotransformados em fundo, com nível de cinza zero(preto). Todo pixel que possui um nível de cinza menordo que o limiar 1 e maior do que o limiar 2 étransformado em um pixel de nível de cinza zero. Aospixels remane<strong>sc</strong>entes é atribuído o valor de cinza 1(<strong>br</strong>anco), porque eles podem pertencer a telhados. Osníveis de cinza que receberão o valor 1 na binarizaçãoestão representados no histograma da figura 2 peloretângulo cinza. O resultado da binarização é mostradona figura 3.As imagens utilizadas nesse trabalho são fotografiasáreas de um vôo baixo, em tons de cinza, com e<strong>sc</strong>ala de1:8.000 de um bairro residencial da cidade de SãoCarlos – SP, Brasil. A figura 1 mostra uma pequenaparte de uma imagem utilizada.0Limiar 1 Limiar 2255Figura 2 – Histograma de uma imagem de 8 bits, ondese ilustra os limiares utilizados na suabinarização.Figura 1 – Imagem OriginalO software utilizado para processar a imagem foi oMatLab versão 2006 da MathWorks [10], juntamentecom sua Toolbox de Processamento de Imagens.Figura 3 – Imagem da figura 1 binarizada, resultantedo processo de limiarização ilustrado na figura 2.210


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.4. Morfologia MatemáticaMorfologia Matemática é uma teoria de análise deimagens baseada na teoria dos conjuntos. Objetos emuma imagem são representados por conjuntos namorfologia matemática [11]. Ela define uma de<strong>sc</strong>riçãoquantitativa das estruturas geométricas baseada em suasformas. Nas operações morfológicas, um elementoestruturante, o qual também é tratado como umconjunto, é utilizado para analisar a forma dos objetosna imagem. Ele também pode ser definido como umamá<strong>sc</strong>ara de convolução que definirá a forma do objetoresultante da operação morfológica.Os operadores morfológicos que foram empregadosneste trabalho foram a dilatação, erosão e abertura. Aequação 1 define a operação de dilatação de umaimagem A por um elemento estruturante B:( A⊕B)= { x | [( B)x∩ A]≠ φ}(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 paraaumentar objetos em uma imagem, conectar objetospróximos ou eliminar “buracos” dentro de objetos.A operação de erosão é de<strong>sc</strong>rita pela equação 2.a) Abertura b) so<strong>br</strong>eposição comimagem originalFigura 4- Resultado da abertura.Após este passo, os objetos que restam na imagemsão os telhados e alguns jardins (áreas arborizadas egramados), pois possuem níveis de cinza próximos aosdos telhados. Porém, os telhados possuem textura maislisa quando comparados aos jardins, como ilustra afigura 5, onde algumas áreas arborizadas são indicadaspelas setas tracejadas e alguns telhados estão indicadospelas setas contínuas.( A Θ B)= { x | ( B)A}(2)x ⊂A erosão é definida pelo conjunto dos pontos x, talque B, ao ser transladado para a posição x, estejatotalmente incluído no conjunto A. Ela é geralmenteutilizada para diminuir objetos, separar objetos unidospor conexões estreitas, e aumentar “buracos” emobjetos.A abertura de um conjunto A por um elementoestruturante B é dada pela equação 3:( Ao B)= ( AΘB)⊕ B(3)A abertura é uma erosão do conjunto A peloelemento estruturante B, e o resultado é dilatado peloelemento estruturante B. A abertura é geralmenteutilizada para suavizar as bordas, eliminando pontas ouconexões finas entre objetos sem muito influenciar nointerior dos objetos.5. Aplicação dos Operadores MorfológicosApós a binarização demonstrada na figura 3, foiaplicado o operador morfológico de abertura paraeliminar linhas estreitas e suavizar as bordas, cujoresultado é apresentado na figura 4a. O resultado daabertura so<strong>br</strong>eposto com a imagem original éapresentado na figura 4b.Figura 5 – Diferenças entre as texturas de telhados eáreas arborizadasEssa informação de textura é extraída da imagemoriginal por meio da aplicação do detector de bordaCanny so<strong>br</strong>e a imagem da figura 4b. O método dedetecção de bordas de Canny foi desenvolvido em 1986por John F. Canny [12] e usa um algoritmo de múltiplosestágios para detectar uma grande faixa de intensidadesde bordas. Inicialmente, uma operação de suavização éusada, convoluindo uma má<strong>sc</strong>ara gaussiana com aimagem original. O método usa uma limiarização comhisterese que possui dois valores de limiar. Estacaracterística proporciona ao método uma melhorimunidade a ruídos, permitindo detectar a borda mesmonos 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 jardinspara depois excluí-los da imagem. Portanto, as bordasprincipais dos objetos e linhas muito extensas são entãoseparadas, pois fazem parte dos objetos e não se deseja211


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.excluí-las. A figura 6b ilustra o resultado obtido a partirda figura 6a, após exclusão das bordas principais dosobjetos e linhas extensas.a) Aplicação de Canny b) Eliminação dasso<strong>br</strong>e figura 4bbordas e linhasextensasFigura 6 – Aplicação do detector de borda CannyNa imagem da figura 6b é aplicado o operadormorfológico de dilatação para se dar mais ênfase a essainformação de textura. O resultado é demonstrado nafigura 7a. O complemento do resultado da dilatação écombinado com a imagem obtida na figura 4a, comodemonstrado na figura 7b.Figura 8 – Resultado Final so<strong>br</strong>eposto com a imagemoriginal.5. Testes e ResultadosNa imagem cujo processamento foi ilustrado nesteartigo, somente um falso positivo foi detectado (jardimindicado pela seta na figura 9a). Um telhado de materiale<strong>sc</strong>uro não foi encontrado e também dois lados som<strong>br</strong>asde telhados (indicados pelas setas na figura 9b). Isto sedeve aos valores de nível de cinza desses objetos, quefazem com que eles sejam eliminados durante a fase depré-processsamento.a) Dilatação b) so<strong>br</strong>eposição dasfiguras 4a e 7aFigura 7 – Eliminação das áreas arborizadasAs bordas são então suavizadas eliminando-se pontasatravés da operação de abertura. Nessa operação osjardins são eliminados, conforme desejado.Parte das bordas perdidas com a eliminação dosjardins, é recuperada com a operação de dilatação.Finalmente, regiões dentro dos objetos são preenchidaspelo comando imfill do Matlab [10]. O resultado final éilustrado na figura 8.Algumas observações devem ser feitas quanto ametodologia desenvolvida:1) Após cada um dos passos de<strong>sc</strong>ritos acima, osobjetos muito pequenos são eliminados utilizando-se ocomando bwareaopen do Matlab [10], pois os telhado<strong>sc</strong>orrespondem aos objetos maiores nas imagens.2) Tanto o comando bwareopen quanto o comandoimfill são implementados por operações morfológicas.3) O elemento estruturante utilizado nas operaçõesmorfológicas foi o quadrado, devido à forma retangulardos telhados.a) falso positivo b) falsos negativosFigura 9 – análise dos resultadosA variação da classificação feita por doisobservadores independentes pode ser medida emqualquer situação em que os observadores estãoavaliando um mesmo conjunto de dados. A estatísticaKappa é uma medida desta variação. Ela mede adiferença entre a concordância da classificaçãorealizada, e a concordância que seria obtida por meroacaso e é normalizada para estar no intervalo -1 a 1,onde 1 é uma concordância perfeita e 0 é o que seriaesperado por acaso. Valores menores do que zeroindicam concordância menor do que casuais, isto é, umapotencial di<strong>sc</strong>ordância sistemática [13]. No caso dessetrabalho, foi calculada a estatística Kappa entre ométodo desenvolvido e a classificação real dos objetos,realizada manualmente num conjunto de objetos deamostra.212


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Na tabela 1, é mostrada a classificação dos objetosem telhados e não telhados, feita manualmente e aobtida pelo método.Tabela 1 - Classificação dos Métodos Manual eAutomáticoMétodoAutomáticoMétodo ManualSim Não TotalSim 46 7 53Não 11 31 42Total 57 38 95A estatística Kappa é calculada pela fórmula:p − pe)K = (4)(1 − p )( 0eonde p 0 é a concordância observada e p e é aconcordância esperada. Da tabela 1 obtemos p 0 = 0,81 ep e = 0,51. Portanto, Kappa = 0,61.A tabela 2 mostra o nível de concordância indicadopelo coeficiente Kappa.Tabela 2 - Nível de concordância indicado pelocoeficiente KappaValor do coeficienteNível de ConcordânciaKappaNenhuma concordância κ = -1Baixa concordância κ < 0.20Leve concordância 0.20 < κ < 0.40ConcordânciaModerada0.40 < κ < 0.60Alta concordância 0.60 < κ < 0.80Muito alta concordância κ > 0.80Total Concordância κ = 1Pela tabela resulta que o método desenvolvido possuium alto grau de concordância com o método manual.6. ConclusõesEste artigo demonstrou a utilização de operadoresmorfológicos em fotos aéreas de uma região urbana,com o objetivo de localizar automaticamente as casaspor meio da identificação dos seus telhados.A aplicação de operadores morfológicos paraalcançar o objetivo mostrou um bom resultado naidentificação dos telhados. Em todas as imagenstestadas, 80% dos telhados foram corretamenteidentificados. Apenas alguns poucos objetos não foramcorretamente identificados como telhado, tais como olado som<strong>br</strong>a de um telhado ou um telhado feito com ummaterial e<strong>sc</strong>uro. Ajustar os limiares utilizados durante abinarização poderia solucionar esse problema, evitandoa rejeição desses objetos.Para que o resultado deste método possa ser utilizadona prática, deve ser realizado o georreferenciamento.Este procedimento é feito identificando-se pontos naimagem com coordenadas geográficas já conhecidas, o<strong>sc</strong>hamados pontos de controle.AgradecimentosOs autores gostariam de agradecer a Dra. SimoneSayuri Sato pelas imagens cedidas e ao Con<strong>sel</strong>hoNacional de Desenvolvimento Científico e Tecnológico(CNPq) pelo apoio financeiro.Referências[1] F. Fitzgerald, “Picturing the Land<strong>sc</strong>ape: A Guide to AerialPhotography”, Design Center for American UrbanLand<strong>sc</strong>ape- Design Brief, vol.12, April 2004; Minnesota, p. 7.[2] T. M. Lillesand and R. W. Kiefer, Remote Sensing andImage Interpretation, 2 nd edition, John Wiley & Sons, NewYork, 1987.[3] A. F. Elaksher, J. S. Bethel and E. M. Mikhail,“Reconstructing 3D Building Wireframes from MultipleImages”, International Archives of Photogrammetry RemoteSensing and Spatial Information Sciences, vol. 34; GreatBritain, 2002, part 3/A, pages 91-96.[4] J. A. Benediktsson, M. Pesaresi and K. Arnason,“Classification and feature extraction for remote sensingimages from urban areas based on morphologicaltransformations”, IEEE Transactions on Geo<strong>sc</strong>ience andRemote Sensing., vol. 41, no. 9, 2003, pp. 1940-1949.[5] R. Daré, “Identificação de novas ocupações urbanasutilizando técnicas de Geoprocessamento e Fotografias Aéreasde Pequeno Formato”, Anais X<strong>III</strong> Simpósio Brasileiro deSensoriamento Remoto, Florianópolis, Brasil, <strong>2007</strong>, INPE, p.5179-5185.[6] R. A. A No<strong>br</strong>ega, C. G. O’Hara, J. A. Quintanilha,“Preliminary results or road detection in informal settlementsusing object-based technologies and Ikonos data”, AnnualResearch Symposium of Graduate Student Association ofMississippi State University, 4th, 2006, Starkville.[7] R. A. A No<strong>br</strong>ega, C. G. O’Hara, J. A. Quintanilha,“Detecting roads in informal settlements surrounding SãoPaulo city by using object-based classification” InternationalConference on Object-Based Image Analysis, 1st, 2006,Salzburg.[8] C. M. D. Pinho, F.F. Feitosa, H. Kux, “Classificaçãoautomática de cobertura do solo urbano em imagem IKONOS:Comparação entre a abordagem pixel-a-pixel e orientada aobjetos” Simpósio Brasileiro de Sensoriamento Remoto, XII,2005, Goiânia, p. 4217-4224.[9] R. A. L. Alves, O. R. Vergara, “Identificação de alvosurbanos em imagens Ikonos, aplicando classificação orientada213


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.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 <strong>2007</strong>.[11] R. C. Gonzalez and R. E. Woods, Digital ImageProcessing, 2 nd edition, Prentice Hall, New Jersey, 2002.[12] J. Canny, “A Computational Approach to EdgeDetection”, IEEE Trans. Pattern Analysis and MachineIntelligence, 8:679-714, 1986.[13] A. J. Viera, J. M. Garrett, “Understanding InterobserverAgreement: The Kappa Statistic”, Family Medicine, vol. 35,May 2005; North Carolina, pages 360-363.214


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Recuperação de Imagens 3D Baseado Conteúdo Utilizando mais de umaImagem-consultaAlexandre Munhozalex.munhoz@vivax.com.<strong>br</strong>Shermila Guerra Santa Cruzshermila@<strong>sel</strong>.<strong>ee<strong>sc</strong></strong>.<strong>usp</strong>.<strong>br</strong>Dr. Adilson Gonzagaadilson@<strong>sel</strong>.<strong>ee<strong>sc</strong></strong>.<strong>usp</strong>.<strong>br</strong>Departamento de Engenharia Elétrica - EESC/<strong>USP</strong>Avenida Trabalhador São-carlense, 400 - 13566-590 - São Carlos – SP-Brasil.Universidade São Paulo - São CarlosResumoA Recuperação de imagens baseadasem conteúdo (Content Based ImageRetrieval - CBIR) consiste em recuperarimagens similares em um banco deimagens, onde se fornece como fonte debu<strong>sc</strong>a uma imagem consulta(IC). A<strong>sc</strong>aracterísticas da imagem são levantada<strong>sc</strong>om o objetivo de recuperar imagensmais semelhantes possíveis da imagemconsulta.Neste trabalho, se propõe comoferramenta auxiliar às CBIRs, umalgoritmo que utiliza como fonte mais deuma imagem-consulta.Em situações onde, não se possui aimagem consulta com as característicasdesejadas, porem se tem imagens comuma das características desejada e outrapossui a outra característica, o métodoas combina, e com isso se obtém aimagem procurada.PALAVRAS CHAVE Recuperação deimagens por conteúdo CBIR.1. IntroduçãoAtualmente com o aumentoexponencial de bancos de imagem,devido às inovações tecnológicas, tornousenecessário manter algum tipo demecanismo de bu<strong>sc</strong>a de recuperação deimagens.CBIR constitui uma possibilidade derecuperar e comparar imagens usandocaracterísticas visuais intrínsecas comocor, forma e textura. O foco de umsistema CBIR, é pesquisar no banco dedados as "n" imagens similares a uma ICde acordo com um critério dado.Devido às necessidades únicas epeculiares, as bases de dados de imagensnão podem ser tratadas em um estilosimilar. Por esta razão, é difícil encontraruma técnica universal de recuperaçãobaseada em conteúdo.Uma ferramenta amplamente utilizadaem CBIR para comparar dois vetores decaracterísticas é a distancia euclidiana,onde cada imagem da base é plotada emum espaço polidimensional, sendo quecada eixo deste espaço corresponde a umacaracterística dela extraída. Em seguida,é verificada a coordenada das IC, paraque por fim seja retornada a imagem dedistância euclidiana mais próximas.Extinguida a bu<strong>sc</strong>a das imagens maispróximas, o raio de bu<strong>sc</strong>a égradativamente aumentado, para queretorne imagens cada vez mais distantesdo ponto inicial de bu<strong>sc</strong>a.No gráfico polidimensional onde cadaeixo representa uma característica dasimagens contidas no banco de imagem,dois pontos são considerados215


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.eqüidistantes à imagem-consulta setiverem à mesma distancia euclidianadesta imagem. O conjunto dos pontoseqüidistantes à imagem-consulta constituiem uma hiper-esfera. No caso de umadeterminada característica deste gráficopolidimensional possuir uma importânciamaior do que outras características, o<strong>sc</strong>onjuntos de imagens semelhantes nãosão mais eqüidistantes da imagemconsultae forma uma hiper-elipsoide.Nas bu<strong>sc</strong>as CBIR que utilizam adistancia euclidiana como ferramenta debu<strong>sc</strong>a, começa retornando as imagen<strong>sc</strong>ontidas no interior de uma hiperelipsoideou uma hiper-esfera, cujo pontocentral é a IC. Gradativamente, o raio dahiper-esfera, ou o tamanho da hiperelipsoidevai aumentando, e com isso vaise recuperando imagens cada vez maisdistantes da IC.A bu<strong>sc</strong>a em um espaçohiperdimensional, levando em conta opeso de cada característica, tem suadistância expressa por:d w1( fe1 fb1) w2( fe2 fb2) w3( fe3 fb3) ...... wn( fen fbn)2 2 2 2onde: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çopolidimensional.2. HistóricoApesar de CBIR ser uma tecnologiarecente já foram desenvolvidos diversostrabalhos na área.Hirata e Kato [4] propuseram umCBIR baseado em exemplos visuais, queextrai as arestas da consulta e faz umcasamento com outras arestas de outrasimagens através de deslocamentos edeformações, sem usar qualquer tipo deindexação.Faloutsos et. al.[3] desenvolveu umsistema QBIC (pela IBM) baseado emvários parâmetros das imagens,permitindo que os usuários fizessem umaconsulta baseada em cor, forma e texturaque fossem semi-automaticamenteextraídas. Também implementou umaforma de indexação baseada em árvores.Jacobs et. al. [2] propuseram arecuperação usando informação espacial(disposição física de regiões) ecaracterísticas visuais representadas nodomínio dos coeficientes wavelets. Nãoimplementaram qualquer tipo deindexação.Smith e Chang [6] criaram um sistemachamado VisualSeek que permitia bu<strong>sc</strong>apor cor, regiões e layout espacial. Usaramindexação para aumentar a eficiência dosistema.Ooi et. al. [5] criou o sistema VIPERque utilizava cor e informação espacial.Extraía primeiramente um conjunto decores dominantes e então derivava ainformação espacial composta por tai<strong>sc</strong>ores. Para a bu<strong>sc</strong>a utilizava indexação.3.Definição do problemaA dependência contextual apresentadapelas imagens, e a natureza complexa dasimagens tridimensionais tornam a questãoda representação mais difícil para basesde dados de imagens.Em CBIR comuns, o usuário precisaapresentar uma imagem muito próxima dabu<strong>sc</strong>a que ele deseja efetuar, e não temliberdade para adicionar características216


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.complementares com outras imagensadicionais.Nesse experimento utilizou-se a base“COIL-100 database of ColumbiaUniversity”, que contém 7200 imagensoriundos de 100 objetos, e para cadaobjeto 72 imagens que correspondem avariações de rotação no eixo Y desteobjeto.Nessa proposta utilizamo<strong>sc</strong>aracterísticas de fácil intuição para ousuário, como cor, textura, forma.CÔRO índice de cor foi calculado pelo sistemade representação RGB, segundo Simõesand Reali Costa, 2000, que segue asequações :r = R / (R+G+B) …......................(1)g = G / (R+G+B) .........................(2)b = B/ (R+G+B)…...........…........(3)Figura 1. Exemplo de imagens da basede dados COIL-100, de objeto rotacionadono eixo Y, pertence a umaclasse.4. Solução de problemaEsta proposta, permite realizar bu<strong>sc</strong>asCBIR utilizando mais de uma imagemcomo fonte. O algoritmo extrai a<strong>sc</strong>aracterísticas das imagens de origem, efaz combinações entre esta<strong>sc</strong>aracterísticas. Para cada combinaçãogerada é semeado um ponto de bu<strong>sc</strong>a noespaço polidimensional de características.As imagens de uma distância mínimasão procuradas, a partir de cada pontocombinatório encontrado. Depois deencerrada a bu<strong>sc</strong>a das imagens maispróximas, o raio de bu<strong>sc</strong>a aumenta paratodas as combinações simultaneamente.Para que o usuário pudesse separar asimagens que possui característicasdesejáveis, <strong>sel</strong>ecionamos característicasde fácil intuição, como cor, textura, índicede cinza de maior ocorrência e forma docontorno do objeto.Os índices r(1) , g(2) e b(3) sãonormalizados.TEXTURAUm atributo de textura é um valor,calculado a partir da imagem de umobjeto, que quantifica alguma<strong>sc</strong>aracterísticas das variações dos níveis decinza desse objeto [7].A partir do histograma dos níveis decinza da imagem, se infere diferentesparâmetros. Para de<strong>sc</strong>reverquantitativamente as propriedadesestatísticas se utilizou a média, variânciae a energia.G 1i0Média ip(i). ....................................(4)G i0Variância1(22 i )p(i)...........................(5)G i0Energia1 2E p(i)..................................(6)217


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Os dados da média, variância e energia,foram integrados e normalizados paraobtenção de um único índice de textura.FORMAPara obtermos o índice relacionado àforma, a imagem foi inicialmenteconvertida em e<strong>sc</strong>ala de cinza. Após serconvertida para uma imagem binária comthreshold de 35% da e<strong>sc</strong>ala, podemosisolar o objeto já em <strong>br</strong>anco com fundoe<strong>sc</strong>uro. Depois foi extraído o contorno doobjeto com o operador de Laplace. Emseguida, foi aplicada a transformada deHough. O índice da forma foi consideradocomo sendo o numero de retas quepossuem mais de 38 pixels, retornadopela transformada de Hough .A interpretação deste procedimento, éque quando temos no contorno poucasretas maiores de 38 pixels, o objeto épredominantemente redondo. Quandotemos uma maior quantia de retas maioresque 38 pixels, o objeto possui formamenos arredondada.Ocasionalmente, alguns contornos quetomamos intuitivamente como curvas, sãotraçados com uma série de pequenasretas. Observamos que retas de 38 pixelsseparam as retas de contorno verdadeiras,daquelas que intuímos como integrantesde uma curva para as imagens de nossotrabalho.As imagens da base de dados Coil-100,consiste em objetos que sofrem rotaçãoso<strong>br</strong>e o eixo vertical, de modo que aolongo desta rotação podem aparecer retasde contorno não vistas quando olhamossob outra face.Distribuição dos pesosProcura-se uma distribuição de pesospara as características pesquisadas quepermitisse uma versatilidade do usuáriona pesquisa. A distribuição empregada foide 20% para o nível de cinza de maiorocorrê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 dasimagens, são submetidas à análisecombinatória, gerando todas as interaçõespossíveis entre as imagens consulta.Como exemplo, se tivermos umaimagem A1) com quatro retas decontorno, com cor predominante azul:outra imagem A2) com ausência de retassignificativas em seu contorno, com corpredominante amarelo, e demai<strong>sc</strong>aracterística com índice semelhanteentre si, teríamos as seguinte<strong>sc</strong>ombinações : B1) Objeto com 4 retasde contorno e cor mais significativa azul.B2) Objeto com ausência de retas decontorno significativas e cor maissignificativa amarelo. B3) Objeto com 4retas de contorno e cor mais significativaamarelo. B4) Objeto com ausência deretas de contorno significativas e cor maissignificativa azul. Ver figura 2.ABFigura 2. Em A são exibidas duas ICs.Em B representa imagem retornadaspela bu<strong>sc</strong>a em CBIR combinatório comdiagramas simbólicos.218


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.O Algoritmo utilizado é o de<strong>sc</strong>rito noQuadro 1.1.- Tabela_combinatória (CaracterísticasImagem Consulta, Características dasimagens no banco de dados)Experimento 1.1-Retornar todas asimagens de um objeto utilizando duasimagens consulta deste objeto2.- Inicializar o Raio Bu<strong>sc</strong>a com 0.003.- Enquanto a pesquisa não seja abordadopelo usuário3.1 Incrementar o raio de bu<strong>sc</strong>a em 0.013.2 Para cada combinação da tabelacombinatória3.2.1 Bu<strong>sc</strong>ar imagens pela distanciaeuclidiana( tabela combinatória,raio de bu<strong>sc</strong>a)3.2.2 Se a Imagem não está no bancode dados de imagens recuperadasentão incluir e exibir.Quadro 1 – Pseudo-código para abu<strong>sc</strong>a CBIR combinatóriaPrecicion0,60,50,40,30,20,10Recall precision0 0 0,2 0,4 0,4 0,6 0,6 0,6 0,8 1RecallExperimento 1.2- Retornar todas asimagens do objeto utilizando uma imagemconsulta4. ResultadosAs curvas Recall Precision indicam aeficiência da recuperação, onde o eixo xindica a porcentagem de imagensrecuperadas entre o total de imagensdesejadas. Este eixo encerra com o índice1, que em e<strong>sc</strong>ala normalizada indica que100% das imagens foram recuperadas.Precicion0.50.40.30.20.10R ecall precision0 0 0.2 0.2 0.2 0.2 0.2 0.4 0.6 0.8RecallO eixo Y indica a porcentagem deacerto das imagens retornadas. O limitedesta e<strong>sc</strong>ala 1 (normalizada) significa100% de acerto para as imagensretornadas para o dado momento dapesquisa.No experimento 1 se bu<strong>sc</strong>ou duasimagens de um mesmo objeto, paracomparar a eficiência da pesquisa emrelação à uma bu<strong>sc</strong>a tradicional com 1imagem deste mesmo objeto.Figura 3. Bu<strong>sc</strong>a de diferentesimagens de mesmo objeto X Bu<strong>sc</strong>a deuma imagem do objetoO resultado mostra que o desempenhoda pesquisa foi relativamente melhor noCBIR com 2 imagens consulta, com cercade 35% de acertos quando havia 28% dasimagens recuperadas, enquanto em bu<strong>sc</strong>a<strong>sc</strong>om 1 imagem consulta foi obtido 15%219


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.de acerto quando 28% das imagens foramrecuperadas (figura 3).Experimento 2: Bu<strong>sc</strong>ar imagens comcolorações parecidasExperimento 3: Bu<strong>sc</strong>ar imagens comformas de contorno externas parecidas.E3.1- Pesquisa com 2 objetos de formaparecida.Recall precisionE2.1.- Bu<strong>sc</strong>a com duas imagen<strong>sc</strong>onsulta de colorações semelhantesPrecicion0,90,80,70,60,50,40,30,20,1000,150,220,320,40,470,520,60,70,780,820,820,880,920,930,950,98RecallPrecicion0,90,80,70,60,50,40,30,20,100Recall precision0,220,40,580,670,780,820,840,890,890,890,960,960,960,980,98RecallE22. Bu<strong>sc</strong>a com uma imagem deconsulta de coloração desejada1E3.2 - Pesquisa com 1 objeto da formadesejada.Precicion0,80,70,60,50,40,30,20,100Recall precision0,080,190,340,510,580,690,730,750,810,830,860,920,930,950,95RecallRecall precisionFigura 5. Pesquisa de imagens visandorecuperação de formaPrecicion0,70,60,50,40,30,20,1000,180,290,440,490,490,560,60,640,73Recall0,730,730,870,890,910,910,98Em bu<strong>sc</strong>a de imagens de diferentesobjetos com coloração semelhante,verificou-se que os métodos possuemeficiência similar, conforme apresentadaspelas curvas de Recall PrecisionFigura 4. Bu<strong>sc</strong>a de imagens com oobjetivo de recuperar objetos de mesmacoloração220


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Experimento 4: Bu<strong>sc</strong>ar imagens comCor e forma desejadas.E4. 1. Pesquisa com duas imagens decaracterísticas complementaresPrecicion0,30,250,20,150,10,0500Recall precision0,170,170,330,670,670,830,830,830,830,830,830,830,830,830,830,83RecallE4. 2. Pesquisa com uma imagem de formasemelhante à desejadaPrecicion0,080,070,060,050,040,030,020,0100Recall precisionE4.3. Pesquisa com 1 imagem de corsemelhante à desejadaPrecicion0,060,050,040,030,020,010000Figura 6. Bu<strong>sc</strong>a de imagens emsituações onde não se possui imagemconsulta de mesma classe0000000,20,20,40,40,8RecallRecall precisionRecall00000000000000,20,20,20,2Em bu<strong>sc</strong>a de objetos com formatosemelhantes, obtivemos retorno semelhanteentre as pesquisas com uma única imageme diversas imagens de mesmo formato.Estes resultados estão expostos na figura 5.Neste experimento, os objetos de retornodesejável são aqueles que não possuemretas significativas em seu contorno.O resultado mais interessante de nossapesquisa é o da possibilidade de serecuperar objetos ao qual não temos aimagem exata. Neste experimento E4,procurávamos recuperar as imagens detomates que são redondos e vermelhos.Paraisso inserimos imagens de uma cebolaredonda e verde, e de um carro debombeiros, vermelho e com retas decontorno. O retorno se mostrou maissatisfatório do que o retorno com cada umadas imagens separadas, conforme mostradoda figura 6.6. ConclusãoO método permite recuperar imagenssimilares como resultado da combinaçãodas características de duas ou maisimagens.Este método de analise combinatória deduas ou mais imagens se mostrou maiseficiente do que nos casos, quando aimagem consultada era única.A pesquisa utilizando mais de umaimagem consulta de mesmo objetomostrou ligeira melhora em relação àconsulta utilizando única imagem.Quando as imagens consultampossuíam entre si apenas umacaracterística comum, o métodoapresentou uma eficiência semelhante, emrelação à pesquisa CBIR com uma únicaimagem.221


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Referencias[1] SANJOY K. SAHA a, AMIT K. Das,BHABATOSH Chanda. Recuperação deimages baseado na indexação e retroalimentação da relevância (feedbackrelevance)[2] C.E. Jacobs, A. Finkelstein, D. H.Salesin. Fast Multiresolution ImageQuery. Proceedings of the ACMSIBGRAPH, 1995.[3] FALOUTSOS, C. Fast Searching byContent in Multimedia Databases. DataEngineering Bulltein 18 (4), 31-40. 1995.[4] HIRATA, K. Kato, T. Query byVisualExample-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 UsingColor-Spatial Information. The VLDBJournal 7 (2), 115-128, 1998[6] SMITH, J.R., Chang, S.F.VisualSEEK: A Fully Automatec Conten-Based Image Query System. ACMMultimedia 96, Boston, MA, 87-98.1996.[7] GONZALEZ, Rafael C. WOODS,Richard E.- Digital Image Processing222


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Segmentação de pele humana em imagens coloridas baseada em valores dasmédias da vizinhança em subimagensJoão Marcelo Ribeiro, Adilson GonzagaUniversidade de São Paulo - Departamento de Engenharia ElétricaAvenida do Trabalhador São Carlense, 400CEP 13566-590 - São Carlos - SP - Fone/Fax: (16)3373 9371.ribeiro jm@yahoo.com.<strong>br</strong>, adilson@<strong>sel</strong>.<strong>ee<strong>sc</strong></strong>.<strong>usp</strong>.<strong>br</strong>ResumoThe segmentation of human skin in colored images isuseful in several daily applications, and can be a preprocessingstage for other applications. For example, insoccer stadiums and shopping centers, people’s localizationcan be very important for their safety, so, the main objectiveof this work is to develop a new method to identify, withgreater precision, human skin in colored images in daily situations.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 camerain daily situations. The gotten results were comparedto that one that it motivated the development of this work.1. Introdução1.1. Uma abordagem so<strong>br</strong>e a detecção de peleUm dos principais objetivos do processamento de imagensé auxiliar o observador a interpretar o conteúdo de imagensidentificando nestas aquilo que se pretende ou aquiloque ela contém. Desta forma, o processo de percepção visualpode ser realizado pela visão natural ou pela visão artificial.Nesta última os sistemas de processamento podemter alguns limites e dificuldades, tais como: (1) a posiçãodos objetos, (2) diferenças de tamanhos e formatos, (3) problemasde perspectivas e (4) iluminação. [11].A cor é um fator importante no processamento de imagensonde de<strong>sc</strong>reve um objeto (ou uma cena) simplificandoe identificando suas características. Elas são vistas comocombinações variáveis das chamadas cores primárias etodas são representadas em um determinado subespaço.Isso é o que define os modelos de cores, tais como: RGB,HSV, HSI, YCbCr, CIE-Lab e CIE-Luv, por exemplo. Parao processamento e análise de imagens, geralmente o primeiropasso é a sua segmentação. O cre<strong>sc</strong>imento da regiãoem 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 determinadonúmero de pixels vizinhos a este pixel (vizinhança).A segmentação de pele humana em imagens pode se tornaruma tarefa extremamente complexa e desafiadora, vistoque ela é bastante sensível a diversos fatores, tais como:Iluminação, etnia, características individuais e outros mais.Para esta segmentação um dos principais desafios é fazercom que a classificação dos pixels coloridos das imagensseja o mais similar possível àquela percebida pela visão natural.O primeiro passo para isso, e talvez o principal, é a e<strong>sc</strong>olhade um modelo de cor. Geralmente o modelo RGB éomodelo e<strong>sc</strong>olhido pela grande maioria, como mostra os trabalhosde [2] e [3]. Alguns outros utilizam os demais modelos,como [2], [8] e [6].A e<strong>sc</strong>olha de um modelo de cores está associado à e<strong>sc</strong>olhade uma técnica (ou método) para a segmentação conformeo problema que se pretende resolver. A detecção depele humana em imagens pode ser dividida em duas classes:(1) pixel-pele e (2) pixel-não-pele; e para abordar esteproblema, pesquisadores utilizam diferentes técnicas procurandoobter um melhor resultado. O thresholding, porexemplo, usado no trabalho de [13], agrupa uma pequenaregião de pixels pertencentes a um determinado modelo decor. O histograma easredes neurais também são métodosbastante utilizados. Os trabalhos de [12] e [10] utilizam essesmétodos respectivamente. As misturas Gaussianas, usa-223


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.das em [4] e [5], também são utilizadas para classificar pelehumana por causa da sua vantagem em generalizar melhorcom menos dados de treinamento.A e<strong>sc</strong>olha do melhor espaço de cores dentro de um modelode cor que represente a pele humana é uma das maioresdificuldades de pesquisa relativas à segmentação de pelehumana. No estudo realizado por Kovac e outros [7], elede<strong>sc</strong>reve suas restrições, as quais foram utilizadas para odesenvolvimento deste trabalho, que as cores determinantesde pele humana com iluminação constante da luz dodia são aquelas que satisfazem, no modelo de cores RGB, aequação:Figura 1. A colcha de retalhos ao centromontada a partir de pequenas imagens depedaços de pele.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 comiluminação artificial, inclusive na luz do dia, são aquelasque satisfazem a seguinte equação:R>220 and G > 210 and B > 170 and|R − G| B and G > B (2)2. Metodologia2.1. A e<strong>sc</strong>olha do modelo de coresA e<strong>sc</strong>olha do modelo de cores a ser utilizado baseou-sena comparação e nos resultados obtidos por um teste queverificou o relacionamento e a integridade das informaçõesresultantes entre: (1) um padrão (colcha de retalhos), e(2) uma nova imagem para verificação (imagem teste depele) emtrês modelos de cor: HSV, HSI e RGB. Primeiramenteforam obtidas, por uma câmera digital, 30 imagensdo rosto de 30 pessoas (13 homens e 17 mulheres) de diferentestonalidades de pele e todas sob as mesmas condiçõesde iluminação. Depois foram e<strong>sc</strong>olhidas 12 imagens, das30 existentes (6 imagens de cada sexo), e extraídas pequenasamostras de partes do rosto (ou pequenos pedaços deimagens de pele) de cada uma das imagens destas pessoas.Essas amostras eram adicionadas a uma nova imagem e, poressa condição, essa nova imagem, a imagem padrão (de tamanho120x120, 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 valores)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 2. A organização dos registros e os valoresdos pixels.Para efeito de comparação, foi feito o mesmo procedimentocom novos valores originados de outra extração emoutra imagem de pele humana (de tamanho 73x96, totalizando7.008 pixels), chamada de imagem teste de pele.Conforme mostra a tabela 1, depois de organizadas, comparadase analisadas as informações resultantes dos registrosgerados pela verificação das duas imagens (a colcha de retalhospadrão e a imagem de verificação), 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 relação à quantidade de registros organizados o modeloHSV possui uma pequena vantagem em relação ao modeloHSI. Outro fator é que enquanto o modelo de cor RGBé composto por 3 variáveis que representam a cor do pixel(R, G e B), o modelo HSV é representado apenas poruma variável (o H).Portanto, a utilização de um modelo composto por maisvariáveis faz com que a taxa de acerto seja menor do queum modelo composto por menos variáveis. Como a quantidadede registros gerados após sua organização também foioutro fator a ser analisado, o modelo de cores HSV foi oe<strong>sc</strong>olhido para o desenvolvimento deste trabalho, pois aquantidade de registros organizados foi menor que os demaismodelos.224


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Tabela 1. Comparação entre os modelosRGB, HSV e HSI.2.2. Geração da Colcha de retalhos para a base detestesDepois de definido o modelo de cores, foi construídauma nova colcha de retalhos a partir de umnovo banco de imagens e seguindo os mesmos procedimentosde montagem da colcha de retalhos de<strong>sc</strong>ritosanteriormente. Esta nova imagem, que servirá parase obter os valores das médias que serão usadas comoparâmetro para a segmentação de pele humana, foi montadautilizando-se o Banco AR [9] que possui cerca de130 pessoas (76 homens e 60 mulheres). Para a montagemda colcha, foram utilizadas as imagens de 100pessoas (50 de cada sexo) em 4 diferentes posições não sofrendovariações de iluminação. Quando comparada anova colcha de retalhos com a anterior as diferenças foram:(1) o tamanho da imagem da colcha de retalhos, criadaem tamanho maior (900x1000, totalizando 900.000pixels); (2) o número de retalhos maior do que o modeloanterior ; e (3) o banco de imagens de onde foramextraídos os pedaços de pele que compõem esta nova colchade retalhos, sendo estas do banco AR, como mostra afigura 3.2.3. Cálculo de médias variando o tamanho dasvizinhanças das subimagensDepois de criada a imagem da colcha de retalhos, estaserviu para obter-se a média aritmética do pixel centralcom relação à sua vizinhança dentro de uma subimagem.Com os valores das maiores e menores médias do pixel centralé que outros pixels serão classificados como sendo ounão sendo pele em novas imagens. A média do pixel centralfoi obtida baseado na sua vizinhança. Ou seja, deslocavaseuma subimagem (tamanho 3x3) de um pixel (à 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 médiasencontradas em cada subimagem.Essa média na colcha de retalhos, refere-se ao valor deH (matiz) do pixel, devido ao fato do modelo de cores utilizadoser o HSV. O procedimento realizado para encontraresses valores em subimagem de tamanho 3x3 também foirealizado para encontrar os maiores e os menores valoresdas médias em subimagens de outros tamanhos: 5x5, 7x7e 9x9. Totalizando, assim, quatro valores de médias menorese outros quatro valores de médias maiores, como mostraográfico da figura 4.Figura 4. Disposição dos valores das médiasmaiores e menores.2.4. Cálculo das médias de vizinhanças em imagen<strong>sc</strong>om diversas resoluçõesDepois, foram encontradas novas médias utilizando osmesmos procedimentos alterando-se apenas a resoluçãoda imagem mas com a subimagem de tamanho 3x3.225


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Ou seja, partindo-se da resolução de 900x1000 (Totalizando900.000 pixels) para: (1) 640x480 pixels de resolução(307.200 pixels), (2) 320x240 pixels de resolução (76.800pixels) e (3) 160x120 pixels de resolução (19.200 pixels).A interpolação é um processo fundamental no processamentode imagens [1] eométodo NEAREST NEIGH-BOR foi adotado devido ao fato de serem atribuídos aospixels da imagem redimensionada valores sem nenhumamodificação. Para cada alteração do tamanho da imagem,foram realizados os mesmos procedimentos especificadospara adquirir as médias das vizinhanças com subimagensde tamanhos variados. Totalizando assim, outros quatro valoresde médias menores e outros quatro valores de médiasmaiores relativos ao tamanho da subimagem 3x3 em cadauma das 4 resoluções da colcha.2.5. Segmentação considerando tamanho davizinhança nas subimagens e resoluções daimagem Colcha de RetalhosOs valores das médias obtidas são utilizadas para identificarse os pixels contidos nas imagens a serem analisadassão ou não são pele humana. Assim, com uma câmerafotográfica, foram obtidas diversas imagens (variando entre640x480 e 2048x1536 de resolução, conforme mostraa figura 5) para serem analisadas, nas mais variadasformas: dentro de locais fechados, sob diferentes tipos deiluminações dentre outras.em apenas uma resolução da colcha de retalhos (900x1000),(2) apenas um tamanho de subimagem (3x3) e em diferentesresoluções da colcha de retalhos (900x1000, 640x480,320x240 e 160x120) e (3) o relacionamento entre (1) e (2).3. Resultados3.1. A geração da colcha de retalhosUma nova colcha de retalhos (novo padrão) foi construídae verificada sua integridade e se as suas característicaseram apropriadas à classificação de pele, tai<strong>sc</strong>omo: (1) se os valores dos pixels atendem às especificaçõesde pele mencionadas por Kovac e outros [7]; e (2) se existiamespaços (ou pixels) em <strong>br</strong>anco que poderiam alteraros resultados. Para resolver problemas relativos à esta<strong>sc</strong>ondições, novos pedaços de imagens de pele humana foramadicionados substituindo os pedaços de imagensirregulares. Novas verificações eram feitas até a consistênciadefinitiva desta imagem padrão. Na criação danova imagem os aspectos inicialmente observados foram:(1) a quantidade de pedaços de pele humanacontidas nela, e (2) o tamanho da imagem (900x1000 pixelsde resolução). A intenção de construir uma imagemcom essas características era de ter mais parâmetros,ou ter mais valores de média, que influenciassem nos resultadosdo que ´e ou não é pixels de pele humanaem imagens. Depois de pronta, a nova colcha de retalhosde pele humana foi utilizada como padrão deste trabalhoonde observou-se que o aumento no número deamostras de pele dentro desta imagem tem pequena influênciana variação das médias.3.2. Variação do tamanho da vizinhançaFigura 5. Imagens obtidas para a realizaçãodos testes.O processo de identificação adotou o mesmo procedimentorealizado no cálculo para encontrar os maiores e menoresvalores das médias de vizinhanças. A diferença é queesse novo algoritmo faz essa segmentação utilizando os valoresdas médias encontradas variando-se o tamanho dasvizinhanças na colcha de retalhos, conforme equação:H min


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Figura 6. Segmentação com valores daresolução da Colcha de Retalhos em900x1000 e diferentes subimagens.Figura 7. Segmentação com valores dasubimagem de tamanho 3x3 e diferentesresoluções da Colcha de Retalhos.3.3. Variação da resolução da colcha de retalhosObteve-se médias também pelo dimensionamento daimagem da colcha de retalhos através do método deinterpolação pelo vizinho mais próximo (NEARESTNEIGHBOR). A segmentação realizada com novos valoresdas médias obtidas pela alteração da resolução da colchade retalhos (900x1000, 640x480, 320x240 e 160x120), apena<strong>sc</strong>om a subimagem de tamanho 3x3, gerou resultadosnão muito diferentes das anteriores. Ou seja, quando se segmentaimagens com valores obtidos da colcha de retalho<strong>sc</strong>om uma resolução maior (tamanho 900x1000, por exemplo),encontra-se mais pixels que não são pele humanado que quando se segmenta a mesma imagem com valoresobtidos da colcha de retalhos com uma resolução menor(160x120 por exemplo). Como mostra a figura 7.o resultado é melhor em menores resoluções. Como mostramas figuras 8e9.3.4. Verificação completaOs testes utilizando-se os valores das médias (maiorese menores) fixando-se a resolução e variando-se o tamanhodas subimagens e fixando-se o tamanho da subimageme variando-se a resolução obtiveram praticamente osmesmos resultados com pouca ou nenhuma variação. Coma finalidade de aumentar a eficiência, foi utilizada a imagemda colcha de retalhos em diferentes resoluções juntamentecom os diferentes tamanhos de subimagens. Pode-se observarque a influência do aumento do tamanho da subimagem,na segmentação de pele humana, é maior do que a influênciano aumento da resolução da colcha de retalhos. Aocontrário, o aumento da resolução da colcha de retalhos é inverso,relativamente à segmentação correta de pixel de peleenão pele, ou seja, dentro de um tamanho de subimagem,Figura 8. Segmentação com valores das diferentessubimagens e diferentes resoluçõesda Colcha de Retalhos.4. ConclusõesApesar de serem muitos os trabalhos desenvolvidos parasegmentação de pele em imagens coloridas, o trabalho desenvolvidopor Kovac e outros [7] foi a motivação para odesenvolvimento deste. Suas equações para segmentação de227


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Figura 10. Segmentação realizada pela propostade [7] e deste trabalho.vam para o auxílio na segmentação.ReferênciasFigura 9. Segmentação com valores das diferentessubimagens e diferentes resoluçõesda Colcha de Retalhos.pele humana foram usadas como base para comparações deresultados, como mostra a figura 10.Assim, os resultados obtidos pelas restrições de Kovace outros [7] não atingiram, ou melhor, não garantem asegmentação correta em 100 por cento dos casos. Na maioriadas imagens, este trabalho mostra que não somente oacerto de pixels que são pele foi maior, mas tambéma classificação de pixels que não são pele. Além disso,as restrições de Kovac e outros [7] são fixas, o que seguramentedará resultados inferiores, relativamente à nossaabordagem, quando o conjunto de imagens utilizados tivercaracterísticas restritivas com relação à iluminação, foco,distância do objeto, etc.De uma forma geral, este trabalho obteve resultados satisfatóriospelo fato de demonstrar que a segmentação depele humana pode ser melhor quando não são fixados valores,parâmetros, tamanhos ou quaisquer variáveis que sir-[1] A. Bovik. Handbook of Image and Video Processing. AcademicPress, 2000.[2] D. Brown, I. Craw, and J. Lewthwaite. A som based approachto skin detection with application in real time systems.BMVC01, 2001.[3] T. Caetano and D. Barone. A probabilistic model for the humanskin-color. ICIAP01, pages 279–283, 2001.[4] T. Caetano, S. Olabarriaga, and D. Barone. Do mixture modelsin chromaticity space improve skin detection? PatternRecognition, 36(12):3019–3021, 2003.[5] M. Jones and J. Rehg. Statistical color models with applicationto 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 InternationalConference on Signal Processing, 2:1415–1418, 2000.[7] J. Kovac, P. Peer, and F. Solina. Human skin colour clusteringfor face detection. EUROCON, 2003.[8] K.W.Wong, K. Lam, and W. Siu. A robust <strong>sc</strong>heme 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. Technicalreport, 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 videosegmentation 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 detectionfrom color images under complex background. PatternRecognition, 34(10):1983–1992, 2001.228


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Reconhecimento Facial Utilizando a Rede Neural NeocognitronCristiane Oliveira de Santana e José Hiroki SaitoUniversidade Federal de São Carlos - Departamento de Computação - Grupo de Arquitetura eProcessamento de Imagens e Sinais (GAPIS){cristiane_santana, saito}@dc.uf<strong>sc</strong>ar.<strong>br</strong>ResumoEste trabalho apresenta uma aplicação da redeneocognitron no processamento de imagens faciais numsistema de reconhecimento facial. O sistema consistebasicamente no uso da rede neocognitron com umaclasse de saída, para a obtenção do vetor decaracterísticas correspondente à classe. O conjunto devetores formam um banco de dados para a fase dereconhecimento. Nos experimentos foi verificada ataxa de reconhecimento do sistema implementado.Apesar do número reduzido de amostras de treinamentopara cada classe, o resultado foi satisfatório.AbstractThis work shows one application of neocognitronnetwork in the face images processing on a system offace recognition. The system uses one outputneocognitron, to obtain the characteristic vector of thecorresponding input image. The resulting vectors setcomposes a database to be used at the recognitionphase. As a result it was verified the recognition rate ofthe implemented system. Besides of the reduced amountof training patterns for each class, the result wassatisfactory.1. IntroduçãoAs redes convolucionais possuem a habilidade delidar com deformações e variações nos dados de entradadevido à combinação, em sua arquitetura das idéias do<strong>sc</strong>ampos receptivos, compartilhamento de pesos esubsampling temporal ou espacial [1].A rede neocognitron, por sua vez, é uma redeconvolucional proposta por Fukushima para oreconhecimento de caracteres manu<strong>sc</strong>ritos [2]. Sofreualterações ao longo do tempo sendo, em 2003,aperfeiçoada para que seu treinamento pudesse serincremental fazendo com que sua estrutura possa sermodificada numa segunda fase de treinamento [3].Alguns trabalhos tem sido realizados utilizando-a comoem 1998, quando Neubauer combinou neurôniosperceptron com o neocognitron [4] ou mesmo em 2005,quando Saito et al. [5] aplicou a rede neocognitron noreconhecimento facial.O presente trabalho di<strong>sc</strong>ute os resultados obtidos naaplicação da rede neocognitron no reconhecimentofacial, usando o banco de imagens CMU-PIE (CarnegieMellon University Pose Illumination and ExpressionDatabase). Na seção seguinte é apresentada a redeneocognitron e sua forma de aprendizado, a seguir naterceira seção é apresentada a base de imagens faciaisCMU-PIE Database. Na quarta seção é apresentado osistema de reconhecimento facial a ser utilizado nosexperimentos seguido pela quinta seção onde sãorealizados os experimentos. Por fim, são apresentadasas conclusões e trabalhos futuros.2. NeocognitronA rede neocognitron é formada por vários estágiosque possuem duas camadas cada um, exceto o estágioque representa a camada de entrada: uma camada decélulas-S, responsável pela extração de características euma 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-Vresponsáveis por prover informação para as células-Sso<strong>br</strong>e a quantidade de atividade presente em cada regiãode entrada de cada célula-S.Sua auto-organização é baseada em dois princípios:aprendizado por competição onde as células competempela extração de uma característica e pelo princípio deque uma célula vencedora (seed cell) não apenas cre<strong>sc</strong>ecomo também controla a sua vizinhança.Cada conexão possui um peso associado. A<strong>sc</strong>onexões entre células-C de um estágio l-1 com a<strong>sc</strong>élulas-V do estágio l e as conexões de células-S de umestagio l com as células-C do mesmo estágio sãoconhecidos como pesos-c e pesos-d, respectivamente,invariantes e determinados no início do treinamento darede. Nas demais conexões entre as células-C de umestágio l-1 com as células-S de um estágio l sãorepresentadas pelos pesos-a e as conexões entre a<strong>sc</strong>élulas-V de um estágio l e as célulasS do mesmoestágio são representados pelos pesos-b, ambosvariantes e responsáveis por armazenar a<strong>sc</strong>aracterísticas dos padrões, e suas atualizações sãoobtidas segundo as equações 1 e 2:a l( kl 1, i, kl) ql cl( i) uCl 1( kl1, i)bk ( ) q v ( n )(2)l l Cln (1)onde n e k lindicam a posição e o plano celular doneurônio vencedor, k l-1 o plano celular do estágioanterior em que o neurônio é conectado, i é a posição229


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.da conexão dentro da região de conexão, q l é a taxa deaprendizado, c / o peso-c correspondente, u cl-1 é o valorda entrada na conexão considerada, e v cl é o valor dacélula V conectada.Para a computação de uma célula-S, u Sl (k,n), naposição n, em um plano k l de um estágio l utiliza-se osvalores u Cl-1 das células-C de todos os planos celularesdo estágio precedente e os respectivos pesos-a, a l ,numa dada área de conexão S, segundo a equação 3:K l 11 al( kl 1, i, kl) uCl 1( kl1, n i)kl 11i SluSl( kl, n) 11 1 b( k ) v ( n)l l Cl(3)onde é o limiar responsável pela habilidade de extraircaracterísticas onde, quanto maior o fator de inibiçãomenor sua generalização e como função de ativaçãodefinida por:( x)x, se x 00, se x 0As células-V são obtidas segundo a equação:(4)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élulacorresponda a um fator já existente, é realizada umanova bu<strong>sc</strong>a por uma célula vencedora.Encontrada uma célula vencedora que não coincidacom um fator já existente, seus pesos-a e pesos-b sãoreforçados e um novo plano celular é criado, semeandocélulas com mesmos pesos em todas as posições. Emseguida, incrementa-se o número Kl de planos celularesjá treinados. Encontrado um vencedor seus pesos-a epesos-b são então reforçados e um novo plano criado.3. Base de imagens CMU-PIEA base CMU-PIE contém mais de 40.000 imagen<strong>sc</strong>oletadas entre outu<strong>br</strong>o e dezem<strong>br</strong>o de 2000. Trata-sede imagens de 68 indivíduos com treze variações depose, três de expressão e quarenta e três variações deiluminação [6].Cada imagem possui uma resolução de 640x486pixels e área facial correspondente a ¼ deste total (emtorno de 320 x 243 pixels) na posição central daimagem.No desenvolvimento do presente trabalho foramutilizadas imagens frontais de dez classes distintas deimagens faciais, exemplificadas pela Figura 1.K l 12Cl( n) l( )Cl 1( l 1, n )kl 11i Slv c i u k i(5)As células-C por sua vez são obtidas através docálculo:u ( n, k ) d ( i). u ( n i, k ) (6)Cl l l Sl li Slem que a função é definida como:( x)x, se x 01 x0, se x 0(7)Entretanto, para se realizar o treinamento dentro deum estágio, para a inserção de novos planos celulares acada novo fator ou característica extraída, é necessáriocalcular os valores das células-S de todos os plano<strong>sc</strong>elulares já existentes, ou seja, kl=1...Kl. Após isso, sãocalculados os valores das células-S para um planoauxiliar denominado plano de <strong>sel</strong>eção de semente(Seed-Selection-Plane SSP, em inglês), que contempequenos pesos-a e pesos-b, nas conexões de entrada,para a obtenção de um novo fator.Figura 1. Exemplos de padrões utilizados esuas respectivas classes.4. Sistema de Reconhecimento FacialO sistema de reconhecimento facial proposto écomposto dos seguintes módulos: detecção de face,alinhamento da face detectada, extração decaracterísticas, e comparação de características com a<strong>sc</strong>ontidas num banco de dados (Figura 2).A operação do sistema consiste de duas fases. Aprimeira fase é a de treinamento, que consiste naobtenção de vetores de características das classes, quesão armazenados no módulo de banco de dados. Asegunda fase é a de reconhecimento, em que a imagemcontendo as faces a serem reconhecidas sãoapresentadas na entrada do sistema, as mesmas sãodetectadas, alinhadas, as características são obtidas e230


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.comparadas com os vetores contidos no banco de dados.A fase de reconhecimento foi realizada, usando aseqüência mostrada no diagrama da figura 5, onde aimagem da região facial a ser identificada é introduzidana rede neocognitron. A rede é executada diversasvezes, sendo que a cada etapa é usado um vetor decaracterísticas diferente do banco. As respostas da redepara cada uma das etapas são comparadas entre si, e ade maior valor corresponde à classe correspondente àimagem de entrada.Figura 2. Sistema de reconhecimento facial[7].5. ExperimentosNos experimentos, as partes de detecção facial ealinhamento foram facilitadas pelo uso de umsubconjunto da base de dados CMU-PIE com imagensfaciais numa determinada pose.Inicialmente, para utilização da base de dados fez-senecessário o pré-processamento a fim de obter imagensde 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 classede saída como mostra a figura 3, para a obtenção dosvetores de características das classes utilizadas.padrão Imagemde deentrada contrasteU0 UGredução57x5720x2057x57US120x20UC1US2US2'UC213x1313x1313x13 7x7 7x7US3 UC33x37x73x3saídaClasseFigura 3. Estrutura da rede utilizada pararealização dos experimentosPara a realização do treinamento foram e<strong>sc</strong>olhidasdez classes de padrões com dez padrões cada. Otreinamento foi realizado com a entrada da imagem daregiã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 decaracterísticas é composto do conjunto de todos ospesos variáveis, pesos-a e pesos-b, da rede neocognitronresultante.Figura 4. Diagrama da fase de treinamento.1x1Figura 5. Diagrama da fase dereconhecimento.6. Resultados ObtidosExperimento 1 - primeiramente foram usadas asmesmas amostras de imagens faciais usadas paratreinamento, para a fase de reconhecimento.O experimento obteve os resultados apresentados naTabela 1 onde o termo configuração refere-se ao vetorde características obtido no treinamento das classes depadrões, REC refere-se ao reconhecimento dos padrõespertencentes à classe, NREC o não-reconhecimento depadrões pertencentes à classe e ERRO a classificação deforma errônea de padrões não-pertencentes à classecomo pertencentes à mesma.Tabela 1. Resultados do experimento 1.Configuração REC NREC ERRO01: 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çõesda classe 3, 4, 7 e 8 foi obtida uma taxa de 100% dereconhecimento, ou seja, nessas configurações todos ospadrões pertencentes à classe foram reconhecidosquando utilizadas suas configurações correspondentes.Apenas as configurações 4 e 5 obtiveram padrões nãopertencentesà classe sendo reconhecido comopertencente, sendo que a porcentagem encontradarefere-se a classificação de 3 padrões, erroneamente,231


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.num universo de 99 padrões não pertencentes à classe.A configuração 03 obteve menor taxa dereconhecimento, sendo que a porcentagem encontradarefere-se a oito padrões num universo de 11 padrõespertencentes à classe.Experimento 2 consiste no resultado da aplicaçãode padrões não utilizados durante o treinamento da redena operação de reconhecimento das classes.Tabela 2. Resultados do experimento 2.Configuração Reconhecimento do padrãonão-treinado01 Sim02 Sim03 Não04 Sim05 Não06 Não07 Sim08 Sim09 Sim10 NãoA tabela 2 apresenta os resultados obtidos nestesegundo experimento em que foram obtidos 60% dereconhecimento dos padrões não apresentados durante otreinamento restando 40% para os padrões nãoreconhecidos.7. ConclusõesCom este trabalho a rede neocognitron mostrou-seviável para a tarefa de reconhecimento de imagensfaciais.Observa-se que os resultados devem ser melhorado<strong>sc</strong>om a utilização de maior número de padrões detreinamento por classe, fazendo com que a rede consigaextrair maior número de características de cada classe,resultando numa representação mais adequada.A configuração 03, conforme tabela1, apresentoumaior taxa de erro de classificação que pode serexplicada pela complexidade da imagem frente àsdemais devido a existência de barba e óculos noindivíduo representado pela classe 2 da base CMU-PIEpodendo obter melhores resultados com a diminuiçãodo limiar de generalização utilizado durante a fase detreinamento fazendo com que a rede seja capaz derealizar melhor generalização do padrão apresentado.Observou-se ainda que a rede obteve bons resultadosno segundo experimento, confirmando a habilidade darede em reconhecer padrões distorcidos mesmo com autilização de padrões não-treinados durante a fase dereconhecimento. Esses resultados podem ainda seremmelhorados, pelas mesmas razões de<strong>sc</strong>ritas, com autilização de maior número de padrões de treinamento,e também com a diminuição do limiar de disparo, usadono treinamento.8. AgradecimentosOs autores agradecem a Fundação de Amparo àPesquisa do Estado da Bahia (FAPESB) pelo apoiofinanceiro concedido.9.Referências[1] Lecun, Y. and Bengio, Y. Convolutional Networks forImages, Speech and Neural Networks (Editor) The Handbook of Brain Theory and NeuralNetworks. 2ª ed. Cam<strong>br</strong>idge: M.I.T. Press. 2003, pp. 276-279(Série Bradford Books).[2] -organizing neuralnetwork model for a mechanism of pattern recognitionBiological Cybernetics, v.36, n.4, pp. 193-202, 1980. The Handbook ofBrain Theory and Neural Networks. 2ª ed. Cam<strong>br</strong>idge: M.I.T.Press. 2003, pp. 715-719 (Série Bradford Books). IEEE Transactions onNeural 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 FaceDatabase to a Convolutional Neural Network Neocognitron. European Symposium on Artificial NeuralNetworks. Bruges, pp. 491-496 2005.[6] Sim, T.; Baker, S. and Bsat, M. The CMU Pose,Illumination and Expression Database. IEEE Transaction onPattern 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-11232


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Método da Determinação da Dimensão Fractal por Fourier e Análise Multie<strong>sc</strong>alapara Reconhecimento de PadrõesLeandro Paganotti Brazil, Leonardo A. Andrade, Odemir M. Bruno<strong>USP</strong> - Universidade de São PauloICMC - 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,<strong>br</strong>uno)@icmc.<strong>usp</strong>.<strong>br</strong>ResumoA Dimensão Fractal de um objeto possui uma grande riquezade informação em suas diferentes e<strong>sc</strong>alas 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 e<strong>sc</strong>alas de complexidade, isto é, a DimensãoFractal MultiE<strong>sc</strong>ala. Esta, por sua vez, demonstrou-seser uma eficiente ferramenta para o reconhecimento de padrões.Foram realizados testes para o cálculo das dimensõesde alguns objetos clássicos da geometria fractal, tai<strong>sc</strong>omo Koch, TreeLike e entre outros. Por fim, são apresentadosresultados de testes para reconhecimento de padrõesusando a curva multie<strong>sc</strong>ala so<strong>br</strong>e texturas de Brodatz.1. IntroduçãoA geometria euclidiana define e estuda formas dita<strong>sc</strong>omo perfeitas (pontos, retas, quadrados, círculos entre outras),contudo, não é suficiente para classificar algumas formaspresentes na natureza.Essas formas possuem como base, regras simples deconstrução, mas que ao serem repetidas inúmeras vezes, geramfiguras de uma complexidade espantosa [1]. Essas novasformas apresentam auto-semelhança em nível de e<strong>sc</strong>ala,ou seja, o conjunto total é constituído por pequenas réplicasdele mesmo independente da e<strong>sc</strong>ala utilizada para visualizálo[8]. O nome dado a essas formas foi cunhado por Mandel<strong>br</strong>ot,sendo chamadas de fractais [9].Uma característica importante dos fractais é relativa asua dimensão. Os objetos ditos euclidianos possuem sua dimensãointeira, enquanto os objetos fractais possuem suadimensão fracionada.O objetivo geral deste trabalho é o estudo eavalidaçã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 MultiE<strong>sc</strong>alae seu uso para o reconhecimento de padrões. Serão apresentadostestes com o método de Fourier para objetos clássicosda geometria fractal e, também, análise multie<strong>sc</strong>ala para reconhecimentode padrões so<strong>br</strong>e as texturas de Brodatz.Este trabalho está organizado na seguinte forma: na seção2 serão vistos os conceitos básicos so<strong>br</strong>e 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 multie<strong>sc</strong>ala para o método proposto; na seção 5 serãointroduzidos alguns conceitos so<strong>br</strong>e texturas; na seção 6serão mostrados alguns resultados obtidos com o método deFourier e, também, com a análise multie<strong>sc</strong>ala para reconhecimentode padrões e, porfim, na seção 7 serão di<strong>sc</strong>ultidosos resultados obtidos com o método proposto.2. Dimensão FractalA dimensão de um objeto fractal é um valor fracionário,pois este valor indica o grau de complexidade ou irregularidadeque uma imagem possui, ou seja, o quanto do espaçofísico ela ocupa [7] [11].Seja uma linha de comprimento L e outra de comprimentou, de modo que L>u. So<strong>br</strong>epondo a linha u so<strong>br</strong>ea linha L até co<strong>br</strong>i-la completamente, encontra-se umvalor N = L/u, que nada mais é que uma medida da linha.Da mesma forma que é feito para linha, pode ser feitopara um quadrado de lado L, so<strong>br</strong>epondo-se quadrados menoresde lado u, obtendo a mesma relação N =(L/u) 2 .Demodo geral temos a seguinte relação:N =(L/u) D (1)233


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Extraindo o logaritmo de ambos os lados obtemos:D =ln(N)(2)ln(L/u)onde D é a dimensão fractal do objeto. Para um objeto euclidianoD é inteiro, para um fractal D é fracionário.3. Dimensão Fractal pela Transformada deFourierEm análises de uma imagem, esta é considerada comosendo uma função di<strong>sc</strong>reta f(x, y), onde x e y são as coordenadasde pixel na horizontal e vertical respectivamente. ATransformada Di<strong>sc</strong>reta de Fourier é aplicada para transformaruma imagem 2D em uma imagem F (u, v) correspondenteno domínio da freqüência, e é dada como:F (u, v) = 1M.NM−1∑x=0N−1∑y=0f(x, y) ∗ e −j∗2π(ux/M+vy/N)(3)onde u e v são as coordenadas de pixel da imagem no domínioda 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üênciaé dado como:( ) I(u, v)Φ(u, v) = arctan(5)R(u, v)A dimensão de um objeto fractal pode ser obtida pelo relacionamentolinear do logaritmo da magnitude com o logaritmoda 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 ângulode 0 a 180 o , com incremento de 1 o , é possível calcularo valor da fase para cada um desses ângulos, e seu valorserá dado pelo arco-tangente da parte imaginária dividapela parte real. Os valores obtidos geram o eixo horizontaldo gráfico citado. O eixo vertical é calculado pelo acúmuloda magnitude, que é dado pela raiz quadrada do espectrona fase do domímio da imagem.4. Análise Multie<strong>sc</strong>alaA 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 e<strong>sc</strong>alas espaciais. Aplicando aessa curva uma transformação multie<strong>sc</strong>ala U(u(t),a), ondea é a e<strong>sc</strong>ala de observação, obtemos uma função de e<strong>sc</strong>alaespacial 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 MultiE<strong>sc</strong>ala(DFM).O uso da transformação multie<strong>sc</strong>ala so<strong>br</strong>e u(t) permiteanalisar não apenas um valor da dimensão para um objetofractal, mas sim, uma função que representa os seus diferentesníveis de fractalidade para as diferentes e<strong>sc</strong>alas observadas[6] [10].Essa curva é obtida a partir da primeira derivada da curvau(t), onde DFM é a dimensão fractal.DFM = du(t)(6)dtValidação da derivada: a derivada numérica utiliza apenasa 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 Multie<strong>sc</strong>ala Baseada em Fourier: éummétodo que permite extrair características MultiE<strong>sc</strong>ala deum sinal por meio da prorpiedade Derivativa da Transformadade Fourier. Esse método é a transformada de fourierda função, diferenciada no domínio da freqüência, juntamentecom uma suavização gaussiana e a Transformada Inversade Fourier [2] [3]. Obtemos a seguinte equação:du(t)= F −1 {F {u(t)}G a (f)(j2πf)} (7)dtonde t e u(t) são, respectivamente, os logaritmos da magnitudee da fase da imagem do método de dimensão fractalpor Fourier, f é a frequência, j é o número imaginário eG a (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 de<strong>sc</strong>onsiderar os primeirospontos 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, portantodeve-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 de<strong>sc</strong>ontinuidade nas extremidades dosinal. Esse Fenômeno é conhecido como Gibbs [2]. Para resolvertal problema, usa-se o método de replicação e reflexãode 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 de234


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.As texturas, assim como os fractais, se caraterizam pelarepetição de um padrão. No caso das texturas, o padrãoé aplicado so<strong>br</strong>e uma determinada região, sendo que estepode sofrer pequenas variações.A textura se apresenta como um ótimo de<strong>sc</strong>ritor de regiões,e contribui para uma maior precisão para os processosde reconhecimento, de<strong>sc</strong>rição e classificação de imagens[1], contudo, o processo de reconhecimento é carocomputacionalmente [5].5.1. AssinaturasFigura 1. Curva log-log gerada pelo métodocom o inverso da sua inclinação. Parte comfundo cinza de<strong>sc</strong>onsiderada para o métodode derivada por Fourier.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ívelreconhecer se um trecho de um padrão é similar a outro.As técnicas utilizadas para determinação da assinatura,envolvem transformações T : I 2 → R ou T : I 2 → I, ondea função ou vetor obtido caracteriza a imagem.6. Resultados ExperimentaisOs resultados apresentados foram implementados com osoftware MatLab, e o código foi executado em um computadorPentium IV de 3,4 GHz com 2 GB de RAM. Foramrealizados cálculos de dimensão fractal utilizando uma implementaçãodo método de Fourier para os objetos da Figura3. Em seguida, os resultados são comparados com osresultados obtidos pelo método de Minkowiski implementadoem [1].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 Multie<strong>sc</strong>ala é obtida comosendoDFM(t) = du(t)dtonde u(t) é a curva gerada pelo método de Fourier.(8)5. Análise de TexturaFigura 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


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.6.1. Comparações da Dimensão Fractal por Fourier,Minkowsky e BoxcountingA 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.6.2. Multie<strong>sc</strong>ala e Reconhecimento de PadrõesO método de determinação da dimensão fractal multie<strong>sc</strong>alapor Fourier, determina uma assinatura geométrica da figuraem sua curva multie<strong>sc</strong>ala, 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 utilizadosblocos de 256x256 pixels retiradas de determinadasimagens de textura de Brodatz, como mostram as Figuras 5,6, 7Figura 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 valoresencontrados de 1.444, 1.667 e 1.527 respectivamente.A Tabela 1 mostra os resultados encontrados pelo métodode Fourier, Box e Minkowski, além do valor teórico dadimensão fractal para as figuras de testes.Figura Fourier Minkowski TeoricoQuadrado 2.103 1.78 2Box 2.056 1.4 1.464Koch(n =4) 1.444 1.27 1.262Sierpinski 1.667 1.56 1.585T reeLike 1.529 1.37 1.465Tabela 1. Comparações de métodos que calculama dimensão fractal. Os resultados deMinkowski utilizaram raio = 20 e foram extraídosde [1]Figura 5. Bloco 1 - Imagens retiradas do padrão1 de Brodatz testadas com o método deDimensão Fractal Multie<strong>sc</strong>ala por Fourier implementado.(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 multie<strong>sc</strong>alacom a técnica utilizada, e em seguida um gráfico comas curvas geradas para cada um dos três blocos. Os resultadospodem ser observados nas figuras 8, 9, 10, 11, 12, 13Se ajustarmos a e<strong>sc</strong>ala dos gráficos em relação ao eixoda e<strong>sc</strong>ala de qualquer uma das curvas geradas por recortesdo padrão de Brodatz, e em seguida realizarmos o somatóriodas difenças entre os valores da dimensão fractal da<strong>sc</strong>urvas de recorte e o da assinatura, a menor diferença indicaa qual padrão o recorte pertence, o que valida o métodopara reconhecimento de padrões.7. ConclusõesO 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


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Figura 8. Curva Multie<strong>sc</strong>ala para o padrão 1de Brodatz.Figura 6. Bloco 2 - Imagens retiradas do padrão20 de Brodatz testadas com o métodode Dimensão Fractal Multie<strong>sc</strong>ala por Fourierimplementado. (a) Recorte 1, (b) Recorte 2,(c) Recorte 3, (d) Recorte 4.Figura 9. Curvas Multie<strong>sc</strong>alas para os quatrorecortes do padrão 1 de Broadatz encontradosna figura 5.Figura 7. Bloco 3 - Imagens retiradas do padrão23 de Brodatz testadas com o métodode Dimensão Fractal Multie<strong>sc</strong>ala por Fourierimplementado. (a) Recorte 1, (b) Recorte 2,(c) Recorte 3, (d) Recorte 4.Figura 10. Curva Multie<strong>sc</strong>ala para o padrão20 de Brodatz.237


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Figura 11. Curvas Multie<strong>sc</strong>alas para os quatrorecortes do padrão 20 de Brodatz encontradosna figura 6.ritmo da magnitude indica se o resultado é confiável. Emespecial na Figura Box encontramos o caso onde a distribuiçãonão é uniforme, observando que o valor da dimensãofractal 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 respectivamente.Também é importante observar que parte dos dados iniciaisdos dados que geram a dimensão fractal devem ser de<strong>sc</strong>artados,para que a distribuição seja uniforme e confiável.Este foi um dos passos iniciais realizados na implementaçãoda dimensão multie<strong>sc</strong>ala, onde foram de<strong>sc</strong>artados 30%dos dados iniciais da curva de dimensão fractal. Isto garantiuque a derivada por Fourier calculada não fosse de<strong>sc</strong>aracterizada,inviabilizando a eficácia do método proposto.A assinatura de texturas indicada pela curva multie<strong>sc</strong>alaimplementada demonstrou o potencial da técnica multie<strong>sc</strong>alapara a análise e classificação de imagens, o que podeser observado pelos resultados testados com as texturas deBrodatz.ReferênciasFigura 12. Curva Multie<strong>sc</strong>ala para o padrão23 de Brodatz.Figura 13. Curvas Multie<strong>sc</strong>alas para os quatrorecortes do padrão 23 de Brodatz encontradosna figura 7.[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, <strong>USP</strong> - Universidadede 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 Classification:Theory and Practice. CRC, first edition, 2000.[4] A. G. M. Dongming Tang. Microstructure and fractal analysisof fat crystal networks. Journal of the American Oil Chemists’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-<strong>sc</strong>alefractal analysis of image texture and pattern. PhotogrammetricEnginnering and Remote Sensing, 65(1):51–61, 1999.[7] K. Falconer. Fractal Geometry: Mathematical and Applications.New York, John Wiley, 1990.[8] D. Gulick. Encounters With Chaos. McGraw-Hill InternationalEditions - Mathematics and Statistics Series, 1992.[9] B. B. Mandel<strong>br</strong>ot. 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 dimensionsapplied to plant identification. submetido para publicaçãona Patter Recogniton lettes, 2004.[11] C. Tricot. Curves and Fractal Dimension. New York:Springer-Verlag, 1994.238


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Um Algoritmo para Clipping de Linha em uma Área de Visualização CircularAlex F. de AraújoUniversidade Federal de GoiásAv. Dr Lamartine P. Avelar75705-220 - Catalao, GO - Brasilalex.afa@cc.grad.ufg.<strong>br</strong>C.A.M.Barbosabarbosa@camb.eng.<strong>br</strong>Acrísio José do Na<strong>sc</strong>imento JúniorUniversidade Federal de GoiásAv. Dr Lamartine P. Avelar75705-220 - Catalao, GO - Brasilacrisio@catalao.ufg.<strong>br</strong>ResumoO presente artigo propõe a implementação de um algoritmode clipping de linha para ser aplicado em janelas devisualização circular. Há uma carência destes algoritmospara janelas neste formato como pode ser observado emrenomadas bibliografias [2]. Este algoritmo é baseado naidéia de Cohen e Sutherland para clipping em janelas retangulares,onde os pontos de interseção são encontradosde forma direta. O algoritmo apresentado aqui utiliza-sedas equações da reta e da circunferência para determinaras partes visíveis da linha.1. IntroduçãoO clipping é aplicado em cenas para retirar linhas e superfíciesque localizam-se fora da área de visualização. Osalgoritmos de corte das superfícies que extravasam esta áreaseguem os mesmos princípios dos algoritmos para recortede linhas [3]. Este artigo aborda apenas o clipping de linhas,o qual é parte fundamental do pipeline de visualizaçãográfica [6]. Estes algoritmos dividem-se em duas abordagens:(a) de codificação e (b) paramétrica.O algoritmo de subdivisão de Cohen-Sutherland [5]utiliza-se de cálculos matemáticos para obter os pontosfinais visíveis da linha que se deseja traçar, segundo aabordagem de codificação (a). Cohen e Sutherland [7] fazemuso de um vetor de inteiros, sendo cada elemento deste,correspondente ao posicionamento dos extremos da linhaem relação à janela de visualização (0 – visível e 1 –invisível). Estes dados são usados como códigos pelo algoritmopara determinar qual porção da linha deve ser desenhada.Já a segunda abordagem (b) é baseada na análise daequação paramétrica do segmento da reta [8], como no algoritmode Liang-Barsky [2]. Este calcula, para cada linha,os valores dos parâmetros que definem qual parte da linhaestá dentro da janela de clipping.Os algoritmos citados [7] [2] são simples e de fácil entendimento[4]. Porém, consideram a janela de visualizaçãocomo um retângulo regular. Outros, como Cyrus-Beck [5],consideram polígonos irregulares como a janela de clipping.No entanto, nenhum deles aborda a utilização de uma circunferênciacomo janela de clipping.É indi<strong>sc</strong>utível que o uso de janelas regulares (em suamaioria, retangulares) têm mais aplicabilidade do que áreasde visualização circulares. Entretanto, isto não significa queesta última não seja utilizada. Um exemplo é a simulaçãode uma luneta ou a visualização através de um orifício circular,como o de uma fechadura. Para suprir esta falta, propomosuma abordagem matemática para a determinação daporção visível de uma linha através de uma área circular.2. Abordagem Matemáticaa = −2 × x cb = −2 × y cc = x 2 c + yc 2 − r 2p = a × (x 2 − x 1 ) 2 − 2 × (−x 1 × y 2 + x 2 × y 1 )×(y 1 − y 2 ) − b × (x 2 − x 1 ) × (y 1 − y 2 )q = (−x 1 × y 2 + x 2 × y 1 ) 2 + c(x 2 − x 1 ) 2∆ = p 2 − 4 × ((x 2 − x 1 ) 2 +(y 1 − y 2 ) 2 ) × q239


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.x i1 =−p + √ ∆2 × ((x 2 − x 1 ) 2 +(y 1 − y 2 ) 2 )−p − √ ∆x i2 =2 × ((x 2 − x 1 ) 2 +(y 1 − y 2 ) 2 )y i1 = (−x 1 × y 2 + x 2 × y 1 ) − x i1 × (y 1 − y 2 )x 2 − x 1y i2 = (−x 1 × y 2 + x 2 × y 1 ) − x i2 × (y 1 − y 2 )x 2 − x 1Equação 1. Formulação matemática para determinaras interseções.onde:x 1 ,y 1 ,x 2 e y 2 são as coordenadas dos pontos p 1 e p 2 , respectivamente;x c e y c são as coordenadas do centro da circunferência e ro raio desta;(x i1 ,y i1 ) e (x i2 ,y i2 ) os pontos de interseção;p e q são artifícios matemáticos para redução da equação total;∆ é o di<strong>sc</strong>riminante da equação.Figura 2. Imagem gerada pela execução doalgoritmo de Sutherland.linha não intercepte a circunferência, ou seja, esteja totalmentefora da área visível, o valor de ∆ é negativo.A Figura 1 apresenta a modelagem geométrica para umajanela de clipping circular. Nesta os segmentos de linha nãovisíveis são mostrados em tom de cinza e o segmento visívelna cor preta.O algoritmo aqui apresentado segue a idéia do algoritmode Cohen-Sutherland [5], conhecido também como algoritmode subdivisão de linha. Nele, após de<strong>sc</strong>artar a possibilidadede que a linha é totalmente invisível, a mesma é divididafazendo uso das coordenadas que limitam a janela devisualização, para obter os pontos de interseção, utilizandoseuma única iteração. A Figura 2 apresenta o resultado daexecução do algoritmo da subdivisão para desenhar algumaslinhas.3. O Algoritmo3.1. Encontrando os Pontos de InterserceçãoFigura 1. Modelo geométrico de uma janelade clipping circular.Considerando a abordagem matemática, empregamos aEquação 1 para encontrar os pontos na extremidade visívelda linha. Observa-se que as equações da circunferência e dareta formam a base dos cálculos [1]. Desta forma, os dadosde entrada são: (a) os pontos finais da linha a ser desenhada,(b) o centro da janela e (c) o raio da janela devisualização. Com estes dados, estabelecemos: a equação dareta que passa pelos dois pontos fornecidos e a equação dacircunferência que contorna a área visível. Após determinálas,efetua-se o cálculo das coordenadas de cada ponto deinterseção, encontrando-os com uma única iteração. Caso aO Algoritmo 1 monta a equação da reta que passa pelospontos p 1 e p 2 , a equação da circunferência que contornaa janela de visualização, a qual possui centro no pontode coordenadas (x c ,y c ) e raio igual a r; depois, substitui aequação da reta na equação da circunferência, para deixá-laapenas em função de x e encontrar o valor de ∆. Se∆ fornegativo, a linha limitada pelos pontos p 1 e p 2 é totalmenteinvisível, pois neste caso a reta que passa por eles não interceptaa circunferência em nenhum ponto. Caso contrário, a<strong>sc</strong>oordenadas dos pontos de interseção são calculadas e armazenadasnos pontos (x i1 ,y i1 ) e (x i2 ,y i2 ).3.2. Desenhando a linhaApós encontrar os pontos de interseção, deve-se fazer aplotagem. Porém, é importante verificar antes se estes são240


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Figura 3. Imagem gerada pela execução doAlgoritmo 2Algoritmo 1 Encontra CruzamentosEntrada: Os pontos (x 1 ,y 1 ), (x 2 ,y 2 ) (que definem a linha),o ponto (x c ,y c ), centro da circunferência e o raior.Saída: Os pontos (x i1 ,y i1 ), (x i2 ,y i2 ), de interseção.1: a ←−2 × x c2: b ←−2 × y c3: c ← x 2 c + y 2 c − r 24: se (x 1 = x 2 ) então5: temp 1 ← y 1 − y 26: temp 2 ← x 2 − x 17: senão8: temp 1 ← x 2 − x 19: temp 2 ← y 1 − y 210: fim se11: ∆ ← (−2 × x c − 2 × a × y c ) 2 − (4 − 4 × a 2 )(y 2 c −r 2 + x 2 c)12: temp 3 ←−x 1 × y 2 + x 2 × y 113: temp 4 ← temp 2 1 + temp 2 214: temp 5 ← a × temp 2 1 − 2 × temp 3 × temp 2 − b ×temp 1 × temp 215: temp 6 ← temp 2 3 + c × temp 2 116: ∆ ← temp 2 5 − 4 × temp 4 × temp 617: se ∆ < 0 então18: flag ←−119: retorna flag20: fim se21: flag =022: x i1 ← (−temp 5 + √ ∆)/(2 × temp 4 )23: x i2 ← (−temp 5 − √ ∆)/(2 × temp 4 )24: y i1 ← (temp 3 − x i1 × temp 2 )/temp 125: y i2 ← (temp 3 − x i2 × temp 2 )/temp 126: se (x 1 = x 2 ) então27: retorna flag,(y i1 ,x i1 ), (y i2 ,x i2 )28: fim se29: retorna flag,(x i1 ,y i1 ), (x i2 ,y i2 )Figura 4. Imagem onde uma interseção éinválidaAlgoritmo 2 Desenha LinhaEntrada: Os pontos p 1 =(x 1 ,y 1 ) e p 2 =(x 2 ,y 2 ), o centroc =(x c ,y c ) e o raio r1: se (distancia(p 1 ,c) < r) e (distancia(p 2 ,c) < r)então2: (x i1 ,y i1 ) ← (x 1 ,y 1 )3: (x i2 ,y i2 ) ← (x 2 ,y 2 )4: senão5: Encontre (x i1 ,y i1 ) e (x i2 ,y i2 ) utilizando o Algoritmo16: se flag =0então7: se (distancia(p 1 ,c) < distancia((x i1 ,y i1 ),c))então8: (x i2 ,y i2 ) ← p 19: fim se10: se (distancia(p 2 ,c) < distancia((x i2 ,y i2 ),c))então11: (x i2 ,y i2 ) ← p 212: fim se13: fim se14: Desenhe a linha definida por (x i1 ,y i1 ) e (x i2 ,y i2 )15: fim serealmente consistentes, isso deve ser feito porque nem semprea linha que se deseja desenhar é limitada pelos pontos deinterseção, como observa-se na Figura 4. O Algoritmo 2 validaos pontos e desenha a parte visível da linha, caso exista(Figura 3).4. ConclusãoOs principais algoritmos de clipping de linhas são voltadosapenas para janelas retangulares. Diante deste241


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.fato, é proposto um algoritmo de clipping para áreasde visualização circular que lança mão da mesma idéiabásica do algoritmo Cohen-Sutherland [2]. Através daEquação 1, os pontos de interseção da linha com o contornoda janela são encontrados de forma direta e com umaúnica iteração, o que garante bom desempenho ao algoritmo.Algumas condições são verificadas para validar ospontos finais: se os pontos p 1 e p 2 são totalmente internosà área visível, os mesmos são desenhados sem executarométodo para encontrar os cruzamentos; caso o Algoritmo1 seja chamado, deve-se verificar (antes de desenhara linha) se as interseções estão mais próximas do centroquando comparadas aos pontos p 1 e p 2 . Se isto for verdade,desenha-se uma linha limitada pelas interseções.Caso contrário, esta é limitada pelos pontos de entrada.Referências[1] V. V. da Silva and G. L. dos Reis. Geometria Analítica. LivrosTécnicos 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. Gomboši, and B. alik.An algorithm for polygon clipping, and for determining polygonintersections and unions. Comput. Geo<strong>sc</strong>i., 33(5):589–598, <strong>2007</strong>.[4] T. M. Nicholl, D. T. Lee, and R. A. Nicholl. An efficient newalgorithm for 2-d line clipping: Its development and analysis.In SIGGRAPH ’87: Proceedings of the 14th annual conferenceon Computer graphics and interactive techniques, pages253–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 twodimensionalline clipping algorithm via line encoding. Computer& Graphics, 11(4):459–467, 1987.[7] I. E. Sutherland. Sketchpad a man-machine graphical communicationsystem. 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 implementationof parametric line and polygon clipping algorithm. InSAC ’02: Proceedings of the 2002 ACM symposium on Appliedcomputing, pages 796–800, New York, NY, USA, 2002.ACM Press.242


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Automatic Vehicle Classification Using Learning-based ComputerVision and Fuzzy LogicJailson A. de Brito Jr.Departamento de Ciência da ComputaçãoInstituto de MatemáticaUniversidade Federal da Bahiajailson@dcc.ufba.<strong>br</strong>Luis Edmundo Prado de CamposLaboratório de Geotecnia - DCTME<strong>sc</strong>ola PolitécnicaUniversidade Federal da Bahialedmundo@ufba.<strong>br</strong>AbstractIn this paper, a vision-based system for traffic monitoringis presented. In a frame by frame processing, eachvehicle is detected and extracted from video acquisition.With OpenCV li<strong>br</strong>ary[4] pattern recognition functions,the vehicles axles are recognized. Then with a fuzzy controller,each vehicle is classified according to it’s axle<strong>sc</strong>onfiguration. Obtained classification precision is highenough to provide good results.1. IntroductionIn recent years, issues related with defective roadshave become a significant problem. An action thathelps to offer roads maintenance is the traffic monitoringWith a periodic traffic monitoring collecting informationslike quantity, direction and composition of thevehicle flow that pass in one or more <strong>sel</strong>ected pointsin a road system in a specific time interval, is possibleworking 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 consistsin analyzing the traffic behavior as they are, withoutdisturbing it. Usually this task is made by an humanobserver which cannot work under certain weatherconditions and long periods of time. Many research effortshave 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 advantageslike better accuracy than no automatic observationsand lower costs comparing with some commercialsensors-based systems.A successful vision system for traffic monitoring applicationmust 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 ClassificationAccording 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 betweenaxles well defined in a certain range. Then is pos-243


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.sible to estimate how much weight the pavement is receivingfor each vehicle, see figure 1.3. Proposed systemAiming to find an efficient solution with low cost,so it could be widely used, the proposed traffic monitoringwas divided in some modules de<strong>sc</strong>ribed as follow.This system is fully programmed in Python language.3.1. Acquisition systemThe first step consist in perform a segmentation ofeach vehicle from background and others vehicle, thenis possible detecting all vehicles, see figure 2.axles which were not recognized. This training canspend some days even in high performance computers.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 allowsgood results, although working under impreciseinformations about the distances of axles of each vehicle.3.3. Reporting systemAfter all processing tasks, the results should be plottedin a functional reports format, offering characteristicsabout the traffic in the observed road, like numberof vehicles by classes and time. This kind of reportis also useful to help improving the quality of roads.4. Vehicles segmentationFigure 2. Vehicle captured by acquisition systemRegions in <strong>sc</strong>reen which probably contains vehiclesare found using a difference between two frames technique,since they are in movement. After a thresholdfilter is applied, then a blur filter. This combinationof filters provide a resultant image that can be betterused 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 centerof <strong>sc</strong>reen are stored. These frames are determinedfrom the number of necessary frames to the tracked objectcross the capturing area.The acquisition software must work in real time, andshould requires a minimum of hardware to work, becauseit’s equipment should be placed in a road edgewith restricted or no security. So, the segmentation algorithmused should have low cost of computer processing.3.2. Training and Classification systemHere we have a set of applications which make possiblethe training of a classifier from information aboutaxles and vehicles classes. The training is divided intwo parts: axles detection and classification from axle<strong>sc</strong>onfiguration.The axles detection training is a task that must bedone times to times providing new information aboutFigure 3. Segmentation of vehicle area244


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.For vehicles with great length, two methods are beingexperimented 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.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 figure5; and the vehicle class as output.5. Axles detectionDetecting axles is a task that falls in patterns recognitionarea. The haartraining functions set[1] providedwith OpenCV li<strong>br</strong>ary 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 coefficientsin Haar wavelet transforms) and a ca<strong>sc</strong>ade 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 ca<strong>sc</strong>ade training was done using about 7000 imagesof positives, images containing exclusively vehiclestires, and about 3000 images of negatives, images notcontaining vehicles tires.Figure 5. Example of distance between axles inputcode.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 4. Detected axles are circledThen is possible to find how much axles the vehiclehave, the diameter of the tires, and distances betweenthem, see figure 4.6. ClassificationWith the contour of the vehicle, the number of axlesand the distance between them is possible to determinein which class the vehicle is.Figure 6. Example of rule code.245


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.If no axles are detected then we assume that the detectedobject is not a vehicle, so it is removed from theacquired vehicles set database.7. Results[8] S. O. Rezende. Sistem as Inteligentes - Fundam entos eAplicações.Manule, São Paulo, 1 edition, 2002.[9] P. Viola and M. J. Jones. Rapid object detection using aboosted ca<strong>sc</strong>ade of simple features. IEEE CVPR, 2001.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 systemreliability.These conclusive tests should be presented in a futurework, since a validation of a system like the proposedin this work requires more time, because the systemshould be evaluated under a wide range of trafficconditions - light traffic, congestion, varying speeds,varying weather conditions and different lanes.8. ConclusionAiming at present a good solution to traffic monitoring,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. Learningbasedcomputer vision with intel’s open source computervision li<strong>br</strong>ary. IntelTechonology Journal, 9:14, 2005.[2] J. Canny. A computational approach to edge detection,.IEEE Trans.on Pattern Analysis and M achine Intelligence,8:6, 1986.[3] D. N. de Infra-Estrutura de Transportes. M anualde E s-tudosde Tráfego. Rio de Janeiro, 2006.[4] Intel. Open source computer vision li<strong>br</strong>ary.http://www.intel.com/research/mrl/research/opencv.[5] F. Keissarian. Computer vision - based imaging systemsfor road traffic monitoring. In A nnualResearch C onferenceatUAEUniversity, 2002.[6] I. M. Monteiro. Lógica fuzzy. Instituto de Informática,Universidade Federal do Rio Grande do Sul, <strong>2007</strong>.[7] S. Pinto and E. Preussler. Pavimentação rodoviária: conceitosfundamentais so<strong>br</strong>e pavimentos flexíveis. Rio deJaneiro, 2002.246


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Implementação de uma Ferramenta para Recuperação de ImagensMamográficas Baseada em ConteúdoAna Paula O. Santos, Fátima L. S. Nunes, Márcio E. DelamaroCentro Universitário Eurípides de Marília – UNIVEMana.ps84@gmail.com, {fatima,delamaro}@univem.edu.<strong>br</strong>ResumoEste trabalho apresenta a implementação de umsistema de recuperação de imagens baseada em conteúdopara aplicação em um banco de dados de imagensmamográficas, utilizado originalmente para apoiar odesenvolvimento e os testes de sistemas de auxílio aodiagnóstico. O sistema foi desenvolvido utilizando alinguagem de programação Java, juntamente com a APIJAI (Java Advanced Imaging).1. IntroduçãoEsquemas de diagnóstico auxiliado por computador(CAD – computer-aided diagnosis) têm sidodesenvolvidos por vários grupos de pesquisas, visando aauxiliar na detecção precoce do câncer de mama, pois ésabido que a de<strong>sc</strong>oberta da doença na fase inicial favorecea sua cura [4]. A maioria dos trabalhos nessa área édesenvolvida tendo as imagens geradas através demamografia por raios X como fonte de dados. EsquemasCAD podem ser úteis no sentido de emitir uma segundaopinião ao radiologista, chamando a atenção para áreass<strong>usp</strong>eitas da imagem. Entre essas áreas, estão, porexemplo, aquelas que podem conter agrupamentos demicrocalcificações (clusters) ou nódulos em formação.Uma das maiores dificuldades encontradas durante odesenvolvimento das técnicas utilizadas na construção desistemas CAD diz respeito à avaliação dos processos. Osresultados podem variar de acordo com o conjunto deimagens utilizado nos testes. Para se atestar a viabilidadedo uso de uma técnica são necessários testes com umvasto conjunto de imagens que tenham, preferencialmente,características de aquisição variadas e que atendam aosrequisitos da finalidade da técnica, isto é, conter asestruturas procuradas na detecção. Uma vez formada abase de imagens, outra dificuldade encontrada é bu<strong>sc</strong>ardentro dela as imagens adequadas para testes de umadeterminada técnica. O usuário pode querer, por exemplo,somente imagens de mamas densas ou, ainda, imagens quecontenham um determinado achado radiológico, como umtumor benigno ou maligno. A inclusão de atributostextuais na base de dados poderia facilitar tal bu<strong>sc</strong>a, masexigiria conhecimento prévio de cada imagem, fornecidopelos laudos, que nem sempre estão disponíveis.Dentro deste contexto a Recuperação de ImagensBaseada em Conteúdo (CBIR – Content-Based ImageRetrieval) pode oferecer uma solução eficaz. O conceitode CBIR consiste em uma bu<strong>sc</strong>a feita por imagenssemelhantes a um determinado padrão fornecido. O quetorna isso possível é a comparação realizada entreaspectos da imagem dada e as imagens armazenadas nabase de dados. O interessante é a execução da bu<strong>sc</strong>a porsemelhança a um caso específico (uma imagem fornecida)e não como no processo convencional de bu<strong>sc</strong>a textualque compara parâmetros do usuário com valores deatributos armazenados [6]. Os critérios de similaridadesão obtidos a partir da extração de características daimagem como cor, textura e forma.Em trabalhos anteriores foi implementada umaferramenta para gerenciar uma base de imagensmamográficas usando a Internet. O objetivo eradisponibilizar um grande conjunto de imagensmamográficas digitalizadas e suas respectivasinformações, a fim de que seu uso pudesse contribuir naavaliação de esquemas CAD em mamografia. O sistemafoi implementado com tecnologia gratuita, permitindoacesso rápido, eficiente e sem custos adicionais aousuário. A base de imagens disponibilizada pode serusada também como ferramenta didática para o ensino detópicos relacionados à mamografia [9][10].Este trabalho apresenta a implementação de umsistema de recuperação de imagens mamográficas baseadaem conteúdo, a fim de auxiliar os testes de sistemas CAD.Um segundo objetivo é disponibilizar uma ferramentadidática para o ensino de áreas da saúde que utilizam asimagens médicas como material didático.2. Recuperação de Imagens Baseada emConteúdoEm CBIR a comparação entre as imagens é feitautilizando um conjunto de características que asde<strong>sc</strong>revem. Estas características podem ser obtidas porespecialistas ou utilizando-se algoritmos automáticos [2].Os algoritmos automáticos podem extrair atributosrelacionados a cor, textura ou forma, de acordo com aclasse de imagens e o interesse do usuário. Os atributossão agrupados em um vetor de características, querepresenta o conteúdo da imagem. Sistemas CBIR247


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.possibilitam a recuperação de um conjunto finito deimagens similares a uma imagem exemplo, utilizandoinformações inerentes à própria imagem, similaridade essacom um nível de semelhança determinado pelo usuário.Os algoritmos que obtêm as características das imagensde forma automática são chamados de extratores efornecem como resultado um conjunto numéricorepresentando as características extraídas. Pode-se utilizarum ou mais extratores para representar uma imagem [2].Esta parte é um dos pontos mais sensíveis da recuperaçãode imagens por conteúdo, visto que sintetiza aspropriedades inerentes das imagens, que serão utilizadaspara a recuperação das mesmas [6].Outra etapa importante de sistemas CBIR é aindexação das características, que deve prever uma formaotimizada de armazenar os atributos a fim de fornecer aconsulta 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, arecuperação de imagens deve calcular a menor distânciaentre os vetores [1][2]. Pode ser realizada por meio deuma 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 osvetores das imagens sob consulta, devendo satisfazeralgumas propriedades em um domínio métrico, retornandoum valor não negativo. Quanto menor esse valor, maisparecidas são as imagens comparadas [2].Uma vez definida a função de distância, pode-se fazeras consultas por similaridade. As funções mais utilizadassão: k-vizinhos mais próximos (k-nearest neighbor) ea<strong>br</strong>angência (range). A consulta pelos k-vizinhos maispróximos retorna os k valores mais próximos do ponto dereferência e a consulta por a<strong>br</strong>angência retorna os valorespertencentes ao raio de a<strong>br</strong>angência (raio de bu<strong>sc</strong>a), dadoque representa a distância de similaridade entre um pontode referência e a imagem em questão [3][2][7].3. Materiais e MétodosO trabalho aqui apresentado foi desenvolvidoutilizando a linguagem de programação Java e a API(Application Program Interface) JAI (Java AdvancedImaging) que possibilita a representação, o processamentoe a visualização de imagens [11]. Como SistemaGerenciador de Banco de Dados (SGBD) foi utilizado oDerby que utiliza o paradigma relacional, é gratuito einteiramente desenvolvido em Java.As imagens utilizadas neste projeto fazem parte de umbanco de imagens desenvolvido pelo LAPIMO(Laboratório de Processamento de Imagens Médicas eOdontológicas, da EESC/<strong>USP</strong>). A composição da base deimagens procurou obter a maior quantidade possível demamogramas, de forma a incluir imagens provenientes dediferentes hospitais. Na digitalização das imagens foramutilizados dois digitalizadores a laser, ambos da marcaLumisys (Lumi<strong>sc</strong>an 50 e Lumi<strong>sc</strong>an 75) e que, segundo ofa<strong>br</strong>icante, possibilitam obter imagens com até 12 bits deresolução de contraste (4096 níveis de cinza). O tamanhomédio das imagens é de 10,75 Megabytes e cada imagempossui em média 2048 linhas e 2750 colunas.Primeiramente foi implementado um algoritmo para aeliminação do fundo da imagem, uma vez que a<strong>sc</strong>aracterísticas obtidas das imagens devem ser computada<strong>sc</strong>onsiderando apenas a área da mama, e não a imageminteira.Para a composição do Banco de Dados foram criadastrês tabelas: IMAGEM, que armazena um código e o localde armazenamento da imagem; CARACTERISTICA, quearmazena um código e o nome referente à característica eIMAGEM_CARACTER, que faz o relacionamento entreas duas anteriores, armazenando o código da imagem, ocódigo da característica e também o valor associadoàquela característica da referida imagem. Portanto, atabela IMAGEM armazena todas as imagens pertencentesao banco, a tabela CARACTERISTICA guarda o cadastrode características possíveis e a tabelaIMAGEM_CARACTER guarda o valor de cadacaracterística em cada uma das imagens do banco,calculado quando é feita a primeira bu<strong>sc</strong>a utilizando areferida característica. O Diagrama Entidade-Relacionamento (DER) das tabelas apresentadas seencontra na Figura 1.Figura 1 – Diagrama Entidade-Relacionamento dastabelas do sistemaTambém foi desenvolvida uma estrutura genérica paraCBIR, de forma que futuramente as classesimplementadas possam ser aplicadas para outros tipos deimagens, uma vez que permite a inserção de novosextratores de características no sistema. Para este esquema(Figura 2), foram criadas quatro classes que servirão debase para o sistema:• ParameterBlock - contém objetos quefuncionam como um vetor de elementos que servirão deparâmetro para os extratores de características;• AbstractExtractor - serve de base para acriação dos extratores de características. Padroniza aimplementação de um construtor, um método para fazer acomparação de duas imagens (compare), outro paracalcular o valor da característica (computeValue) etambém permite ao programador definir os parâmetrospara o extrator (setParameters);248


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.• SimilarityFunction - responsável porpermitir a combinação de diversos extratores para aobtençã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 determinadacaracterística (getValue), calcular a similaridade entredois vetores de características (computeSimilarity ecomputeStrictySimilarity) ou, ainda, retornar ovetor de características atual (getVector).Figura 2 – Diagrama de classes do esquema genéricopara o CBIR utilizadoPara a extração das características das imagensmamográficas, foram implementados seis extratores, asaber: (1) área (soma dos pixels da área pertencente àmama dividida pela quantidade total de pixels daimagem); (2) densidade (média dos valores dos pixels daimagem dividida pelo maior valor de cinza possível); (3)forma da mama (divisão da quantidade de pixels no eixo ypela quantidade de pixels no eixo x); (4) entropia (grau dedesordem dos pixels da imagem); (5) segundo momentoangular (nível de homogeneidade da imagem) e (6)contraste (variações locais das imagens).As características de entropia, segundo momentoangular (SMA) e contraste são características de texturaobtidas a partir da matriz de co-ocorrência que,corresponde à freqüência de um nível de cinza na imagemconsiderando uma distância em uma determinada direção[8][5].A posição p(i,j) indica a freqüência de ocorrência deum particular par de nível de cinza i e j, obtido a partir deuma distância e de um ângulo (direção) [8][5]. Porexemplo: 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.0 0 0 1 21 1 0 1 1 ⎡88 2⎤2 2 1 0 0 ⇒ ⎢ ⎥⎢8 6 2⎥1 1 0 2 0 ⎢⎣2 2 2⎥⎦1 0 1 0 0Figura 3 – Exemplo de imagem com três níveis decinza e sua respectiva matriz de co-ocorrência paradistância 1 e ângulo 0ºPara a normalização da matriz, cada posição é divididapela soma de todas as posições [5][8]. No exemplo daFigura 3, cada uma das posições da matriz seria divididapor 40, que é a soma de todas as posições.O problema encontrado para a implementação destamatriz é que ela é quadrada e de ordem igual ao númerode níveis de cinza da imagem. Como as imagens utilizadasneste trabalho foram adquiridas com 16 bits de resoluçãode contraste, torna-se inviável computacionalmente aconstrução da referida matriz com a dimensão ideal. Parasolucionar este problema foi encontrado o intervalo deníveis de cinza realmente utilizado nas imagens,constatando-se um máximo de 3600 níveis. Portanto, paraobter-se a referida matriz foi primeiramente subtraído dopixel atual o menor valor de pixel utilizado na imagem e,depois, o valor resultante foi dividido por 8 a fim de seobter uma matriz quadrada de ordem máxima igual a 450,solucionando-se, assim, o problema da dimensão damesma.As fórmulas utilizadas para a extração da<strong>sc</strong>aracterísticas de textura foram obtidas em [5] conformedemonstradas nas equações (1), (2) e (3), onde p(i,j)representa o elemento (i,j) normalizado e Ng é aquantidade de níveis de cinza da imagem.Entropia = −∑∑ p i,j)⋅log(p(i,j))ij( (1)∑∑SegundoMom entoAngular = p( i,j)²(2)Ng −1⎧Contraste = ∑n²⎨∑∑p(i,j),se | i − j | = n= ⎩⎭ ⎬⎫ (3)n 0 i jNa primeira consulta são calculados os valores de cadacaracterística <strong>sel</strong>ecionada de todas as imagens e estes sãoarmazenados no banco de dados. Para a fase derecuperação é criado um vetor de características para cadaimagem, bu<strong>sc</strong>ando-se no banco de dados os valore<strong>sc</strong>orrespondentes às características da referida imagem.Nesta etapa é utilizada uma função de similaridade quecompara o resultado do vetor da imagem de referênciacom as demais imagens do banco.Para a criação e comparação dos vetores foi utilizada aclasse CharVector, por meio dos método<strong>sc</strong>omputeSimilarity e computeStrictySimilarity,ij249


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.que retornam a distância Euclidiana entre os dois vetores,considerando todas as características. Os valoresretornados são armazenados em um vetor numérico, ondecada uma das posições representa a similaridade de umadas imagens com a imagem de referência. Após ordenareste vetor, é possível obter uma classificação das imagensmais similares, de acordo com as características<strong>sel</strong>ecionadas. Assim, recuperam-se as n imagens com amenor distância Euclidiana, ou seja, com a maiorsimilaridade, onde n é o número de imagens que se desejaretornar.conjunto, onde duas delas são da mama direita nas visõe<strong>sc</strong>rânio-caudal e médio-lateral, e outras duas da mamaesquerda em ambas visões. As outras 16 imagens foramobtidas executando-se uma alteração no <strong>br</strong>ilho dasimagens citadas. Para cada imagem foram criadas outrasquatro imagens alteradas sendo duas imagens mais claras(com aumento de 60 e 1000 níveis de cinza em cadapixel) e outras duas imagens mais e<strong>sc</strong>uras (comdiminuição de 60 e 1000 níveis de cinza em cada pixel). Afinalidade deste conjunto é permitir a verificação daeficiência das características em relação à variação do<strong>br</strong>ilho das imagens. A Figura 5 mostra um exemplo desteconjunto de imagens.ABC(a) (b) (c) (d) (e)Figura 5 – Exemplo de uma imagem do segundoconjunto 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 e<strong>sc</strong>ura com 60 níveis de cinza; (e)imagem mais e<strong>sc</strong>ura com 1000 níveis de cinza.Figura 4 – Exemplo da Interface do sistemaNa interface do sistema, ilustrada na Figura 4, ousuário pode <strong>sel</strong>ecionar quais características serãoutilizadas para a recuperação e também qual será aimagem de referência. Para isto foram criadas caixas de<strong>sel</strong>eção de cada uma das características do banco (parte Ada Figura 4), e uma lista com todas as imagens do bancopara a <strong>sel</strong>eção da imagem de referência. Quando aimagem é <strong>sel</strong>ecionada, sua visualização éautomaticamente disponibilizada abaixo da lista de<strong>sel</strong>eção (parte B da Figura 4). Também é permitido aousuário <strong>sel</strong>ecionar quantas imagens deseja recuperar.Quando <strong>sel</strong>ecionado o botão Procurar, é feita arecuperação das imagens mais similares à imagem deconsulta, considerando as características <strong>sel</strong>ecionadas(parte C da Figura 4).3) Conjunto com 16 imagens, contendo quatroimagens originais do primeiro conjunto e mais trêsvariações de cada imagem. Na primeira variação foicriado um artefato (de mesmo tamanho e cor) em umadeterminada posição da imagem. Na segunda variação foicriado outro artefato posicionado em locais diferentes dasimagens do conjunto, mas com o mesmo tamanho e cor.Por último foi criada um terceiro artefato inserida emposições diferenciadas nas imagens do conjunto,assumindo tamanhos diferentes em cada imagem, maspermanecendo com a mesma cor. Este conjunto foi criadocom o objetivo de verificar a eficiência das característicasem relação à recuperação de imagens com eventuaisachados mamográficos semelhantes (nódulos, porexemplo), sendo útil para o teste das características detextura. A Figura 6 mostra um exemplo deste conjunto deimagens.4. Resultados e Di<strong>sc</strong>ussõesPara os testes do sistema foram criados três conjuntosde imagens, a saber:1) Conjunto com 42 imagens fornecidas peloLAPIMO da EESC/<strong>USP</strong> provenientes de diversoshospitais. Este conjunto é composto por imagens de visãocrânio-caudal e médio-lateral de cada paciente.2) Conjunto com 20 imagens, sendo quatro imagensreais e da mesma paciente, provenientes do primeiro(a) (b) (c) (d)Figura 6 – Exemplo de uma imagem do terceiroconjunto com suas variações: (a) imagem original; (b)imagem com artefato; (c) imagem com artefato demesmo tamanho e cor e posicionamentodiferenciado; (d) imagem com uma mancha de mesmacor e tamanho e posicionamento variados.250


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.O sistema foi avaliado utilizando as curvas de precisãoe revocação, que foram calculadas para as consultas decada característica individualmente e alguma<strong>sc</strong>aracterísticas agrupadas. A partir da interface mostradana Figura 4, foram e<strong>sc</strong>olhidos aleatoriamente grupos decaracterísticas que pudessem obter resultados diferentes.Os testes para a avaliação do sistema foram criadosso<strong>br</strong>e o segundo e terceiro conjuntos. O primeiro conjuntofoi utilizado para avaliar inicialmente o retorno darecuperação a fim de verificar se os extratores estavamfuncionando de forma correta. No entanto, para aconstrução das curvas de precisão versus revocação nãohavia uma maneira de definir para este conjunto quaisimagens seriam relevantes para a consulta porsimilaridade. Os outros conjuntos possuíam quatroimagens provenientes originalmente do primeiro conjuntoe mais algumas imagens resultantes de variações nasquatro imagens iniciais. Foram consideradas relevantes asimagens referentes à imagem original com as variações decada conjunto, sendo esperadas a recuperação de 5imagens para o segundo conjunto (a original e suas 4variações) e 4 imagens para o terceiro conjunto (a originale as outras 3 respectivas variações).Na Tabela 1 estão relacionadas as características eagrupamentos de características, juntamente com seusrespectivos valores de precisão média para o segundo eterceiro conjuntos e revocação média para ambos o<strong>sc</strong>onjuntos.A partir dos dados apresentados na Tabela 1, concluiseque as características individuais que apresentaram ummelhor desempenho para os testes criados foram a “Área”e a “Forma”. As características agrupadas com melhordesempenho foram “Área + Forma” e “Densidade +Forma”.Também é possível analisar que os piores desempenhosentre as características individuais foram apresentadospelo “Contraste”, seguido do “SMA”. Os pioresdesempenhos das características agrupadas foramapresentados pela “Entropia + SMA” no segundoconjunto, e pela combinação “SMA + Contraste” noterceiro conjunto.Se os resultados obtidos neste sistema implementadoforem comparados aos resultados encontrados naliteratura é possível observar a obtenção de resultadosmais significativos neste trabalho. Em [1] foramimplementadas as características de forma e densidade,obtendo-se precisão média de 84,3% no presente trabalhocontra 35,67% no trabalho citado. Para a característicaforma, o presente trabalho obteve precisão de 97,5%contra 80,38% do trabalho anterior. Se considerarmos arecuperaçã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 de20,88% contra 76,64% e revocação de 23,02% contra de55,25%, ambos a favor do sistema aqui apresentado. Notrabalho citado a recuperação das imagens foi feitautilizando mapas de Kohonen e técnicas de correlaçãocruzada.Tabela 1 – Precisão e Revocação médias (emporcentagem %)Em [7] foram implementados atributos no domínio deRadon, atributo de medida de granulometria e atributo deforma. O atributo de forma é composto de medida de área,de razão de diâmetro e de solidez. Neste caso, só pode sercomparada a característica de forma do presente artigocom o da literatura, onde o da literatura apresenta 84,5%de precisão, considerando todas as característicasimplementadas pelo sistema e no presente artigo aprecisão de todas as características é de 76,64%. Como a<strong>sc</strong>aracterísticas implementadas são diferentes, nãopodemos chegar a uma conclusão efetiva quanto àcomparação dos dois sistemas.5. ConclusõesO objetivo deste trabalho foi a implementação de umsistema de recuperação de imagens baseada em conteúdopara a aplicação em um banco de imagens mamográficas,utilizado originalmente para apoiar o desenvolvimento eos testes de sistemas CAD. Para atingir este objetivo,primeiramente foi realizada uma revisão bibliográfica afim 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 similaridadeutilizados por estes sistemas.Os extratores implementados mostraram-sesatisfatórios para os testes realizados, apresentando bomdesempenho na recuperação, em relação à precisão dosresultados. Verificou-se que o tempo de processamento érelativamente alto na primeira vez em que a<strong>sc</strong>aracterísticas são calculadas. No entanto, este problemafoi resolvido utilizando-se o armazenamento em banco dedados. A dimensão das imagens contribui para a lentidão251


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.dos cálculos, pois o volume de dados a ser processadopelos extratores é grande.Os extratores das características área e densidadeforam os que apresentaram melhor desempenho quandoutilizados individualmente. Os extratores da<strong>sc</strong>aracterísticas de contraste e SMA foram os queapresentaram pior desempenho para os testes realizado<strong>sc</strong>om características individuais. Analisando a<strong>sc</strong>aracterísticas agrupadas, “Densidade+Forma” e“Área+Forma” foram os que apresentaram melhordesempenho e “Entropia+SMA” e “SMA+Contraste”apresentaram o pior desempenho.Além da recuperação de imagens mamográficas porconteúdo, contribuindo para construção de sistemas CADe utilização de imagens adequadas para fins didáticos, estetrabalho apresenta como contribuições adicionais: adisponibilização de um esquema genérico para CBIR quepode ser usado para implementar extratores e recuperaçãode imagens para objetos de qualquer natureza e a análisedas características implementadas especificamente pararecuperar imagens mamográficas.Apesar de implementar apenas uma função desimilaridade, considerada a mais simples (distânciaEuclidiana), a estrutura de classes implementada permiteutilizar várias funções de similaridade, assim como vária<strong>sc</strong>aracterísticas outras citadas na literatura. Desta forma, acontinuidade natural deste trabalho é a implementação etestes de novas características e novas funções desimilaridade.6. AgradecimentosÀ FAPESP– Fundação de Amparo à Pesquisa doEstado de São Paulo (processo nº. 2006/00463-7), peloapoio financeiro e ao LAPIMO (Laboratório deProcessamento de Imagens Médicas e Odontológicas(EESC/<strong>USP</strong>), 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çãode Imagens Baseada em Conteúdo Usando Mapas deKohonen e Técnicas de Correlação Cruzada”. In: IXCBIS, Congresso Brasileiro de Informática em Saúde,Ribeirão Preto, novem<strong>br</strong>o de 2004.[2] M. R. B. Araujo, C. Traina JR., A. Traina, e P. M. A.Marques, “Recuperação de Exames em Sistemas deInformação Hospitalar com Suporte a Bu<strong>sc</strong>a de ImagensBaseada em Conteúdo”. In: V<strong>III</strong> Congresso Brasileiro deInformática em Saúde - CBIS'2002, Natal - RN, de 29 desetem<strong>br</strong>o a 02 de outu<strong>br</strong>o de 2002.[3] J. M. Bueno, “Suporte à Recuperação de ImagensMédicas Baseada em Conteúdo através de HistogramasMétricos”. 2001. 148 f. Dissertação (Doutorado emCiência da Computação e Matemática Computacional) –Instituto de Ciências Matemáticas e Computação(ICMC), Universidade de São Paulo (<strong>USP</strong>), São Carlos,2001.[4] J. Dengler, S. Behrens, e J. F. Desaga, “Segmentationof microcalcifications in mammograms”. In: IEEETransactions 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 deCaracterísticas Baseadas em Textura para a Identificaçãode Anormalidades em Imagens de Colono<strong>sc</strong>opia”. In: XCongresso 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, “Umaproposta de Recuperação de Imagens MamográficasBaseada em Conteúdo”. In: IX Congresso Brasileiro deInformática em Saúde, 2004, Ribeirão Preto. Anais doCongresso 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çãoBaseada em Conteúdo de Imagens Mamográficas:Atributos Visuais de Forma, Espectrais no domínio deRadon e Granulometria”. In: IX Congresso Brasileiro deInformá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 deAtributos de Textura para Caracterização deMicrocalcificações Mamográficas”. Revista Brasileira deRadiologia, vol. 35, pp. 93-98, 2002.[9] Nunes, F. L. S.; Schiabel, H.; Goes, C. E. “Using freetechnology to store and retrieve mammographic imagesby Internet”. In: 5th International Workshop on ImageAnalysis, 2004, Lisboa, Proceedings of 5th InternationalWorkshop on Image Analysis, 2004.[10] Nunes, F. L. S.; Schiabel, H.; Oliveira JR, J. A.;Goes, C. E., Benatti, R. H. “Disponibilização de imagensmamográficas via Internet: uma forma de contribuir paraa integração regional de pesquisas em diagnósticoauxiliado por computador”. In: Anais do XXIVCongresso 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: ATutorial”. Revista de Informática Teórica e Aplicada, RioGrande do Sul, v. 11, p. 93-123, 2004.252


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Um algoritmo para eliminação de fundo em imagens de cultivo de sojaRodrigo SatoPrograma de Pós-Graduação em EngenhariaElétricaFaculdade de Engenharia deIlha Solteira – UniversidadeEstadual PaulistaNorian MarranghelloPrograma de Pós-Graduação em EngenhariaElétricaFaculdade de Engenharia deIlha Solteira – UniversidadeEstadual PaulistaAledir Silveira PereiraDepartamento de Ciências deComputação e EstatísticaInstituto de Biociências, Letrase Ciências Exatas –Universidade Estadual PaulistaResumoEste trabalho apresenta um algoritmo paraeliminação de fundo em imagens, voltado a tarefas deidentificação de plantas daninhas em cultivo de soja. Aprincipal característica deste trabalho é o emprego detécnicas de processamento de imagens, com a varredurada imagem realizada pixel a pixel. Os objetos resultantesna imagem são as folhas, seja de soja ou planta daninha.Foram concebidas versões de software com a criação dealgoritmos em MATLAB e linguagem C, para posteriorimplementação em linguagem VHDL (Very High SpeedIntegrated Circuit Hardware De<strong>sc</strong>ription Language)..Foram utilizadas rotinas em MATLAB para operar so<strong>br</strong>eimagens representadas como matrizes. Os algoritmosforam refinados até que produzissem um resultadosatisfatório. Estes algoritmos, após o refinamento, foramprogramados em linguagem C, momento no qualpuderam ser feitas modificações para suaimplementação em VHDL.1. IntroduçãoNa agricultura, a identificação de plantas daninhastorna-se uma tarefa bastante difícil, mas muitoimportante. O controle de plantas daninhas é uma práticade elevada importância para a obtenção de altosrendimentos em qualquer atividade [1].As plantas daninhas constituem grande problema paraa cultura da soja e por isso, a necessidade de controlá-lasé muito grande. Conforme a espécie, a densidade e adistribuição da invasora na lavoura, as perdas sãosignificativas. A planta daninha compete com a culturade soja pela luz solar, pela água e pelos nutrientes edependendo do nível de infestação e da espécie, podedificultar a colheita e comprometer a qualidade do grão[1].Um dos maiores custos na produção agrícola está naaplicação de agrotóxicos, que são recomendados parainfestações de pragas, doenças e plantas daninhas. Asaplicações de agrotóxicos, se não realizada<strong>sc</strong>orretamente, geram perdas econômicas para oagricultor além de causar sérios danos ao meioambiente. Na prática convencional agrícola ainda sãoaplicadas grandes quantidades de agrotóxicos, semdosagem muito correta.A agricultura de precisão, também chamada de A.P.,surgiu para resolver esse problema. A A.P. é umatécnica de gerenciamento agrícola cujo principalconceito é aplicar os insumos agrícolas no localcorreto, no momento adequado e nas quantidadesnecessárias, em áreas cada vez menores e maishomogêneas, tanto quanto a tecnologia e os custosenvolvidos o permitam [2].Alguns dos principais benefícios da aplicação dastécnicas de agricultura de precisão que podem sercitados 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 norendimento das culturas, entre outros [2].Para que se chegue ao objetivo esperado, aidentificação de plantas daninhas em determinada área,são utilizadas técnicas de processamento digital deimagens, aliadas às técnicas de inteligência artificial. Oprocessamento digital das imagens é responsável pelaextração de informações relevantes destas imagens,de<strong>sc</strong>artando o fundo da imagem e eliminando tudo oque não puder ser aproveitado para futuroprocessamento, enquanto que as técnicas deinteligência artificial são responsáveis pela detecçãodas plantas daninhas, distinguindo-a das folhas de soja.Existem vários trabalhos voltados para a área deagricultura de precisão. Dentre eles pode-se citar [3] e[4]. Em [3], PERNOMIAN relata o desenvolvimentode um identificador de plantas daninhas em tempo real253


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.utilizando redes neurais artificiais. Em [4], YANG.PRASHER, LANDRY, RAMASWAMY eDITOMMASO apresentam uma aplicação de redesneurais artificiais em reconhecimento e classificação deplantas daninhas. Pode-se citar também [5], onde DIASdesenvolve uma aplicação para a identificação da doençaFerrugem em áreas cultivadas com cana-de-açúcarutilizando-se redes neurais artificiais. Estes trabalhosforam desenvolvidos em software, mas nãoimplementados em hardware.Este trabalho tem por objetivo a criação de umalgoritmo para eliminação de fundo em imagens, voltadoa tarefas de identificação de plantas daninhas em cultivode soja, implementado em VHDL.2. MetodologiaO trabalho está subdividido em quatro etapas:aquisição, pré-processamento, segmentação das imagensdigitais, criação do software em linguagem C eimplementação em VHDL. As figuras 1 e 2 ilustram asetapas do trabalho.Ambiente(Cultivo deSoja)Figura 1. Diagrama de blocos da etapa deaquisição das imagensFiltro da MedianaPré-ProcessamentoCâmeraRemoção deCoresCriação do software em CImplementação em VHDLFigura 2. Diagrama de blocos da etapa do préprocessamento,segmentação, criação do softwareem C e Implementação em VHDL.3. Aquisição das imagens digitaisO primeiro passo foi a e<strong>sc</strong>olha do local do cultivo desoja a ser filmado. A propriedade e<strong>sc</strong>olhida estálocalizada em Frutal-MG.. A filmagem foi realizada como auxílio de uma câmera digital, da fa<strong>br</strong>icante Sony, acerca de 1,5 metros de altura e perpendicular ao solo.De posse de um filme de cerca de 5 minutos, a câmerafoi conectada ao computador a partir da porta Firewire(IEEE 1394), sem a necessidade do uso de placa decaptura de vídeo, pois a câmera utilizada apresenta saídaPCSegmentaçãoRemoção deRuídosdigital. Para a captura do vídeo a partir da portaFirewire foi utilizado o software de edição de vídeoSony Vegas.Foram obtidos três filmes no formato AVI (ÁudioVídeo Interleave), com resolução de 720x480 pixels. Aseguir, o programa AVI Constructor foi utilizado paradesmem<strong>br</strong>ar os arquivos AVI em uma série de arquivosde imagens digitais. Tal procedimento gerou inúmerasimagens no formato BMP (Bitmap) [7]. Das imagensobtidas, foram <strong>sel</strong>ecionadas as com melhor nitidez.4. Pré-Processamento das ImagensA partir deste ponto, de posse dos arquivos deimagens BMP na resolução 720x480 pixels, foiiniciada a etapa de pré-processamento e segmentaçãodas imagens. Primeiramente foi utilizado o softwareMATLAB v7.1 e seu Toolbox de processamento deimagens [8], para facilitar as simulações e testes, poisas transformações realizadas nas imagens podem serobservadas e simuladas mais facilmente. Os algoritmo<strong>sc</strong>riados no MATLAB foram refinados até queproduzissem um resultado satisfatório. Estes, após orefinamento, foram programados em linguagem C,onde foram realizadas modificações visando futuraimplementação em hardware. A linguagem C foiutilizada por ter uma estrutura muito parecida com alinguagem VHDL, tornando a transição para linguagemde hardware (VHDL) mais fácil.4.1 A primeira remoção de ruídos – filtro damedianaPara a retirada de ruídos da imagem original foide<strong>sc</strong>rito o filtro da mediana, amplamente conhecido naliteratura [6] [9]. Este filtro é utilizado comumente emedição de fotografias digitais para suavizar a imagem,eliminando sua granulação (ruído).O algoritmo de<strong>sc</strong>rito utiliza uma janela 3x3x3 corespara armazenar um pixel e seus vizinhos. A janela émovida através da imagem, pixel a pixel. Com janelasmaiores obtém-se uma maior suavização da imagem.Neste projeto foi utilizada uma janela 3x3, pois estetamanho de janela é suficiente para suavização dasbordas das folhas.O filtro da mediana não foi criado no MATLAB,uma vez que o software já provê esta função em seuToolbox (ferramentas) de processamento de imagens: afunção medfilt2(I,[3 3]) realiza o filtro da mediana naimagem I utilizando janela 3x3 [8].5. Segmentação das imagensApós a retirada de ruído, caminhou-se à etapa desegmentação da imagem, em que se diferenciam os254


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.componentes homogêneos da cena [6] - as folhas -diferenciando-as do fundo da imagem (background).Para isso foi de<strong>sc</strong>rito um algoritmo, o filtro de remoçãode cores, criado para a remoção das cores indesejadas daimagem. Este módulo consiste basicamente naverificação dos valores dos componentes primários decada pixel (R, G e B) e, se esses componentespertencerem a certos intervalos de valores, significa quesão irrelevantes, sendo então de<strong>sc</strong>artados, recebendovalor 255 (cor <strong>br</strong>anca) para todos os três componentes.Os intervalos foram definidos a partir de testes decali<strong>br</strong>ação no MATLAB [10], onde foram analisadosdiversos valores e combinações para os trê<strong>sc</strong>omponentes. O resultado do filtro de remoção de coresé apresentado na figura 3.(a)O último módulo do pré-processador foiimplementado com um novo algoritmo que utiliza umajanela 7x7 de vizinhança para definir se aquele pixeldeve ou não ser excluído. Tal algoritmo tem o objetivode eliminar os pontos (ruídos) que restaram após ofiltro de remoção de cores.O algoritmo percorre a imagem pixel a pixel. Paracada 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 decali<strong>br</strong>ação ficou definido com o valor 25, aquele pixelnão pertence a uma folha e é um ruído que deve sereliminado. Com isso, os componentes R, G e Brecebem o valor 255 (<strong>br</strong>anco). O valor “25” significaque se houver 25 ou mais pixels nulos (<strong>br</strong>anco) dentroda janela de vizinhança, o pixel em questão nãopertence a uma folha, passando então a ser nulo. Sehouver menos de 25 pixels nulos, aquele pontopertence a uma folha, não devendo ser eliminado. Otamanho da janela de vizinhança, assim como o valordo limiar foram definidos por cali<strong>br</strong>ações em testesiterativos no software MATLAB, de modo que haja amelhor retirada de ruídos sem comprometer a estruturadas folhas ao criar oclusões nas mesmas.Foram realizados testes com cerca de 30 imagens desoja. Nota-se que para cada cultivo de soja, énecessária a cali<strong>br</strong>ação de cores, pois as tonalidades deverde das folhas são diferentes para cada cultivo. Apósos testes, foram utilizadas cerca de 30 imagens, domesmo cultivo, para efeito de validação. Todas essas30 imagens apresentaram resultados esperados,semelhantes ao da figura 4.A figura 4 ilustra o resultado final ao se aplicar ofiltro de remoção de ruídos so<strong>br</strong>e a na figura 3(b),correspondendo ao resultado final do pré-processadorde imagens.(b)Figura 3. (a) Imagem original processada com ofiltro da mediana e (b) Imagem após a utilizaçãodo filtro de remoção de coresPode-se observar a partir da figura 3(b) que a imagemainda não está totalmente limpa. Houve a limpeza doconteúdo irrelevante proposto pelo algoritmo de remoçãode cores, mas não o suficiente para cumprimento doobjetivo. Ainda restam ruídos (pontos isolados) quedevem ser eliminados, pois apesar de serem verdes, nãosão componentes da folha. Utiliza-se então outroalgoritmo, o de redução de ruídos.5.1 A segunda remoção de ruídosFigura 4. Resultado final do pré-processamentoda imagem6. A criação do software em CApós a definição dos algoritmos e parâmetros em<strong>sc</strong>ripts MATLAB, procedeu-se à criação de um255


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.software em C com o auxílio do ambiente deprogramação Dev-C++, que utiliza o compilador GCC.Nesta fase foram utilizadas imagens no formato bitmap,coloridas, com 24 bits de intensidade por suasimplicidade em armazenar a imagem. Tais imagensdedicam seus primeiros 54 bytes ao cabeçalho e orestante à informação dos pixels; 24 bits por pixel, 8 bitspara cada componente RGB [11]. Esses dados sãoarmazenados pelo software em uma matriztridimensional cuja altura e largura correspondem àresolução da imagem e a profundidade aos elementosRGB. A partir de então é possível aplicar os filtros namatriz gerada, ao invés de tratar a informaçãounidimensional do arquivo.Tendo neste ponto uma estrutura da imagem idênticaà fornecida pelo MATLAB, em que a imagem érepresentada por um vetor tridimensional, tran<strong>sc</strong>revemoso código dos <strong>sc</strong>ripts diretamente, criando três funçõe<strong>sc</strong>orrespondentes a cada um dos filtros.Estando o software funcionando, realizaram-sealterações para manter o código em ANSI C puro, sem ouso de bibliotecas específicas, além de mudar osalgoritmos para o uso de vetor unidimensional já que, emgeral, vetores multidimensionais não são suportadospelas ferramentas de síntese [12]. Os vetorestridimensionais foram então reduzidos manualmente avetores unidimensionais.Dessa forma o código C pode ser tran<strong>sc</strong>rito para umade<strong>sc</strong>rição de hardware [13], neste caso, VHDL.7. A Implementação em VHDLA implementação em VHDL foi iniciada após acriação do software em linguagem C. Como explicadoanteriormente, o vetor tridimensional, cuja finalidade éarmazenar a imagem, foi transformado em um vetorunidimensional. Além disso, cada componente RGB foitratado separadamente, cada um com seu vetorunidimensional. Assim, por exemplo, uma imagemcolorida de 50x50 pixels será armazenada em trêsvetores unidimensionais com 2500 posições cada um.Foram implementadas em VHDL as etapas de préprocessamentoe segmentação, conforme pode serobservado na figura 2. A plataforma utilizada foi osoftware Quartus II v7.1, da Altera.Inicialmente, as etapas de pré-processamento esegmentação foram inclusas em um único bloco, com ocódigo dos três filtros (mediana,remoção de cores eremoção de ruídos) na mesma entidade (entity). Devidoa problemas na compilação optou-se pela divisão emblocos menores, interligados entre si. Estes problemasreferem-se à demora excessiva na etapa de Análise eSíntese, que consumiu todos os recursos de memória docomputador utilizado para a compilação (cerca de 1Gbde memória RAM), travando-o. O problema foiresolvido utilizando-se blocos de memória e filtrosseparados, mas interligados entre si. O diagrama deblocos simplificado pode ser observado a partir dafigura 5.Nota-se a existência de quatro blocos principais: trêsmódulos de memória RAM (Random Access Memory,um módulo filtro da mediana, um módulo filtro deremoção de cores e um módulo filtro de remoção deruídos. Há ainda o módulo controlador, que irá recebere enviar sinais de controle, habilitando e desabilitandoos módulos e os dispositivos tri-state. Este módulo,bem como os dispositivos tri-state foram omitidos dafigura para maior simplificação. Cada um dos blocosserá detalhado abaixo.Entrada de dados / endereçosMemória“R”Fluxo de dadosFluxo de dadosMemória“G”FiltroMedianaFiltroremoção decoresFiltroremoção deruídosMemória“B”Fluxo de dadosFigura 5 – Diagrama de Blocos simplificadoA memória RAM tem como função armazenar aimagem. 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, quecorrespondem ao valor de cada pixel e sinais decontrole, write enable e clock. Os barramentos deentrada e saída são de 8 bits pois representam o<strong>sc</strong>omponente R, G ou B. Cada componente podeassumir valores de 0 a 255.Como se trata de imagens coloridas, sistema RGB,foram utilizados três módulos de memória, cada umarmazenando um componente R, G ou B. O módulo dememória pode ser observado a partir da figura 6.Figura 6. Módulo de memória256


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.O módulo filtro da mediana, cuja função foi de<strong>sc</strong>ritaanteriormente, apresenta como saídas um barramento deendereços, para acesso à posição de memória, trêsbarramentos, de 8 bits que irão conter o resultado daaplicação do filtro da mediana e sinais de controle,gera_pos e wr. Na entrada, o módulo apresenta trêsbarramentos de entrada de dados (pixels), um barramentode endereço e sinais de controle enable e clock. Omódulo filtro da mediana pode ser observado a partir dafigura 7.que o módulo é composto pelos sinais de entradaenable, reset e clock, e também ot0, ot1, ot2 e ot3 quereceberão sinais da memória e dos módulos dos filtros.Na saída, há os sinais EF1, EF2 e EF3 (enable dosfiltros), rw (leitura e e<strong>sc</strong>rita na memória), CEM (bufferde entrada), CSM (buffer de saída) e CE (controladorde endereços)Figura 9. Módulo controladorFigura 7. Módulo filtro da medianaOs módulos filtro de remoção de cores e filtro deremoção de ruídos seguem o mesmo padrão do módulofiltro da mediana, pois têm a mesma função demanipulação dos dados (pixels) da memória. Os módulosfiltro de remoção de cores e filtro de remoção de ruídospodem ser observados a partir da figura 8 (a) e (b)respectivamente.O fluxo de dados dar-se-á da seguinte maneira: aimagem é armazenada nas memórias, onde cadamemória armazena um componente do sistema RGB.Após a imagem ser armazenada, iniciam-se os módulosdos filtros, na seguinte ordem: filtro da mediana, filtrode remoção cores e filtro de remoção de ruídos. Cadafiltro trata a imagem inteira, pixel a pixel, conformeseus algoritmos individuais, realizando operações deleitura e e<strong>sc</strong>rita nas memórias. O próximo filtro iráiniciar somente após o término do filtro anterior. Apóso filtro de remoção de ruídos, o conteúdo da memóriaserá a imagem transformada, sem o fundo e somentecom as folhas.8. Conclusões(a)(b)Figura 8. (a) Módulo filtro de remoção de cores e(b) Módulo filtro de remoção de ruídosO módulo controlador é composto por sinais deentrada e saída que comandarão todos os módulos dopré-processador. Pode-se observar, a partir da figura 9,Neste artigo foi apresentado um métododesenvolvido para eliminação de fundo em imagens,voltado para tarefas de identificação de plantasdaninhas em cultivo de soja.Os algoritmos foram inicialmente de<strong>sc</strong>ritos emMATLAB, exceto o da Mediana, para facilitar asimulação e os testes interativos. Posteriormente àdefinição dos algoritmos, procedeu-se a conversão àlinguagem C. As imagens obtidas em ambos osambientes foram praticamente iguais, apresentandoresultados finais satisfatórios.Observa-se que os testes iterativos são de sumaimportância, pois a partir deles são obtidos os valoresideais para a remoção das cores e ruídosinconvenientes. Se esses valores não forem e<strong>sc</strong>olhidosadequadamente, pode haver o comprometimento daestrutura das folhas, ao serem criadas oclusões nasmesmas.Após os testes iterativos e a conversão à linguagemC, os filtros foram de<strong>sc</strong>ritos em VHDL. Cada bloco foisimulado individualmente, com resultados esperados.257


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Logo após os blocos foram unidos e simulados como umbloco só.Foram realizados testes com cerca de 30 imagens desoja. Para cada cultivo de soja, é necessária a cali<strong>br</strong>açãode cores, pois as tonalidades de verde das folhas podemser 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 deverde sejam diferentes.O desempenho do algoritmo pode ser melhorado seum cali<strong>br</strong>ador de cores puder ser gerado; assim, a<strong>sc</strong>ondições climáticas e o horário da filmagem nãoinfluenciariam muito nos resultados.Observa-se também que as condições de captura daimagem são extremamente importantes para odesempenho das etapas de pré-processamento esegmentação. Deste modo, um melhor sistema decaptura, com o mínimo de o<strong>sc</strong>ilações e com iluminaçãoadequada (sem a presença de som<strong>br</strong>as) deve serdesenvolvido para obtenção de melhores imagens.[11] GREEN, B. Raster Data Tutorial (24-Bit). Disponívelem:.Acesso em: Outu<strong>br</strong>o 2006.[12] UNIVERSITY OF CALIFORNIA - CECS. Feature listand restrictions on input C for SPARK. Disponível em:. Acesso em: Outu<strong>br</strong>o 2006.[13] D’AMORE, R.; De<strong>sc</strong>rição e síntese de CircuitosDigitais. LTC Editora, 2005.[14] ALTERA INC. Disponível em:.9. Referências[1] EMBRAPA. Tecnologias de Produção de Soja. Brasil,2000. Disponível em: .[2] TSCHIEDEL, M; FERREIRA, M. F. Introduction thePrecision Farming: Concepts and Advantages. CiênciaRural, vol.32, no.1, p.159-163, Santa Maria, Brazil, 2002.[3] PERNOMIAN, V. A. Identificação de plantas invasoras emtempo real. Dissertação de Mestrado – ICMC, <strong>USP</strong>. SãoCarlos, 2002.[4] YANG, C.C.; PRASHER, S.O.; LANDRY, J.A.;RAMASWAMY, H.S.; DITOMMASO, A. Application ofartificial neural networks in image recognition andclassification of crops and weeds. Canadian AgriculturalEngineering. 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 deMestrado – ICMC, <strong>USP</strong>. São Carlos, 2004.[6] GONZALEZ, R. C.; WOODS, R. E. Digital ImageProcessing. 2nd.ed. Addison-Wesley Publishing Company,New Jersey, 2002.[7] RIBEIRO, F. F. S.; LIMA, A. C. C. Detecção de volume detráfego de veículos proporcionada por visãocomputacional via redes neurais. Proceedings of the IVBrazilian Conference on Neural Networks. São José dosCampos, SP, Brazil. 1999.[8] THE MATHWORKS. MatLab Help Desk. Disponível em:. Acesso em: Junho 2006.[9] FILHO, O. M.; NETO, H. V. Processamento digital deimagens, Brasport, 1999.[10] SANDBERG, K. Introduction to image processing inMatlab. University of Colorado. Disponível em:. Acessoem: Junho 2006.258


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Processamento de Imagem Distribuído e Orientado a Serviço usando JAVAFrank José Affonso 1,2 , Evandro Luis Linhari Rodrigues 21-Centro Universitário Central Paulista (UNICEP)2-E<strong>sc</strong>ola de Engenharia de São Carlos (EESC-<strong>USP</strong>)(frank@unicep.com.<strong>br</strong> / faffonso@<strong>sel</strong>.<strong>ee<strong>sc</strong></strong>.<strong>usp</strong>.<strong>br</strong>) (evandro@<strong>sel</strong>.<strong>ee<strong>sc</strong></strong>.<strong>usp</strong>.<strong>br</strong>)AbstractThis paper presents a methodology of distributedimage processing that has the main objective to optimizethe resource of machine available into network. Tooptimize the machine time to processing of image isintroduced the concept of service orientation, which isresponsible to find the available machine into network tohelp decrease the time of image processing.With the service oriented processing is possible the imageprocessing to become dynamic, because depending of thealgorithm or technique that is intended to apply, it isnecessary the high number of machine to have asatisfactory processing time. To have a dynamic processwere utilized two technologies, JINI and JavaSpace,which are complementary and work together to becomethe distributed processing more dynamic than traditionaltechnology can offer actually.1. IntroduçãoA atividade de processar uma imagem requer, emalguns casos, alto poder de processamento de máquina.Em algumas aplicações pode-se observar um ou mai<strong>sc</strong>omputador(es) dedicado(s) para realizar esta atividade.O volume de processamento pode ser determinado emfunção dos algoritmos (cálculos) que se pretende realizare, nota-se também, em determinados casos, oprocessamento é subutilizado e em outros se tornainsuficiente. Para aperfeiçoar a relação investimentoversus processamento, apresenta-se neste artigo umametodologia para processamento distribuído de imagens eorientado a serviços, cujo principal enfoque é otimizar oprocessamento em função dos recursos computacionais.Este artigo está organizado da seguinte maneira: naseção 2 são apresentados os trabalhos relacionados aodesenvolvimento deste; na seção 3 são apresentados ossistemas, local e orientado a serviços, de processamentode imagens com filtros e na seção 4 são apresentadas a<strong>sc</strong>onclusões finais.2. Trabalhos RelacionadosA linguagem de programação JAVA [2] é consideradauma das mais poderosas e mais a<strong>br</strong>angentes das existentesatualmente no mercado [1]. Ela pode ser caracterizadacomo uma linguagem orientada a objetos, robusta,interoperável, portável, multiplataforma e utilizada emvários ambientes de implementação computacional,devido à grande quantidade de APIs (ApplicationProgram Interface) existentes. Essas característicaslevaram a Sun [3] investir num slogan que marcou alinguagem JAVA “compile uma vez e rode em qualquerlugar”. Neste artigo são abordadas APIs paraManipulação de Imagens (Image I/O) [4], paradesenvolvimento de aplicações desktop (SwingJFC) [5] epara distribuição da aplicação na rede (RMI, JINI,JavaSpace) [6, 7 e 8].A API Java Image I/O [4] oferece recursos paramanipulação de imagens tanto em 2D quanto em 3D, paraintegração com aplicativos Swing [5] e para Web, paraaplicativos que envolvem recursos OpenGL [4]. Apesarde oferecer suporte a grande quantidade de recursos,optou-se neste trabalho pela utilização de processamentode imagens em 2D com a aplicação de filtros, que sãooperações matemáticas capazes de realizar as mudançasnas imagens originais. Os detalhes da e<strong>sc</strong>olha deste tipode imagem e filtros que serão aplicados serão detalhadosna seção 3.Para realizar o processamento de imagens com aaplicação de filtros foi desenvolvido um software deexecução local, também conhecido como aplicativodesktop. Esse software foi desenvolvido na ferramentaNetbeans [9] versão 5.5 pela integração direta com o<strong>sc</strong>omponentes gráficos SwingsJFC [5] e pela facilidade dedesenvolvimento.Para implementação da computação distribuídadestaca-se a RMI, Remote Method Invocation, quepermite que objetos JAVA [2], presentes no mesmocomputador ou em um ambiente distribuído, secomuniquem entre si por meio de chamadas remotas aosmétodos que implementam [10]. A RMI oferece atransferência de objetos complexos, tipos de dado<strong>sc</strong>omplexos, através de um mecanismo de serialização,cujo propósito principal é viabilizar a comunicação entreos objetos remotos, codificando-os como um fluxo debytes. Para isso, duas classes são fundamentais: aObjectOutputStream, que converte qualquer objeto“Serializable” em fluxo de bytes para transmissãona rede; e a ObjectInputStream, que reconstitui os259


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.bytes em objetos [6 e 10].A tecnologia de distribuição JINI permite a integraçãode serviços em um ambiente restrito, como uma redelocal, ou amplo, como a Internet. Para permitir o acessoàs funcionalidades por aplicações distintas, necessita-seque os serviços compartilhados possuam interfaces deEntrada/Saída bem definidas, pois podem, clientes eservidores, estar presentes em ambientes de execuçãoheterogêneos, com diferentes protocolos de rede, sistemasoperacionais, plataformas de hardware, entre outros [11].So<strong>br</strong>e os mecanismos de distribuição, a arquiteturaJINI tem como base a RMI. Os clientes de<strong>sc</strong>o<strong>br</strong>em osserviços dinamicamente e fazem download das classesnecessárias para utilização do serviço e depois fazem autilização dos mesmos. Esse mecanismo de comunicaçãopode ter funcionamento semelhante ao plug-and-play,pois a aplicação que solicita um serviço não instalaqualquer 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 econtribui para o desenvolvimento de aplicaçõesdistribuídas viabilizando a comunicação entre objetos, ocompartilhamento de objetos na rede e a coordenação detarefas em áreas de memória compartilhadas. Seu objetivoprincipal é controlar áreas de memória e<strong>sc</strong>revendo,entregando e lendo dados de maneira isolada, por apenasum objeto, ou transacional, por um conjunto de objetos [8e 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 deimagens utilizando clusters. Os autores apresentam umsistema de recuperação de imagens por conteúdo, em queé fornecido ao sistema um conjunto de atributos quequalificam e quantificam determinadas características dasimagens. Ao realizar o processamento de pesquisa, essasinformações são encaminhadas a um cluster deprocessamento que executa a pesquisa e devolve oresultado para o diagnóstico. Esse tipo de sistema requeruma estrutura computacional pré-configurada pararealização das operações, com isso, elevando o custo daimplementação.3. Processamento de Imagens Local eOrientado a ServiçosEsta seção apresenta, de maneira detalhada, ade<strong>sc</strong>rição dos sistemas de processamento de imagens.Inicialmente é de<strong>sc</strong>rito o sistema local para aplicação defiltros e, posteriormente, a distribuição desse sistema emum processamento distribuído e orientado a serviços.Para o desenvolvimento de ambos os sistemas,diagramas da UML foram confeccionados, poisrepresentam graficamente a troca de mensagens entre osobjetos. As Figuras 1(a) e (b) mostram, respectivamente,a modelagem do sistema e sua implementação. A classeJava2DMain representa o programa principal, ou seja,ela é invocada pela JVM, Java Virtual Machine, e produzo programa visualizado na Figura 1 (b).(b)(a)Figura 1 - Diagrama UML e Sistema de Processamento de Imagem (Aplicação de Filtros Simples)260


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.A modelagem e implementação deste software seguemo padrão de projeto MVC [14], Model View Control. Aclasse Java2DMain representa a lógica do sistema, ouseja, o programa principal, pois executa chamada para asdemais classes do sistema. A classe ImagePanelViewrepresenta a visão do sistema, a qual contém ocomponente responsável por exibir imagem original e a<strong>sc</strong>orrespondentes alterações aplicadas pelos filtros. A<strong>sc</strong>lasses SharpenFilter, InvertFilter,ColorFilter e BlurFilter implementam ainterface Java2DImageFilter, ou seja, assinam umcontrato que devem implementar o métodoprocessImage(). Em cada uma das classes existeuma implementação (filtro) para este método. So<strong>br</strong>e seufuncionamento pode-se dizer que recebe uma imagempresente na visão do usuário (ImagePanelView),realiza o processamento aplicando so<strong>br</strong>e ela o filtro queimplementa e devolve para ser exibida novamente. AFigura 2 mostra a imagem original e a aplicação de todosos filtros que este programa implementa.Imagem OriginalFiltro: Inverte CoresFiltro: EnfatizaFiltro: ManchaFiltro: Altera CoresFigura 2 - Filtros aplicados na imagemO sistema apresentado para processamento de imagemcom a aplicação de filtros trata-se de uma aplicaçãoexemplo para simular o processamento distribuído eorientado a serviço. O sistema proposto é uma aplicaçãostand-alone que executa de maneira síncrona consumindotodo tempo de máquina possível até o fim da realizaçãoda aplicação do filtro.Quanto ao tipo de processamento pode-se dizer queexige equipamentos dedicados, que pode ser apenas umaunidade de processamento (microcomputador) ou várias(cluster de microcomputadores). Em ambos os casosexistem paradoxos a serem tratados, tais como: Uma unidade de processamento: requerbaixo investimento, mas pode ser insuficientedependendo to tipo de processamento que sepretende realizar, acarretando em alto tipo deprocessamento; Várias unidades (cluster): requer maiorinvestimento em equipamentos, tende aapresentar maior poder processamento,261


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.conseqüentemente otimização de tempo. Noentanto, em alguns casos a implementaçãopode ser subutilizada, ou seja, podeocasionar ociosidade de processamento.Em ambos os casos existem problemas quanto àotimização de processamento. A solução ideal é a umaunidade de processamento reconfigurável capaz de incluirou excluir processamento de máquina conforme anecessidade da aplicação.Para viabilizar essa estrutura, um sistema distribuído eorientado a serviços foi desenvolvido. Sua estruturatambém está relacionada a uma rede de computadoreslocal ou distribuída, porém sem a dedicação exclusiva. Aconstituição de todos os nós de processamento écentralizada na unidade principal de processamento,encarregada de reconhecer e encaminhar/receber oprocessamento/processado.No sistema atual, a unidade principal deprocessamento possui N nós. Para aplicar um filtro a umadeterminada imagem o usuário informa o nome doarquivo (imagem a ser processada) o número M de nós(sendo M


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.processado. A Figura 4 mostra a composição de URL egerenciador de transações.private JavaSpace space;... Nome do microcomputador na rede//Trecho que define a URLString url = "jini://" + hostname;JavaSpaceFinder finder =new JavaSpaceFinder(url);space = finder.getJavaSpace();// Trecho que define o Gerenciador detransação.TransactionManagerFinder findTransaction= new TransactionManagerFinder(url);manager =findTransaction.getTransactionManager();...Figura 4 - Trecho de código para definição da URL edo Gerenciador de Transação JINI/JavaSpaceConforme apresentado nesta seção, o usuário aorealizar o processamento da imagem, faz a e<strong>sc</strong>olha dequantos nós serão utilizados. Isso torna o processamentoestá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 utilizarum recurso adicional para o dimensionamento dotamanho da imagem quanto ao processamento a serrealizado, que corresponde a um detector do tamanho doarquivo.Na fase inicial o usuário pode optar por uma sugestãodo sistema quanto ao tempo de processamento e os nósnecessários para melhor otimização. Para oferecer essasugestão o sistema avalia as entradas fornecidas pelousuário e compara com uma base de informaçõesheurísticas. Estas são medições realizadas anteriormente eestabelecidas como estimativas para os processamentosfuturos.4. ConclusõesEste artigo mostra uma metodologia para oprocessamento de imagens realizado de maneira standalone,distribuído em cluster e distribuído orientado aserviço. Em todos os casos existe uma relação de custofinanceiro na estrutura de processamento e no tempo parasua realização. Destaca-se na terceira opção a otimizaçãoque pode ser realizada em relação ao que deve serprocessado. As tecnologias JINI e JavaSpace permitem odesenvolvimento de unidades de processamentoconfiguráveis e dinâmicas em tempo de execução.O processamento dinâmico abordado neste artigominimiza problemas de subutilização de recursos ouelevados tempos de processamento. Além disso, o usuáriopode utilizar um apoio computacional que dimensione onúmero de nós necessários para que uma imagem sejaprocessada em um determinado tempo.O software desenvolvido permite que sejam aplicadosfiltros para exemplificar o processamento de imagem demaneira local e distribuída. O objetivo deste comparativonão é abordar o processamento realizado e sim enfatizar adistribuição que pode ser realizada e os aspectosdinâmicos abordados. No entanto, a estrutura distribuídaapresenta melhor otimização à medida que acomplexidade de processamento aumenta, pois apesar dehaver divisão e reconstituição de tarefas para realizaçãodo processamento de imagens o resultado final tende a sermais otimizado se comparado ao stand-alone.Como atividade futura para continuidade destetrabalho pretende-se realizar a otimização de distribuição,pois determinados tipos de imagem podem passar por umprocesso de compactação e ter seu tempo de transmissãopela rede reduzido significativamente. Para isso, devemser realizados vários testes para avaliar seu desempenho eformar um conjunto de medidas que servirão dereferê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 oJAVASE. Disponível em: . Acessado em: 01 de ago. <strong>2007</strong>;[3] SUN. Site oficial da sun microsystem. Disponível em:< http://java.sun.com>. Acessado em: 01 de ago. <strong>2007</strong>;[4] SUN-JAVA. Site oficial da sun microsystem paraImage I/O. Disponível em: .Acessado em:01 de ago. <strong>2007</strong>;[5] SUN-JAVA. Site oficial da sun microsystem paraSwing JFC. Disponível em: . Acessadoem: 01 de ago. <strong>2007</strong>;[6] SUN-JAVA. Site oficial da sun microsystem paraRMI. Disponível em: . Acessado em: 01de ago. <strong>2007</strong>;263


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.[7] SUN-JAVA. Site oficial da sun microsystem paraJINI. Disponível em: . Acessado em: 01 de ago. <strong>2007</strong>;[8] E. Freeman, S. Hupfer, K. Arnold, “JavaSpacePrinciples, Patterns, and Practice”, Ed. Addilson WesleyISBN: 0-201-30955-6, 1999;[9] NETBEANS, Site oficial do netbeans. Disponível em:. Acessado em: 02 de ago.<strong>2007</strong>;[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 architecturefor content-based image retrieval in medicalapplications," in Proceedings of the 2nd InternationalWorkshop on Pattern Recognition in InformationSystems, pp. 299--314, 2002;[13] Mark O. Güld, Christian Thies, Benedikt Fi<strong>sc</strong>her,Daniel Keysers, Berthold B. Wein, Thomas M. Lehmann.“A Platform for Distributed Image Processing and ImageRetrieval”, Department of Medical Informatics, 2003;[14] E. Freeman, E. Freeman, K. Sierra, B. Bates. HeadFirst Design Patterns. Ed. O’Relley, ISBN:0-596-00712-4, páginas 500 – 561;264


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Aplicação de Redes Neurais para Visualização de Relevos Naturais em formade Composições Musicais Utilizando Compassos como PrimitivasDébora Cristina Corrêa 1 , José Hiroki Saito 1 , Mário Alexandre Gazziro 21 Universidade Federal de São Carlos – Departamento de Computação – Grupo de Arquitetura eProcessamento de Imagens e Sinais (GAPIS){debora_correa, saito}@dc.uf<strong>sc</strong>ar.<strong>br</strong>2 Universidade de São Paulo – Instituto de Física – Dipteralab-IFSC-<strong>USP</strong>gazziro@ursa.if<strong>sc</strong>.<strong>usp</strong>.<strong>br</strong>AbstractThis paper de<strong>sc</strong>ribes a neural network application forland<strong>sc</strong>apes contour visualization as musical composition.During the training phase, the neural network learn<strong>sc</strong>ertain aspects of musical structure by means of measureexamples taken from melodies of the training set. Thechosen melodies for training are folk melodies, once theyare simple and monophonic. During composition, thesystem uses the measures learned to compose newmelodies using as input the extracted data of theland<strong>sc</strong>apes contour.ResumoEsse artigo de<strong>sc</strong>reve uma aplicação de redes neuraispara visualização de relevos naturais como composiçõesmusicais. Durante a fase de treinamento, a rede neuralaprende certos aspectos da estrutura musical através deexemplos de compassos extraídos de melodias doconjunto de treinamento. As melodias e<strong>sc</strong>olhidas para otreinamento são melodias folclóricas, por serem simplese monofônicas. Durante a composição, o sistema utiliza orepertório de compassos usados no treinamento paracompor novas melodias, usando como entrada dadosextraídos de relevos naturais.1. IntroduçãoA visualização de uma imagem como composiçãomusical, bem como a visualização da música num espaço3D tem sido objeto de pesquisas nos últimos anos. MartinQuinn [9] de<strong>sc</strong>reve a geração de componentes musicaisna sonificação de dados que representam 110.000 anos dehistória climática terrestre. Os arquivos de dados doCentro de Pesquisas em Mudanças Climáticas daUniversidade de New Hampshire interagem eminteressantes formas, para a composição de umaapresentação musical de 5 minutos. Smith e Williams [11]de<strong>sc</strong>revem um método alternativo para a visualização damúsica, fazendo uso de espaço tridimensional e cores,como forma de substituição de notação musicalconvencional. Taylor, Bonlonger e Torres [10]apresentam um sistema de visualização que permiteextrair dados musicais em tempo real para suarepresentação num ambiente virtual imersivo.A computação musical, incluindo reprodução egeração, tem atraído pesquisadores há muito tempo.Interesses em composição musical por computadores,especificamente, datam das décadas de 50, quando a<strong>sc</strong>adeias de Markov foram utilizadas para gerar melodias[5]. Uma vez que estudantes geralmente aprendem acompor através de exemplos, as abordagens iniciais forammotivadas pela bu<strong>sc</strong>a de padrões existentes nas melodias.Mais recentemente, as redes neurais artificiais (RNAs)passaram a ser desenvolvidas como modelos paraaprender processos musicais.As RNAs, também conhecidas como sistema<strong>sc</strong>onexionistas, constituem uma forma de computação nãoalgorítmicainspirada na estrutura e processamento docére<strong>br</strong>o humano. A computação é realizada por váriasunidades de processamento simples, os neurônios,conectados em rede e atuando em conjunto. As RNAspassam por um processo de aprendizagem que consisteem receber um conjunto de treinamento pelo qual ocorrea extração de características necessárias para representar asolução desejada [1]. Nesse procedimento, as redesneurais artificiais adaptam suas interconexões até que ospadrões de excitação desejados estejam próximos docomportamento desejado [1] [6].Para a composição musical, os sistemas conexionistas,assim como os outros sistemas que envolvem aprendizadode máquina, são capazes de aprender padrões ecaracterísticas presentes nas melodias do conjunto detreinamento e obter generalizações dessas característicaspara a composição de novas melodias [2] [3] [4] [8] [12].O presente trabalho consiste no uso de RNAs para oaprendizado de compassos de melodias, usando comoentradas, dados extraídos de relevos naturais, e comosaídas as amostras de compassos de melodias. Para acomposição, os mesmos ou novos dados de relevos sãoapresentados à rede para a geração de novas melodias que265


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.representam uma forma de visualização de um ambientegeográfico.O artigo está organizado como segue: a seção 2consiste na de<strong>sc</strong>rição do projeto proposto; a seção 3consiste nos resultados obtidos e a seção 4 consiste naconclusão do trabalho.2. De<strong>sc</strong>rição do TrabalhoAlém do conhecimento musical, emoções e intenções,o compositor geralmente conta com uma inspiração parao desenvolvimento de uma nova melodia. Este trabalho,em fase de desenvolvimento, propõe adicionar aoprocesso de composição uma forma de inspiração,proveniente da Natureza. Propõe-se que as nova<strong>sc</strong>omposições sejam inspiradas na Natureza através dautilização das ondulações dos acidentes geográficosdurante a fase de treinamento e composição. Essa<strong>sc</strong>omposições são então formas de visualização dessesambientes naturais. Na fase de treinamento, a rede neuraldeve aprender os compassos de melodias e<strong>sc</strong>olhidos pelousuário e, na fase de composição, deve ser capaz de gerarnovas melodias com base nos compassos previamentetreinados.O trabalho considera, em princípio, que um compassoconsiste numa primitiva melódica que possui condiçõesde se encadear com outros compassos para a formação deuma melodia. Para isso, a restrição no treinamento seria ae<strong>sc</strong>olha dos compassos de um mesmo estilo musical.Na implementação preliminar relativa ao presentetrabalho, as notas musicais são representadas por suasalturas e durações. As notações rítmicas estão limitadasem colcheia (), semínima ( ), mínima ( ) e semi<strong>br</strong>eve( ). As pausas não são usadas. Os compassos sãorepresentados pelas notas e pelos seus atributos deduração e podem ser formados de modo que possuamquatro ou oito tempos cada. Para compassos com quatrotempos, a semínima é a unidade de tempo, e a mínima e asemi<strong>br</strong>eve valem dois e quatro tempos, respectivamente.Para compassos com oito tempos, a colcheia é a unidadede tempo, e a semínima e a mínima valem dois e quatrostempos, respectivamente.As alturas das notas são representadas pelacombinação de números inteiros e intervalos musicais. Acada nota é atribuído um número inteiro (Figura 1).Cada intervalo determina uma distância de freqüênciade uma nota para a outra, em semitons (utilizado nessetrabalho) ou em freqüências logarítmicas. Mesmo comum número fixo de neurônios, vários intervalos de notaspodem ser atingidos com essa representação. Além disso,essa representação é menos dependente de umadeterminada tonalidade e pode de<strong>sc</strong>o<strong>br</strong>ir estrutura<strong>sc</strong>omuns entre melodias [7] [12].O intervalo entre duas notas s e t pode ser determinadopela equação 1:int( st)t s(1)em que s e t são os valores inteiros que representam asnotas musicais.Figura 1. Representação das notasmusicais por valores inteirosA duração das notas musicais é representada por 1 e 0,que indicam quando uma nova nota começa ou quandoela é a continuação em tempo da anterior,respectivamente. Dessa forma é possível distinguir, porexemplo, 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, ouainda duas notas A, a primeira com três tempos e a últimacom um tempo, entre outras possibilidades. Comoexemplo, considera-se a Figura 2 (a), que representa umexemplo de compasso de quatro tempos extraído damúsica “Marcha Soldado” [14], e a Figura 2 (b) queilustra a representação desse compasso na rede, em que osneurônios (yi) representam os neurônios de saída.(a)y1 y2 y3 y4 y5 y6 y7 y87 7 7 4 1 0 1 1(b)Figura 2: Representação do<strong>sc</strong>ompassos na redeOs dados que representam os padrões de entrada (queconstituem a inspiração da rede) são codificados a partirdo contorno de ondulações geográficas de imagenspreviamente <strong>sel</strong>ecionadas. A Figura 3 apresenta umexemplo dessa codificação.266


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Tanto os padrões das ondulações geográficas quantoos compassos de treinamento são iguais nos doisexperimentos e o algoritmo de aprendizado utilizado é oback-propagation padrão [6].A Figura 4 ilustra 11 compassos utilizados notreinamento, ordenados aleatoriamente.(a)Figura 4. Compassos utilizados notreinamento(b)Figura 3. Representação da entrada daredeO modelo de rede neural utilizado nosexperimentos (mostrado na Figura 5) contém entradasrecorrentes (xi), que recebem os valores dos neurônios desaída, e entradas não recorrentes (ii), para os dados dasondulações geográficas. A rede contém uma camadae<strong>sc</strong>ondida (representada pelos neurônios zi) e umacamada de saída (neurônios yi), que representam o<strong>sc</strong>ompassos de treinamento.O contorno das ondulações é extraído de uma imagem(Figura 3 (a)) e convertido para valores numéricosinteiros como mostra o gráfico da Figura 3 (b).3. ResultadosNos exemplos de aplicação abaixo di<strong>sc</strong>utidos, a redeneural foi treinada com compassos extraídos de músicasfolclóricas <strong>br</strong>asileiras, como “Mulher Rendeira”, “OBoida Cara Preta”, “Samba Lêlê”, “Peixe Vivo”, entreoutras [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ídadesejada} os pesos são ajustados. Os neurônios dacamada e<strong>sc</strong>ondida e os neurônios de saída querepresentam o atributo de duração das notas usam funçõesde ativação sigmóide, enquanto que os neurônios de saídaque representam as notas usam funções lineares.Foram realizados dois experimentos que sediferenciam principalmente pela maneira pela qual a redeé treinada e utilizada para compor novas melodias.No primeiro experimento a inspiração é utilizadadesde o treinamento da rede e, no segundo, somente nafase de composição.Figura 5: Arquitetura da Rede3.1 Primeiro experimentoNesse primeiro experimento, foi utilizada uma rederecorrente, fortemente conectada, com 8 entradasrecorrentes que representam os compassos de treinamento(4 notas e 4 atributos de duração) e 4 entradas nãorecorrentes que representam os padrões extraídos dasondulações geográficas. A rede possui 12 neurôniose<strong>sc</strong>ondidos e 8 neurônios de saída. A cada época de267


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.treinamento, a rede recebe como entrada os compassosextraídos das melodias de treinamento e os padrões dasondulações geográficas.Normalmente um compositor humano primeiroaprende os conceitos necessários para compor umamelodia. E depois, quando for compor sua própriamelodia, pode ser influenciado por sensações ouinspirações. Nesse experimento, esses dois momentosacontecem ao mesmo tempo. A rede está aprendendo a<strong>sc</strong>aracterísticas dos compassos de treinamento junto com ainspiração. Porém, a motivação desse experimentoconsiste em se obter uma composição preliminar, quedeverá então ser analisada e ser o ponto de partida parauma composição final. É como se o compositor somasseao seu conhecimento uma inspiração e compusesse umamelodia, para ser posteriormente analisada eaperfeiçoada, para se tornar a composição final. Esseprocesso é comum em uma composição musical.Além disso, a rede aprende, no seu treinamento, a lidarcom esses padrões de entrada e transformá-los emcompassos musicais.Como geralmente ocorre no treinamento das redesneurais recorrentes, os valores dos neurônios de saída sãocomparados com os valores desejados e retornadosatravés das conexões recorrentes para os neurônios deentrada. No início do treinamento, antes que a rede estejatotalmente treinada, as saídas estão distantes dasdesejadas. Essas saídas incorretas são retornadas para osneurônios de entrada, comprometendo as equações deajuste de pesos [5]. Como tentativa de otimizar esseprocesso, o treinamento nesse experimento foi realizadode duas maneiras diferentes.Na primeira delas, foi realizado o treinamento forçado[13], que consiste em ignorar os valores obtidos pelosneurônios de saída e retornar para os neurônios de entradaos próprios valores desejados. Portanto, ao invés dosvalores obtidos pelos neurônios de saídas seremretornados para os neurônios de entrada, os própriosvalores desejados são retornados, uma vez que essesvalores são conhecidos durante o treinamento [5] [9].Assim, o aprendizado se torna mais eficiente.Durante o treinamento, a rede precisou de menos de 10mil épocas para aprender 10 compassos musicais. Durantea composição, foram utilizados os mesmos padrões deondulações geográficas do treinamento, e a rede foicompondo de acordo com suas próprias saídas. A figura 6mostra a melodia gerada com 10 compassos.Figura 6. Exemplo de melodia geradapelo treinamento forçadoA Figura 7 mostra a melodia obtida pela rede na fasede composição para padrões de entrada de ondulaçõesgeográficas similares com os padrões utilizados notreinamento. Esses padrões foram extraídos de umaimagem com ondulações semelhantes às presentes naFigura 4 (a).Figura 7. Exemplo de melodia geradacom padrões de entrada similares aosutilizados no treinamentoPorém, há duas desvantagens no treinamento forçado[5] [12]. A primeira delas é que ele não é aplicável pararecorrência em neurônios e<strong>sc</strong>ondidos, uma vez que osvalores desejados não estão disponíveis para essesneurônios. A segunda desvantagem refere-se aocomportamento da rede. Mesmo quando a rede estivertotalmente treinada, suas saídas podem nunca seremexatamente iguais às saídas desejadas. Sendo assim,quando a rede for usada para lidar com novos exemplosdepois de treinada, e sua saída retornada para osneurônios de entrada, essa entrada irá incluir variaçõesque não estavam presentes durante o treinamento.Um segundo treinamento foi proposto nesseexperimento, na tentativa de otimizar essa segundadesvantagem apresentada pelo treinamento forçado. Otreinamento consiste em utilizar uma função deprobabilidade gaussiana em cada neurônio de entrada,com a média sendo o valor desejado de cada neurônio desaída e variância bem pequena. Os neurônios de entradapassam a não receber exatamente os valores desejados acada passo de treinamento e sim um valor aleatóriopertencente a um pequeno intervalo que contém a saída268


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.desejada (centro do intervalo) do passo de treinamentoanterior. Por exemplo, considerando uma gaussiana devariância igual a 0.001 e média igual à saída desejada.Com isso, a rede aprende a lidar com possíveis variaçõesdurante o treinamento, e apresenta um melhordesempenho na fase de generalização.Foram necessárias 50 mil épocas para que a redeaprendesse os compassos do conjunto de treinamento.Semelhante ao treinamento anterior, os mesmos padrõesde 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 geradapelo treinamento forçado comprobabilidade gaussiana3.2 Segundo experimentoA principal diferença desse experimento em relação aoprimeiro é que os padrões das ondulações geográficas nãofazem parte do treinamento da rede. Ou seja, durante otreinamento, a rede aprende os compassos extraídos dasmelodias sem a participação desses padrões. Esse sistemarepresenta um compositor que utiliza os conceitosaprendidos e adiciona a esses conceitos uma possívelinspiração para compor novas melodias.Portanto, a rede utilizada também é recorrente, maspossui 8 neurônios de entrada (que representam as notas eseus atributos), 8 neurônios e<strong>sc</strong>ondidos e 8 neurônios desaída.Os padrões das ondulações geográficas são inseridosno momento da composição. A rede gera novas melodia<strong>sc</strong>om base no que aprendeu durante o treinamento e combase na inspiração, representada por esses padrões.Com um pouco menos de 10 mil épocas e utilizando otreinamento forçado, a rede conseguiu aprender o<strong>sc</strong>ompassos do conjunto de treinamento. Como ainformação da inspiração não estava presente na fase detreinamento, o comportamento da rede na fase decomposição é inesperado. Como se espera no final umamelodia musical, talvez esse comportamento não seja umadesvantagem.A Figura 9 representa a melodia gerada pela redenesse experimento para 10 compassos.Figura 9. Exemplo de melodia gerada seminformação de inspiração no treinamento.A Tabela 1, no final do artigo, mostranumericamente os compassos de treinamento e asmelodias geradas pela rede. Como de<strong>sc</strong>rito no primeiroexperimento, a cada passo de treinamento a rede recebecomo entrada quatro valores referentes aos padrões dosrelevos naturais e oito valores que representam as quatronotas do compasso e seus atributos de duração. Nosegundo experimento, a rede recebe com entrada apenasos oito valores que representam os compassos. Pode-seobservar na Tabela 1 o resultado das melodias das Figuras6, 8 e 9.4. ConclusãoFoi de<strong>sc</strong>rito um sistema de visualização de contornosde relevos naturais em forma de uma composição musicalusando redes neurais, e baseado no treinamento decompassos. Nota-se que apesar de serem consideradas asondulações geográficas, essa inspiração pode sergeneralizada.O sistema é útil para a obtenção automática demelodias para que o usuário possa fazer sua análiseposterior.Foram propostos experimentos que mostram como otreinamento e a representação dos dados na rede podeminfluenciar no resultado final.O sistema assim constituído pode ser aperfeiçoadocom a inclusão de outros atributos para as saídas, comodinâmicas de intensidade e andamento. Outras figurasrítmicas podem ser incluídas e a rede deve ser capaz deaprender uma quantidade maior de compassos. Tambémhá a necessidade de estender a rede para melodiaspolifônicas.Deve-se melhorar também a forma de representaçãodos dados na rede, para bu<strong>sc</strong>ar uma otimização nos erros.Um exemplo de erro considerado nesse trabalho ocorrequando se tem na saída uma nota de altura diferente, maso atributo de duração indica que essa nota é a continuaçãoem tempos da anterior.Como trabalhos futuros, devem-se incluir osalgoritmos de análise dos resultados da visualização, paraque as melodias geradas possam ser analisadas e269


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.avaliadas, melhorando a capacidade de generalização darede.5. Referências Bibliográficas[1] BRAGA, A. P.; LUDERMIR, T. B.; CARVALHO, A. P.“Redes Neurais Artificiais – Teoria e Aplicações.”, Rio deJaneiro - RJ, LTC, 2000.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 dosexperimentos[2] CARPINTEIRO, O. A. S. (2001) “A neural model tosegment musical pieces.” In Proceedings of the SecondBrazilian Symposium on Computer Music, Fifteenth Congressof the Brazilian Computer Society, p. 114 – 120.[3] CHEN, C. C. J.; MIIKKULAINEN, R. (2001) “CreatingMelodies with Evolving Recurrent Neural Network.” InProceedings of the International Joint Conference on NeuralNetworks, IJCNN’01, 2001, p. 2241 – 2246, Washington - DC.[4] ECK, D.; SCHMIDHUBER, J. (2002) “A First Look atMusic Composition using LSTM Recurrent Neural Networks.”Technical Report: IDSIA-07-02.[5] FRANKLIN, J. A. (2006) “Recurrent Neural Networks forMusic Computation.” Informs Journal on Computing, Vol.8,No.3, pp. 321-338.[6] HAYKIN, S. “Neural Networks – A ComprehensiveFoundation.” Prentice Hall, USA, 1999.[7] LADEN, B.; KEEFE, D. H. (1989) “The Representation ofPitch in a Neural Net Model for Chord Classification.”Computer Music Journal, Vol. 13, No.4.[8] MOZER, M. C. (1994) “Neural network music compositionby prediction: Exploring the benefits of psychoacousticconstraints and multi<strong>sc</strong>ale processing.” Connection Science,6(2-3), p. 247 – 280.[9]QUINN, M. (2000) “The climate Symphony: RhythmicTechniques Applied to the Sonification of Ice Core Data.” 4thAnnual 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 Visualizationof music.” 8th IEEE Visualization 1997 (VIS’97).[12] TODD, P. M. A (1989) “Connectionist Approach toAlgorithmic Composition.” Computer Music Journal: Vol.13,No. 4.Treinamento1ºpasso2ºpasso3ºpasso4ºpasso5ºpasso6ºpasso7ºpasso8ºpasso9ºpasso10ºpassoPadrões deentradaCompassosdeTreinamentoMelodia daFigura 6Melodia daFigura 8Melodia daFigura 9-5 7 1 5 1 5 1 22 1-3 7 0 5 0 5 0 20 18 5 1 4 1 4 1 18 17 5 0 2 1 2 1 18 1-3 7 1 11 1 14 1 17 18 7 0 8 1 12 1 16 17 7 1 1 1 8 1 15 17 4 1 3 1 5 1 15 08 9 1 -2 1 18 1 13 17 7 1 -2 0 16 1 13 07 4 1 9 1 13 1 17 117 7 1 9 0 11 1 17 07 0 1 7 1 15 1 14 17 0 0 5 1 15 0 14 017 4 1 -3 1 15 0 17 125 4 0 0 1 15 0 17 07 2 1 -5 1 11 1 17 117 5 1 -5 0 11 0 17 025 5 1 -1 1 8 1 19 110 5 1 -3 1 8 0 20 117 5 1 -6 1 2 1 25 125 4 1 -2 1 2 0 25 010 2 1 2 1 4 1 25 0-1 2 0 1 1 4 0 22 125 7 1 8 1 -7 1 4 110 7 0 5 1 -4 1 4 0-1 5 1 1 1 -2 1 11 1-5 4 1 1 0 -2 0 11 110 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-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-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-7 7 1 8 1 17 0 12 1[13] WILLIANS, R. J., ZIPSER, D. (1988) “A learningalgorithm for continually running fully recurrent networks”.270


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Face Detection through Ellipse Detection and Neural ClassifierDenis H. P. Salvadeo, Jander MoreiraDepartamento de Computação – Universidade Federal de São Carlos, São Carlos, SP, Brazildenissalvadeo@comp.uf<strong>sc</strong>ar.<strong>br</strong>, jander@dc.uf<strong>sc</strong>ar.<strong>br</strong>AbstractFace detection is one of the problems in ComputerVision not completely solved yet. Face detection playsessential role in several applications as preprocessingfor face recognition, videoconferencing, surveillancesystems, and retrieval in content-based databases. Inthis work, an approach for the face detection problemis proposed. In our approach the problem is divided intwo parts: 1) detection of possible face-regions a<strong>sel</strong>liptical shapes and 2) classification of these regions<strong>sel</strong>ected as face and non-face. The first part is based inan ellipse detector developed by Zhang and Liu [1].Already the classification step is accomplished by MLPnetworks. Preliminary results show the viability andefficiency of this method in the face detection in gray<strong>sc</strong>aleimages with complex background. This method isalso less restrictive regarding illumination, rotationand <strong>sc</strong>ale, restrictions often observed in the literature.Keywords: face detection, complex background, neuralclassifier, Multilayer Perceptron1. IntroductionAt the Department of Computer Science of theFederal University of São Carlos a research aboutretrieval of information from image database<strong>sc</strong>onsidering similarity among a query object and storedobjects is under development. This project involvesseveral elements: indexing structures for imageretrieval [2], features used as retrieval indexes,determination of important features for indexing andimage analysis of the database for features extraction[3], for instance. A specific case of query is the one forretrieval of one or more faces from a database based ona feature set elaborated from a sample face image. Inthis context, there is a need for tools to aid the facefeatures analysis. Thus, this work has the purpose ofpresenting a tool designed to locate faces in gray-<strong>sc</strong>aleimages with complex background for later faceanalysis.The face detection process will explain in thefollowing sections. A preprocessing stage is presentedin section 2. The ellipse detection stage is de<strong>sc</strong>ribed insection 3. Section 4 presents the classification step, andour results are di<strong>sc</strong>ussed in section 5. Finally, the paperis concluded and future works is examined in section 6.2. PreprocessingThis stage is performed in order to determine usefuledge points and measures for the ellipse detectionstage. The preprocessing consists of performing thefollowing steps: Apply a semi-Gaussian smoothing mask [4](Fig. 1); Edge detection using the ADM (AbsoluteDifference Mask) algorithm [4]; Compute the strength and the direction of theedge points [4];Compute an automatic threshold (based onOtsu [5]); Detect the significant edges [1]; Remove of spurious points [1]; Compute the edge convexity [1].3. Ellipse detectionFigure 1. Semi-Gaussian mask. [1]271


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.In this stage, four parameters are computed whichdefine an ellipse (center position, orientation and sizesof the semi-axis) for all relevant ellipses in the image.Here, the ellipses are considered to be the possible faceregions (final product of this stage). This detectionmethod is based in the Hough Transform and it usesthe convexity property computed in the preprocessingstage. For this stage, the following steps are applied tothe resultant edge image produced in the previous stage(based on [1]): Apply the stream <strong>sc</strong>an process [1] (Fig. 2); Compute the intersections and search for thecenter of the ellipses (Fig. 3); Vote for semi-axis ratio and rotation using anand accumulator array; Compute the sizes of the semi-axis.The stream <strong>sc</strong>an restricts the number of point pairsassociated to the same ellipse considering restrictionsas the associated convexity, a minimum distancebetween them and an angle around 90º, reducing thecomputational complexity. More details can be foundin [1].4. Classification using MLPFigure 2. Directions and associatedconvexity used by the stream <strong>sc</strong>anprocess. [1]After <strong>sel</strong>ection of possible face regions, we stillneed to determine which of these regions in factcorrespond to faces.To accomplish the classification process, the<strong>sel</strong>ected region was re<strong>sc</strong>aled, rotated and applied toMultilayer Perceptron Networks (MLP) [6] usingCBCL Face Database #1 [7] from MIT (MassachussetsInstitute of Technology) for both train and test steps.This database is divided in train images and testimages. The train set contain 2429 faces and 4548 nonfacessamples while the test set contain 472 faces and23573 non-faces samples. All gray<strong>sc</strong>ale images are19x19 pixels with face images, with pose andillumination variations.The train step is uses the backpropagationalgorithm, with the activation function of theintermediate layers being a bipolar sigmoid, while theactivation function of the final layer (with only onenode) is the bipolar sigmoid and the degree function inseries. For the degree function is considered the value1 for face and value -1 for non-face.The test step is applied on the whole test set in orderto evaluate the performance when using the MLP tosolve the classification problem. If the resultclassification process was -1 the region <strong>sel</strong>ected inellipse detection step is rejected of the detectionprocess.At the end of the process (ellipse detection andclassification steps), the faces are detected, as well astheir positions and dimensions (in the ellipse detectionstep).5. ResultsThis method was applied to several images ofdistinct size, <strong>sc</strong>ale, and rotation, and also underdifferent illumination conditions. The qualityevaluation was accomplished subjectively for ellipsedetection stage, that is, visually the center points of theellipses are close to the expected face centers and forall test images the detected center points had occurredon the faces (Fig. 4). The Fig. 5 shows samplesextracted regions after ellipse detection step. Theresults are considered very satisfactory. Moreover, thismethod can be used in real-time applications.The ellipse detection step is fast and leads, usually,to the correct center points. Depending on the choicefor the parameters (such as minimum distance andwindow size) of the ellipse detector, in some images alot of candidate faces are <strong>sel</strong>ected. Thus, the parameteradjusts are somewhat problem dependent. Thispossible aggravation is a dependency on the edgedetector and leads to an increase in the processingtime.Figure 3. Selected point pairs. [1]272


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Figure 4. Sample images with ellipse centers detectedFigure 5. Sample extracted images of ellipsedetection stepIn the last step, in order to classify each detectedellipse area in the image as face or non-face, a MLPneural network was applied. This neural architecture isdemonstrated to suffer with small displacements androtations in database faces images, what <strong>br</strong>ingsdifficulty to the generalization process.In the tests, the top result considering only imageswith a face was 37.5%, which is a low rate. This isexplained by sensitivity to displacements and rotationsof MLP and the fact that minor adjustments to correctmainly displacements are not yet implemented. Thisproblem can be solved applying a preprocessing asblurring to train and test images, as well as normalizethe candidate face subimage according to a symmetryaxis.6. Conclusions and Future WorksIn this paper, a face detection method based on<strong>sel</strong>ecting possible face regions through a robust andfast ellipse detector, and the their classification as faceor non-face using a neural network was proposed.In first part, the major problem is the number of the<strong>sel</strong>ected candidate points for the ellipse detectionprocess. The procedure is sensitive to some parameteradjustments, but they can be tuned by restricting theapplication <strong>sc</strong>ope (mainly <strong>sc</strong>ale).In second part, a previously trained MLP is appliedto <strong>sel</strong>ected regions. However, the most criticalproblems in using the MLP are its sensitivity for thedisplacement and rotation properties. Thus, apreprocessing is necessary to soften the small rotationsand displacement in input images. This is the mainreason for most of the lower classification resultsobtained so far. Corrections on this matter arefortunately a non-complex task, and we are working onthem.In spite of related difficulties, the proposed methodin this paper is demonstrated be very promising forsolving the face detection problem, with reliability andtime efficiency.For future work and improvements we suggest:1) replace the MLP by a convolutional neuralnetworks, such as the Neocognitron by Fukushima [8](which deal properly with displacement and rotationproperties), and 2) refining the ellipse detectionmethod by adding more previous knowledge to reducethe number of <strong>sel</strong>ected points and, therefore,decreasing the computational cost.7. AcknowledgementsThis work is being supported by FAPESP (process2005/03671-7).8. References[1] S. C. Zhang, and Z. Q. Liu, “A robust, real-time ellipsedetector”, Pattern Recognition, vol. 38, pp. 273-287, 2005.[2] A. Gavioli, M. Biajiz, and J. Moreira, “MIFLIR: A MetricIndexing and Fuzzy Logic-based Image Retrieval System”,IEEE International Workshop on Managing Data forEmerging Multimedia Applications, Tokyo: IEEE, 2005.[3] A. Oriani and J. Moreira, “Preliminary Study ofExtraction of Facial Geometric Measures as Features forContent-Based Retrieval”, XV<strong>III</strong> Brazilian Symposium onComputer 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-LevelHistograms”, IEEE Transactions on Systems Man andCybernetics, vol. 9, pp. 62-69, 1979.[6] Braga, A. P., T. B. Ludermir, et al., “Redes NeuraisArtificiais: Teoria e aplicações”, LTC - Livros Técnicos eCientí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 neuralnetwork capable of visual pattern recognition”, NeuralNetworks, v. 1, n. 2, pp. 119-130, 1988.273


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Sistema de Inspeção Visual Automática de Resistores de Montagem em SuperfícieAnderson CastellarDepartamento de Engenharia ElétricaEESC - E<strong>sc</strong>ola de Engenharia de São Carlos<strong>USP</strong> - Universidade de São Pauloacastel@<strong>sel</strong>.<strong>ee<strong>sc</strong></strong>.<strong>usp</strong>.<strong>br</strong>Evandro L. L. RodriguesDepartamento de Engenharia ElétricaEESC - E<strong>sc</strong>ola de Engenharia de São Carlos<strong>USP</strong> - Universidade de São Pauloevandro@<strong>sel</strong>.<strong>ee<strong>sc</strong></strong>.<strong>usp</strong>.<strong>br</strong>ResumoEste trabalho apresenta um sistema de baixo custode inspeção de valores de resistores de montagem emsuperfície em placas de circuito impresso, utilizandouma rede neural artificial do tipo LVQ (Learnig VectorQuantization) com 7000 entradas binárias. O sistematem como objetivo principal verificar se o valor doresistor inserido na posição cartesiana X,Y em umanova placa de circuito impresso é igual ao valor doresistor (na mesma posição cartesiana) apresentadopor uma placa padrão durante a fase de treinamentodo sistema. A implementação do sistema mostrou oelevado tempo de treinamento da rede neural artificiale a viabilidade do sistema para a inspeção deresistores de montagem em superfície.1. IntroduçãoO avanço dos equipamentos eletrônicos nos diasatuais é notável. Com a miniaturização e com oaumento das funcionalidades dos equipamento<strong>sel</strong>etrônicos como câmeras digitais, notebooks, telefone<strong>sc</strong>elulares, etc., houve uma demanda maior portecnologia de montagem e verificação de componentese placas de circuito impresso presentes nestesequipamentos.Tradicionalmente, as placas de circuito impressojuntamente com os componentes eletrônicos passampor um operador humano responsável pela inspeçãovisual, cujo diagnóstico é lento e cujo desempenho nãopode ser garantido [1]. A aprovação ou não através dainspeção visual varia de operador para operador, tendocomo principais diferenças a velocidade de inspeção, afadiga do operador e o julgamento. A Figura 1apresenta um gráfico de defeitos versus número depeças para diferentes operadores realizando inspeçãovisual [2].Figura 1. Defeitos versus peças para diferentes operadoresA produtividade é um item crítico na montagem everificação de componentes de montagem emsuperfície nos dias atuais [4]. Como podemos verificarna Figura 2, os defeitos provenientes de erros demontagem manual representam aproximadamente 13%de todos os erros encontrados em uma linha tradicionalde montagem de componentes em superfície [2].Vários autores sugerem a utilização de sistemas deinspeção visual automática, conhecidos como AOI(Automated Optical Inspection), em linhas demontagem de componentes em superfície [1].Materiais defeituososErros de montagemmanualRelacionados a soldapor ondaPosição de componenteerradoComponente erradoPinos levantadosComponentes não funcionaisSem componentes Sem soldaSolda com pontesSolda insuficienteSoldaabertaFigura 2. Defeitos na produção de placas eletrônicasTais sistemas realizam a verificação de inúmerosdefeitos através do processamento das imagens obtidasde placas na linha de montagem. Estes sistemas deinspeção podem ser utilizados antes do processo desoldagem, após o processo de soldagem e fora da linha274


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.de montagem (off-line). A Figura 3 apresenta umgráfico de comparação entre a utilização off-line e onlinede um sistema AOI [2].AquisiçãoTaxa de falhasImplementaçãoAOI off-lineImplementaçãoAOI on-linePréprocessamentoTeste de defeitosFalta de componentesSemanasProcessamento(Binarização)Figura 3. Taxa de defeitos versus semanasPodemos verificar que houve um decremento nataxa de defeitos após a introdução de um sistema AOIoff-line e um decremento ainda maior quando o sistemaAOI foi introduzido on-line.Devido à alta complexidade dos sistemas AOI, seucusto é muito elevado, sendo proibitivo seu uso emmicro e pequenas empresas de montagem decomponentes em superfície. A proposta deste trabalho éimplementar um sistema de inspeção visual automáticade baixo custo, para verificação do valor de resistoresde montagem em superfície em placas de circuitoimpresso. Esta verificação será realizada peloprocessamento das imagens capturadas dos resistores epor uma rede neural artificial do tipo LVQ (LearnigVector Quantization) [3].2. Materiais e métodosA Figura 4 apresenta a configuração básica dosistema proposto.IluminaçãoCâmeraPlaca deCircuito ImpressoFigura 4. Configuração do sistemaClassificaçãoFigura 5. Operações do sistemaO pré-processamento é realizado para apadronização do tamanho da imagem. As imagens deentrada tanto para treinamento e classificação possuemum tamanho fixo de 100x70 pixels. A Figura 6apresenta algumas imagens utilizadas após o préprocessamento1 2 34 51- Resistor SMD 0805 10 ohms2- Resistor SMD0805 10Kohms3- Resistor SMD0805 33 ohms4- Resistor SMD0805 82K ohms5- Resistor SMD0805 330 ohmsFigura 6. Imagens capturadas após pré-processamentoApós o pré-processamento, a imagem é binarizadacom um valor de threshold otimizado para cadaimagem, obtido pelo MatLab®. A Figura 7 apresentaalgumas imagens binarizadas utilizadas paratreinamento.As operações realizadas pelo sistema sãoapresentadas em forma de fluxograma na Figura 5.Como o principal objetivo do sistema proposto é baixocusto, a aquisição das imagens para processamento foirealizada por uma WebCam USB modelo Video CAMEYE da empresa Genius, com resolução de 640x480pixels (VGA) no formato de cor RGB.275


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.1 2 34 51- Resistor SMD 0805 10 ohms2- Resistor SMD0805 10Kohms3- Resistor SMD0805 33 ohms4- Resistor SMD0805 82K ohms5- Resistor SMD0805 330 ohmsFigura 7. Imagens binarizadasApós a binarização, a imagem é apresentada naentrada de uma rede neural artificial do tipo LVQ com7000 entradas (7000 neurônios). Esta rede neural foie<strong>sc</strong>olhida por possuir um treinamento supervisionado epor ser amplamente utilizada na classificação depadrões [3]. Ao todo foram utilizadas 15 imagens (3imagens para cada valor de resistor para 5 classes) paratreinamento. Todo o processamento e classificaçãoforam realizados em um computador Intel CentrinoDualCore, com 1Gbyte de memória RAM e 100Gbytesde di<strong>sc</strong>o rígido, em ambiente MatLab®.O fluxograma do sistema completo é apresentado naFigura 8 e de<strong>sc</strong>rito abaixo.Placa dereferênciaE<strong>sc</strong>olha dosresistores a sereminspecionadosAtribuição deClasse para cadaimagemAquisição dasimagensPréprocessamentoProcessamento(Binarização)Criar conjunto detreinamento comas imagens obtidasTreinar redeLVQPlacas parainspeçãoAquisição dasimagensPréprocessamentoProcessamento(Binarização)Figura 8. Fluxograma geralClassificaçãoPrimeiramente o usuário deve fornecer uma placade referência para a e<strong>sc</strong>olha dos resistores que serãoinspecionados e para a atribuição das classes (valoresdos resistores). Após a <strong>sel</strong>eção dos resistores pelousuário, o sistema realiza a aquisição das imagens dosresistores e<strong>sc</strong>olhidos, pré-processa estas imagens pararemoção de partes não úteis para classificação etreinamento, binariza as imagens, cria um conjunto deimagens de treinamento e inicia o treinamento da redeLVQ. Após o treinamento da rede, o usuário fornece asplacas para inspeção. Após a colocação das placas parainspeção, o sistema realiza a aquisição das imagens dosresistores e<strong>sc</strong>olhidos, pré-processa estas imagens pararemoção de partes não úteis para classificação etreinamento, binariza as imagens, e as apresenta naentrada da rede LVQ para classificação.3. Di<strong>sc</strong>ussãoApós a implementação de todo o hardware para aaquisição de imagens e a implementação da rede neuralartificial LVQ em MatLab®, foi realizado umtreinamento da rede neural com 15 imagens diferentespertencentes a 5 classes de resistores (Resistor 10ohms,10Kohms, 33ohms, 82Kohms e 330ohms). O tempototal de treinamento da rede neural foi de 253,1720segundos. Com a finalização do treinamento, foramapresentadas 10 imagens de resistores provenientes deoutras placas com valores iguais aos da classificação. AFigura 9 apresenta algumas das imagens utilizadas paraclassificação.1 2 34 51- Resistor SMD 0805 10 ohms2- Resistor SMD0805 10Kohms3- Resistor SMD0805 33 ohms4- Resistor SMD0805 82K ohms5- Resistor SMD0805 330 ohmsFigura 9. Imagens para classificaçãoA Tabela 1 apresenta as classificações reais, a<strong>sc</strong>lassificações obtidas e o tempo de classificação com arede neural treinada das 10 imagens de entrada.Tabela 1. Resultados obtidosImagemClassificação Classificação TempoReal Obtida (s)100-1 1 1 0.0780103-1 2 2 0.1100330-1 3 3 0.1100823-1 4 4 0.1100331-1 5 5 0.1090100-2 1 1 0.0780103-2 2 2 0.1090330-2 3 3 0.1250823-2 4 4 0.1250331-2 5 5 0.1090276


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.4. ConclusõesVerificamos que é viável a utilização de redesneurais do tipo LVQ na verificação de imagens obtidasde resistores de montagem em superfície com afinalidade de classificação. As imagens utilizadaspassaram por um pré-processamento simples, visandoum aumento de velocidade do sistema como um todo.Neste trabalho foi observado o elevado tempo detreinamento da rede neural artificial, devidoprincipalmente ao seu elevado número de entradas(7000 entradas). Como o número de resistores a seremverificados poderá ser muito grande, o tempo detreinamento pode se tornar inviável. Este fato justifica,em uma aplicação futura, a implementação da redeneural artificial utilizada em hardware reconfigurável,com objetivo principal de diminuir o tempo detreinamento da rede e consequentemente, o tempo declassificação após treinamento. A implementação destesistema se mostrou válida, pois foi capaz de realizarcorretamente a verificação dos resistores apresentados.5. Referências Bibliográficas[1] A. N. BELBACHIR, An Automatic OpticalInspection System for the Diagnosis of Printed CircuitsBased 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


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Análise Di<strong>sc</strong>riminante de Fisher Aplicada à Detecção de Defeitos em CouroBovinoWillian Paraguassu AmorimUniversidade Católica Dom Bo<strong>sc</strong>oGrupo de Pesquisa em Engenharia e ComputaçãoCampo Grande - MS, Brasilparaguassuec@gmail.comHemerson Pistoripistori@ucdb.<strong>br</strong>ResumoEste artigo apresenta um estudo e aplicação da análisedi<strong>sc</strong>riminante de Fisher na <strong>sel</strong>eção de atributos baseadosem textura e cor, para a detecção de defeitos emcouro bovino. Um conjunto de 261 atributos, baseadosnos métodos matriz de co-ocorrência, mapas deinteração e atributos di<strong>sc</strong>retizados dos espaço de coresRGB e HSB, foram extraídos para a utilização daredução de dimensão por Fisher. Experimentos com dadosreais indicaram que um vetor com 16 atributos criadoa partir da redução dos 261 atributos extraídos, obtiverama mesma taxa de classificação, diminuindo otempo de treinamento e o tempo classificação. Esse trabalhofaz parte do projeto DTCOURO, cujo objetivo principalé criar um sistema automático de extração deparâmetros, a partir de imagens digitais, capaz de tornarmais eficiente e preciso o processo de classificação depeles e couros bovino.1. IntroduçãoO Brasil possui o maior rebanho bovino do planeta, eapesar disto não consegue assumir um papel de destaque naindústria do couro bovino. A maior parte do couro produzidono país é de baixa qualidade, sendo que a maioria dessecouro é comercializada nos estágios iniciais de processamento,com baixo valor agregado. A baixa qualidade docouro bovino <strong>br</strong>asileiro tem limitado o desenvolvimento dosetor coureiro, afetando também a capacidade do país agregarvalor ao produto internamente, e de usufruir das oportunidadesoferecidas pela comercialização do couro de melhorcotação no mercado [8].Inúmeros fatores contribuem no problema da qualidadedo couro bovino, entre eles, a inexistência de sistemas deremuneração diferencial pela qualidade da matéria primaproduzida, baixa qualidade do couro, ocorrência de defeitosna fase produtiva, como: exposição aos ectoparasitas e manejoinadequado (ferrão, cerca de arame farpado, marcaçãoa ferro quente em local impróprio, entre outros) [6] [9] [3].Atualmente a classificação do couro bovino é realizadaatravés de um especialista, que tem a tarefa de inspecionarcada peça do couro e levantar os defeitos encontrados, informandosua classificação 1 . Visando auxiliar o especialista natarefa da classificação do couro bovino, foi criado uma parceriacom a EMBRAPA/Gado de Corte e o GPEC (Grupo dePesquisa em Engenharia de Computação) para a criação doprojeto DTCOURO. O projeto DTCOURO tem como objetivoa construção de um sistema em visão computacionalque será capaz de realizar a detecção automática das diversasinconformidades apresentadas no couro, e através destasinformações, realizar sua classificação.Nos artigos [12], [1] e [13], foram realizados alguns experimentosiniciais de classificação de defeitos do courobovino. O objetivo desses experimentos foi implementar eanalisar as técnicas de extração de atributos, como: matrizde co-ocorrência, mapas de interação e atributos de cores,e verificar o desempenho do classificador na di<strong>sc</strong>riminaçãoentre as classes de defeitos.Com base nesses experimentos, verificamos que foramobtidos bons resultados na classificação, mas os tempos detreinamento e classificação não foram tão satisfatórios. Pararealizar a detecção automática de defeitos do couro bovinoo sistema precisará realizar um varredura na imagem capturandosuas amostras e dessa forma efetuar a classificação.Como os tempos de treinamento e classificação foram altos,é preciso encontrar alguma técnica que efetue a redução deatributos, acelerando de modo eficaz esse processo.Este artigo apresenta alguns experimentos, indicandoque o uso da análise di<strong>sc</strong>riminante de Fisher(FLDA), pode reduzir significamente o vetor de atri-1 Em alguns curtumes e frigoríficos são utilizadas as classificações de A(melhor qualidade) até D (pior qualidade).278


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.butos de 261 para 16 atributos melhorando o tempo detreinamento e classificação sem perder sua precisão de di<strong>sc</strong>riminabilidade.Os experimentos foram realizados com base em umgrupo de 4 imagens do couro-cru. Para cada imagem foramfeitas marcações so<strong>br</strong>e os defeitos, e a captura de amostraspara cada marcação. Os defeitos analisados foram: carrapato,esfola, estria, marca-ferro, ri<strong>sc</strong>o, regiões sem defeitoe o local em que se encontra o couro bovino, chamado aquide “fundo”. A partir das amostras capturadas, foi realizadaa extração de atributos para a geração das bases de aprendizagem,que foram utilizadas na redução de dimensão. Osmétodos de extração de atributos utilizados foram: matrizde co-ocorrência, mapas de interação e atributos relacionadosa di<strong>sc</strong>retização e média para cada componente dos formatode cores RGB 2 e HSB 3 , a partir dos histogramas geradospara cada região de interesse. Nesse artigo iremos de<strong>sc</strong>reversomente o método de extração de atributos utilizandomapas de interação, pelo fato de ser menos conhecido e possuirpoucas referências.Esse artigo esta organizado da seguinte forma, na seção2, é apresentado o método de extração de atributos utilizandomapas de interação que foi usado junto com matrizde co-ocorrência e atributos de cores na criação da basede conhecimento. A seção 3 apresenta a definição e teoriada técnica de Fisher utilizada para redução de atributos.Na seção4e5são apresentados os experimentos e resultadosobtidos e na seção6são apresentadas as conclusões.2. Mapas de InteraçãoMapas de interação são muito utilizados na análise de paresde pixel de uma imagem [10]. Essa técnica consiste emcalcular a diferença absoluta dos valores da intensidade dospixels, localizado em uma determinada distância e ânguloda imagem. A utilização desse método pode capturar algumasdas diferentes variações de textura encontradas nocouro bovino. Como a matriz de co-ocorrência, o mapa deinteração também trabalha com a intensidade em tons decinza dos pixels de uma imagem. A Figura 1 ilustra como éaplicado essa técnica na análise de uma imagem.Atécnica consiste em calcular a média das diferenças absolutasdos píxels da imagem, com seus vizinhos img(i, j),dado um deslocamento inicial d i , deslocamento final d f ,ângulo inicial a i e ângulo final a f . Como resultado é criadauma nova matriz chamada mapa polar de interaçãomap[n d /d inc ][n a /a inc ], em que n d representando a quantidadede distância entre os pares de píxels, n a quantidade2 O modelo RGB é um modelo de cor com três cores primárias: vermelho,verde e azul, com um intervalo de valores de 0 até 255.3 O modelo de cores HSB se baseia na percepção humana das cores enão nos valores de RGB. Suas cores são representadas por H(matiz),S(saturação) e B(<strong>br</strong>ilho).Figura 1. Aplicação do mapa de interação nacriação do mapa polar.de ângulos, d inc distância de incremento entre os píxel ea inc ângulo que será incrementado a partir do ângulo iniciale final[5] [4].3. Análise Di<strong>sc</strong>riminante de Fisher e Seleçãode AtributosAanálise di<strong>sc</strong>riminante, também conhecida como di<strong>sc</strong>riminantelinear de Fisher (FLDA), é uma técnica que estásetornando muito comum em aplicações de visão computacional.Essa técnica utiliza informações das categorias associadasa cada padrão para extrair linearmente as característicasmais di<strong>sc</strong>riminantes. Através da análise di<strong>sc</strong>riminantede Fisher podemos também realizar a di<strong>sc</strong>riminaçãoentre classes, através de processos supervisionados (quandose conhece o padrão) ou através de processos não supervisionados,em que é utilizado quando não se tem umpadrão conhecido. A FLDA éummétodo supervisionadona concepção estatística e deve ser empregada quando alguma<strong>sc</strong>ondições forem atendidas, como: (1) as classes sobinvestigação são mutuamente exclusivas, (2) cada classe éobtida de uma população normal multivariada, (3) duas medidasnão podem ser perfeitamente correlacionadas, entreoutras [7].Nos trabalhos [2], [15] e [16] são apresentadas de formadetalhada a utilização da análise di<strong>sc</strong>riminante de Fisher.Essa técnica consiste na computação de uma combinação linearde m variáveis quantitativas, que mais eficientementeseparam grupos de amostras em um espaço m-dimensional.Para isso a razão da variância entre-grupos e inter-grupos émaximizada. A separação intra-classe é realizada através daseguinte fórmula estabelecida por Fisher.1. Espalhamento intra-classes;S w =T c∑ ∑ j(x j i − u j).(x j i − u j) t , (1)j=1 i=1279


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.em que x j i éoi-ésimo exemplo da classe j, u j éamédia da classe j, T j éonúmero de amostras da classej e c é a quantidade de classes;2. Espalhamento inter-classes;S b =c∑(u j − u).(u j − u) t , (2)j=1em que u éamédia de todas as classes.A partir do cálculo de espalhamento intra-classe e interclassede um conjunto de amostras, é possível seguir ocritério de Fisher, que é maximizar a medida inter-classes eminimizar a medida intra-classes. Uma forma de fazer issoé maximizar a taxa S f = det(S b )/det(S w ). Essa fórmulamostra que se S w é uma matriz não singular, então essa taxaé maximizada quando os vetores colunas da matriz S f sãoos autovetores de Sw −1 .S b .A redução de atributos é um problema de otimizaçãoque bu<strong>sc</strong>a criar novas características através de umacombinação do conjunto original de características mantendoa eficiência no processo de classificação [11]. Adimensionabilidade do espaço de atributos pode resultarem problemas como alto custo de processamento e ageração do fenômeno conhecido como maldição da dimensionabilidade.Maldição da dimensionabilidade, podeser caracterizado como uma degradação nos resultadosde classificação, com o aumento da dimensionabilidadedos dados [14].Em análise di<strong>sc</strong>riminante de Fisher a redução de atributosé realizado a partir de um conjunto de amostras para nclasses, tendo p variáveis, com o objetivo de reduzir para matributos. Para a redução de atributos por Fisher segue-se aseguinte linha de cálculo;1. Calcular o espalhamento S w e S b para n classes;2. Maximizar a medida inter-classes e minimizar a medidaintra-classes S f a partir de Sw −1 .S b .A partir de S f é possível a redução de atributos com baseem seus auto-valores e auto-vetores, em que os atributos <strong>sel</strong>ecionadosserão os auto-vetores referente aos seus m maioresauto-valores. A Figura 2(a) ilustra 3 conjuntos de indivíduosrepresentando cada classe de classificação e utilizandodois atributos (x, y) para sua representação. A Figura2(b) mostra um exemplo da projeção dos dados so<strong>br</strong>eum atributo reduzido (z), demonstrando também que a di<strong>sc</strong>riminabilidadedos dados é mantida.4. ExperimentosPara a realização desses experimentos foram utilizadas4 imagens, sendo em cada, contendo os defeitos: carrapato,esfola, estria, marca-ferro, ri<strong>sc</strong>o e regiões (sem defeitoe fundo). Em seguida, para cada imagem, realizamos(a)(b)Figura 2. Exemplo utilizando análise di<strong>sc</strong>riminantede Fisher para redução de variáveis(a) conjunto de amostras utilizando 2 atributos(x, y) e (b) redução de atributos para umúnico atributo (z)as marcações referentes a cada classe. O objetivo dessa regrade marcação foi a necessidade de se obter uma maiorvariação de regiões sem defeito, fundo, e regiões com defeitos,próximas uma da outra. Para cada marcação foram capturadastodas as amostras possíveis numa e<strong>sc</strong>ala de 20X20píxel e com um intervalo de 1 pixel para cada amostra.A quantidade de amostras geradas para cada defeito foram:carrapato (366), esfola (38), estria (2355), marca-ferro(391), ri<strong>sc</strong>o (49), sem defeito (2664) e fundo (948). Na Figura3 são ilustradas algumas amostras dos tipos de defeitosque foram capturados.A partir de cada amostra capturada, realizamos aextração de atributos, utilizando as técnicas de matrizde co-ocorrência, mapas de interação, atributos di<strong>sc</strong>retizadosdos modelos de cores HSB e RGB e sua médias.Para matriz de co-ocorrência utilizamos como propriedadede sua técnica variações no ângulo de (0 o a 360 o )com intervalo nos ângulos de 45 o e distância de 1 pi-280


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.(a) (b) (c)(d) (e) (f)Método de Extração Quantidade de AtributosMédia (H), (S), e (B) 3Média (R), (G) e (B) 3HSB (Di<strong>sc</strong>retizado cadamodelo em 32 intervalos) 96RGB (Di<strong>sc</strong>retizado cadamodelo em 32 intervalos) 96Mapas de Interação 7Matriz de Co-ocorrência 56Total 261Tabela 1. Atributos extraídos(g)Figura 3. Exemplo de amostras capturadasdos defeitos do couro cru. (a) esfola, (b) estria,(c) fundo, (d) marca ferro, (e) ri<strong>sc</strong>o, (f)sem defeito e (g) carrapatoxel. Em mapas de interação utilizamos variações de(0 o a 360 o ) com intervalo inicial 0 o , final 360 o e incrementode 45 o com distâncias de 1 e 2 píxels. As duastécnicas resultaram em duas matrizes, uma contendo o resultadoda matriz de co-ocorrência entre os pixels e outracontendo o mapa polar do mapas de interação, e a partirdisso foram capturados atributos, como: entropia, momentoda diferença inversa, dissimilaridade, correlação,contraste, segundo momento angular e a diferença inversa.Foram extraídos também os valores médios e oshistogramas di<strong>sc</strong>retizados em 32 intervalos de cada modelodos formato de cores HSB e RGB. Foram capturadosno total 261 atributos, sendo 63 atributos de textura e198 atributos de cores. A Tabela 1, mostra com mais detalhesos atributos extraídos.Com base nos 261 atributos extraídos das amostras ejunto com a técnica implementada de Fisher, para reduçãode atributos, foram geradas 261 bases de aprendizagem,sendo em cada contendo a i atributos tal que 1 ≤ a i ≤261. Utilizamos em nossos experimentos os algoritmosde classificação C4.5 e máquinas de vetores de suporte(SMO). O motivo que nos levaram a e<strong>sc</strong>olher o C4.5 e oSMO, foi que em experimentos anteriores seus resultadosde classificação se comportaram de modo mais eficiente.Para a realização dos experimentos, e<strong>sc</strong>olhemo<strong>sc</strong>omo modo de testes dos resultados a técnica estatísticade validação cruzada com configuração de 5do<strong>br</strong>as e 6 validações. Para a visualização dos resultados,foram <strong>sel</strong>ecionados as seguintes características:taxa(%) de classificação correta e tempos(s) de treinamentoe classificação. Dessa forma será possível analisarse o desempenho do classificador irá ser mantido a medidaque os atributos são reduzidos utilizando análisedi<strong>sc</strong>riminante de Fisher.Para a realização dos experimentos foram utilizadostrês módulos que pertencem ao projeto DTCOURO,que ajudaram a criar a base de conhecimento, que foram:(1) módulo de marcação e geração de amostras,que foi responsável pela criação do banco de imagenspara marcação e geração das amostras específicas paracada tipo de defeito, (2) módulo de experimentos, que realizoua extração dos atributos a partir das amostras geradase (3) módulo de classificação automática, que foiresponsável pela classificação automática dos defeitos coletados.Nos experimentos foi utilizado um computadorcom processador Pentium 4 - 2.3 GHz com 1024 MBde memória RAM.5. ResultadosPara avaliar os resultados, mostraremos graficamente ocomportamento do classificador a medida que o númerode atributos é reduzido. Nos experimentos foram utilizadas6.811 amostras, para a classificação de 7 classes (carrapato,esfola, estria, marca-ferro, ri<strong>sc</strong>o, sem defeito e fundo) , utilizandoos algoritmos de aprendizagem (C4.5) e (SMO). Otempo total para a realização dos 261 experimentos foramde 36 horas para C4.5 e 47 horas para SMO. Os Gráficos4(a), 4(b) e 4(c), ilustram os resultados com base na porcentagemde acerto e os tempos de treinamento e classificaçãodos algoritmos C4.5 e SMO.Com base nos resultados, podemos observar que ataxa de acerto do classificador teve um bom desempenho.Mas também acreditamos que as grandes variações281


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.(a)nos defeitos marcados e pelas poucas imagens utilizadaspoderam influenciar nos resultados. Analisando o comportamentodo gráfico 4(a), podemos verificar que mesmocom a redução de atributos, mas com pequenas variaçõesda taxa de acerto, a análise di<strong>sc</strong>riminante de Fisher apresentouum bom desempenho, mantendo o nível dos classificadoresquase constante. Pelo gráfico também pode serverificado que a porcentagem de acerto melhora a medidaque a quantidade de atributos é acre<strong>sc</strong>entada, istoaté uma certa quantidade, em que há uma estabilidade.Para o algoritmo C4.5 a estabilidade é encontrada apartir de 106 atributos com 99,56% de acerto, e para o algoritmoSMO a estabilidade é visualizada a partir dosexperimentos com 71 atributos com 100% de acerto. Éverificadotambém que em experimentos com uma baixaquantidade de atributos a técnica de FLDA se comortoude modo eficiênte, em que com 16 atributos o classificadorapresentou como resultado de classificação 99,12%de acerto.Os gráficos 4(b) e 4(c) foram apresentados com o objetivode mostrar que a redução de atributos é uma etapa muitoimportante para classificação de imagens. A medida que aquantidade de atributos é acre<strong>sc</strong>entada o tempo de treinamentoe classificação aumentam, mostrando assim que autilização de um técnica para redução de atributos, comoanálise di<strong>sc</strong>riminante de Fisher, pode dar eficiência, velocidadee confiança para um classificador automático.6. Conclusão(b)(c)Figura 4. Comportamento do classificador,(a) classificação correta(%) de C4.5 e SMO,(b) tempo de treinamento e classificaçãode C4.5 e (c) tempo de treinamento eclassificação de SMO.A detecção de defeitos e a classificação do couro bovino,com base em inspeção visual, é uma importante etapa dacadeia produtiva do boi. A automatização desse processo,através de sistemas computacionais, pode torná-lo mais preciso,menos subjetivo, menos sujeito a falhas e mais uniforme.Com base nos experimentos realizados e em seus resultados,verificamos que a técnica de Fisher demonstrouum bom desempenho, mostrando que a partir dacombinação estatíti<strong>sc</strong>a de um conjunto de atributos, podemser criados um sub-conjunto com a mesma eficiênciade classificação. Foi também verificado que os módulos implementadosauxiliares facilitaram os experimentospara testes de classificação, reforçando as expectativasde que será possível a implantação de um classificadorautomático de couros bovinos. A baixa quantidade de imagense a grande variação na semelhança dos defeitos,favoreceram o alto nível de acerto, porém para um experimentoideal, seria necessário um conjunto maior deimagens, em diferentes ambientes.Durante os experimentos, alguns problemas foram encontrados,como: baixa quantidade de imagens de tipos dedefeitos e problemas com um número muito alto de atribu-282


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.tos utilizando a técnica de Fisher, provocando assim, problemasde matrizes singulares. A partir desses resultadosalcançados, foi possível a<strong>br</strong>ir novas perspectivas para trabalhosfuturos, como: resolver o problema de matriz singularda redução de atributos por Fisher, para uma quantidadem de atributos e uma quantidade n de amostras, sendon ≤ m, e atributos com pouca variância; utilizar técnicasde segmentação para a remoção do fundo das imagens docouro bovino para realização de novos experimentos; utilizara técnica de Fisher em outras aplicações, como: reconhecimentode texturas, gestos, faces, entre outras.AgradecimentosEste trabalho recebeu apoio financeiro da UniversidadeCatólica Dom Bo<strong>sc</strong>o, UCDB, da Agência Financiadora deEstudos e Projetos, FINEP e da Fundação de Apoio aoDesenvolvimento do Ensino, Ciência e Tecnologia do Estadode Mato Grosso do Sul, FUNDECT. O primeiro autordesse trabalho é bolsista DTI-CNPq e o segundo autor ébolsista de Produtividade em Desenvolvimento TecnológicoExtensão Inovadora do CNPq.Referências[1] W. P. Amorim, R. H. R. Viana, R. C. B. Rodrigues, andH. Pistori. Desenvolvimento de um software de processamentoe geração de imagens para classificação de couro bovino.Workshop de Iniciação Científica - SIBGRAPI, 2006.[2] P. N. Belhumeur, J. P. Hespanha, and D. J. Kriegman. Eigenfacesvs. fisherfaces: Recognition using class specific linearprojection. IEEE Transactions on Pattern Analisys and MachineIntelligence, 1997.[3] G. A. Cardoso, E. and V. S. Lário. Análise da cadeira produtivade peles e couros no <strong>br</strong>asil. Em<strong>br</strong>apa - ComunicadoTécnico, pages (68):1–4, 2001.[4] D. Chetverikov. Structural filtering with texture feature basedinteraction 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 <strong>br</strong>asile em mato grosso do sul. Em<strong>br</strong>apa Gado de Corte, pages61–72, 2002.[8] A. Gomes. Avaliação técnica e operacional do sistema declassificação do couro bovino. Em<strong>br</strong>apa Gado de Corte, RelatórioFinal do Projeto (CNPQ), 2005.[9] IEL. Instituto euvaldo lodi, cna confederação nacional daagricultura, e se<strong>br</strong>ae/nacional serviço <strong>br</strong>asileiro de apoioás micro e pequenas empresas. estudo so<strong>br</strong>e a eficiênciaeconômica e competitividade da cadeia da pecuária de corteno <strong>br</strong>asil. 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. Aplicações demétodos de extração e <strong>sel</strong>eção de atributos para classificaçãode regiões. 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 Modellingof Objects Represented in Images: Fundamentals,Methods and Applications, 2006,.[13] L. Ramirez, W. P. Amorim, and P. S. Martins. Comparaçãode matrizes de co-ocorrência e mapas de interação nadetecção de defeitos em couro bovino. Workshop deIniciação Científica - SIBGRAPI, 2006.[14] J. C. Santos, J. R. F. Oliveira, and L. V. Dutra. Uso de algoritmosgenéticos na <strong>sel</strong>eção de atributos para classificação deregiões. Instituto Nacional de Pesquisas Espaciais (INPE),São José dos Campos - SP - Brasil, 2004.[15] H. Yu and J. Yang. A direct lda algorithm for highdimensionaldata - with application to face recognition. Preprintsubmitted to Pattern Recognition Letters, 2000.[16] W. Zhao, R. Chellappa, and P. J. Phillips. Subspace lineardi<strong>sc</strong>riminant analisys to face recognition. Partially supportedby the Office of Naval Research, 1999.283


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.An occlusion invariant extension to Boles’ methodEdmundo D. Hoyle D.Pontifícia UniversidadeCatólica do Rio de Janeiroedhoyle@ele.puc-rio.<strong>br</strong>Paula Beatriz C. LeitePontifícia UniversidadeCatólica do Rio de Janeiropaula@lps.ele.puc-rio.<strong>br</strong>Raul Queiroz FeitosaPontifícia UniversidadeCatólica do Rio de Janeiroraul@ele.puc-rio.<strong>br</strong>AbstractAn earlier study indicated that most of the inefficiencyof the iris identification method proposed by WageehBoles can be credited to its inability to deal withocclusion. This paper proposes an extension to Boles’method to cope with occlusion. The extension consistsin a modification of the dissimilarity function proposedby Boles that disregards areas under occlusion.Experiments carried out using images of the Casiadatabase demonstrated that the proposed method issignificantly superior to the original Bole’s method,especially for highly occluded images.1. IntroductionThe interest on security of systems and services isincreasing in the last decade because of frauds,falsification of documents, patents and terrorism. Thismotivates the research on methods for personalidentification based on biometric characteristics. Theseare better than traditional means of identificationbecause they can be neither forgotten nor stolen orforged.Many biometric technologies have been proposedbased on physical traits such as fingerprints, voice toneand timber, face, hand geometry and retina patterns,each one having its strengths and weaknesses [1].In this <strong>sc</strong>enario systems based on iris structure havethe potential of playing a major role. The iris contains agroup of characteristics which makes it one of the safestbiometric features for identification. The iris is aninternal organ of the eye, protected from the externalenvironment by eyelashes and eyelids [2]. It is clearlyvisible, which eases its capture; it is already entirelyformed by the first life year and remains virtuallyunchanged all life long.Nowadays, there are many techniques proposed inthe <strong>sc</strong>ientific literature about identification systemsbased on iris structure analysis. They can be divided inthree categories:1. based on the analysis of local variationswith methods of phase representation,2. based on zero-crossing representation, and3. based on texture analysis.John Daugman was the pioneer in this topic anddeveloped mathematical algorithms which allow theiris’ image to be digitally encoded [3]. His work waspatented in 1994 and it is still the most acknowledgedwork on iris recognition.Next to the Daugman model, the method proposedby Richard Wildes [4] and a third one proposed byWageeh Boles [5] and [6] are the most cited in theliterature. The aforementioned methods have certainlimitations. The Wildes’ method has comparatively lowperformance, the Boles’ method does not take occlusioninto consideration and many fundamental details ofDaugman’s method are not revealed by its numerousreports available in the literature (e.g. [7]).An earlier study [6] has shown that the Boles`method performs close to Daugman’s method, forimages with a small amount of occlusion. However theperformance falls off considerably as the proportion ofthe iris image subjected to occlusion increases.The present article proposes an extension to Boles`method that makes it less sensitive to occlusion than inits original formulation. An experimental analysis i<strong>sc</strong>arried out based on the Casia database [8] to investigatethe impact of occlusion on identification performance. Itis shown that the proposed extension significantlyimproves the robustness of the original Boles methodagainst occlusion.This work shows a <strong>br</strong>ief explanation about theidentification through iris images in section 2, followedby a de<strong>sc</strong>ription of Boles method in section 3. Theproposed extension to this method, turning it robust toocclusion, is presented in section 4. A performanceanalysis is presented in section 5 followed by finalcomments.2. Identification through iris imagesThe process of human identification based on thestructure of the iris may be divided in five main steps:1. image acquisition,2. segmentation,3. normalization4. representation,5. matching.The first step is about capturing the iris images. Theacquired image must be segmented in the second step.284


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Here the inner edge of the iris at the pupil as well as theouter edge at the <strong>sc</strong>lera are located (see figure 1). In thenormalization step a geometric transformation is appliedto the region comprised between the inner and outer irisedges resulting in a rectangular image, as illustrated infigure 2. This compensates the pupil deformation causedby varying illumination. Figure 3 shows an example ofimages of the same eye in which the pupil has twodifferent diameters.In the next step the information contained in thenormalized image is represented in a more compactform to save computer storage space. The representationretains the distinctive iris features so as to permitidentification. However, for security reasons, therepresentation is such that the reconstruction of theoriginal image from it is impossible.The final step, called matching, consists indetermining whether different iris images belong or notto the same subject. This is usually done in two differentoperation modes. In the verification mode the systemchecks if a claimed identity and the biometric data areconsistent (positive) or not (negative). In this mode theprovided biometric data undergoes steps 1 to 4 and theresulting representation is compared with samplesrecorded in a database associated to the declared subject.The identification mode is about searching the systemdatabase for the record that best matches a givenbiometric data, aiming at establishing the subject’sidentity. In both modes, matching operations areperformed upon representations rather than on theoriginal images.this reason the text concentrates henceforth onrepresentation and matching, assuming that anappropriate solution for steps 1 to 3 has been alreadyprovided.Figure 3. <strong>Iris</strong> images of the same subject with different pupil’sdiametersFigure 4. Normalized iris’ image with occlusion areaconverted to zero values - from figure 23. Boles` methodThis section de<strong>sc</strong>ribes succinctly howrepresentation and matching is performed according toBoles proposal.RepresentationThe starting point for the iris representation is theinformation of pixel intensities in the normalized irisimage, as shown in figure 2. Each row of the normalizedimage forms a vector which is later treated as a singleperiod sample of a one-dimensional periodic signal.Figure 1. Eye image with segmented pupil and irisFigure 2. <strong>Iris</strong> of figure 1 after normalizationMany different approaches with good associatedperformance have been proposed for steps 1 to 3 [9].Actually the steps 4 and 5 are the major research focuson iris recognition due to their inherent complexity. ForFigure 5. Wavelet transform and its zero-crossingrepresentationA dyadic wavelet transform is applied to each rowvector, decomposing them in different resolution levels.285


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.As the information in the highest resolution levels isoften largely affected by noise, they are di<strong>sc</strong>arded forthe following analysis. The authors concludedexperimentally that the fourth, fifth and sixth levels areenough to generate a good representation.The zero crossings of the dyadic wavelet transformof the row signals are determined for each of the 3 levelsmentioned above. These points occur on a<strong>br</strong>upt changein signal amplitude. Figure 5 shows a zero crossingrepresentation of the wavelet transform for a sample rowof the normalized image.Once the zero crossings have been located, theaverage value between each two consecutive zerocrossing points in the wavelet outcome is computed.So, working with normalized images with 16 rowsand 256 columns, as in the original Boles paper, the irisis represented by a matrix having 48×256 elements [5].MatchingTo compute the dissimilarity between two irises, theirzero crossing representations are compared. Bolesproposes four functions to measure the dissimilaritybetween the signals [5]. Hereafter only the dissimilaritymeasure defined in equation 1 is considered, since itprovided the best performance in the experiment<strong>sc</strong>onducted within this work. This is given bydjm( f , g)1N 1 n jZ f ( n) Z g(n m)0jEq. 1|| Z f |||| Z g ||jwhere d jm (f,g) denotes the dissimilarity of iris f and gassociated to the j-th row of their representationmatrices for a displacement m, the vectors Z j f and Z j gare the j-th row of the zero crossing representationsrespectively of irises f and g, N is the number ofelements of Z j f and Z j g, m,n [ 0 N-1] and the symbol“|| ||” represents the vector norm. Note that d jm (f,g) isequal to 1 minus the correlation coefficient betweenZ j f(n) and Z j g(n). Thus the dissimilarity d jm (f,g) may takevalues between 0 and 2, whereby 0 corresponds to aperfect match.Equation 1 is computed for each row of therepresentation matrices. For normalized images with 16rows and working with 3 resolution levels, this willreturn 48 values, whose mean is taken as thedissimilarity (D m ) between irises f and g, for a givenvalue of m.It is important to notice that m in equation 1represents shifts of the second signal. Varying m inequation 1 from 0 to N-1 yields N dissimilarity values(D m ). The overall dissimilarity D between irises f and gis given by.Dj minDmEq. 2m4. MethodologyThis section de<strong>sc</strong>ribes the extension toBoles method proposed in this work to deal withocclusion.It is assumed henceforth that the occlusion areas inthe normalized images (as in figure 2) were located in aprevious step. Methods have been proposed in theliterature to do it automatically [10].The basic idea consists in restricting the computationof dissimilarity to the values of the wavelet transformsnot influenced by occlusion. Since the wavelettransform is a neighborhood operation, it is affected byocclusion over a range the goes beyond the pixelsdirectly under occlusion. It includes the occluded pixelsthem<strong>sel</strong>ves and the pixels lying in a neighborhood ofsize w, where w is the width of the wavelet kernel.The approach can be better understood byconsidering Figure 4. It shows the same image of Figure2 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 andcompute their wavelet transforms. They are illustrated inFigure 6 respectively by the dotted and by the dashedline. These two curves differ from each other only in theregion not affected by occlusion. A third curve, drawnby a continuous line in figure 6, is produced by zeroingany of the earlier curves only where they differ. Hence,to ignore pixels under occlusion, the similarity analysisshould be limited to the non zero values of this thirdcurve.Figure 6. Wavelet transformsThis idea is explained in more formal terms asfollows. Let’s Z j f and Z j g be the zero crossingrepresentation yielded by the wavelet transforms of thej-th row of a normalized image, like of the one shown inFigure 2. Similarly Z’ j f and Z’ j g are the zero crossingrepresentations of the same row but with zeros over286


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.occluded pixels. Let’s further Z * jf and Z * jg denote thevectors defined as*ZjfZjf n0 otherwise*Zjg n , for ZZjgn0 otherwisen,for Z f nZf nj gnZ gnjjjEq. 3Equation 2 states that Z * jf and Z * jg derive from Z j fand Z j g by setting to zero the elements affected byocclusion. Let’s now z j f and z j g be the vectors formedonly by the elements respectively of Z * jf and Z * jg forwhich Z * jf(n)0 and Z * jg(n+m) 0. The length M of z j fand z j g will depend not only on the number and positionof the pixels under occlusion in both images beingcompared but also on m. Clearly, for a given value of mthe information in Z j f and Z j g relative to non occludedareas is totally contained in z j f and z j g.For that reason the dissimilarity, as given in Equation1, should be computed only on z j f and z j g..A simple manipulation leads to the conclusion that:Mp1zjf ( p)zjg(p)0 z f z gjjN 1n0Z*jZf*j*nZgn mfj*Z gjEq.45. Performance AnalysisA software prototype implementing the methodproposed in this work was built for performanceassessment. Experiments were conducted using irisimages of Casia database. Image samples that could notbe properly segmented were di<strong>sc</strong>arded from theanalysis. As a result a total of 263 images, coming from15 different subjects, were used in the evaluation.The analysis was limited to the verification mode. Atotal of 33453 image pairs <strong>sel</strong>ected from the 263 imageswere used in the analysis, whereby 32295 pairs ofdifferent eyes (negatives) and 1158 pairs of the sameeye (positives).A program implementing the method proposed in [3]was applied to perform iris normalization. All theimages used in these experiments were normalized into16x256 intensity matrices. An occlusion mask wasdrawn manually for each normalized image.The wavelet used in our experiment was taken fromthe Gaussian derivatives family (first derivative of theGaussian probability density function).Figure 7 shows the histograms of the overalldissimilarity for positives and negatives produced by theoriginal Boles method as well as by the proposedmethod.This reasoning leads to the proposal of a newdissimilarity function to cope with occlusion as given bydjmN 1 (*j j*nZgn m*Z fn0j jf , g)1Eq. 5*|| Z f |||| Z g ||The dissimilarity of two irises f and g is given inoriginal Boles’ method by the plain average of the 48values produced by the application of Equation 1 to eachrow of the zero crossing representation matrices. Thiswork proposes the use of a weighted mean instead of thesimple mean, whereby the weights are given by thenumber of non zeroed values in Z * jf(n) and Z * jg(n),according to the formula48 djm f , g kjj 1Dm48Eq. 6 kjj 1where d jm (f,g) is given by Equation 5 and k j is thenumber of non zeroed values in the j-th row of the zerocrossing representations of both images. Again, theoverall dissimilarity D between f and g is computed asin Equation 2, using the results produced by Equation 6for D m .Figure 7. Histograms of Positives and NegativesThe superiority of our method can be seen byobserving the area of overlap below the curves forpositives and negatives. The larger is this area, the morefrequent is the occurrence of either false positives orfalse negatives increases. Figure 7 shows that theoverlap of the region below both curves is significantlysmaller for our method than for Boles` method. If weconsider as acceptance threshold the dissimilarity valuefor which the normalized frequency is equal forpositives and negatives, the overlap area isapproximately three times larger for Boles` method thanfor our approach.287


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.The choice of the acceptance threshold will bedetermined by the applications needs, for instance, inhigh security applications where the avoidance of falsepositives is the major issue, a low acceptance thresholdis recommended. On the other hand for applicationswhere the inconvenience caused by a false negative isthe main concern, a comparatively higher acceptancethreshold may be appropriate.The system performance as a function of theacceptance value may be better observed on ROC(Receiver Operating Characteristics) plots. Figures 8, 9and 10 show the ROC curves for both methods,considering respectively all the image pairs, images withmore than 15% of occlusion and only images with lessthan 15% of occlusion.The closer the ROC curve stays to the horizontal andvertical axes the higher the associated performance.Figures 8, 9 and 10 show that, in terms of recognitionperformance, our method is considerably better than theBoles method for all levels of occlusion. The ROCcurves for Boles moves away from the horizontal andvertical axes faster than the proposed method as theocclusion increases.Figure 10. ROC curve for images with less than 15% ofocclusionA further analysis of the experimental results hasshown that the occurrence of false negatives is mostlyinfluenced by the difference of the pupil’s diameter inboth images being analyzed. This suggests that a moreelaborated image normalization algorithm maysignificantly improve the false negative rate.6. Final commentsFigure 8. ROC curve for all images in the data setThis work proposed an extension to Boles method inorder to make it robust against occlusion. Experiment<strong>sc</strong>onducted on images from the Casia database for thesystem working in verification mode indicated that theproposal significantly improves the recognitionperformance particularly for images highly affected byocclusion.Certainly the efficiency of the proposed methoddepends on how accurately the occlusion areas aredelineated in the input image. In these experiments theareas of occlusion were determined manually for eachimage. A study of automatic methods for eyelids andeyelashes detection in conjunction with the proposedextension is planed for the continuation of this work.Daugman’s method [3] is the most widely acceptedbenchmark in the research of iris recognition. An earlierstudy [7] indicated that the superiority of Daugman’smethod over Boles’ method could be mainly credited tothe inability of Boles’ to deal with occlusion. A futurestudy is also planed aiming at verifying how close theproposed extension of Boles’ method comes toDaugman’s performance.7. ReferencesFigure 9. ROC curve only for images with more than 15%of occlusion[1] S. Nanavati, M. Thieme, R. Nanavati, Biometrics: IdentityVerification in a Networked World, John Wiley & Sohns,2002.288


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.[2] H. Proença, L. A. Alexandre, “A Method for theIdentification of Noisy Regions in Normalized <strong>Iris</strong> Images”,ICPR, 18th International Conference on Pattern Recognition,2006, vol. 4, pp. 405–408.[3] J. Daugman, “How <strong>Iris</strong> Recognition Works”, IEEETransactions on circuits and systems for video technology,2004, vol. 14, n.1, pp. 21-31.[4] R. P. Wildes, “<strong>Iris</strong> recognition: an emerging biometrictechnology”, Proceedings of the IEEE, 1997, vol. 85, n. 9, pp.1348–1363.[5] W. W. Boles, “A security System Based on Human <strong>Iris</strong>Identification Using Wavelet Transform”, 1997 FirstInternational Conference on Knowledge-Based intelligentElectronic System, L. C. Jain, Adelaide - Australia, 1997, pp.533-541.[6] W. W. Boles, B. Boashash “A human IdentificationTechnique using images of the <strong>Iris</strong> and wavelet transform”,1998 IEEE transactions on signal processing, 1998, pp. 1185-1188.[7] R. C. Na<strong>sc</strong>imento, “Sistema de identificação baseada naestrutura de íris”, Master Thesis, Pontifícia UniversidadeCatólica do Rio de Janeiro, Rio de Janeiro, 2005.[8] Casia database, Center for Biometrics and SecurityResearch, http://www.cbsr.ia.ac.cn/<strong>Iris</strong>Database.htm, lastaccess date: 6 Aug. <strong>2007</strong>.[9] L. Ma, T. Tan, Y. Wang, D. Zhang, “PersonalIdentification Based on <strong>Iris</strong> Texture Analysis”, IEEETransactions 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 irissegmentation method for recognition”. ICPR, Proceedings ofthe 17 th International Conference on Pattern Recognition,2004, vol. 3, pp. 554-557.[11] L. Ma, T. Tan, Y. Wang, D. Zhang, “Efficient <strong>Iris</strong>Recognition by Characterizing Key Local Variations”, IEEETransactions on image processing, 2004, vol. 13, n.6, pp. 739-750.289


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Reconhecimento Automático de Gestos da Língua Brasileira de Sinais utilizandoVisão ComputacionalKleber Padovani de SouzaUniversidade Católica Dom Bo<strong>sc</strong>oGrupo de Pesquisa em Engenharia e ComputaçãoCampo Grande - MS, Brasilkleber.padovani@uol.com.<strong>br</strong>Jéssica Barbosa Diasdjessy@gmail.comHemerson Pistoripistori@ucdb.<strong>br</strong>ResumoHidden Markov Models (HMMs) have been frequentlyused in speech recognition, what suggested their possibleuse in gesture recognition. Traditional human-machine interfacesare not suitable for people with certain disabilities,specially auditory and motor disabilities, and the useof computers to automatically recognize gestures can <strong>br</strong>ingimportant benefits to this community. This work presents aHMM-based system integrated in a platform to support thedevelopment of visually guided applications capable of recognizinghuman gestures in sequences of images achievingan accuracy rate of 99% for training samples and 80% fortesting samples in a subset of Brazilian Sign Language gestures.1. IntroduçãoO reconhecimento automático de gestos humanos podeser utilizado em várias aplicações úteis à sociedade, comoem ambientes virtuais, em sistemas de segurança e supervisão,em ferramentas de suporte médico, no suporteà interação homem-máquina através de movimentos e emmuitas outras. Existem duas abordagens que são comumenteutilizadas para realizar este reconhecimento.A primeira é através do uso de alguns dispositivos deapoio, que auxiliam na coleta de informações relevantes aoprocesso de classificação, como as luvas de dados e bodysuits. Esta abordagem, apesar de simplificar e, geralmente,aumentar o nível de precisão na extração de característicasdas imagens, traz consigo algumas desvantagens, como alimitação dos movimentos do sinalizador 1 e o de<strong>sc</strong>onforto,causado pela necessidade de se vestir o equipamento. Em1 Os termos sinalizador e colaborador são utilizados para referenciaraos usuários que executaram os gestos para obtenção das amostras(vídeos) dos gestos.muitos casos, existe rejeição por parte dos usuários a estetipo de recurso, devido a esta característica intrusiva [9].A segunda abordagem é baseada em visão computacional,em que a classificação dos gestos é alcançada obtendoseapenas imagens como fonte de informação, eliminandoo incômodo implícito na abordagem anterior. No entanto, ocusto computacional de sistemas baseados em visão, geralmenteé maior, devido à necessidade de processamento dasimagens. Todavia, no intuito de facilitar a implementação desistemas com interfaces guiadas por sinais visuais, foi criadauma plataforma de códigos-fonte abertos, denominadaSIGUS [14], que minimiza a complexidade desta tarefa.Neste trabalho, foram investidos esforços no desenvolvimentode um sistema de reconhecimento automático de gestosda Língua Brasileira de Sinais, baseado na plataformaSIGUS, utilizando modelos de Markov ocultos (ou HiddenMarkov Models - HMMs) no estágio de classificação.Os HMMs são estruturas amplamente utilizadas na modelagemde problemas com variações temporais e estão entre osmétodos mais utilizados nas pesquisas da área de reconhecimentode gestos [4, 12] 2 .A de<strong>sc</strong>rição deste trabalho foi organizada em 4 partes.Na seção seguinte é feita uma <strong>br</strong>eve revisão so<strong>br</strong>e a técnicacentral do trabalho, os modelos de Markov ocultos (HMM).A seção 3 explica detalhadamente a forma em que o conceitofoi aplicado ao reconhecimento de gestos e cita algunsdetalhes so<strong>br</strong>e as implementações. Por fim, as seções 4 e 5apresentam os experimentos e resultados obtidos, faz umaanálise <strong>br</strong>eve e geral so<strong>br</strong>e o tema di<strong>sc</strong>utido neste trabalhoe sugere possíveis trabalhos futuros.2 Apesar de algumas literaturas considerarem posturas (ouconfigurações) como gestos estáticos, neste trabalho, o termogesto se refere apenas a gestos dinâmicos.290


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.2. Modelos de Markov OcultosNas últimas décadas, diversos pesquisadores da área dereconhecimento de fala têm utilizado com sucesso os modelosde Markov ocultos como mecanismos de classificaçãoem seus trabalhos [16, 20, 8, 1]. Recentemente, eles têmsido empregados em aplicações de visão computacional queenvolvem reconhecimento de padrões, como no reconhecimentode letras manu<strong>sc</strong>ritas [10, 19, 22] e na classificaçãode gestos em seqüências de imagens [12, 11, 5, 21].Um modelo de Markov oculto é similar a uma Cadeiade Markov[7] , porém, os elementos dos conjuntos deobservações não pertencem ao conjunto de estados, mas aoutro conjunto, chamado conjunto de símbolos, tornando aseqüência de estados percorrida oculta ao observador. Essessímbolos são gerados pelos estados e, em cada instantede tempo, é gerado um símbolo pelo conjunto de estados,no entanto, o estado gerador não é conhecido. Portanto, éacre<strong>sc</strong>entada uma camada estocástica na cadeia de Markovpara se obter um modelo de Markov oculto.A primeira camada estocástica é uma cadeia de Markovde primeira ordem, porém, não é diretamente observávelcomo nas cadeias de Markov, em que cada estado é umapossível observação 3 . A segunda camada estocástica éumconjunto de probabilidades que indica, para cada estado, asprobabilidades de emissão de cada símbolo do modelo.Como dito, a seqüência de estados percorrida em ummodelo, dada uma seqüência de observações, é oculta aoobservador. Ou seja, tendo uma seqüência de observações(conjunto ordenado de símbolos), não se tem acesso àseqüência de estados percorrida pelo modelo para geraçãodesta seqüência, mas somente uma função probabilísticadeste caminho, e, por isso, o modelo é chamado de modelode Markov oculto. A seguir, serão de<strong>sc</strong>ritos alguns termosadotados que são comumente encontrados em textos daárea e ao longo deste trabalho.1. Um HMM é representado pelo símbolo λ;2. Os estados do modelo são denotados pelo conjuntoS = {s 1 ,s 2 , ..., s N }, de tamanho N;3. Os símbolos reconhecidos pelo modelo estão contidosno conjunto V = {v 1 ,v 2 , ..., v M }, de tamanho M,também conhecido como alfabeto do modelo;4. Uma seqüência de observações é denotada pelo conjuntoordenado O = {o 1 ,o 2 , ..., o T }, composto de Telementos quaisquer do conjunto V ,emqueT e o t representam,respectivamente, o tamanho da seqüência e3 O termo “observações” recebe diferentes significados quando aplicadosa processos de Markov e a modelos de Markov ocultos. No primeiro,essas observações são os estados percorridos pelo modelo, enquantoque nos modelos de Markov ocultos são os símbolos geradosnos estados do modelo, porém, a seqüência de estados não é conhecida.osímbolo observado no instante t da seqüência, tal que1 ≤ t ≤ T ;5. Quando conhecida, uma seqüência de estados paradeterminada observação é representada pelo conjuntoQ = {q 1 ,q 2 , ..., q T }, composto por T elementos deS, em que q t representa o estado no instante t daseqüência de observações de tamanho T ;6. O vetor π = {π 1 ,π 2 , ..., π N }, com um valor probabilísticopara cada um dos N estados do modelo, sendoπ estado a probabilidade de estado ser o gerador do primeirosímbolo de qualquer seqüência de observaçõesgerada pelo modelo;7. A matriz A NxN , cujos elementos são referenciados naforma a (origem,destino) e representam a probabilidadede transição do estado origem para o estado destino;8. A matriz B NxM , cujos elementos são representado<strong>sc</strong>omo b estado (símbolo) e representam a probabilidadede um estado gerar determinado símbolo;9. A probabilidade da seqüência de observação O ter sidogerada pelo modelo λ é representada por P (O|λ).Os elementos de π, A e B podem ser os índices dos elementosdentro dos conjuntos ou seus próprios nomes. Porexemplo, a probabilidade do estado s i ser inicial pode serde<strong>sc</strong>rita como π i ou π si e a probabilidade do estado s i serinicial pode ser de<strong>sc</strong>rita como π i ou π si . Da mesma forma,b i (v j ) indica a probabilidade do estado s i gerar o símbolov j e b sx (y) indica a probabilidade do estado s x gerar osímbolo v y .Para melhor compreensão, a Figura 1 ilustra um exemplode HMM com três estados (1, 2 e 3) e dois símbolos(a e b). A matriz A seria composta pelas probabilidades detransição entre estados (e.g. a (1,2) =0.4, a (3,2) =0.6, etc.)e a matriz B pelas probabilidades de emissão de símbolosde cada estado (e.g. b 3 (a) = 0.7, b 2 (b) = 0.9, etc.),restando apenas o vetor π, que conteria as probabilidadesiniciais dos estados 1, 2 e 3. As possíveis seqüências deobservações para este modelo seriam todas compostas pelossímbolos a e b (e.g. O = {a, a, b, a, b}) de qualquer tamanhoT , tal que T ≥ 1.2.1. Incógnitas principaisExistem três incógnitas implícitas nos HMMs, cujassoluções contribuem para o funcionamento eficazdas aplicações que o utilizam [13], sendo elas aavaliação da observação, a melhor seqüência de estadosda observação e o treinamento dos modelos 4 . As4 As três incógnitas de<strong>sc</strong>ritas são citadas por alguns autores como ostrês “problemas básicos” dos HMMs, como o problema da avaliação,o problema do melhor caminho e o problema do treinamento.291


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.mais provável, sendo esta a seqüência de letras equivalenteao sinal. Geralmente, esta incógnita é resolvida por meiodo algoritmo de Viterbi, que também utiliza a técnica deprogramação dinâmica.Figura 1. Exemplo de HMM.três incógnitas e suas soluções serão <strong>br</strong>evemente di<strong>sc</strong>utidas.Para maiores detalhes, consulte [16].2.1.1. Avaliação da observação O primeiro problema serefere à de<strong>sc</strong>oberta da probabilidade de uma determinadaseqüência de observações O ter sido gerada por um específicomodelo λ. Este tipo de situação pode ser muitofreqüente nas aplicações de HMM. Como exemplo, no reconhecimentode voz, ao se produzir um fonema qualquer, estaentrada pode ser classificada como pertencente ao modeloque indicar a maior probabilidade (P [O|λ]); outro exemploseria no reconhecimento de comportamento de animaisem seqüências de imagens, em que o modelo que apresentara maior probabilidade indica a reação do animal peranteuma situação ou um conjunto de estímulos.A maneira mais “simples” de calcular a probabilidadede determinada seqüência de observação ter sido gerada porum modelo é através da verificação de todas as seqüênciasde estados de tamanho T (número total de observações)possíveis, e, posteriormente, calcular suas probabilidades.No entanto, este cálculo pode ser computacionalmente impraticáveldevido à quantidade de operações matemáticasnecessárias. A fim de minimizar o número de operações,podem ser utilizados dois métodos, chamados forward ebackward [16]. Ambos utilizam estratégia de programaçãodinâmica para minimizar o custo computacional do cálculo.Contudo, vale lem<strong>br</strong>ar que os procedimentos forward ebackward são independentes e apenas um deles é necessáriopara encontrar a probabilidade desejada.2.1.2. Melhor seqüência de estados da observação Asegunda incógnita se refere à bu<strong>sc</strong>a da melhor seqüênciade estados percorrida pelo modelo para uma determinadaseqüência de observações. Ou seja, a seqüência de estadosque produz a maior probabilidade final para uma determinadaseqüência de observações dentre todas as seqüênciasde estados possíveis no modelo. Um exemplo de situaçãoem que esta incógnita ocorre é na transformação de falaem texto, em que os sinais acústicos são as observaçõesdo sistema e as letras são os estados do modelo. Assim,dado um sinal acústico, procura-se a seqüência de estados2.1.3. Treinamento do modelo A terceira incógnita éa realização do ajuste dos parâmetros (A, B, π) do modeloa partir de uma ou mais seqüências de observações.A seqüência O utilizada para este ajuste é chamadade seqüência de treinamento, pois é utilizada para treinaro HMM. Não existe uma maneira conhecida de realizareste ajuste para resolver analiticamente o modelo que maximizea probabilidade da(s) seqüência(s) de observações,porém, é possível e<strong>sc</strong>olher o modelo que sua probabilidadeseja localmente maximizada usando um procedimentoiterativo.A existência de um processo que ajusta iterativamentee automaticamente os parâmetros do modelo combase nas seqüências de observações é a principal forçados HMMs [6]. Este processo é executado pelo algoritmoBaum-Welch [16], que se trata de uma especializaçãodo algoritmo EM - Expectation-Maximization [2, 15] aplicadaaos HMMs. Um exemplo de aplicação desta incógnitaocorre nos treinamentos dos sistemas que utilizam HMMsno processo de classificação, em que, dadas as amostrasdas classes que se deseja reconhecer, o algoritmo ajustaos modelos, a fim de se otimizar o reconhecimento de outrasseqüências de observações similares.3. DesenvolvimentoCom auxílio do dicionário trilíngüe [17, 18], foram <strong>sel</strong>ecionadosalguns gestos que são utilizados na formação dassentençasdaLíngua Brasileira de Sinais, LIBRAS, e construídoum banco de amostras (vídeos) de gestos [3]. Paracada gesto foi desenvolvido um respectivo modelo de Markovoculto.Para a construção desses modelos foram e<strong>sc</strong>olhidas asposturas mais marcantes dos gestos, sendo que cada umadestas posturas se relaciona diretamente a um estado do modelo.Uma postura é uma configuração estática, sem movimento,enquanto o gesto é dinâmico, ou seja, possui movimento.Por exemplo, a foto de uma mão e a filmagem deuma cabeça se deslocando da esquerda para a direita sãoexemplos de postura e gesto, respectivamente.Primeiramente, foram definidas as características que,juntas, auxiliam a di<strong>sc</strong>riminar as posturas e, conseqüentemente,os gestos executados pelos sinalizadores. As característicasforam e<strong>sc</strong>olhidas com base nas de<strong>sc</strong>rições epadronizações contidas em [17, 18] e na análise dos gestose<strong>sc</strong>olhidos, observando quais combinações di<strong>sc</strong>riminavamvisualmente as posturas e os gestos <strong>sel</strong>ecionados demaneira única e, posteriormente, foram associadas as pos-292


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.turas marcantes aos estados e destacadas as transições entreessas posturas.Para obtenção das probabilidades de algumas componentesdos HMMs foi realizada uma análise visual, em que umespecialista analisou cada quadro (postura) dos vídeos (gestos)e a relacionou a um estado do respectivo modelo, obtendoas seqüências de estados para cada amostra de gestoe, conseqüentemente, as probabilidades das matrizes deocorrência inicial (π) e de transição de estados (A). Duranteaanálise, como apenas as posturas denominadas como marcantestêm um respectivo estado no modelo, algumas posturassão “ignoradas” 5 , sendo substituídas nessa correlaçãopela postura marcante mais próxima.Por exemplo, a Figura 2 ilustra as posturas marcantespara execução do gesto referente a “derrame-cere<strong>br</strong>al”, emque a mão direita deve estar em M 6 , com a palma viradapara a esquerda e com os dedos apontando para cima, tocandoo lado direito da testa. Em seguida, cruzar os <strong>br</strong>açosem frente à cabeça, com as duas mãos fechadas e com aspalmas para dentro, e mover as mãos para os lados oposto<strong>sc</strong>om força.Como foram consideradas três posturas como marcantes,conseqüentemente, o modelo construído para arepresentação deste gesto conterátrês estados. Desta forma,as posturas que são diferentes dessas, como as posturas necessáriaspara transitar de uma postura marcante para outra,são aproximadas para uma das posturas marcantes durantea análise.Figura 2. Posturas denominadas marcantespara o gesto “derrame cere<strong>br</strong>al”.A matriz de emissão de símbolos (B) se relaciona com osinal real obtido, que, no caso, são as informações obtidasatravés da seqüência de imagens dos gestos. Para obtençãodessas características, as imagens eram submetidas ao processode segmentação e, posteriormente, à extração de características.Para detecção de pele nas imagens, foram utilizadasárvores de decisão e, em seguida, foi realizado pre-5 As posturas contidas no gesto que são classificadas como de<strong>sc</strong>onhecidaspara o modelo são aproximadas pelo sistema a uma das posturasmarcantes, obedecendo a determinado critério de classificação.6 A de<strong>sc</strong>rição detalhada de todos os gestos <strong>sel</strong>ecionados podem ser obtidasno dicionário trilíngüe da Língua de Sinais Brasileira, de FernandoCapovilla.enchimento de orifícios e exclusão de regiões irrelevantes.A partir das imagens segmentadas, foram extraídas característicasda face e das duas mãos do sinalizador, como área,centro de massa, excentricidade, etc.Como a estrutura dos HMMs utilizados era di<strong>sc</strong>reta,ou seja, as observações compatíveis com o modelo estãoem domínio di<strong>sc</strong>reto, os atributos oriundos do processo deextração de características eram submetidos a uma etapa dequantização e a combinação dos valores di<strong>sc</strong>retos dos atributosproduzia um símbolo do modelo e, por conseqüência,a seqüência de observações da amostra. Assim, tendo asseqüências de estados e observações, foram obtidas as probabilidadesde emissão de símbolos para cada estado dosmodelos e, desta forma, os modelos iniciais referentes aosgestos estavam completos, possuindo suas triplas (π, A, B)necessárias.Para reconhecer as amostras dos gestos, elas são enviadasa um gerenciador de modelos, que considera as probabilidadesde geração de cada modelo para determinadaseqüência de observações. Alternativamente, este gerenciadorpossui a opção de realizar a contagem de símbolosreconhecidos pelos modelos, ou seja, os símbolos daseqüência de observações que têm probabilidade diferentede zero em pelo menos um estado do modelo. Destamaneira, seqüências com posturas que, por curtos intervalosde tempo não seguem um comportamento esperadopelo gesto, podem ser reconhecidas de maneira apropriada.Considerando que o sistema possui um conjunto desímbolos muito extenso (cerca de 210 bilhões), existem diversasseqüências de observações possíveis para um mesmogesto. Dessa forma, o algoritmo distribui em cada modelo,de maneira equiprovável, uma contribuição irissóriaaos símbolos que não estavam contidos nas amostras utilizadaspara obtenção dos modelos. Do mesmo modo, o gerenciadordistribui probabilidades mínimas às condiçõesinexistentes às transições e ocorrências iniciais dos estados,que, por serem muito pequenas, não interferem consideravelmentena classificação e podem auxiliar na correçãode erros ou restrições provenientes da fase de treinamento.Do mesmo modo, o gerenciador de modelos implementadoexecuta a mesma distribuição equiprovável a cadaiteração do algoritmo Baum-Welch, com intuito de possibilitaro aumento de probabilidade dos símbolos não reconhecidospor cada modelo. Porém, os valores dessa distribuiçãoe a ativação de sua execução é parametrizada, possibilitandoo procedimento normal, sem adaptações. Entre os valoresparametrizados, estáoíndice de estabilidade entre iterações,que determina o momento de encerramento das iterações dereestimação.Outra característica peculiar do gerenciador é a alternativaque habilita a me<strong>sc</strong>lagem de amostras de treinamento,293


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.que possibilita a execução do método reestimador em váriasseqüências de observação em cada iteração, considerandotodas as observações antes de maximizar as probabilidadesdos modelos.Como as probabilidades são muito pequenas devido aonúmero de símbolos, algumas não seriam suportadas emvariáveis comuns da linguagem de programação e<strong>sc</strong>olhida,por isso, foi implementada uma estrutura especial, que apresentasuporte ao armazenamento de números dessa natureza.Os códigos implementados para realização de todas asetapas do sistema reconhecedor são abertos e foram desenvolvidosna linguagem Java, utilizando bibliotecas deprocessamento de imagens (ImageJ) e mineração de dados(Weka) e estão em processo de incorporação na plataformaSIGUS para utilização em outras aplicações.4. Experimentos e ResultadosPara a realização das análises e experimentos no sistema,foi criado um banco de imagens referentes aos gestos <strong>sel</strong>ecionados[3]. A captura das imagens que compõem estebanco foi realizada em um ambiente com fundo estático euniforme, ou seja, não existiam objetos atrás do sinalizadoreoúnicoobjeto com movimento era ele próprio. Paraisto, foi utilizada uma câmera digital 7 para obtenção dasseqüências de imagens, sendo que esta se manteve fixadaem frente ao sinalizador e imóvel durante as gravações.A coleta foi organizada em ciclos para evitar que o sinalizadorexecutasse o mesmo gesto mais de uma vez, como intuito de aumentar a naturalidade na execução dos gestos,explorando variações possíveis. Foram capturadas imagensde 3 colaboradores para os experimentos, em que cadaum executou sete ciclos de 47 gestos. Com isso, o bancode imagens dedicado à experimentação possuia 21 amostraspara cada gesto, totalizando 987 arquivos de vídeo, emque não foi utilizado recurso algum de apoio para o rastreamentodas mãos e da face, como luvas de dados ou câmerasde infra-vermelho.Para realização dos experimentos, foram divididas asamostras em duas classes, treinamento e teste, e os experimentosem 2 grupos, sendo que as amostras de treinamentosão as mesmas utilizadas para obtenção dos modelosiniciais. Dentro de cada classe são realizados dois experimentos:com HMMs constituídos das probabilidadesalcançadas por fórmula fechada utilizando os dados obtidosdurante a análise visual e com HMMs submetidos aoprocesso de reestimação, utilizando as mesmas amostras detreinamento.A primeira classe experimenta a classificação das amostrasde treinamento, que são as mesmas utilizadas para a7 Câmera digital, marca Sony, modelo DSC-F828.obtenção dos modelos iniciais e a segunda as amostras restantes.A base de treinamento possui um conjunto total de987 amostras de gestos, sendo que 564 dessas amostras sãodestinadas 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 são asamostras que não foram utilizadas para obtenção dos modelosiniciais.5. Considerações FinaisNeste trabalho investiu-se na utilização de uma técnicabastante utilizada no reconhecimento de fala e muito bemconceituada, porém, aplicada ao reconhecimento de gestos:os modelos de Markov ocultos (HMM). O domíniodeste sistema reconhecedor é um conjunto de 47 gestos, extraídosdo dicionário Trilingüe da Língua Brasileira de Sinais[17, 18]. Estes gestos foram analisados e capturadosatravés de câmeras digitais e armazenados em um banco deimagens. Foram analisadas as variáveis visuais que melhorcaracterizavam os gestos, ou seja, um conjunto de atributosque, em conjunto, de<strong>sc</strong>revem cada gesto de maneira distinta.De fato, estas características não de<strong>sc</strong>revem especificamenteo gesto, mas sim, cada postura do gesto.Os resultados obtidos foram satisfatórios, no entanto, podemser analisadas alternativas que possam maximizar ospercentuais de acerto. Como exemplo, a análise detalhadada invariância na taxa de acerto antes e após a reestimaçãodos modelos talvez possa auxiliar na de<strong>sc</strong>oberta de característicasrelevantes ao processo de classificação.Uma das melhorias que poderia ser adicionada ao trabalho,seria a incorporação de experimentos em imagens capturadasem tempo real, pois os experimentos realizados nosistema se limitaram ao domínio de imagens armazenadasem di<strong>sc</strong>o. Além disso, outra abordagem que enriqueceria oprojeto, seriam experimentos com colabores que não estãopresentes na parcela de treinamento, para constatar se o sistemasuporta independência de usuários.Outra abordagem interessante seria uma análise comparativaentre o desempenho de classificação do sistema aplicandoesta mesma metodologia para a construção dos modelosem relação a modelos gerados aleatoriamente e reestimadosatravés do algoritmo Baum-Welch. Essa análise demonstrariaa relevância da identificação das seqüências deestados nas amostras, como foi realizado neste trabalho durantea análise visual.6. AgradecimentosEste trabalho recebeu apoio financeiro da UniversidadeCatólica Dom Bo<strong>sc</strong>o, UCDB, da Agência Financiadora de294


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Estudos e Projetos, FINEP e da Fundação de Apoio ao Desenvolvimentodo Ensino, Ciência e Tecnologia do Estadode Mato Grosso do Sul, FUNDECT. O primeiro autor destetrabalho foi bolsista ITI-CNPq e um dos co-autores é bolsistade Produtividade em Desenvolvimento Tecnológico eExtensão Inovadora do CNPq.Referências[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. TechnicalReport GIT-GVU-02-20, GVU, Fe<strong>br</strong>uary 2002.[3] J. B. Dias, K. P. Souza, and H. Pistori. Conjunto de treinamentopara algoritmos de reconhecimento de li<strong>br</strong>as. IIWorkshop de Visão Computacional, São 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: Proceedingsof 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 gesturerecognition techniques and technology. Technical report,Brown University, Providence, RI, USA, 1999.[10] J. José Josemar de Oliveira, J. M. de Carvalho, C. O.de A. Freitas, and R. Sabourin. Evaluating nn and hmm classifiersfor handwritten word recognition. In SIBGRAPI ’02:Proceedings of the 15th Brazilian Symposium on ComputerGraphics and Image Processing, pages 210–217, Washington,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 <strong>sel</strong>ection for visualgesture recognition using hidden markov models. enc,0:196–203, 2004.[13] M. Morita and L. S. Oliveira. Introdução aos modelose<strong>sc</strong>ondidos de markov. Technical report, PPGIA-PUCPR,Curitiba-Brazil, November 1998.[14] H. Pistori, P. S. Martins, M. C. Pereira, and J. J. Neto. Sigus- plataforma de apoio ao desenvolvimento de sistemaspara inclusão digital de pessoas com necessidades especiais.IV Congresso Iberdi<strong>sc</strong>ap: Tecnologias de Apoio a Portadoresde Deficiência, Vitória, Fe<strong>br</strong>uary 2006.[15] D. Pre<strong>sc</strong>her. A tutorial on the expectation-maximization algorithmincluding maximum-likelihood estimation and emtraining of probabilistic context-free grammars. ArXiv ComputerScience e-prints, December 2004.[16] L. R. Rabiner. A tutorial on hidden markov models and <strong>sel</strong>ectedapplications in speech recognition. IEEE ComputerGraphics and Applications, 77(2):42–53, 1989.[17] F. C. C. W. D. Raphael. Dicionário Enciclopédico IlustradoTrilíngüe da Língua de Sinais Brasileira, volume Volume I:Sinais de A a L. São Paulo, SP: Ed<strong>usp</strong>, Imprensa Oficial,2002.[18] F. C. C. W. D. Raphael. Dicionário Enciclopédico IlustradoTrilíngüe da Língua de Sinais Brasileira, volume Volume I:Sinais de M a Z. São Paulo, SP: Ed<strong>usp</strong>, Imprensa Oficial,2002.[19] K. Siriboon, A. Jirayusakul, and B. Kruatrachue. Hmm topology<strong>sel</strong>ection for on-line thai handwritten recognition.In CW ’02: Proceedings of the First International Symposiumon 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 EngenhariaElétrica e de Computação, Universidade Estadualde Campinas, Campinas, São Paulo, Brasil, 1999.[21] L.-G. Zhang, X. Chen, C. Wang, Y. Chen, and W. Gao. Recognitionof sign language subwords based on boosted hiddenmarkov models. In ICMI ’05: Proceedings of the 7th internationalconference on Multimodal interfaces, pages 282–287, New York, NY, USA, 2005. ACM Press.[22] M. Zimmermann and H. Bunke. Hidden markov modellength optimization for handwriting recognition systems.In IWFHR ’02: Proceedings of the Eighth InternationalWorkshop on Frontiers in Handwriting Recognition(IWFHR’02), page 369, Washington, DC, USA, 2002. IEEEComputer Society.295


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Reconhecimento de Faces Utilizando Redes Neurais Artificiais com Fusão deCaracterísticas Faciais por Método de VotaçãoRicardo A. S. Fernandes 1 , Adilson Gonzaga 2 ,E<strong>sc</strong>ola de Engenharia de São Carlos – EESC. Universidade de São Paulo – <strong>USP</strong>{ricardo.asf 1 }@gmail.com, {adilson 2 }@<strong>sel</strong>.<strong>ee<strong>sc</strong></strong>.<strong>usp</strong>.<strong>br</strong>ResumoEste artigo consiste em um método parareconhecimento de faces baseado em Redes NeuraisArtificiais que classificam três características faciais eutiliza suas saídas como entradas para a fusão que érealizada pelo método de votação, este apresenta comosaída o individuo reconhecido pelo sistema. Devido aosprincípios básicos de redes neurais, o conjunto dedados foi dividido em conjunto de treinamento evalidação, como estes conjuntos apresentaram altadimensionalidade, a técnica de PCA foi aplicada. Istopossibilitou um menor esforço computacional tanto naetapa de treinamento quanto na validação e tambémmelhores resultados puderam ser obtidos devido àextração dos principais componentes.1. IntroduçãoCom a sociedade necessitando cada vez mais desegurança, a bu<strong>sc</strong>a pela criação de sistemas inteligente<strong>sc</strong>apazes de identificar indivíduos de forma cada vezmais precisa em tarefas de difícil classificação paraseres humanos faz com que uma enorme variedade demetodologias para identificação biométrica [1, 2, 3, 4]seja pesquisada tais como: íris, face, impressão digitaldentre outras. Este tipo de atividade requer muitoesforço computacional, mas com o cre<strong>sc</strong>ente avanço datecnologia estas tarefas passam a ser viáveis e assimcolocadas em prática.Atualmente, pesquisadores procuram criar métodosde reconhecimento multi-modais utilizando a junção devárias características biométricas, por isto se faznecessário o aprimoramento no reconhecimento isoladode cada biometria, pois, o intuito é a criação de sistema<strong>sc</strong>om a melhor taxa de acertos possível.Neste contexto, em [5] é proposto umreconhecimento de faces so<strong>br</strong>e três característicasfaciais aplicando-se PCA junto com um di<strong>sc</strong>riminantelinear de Fisher para identificar cada característica faciale a seguir aplicar um método de fusão probabilística quefornece como resultado a pessoa reconhecida. Avalidação do sistema acima citado utiliza as bases dedados de faces AR e FERET para mostrar que oreconhecimento de faces pelo método de fusão fornecemelhor resposta quando comparado à classificação decada característica individual.Neste artigo propôs-se a utilização de redes neuraisartificiais nos processos de classificação da<strong>sc</strong>aracterísticas individuais e para fusão um método devotação. As características faciais consideradas foram:imagem da face em tons de cinza, imagens comaplicação de filtros Butterworth (Passa-Baixa, Passa-Alta, Passa-Faixa), imagem com aplicação do filtro deCanny e uma imagem com aplicação dos filtrosDerivativo e Gaussiano que é conhecida como Edginess.Cada característica facial utiliza sua própria redeneural para reconhecimento individual. As taxas deacerto para cada característica foram analisadas e apenasas três que contribuíam mais para o método de fusãoforam utilizadas. Desta forma as características restantesforam eliminadas e a classificação das trê<strong>sc</strong>aracterísticas faciais feita novamente pelas redesneurais onde suas saídas foram dadas como entradaspara o método de fusão que fornece em sua saída oresultado do reconhecimento, isto é, o indivíduoreconhecido. Para validação do sistema a base de dadosde faces AR foi utilizada. A partir dos resultadosobtidos, as devidas conclusões foram tomadas de acordocom a viabilidade de se utilizar classificação decaracterísticas faciais por redes neurais e com relação àcontribuição do método de fusão para melhoria dosistema.2. Análise dos Componentes PrincipaisA análise dos componentes principais (PCA) é ummeio de se identificar padrões em um conjunto de dadose expressar suas similaridades e diferenças. Também éum método bastante eficaz para quando há anecessidade da caracterização de padrões a partir dedados com alta dimensionalidade. Neste caso, comocada imagem possui dimensões de 128x96 pixels, todo oconjunto de dados irá resultar numa matriz comdimensões altíssimas. Assim PCA foi o métodoe<strong>sc</strong>olhido como apropriado para que as dimensões doconjunto de dados fossem reduzidas para que nãoso<strong>br</strong>ecarregasse o processamento das redes neurais.Entretanto, antes de se aplicar PCA foi necessário umpré-processamento em cada imagem onde suas colunas296


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.foram concatenadas para gerar um vetor coluna e cadanova imagem concatenada passa a ser uma coluna damatriz que representa o conjunto de dados. Atransformação da imagem em um vetor coluna pode serobservada no exemplo da Fig. 1.Visto que o filtro de Butterworth cria três característicasfaciais 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 tonsde Cinza.Fig. 1. Concatena as colunas de uma imagem 3x3.Com os dados já preparados, o método de PCAconsiste em se fazer primeiro o cálculo da média total so<strong>br</strong>e todo o conjunto de dados como mostrado naEquação (1).1 I M fim,K i1 m1 (1)sendo K o total de imagens utilizadas no conjunto detreinamento, I é a quantidade de indivíduos e M aquantidade de imagens por individuo. Após obter amédia total, deve-se criar uma matriz de covariâncias Cconforme a Equação (2).1 I M Tim , im ,i1 m1C K (2)sendo im, fim, , representando a diferença entreuma imagem do conjunto de treinamento e a médiatotal. Neste momento, os autovalores e autovetores sãoextraídos e o espaço PCA pode ser criado, assim há anecessidade de se projetar o conjunto de dados atual noespaço PCA para a obtenção de um novo conjunto dedados, porém, com dimensões reduzidas eposteriormente deve ser dividido em conjuntos detreinamento e validação para serem utilizados comoentrada das redes neurais, sendo que é criado umconjunto de dados para cada característica facial.3. Características FaciaisAs características utilizadas neste trabalho foramseis, porém, para que estas fossem criadas, as imagensda base de dados AR (Fig. 2a.), foram convertidas paratons de cinza (Fig. 2b.) e esta por sua vez deriva asoutras cinco características faciais pela aplicação dealguns filtros como Canny, Edginess e Butterworth.3.1. Imagem com Filtro de CannyO filtro de Canny [6] é convoluido com a imagemdeixando seu ruído uniforme e assim detectando suasbordas. Este filtro utiliza como parâmetros dois limiaresT1 0e T 2 0.1onde T1 T2e desvio padrão 0.99que 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 EdginessPara gerar a imagem Edginess [5, 7] foram utilizadosdois filtros (Gaussiana e Derivativo), aplicados nadetecção das componentes horizontal e vertical daimagem, respectivamente. A convolução da imagemem tons de cinza com o filtro de Gaussiana, ajuda areduzir os efeitos causados pelos ruídos. Já o filtroDerivativo irá amenizar os efeitos causados pelailuminação. Estes filtros dados pelas Equações (3) e (4)e podem ser visualizados na Tabela 1.2x221gx ( ) e (3)22 y22e 3yd( y) (4)2297


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Tabela 1Coeficientes dos Filtros de Gaussiana e DerivativoFiltro de Gaussiana Filtro Derivativo0.0001 0.00050.0440 0.01330.0540 0.10800.2420 0.24200.3989 0.00000.2420 -0.24200.0540 -0.10800.0440 -0.01330.0001 -0.0005Ambos filtros utilizam desvio padrão 3. Aaplicação destes filtros proporcionou a geração daimagem Edginess com características que a tornabastante robusta quando relacionada a variações nailuminação e pode ser visualizada na Fig. 4.Fig. 4. Imagem Edginess.3.3. Imagens com Filtros ButterworthO modelo típico dos filtros de Butterworth é o passabaixas,porém, este pode ser adaptado tornando-se umfiltro de passa-altas ou então juntar um filtro passa-alta<strong>sc</strong>om um passa-baixas para se tornar um filtro passafaixatambém conhecido como rejeita-faixa. As trê<strong>sc</strong>aracterísticas faciais geradas pelos filtros deButterworth podem ser visualizadas pela Fig. 5a, 5b e5c.Fig. 5. (a) Imagem com Passa-Alta, (b) Imagem com Passa-Baixa e (c) Imagem com Passa-Faixa.Como estes filtros trabalham em função dafreqüência, houve a necessidade de utilizar aTransformada Rápida de Fourier (FFT) para quantificaras freqüências intrínsecas às imagens e assim gerar umamatriz que será convoluida com o filtro para assimaplicar a Transformada Inversa Rápida de Fourier(IFFT) e recuperar a imagem já filtrada.4. Redes Neurais ArtificiaisAs redes neurais utilizadas são responsáveis pelaclassificação das características faciais de cadaindividuo, para isto faz-se necessário o treinamento,onde seus pesos internos se ajustam de forma ageneralizar a classificação no momento da validação. Naprimeira etapa possuímos uma rede neural para cadacaracterística facial, treinadas e validadas para umaposterior análise de seus percentuais de acerto, paraassim verificar quais as três características quecontribuem mais para o método de fusão, os resultadosdesta etapa são mostrados na Tabela 2. E<strong>sc</strong>olhidas a<strong>sc</strong>aracterísticas, estas são dadas como entradas para asredes neurais que por sua vez fornecem em suas saídas oindivíduo reconhecido, portanto, teremos na saída trêsresultados que podem vir a ser diferentes, por isto foiutilizado o método de fusão que utiliza como entradasestas três respostas fornecidas pelas redes neurais,fundindo-as para obter uma única resposta de saída.Todas as redes neurais utilizadas foram do tipo LVQ(Learning Vector Quantization) devido as sua<strong>sc</strong>aracterísticas, onde esta divide o espaço amostral emsubespaços disjuntos para serem representados porclasses que por sua vez irão representar cada individuo.Redes Neurais do tipo LVQ possuem apenas umacamada neural, esta utiliza uma quantidade de neurôniosigual à quantidade de classes a serem caracterizadas.Para a etapa de treinamento foram ajustados osparâmetros de taxa de aprendizagem em 0.01 e umnúmero máximo de épocas igual a 10000 [8]. Oconjunto de dados possui 800 imagens e foi dividido em20%, 10% e 5% para treinamento sendo o restante dosdados utilizados para a validação das redes. Quando sediz respeito a redes neurais, esta divisão do conjunto dedados para o treinamento pode parecer errônea, porém,em sistemas de reconhecimento de faces reais iremospossuir poucas fotos da pessoa, muitas vezes uma únicafoto, daí a utilização de um conjunto de treinamentopequeno e um conjunto de validação maior que iriarepresentar a pessoa em diversas posições diferentes.Por isso também foi variado o tamanho do conjunto detreinamento de modo a diminuir a quantidade deimagens e verificar se a redução percentual se tornamuito grande.298


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Tabela 2Taxas de Acerto para as características faciais individuaisImagem emtons de cinzaImagemEdginessFiltro deCannyFiltroPassa-AltaFiltroPassa-BaixaFiltroPassa-Faixa69.9% 67.5% 40.4% 69.0% 60.8% 72.6%5. FusãoO processo de fusão é realizado por um método devotação onde este recebe como entradas as saídas dasredes neurais e faz uma análise quantitativa paraverificar qual o maior número de vezes que sereconheceu um individuo entre as três entradas, sendoque em caso de as três reconhecerem indivíduosdiferentes, deve ser feito um sorteio para a e<strong>sc</strong>olha dovencedor.Por exemplo, suponhamos que a primeira rede neuralseja responsável por classificar indivíduos pela imagemem tons de cinza, a segunda rede neural classifica aimagem Edginess e a terceira rede neural classificaria aimagem com filtro passa-faixa. A primeira rede neuralforneceu como resultado a pessoa #1, a segunda redeneural a pessoa #5 e a terceira rede neural a pessoa #1,assim, o método de fusão dará em sua saída comoresposta final do sistema a pessoa #1, devido a o seumaior número de ocorrências. Todo o sistema émostrado pela Fig. 6, onde podemos visualizar aImagem (colorida), que vem direto da base de dados ARe passa por um processo de conversão que irá gerar astrês características e<strong>sc</strong>olhidas para que assim sejamdadas como entradas para as redes neurais já treinadas.A entrada do bloco de fusão será constituída pelassaídas das redes neurais, desta forma o método devotação irá eleger o individuo reconhecido e enviará aresposta para sua saída.Fig. 6.Sistema de Reconhecimento.6. ResultadosPara obtenção e análise de resultados, dois aspectosforam e<strong>sc</strong>olhidos, o primeiro consistia em se variar aquantidade de imagens da base de dados e o segundo emvariar a quantidade de dados do conjunto de treinamentode forma a reduzi-lo e fazer uma análise de viabilidadedo sistema, fazendo com que este se aproxime omáximo possível de um sistema real.Assim, os resultados são analisados de duas formasque apresentaremos a seguir pelas Tabelas 3 e 4. Para aprimeira análise, o sistema foi submetido a doi<strong>sc</strong>onjuntos de dados diferentes, onde a quantidade deimagens pertencentes à base de dados foi variada (200 e800 imagens). Com esta variação os resultadosmostraram que quanto menos classes tiverem, melhorserá o resultado, isto já era esperado, pois, este é umcomportamento normal para sistemas dereconhecimento de faces. Já a análise do segundo testeconsistia em verificar a viabilidade do sistema quandoda redução do conjunto de treinamento da rede neural.Portanto poucas imagens de cada classe foram dada<strong>sc</strong>omo entrada para o treinamento da rede neural, estaquantidade de imagens foi variada para que o conjuntode validação possuísse de 80% a 95% do conjunto dedados. Esta segunda etapa da análise de resultadosmostrou uma grande perda da taxa de acertos quando osresultados foram variados entre 80% e 90%, porém,quando variados entre 90% e 95% estes apresentarampouca diferença mostrando que o sistema se torna mais299


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.estável. Também pode ser notado que quando utilizadabase de dados com apenas 200 imagens, a variação do<strong>sc</strong>onjuntos de validação apresentaram mais estabilidadedo que quando utilizada a base de dados com 800imagens.Tabela 3Resultados para base de dados com 200 imagensConjuntodeImagemEm tons deImagemEdginessFiltroPassa- FusãoValidação cinzaFaixa80% 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 4Resultados para base de dados com 800 imagensConjuntodeImagem emtons deImagemEdginessFiltroPassa- FusãoValidação cinzaFaixa80% 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 consisteem se verificar o desempenho do método de fusão paraque sistemas de reconhecimento de faces se tornemmelhores por meio do estudo de novas técnicas. Assim afusão por método de votação conseguiu apresentar umamelhora no sistema quando os resultados da fusão sãoequiparados aos resultados obtidos por cadacaracterística facial individualmente.Referências[1] L. Hong and A. Jain, “Integrating faces and fingerprints forpersonal identification,” IEEE Trans. Pattern Anal. MachineIntell., vol. 20, no. 12, pp. 1295–1307, 1998.[2] S. Ben-Yacoub, Y. Abdeljaoued, and E. Mayoraz, “Fusionof face and speech data for person identity verification,” IEEETrans. Neural Networks, vol. 10, no. 5, pp. 1065–1074, 1999.[3] G. Shakhnarovich and T. Darrell, “On probabilisticcombination of face and gait cues for identification,” in Proc.5th IEEE International Conference on Automatic Face andGesture Recognition (FGR ’02), pp. 169–174, Washington,DC, USA, May 2002.[4] J. Kittler, M. Hatef, R. P. W. Duin, and J. Matas, “Oncombining classifiers,” IEEE Trans. Pattern Anal. MachineIntell., vol. 20, no. 3, pp. 226–239, 1998.[5] A.N. Rajagopalan, K. Srinivasan Rao, and Y. AnoopKumar, “Face recognition using multiple facial features”,Pattern Recognition Letters 28, Elsevier, <strong>2007</strong>, pp. 335-341.[6] Gonzalez, R. C., Woods, R. E., Eddins, S. L., DigitalImage Processing using Matlab, Prentice Hall, New Jersey,2004.[7] K. Srinivasan Rao, and A.N. Rajagopalan, “A ProbabilisticFusion Methodology for Face Recognition”, EURASIPJournal on Applied Processing 17, Hindawi PublishingCorporation, 2005, pp. 2772-2787.[8] Haykin, S., Neural Network: A Compreensive Foundation,IEEE Press, Location, Date.7. ConclusõesA partir dos resultados obtidos podemos dizer que oprocesso de fusão apresentou melhores resultadosmesmo com pouca variação destes com relação aosresultados individuais. Esta pequena variação pode serdevida à e<strong>sc</strong>olha das características, ficando bemcaracterizado que a utilização de métodos de DataMining pode ser útil, pois, possibilitaria a obtenção demelhores resultados. Quanto às redes neurais, estasapresentaram bom desempenho com relação a tempo detreinamento, pois, as mesmas chegaram a convergir numtempo médio de cinqüenta segundos, já suas taxas deacerto foram medianas, por isso outras arquiteturas deredes neurais artificiais podem ser verificadas natentativa de se obter um melhor desempenho do sistema.Outros tipos de sistemas inteligentes como Sistemas deInferência Fuzzy e Algoritmos Genéticos tambémpodem ser empregados nesta tarefa ao invés de RedesNeurais Artificiais.300


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Reconhecimento de Marcos de Localização por um Sistema de ControleDistribuído So<strong>br</strong>e um Barramento CAN (Controller Area Network)HENRIQUE A. VIAN 1 ,LUCIANA L. SILVA 1 ,MÁRIO L. TRONCO 1 ,ARTHUR J. V. PORTO 21 Laboratório de Automação e Computação Evolutiva, Departamento de Ciências de Computação eEstatística, Universidade Estadual Paulista – UNESP2 Laboratório de Simulação e Controle de Sistemas Di<strong>sc</strong>retosE<strong>sc</strong>ola de Engenharia de São Carlos - Universidade de São Paulo - <strong>USP</strong>E-mails: havian@gmail.com, lleals@gmail.com, mariot@ibilce.unesp.<strong>br</strong>, ajvporto@<strong>sc</strong>.<strong>usp</strong>.<strong>br</strong>AbstractA great challenge in the development of mobile robotsis their autonomy. Several studies demonstrate a numberof ways of reaching the goal of improving this feature in arobot. This paper shows one method associating the useof computational vision with distributed control systemsfor the landmark recognition, using affine momentinvariants (AMIs). Also, it makes a de<strong>sc</strong>ription of thestrategy adopted for this task with the use of a CAN busnetwork.1. IntroduçãoA robótica tem sido tema de muitos estudos e temobtido grande desenvolvimento nos últimos anos nocampo da Inteligência Artificial [1]. Desde a década de1950 que pesquisadores mostram interesse nodesenvolvimento de robôs móveis. Neste período,Willian Walter desenvolveu diversos robôs que tinham acapacidade de desviar de obstáculos ou seguir fontesluminosas [2].O desenvolvimento de robôs móveis depende deconceitos das mais diversas áreas do conhecimento, comoda teoria da cognição, do controle e automação, dosensoriamento, da visão computacional, da engenhariaelétrica e mecânica. Por isso, o desenvolvimento destesequipamentos atualmente ainda se mostra como umgrande desafio, principalmente no que diz respeito àautonomia do robô, cujo grau depende, invariavelmente,da implementação embarcada de diversas funções que oauxiliam no êxito do alcance de seus objetivos,propiciando capacidade de contornar ou tomar decisõesem relação a fatos inesperados ocorridos no ambiente denavegação [3].Pesquisas recentes têm mostrado o uso freqüente deassociações entre sensores e sistemas de visãocomputacional para possibilitar a autonomia dos robôs.Os sistemas de controle distribuído também têm sidobastante empregados em arquiteturas de controle dosdispositivos 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, paradeterminar sua localização no ambiente e traçar sua rota.Uma arquitetura adaptativa para robôs móveis quepromove um aprendizado por reforço e coordena o<strong>sc</strong>omportamentos do sistema foi desenvolvida porSelvatici [1]. Esta arquitetura faz uso de visãocomputacional para fazer o reconhecimento do ambiente epara verificar a disposição de objetos ou obstáculos nafrente do robô.Este trabalho mostra uma estratégia de controle de umrobô móvel com o uso de um sistema de controledistribuído, com intervalos de tempo destinados tambémao reconhecimento de marcos.Na próxima seção apresenta-se a fundamentaçãoteórica na qual o trabalho é embasado. A seção seguintemostra a estratégia de controle e, por fim, a última seçãoconclui so<strong>br</strong>e a viabilidade deste trabalho.2. Contexto teóricoNesta seção mostram-se as áreas a<strong>br</strong>angidas pelopresente trabalho e a teoria envolvida.2.1. Marcos de LocalizaçãoA identificação do ambiente permite ao robô atingir oobjetivo proposto de maneira mais fácil e rápida. Oreconhecimento de marcos (imagens de objetos ou figurasartificiais presentes na cena coletada) permite ao robôrealizar esta identificação. Diversos trabalhos utilizamdesta 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ãosofre alterações relevantes. Para ambientes dinâmicos, ouso de marcos artificiais, inseridos em pontos estratégicos301


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.do ambiente, se mostra uma maneira eficiente depropiciar a identificação do local pelo robô.Neste trabalho, faz-se uso de marcos artificiais,baseados em setores circulares, como é mostrado maisadiante. A seguir, introduz-se o conceito dos invariantesutilizados na identificação destes marcos.2.2. Momentos Invariantes AfinsOs momentos invariantes afins (AMI – Affine MomentInvariants) surgiram da teoria de invariantes algé<strong>br</strong>icas[11] e têm se mostrado uma ferramenta importante para oreconhecimento de marcos de localização em imagen<strong>sc</strong>oletadas por um sistema de visão computacional. Atransformação afim que possibilita o AMI é mostrada aseguir:u = a0+ a1x+ a2y.(1)v = b0+ b1x + b2y.Em que (x,y) são as coordenadas do pixel da imagemantes de aplicar-se a transformada e (u,v) são asposteriores a sua aplicação. A demonstração teórica eexperimental dos AMIs pode ser vista em Flusser & Suk[11; 12].Considerando µ pq o momento central de ordem (p+q),este é dado por:pqµ = ( x − x ) ( y − y ) f ( x,y)dxdy,(2)pq∫∫AtOnde (x t , y t ) são as coordenadas do centro de gravidadedo objeto de área A e f(x,y) é a intensidade do nível decinza do pixel na posição (x,y).Os primeiros seis AMIs são mostrados a seguir [11]:1 2I1= ( µ20µ02− µ11),4(3)µI21=µ0010002 2( µ µ0330+ 4µµ00+ µ ( µ020332130µ− 6µµ2− 3µ1I3= ( µ20(µ721µ03µI41=µ11002+ 9µµ+ 6µ3− 8µµ+ 9µ123 2( µ µ202011201120µµ− 6µµ02113020220203µµµµµ21202032213021− µ302µ ),22112)),2121212tµ µ + 4µµ03− µ ) − µ ( µ µ2− 6µµ µ+ 12µµ30− 6µ2+ 12µµµ2120µ03202011−18µ11+ µ11µµ2023021221102µµµ30µ230µ212030),03µµ303003312− µ2− 6µµµ12µ031112µ0220µ2102µ21µ12µ2112µ)03(4)(5)(6)1 2I5= ( µ40µ04− 4µ31µ13+ 3µ22),6(7)µI6001=9µ00− µ( µ40µ40213µ04µ− µ2204µ+ 2µ23131− µµ322Em [13] é apresentado experimentalmente o uso deAMIs no reconhecimento de caracteres. Sua eficácia parao reconhecimento de marcos baseados em setore<strong>sc</strong>irculares, também é mostrada em detalhes por Zitová &Flusser [14], o que é exemplificado na Figura 1.Este trabalho também utilizará setores circulares comomarcos de localização no ambiente.Figura 1 - Exemplos de marcos de localização [14]E<strong>sc</strong>olheu-se o uso de setores circulares porapresentarem simetria radial, o que faz com que os AIMsI 2 ,, I 3 e I 4 tenham valor praticamente nulo, o que nãoauxilia no reconhecimento e, portanto, não precisam sercalculados. Isto ocorre devido ao momento central µ pq tero valor zero, na condição citada, quando p ou q éímpar.Porém, através do cálculo dos invariantes I 1 , I 5 e I 6 épossível identificar os marcos, mesmo com deformaçõesou ruídos na imagem, o que é comprovadoexperimentalmente em [14].Na próxima subseção, é de<strong>sc</strong>rito o protocolo de redeutilizado no sistema de controle distribuído, cujos nós darede, além do controle, realizam os cálculos dosinvariantes e do reconhecimento do marco de localizaçãono presente trabalho.2.3. Protocolo CANO CAN Bus (Controller Area Network Bus) [15] foidesenvolvido pela empresa alemã Robert BOSCH edisponibilizado em meados dos anos 80. Sua aplicaçãoinicial 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 emáquinas da construção civil, entre outros [16]. É umprotocolo de comunicação serial síncrono. O sincronismoentre os módulos, também chamados de nós, conectados àrede é feito em relação ao início de cada mensagemlançada no barramento. Trabalha baseado no conceitomulti-mestre, onde todos os módulos podem se tornarmestre em determinado momento e e<strong>sc</strong>ravo em outro,22),µ13(8)302


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.além de suas mensagens serem enviadas em regimemulticast, caracterizado pelo envio de toda e qualquermensagem para todos os módulos existentes na rede [17].O protocolo CAN é bastante fundamentado, e foipadronizado pela SAE (Society of Automotive Engineers)e pela ISO (International Organization forStandardization). Algumas características importantesdeste protocolo são:• Uso de cabos do tipo par trançado no barramento decomunicação de dados, o que propicia baixo custo ereduzida complexidade de implementação física;• Método de acesso ao barramento com priorização demensagens, evitando colisões e permitindo umaresposta rápida à necessidade de transmissão;• Possibilidade de configurações para operar com taxade transferência que pode variar de 1 Kbps até1Mbps;• Flexibilidade de configuração, permitindo-seadicionar, remover ou alterar dispositivos da rede, oque facilita operações de manutenção e alterações nosistema;• Recepção multicast com sincronização, ou seja,vários nós podem receber a mesma mensagem, aomesmo tempo;• Redes bastante robustas, devido às várias técnicaspara manter consistência de dados e para detecção esinalização de erros;• Método de tolerância a falhas, sendo capaz dedistinguir entre erros temporários e permanente dosnós, inclusive possibilita fazer o desligamentoautomático de nós com problema;• Dados com tamanho otimizado por quadro,permitindo a transmissão de dados comuns adispositivos de sistemas de controle, com tempocurto de ociosidade para cada dispositivo.Devido a confiabilidade e robustez apresentada, oprotocolo CAN expandiu-se rapidamente para diversasáreas, entre elas a agrícola, a industrial e a de sistemas decontrole.Na área agrícola, existem diversas normas que foramembasadas no protocolo CAN, surgindo protocolos quetêm sido implementados e utilizados nesta área naautomação de veículos agrícolas e de sistemas de controlede cultivo [16; 17; 18].Marques et al. [19] apresenta um sistema embarcadocom uso de rede CAN em um veículo móvel capaz detomar decisões em tempo real para desviar de obstáculossurgidos no ambiente.Um robô móvel para uso em ambientes internos depequeno porte, mas que pode atingir uma velocidade de 4m/s é mostrado por Lingemann et al. [20]. Os autorespropuseram algoritmos de controle para que este robôatingisse esta velocidade com segurança em ambientesdinâmicos, utilizando um sistema de controle distribuídoso<strong>br</strong>e um barramento CAN.3. Estratégia de ControleOs objetivos do presente trabalho contemplam aimplementação de um Barramento CAN para controle damovimentação do robô móvel do LACE, bem como parao reconhecimento de marcos de localização, em conjuntocom um Sistema de Visão Omnidirecional, embarcadosno mesmo. O projeto envolve a implementação dos nósCAN individuais, com a definição das funçõesdesempenhadas por cada um na hierarquia de controledefinida, além de uma estratégia para a troca demensagens entre tais nós, utilizando o barramento CANcomo meio de comunicação.A rede apresenta a utilização de duas janelas distintasde tempo dentro de cada segundo, sendo que em 85% dotempo 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 oreconhecimento do marco. Estas janelas de tempo estãoesquematizadas na Figura 2.1 segundoJanela deControleJanela de Processamento(reconhecimento de marco)Figura 2 - Janelas de tempo de funcionalidade dos nósda redeO robô é equipado com Módulos de Acionamento eControle/Sensoriamento, além de um Sistema deNavegação baseado em Visão Ominidirecional, comomostrado na Figura 3.Figura 3 - Sistema de Visão Omnidirecional do RobôMóvel do LACE303


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Como visto na Figura 3, o robô móvel do LACEpossui um Módulo de Visão Omnidirecional, trabalhandoem conjunto com um Módulo de Planejamento eDefinição de Rotas e um Módulo de Controle Fuzzy, osquais atuam so<strong>br</strong>e uma camada de acionamento e controle(Módulos de Acionamento e Controle Microprocessados)proporcionando uma estrutura para sua movimentaçãocontrolada.Baseado neste cenário, contempla-se a seguinteestraté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 apresentamcaracterísticas específicas, baseadas nas funções quedeverão desempenhar: Nó Controlador de Velocidade deMotores DC; Nó Controlador de Posição Angular dasrodas de direção; Dois Nós de Aquisição de Dados deSensores (de Infravermelho e de Ultra-som); Nó deInterface que realiza o reconhecimento dos marcos e NóGerenciador de Comunicação.O chassi do robô móvel é composto por rodas detração e de direção, com controles independentes. Suavelocidade máxima é de 30cm/s. O robô também estáequipado com sensores de ultra-som para a medida dedistâncias e sensores ópticos reflexivos tipo barreira, paraa detecção de obstáculos.O robô possui um Computador de Bordo (PC Pentium<strong>III</strong>, com Sistema Operacional LINUX). Os Módulos deVisão Omnidirecional, Fuzzy e de Geração de Rotas estãoimplementados neste computador.Pode-se ver uma imagem coletada pelo sistema devisão na Figura 4. Esta imagem é binarizada pelo sistemae uma parte dela, onde pode existir um marco delocalização, é enviada para a rede de barramento para aidentificação deste marco.Figura 4 - Imagem do sistema de visão omnidirecionalNo Barramento CAN, um comando recebido via portaserial é derivado em mensagens CAN endereçadas aosnós correspondentes para que realizem as funções decontrole necessárias para o deslocamento controlado dorobô, bem como para a identificação de marcos delocalização.3.1. Algoritmos de ControleDistribuídos nos nós da rede de modo a aproveitar oprocessamento de todos os controladores de maneirahomogênea, os algoritmos implementados envolvem:• um algoritmo para o controle de Velocidade dosMotores DC presentes no chassi (motores de tração),baseado em PWM (Pulse Width Modulation);• um algoritmo para o controle de Posição, em malhafechada, das rodas de direção do veículo, baseado naleitura de um sensor de posição e utilizando umaestratégia de controle PID;• um algoritmo para a leitura dos sensores presentesno robô e tratamento das informações lidas;• algoritmos necessários para a implementação dasfunções do Módulo Gerenciador de Comunicação;• algoritmos para a Navegação do Robô, baseado nacomposição dos algoritmos anteriores e emcomandos recebidos via PC, envolvendo diversasformas de operação (robô autônomo, robôteleoperado e AGV);• algoritmos para o cálculo de Invariantes para oreconhecimento de marcos;• um algoritmo para o reconhecimento de marcos,através dos valores dos Invariantes calculados poroutros nós.Com o uso dos Nós CAN e de seus respectivosalgoritmos, implementa-se a operação do robô, de formaintegrada, de maneira a possibilitar sua operação comorobô autônomo (percorre o ambiente evitando obstáculosaté receber um comando de parada), robô teleoperado(responde a comandos de um operador remoto, cuidandopara manter sua integridade e a do ambiente onde <strong>sel</strong>ocomove) ou como um AGV (recebe uma posição metacomo entrada e a bu<strong>sc</strong>a de forma autônoma, parandosomente ao alcançá-la).Este modelo para o controle do robô móvel contemplauma arquitetura hí<strong>br</strong>ida que possui um nó da rede comodispositivo controlador e há a possibilidade dos demaisnós se comunicarem entre si quando necessário, além detrabalharem paralelamente com o objetivo de identificarmarcos de localização.Destaca-se na Figura 5 o diagrama de blocosrepresentando a comunicação da rede no intervalo detempo dedicado ao processamento para identificação deum marco de localização.Ainda na Figura 5, é visto que o nó da rederesponsável pela comunicação com o sistemaimplementado no PC, embarcado no robô móvel, recebe aimagem através de uma porta serial. São realizados entãoos seguintes passos:Passo 1: O nó Mestre particiona a imagem emconjuntos de até 8 bytes e os envia em mensagens que sãorecebidas 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, 5e 6, respectivamente, e os enviam ao nó responsável pordeterminar o marco.Passo 5: OnóD compara os valores dos invariantesrecebidos com os valores que possui armazenados eidentifica a figura representativa do marco de localização,304


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.enviando o resultado encontrado ao nó Mestre que orepassa ao sistema de navegação do PC.ImagemPC EmbarcadoNóMestreNóBNóDId_MarcoImagem (1)Id_Marco (5)Imagem (1)I 5 (3)I 1 (2), I 5 (3),I 6 (4)Id_Marco(5)Figura 5 - Funcionamento da Rede CAN duranteintervalo de processamentoA comunicação entre a rede CAN e o PC é feitaatravés de funções contidas em uma biblioteca para alinguagem C, gerada para facilitar a comunicação entre ossistemas envolvidos. Entre as funções contidas nestabiblioteca, incluem-se a de diminuir o tamanho daimagem binarizada, representando os valores dos pixelsda imagem por bits, e a de retornar ao sistema denavegação o marco identificado pela rede de barramento.O sistema de navegação comunica-se com o sistema decontrole fazendo uso desta biblioteca, chamando suasfunções de controle e recebendo as informações de estadodo robô e so<strong>br</strong>e os marcos localizados.4. Resultados e conclusãoImagem (1)I 1 (2)Imagem (1)I 6 (4)Foram feitas várias simulações com alguns tamanhosde imagens, para verificar a viabilidade do métodoaplicado neste trabalho. Para as simulações da rede CANutilizou-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 demensagens no barramento, considerando a identificaçãode um marco em uma imagem de 256 pixels (16x16), quefoi particionada em quatro mensagens. É possívelverificar o tempo de cada mensagem que circula pela rededurante todo o processo de reconhecimento.Simulou-se também para imagens quadradas com 64,100 e 400 pixels, obtendo como variação de tempo darede de 9,7 a 13,2ms, de 13,56 a 18,14ms e de 45,38 a53,78ms, respectivamente.Preferiu-se trabalhar com imagens de 256 pixels, poratender às necessidades do sistema, tanto para uma boaNóANóCBarramentoCANidentificação do marco, como para a viabilidade temporalpara a execução desta tarefa pela rede, dentro dos limitesde tempo especificados na definição da estratégia decontrole.Tabela 1 - Tempos de troca de mensagensTamanho Tempo dados dados Mensagem(bit) (ms)Número daMensagem– conteúdoMensagemcom 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 – I 1 24 3,54 4,36 – I 5 24 3,98 4,747 – I 6 24 4,34 5,18 – Marco 8 4,34 5,1Tempo Total (ms) 25,36 31,47Os tempos obtidos mostram a viabilidade destetrabalho e do uso de um sistema de tempo compartilhadopara a execução de tarefas que auxiliam na navegação dorobô, aproveitando o tempo disponível dos nós da redepara os cálculos necessários para efetuar a identificaçãodos marcos. A janela de tempo reservada para arealização de cálculos (cerca de 150ms por segundo) podeser ainda utilizada para outros fins, visto que oreconhecimento de marcos em uma imagem binarizada éfeito num tempo inferior a este.5. Referências Bibliográficas[1] A.H.P. Selvatici, “AAREACT: Uma ArquiteturaComportamental Adaptativa para Robôs Móveis queIntegra Visão, Sonares e Odometria”, Dissertação(Mestrado em Engenharia Elétrica) – E<strong>sc</strong>ola Politécnicada Universidade de São Paulo. Departamento deEngenharia de Computação e Sistemas Digitais, SãoPaulo, SP, 2005.[2] F.J. Heinen, “Sistema de Controle Hí<strong>br</strong>ido para RobôsMóveis Autônomos”, Dissertação (Mestrado) –Universidade do Vale do Rio dos Sinos, Centro deCiências Exatas e Tecnológicas, São Leopoldo, RS, 2002.[3] G.A.N. Ferreira, “Desenvolvimento de umaarquitetura de controle baseada em objetos para um robômóvel aquático”, Dissertação (Mestrado em Engenharia)— E<strong>sc</strong>ola Politécnica da Universidade de São Paulo, SãoPaulo, SP, 2003.[4] S. Vasudevan, S. Gächter, V. Nguyen, R. Siegwart,"Cognitive maps for mobile robots—an object based305


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.approach", Robotics and Autonomous Systems, vol. 55,<strong>2007</strong>.[5] I. Rekleitisa, D. Megerb, G. Dudekb, "Simultaneo<strong>usp</strong>lanning, localization, and mapping in a camera sensornetwork", Robotics and Autonomous Systems, vol. 54,2006.[6] S.Y. Choi, J.M. Lee, "Applications of movingwindows technique to autonomous vehicle navigation",Image and Vision Computing, vol. 24, 2006.[7] S. Marsland, U. Nehmzow, T. Duckett, “Learning to<strong>sel</strong>ect distinctive landmarks for mobile robot navigation”,Robotics and Autonomous Systems, vol. 37, 2001.[8] A. Arsênio, M. I. Ribeiro, “Absolute localization ofmobile robots using natural landmarks”, IEEEInternational Conference on Eletronics, Circuits andSystems, vol. 2, 1998.[9] M. Betke, L. Gurvits, “Mobile Robot LcalizationUsing Landmarks”, IEEE Transactions on Robotics andAutomation, vol. 13, 1997.[10] S. Se, D. Lowe, J. Little, “Mobile Robot Localizationand Mapping with Uncertainty using Scale-InvariantVisual Landmarks”, The International Journal ofRobotics Research, vol. 21, 2002.[11] J. Flusser, T. Suk, “Pattern recognition by affinemoment invariants”, Pattern Recognitions, vol. 26, 1993.[12] J. Flusser, T. Suk, “A moment-based approach toregistration of images with affine geometric distortion”,IEEE Transactions on Geo<strong>sc</strong>ience and Remote sensing,vol. 32, 1994.[13] J. Flusser, T. Suk, “Affine moment invariants: A newtool for character recognition”, Pattern RecognitionLetters, vol. 15, 1994[14] B. Zitová, J. Flusser, “Landmark recognition usinginvariant features”, Pattern Recognition Letters, vol. 20,1999.[15] R. Bo<strong>sc</strong>h, “CAN Specification – Version 2.0. RobertBo<strong>sc</strong>h GmbH” - Systems und Products for CarManufacturer, 1991.[16] R.V. Souza, “CAN (Controller Area Network): umaabordagem para automação e controle na área agrícola”.Dissertação (Mestrado em Engenharia Mecânica) –E<strong>sc</strong>ola de Engenharia de São Carlos, Universidade de SãoPaulo, São Carlos, SP, 2002.[17] G. Craessaerts, K. Maertens, J. De Baerdemaeker, “AWindows- based design environment for combineautomation via CANbus”, Computers and Electronics inAgriculture, 2005.[18] A. Suvinen, M. Saarilahti, “Measuring the mobilityparameters of forwarders using GPS and CAN bustechniques”, Journal of Terramechanics, 2006.[19] R.S. Marques, N. Navet, F. Simonot-Lion,“Configuration of in-vehicle embedded systems underreal-time constraints”, IEEE International Conference onEmerging Technologies and Factory Automation, 2005.[20] K. Lingemann, A. Nüchter, J. Hertzberg, H.Surmann, “About the control of high speed mobile indoorrobots”, Second european conference on mobile robotics,2005.[21] E.P. Godoy, "Desenvolvimento de uma Ferramentade Análise de Desempenho de Redes CAN (ControllerArea Network) para Aplicações em Sistemas Agrícolas".Dissertação (Mestrado em Engenharia) – E<strong>sc</strong>ola deEngenharia de São Carlos, Universidade de São Paulo,São Carlos, SP, <strong>2007</strong>.306


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Sistema de Análise e Armazenamento de Imagens utilizando Esfregaços deSangueArantes, A.G.; Oliveira, R.F., Ushizima, D. M.Centro de Ciências Exatas e Tecnológicas - Universidade Católica de SantosSantos, São Paulo, Brasilgiunge@gmail.com, rafael_fo@yahoo.com.<strong>br</strong>, danicyber@gmail.comAbstractThis article de<strong>sc</strong>ribes the new image storage andanalysis system (SAAI), which allows centralizingpatient information related to exams and otherclinical data. The advantages of the proposed systemis to digitize medical information, organize them andto offer some basic image processing tools to dealwith blood images, so that the doctor is able toevaluate the blood smear if it is necessary. Theproject has been guided by software engineertechniques as UML, providing important insights forreformulating the system to a <strong>br</strong>oad range ofapplications related to digital images.1. IntroduçãoA análise citológica em esfregaços de sanguevigente no Brasil é feita por humanos usandoimagens observadas diretamente ao micro<strong>sc</strong>ópio, umtrabalho repetitivo e minucioso que requer muitotempo do profissional [1]. As lâminas estãosu<strong>sc</strong>etíveis à de<strong>sc</strong>oloração além de serem frágeis.Para acompanhar as lâminas, são gerados diversosrelatórios em papel que correm o ri<strong>sc</strong>o de seremsegregados acidentalmente das lâminas, gerandoerros e desentendimentos.Digitalizar imagens e relatórios é uma tendênciaem todos os hospitais do mundo, assim se pretendeorganizar e centralizar um conjunto de informações arespeito de um paciente em banco de dados. Osistema também procura viabilizar rotinas simples,porém muito úteis para melhoramento de imagensdigitais para facilitar a visualização durante análise<strong>sc</strong>itológicas.2. SAAIO Sistema de Análise e Armazenamento deImagens (SAAI) é um sistema de cadastro de examesque armazena dados clínicos e pessoais so<strong>br</strong>e ospacientes, e principalmente as imagens das lâminasde sangue capturadas por uma câmera digitalacoplada a um micro<strong>sc</strong>ópio.Esse software tem como objetivo principaloferecer aos usuários, mais precisamente aosmédicos, funcionalidades para o tratamento deimagens digitais para uma melhor visualização e ummelhor diagnóstico através de ferramentas de realceda imagem, com acesso a dados clínicos e análiseslaboratoriais registradas no sistema previamente.Além da possibilidade de cadastro em banco dedados, também serão permitidas a visualização, aalteração e a exclusão de informações.É importante enfatizar que as lâminas de sanguesão digitalizadas automaticamente através de umaparato micro<strong>sc</strong>ópio-câmera, não controlados pelosistema em questão. As imagens digitalizadas sãoprovenientes de uma ou mais lâminas e sãodisponibilizadas sem qualquer pré-classificação.3. Modelagem do ProtótipoPara elaborar o protótipo do SAAI, foi necessáriorealizar levantamento de requisitos para entender oproblema e propor uma solução. Decidiu-se pelamodelagem do sistema utilizando a linguagem UML,a qual é permeada por diagramas, que oferecem umamaneira rápida e precisa para acessar as informaçõesdo modelo proposto.Optou-se por UML (Linguagem de ModelagemUnificada), pois se trata de um padrão para amodelagem de sistemas orientados a objeto [2],oferecendo: amplo conhecimento do domínio dosistema; interação com o problema; alto grau deabstração; auxílio na implementação; visualização deerros antecipadamente; redução de ri<strong>sc</strong>os;documentação do sistema como um todo.O sistema proposto foi modelado a partir dosseguintes diagramas:307


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.o Diagrama de Caso de Uso: fornece um grau deabstração que permite a visualização estática dosistema e suas funcionalidades (Fig.1).Para modelar o diagrama de caso de uso, algumasdas características básicas de cada um dos usuáriosforam definidas: usuário-atendente: preenchimento de dado<strong>sc</strong>línicos (citômetro de fluxo e histórico dopaciente), carregamento das imagensdigitalizadas a partir das lâminas de sangue deum paciente, ou seja, indicação do sítio dasimagens nos registros do paciente. usuário-administrador: terá acesso total asfuncionalidades e informações do sistema, seráresponsável por cadastrar usuários e classificar onível de acesso, além de realizar a cali<strong>br</strong>ação dosoftware em função de parâmetros específicosdados pelo(s) micro<strong>sc</strong>ópio(s) utilizado(s) paraaquisição de imagens, como iluminação emagnificação. usuário-médico: acesso aos dados clínicos eimagens digitalizadas, podendo solicitar préclassificaçãode células para auxílio nodiagnó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.oDiagrama de Classes: permite a visualizaçãodos atributos (representação de propriedadesque todos os objetos de uma classe têm),métodos (ações que os objetos de uma classepodem realizar) e uma visão mais abstrata decomo o conjunto de classes que compõem oprojeto se relacionam (Fig.2).Nesse diagrama, temos a classe Usuário e trêssubclasses: Administrador, Atendente e Médico,onde em cada um possui características ou ações quedistinguem cada tipo de usuário. A classe Exame écomposta por quatro classes: Paciente, Hemograma,Imagem, Laboratório, e Médico Requisitante.308


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Figura 2. Diagrama de Classe do SAAI: digitalização de exames e acesso remoto a informações micro<strong>sc</strong>ópicas.E a partir dos requisitos levantados, obteve-se omodelo de entidade e relacionamento, o qual seráutilizado na implementação do software, pois permitea visualização de todas as tabelas e atributosnecessá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 hemogramacom as imagens que pertencem à mesma amostracolhida de um paciente, assim formará um históricode todas as informações clínicas de um determinadopaciente.A tabela Hemograma armazenará as informaçõe<strong>sc</strong>olhidas de um exame de sangue.A tabela Imagem armazenará as imagensoriginais, e a tabela Imagem Processada armazenaráas imagens resultantes de um processamento em309


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.diretórios previamente configurados pelo usuárioadministradordo sistema.Na tabela Paciente serão armazenados dadospessoais e clínicos.Nas tabelas Convênio, Laboratório e Usuárioserão cadastrados os dados referentes às respectivasentidades e poderão ter seus dados adicionados,atualizados ou removidos somente pelo usuárioadministrador.Figura 3. Modelo de Entidade e Relacionamento: organização de dados textuais e visuais.4. Resultados ObtidosProsseguiu-se com a modelagem seguindo asdiretivas da linguagem UML e conclui-se o banco dedados, que pode ser visualizado na Figura 3. Quantoàs rotinas de processamento de imagem, foielaborado protótipo funcional em Matlab, versão 7.0antes da implementação em Delphi, utilizandosistema operacional Windows XP com processadorPentium IV.Testes foram realizados comparando os resultadosdos algoritmos implementados com os resultadosobtidos 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


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.a) Imagem Original b) Imagem em nível de cinza c) Histograma da imagem em b)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 dadistribuição de freqüências de níveis de cinzacontidas na imagem (função imhist no Matlab).A Figura 5.a mostra o resultado da amostragem apartir da imagem da Fig. 4.b, processo que seráusado amplamente na apresentação de imagensminiaturas (thumbnails) para visualização rápida doconjunto de imagens disponíveis. No processo deamostragem ilustrado, houve a redução do número depixels de 400×400 da Fig.4.b) para 25×25,diminuindo o tamanho da imagem (a imagem abaixofoi mantida no tamanho original para mostrar adegradação sofrida após o processamento). NaFig.5.b, mostra-se a versão quantizada da imagemem Fig.4.b, onde houve redução do número total deníveis de cinza da imagem, 256 bits para 4 bits.a) Imagem amostrada b) Imagem quantizadaFigura 5. Processamentos so<strong>br</strong>e 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 (filtropassa-baixa) com a finalidade de atenuar possíveisruídos introduzidos durante a captação da imagembem como variações a<strong>br</strong>uptas inerentes da própriaimagem. E por último, a Figura 6.b, apresentaimagem com realce das bordas da imagem utilizandoo método de Sobel – essa imagem pode sercombinada com a imagem original em níveis decinza, compondo uma imagem semelhante, porémcom bordas realçadas.311


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.a) Imagem suavizada b) Imagem de bordas5. ConclusãoA tecnologia computacional digital estáconquistando um espaço cada vez maior. A demandapor ferramentas com aplicação em tratamento deimagens digitais ocorre nas mais diversas área<strong>sc</strong>omo: medicina, robótica, meteorologia, entre outras.E com base nessas informações resolvemos elaborarum sistema que cadastre informações de umdeterminado exame de sangue, a imagem da lâminautilizada para a geração do hemograma e que realizeos processamentos fundamentais nas imagensdigitais melhorando seu aspecto visual para que sejapossível o reconhecimento das células pelo humano.Foram estudados e implementados algoritmos deprocessamento de imagem, bem como modelado osistema SAAI que centralizará o controle dos dado<strong>sc</strong>línicos textuais e visuais de um paciente. Osdesenvolvimentos futuros serão em direção aimplementação do software em Delphi e testes combanco de dados em clínicas médicas.6. Referencias Bibliográficas[1] USHIZIMA, Daniela Mayumi. “Diagnóstico deLeucemia Linfóide Auxiliado por Computador”,Dissertação (Doutorado em Ciências) - Instituto deFísica de São Carlos, Universidade de São Paulo. SãoCarlos, 2004.[2] FILGUEIRA, João Maria; COSTA, WelbsonSiqueira. A Importância de utilizar UML paramodelar sistemas: Estudo de Caso, CEFET-RN,RioGrande do Norte, 2002.[3]Costa,LdaF,CésarJr,RM,Shape Analysis AndClassification, CRC Press, 2000.Figura 6. Processamentos so<strong>br</strong>e a imagem para melhorar aspecto visual.312


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Método Não Invasivo para Avaliação do Ângulo de Inclinação do Anodo deAparelhos RadiológicosPaulo Domingues de Oliveira Junior, Marcelo Andrade da Costa Vieira, Homero SchiabelE<strong>sc</strong>ola de Engenharia de São Carlos - Departamento de Engenharia Elétrica - EESC/<strong>USP</strong> Av.Trabalhador Sãocarlense, 400, Centro, São Carlos, SP - 13566-590 - (16) 3373-9366 (r.222)poliveira@<strong>sel</strong>.<strong>ee<strong>sc</strong></strong>.<strong>usp</strong>.<strong>br</strong>AbstractThere are several parameters related to theradiographic equipment that must be evaluated toguarantee the efficiency of a radiological examination.Most of them are directly related to the quality of theradiographic image. The anode angle of an x-ray tubeis an important parameter that must be evaluated as itis associated to the focal spot size, heel effect andanode heat dissipation, and can determine the usefullife of the x-ray tube. However, it is very difficult to bemeasured experimentally and rarely is provided by themanufacturer. Thus, this work presents a computationaltechnique for automatic determination of the anodeangle of any radiographic equipment using a noninvasivemethod. First, it was built a pinhole matrixmade by lead, which contains 33 radial 50µm diameterholes. This pinhole matrix is used to obtain aradiographic image of focal spot projections along theradiation field. The computer algorithm calculates thepoint spread function of each focal spot projection aswell as the distance between them. Thus, anode anglecan be determined automatically by using the fieldcharacteristic equations, as the geometric unsharpnessat any arbitrary field position can be derived fromthose at the central beam position. Results showed goodaccuracy compared to nominal values and also amethodology was developed to validate thecomputational algorithm. Determination of anodeangle of any radiographic equipment (includingmammographic ones) which great precision can beeasily done by using the method proposed in this work.1. IntroduçãoDesde sua de<strong>sc</strong>oberta por Wilhelm ConradRöentgen, os raios X vêm sendo largamente utilizadosem várias áreas com inúmeras finalidades. Entretanto,foi no âmbito da medicina que eles proporcionaram amaior revolução. Por ser um meio de diagnóstico nãoinvasivo e ainda, no contexto terapêutico, por contribuirpara cura de doenças, os raios X tiveram grandesavanços tecnológicos, os quais permitiram o surgimentode equipamentos sofisticados e de fácil interação. Poroutro lado, os efeitos biológicos associados às radiaçõesionizantes são muitos, e dependendo da dose recebida,pode ocasionar a morte do individuo [1]. No cenário<strong>br</strong>asileiro, a Portaria Federal nº 453, de 1 de junho de1998, aprova o regulamento técnico que estabelece asdiretrizes básicas de proteção radiológica emradiodiagnóstico médico e odontológico, e dispõe so<strong>br</strong>eo uso dos raios X diagnósticos em todo territórionacional. Essa norma apresenta um conjunto deprocedimentos que permitem avaliar e identificar entretodo o serviço de radiodiagnóstico, qual o processoprodutivo que está degradando a qualidade da imagemregistrada, que deverá ser posteriormente analisada porum profissional competente da área [2].Existem várias parâmetros importantes que devemser levados em consideração em um exame deradiodiagnóstico. Muitos destes fatores estãocompreendidos nas normas técnicas, que avaliam nãosó a segurança radiológica que o aparelho fornece aopaciente, mas também a qualidade da imagem formadapelo mesmo [3]. Um parâmetro importante que não estácompreendido nas normas técnicas mas, entretanto, teminfluência direta so<strong>br</strong>e vários aspectos do processo deformação da imagem é o ângulo de inclinação do anodo[4]. No tubo de raios X, o anodo é ligeiramenteinclinado para aumentar a área bombardeada pelo feixede elétrons no alvo e, dessa forma, evitar umsuperaquecimento do local. Além disso, essa inclinaçãopermite que o tamanho do ponto focal projetado noplano-imagem seja menor do que o tamanho efetivo dofoco. Com isso, aumenta-se a nitidez da imagem semcomprometer o equipamento [5-7]. Contudo, existe umlimite prático para essa inclinação. Estudos demonstramque ângulos menores que 12º podem limitarexcessivamente o tamanho do campo e, porconseqüência aumentar a influência negativa do efeitoheel na qualidade da imagem [8]. Portanto, o ângulo deinclinação do anodo deve ser considerado umacaracterística importante do tubo de raios X e,associado com outros parâmetros do aparelho, pode-seobter informações relevantes so<strong>br</strong>e o funcionamento domesmo. Entretanto, essa informação nem sempre éfornecida pelo fa<strong>br</strong>icante do aparelho. Além disso, suamedida experimental é muito complicada, pois o tubo élacrado no interior do equipamento radiográfico [4].Dessa forma, o presente trabalho tem por objetivoapresentar uma nova metodologia que permitirá amedida precisa do ângulo de inclinação do anodo deaparelhos de raios X convencionais e mamográficos,sem que haja a necessidade de procedimentos invasivosao tubo. A metodologia utilizada baseia-se na extraçãode um conjunto de parâmetros das imagens de313


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.projeções do ponto focal obtidas com uma matriz deorifício, onde se pode verificar o fenômeno decaracterística de campo. Assim, utilizando-se asequações propostas por Doi em 1977 [9], pode-se combaixo índice de erro aferir o ângulo de inclinação doanodo.a)2. MetodologiaOs experimentos computacionais foram realizadosem dois aparelhos de raios X diagnósticos e ummamógrafo. As especificações dos aparelhos podem servisualizadas na tabela 1 a seguir.Tabela 1 - Especificações técnicas e medidas nominais dosaparelhos utilizados nos experimentosCaract. Eq 1 Eq 2 Eq 3b)Marca Philips GE GEModeloRotalixSRO25/50MX 100GCRSenographe500tAplicação Radiodiag. Radiodiag. Mamog.Foco fino 0,6 mm 0,6 mm 0,3 mmFoco grosso 1,2 mm 1,2 mm 0,6 mmMaterial doalvoÂngulo doAnodo(W) (W) (Mo)16º 12º 7ºPara confecção das imagens foi utilizada uma matrizde orifício (Figura 1a), que é constituída de uma folhade chumbo com 1,0 mm de espessura. Um sistema demarcação a laser, cujo intuito principal é cortar laminasde aço, foi adaptado para que fizesse furos com 50mde diâmetro na folha de chumbo. Esse sistema consisteem um aparelho laser de diodo (775nm) acoplado a umamplificador pulsado (CPA-2001, Clark-MXR Inc.,USA) operando a 1,0 kHz [10, 11] Utilizou-se de umaconfiguração geométrica apropriada, a qual permitiu-secontrolar com precisão desejável a espessura do feixe e,portanto, o tamanho dos furos. Pode-se através dessamatriz verificar o tamanho e forma do ponto focal emdiferentes áreas do campo de radiação, como édemonstrado na Figura 1b.Figura 1 – a) imagem da matriz de orifício desenvolvidapara os testes de inclinação do anodo b) ilustração de umaimagem do fenômeno da característica de campo formadautilizando a matriz.Para garantir o alinhamento da matriz de orifíciocom o feixe central de raios X, foi utilizado um objetosimulador da Nuclear Associates (Cardinal Health,Cleveland, EUA). Esse dispositivo é utilizado emconjunto com um kit de avaliação do ponto focalmodelo Multipurpose Focal Spot/HVL Test Stand 07-62. Esse dispositivo é composto de um cilindro deacrílico que possui em seu interior 5 esferas detungstênio. Quatro dessas esferas são dispostas nasextremidades do objeto formando um quadrado,enquanto a esfera restante situa-se no centro.Pode-se através de um objeto, onde a distância realentre dois pontos é conhecida, calcular-se amagnificação (M) que é dada pela razão entre a mesmadistância medida na imagem digital e a distância realanteriormente aferida. Foi então realizada a medida dadistância do objeto ao filme e utilizando-se do resultadoobtido para magnificação, é possível obter com precisãoo valor da distância foco-filme por meio da equação 1.MDFF DOF (1)M 1314


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Onde,DFF é a distância foco-filme realDOF é a distância objeto-filmeM é a magnificação.b) c)A técnica <strong>sel</strong>ecionada para os aparelho<strong>sc</strong>onvencionais consiste em 60kVp e 30mAs, utilizandoo foco fino do aparelho. Para o mamógrafo foi utilizadaa técnica de 30kVp e 120mAs. O sistema de registro écomposto de um chassi com material de baixo númeroatômico, o que oferece a mínima atenuação dos feixesincidentes. Não se utilizou écran, para evitar ofenômeno de difusão da luz provocada pela suapresença, proporcionando assim medidas mais precisas.Sabe-se que o filme radiológico é mais sensível à luzque a radiação, dessa forma, o filme utilizado em todosos experimentos foi mamográfico, pois possui maiorsensibilidade a exposição à radiação. As imagensregistradas em filmes foram, em seguida, digitalizadasem um digitalizador a laser Lumi<strong>sc</strong>an 50 o qual possuiresolução de 1140 x 1520 pixels. Sua resolução espacialé muito próxima de 0,150mm e sua resolução decontraste é 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 naextração de parâmetros da imagem, os quais sãoposteriormente convertidos em medidas de acordo coma resolução espacial utilizada na digitalização. Para ocálculo da inclinação as primeiras informaçõesnecessárias são os tamanhos do ponto focal no centrodo campo e nas suas projeções (Figura 2a). Para isso,faz-se o levantamento da Função de espalhamento delinha (FEL) e utilizando o método da largura em meiaaltura (FWHM) calcula-se o tamanho das projeções doponto focal no campo. O primeiro passo é encontrar àproporção que a projeção do ponto focal aumenta, nasdiferentes áreas do campo de radiação, dada pelaconstante k (Figura 2c).Figura 2 – a) Esboço do fenômeno da característica decampo. b) e c) Esboço da proporção de aumento entre oponto focal no centro do campo e sua projeção. b) refereseao ponto focal no centro, enquanto c) é sua projeção emalgum lugar do campo de radiaçãoPode-se calcular o valor da constante k a partir darelação entre o tamanho do ponto focal no centro docampo (figura 2b) e cada uma de suas projeções (figura2c). Calcula-se então a distância entre o ponto focal nocentro do campo e suas projeções (dx). Isso pode serfeito contando o número de pixels entre os pontos emultiplicando pela constante dada pela resolução dosistema de aquisição da imagem digital. Por fim,calcula-se o ângulo de inclinação utilizando a equação 2e os parâmetros adquiridos previamente.(2)Onde;dx é a distância do ponto focal no centro docampo até a sua projeção em questãoDFF é a distância foco-filme calculada pelaequação 1k é a constante calculada pela relação dotamanho do ponto focal no centro do campo esuas projeções é a inclinação do anodo calculada.3. ResultadosA seguir são apresentados os resultados obtidos como aplicativo computacional desenvolvido. Foramregistradas três imagens para cada equipamento,garantindo assim, um espaço amostral confiável paraavaliar a reprodutibilidade do sistema desenvolvido.Com isso, calcula-se a média dos ângulos encontradospara cada equipamento e seus respectivos desviospadrão. Pelo fato do anodo ser de difícil acesso e seuvalor nominal possuir exatidão questionável, foi315


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.desenvolvido um método de validação para o sistema.Esse método consiste em inclinar o próprio sistema deregistro das imagens em um ângulo conhecido. Dessaforma, 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 servisualizado na figura 3.próximos dos resultados esperados, cuja maior erroencontrada foi de 4.06%.Tabela 2 - Inclinações medidas para cada equipamentonos testes de validação do método computacionaldesenvolvidoÂ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. Di<strong>sc</strong>ussões e ConclusõesFigura 3 - Ilustração do método de validação propostopara o sistema. Em (a) as imagens são registradas seminclinação, da mesma forma que os experimentosmostrados na tabela 2. Em (b) inclina-se o sistema deregistro em 10 graus simulando uma mudança conhecidano ângulo de inclinação do anodo.Foram calculados os desvios médios percentuaislevando em consideração os valores médios obtidospara cada equipamento, a variação entre os valoresmédios e os obtidos para cada ângulo . Essesresultados podem ser observados na tabela 2.Analisando os resultados obtidos é possível notar queos valores calculados para os desvios percentuais entreos experimentos com e sem inclinação são muitoUm grande fator que influência no resultado dosistema é o contraste conseguido nas imagensadquiridas. Por esse motivo tomou-se certo cuidado noprocesso de aquisição das imagens. Foram utilizados nosistema de registro filmes e chassi mamográfico, quejuntamente com a técnica demonstraram-se ótimosresultados, embora não foram utilizadas telasintensificadoras, o que ocasionou a necessidade devarias exposições até que o filme adquirisse o contrastedesejável. As informações obtidas das imagens tiveramuma boa precisão. Isso ocorreu por dois motivos, obaixo nível de ruído encontrado na imagem, que foiproporcionado pelo método de aquisição adotado, e aalta resolução que as imagens foram digitalizadas, comcerca de 1200dpi.A análise dos resultados obtidos revelou que oaplicativo computacional se demonstrou eficiente,proporcionando baixa estimativa de errosfundamentados pelo método de validação utilizado.Pode-se notar que a reprodução dos ângulos do anodoao se variar a inclinação do chassi foram muitopróximas das variações nominais utilizadas, obtendoum desvio máximo de 4.06%. Através desse método devalidação foi possível perceber que os ângulos deinclinação nominais dos aparelhos estavam coerente<strong>sc</strong>om os informados. Todavia, isso pode nem sempreestar correto e disponível. Ao se adquirir umequipamento, deve-se em primeira instância realizar ostestes de aceitação, verificando se o equipamentoanalisado possui realmente os parâmetros especificados.Por serem equipamentos frágeis, vários fatores podemser alterados a qualquer hora, seja pelo próprio desgastelevado por sua utilização ou mesmo no transporte atéseu destino final. Sendo assim, esses equipamentosestão sujeitos a alterações que podem prejudicar aqualidade da imagem formada, já que o ângulo deinclinação do anodo tem influência direta so<strong>br</strong>e otamanho do ponto focal, efeito heel e também na vidaútil do tubo. Dessa forma através de um considerável316


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.número de testes juntamente com a análise dosresultados obtidos pode-se concluir que o aplicativodesenvolvido é funcional e realiza medidas coerentes,portanto, sua utilização pode repercutir medidasprecisas da inclinação do anodo, proporcionandocálculos mais precisos para equações que necessitamdesse parâmetro como parâmetro de informação.5. AgradecimentosOs autores gostariam de agradecer a FAPESP(Fundação de Amparo à Pesquisa do Estado de SãoPaulo) pelo apoio financeiro.6. Referências[1] OKUNO, E., CALDAS, I. L. e CHOW, C., Físicapara ciências biológicas e biomédicas. Ed. Har<strong>br</strong>a(1982).[2] BRASIL (1998). Portaria nº453: Diretrizes deproteção radiológica em radiodiagnóstico médico eodontoló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 ControlProgram Can Help the Clinical Detectability of findingsin Mammograms. In: World Congress on MedicanPhysics and Biomedical Engineering, Chicago. USA.[4] STUMBO, S.; BOTTIGLI, U.; GOLOSIO, B.;OLIVA, P. TANGARO. S.; (2004) Direct analysis ofmolybdenum target generated x-ray spectra with aportable device. Medical Physics, v.31, n.10, p. 2763-2770.[5] CHRISTENSEN, E.E., CURRY, T.S., (1978) <strong>III</strong>and Dowley, J.E., An Introduction to the Physics ofDiagnostic Radiology, Lea and Febiger, Philadelphia.[6] HENDEE, W.R., CHANEY, E.L. AND ROSSI,R.P., (1997) Radiologic Physics, Equipament andQuality Control, Yer book Medical Publishers,Chicago.[7] MEREDITH, W.J., MASSEY, J.B., (1977)Fundamental Physics of Radiology, John Wright andSons, Bristol.[8] FRITZ, S.L.; LIVINGSTON, W.H. (1985). Theeffect of anode curvature on radiographic heel effect.Medical Physics, v.12, n.4, p.443-446.[9] DOI, K. (1977). Field characteristics of geometricunsharpness due to X-ray tube focal spot. MedicalPhysics, v.4, n.1, p.15-20.[10] LERNER, E. J. (1999) “Laser marking systemsstrive for color and speed, Laser Focus World 35,p.123.[11] CRAIG, B. (1998) Ultrafast pulses promise betterprocessing of fine structures, Laser Focus World 34,p.79.317


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Comparação de De<strong>sc</strong>ritores de Formas no Reconhecimento de ObjetosJonathan de Andrade Silva, Wesley Nunes Gonçalves, Bruno Brandoli Machado,Hemerson Pistori, Albert Schiaveto de SouzaUCDB - Universidade Católica Dom Bo<strong>sc</strong>oGrupo de Pesquisa em Engenharia e ComputaçãoAv. Tamandaré, 6000, Jardim Seminário, 79117-900, Campo Grande, MS, Brasil{jsilva, wnunes, bmachado}@acad.ucdb.<strong>br</strong>, {pistori,albert}@ucdb.<strong>br</strong>ResumoOs de<strong>sc</strong>ritores de formas são amplamente utilizadospara de<strong>sc</strong>rever ou representar objetos em imagens. Nestetrabalho é realizado um estudo comparativo entre os de<strong>sc</strong>ritoresde formas baseados em contorno e região. Na abordagempor contorno, foram avaliadas as cadeias de códigos,k-curvatura e de<strong>sc</strong>ritores de Fourier, e na abordagem porregião utilizou-se momentos de imagem. A classificação ébaseada pela extração de características das formas. Estesde<strong>sc</strong>ritores foram aplicados ao problema de identificaçãodo comportamento de camundongos. A avaliação foi realizadaatravés da variação dos parâmetros de cada técnicae na acurácia dos classificadores, alcançando 92.6% deacerto a técnica momentos de imagem.1. IntroduçãoO reconhecimento de padrões é um processo para tomadade decisão com o objetivo de classificar os objetos emum número de categorias ou classes. A capacidade de reconhecerpadrões em uma imagem depende muito da quantidadede informações que se conhece de cada objeto [8].Com isso, extrair características para de<strong>sc</strong>rever e representaros objetos é uma etapa fundamental em qualquer processode reconhecimento de objetos. Há diferentes métodospara extrair informações de objetos em imagens, como osde<strong>sc</strong>ritores de formas, que utilizam o contorno ou a regiãodo objeto como atributo principal.Um importante problema que vem sendo estudado pordiversos grupos de pesquisa em visão computacional éacapacidade de reconhecer através de imagens os comportamentosde animais em experimentos na área da saúde.A observação dos comportamentos dos animais é importantepara de<strong>sc</strong>o<strong>br</strong>ir informações relacionadas, como a trajetóriae o tipo dos movimentos realizados. Através dessasinformações é possível identificar o comportamento dessesanimais quando aplicada alguma droga ou realizada algumamodificação genética. Um experimento muito utilizado éoteste do campo aberto [11]. Este experimento é geralmenterealizado com ratos e camundongos, que são colocados emuma arena e seu comportamento é analisado para que possamser identificadas mudanças significativas.Neste trabalho, foram utilizados dois principais gruposde técnicas para a de<strong>sc</strong>rição de formas, o primeiro baseadonas características das regiões e o segundo nas característicasdo contorno do objeto. Entre as técnicas dede<strong>sc</strong>rição por região foi avaliada a técnica de momentosde imagem, enquanto na abordagem por representação docontorno do objeto foram realizados experimentos com osalgoritmos de cadeia de códigos, k-curvatura e de<strong>sc</strong>ritoresde Fourier. As comparações foram realizadas com base emimagens reais de três comportamentos básicos dos camundongos,comportamento de auto limpeza, exploração verticale horizontal. Para o auxílio na classificação dos comportamentosrealizados pelos camundongos foi utilizado osoftware Weka 1 . Para cada técnica foi e<strong>sc</strong>olhida a melhorconfiguração de parâmetros de acordo com a porcentagemde acerto dos classificadores.Este artigo está estruturado em cinco seções. A Seção2 cita os trabalhos correlatos de de<strong>sc</strong>ritores de formas. NaSeção 3, são definidos os de<strong>sc</strong>ritores de formas. Na próximaseção, são di<strong>sc</strong>utidas as ferramentas utilizadas e a realizaçãodos experimentos. Na Seção 5, são analisados os resultadosdas técnicas implementadas. Finalmente, são apresentadosa conclusão e os trabalhos futuros.2. Trabalhos CorrelatosA representação de objetos é um importante passo parao reconhecimento de padrões. Diversas características e algoritmosde representação têm sido analisados e desenvol-1 O Weka é uma ferramenta livre que possui um conjunto de algoritmosde aprendizagem de máquina. http://www.cs.waikato.ac.nz/ml/weka/318


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.vidos nos últimos anos, sendo o contorno uma das característicasmais utilizadas na representação dos objetos. Em[9] foi desenvolvido um método para o reconhecimento deobjetos irregulares baseado em seu contorno. O contornodo objeto é de<strong>sc</strong>rito por cadeia de códigos baseada em histograma,sendo invariante a rotação e translação.Ométodofoi avaliado no reconhecimento de letras e em objetos irregulare<strong>sc</strong>om superfícies defeituosas.Wu [15] de<strong>sc</strong>reve um método de representação utilizandoos pontos predominantes de cada objeto. Os pontospredominantes são aqueles onde a curvatura é extrema. SegundoWu, a detecção desses pontos é uma importante etapapara representação de formas. O método apresentado utilizacadeia de códigos para representar o contorno e o algoritmoK-cosseno como medida de curvatura. O método foi avaliadoem contornos de folhas utilizando cinco critérios deavaliação: número de pontos predominantes, taxa de compressão,erro médio da área, erro médio quadrado e tempode processamento.Em [14] o algoritmo k-curvatura foi utilizado para identificaros dedos das mãos para o reconhecimento de gestose outras aplicações de interação homem-máquina. Paraavaliar o método, foi considerada a porcentagem de acertosde dedos identificados e do reconhecimento de 4 gestos(mão fechada, mão aberta, mão com um dedo estendidoemão com dois dedos estendidos). O resultado do reconhecimentode dedos foi em média de 97.6% em 6971 imagens.Para o reconhecimento de gestos o resultado foi aindamelhor, em média 99.39% de acertos avaliados so<strong>br</strong>e 4745imagens.Uma outra representação extensamente empregada sãoos de<strong>sc</strong>ritores de Fourier. Em [16] os de<strong>sc</strong>ritores de Fouriercom diferentes representações de formas foram utilizadospara recuperação de imagens através do contorno. Aavaliação foi realizada através da taxa de formas relevantesretornadas pelo número de formas bu<strong>sc</strong>adas no bancode dados. Com isso, o melhor resultado foi alcançado utilizandoos de<strong>sc</strong>ritores de Fourier derivados da distância entrecada ponto e o centro do objeto. Já em [13], os de<strong>sc</strong>ritoresde Fourier, juntamente com redes neurais, foram utilizadosna inspeção industrial. Os experimentos foram realizadosem dois produtos e o treinamento foi realizado so<strong>br</strong>e480 amostras com produtos aprovados e reprovados nainspeção. Na fase de reconhecimento foram utilizadas 200amostras. Em ambos os experimentos com os produtos, aporcentagem de acertos foi máxima, utilizando 15 de<strong>sc</strong>ritorespara a representação da forma dos objetos.A modelagem da variação da forma é uma importante característicapara o reconhecimento de objetos. Liu [10] apresentouum método para modelar as mudanças nas formas 2-D dos objetos. O método representa a forma do objeto utilizandode<strong>sc</strong>ritores de Fourier e as mudanças utilizando modelosde auto-regressão.Ométodo foi avaliado em três diferentesaplicações. Na primeira aplicação, o método é avaliadona detecção de contornos de fogo, alcançando uma taxade 99.9% de acerto. A segunda aplicação demonstra quea variação da forma sozinha é uma boa característica paradi<strong>sc</strong>riminação. Os experimentos são realizados utilizando ométodo cross-validation em sete seqüências de pessoas correndo,bandeiras em movimento e seqüências de fogo. Aterceira e última aplicação é utilizada em rastreamento decontornos. Uma limitação apresentada pelo método é queo modelo auto-regressivo (AR) é um sistema linear e podeocorrer casos onde a linearidade não é suficiente para representara variação da forma de um objeto deformável.Em [1] a técnica de cadeia de códigos é utilizada para representaras formas geométricas de quadrados e retângulosem uma imagem, utilizando o conceito de conectividadede-4para representar quadrados e conectividade-de-8 pararepresentar triângulos. Em [7] classifica-se os caracteres e<strong>sc</strong>ritosàmão baseados em uma decomposição direcionalda representação correspondente da cadeia de códigos deconectividade-de-8. O classificador é treinado pela cadeiade códigos que representa o contorno do caractere.3. De<strong>sc</strong>ritores de FormasAs imagens são constituídas de diversos objetos, pertencentesao plano de fundo e ao plano de interesse. Os objetosdo plano de interesse são, geralmente, os que possuemmaior importância para os sistemas de visão computacional.Esses objetos são constituídos de um conjunto de pixelsrepresentando a sua forma, cor e textura.Os de<strong>sc</strong>ritores de formas são métodos matemáticos querepresentam a forma do objeto ou a região. Os de<strong>sc</strong>ritoressão divididos em duas categorias, baseados no contorno doobjeto e outros baseados em regiões. Os de<strong>sc</strong>ritores baseadosem contorno de<strong>sc</strong>revem a forma do objeto considerandosuas formas mais externas, seu contorno. De<strong>sc</strong>ritoresbaseados em região de<strong>sc</strong>revem as formas detalhadas do objetoconsiderando suas formas internas. Os de<strong>sc</strong>ritores ideaisdevem possuir invariança a translação, rotação, e<strong>sc</strong>ala ea ponto de início.3.1. Momentos de ImagensOs momentos [2] de ordem p + q so<strong>br</strong>e uma funçãocontínua 2D são calculados de acordo com a Equação 1.M pq =∫ ∞ ∫ ∞−∞−∞x p y q f(x, y)dxdy (1)Uma imagem pode ser visualizada como uma função 2Ddi<strong>sc</strong>reta I, onde a intensidade de cada pixel é indexada comoI(x, y). A Equação 2 é a derivação da Equação1demomentosaplicada a imagens.319


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.M pq =width∑x=1height∑y=1x p y q I(x, y) (2)Para a representação de um objeto através de momentossão considerados apenas pixels pertencentes ao objeto.Através dos momentos de imagens, aplicados a um objeto,é possível derivar algumas propriedades, como por exemplo,a área do objeto, que é representada pelo momento M 00e o centro de massa x e y representado pelos momentosM 10M 00, M01M 00, respectivamente.Além dos momentos regulares, é possível derivar os momento<strong>sc</strong>entrais para imagens, definido na Equação 3.u pq =width∑x=1∑(x − x) p (y − y) q I(x, y) (3)heighty=1As propriedades derivadas dos momentos centrais nestetrabalho são a variância emXeY(Equação 4), a direção doobjeto (Equação5)eaexcentricidade (Equação 6).σ 2 x = u 20m 00, σ 2 y = u 02m 00(4)θ = u 02 − u 20 − 2u 11 + λu 02 − u 20 +2u 11 − λλ =e 2 = u 20 + u 02 + λu 20 + u 02 − λ(5)(6)√(u 20 − u 02 ) 2 +4u 2 11 (7)Na Figura 1 é ilustrada a aplicação dos momentos emuma imagem contendo um camundongo. A imagem foi divididaem quatro quadrantes com a mesma área, em seguida,para cada quadrante são extraídos o centro de massae o desvio, ilustrados como eixos nas cores azul, laranja everde. Além desses parâmetros, para a imagem como umtodo, é extraída a elipse que representa o objeto.(a) Imagem originalde um camundongo.(b) Imagem com detecção de bordas ecálculo do ângulo.Figura 2. Passos realizados para a extraçãode atributos com k-curvatura.3.2. K-CurvaturaO extrator k-curvatura representa o contorno de um objetoatravés da relação do ângulo formado entre dois vetores.Com a aplicação de um detector de bordas na imagemsegmentada é possível adquirir um conjunto de pontos(Equação 8) que representam o contorno, como mostra Figura2(b). Esse conjunto é adquirido percorrendo-se os pontosem um sentido (e.g. horário e anti-horário) a partir de umponto inicial qualquer.P = {p 0 ,p 1 , ..., p n } com p i =(x i ,y i ) (8)Para eliminação de ruídos do contorno, não são consideradostodos os pontos extraídos do objeto [14], sendo e<strong>sc</strong>olhidospontos após um espaçamento de k valores. O cálculodo ângulo é realizado entre três pontos p i , p i+k e p i+2∗kcomo mostra a Figura 2(b). O vetor v é formado pelos pontosp i e p i+k , enquanto o vetor w é formado pelos pontosp i+k e p i+2∗k . A Equação 9 mostra o cálculo do ângulo entredois vetores.θ =cos −1 v.w(9)|v||w|onde v.w é o produto e<strong>sc</strong>alar entre dois vetores (Equação10) e |v| é a norma de um vetor (Equação 11).v.w = v 1 w 1 + v 2 w 2 + ... + v n w n (10)Figura 1. Exemplo da aplicação dos momentosde imagem com quatro quadrantes, duaslinhas e duas colunas.|v| = √ v.v (11)Após os cálculos de todos os ângulos do contorno éconstruído um histograma, onde cada posição i desse histogramacorresponde à freqüência de uma faixa de ângulosencontrado no contorno. Através dessa composição por histograma,o extrator k-curvatura é invariante à rotação etranslação. Para que o k-curvatura seja invariante à e<strong>sc</strong>alaé necessário que o k seja atualizado de acordo com a e<strong>sc</strong>alaaplicada.320


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Como exemplo, considere o contorno de um objeto constituídopelos ângulos 0 ◦ , 82 ◦ , 33 ◦ , 160 ◦ , 102 ◦ , 170 ◦ , 179 ◦ ,131 ◦ , 20 ◦ , 49 ◦ , 51 ◦ entre os pontos com cada faixa representadoum intervalo de 50 o para o histograma. O histogramaque representa o exemplo acima é ilustrado na Figura3.(a) Conectividadede-4.(b) Conectividadede-8.Figura 4. Primitivas utilizadas nas cadeias decódigos.Figura 3. Histograma de ângulos extraídospelo k-curvatura.3.3. Cadeias de CódigosAs cadeias de códigos (chain codes) foram inicialmenteintroduzidas por Freeman [4, 12]. Este método de extraçãode atributos é utilizado para representar o contorno de objetosem uma imagem através de uma seqüência de símbolo<strong>sc</strong>om determinado tamanho e direção [3]. As primitivas deconectividade-de-4 ou de-8 segmentos são, geralmente, utilizada<strong>sc</strong>omo símbolos e direção. As primitivas são ilustradasna Figura 4.A principal vantagem da cadeia de códigos é a flexibilidadeem de<strong>sc</strong>rever um conjunto amplo de objetos.Em contrapartida, qualquer pequena perturbação ao longodo contorno, devido a ruído ou mudanças causadas pelasegmentação defeituosa, pode não ser corretamente relacionadaà forma do objeto.A partir da cadeia de códigos é possível construir umhistograma de cadeia de códigos (Chain Code Histogram -CCH) [9]. O CHH é de<strong>sc</strong>rito pela Função di<strong>sc</strong>reta 12.h(k) = n k(12)nonde n k éonúmero de códigos de direção k e n é o tamanhoda cadeia de códigos. Com isso, o CCH mostra a porcentagemdas diferentes direções presentes no contorno doobjeto. O exemplo de um objeto, cadeia de códigos e CHHé ilustrado na Figura 5.(a) Objeto quadradocomponto inicialdo contornono pixelazul.(b) Cadeia decódigos.(c) Histogramade Cadeiade CódigosCHH.Figura 5. Exemplo da aplicação da cadeia decódigos em um objeto.3.4. De<strong>sc</strong>ritores de FourierOs de<strong>sc</strong>ritores de Fourier são muito utilizados para de<strong>sc</strong>reveros objetos através do contorno. Os de<strong>sc</strong>ritores deFourier aproximam os pontos dos contornos P (Equação 8)através da soma de k, com k ≤ n 2, termos senos e cossenos[5] através da Equação 13.p l = p +K∑k=1a k cos( 2πkln)+b ksen( 2πkl ), l =1, ..., nn(13)sendo p o centro de massa do objeto, a k e b k de<strong>sc</strong>ritos nasEquações 14 e 15.a k = 2 nK∑l=1p l cos( 2πkln ) (14)321


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.(a) K=5. (b) K=10. (c) K=15.Figura 6. Aplicação dos de<strong>sc</strong>ritores de Fourierpara diferentes valores de K.b k = 2 nK∑l=1p l sen( 2πkln ) (15)Para valores K iguais à n 2a curva interpolada do contornopassa por todos os pontos originais. Para valores deK menores que n 2a curva interpolada é uma aproximaçãodo contorno original. As aproximações podem ser visualizadasna Figura 6 para o contorno de uma camundongo paradiferentes valores de K.Essas aproximações são importantes para eliminar pequenosruídos fornecidos, por exemplo, pelo processode segmentação. Além disso, através desses de<strong>sc</strong>ritoresé possível reconstruir o contorno original e manter ainvariância com respeito à translação [5].4. ExperimentosOs experimentos foram realizados com base em umbanco composto de imagens de camundongos separadasem três comportamentos de<strong>sc</strong>ritos como auto limpeza,exploração vertical e horizontal. Para cada comportamentofoi utilizado 60 imagens de camundongos comiluminação artificial e fundo simples. As imagens contidasnesse banco foram convertidas em tons de cinza esegmentadas através da técnica de subtração de fundo [6].O ambiente computacional utilizado nos experimentosfoi um computador com processador Intel R○Pentium4 TM com freqüência de clock de 3.00 GHz, 512 MBytesde memória, com sistema operacional Ubuntu e alinguagem de programação Java versão 1.5. Para asimplementações das técnicas foram utilizadas algumas funcionalidadesdas bibliotecas JMF 2 , para manipulação devídeos e imagens, ImageJ 3 , para o processamento das imagense o Weka, que possui uma coleção de algoritmos deaprendizagem de máquina, aplicada na classificação do<strong>sc</strong>omportamentos dos camundongos.2 JMF - http://java.sun.com/products/java-media/jmf/3 ImageJ - rsb.info.nih.gov/ij/Para cada técnica testada foram e<strong>sc</strong>olhidos os melhoresparâmetros baseados na porcentagem de classificação.Na identificação dos comportamentos foram utilizados o<strong>sc</strong>lassificadores de árvore de decisão J48, árvore de modeloslogísticos LMT, máquina de vetor de suporte SMO e o<strong>sc</strong>lassificadores IBK e Kstar implementados no Weka.Paraatécnica de momentos de imagens foi variado onúmero de quadrantes que dividem as imagens, representadospor linhas e colunas, variando de duas a vinte divisõe<strong>sc</strong>omo mostra a Figura 1. Na técnica cadeia de códigos foivariado o parâmetro faixa de cadeias do histograma comintervalos de 1 a 8. O algoritmo de k-curvatura obteve avariação de 1 a 180 intervalos para a faixa de ângulos e oparâmetro k variou de 1 a 50. Para a técnica de de<strong>sc</strong>ritoresde Fourier o parâmetro variado foi o número de de<strong>sc</strong>ritoresinciado em 5 até 30.Os códigos desenvolvidos dos extratores estão disponíveislivremente na internet através de um sistemade controle de versão, o Subversion, integrado como Trac, um sistema baseado em web para o gerenciamentode projetos utilizados pelo GPEC - Grupo de Pesquisaem Engenharia e Computação 4 . Estes de<strong>sc</strong>ritoresde formas implementados foram integrados ao projeto SI-GUS 5 .5. Análise e ResultadosOgráfico da Figura 7 apresenta a porcentagem de acertode cada técnica implementada na identificação dos comportamentosde camundongos. Nota-se que a técnica de cadeiade códigos utilizando o classificador IBK atingiu a melhorporcentagem de acerto, com 96.3%, em relação as demaistécnicas. Entretanto, a técnica de momentos de imagensmanteve uma menor variação na porcentagem de acerto,alcançando uma média de 92.6% entre todos os classificadores,conforme mostrado na Tabela 1. O algoritmo de momentosde imagens obteve um melhor desempenho pelo fatode considerar as informações da área do objeto e não do seucontorno, onde o contorno é muito su<strong>sc</strong>eptível a ruídos e variantecom imagens apresentando o mesmo comportamento.6. Conclusão e Trabalhos FuturosA principal contribuição deste trabalho foi a comparaçãodestes de<strong>sc</strong>ritores de formas para auxiliar no sistema declassificação dos comportamentos dos camundongos parao sistema Topolino [11]. Este sistema foi desenvolvido paraauxiliar pesquisadores em experimentos com camundongosde forma automática na área da saúde.4 http://www.gpec.ucdb.<strong>br</strong>/5 SIGUS - Plataforma de Apoio ao Desenvolvimento de Sistemaspara Inclusão Digital de Pessoas com Necessidades Especiaishttp://www.gpec.ucdb.<strong>br</strong>/projetos/sigus/322


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Figura 7. Gráfico dos extratores em relaçãoaos classificadores utilizados.Algoritmo Média (%)Momentos de Imagem 92.6Cadeia de Códigos 91.1K-Curvatura 91.1De<strong>sc</strong>ritores de Fourier 86.3Tabela 1. Média da porcentagem de acertodos algoritmos.Como trabalhos futuros, é proposto o desenvolvimentode outras técnicas de de<strong>sc</strong>ritores de formas baseadas emregião. Com isso, será possível realizar novas comparaçõe<strong>sc</strong>om as técnicas de de<strong>sc</strong>ritores baseados em contorno quesão sensíveis a ruídos.AgradecimentosEste trabalho recebeu apoio financeiro da UniversidadeCatólica Dom Bo<strong>sc</strong>o, UCDB, da Agência Financiadora deEstudos e Projetos, FINEP e da Fundação de Apoio ao Desenvolvimentodo Ensino, Ciência e Tecnologia do Estadode Mato Grosso do Sul, FUNDECT. Os autores tambémcontaram com bolsas do Con<strong>sel</strong>ho Nacional de DesenvolvimentoCientífico e Tecnológico, CNPQ, nas modalidadesPIBIC e Produtividade em Desenvolvimento Tecnológico eExtensão Inovadora.Referências[1] E. R. Costa, A. R. Hirakawa, and J. J. Neto. An adaptive alternativefor 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. Implementação de um extratorde características baseado em momentos da imagem. In Proceedingsof SIBGRAPI 2005 - XV<strong>III</strong> Brazilian Symposium onComputer Graphics and Image Processing, Natal, RN, Brazil,October 2005. SBC, IEEE Press.[3] P. Dukkipati and L. Brown. Improving the recognition of geometricalshapes 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 biological<strong>sc</strong>iences. John Wiley & Sons, Inc., New York, NY,USA, 1995.[6] W. N. Gonçalves, V. A. Saueia, B. B. Machado, J. de AndradeSilva, K. P. de Souza, and H. Pistori. Técnicas desegmentação baseadas em subtração de fundo e modelos decores: Um estudo comparativo. XXV<strong>III</strong> CILAMCE - IberianLatin American Congress on Computational Methods in Engineering,June <strong>2007</strong>.[7] S. Hoque, K. Sirlantzis, and M. C. Fairhurst. A new chaincodequantization approach enabling high performance. InICIDAR. IEEE Computer Society, 2003.[8] J. Iivarinen, M. Peura, J. Särelä, and A. Visa. Comparisonof combined shape de<strong>sc</strong>riptors 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 objects.In D. P. Casasent, editor, Intelligent Robots and ComputerVision 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. Gonçalves,H. Pistori, and A. S. de Souza. Topolino: Software livrepara automatização do experimento do campo aberto. XVSeminário de Computação, 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 InternationalJournal on Graphics, Vision and Image Processing,05, 2005.[13] M. E. Stivanello and P. C. R. Gomes. Inspeção visual industrialautomatizada por análise de forma com de<strong>sc</strong>ritoresde fourier e redes neurais artificiais. XV Seminário deComputação, 2006.[14] M. A. Q. Truyenque. Uma aplicação de visão computacionalque utiliza gestos da mão 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 retrievalusing fourier de<strong>sc</strong>riptors with different shape signatures.International Conference on Intelligent Multimedia and DistanceEducation, pages 1–9, 2001.323


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Modelos Ocultos de Markov Aplicados na Identificação de Comportamento deSerpentesWesley Nunes Gonçalves, Jonathan de Andrade Silva, Bruno Brandoli Machado,Hemerson Pistori, Albert Schiaveto de SouzaGrupo de Pesquisa em Engenharia e ComputaçãoUniversidade Católica Dom Bo<strong>sc</strong>oAv. Tamandaré, 6000, Jardim Seminário, 79117-900 - Campo Grande, MS{jsilva, wnunes, bmachado}@acad.ucdb.<strong>br</strong>, {pistori,albert}@ucdb.<strong>br</strong>ResumoEste artigo apresenta uma aplicação dos modelos ocultosde Markov (HMMs) no reconhecimento do comportamentode serpentes. Os experimentos foram conduzidosusando diferentes configurações para o HMM, incluindomodificações no número de estados internos e no procedimentode inicialização do algoritmo de aprendizagem. Omelhor resultado mostra uma porcentagem de classificaçãocorreta de 84% utilizando um HMM com quatro estados eo procedimento de inicialização baseado no algoritmo K-Means.1. IntroduçãoAs serpentes foram sugeridas como um dos principaisgrupos de animais para avaliar hipóteses ecológicas e evolucionárias[11]. Além disso, esse grupo é um interessante eimportante formador de venenos, o qual são extensivamenteutilizados no desenvolvimento de drogas para controle dehipertensão, analgésicos, anticoagulantes, entre outros. Devidoa esses motivos, o uso destes animais na pesquisa comportamentalaumentou gradativamente nos últimos anos,principalmente em questões relacionadas com a formaçãode venenos e o habitat natural.O habitat para répteis, em particular serpentes, foi aindapouco explorado na área científica. A criação de serpentesem cativeiros é uma difícil tarefa que pode ser beneficiadapela análise e identificação de comportamentos de serpentesem ambientes naturais e artificiais. Estes comportamentossão influenciados por diversos fatores, como temperatura,radiação solar, umidade e a estação do ano. A habilidade deidentificar e predizer a atividade apresentada por uma serpenteé essencial no processo de produção de venenos.A identificação comportamental de animais é geralmenterealizada através de um procedimento não automáticoenvolvendo um alto consumo de tempo nas seçõesde observações e anotações visuais. A precisão e reprodutibilidadedesse procedimento são afetadas pela fadigae distração dos observadores. A automação desse processo,utilizando técnicas de visão computacional, podefornecer resultados mais confiáveis e a possibilidade de estenderos experimentos para situações e ambientes quenão são facilmente acessíveis utilizando os métodos atuais.Os benefícios são ainda maiores para as serpentes,pois apresentam algumas atividades que, para serem observadas,requereriam diversas horas de observação contínua.A automatização pode também fornecer informações relacionada<strong>sc</strong>om medidas físicas precisas, como distância evelocidade, que não são alcançadas com a observação visual[13].Este trabalho avalia o uso dos modelos ocultos deMarkov na identificação automática do comportamentode bote realizado por uma serpente. As espécies de serpenteutilizadas durante os experimentos foram: ca<strong>sc</strong>avel(Crotalus Durissus), boca de sapo (Bothrops Neuwiedi) ejibóia (Boa Constrictor). O modelo foi treinado com 20seqüências, totalizando 1000 imagens, e avaliado atravésde 10 seqüências, totalizando 500 imagens. Um procedimentosemi-automático, baseado em máquina de vetoresde suporte [2], foi adotado na fase de segmentação. A melhorporcentagem de classificação e tempo de execução foialcançada através da variação dos parâmetros dos modelosocultos de Markov, como o número de estados eo número de iterações do algoritmo de reestimação deparâmetros. Além disso, duas maneiras de inicialização dosHMMs foram avaliadas. O comportamento de bote foi inferidocom exatidão de 84% pelo HMM com 10 estados.Este artigo está estruturado em oito seções. A Seção 2apresenta alguns trabalhos correlatos que utilizam os mode-324


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.los ocultos de Markov em diversas aplicações. Na próximaseção, é apresentado o extrator de características das imagenssegmentadas. Na Seção 4, os principais conceitos ealgoritmos dos modelos ocultos de Markov são de<strong>sc</strong>ritos.Na Seção 5, os experimentos realizados são mostrados commaiores detalhes. A Seção 6 apresenta os resultados obtidosseguido de uma análise. Finalmente, na Seção 7 sãomostradas a conclusão e os trabalhos futuros.2. Trabalhos CorrelatosOs modelos ocultos de Markov (HMMs) têm sido amplamenteutilizados em diversas áreas, principalmente em sistemaspara o reconhecimento de voz [10], reconhecimentode comportamentos [7] e textos manu<strong>sc</strong>ritos [6]. Em [5] oHMM é aplicado ao reconhecimento de objetos 2D em imagens.O HMM, juntamente com as características invariantesdo contorno, foram testados em quatro diferentes objetos.Para cada objeto, um HMM foi estimado com um conjuntode cinqüenta imagens de treinamento. A classificaçãofoi realizada utilizando dez imagens para cada objeto, resultandoem uma taxa de acerto de 75%.Starner e Pentland [14] de<strong>sc</strong>revem um sistema para reconhecimentode sentenças da língua americana desinais utilizando HMM. A taxa de reconhecimento éde99.2% para palavras, no entanto, o conjunto de característicamostrou-se limitado, pois o sistema é treinadopara esperar certos gestos em certas posições espaciaisna imagem devido à utilização das posições não normalizadasdas mãos. Uma nova técnica para o reconhecimentode textos é apresentada em [1]. As características são extraídasde uma imagem em tons de cinza e um HMMé modelado para cada caractere. Durante o reconhecimento,a mais provável combinação de modelos é encontradapara cada palavra, pelo uso de programaçãodinâmica.Em [9] é de<strong>sc</strong>rito um HMM para reconhecimento defaces. A imagem contendo a face é dividida em cinco blocos(cabelo, testa, olhos, nariz e boca), onde cada bloco é representadocomo um estado no HMM. Os vetores de característicassão obtidos de cada bloco utilizando o coeficienteda transformada de Karhunen-Loeve.Os HMMs são frequentemente utilizados para de<strong>sc</strong>reveruma seqüência de padrões caracterizando um comportamento.Em [7] os comportamentos de seres humanos sãoidentificados. Esses comportamentos são atividades legais eilegais, capturadas por uma câmera, e realizadas em um sítioarqueológico. Para a identificação desses comportamentos,as imagens são segmentadas utilizando a detecção de movimentoseguida por um processamento de remoção de som<strong>br</strong>as.Em seguida, a postura realizada pelo ser humano éidentificada utilizando histogramas e medida de similaridadebaseada na distância de Manhattan. O reconhecimentodos comportamentos é realizado pelos HMMs, onde os estadosrepresentam as diferentes posturas. Os experimentosforam realizados na identificação de quatro comportamento<strong>sc</strong>om uma porcentagem média de classificação correta de86,87%.Em [3] um sistema de classificação de comportamentosde animais é apresentado. Esse sistema usa umacombinação de HMM e kNN para treinamento de algunsmovimentos. O sistema foi avaliado em diversas trajetóriasde abelhas extraídas de uma seqüência de vídeo de15 minutos. O sistema desenvolvido foi capaz de etiquetarmovimentos com uma exatidão de 81,5%.3. Momentos de ImagemUma imagem pode ser modelada como uma função 2Ddi<strong>sc</strong>reta I, onde a intensidade de cada pixel é indexada comoI(x, y). A Equação 1 representa os momentos regulares deordem p, q de uma imagem.M pq =width∑x=1height∑y=1x p y q I(x, y) (1)Os momentos regulares podem ser utilizados para representaralgumas importantes propriedades de um objeto presenteem uma imagem, como a área do objeto, M 00 ,eoseucentro de massa, M10M 00, M01M 00, respectivamente.Os momentos centrais de imagens, definidos na Equação2, podem também ser utilizados para calcular outras interessantespropriedades dos objetos, como a sua variância noseixos XeY(Equação 3), direção (Equação 4) e excentricidade(Equação 5).u pq =width∑x=1∑(x − x) p (y − y) q I(x, y) (2)heighty=1σ 2 x = u 20m 00, σ 2 y = u 02m 00(3)θ = u 02 − u 20 − 2u 11 + λu 02 − u 20 +2u 11 − λ(4)e 2 = u 20 + u 02 + λ(5)u 20 + u 02 − λ√λ = (u 20 − u 02 ) 2 +4u 2 11 (6)Além das propriedades citadas acima, calculadas para todosos pixels pertences ao objeto, neste trabalho, seguindouma metodologia sugerida por Freeman [4], o objeto édivididoem 4 regiões iguais, e para cada uma dessas regiões, asmesmas propriedades dos momentos de imagens são calculadas.Desta maneira, o sistema pode combinar informaçõesglobais e locais durante a fase de classificação. A Figura 1325


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.ilustrada, usando uma ferramenta de visualização dos momentos,as propriedades extraídas de uma imagem contendouma serpente previamente segmentada e binarizada.Figura 1. Aplicação dos momentos de imagem.4. Modelos de Markov OcultosOs modelos ocultos de Markov (HMMs) são utilizadospara modelar um par de processos estocásticos complementares.O primeiro processo é representado por um conjuntode estados não observáveis, também chamados de estadosinternos ou ocultos. No caso especial de HMMs deprimeira ordem, o estado atual do sistema depende apenasdo estado anterior, e a distribuição de probabilidades quemodela a transição entre os estados é geralmente representadaatravés de uma matriz de transição A = {a ij }, coma ij = P (q t+1 = S j |q t = S i ) 1 ≤ i, j ≤ N (7)onde N éonúmero de estados, q t é o estado atual do sistemae S = {S 1 ,S 2 ,S 3 , ..., S N } é o conjunto de estadosocultos do modelo.O segundo processo estocástico modela a probabilidadede observação de alguns valores pré-determinados(os valores ou símbolos observados) dado que o sistemaestá em um estado específico (oculto). A seqüênciade T observações é representada por um conjuntoO = O 1 ,O 2 ,O 3 , ..., O T , onde cada elemento O t éummem<strong>br</strong>o do conjunto de símbolos V = v 1 ,v 2 , ..., v M .A probabilidade de emissão ou observação de qualquersímbolo dado um estado oculto j é definida por umamatriz B = {b j (k)}, comb j (k) =P (O t = v k |q t = S j ) 1 ≤ j ≤ N, 1 ≤ k ≤ M(8)A probabilidade inicial de cada estado é representada porum conjunto π = {π i }, comπ i = P (q 1 = S i ) 1 ≤ i ≤ N, comN∑π i =1 (9)i=1Para a utilização dos HMMs em aplicações do mundoreal, é necessário a resolução de três problemas básicos.A resolução desses problemas, conhecidos como problemade avaliação, decodificação e aprendizagem, foram extensivamentede<strong>sc</strong>ritas em diversos trabalhos na literatura [10,14, 1]. Neste trabalho, são necessários e de<strong>sc</strong>ritos apenas osproblemas de avaliação e aprendizagem.4.1. Problema de AvaliaçãoDado uma seqüência de observações O eumHMMλ =(A, B, π), o problema de avaliação é calcular P (O|λ). Umprocedimento que resolve este problema eficientemente,baseado em programação dinâmica, é conhecido como algoritmoForward-Backward. Este procedimento define umavariável α t (j) (a variável forward) que representa a probabilidadede uma seqüência de observações parciais (dotempo 0 até t) dado um estado S j (no tempo t) e o modeloλ. Avariável é atualizada incrementalmente usando oprocedimento recursivo defindo pelas Equações 10 e 11 atéque toda seqüência de observações seja alcançada e P (O|λ)pode ser facilmente calculada usando a Equação 12.α 1 (j) =π j b j (O 1 ), 1 ≤ j ≤ N. (10)[ N]∑α t+1 (j) = α t (i)a ij b j (O t+1 ), 1 ≤ t ≤ T − 1.i=1P (O|λ) =(11)N∑α T (j) (12)j=1Para calcular a variável backward β t (i), representando aprobabilidade de observações parciais de t +1até T dadoo estado S i no tempo t e um modelo λ, um procedimentosimilar é seguido, mas de uma maneira reversa. O procedimentoé resumido nas Equações 13, 14 e 15.β t (i) =β T (i) =1, 1 ≤ i ≤ N. (13)N∑a ij b j (O t+1 )β t+1 (j),t= T −1, ..., 1 1 ≤ i ≤ N.j=1P (O|λ) =(14)N∑π i b i (O 1 )β 1 (i) (15)i=1326


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.4.2. Problema da AprendizagemEste problema consiste em determinar um método paraajustar os parâmetros do modelo λ =(A, B, π), que maximizalocalmente P (O|λ). Um algoritmo muito conhecidopara resolver esse problema em tempo polinomialé o Baum-Welch, uma especialização do algoritmoEM. A idéia básica desse algoritmo é realizar aestimação através do número esperado de transições do estadoS i para o estado S j (Equações 16 e 17) e o número deemissão do símbolo O t no estado S i .serpentes foram inseridas em um espaço que simula um ambientenatural e os quadros foram capturados de uma visãoaérea.ξ t (i, j) =P (q t = S i ,q t+1 = S j |O, λ). (16)ξ t (i, j) =α t (i)a ij b j (O t+1 )β t+1 (j)∑ Ni=1∑ Nj=1 α t(i)a ij b j (O t+1 )β t+1 (j) . (17)A probabilidade de ocorrência do estado S i , definidacomo γ t (i), pode ser e<strong>sc</strong>rita em função de ξ t (i, j) de acordocom a Equação 18.γ t (i) =N∑ξ t (i, j). (18)j=1Ao realizar a soma de γ t (i) obtem-se uma medida esperadado número de vezes que o estado S i foi visitado e ao somarξ t (i, j) obtem-se o número de transições ocorridas doestado S i para o estado S j , conforme a Equação 19.T∑−1ξ t (i, j).t=1T∑−1γ t (i). (19)t=1Com base nas equações acima, pode-se obter ummétodo iterativo para estimar os parâmetros do modeloλ =(A, B, π) através das equações 20, 21 e 22.Figura 2. Seqüência do Comportamento deBote.As serpentes usam a camuflagem para se e<strong>sc</strong>onder dospredadores e capturar com mais facilidade suas presas, oqual torna o problema de segmentação, neste contexto, mai<strong>sc</strong>omplexo. A estratégia de aprendizagem supervisionada,baseada em máquinas de vetores de suporte (Support VectorMachine - SVM), foi utilizada para separar a serpentedo plano de fundo. Para cada imagem, uma região ao redorda serpente foi manualmente determinada para tornar afase de segmentação mais precisa. Atributos baseados emcores, extraídos da serpente e das regiões do fundo, foramusados para alimentar o processo de aprendizagem. O resultadodo procedimento de segmentação é ilustrado na Figura3.π i = γ 1 (i). (20)a i,j =b j (O t )=∑ T −1t=1 ξ t(i, j)∑ T −1t=1 γ t(i) . (21)∑ T −1t=1,o t=v kγ t (i)∑ T −1t=1 γ . (22)t(i)5. ExperimentosOs experimentos com os HMMs foram realizados com30 seqüências de imagens representando a presença eaausência do comportamento de bote. Um exemplo do comportamentode bote pode ser visualizado na Figura 2. As imagensforam capturadas usando uma câmera TRENDNETTV-IP301W com resolução espacial de 640 x 480 pixels.AsFigura 3. Exemplo de segmentação para imagen<strong>sc</strong>om serpentes.Após a segmentação, os momentos de imagem foram utilizadospara extrair informações relacionadas com a formada serpente em cada quadrado. Estes atributos foram dis-327


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.cretizados utilizando o algoritmo de quantização de vetoresLBG (Vector Quantization LBG) [12] e utilizado comosímbolos de observações para dois HMMs, um correspondendoao comportamento de ataque e o outro correspondendoao não-ataque. Um total de 20 seqüências de imagensforam utilizadas para treinar e 10 para avaliar o módulode classificação 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 encontrara configuração do HMM que alcança a maior taxa declassificação correta no problema de classificação do comportamentode bote. Três parâmetros foram avaliados: onúmero de estados ocultos, o número de iterações do algoritmoBaum-Welch e o procedimento de inicializaçãodurante a fase de aprendizagem. O número de estados eiterações variou de 2 a 20, e de 100 a 1000, respectivamente.Dois procedimentos de inicialização foram avaliados:o procedimento sugerido em [10], que assume umadistribuição de probabilidade uniforme para todas as matrizese uma aproximação baseada em K-Means [8]. Paraa aproximação baseada em K-Means, as matrizes A e πforam calculadas como em [10], entretanto, a matriz B éinicializada de maneira diferente. Primeiro, o conjunto detreinamento é clusterizado utilizando o K-Means, sendo Konúmero de estados do HMM. Então, utilizando o mapeamentodos estados para o conjunto de treinamento geradopelo procedimento de clusterização, a matriz B pode ser estimadapor uma técnica simples de contagem.Figura 4. Número de Estados X ClassificaçãoCorreta.Figura 5. Número de Estados X Tempo deExecução (milisegundos) .6. Resultado e AnáliseOs resultados são apresentados nas Figuras 4, 5, 6,e 7. Na Figura 4 o gráfico relata o número de estadosdos HMMs pela porcentagem de classificação correta.A partir de 6 estados, a média de classificação corretase manteve na faixa de 78% a 80%. Com 10 estadosos HMMs alcançaram a melhor média de classificação correta,alcançando 82.1% com um tempo de execução de515.41 milisegundos. A variação entre o número de estadose o tempo de execução é mostrada na Figura 5.O gráfico mostra uma curva de cre<strong>sc</strong>imento polinomialem relação ao número de estados. Com isso, é possívelassociar o resultado do gráfico com a complexidade do algoritmoForward-Backward (O(N 2 T ), sendo N onúmerode estados e T o tamanho da observação) acre<strong>sc</strong>ido de alguma<strong>sc</strong>onstates, como o número de iterações (valor fixo) etamanho da seqüência das observações.Ográfico da Figura 6, relata o número de iterações utilizadono algoritmo Baum-Welch e a taxa de classificaçãocorreta, indicando que este parâmetro não possui um grandeefeito no desempenho, que é sempre mantido em torno de81%.Finalmente, na Figura 7 é apresentado um comparativoentre os dois tipos de inicialização. O gráfico mostraa relação entre o número de estados e a porcentagem declassificação correta. A inicialização baseada no algoritmoK-Means obteve melhores resultados com um número pequenode estados, enquanto que, a inicialização aleatóriaobteve melhores resultados com um número maior de estados.Para um número grande de estados, o K-Means atribuíapoucas amostras a alguns estados, conseqüentemente, asprobabilidades correspondentes a esses estados eram muitopequenas ou nulas. Concluindo assim que esses estadoseram desnecessários e apenas confundiam a classificaçãocorreta. A melhor porcentagem de acerto foi alcançada coma inicialização baseada no algoritmo K-Means, alcançandouma porcentagem de classificação de 84% para um HMMcom 4 estados.7. Conclusão e Trabalhos FuturosEste artigo mostrou uma aplicação dos modelos ocultosde Markov no reconhecimento de comportamentos deserpentes. Os experimentos mostraram que a inicialização328


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Este trabalho recebeu apoio financeiro da UniversidadeCatólica Dom Bo<strong>sc</strong>o, UCDB, da Agência Financiadora deEstudos e Projetos, FINEP e da Fundação de Apoio ao Desenvolvimentodo Ensino, Ciência e Tecnologia do Estadode Mato Grosso do Sul, FUNDECT. Os autores tambémcontaram com bolsas do Con<strong>sel</strong>ho Nacional de DesenvolvimentoCientífico e Tecnológico, CNPQ, nas modalidadesPIBIC e Produtividade em Desenvolvimento Tecnológico eExtensão Inovadora.ReferênciasFigura 6. Número de Iterações XClassificação Correta.Figura 7. Número de Estados X ClassificaçãoCorreta para dois tipos de inicialização.por K-Means obtém melhores resultados no geral. Enquantoque, as variações no número de iterações obtêm resultadossimilares dentro de uma faixa de 100 a 1000. O tempo deexecução dos HMMs com relação ao número de estados éuma curva polinomial, sendo o número de estados adequadopara este problema experimentalmente alcançado.A principal contribuição desse trabalho está nacomparação entre os parâmetros dos HMMs e de doistipos diferente de inicialização. Para trabalhos futuros, seriainteressante acre<strong>sc</strong>entar informações so<strong>br</strong>e o contornodas serpentes e avaliar outros tipos de HMMs, comoos contínuos (pois a natureza dos atributos dos momentosde imagem é contínua e teoricamente, nesse modelo,não há grandes perdas de informação pois não énecessário o passo de di<strong>sc</strong>retização). É também importanteexpandir os testes para uma quantidade maior deimagens, com diferentes tipos de animais.8. Agradecimentos[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 Di<strong>sc</strong>overy,2(2):121–167, 1998.[3] A. Feldman and T. Balch. Automatic identification of beemovement. Technical report, Georgia Institute of Technology,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. Objectrecognition using Hidden Markov Models. In E. S.Gelsema and L. N. Kanal, editors, Pattern Recognition inPractice IV: Multiple Paradigms, Comparative Studies andHy<strong>br</strong>id Systems, volume 16, pages 37–44, Amsterdam, 1994.Elsevier.[6] J. Hu, M. K. Brown, and W. Turin. Hmm based on-line handwritingrecognition. 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 Areas.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, <strong>2007</strong>.[9] A. V. Nefian and M. H. Hayes. Face detection and recognitionusing hidden markov models. In ICIP (1), pages 141–145, 1998.[10] L. R. Rabiner. A tutorial on hidden markov models and <strong>sel</strong>ectedapplications in speech recognition. Proceedings of theIEEE, 77:257–286, 1990.[11] J. A. Rivas and G. M. Burghardt. Snake mating systems, behavior,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. Tegelenbo<strong>sc</strong>h, 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 ReportMaster’s Thesis, MIT, Program in Media Arts & Sciences,Massachusetts Institute of Technology, Cam<strong>br</strong>idge,USA, Feb 1995.329


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Estudo Comparativo entre as Transformadas Wavelet e Hartley Usando ImagensMédicas de Cabeça e Pe<strong>sc</strong>oçoJ.R. Furlani 1 ,A.S.Pereira 1 ,N.Marranghello 1 , T.A. Dócusse 1 ,P.S.Maturana 1 ,R.P.Romano 1 , F.S.B.Bontempo 11 UNESP – Universidade Estadual Paulista Júlio de Mesquita Filho – São José do Rio Preto – SPjullyenefurlani@yahoo.com.<strong>br</strong>, tda@webmail.ibilce.unesp.<strong>br</strong>AbstractThe goal of this paper is to show how the Wavelet andthe Hartley transforms perform over digital images,specially the medical ones. Studies were done aboutendo<strong>sc</strong>opic image acquisition and the processing of theseimages using the Wavelet and Hartley transforms.apresentada a seguir é a imagem em tons de cinza daglote obtida por endo<strong>sc</strong>opia, sem a presença de qualqueranomalia, tumor maligno ou não maligno.1. IntroduçãoProcessamento de imagens digitais é uma das áreas decre<strong>sc</strong>ente interesse por permitir grandes estudos dentrodas diversas sub-áreas que ela possui. Nessa áreabu<strong>sc</strong>am-se formas de aprimorar a qualidade de umaimagem digitalizada, aplicando funções matemáticaspara melhoria de imperfeições na mesma [1],[2],[3].O estudo e a aplicação de técnicas que auxiliem adetecção de tumores em imagens endo<strong>sc</strong>ópicas tornam-seessenciais para uma melhoria em um diagnóstico médico.2. Imagem Endo<strong>sc</strong>ópicaA incidência do câncer da laringe varia de país parapaís. Corresponde a aproximadamente 1,2% a 2,3% detodas as neoplasias malignas diagnosticadas e aaproximadamente 27% dos casos de câncer da região decabeça e pe<strong>sc</strong>oço. Dentre os tumores da laringe, 85% a95% são carcinomas espinocelulares, podendo,entretanto, ocorrer adenocarcinomas, tumoresneuroendócrinos e sarcomas, entre outros. No Brasil, a<strong>sc</strong>idades de São Paulo (SP) e Porto Alegre (RS) estãocitadas entre as cidades de maior incidência de câncerlaríngeo.O tabagismo e o etilismo, so<strong>br</strong>etudo quandoassociados, constituem os principais fatores de ri<strong>sc</strong>o parao desenvolvimento do câncer da laringe, mas existemtambém outros fatores de menor importância [10].A glote é a abertura superior da laringe. Com a glotepode ocorrer vários problemas, como o edema de glote,que é um inchaço e um fechamento da própria glote ouaté mesmo a presença de um tumor [11]. A Figura 1Figura 1: Imagem obtida por endo<strong>sc</strong>opia da glotefechada sem presença de tumor.3. Transformada WaveletA transformada Wavelet é uma ferramenta que separaum sinal de entrada em componentes de diferentesfreqüências e as analisa de acordo com sua e<strong>sc</strong>ala. Estatransformada decompõe um sinal de entrada de formaque as componentes de altas freqüências do sinal sejamanalisadas por elementos de curta duração e a<strong>sc</strong>omponentes de baixas freqüências analisadas porelementos de longa duração.Portanto nota-se que a transformada Wavelet possuirelação tempo-freqüência não fixa.A transformada Wavelet decompõe uma funçãodefinida no domínio do tempo em outra função, sendodefinida no domínio da freqüência. Na equação 1apresenta-se a transformada Wavelet.(1)330


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.A transformada Wavelet di<strong>sc</strong>reta bidimensional(DWT2D) é geralmente aplicada em sinais de duasdimensões aos quais se necessita fazer decomposiçõesutilizando Wavelets e funções e<strong>sc</strong>alares. Para efetuar aDWT2D basta utilizarmos as Wavelets e funçõese<strong>sc</strong>alares aos pares, sendo uma aplicada horizontalmentee outra aplicada verticalmente ao arranjo. Adecomposição multiresolução de S m , T v m, T h m e T d m deum arranjo a uma e<strong>sc</strong>ala m+1 pode ser dada pelasseguintes expressões:(2)(3)(4)nota-se que tais tumores em imagens em tons de cinzaapresentam detalhes de alta freqüência (Figura 3).Portanto serão analisados os componentes de altafreqüência gerados pela transformada Wavelet. O<strong>sc</strong>omponentes de baixa freqüência obtidos pela DWT2Dnão apresentam relevante significância quanto aidentificação da imagem analisada [4],[5].4. Transformada HartleyA transformada de Hartley é uma transformadaunitária que emprega funções básicas senoidais, iguais atransformada de Fourier. A transformada de Hartleyutiliza conjuntamente funções básicas do tipo seno ecosseno, porém seus coeficientes são de números reais,em contraste com a transformada de Fourier, cujo<strong>sc</strong>oeficientes são, em geral, números complexos [7].Em 1942, R. V. L. Hartley introduziu um novo par detransformadas mais simétricas, baseada em Fourier. Atransformada de Hartley é definida pelo par de equaçõesapresentado nas fórmulas (6) e (7):(5)(6)A Figura 2 apresenta um esquema de decomposição deuma imagem utilizando a transformada Wavelet di<strong>sc</strong>retabidimensional.I[n-3]V[n-2]V[n-1]H[n-2]D[n-2]H[n-1]D[n-1]H[n]A transformada de Hartley trabalha com os númerosreais em vez dos números complexos, reduzindo o tempocomputacional e assim tornando-se um substitutopotencial para a transformada de Fourier em aplicaçõesgerais. A transformada de Hartley requer novasoperações para estender a aproximação de Fourier.A vantagem da transformada de Hartley resulta dafunção que contém a informação so<strong>br</strong>e o ângulo de fasesem uma complexidade computacional [7],[8],[9].(7)V[n]D[n]5. AplicaçõesFigura 2 – Decomposição de uma imagem portransformada Wavelet.Na Figura 2, a decomposição I[n-3] é a componentede baixa freqüência que a transformada produz, ou seja, énela que está contida a informação mais significativa daimagem 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õeuma imagem em quatro componentes de diferentesfreqüências. Em imagens de câncer de cabeça e pe<strong>sc</strong>oçoBaseia-se em aplicar as transformadas Wavelets eHartley na Figura 1, demonstrando o funcionamento detais transformadas para a mesma imagem.As Figuras 3, 4, 5 e 6 são os resultados datransformada Wavelet di<strong>sc</strong>reta bidimensional aplicada aimagem em tons de cinza.331


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Figura 3: S mFigura 4: T h m6. ResultadosFigura 9: Imagem recuperada.Figura 5: T v mFigura 6: T d mAs Figuras 7, 8 e 9 é a aplicação da transformada deHartley so<strong>br</strong>e a Figura 1, gerando o espectro, a imagemno domínio da freqüência e o resultado obtido após atransformada, ou seja, a imagem recuperada.Aplicando a transformada Wavelet separa-se aimagem em componentes de altas e baixas freqüências,sendo possível eliminar as que sejam de menorsignificância quanto à visualização da imagem. Assimtambém comprimindo seu tamanho sem perder uma boaresolução.Aplicando a transformada de Hartley é possívelretornar a imagem original sem perdas de componentesde baixa freqüência.7. ConclusõesFigura 7: Espectro da Imagem.Utilizando tanto a Transformada Di<strong>sc</strong>retaBidimensional Wavelet como a Transformada de Hartleyé possível uma manipulação segura de imagens médicas.As transformadas retornam a imagem recuperadaexatamente como a original, de forma que tais imagensnão sofram alterações significativas a olho humano. Paraum especialista na área médica é essencial obter um bomresultado.8. Referências Bibliográficas[1]GONZALEZ R. C., WOODS R. E., Processamento deImagens Digitais, Editora Edgard Blücher Ltda., 1993.[2]GONZALEZ R. C., WOODS R. E., Processamento deImagens Digitais, Editora Edgard Blucher Ltda., 2000.Figura 8: Imagem no domínio da freqüência.[3]GONZALEZ R. C., WOODS R. E., EDDINS S. L.,Digital Image Processing using Matlab®, EditoraPrentice Hall., 2004.[4]ADDISON P., The Illustrated Wavelet TransformHandbook, Editora IoP Publishing, 2002.[5]DAUBECHIES I., Ten Lectures on Wavelets, EditoraSIAM, 1992.332


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.[6]PEREIRA, Aledir S., Processamento de imagensmé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 forComputing the 1-D Di<strong>sc</strong>rete Hartley Transform, IEEESignal Processing Letters, v. 11, n. 2, 2004.[9]SOUZA R. M. C. de, OLIVEIRA H. M. de, PALMAL. B. E., SOUZA M. M. C. de, TransformadasNuméricas de Hartley, SBrT 2000 - XV<strong>III</strong> SimpósioBrasileiro 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., SARINIJ., KARA A., LEFEBVRE J., Risk Factors for WoundInfection in Head and Neck Cancer Surgery: AProspective Study, International Congress on InfectiousDisease, Buenos Aires, 2000.333


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Recuperação de Imagens via Semânticas de Regiões utilizando Redes NeuraisEduardo F. Ribeiro 1 , Marcos A. Batista 3 , Ilmério R. da Silva 1 , Keiji Yamanaka 4 ,Célia A. Z. Barcelos 1,21 Universidade Federal de Uberlândia, Faculdade de Ciência da Computação, Uberlândia, MG, Brasil2 Universidade Federal de Uberlândia, Faculdade de Matemática, Uberlândia, MG, Brasil3 Universidade Federal de Goiás, Departamento de Ciência da Computação, Catalão, GO, Brasil4 Universidade Federal de Uberlândia, Faculdade de Engenharia Elétrica , Uberlândia, MG, Brasilufg.eduardo@gmail.com, marcos@catalao.ufg.<strong>br</strong>, ilmerio@facom.ufu.<strong>br</strong>, keiji@ufu.<strong>br</strong>, celiazb@ufu.<strong>br</strong>ResumoNeste trabalho, uma forma de caracterização erecuperação de imagens é proposta utilizando as RedesNeurais Artificiais como instrumento para daràs características de baixo nível (cor, forma e textura)uma interpretação semântica baseada em classespré-estabelecidas. Tal semântica é adquirida duranteo treinamento da rede que tem a função de caracterizarcada região da imagem como sendo pertencente àuma classe (por exemplo, rocha, água, grama, etc.). Tai<strong>sc</strong>lasses serão baseadas em palavras chaves que de<strong>sc</strong>reverãoa imagem em alto nível e que serão utilizadas para aformulação de consultas.1. IntroduçãoA revolução tecnológica possibilitou, nos últimos anos, apopularização de dispositivos de captura de imagens comocâmeras e <strong>sc</strong>anners digitais. Com isso, se torna visível o aumentodo número de imagens geradas por centros militarese sociais. Tais imagens podem perder sua utilidade se nãoforem adequadamente organizadas ou se a bu<strong>sc</strong>a dentro dosbancos de dados não for realizada de maneira eficiente. Sistemasde recuperação de imagens baseada em conteúdo podemse tornar uma ferramenta bastante útil e eficiente pararesolver esse tipo de problema. Neles, as imagens são indexadaspelos atributos, também chamados de característicasde baixo nível, diretamente derivados do seu conteúdo visualcomo cor, forma, textura ou uma combinação destespara refletir a semântica inerente às imagens e tentar representaro conteúdo intrínseco das mesmas.Mesmo depois do considerável esforço nas pesquisasrealizadas durante a última década, alguns problemas relacionadosà recuperação de imagens baseada em conteúdoainda persistem e, atualmente, ainda não existem sistemastão robustos quanto os sistemas de bu<strong>sc</strong>a baseados emde<strong>sc</strong>rição textual. A principal dificuldade éogap-semânticoentre as concepções de alto nível usadas pelos seres humanospara entender o conteúdo de uma imagem e as característicasde baixo nível usadas na visão computacional[7]. Para um computador, a extração do conteúdo semânticode uma imagem é uma tarefa árdua, pois muitos objetosque possuem o mesmo conteúdo semântico podem sertotalmente diferentes na aparência visual e muitos objetosde diferentes categorias podem ser similares em sua<strong>sc</strong>aracterísticas [2]. Os humanos, por outro lado, possuemmuita informação, a priori, so<strong>br</strong>e diferentes objetos que éusada para reconhecê-los, ou seja, essa informação é obtidaatravés de experiências prévias, preferências pessoais, interessese o contexto em que as imagens são apresentadas.Este tipo de conhecimento é inerentemente difícil de se reproduzirem uma aplicação de visão computacional [5].Aciência da computação está enfatizando mais fortementeuma importante transformação que bu<strong>sc</strong>a combinara computação realizada em ciência da computação coma computação observada na natureza que nos cerca. Devidoà percepção humana ser o ponto de referência paracomparação da eficiência dos sistemas de recuperação deimagens, o desenvolvimento de um “sistema ideal” se tornabastante desafiador. Assim como a visão humana éumprocesso inteligente, capaz de extrair padrões de imagensque as caracterizem e fazer inferências e generalizaçõesatravés desses padrões associando-os a um conhecimentoprévio, acredita-se que um sistema de recuperação de imagensefetivo deva ser dotado de tais capacidades, ou seja,deva possuir mecanismos inteligentes, capazes de fazer inferênciase/ou generalizações. Deste modo os atributos deuma rede neural, tais como aprender através de exemplos,generalizações redundantes e tolerância a falhas, proporcionamfortes incentivos para o uso de redes neurais comouma e<strong>sc</strong>olha apropriada para uma modelagem de um sistemade recuperação baseado em semânticas de alto nível.334


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Neste artigo, uma aproximação para a recuperação deimagens baseada em semânticas de alto nível é apresentada.Dois aspectos importantes para a recuperação de imagenssão considerados: a recuperação de imagens que contenhamo maior número de regiões possuindo o(s) conceito(s)semântico(s) dado(s) pelo usuário e a fusão de diferente<strong>sc</strong>aracterísticas de baixo nível para dar à rede o conhecimentonecessário para reconhecer as regiões.2. Trabalhos CorrelatosPara tentar reduzir o gap-semântico existente entre opoder limitado de interpretação semântica pelas máquinase a rica subjetividade do pensamento humano alguns trabalhosbaseados em semânticas de alto nível têm sido proposto<strong>sc</strong>om o uso de ferramentas formais como técnicas deaprendizado supervisionado [8]. O objetivo do aprendizadosupervisionado é fornecer um resultado (por exemplo, umacategoria semântica à qual a consulta pertence) baseado emuma série de dados entrada [3]. Algumas técnicas, como oSupport Vector Machine (SVM) [9], podem ser utilizadaspara aprender conceitos de alto nível (como categoriassemânticas) através de características de baixo nível (comoatributos de cor, forma e textura).O SVM tem sido muito utilizado para reconhecimentode objetos, classificação de textos, e é considerado um bomcandidato para o aprendizado em sistemas de recuperaçãode imagens [13]. Tal técnica é utilizada para encontrarum hiperplano que separa os dados de entrada. Dentre ospossíveis hiperplanos, o plano separador ótimo (OSP) irámaximizar a distância entre o hiperplano e os pontos maispróximos de cada classe e utilizar esse separador para classificaras imagens [10].As redes neurais também podem ser utilizadas parase fazer a classificação de imagens. Nesse caso um considerávelnúmero de dados de treinamento (característicasde baixo nível) é inserido na rede neural para estabelecero vínculo entre os dados de entrada e suas categorias[14]. A classificação se dá na constituição defronteiras de decisão não lineares no espaço de característicasde baixo nível, adequando a imagem consulta aogrupo em que ela mais se aproxima.No artigo [16], Zhang propõe uma forma de recuperaçãode imagens em alto nível, através da divisão das imagens deinteresse em blocos de regiões uniformes e extraindo característicasde baixo nível (através de sete de<strong>sc</strong>ritores: CLD,CSD, DCD, EHD, TGF, GLC e HSV) para montar vetoresde características ponderados. A pesagem de cada termo édada pelo cálculo da matriz de distâncias do vetor para ocentróide do conjunto de vetores que caracterizam um conceitopré-e<strong>sc</strong>olhido. A recuperação é, então, feita atravésdesses vetores ponderados.Em [6] é proposto um sistema de recuperação de imagensatravés das redes neurais, onde cada imagem é caracterizadaem baixo nível (através da Transformada Di<strong>sc</strong>retado Co-seno) e associada à um ou mais conceitos presentesnesta. O vetores de características e seus respectivos rótulossão reunido em um conjunto para treinar a rede neural e estabelecero vínculo entre as características e os conceitospré-definidos. Os resultados mostram que as redes neuraispodem ser capazes de memorizar tais categorias mas, paraimagens compostas por vários conceitos semânticos os resultadosnão são satisfatórios. Motivado por essas idéias,esse trabalho propõe a divisão das imagens em regiões uniforme<strong>sc</strong>omo em [16], de forma que cada região contenhaum único conceito, para treinar uma rede neural dando aligação entre um vetor de características que represente ostrês atributos principais da recuperação de imagens (cor,forma e textura), tornando a rede mais robusta e a ligaçãoentre as características de baixo nível e seus respectivo<strong>sc</strong>onceitos ainda mais intrínseca.3. Recuperação de Imagens Baseada em ObjetosNa maioria dos cenários em recuperação de imagensos usuários sempre focam a atenção em simples objetos.As pessoas sempre tendem a procurar objetos deinterpretação semântica mais simples filtrando incon<strong>sc</strong>ientementeelementos ao redor da cena bem como outrosobjetos mais complexos. Entretanto, a segmentaçãode objetos não é di<strong>sc</strong>utida nesse trabalho, visto que asegmentação de uma imagem em objetos semanticamentesignificativos étão desafiante quanto o próprio problemado gap-semântico. A relação de objetos nesse trabalhoserá dada através do exame de pequenos blocosde tamanho fixo extraídos das imagens (também chamadosde regiões). O uso de tal técnica pode ser baseada naobservação de que os usuários estão interessados em encontrarobjetos nas imagens, não se importando o ambiente emque ela está inserida e de que as regiões caracterizam melhorum determinado objeto do que a caracterização de todaa imagem. A figura 1 mostra um exemplo que ilustra essasobservações. As regiões destacadas representam a<strong>sc</strong>ategorias semânticas: rochas, água e vegetação. Estes blocossão pequenos o suficiente para conter um únicoobjeto e grandes o bastante para carregar informação suficientena caracterização do objeto em questão.Ométodo proposto pode ser dividido em duas etapas:fase de treinamento e fase de consulta. Foram e<strong>sc</strong>olhido<strong>sc</strong>inco conceitos semânticos diferentes a serem representados:água, vegetação, nuvens, pedras e tigres. Para dar o conhecimentonecessário à rede neural e para que a mesmapossa reconhecer tais categorias nas imagens foram <strong>sel</strong>ecionadasmanualmente várias imagens contendo os referi-335


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Figura 1. Blocos de regiões em uma imagem.dos conceitos e, a partir dessas imagens foram extraídosblocos de regiões uniformes para cada um dos conceito<strong>sc</strong>itados. Cada bloco tornou-se então uma nova imagem.Foram <strong>sel</strong>ecionadas 248 imagens e geradas 621 regiões. Afigura 2 mostra um exemplo de regiões utilizadas no treinamentopara cada conceito semântico, bem como o númerode regiões utilizadas para representar cada categoria. Apóse<strong>sc</strong>olhidas essas regiões, as mesmas passam por extratoresde características de baixo nível que servirão de entradaspara a rede. A próxima seção elucida esta etapa.4. Caracterização das Imagens em BaixoNívelSistemas de Recuperação de Imagens baseada emConteúdo (CBIR) se utilizam da hipótese de correspondênciade uma dada imagem a outra a partir deseus atributos. Nesses sistemas as imagens são indexadaspor um conjunto numérico de dados relevantes. Essaestrutura de dados também chamada de vetor de característicasabstrai a informação necessária para a representaçãodestes atributos. Os atributos principais utilizados em sistemasCBIR são: cor, forma e textura. A partir de umacaracterização adequada de uma imagem e da e<strong>sc</strong>olha deuma ferramenta adequada de recuperação épossível identificaralguns padrões principais na mesma ou realizarde<strong>sc</strong>rições so<strong>br</strong>e o conteúdo dela. Neste trabalho, as característicasde baixo nível extraídas das imagens formarãoo vetor de entradas da rede neural denotados por F ={x 1 ,x 2 ,x 3 , ..., x n ,x n+1 ,x n+2 ,x n+3 , ..., x n+m ,x n+m+1 ,x n+m+2 ,x n+m+3 , ..., x n+m+o } onde o conjunto x i re-Figura 2. Amostra dos blocos consideradospara os conceitos: vegetação, água, 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 dimensãodo vetor será (n + m + o) e conseqüentemente esteserá onúmero de entradas na rede.Esse vetor de características não será usado comoparâmetro de verificação de similaridade como ocorre emsistemas de recuperação tradicionais, conseqüentemente,não será armazenado no banco de dados do sistema. As característicasserão utilizadas única e exclusivamente paraservirem como entradas da rede e serão de<strong>sc</strong>artadas logoem seguida. As subseções seguintes apresentam os três de<strong>sc</strong>ritores(de cor, forma e textura) utilizados no treinamentoda rede neural.4.1. Momentos de CorA recuperação de imagens baseada na semelhança da<strong>sc</strong>ores requer distâncias no espaço de cores pertinentes àpercepção humana. Qualquer diferença resultante entre oespaço de cores é avaliada como uma distância entre os pontosde cores correspondentes. Ao longo do tempo, váriastécnicas relativamente simples e robustas foram propostaspara avaliar essa semelhança. A indexação de imagens porcor foi introduzida por [12].Uma dessas técnicas são os momentos de cor [11] quecaracterizam as imagens em termos da distribuição da<strong>sc</strong>ores. As imagens são representadas no espaço de cor HSV336


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.(Hue, Saturation and Value) e cada canal de cor é interpretadopor três medidas estatísticas.Sendo N onúmero de pixels da imagem e p ij o valordo i-ésimo canal de cor para o j-ésimo pixel da imagem,média, desvio padrão e inclinação são computados atravésdas expressões1,2e3,respectivamente.E i = 1 Nσ i = √ 1 NS i = 3 √ √√√1NN∑p ij (1)j=1N∑(p ij − E i ) 2 (2)j=1N∑(p ij − E i ) 3 (3)j=1Estes três momentos são colhidos para cada componentede cor, totalizando nove momentos.4.2. Vizinhança de TexturaA textura é uma propriedade inata de todas as superfíciese isso pode ser facilmente usado para representar diferentesmatérias. Um bom método para se de<strong>sc</strong>rever a textura deuma imagem é o chamado de<strong>sc</strong>ritor de vizinhança de textura[15]. Nesse método um de<strong>sc</strong>ritor de dimensão oito é geradoda seguinte forma: se o valor de um pixel na vizinhançade oito é maior que o pixel central então, o contador direcionalindicando a respectiva direção é incrementado. Isto éfeito para todos os pixels na imagem.4.3. Histograma de Direção da BordaOs primeiros experimentos em extrações de característicasde forma foram feitos utilizando histogramas dedireção da borda [1] que é computado da seguinte maneira:primeiramente, o modelo de espaço de cores é transformadono modelo de cores HSV onde a variável Hue éde<strong>sc</strong>onsiderada por questões explicadas em [1]. As outrasduas variáveis são convolvidas, ou seja, transformadas emuma nova imagem através de operadores de Sobel em oitodireções [1].A imagem resultante desta operação é então binarizadacom um valor de threshold apropriado para cada variável.Os valores de threshold são, então, manualmente fixadospara que sejam os mesmos em todas as imagens. Os histogramasde borda são calculados contando os pixels daborda em cada uma das oito direções [1].5. Modelagem SemânticaA proposta da modelagem semântica nesse trabalho éassociar as características visuais de baixo nível com o<strong>sc</strong>onceitos semânticos contidos nas imagens. Uma rede neuralmulticamadas foi empregada para tal tarefa, possuindo100 neurônios na camada oculta e 5 neurônios na camadade saída (que representam as categorias semânticas prédeterminadas:rochas, água, nuvens, tigres e vegetação). Aentrada da rede será composta por 26 unidades, sendo 9para os momentos de cor, 8 para a vizinhança de textura, 8para o histograma de direção da borda e 1 para o bias. SejaG =(F, S) uma coleção de pares características-rótulo, arede neural será iterativamente treinada de forma supervisionadaaté que minimize o erro global entre a saída realda rede e o rótulo S. Uma função de ativação sigmóideϕ(.) = 11+eé usada tanto na camada oculta, quanto na−xcamada de saída. O treinamento da rede é, então, realizadoutilizando um algoritmo de retropropagação do erro [4].6. Representação da Consulta e Medida de SimilaridadeApós a rede estar treinada e sua memória estar carregadade informações pertinentes à fase de treinamento, a próximaetapa será utilizar essas informações em imagens de umbanco de testes. Nessa fase cada imagem do banco de dadosde testes foi dividida em 16 regiões e cada região foicaracterizada em baixo nível que, por sua vez, foram introduzidasna rede neural para produzir um vetor de indicaçãoO = (o 1 ,o 2 , ..., o 5 ), onde o k ∈ (−1, 0, 1). Os valores1(−1) denotam a presença (ou ausência) de uma categoriasemântica contida na região em questão e o valor 0representa aquelas regiões em que a rede não conseguiuidentificar a presença ou não de tais categorias. Logo cadaimagem será representada, na fase de consulta, pelo vetorI =(O 1 ,O 2 , ..O n ), onde n éonúmero de regiões e O jé o vetor de indicação para a região j. Após todas as imagensserem caracterizadas em alto nível e possuírem os vetoresde indicação, passa-se então à fase de consulta. Nessafase, o usuário e<strong>sc</strong>olhe, através de uma interface, quais objetoso mesmo deseja que a imagem a ser recuperada possua.Com esses dados, o sistema irá montar um vetor de valoresreais Q =(q 1 ,q 2 , ..., q 5 ), onde q i ∈ (1, 0) e no qual1(0) representa a presença (ou não) do conceito na consulta.Assim, a medida de similaridade utilizada pelo modelo propostoé dada pela equação 4,S(Q, I) =m∑i=1 j=1n∑(q i o ji ) (4)onde q i éoi-ésimo elemento do vetor consulta Q e o ji éoi-ésimo elemento do vetor de indicação O para a região j.337


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.As maiores distâncias formarão um ranking, onde as imagensque possuírem o maior número de regiões com a(s)categoria(s) e<strong>sc</strong>olhida(s) pelo usuário estarão no topo deste.7. Testes e Resultados ExperimentaisO sistema proposto foi implementado em JAVA TM eapós a fase de treinamento com as 621 regiões dos 5 conceitospré-estabelecidos passou-se à fase de testes. Nestafase foi montado um banco de dados possuindo 2300 imagen<strong>sc</strong>om cenas diversas e com várias delas possuindo algunsdos cinco conceitos: rochas, água, nuvens, tigres evegetação. Cada imagem desse banco foi dividida em umgrid de 16 regiões uniformes, cada região foi caracterizadaem baixo nível e passada pela rede neural já treinadagerando os vetores de indicação.As figuras 3, 4 e 5 mostram os resultados de consultaspara um único conceito (água ,vegetação, nuvens e tigres).Tais resultados demonstram a habilidade de o sistemamemorizar os padrões de cada conceito durante a fase detreinamento.Figura 4. Ranking obtido para a consulta: nuvens.Figura 5. Ranking obtido para a consulta: tigres.Figura 3. Ranking obtido para a consulta:vegetação.analisadas as primeira 50 posições do topo do ranking. Ocálculo da precisão foi feito pela fórmula 5:A figura 6 mostra um experimento onde o vetor consultapossui mais de um conceito atribuído (água e rochas).Este tipo de consulta pode ser considerada uma consultabooleana do tipo OU(OR), visto que na implementação dosistema não há a normalização do vetor de consulta, fazendocom que o sistema retorne as imagens com o maior númerode regiões que possuem os conceitos inseridos, independentede quais são eles.Para avaliação de desempenho do sistema foi utilizadauma fórmula de precisão como em [16]. Nessa fórmula foiusado um valor de limiar para definir quantas imagens serãoanalisadas no topo do ranking para definir o número de imagensrelevantes. O valor do limiar usado foi 50, isto é, foramP i = ϱ i(5)Konde k é o limiar, ϱ i éonúmero de elementos de (U i ∩ V i ),V i é o conjunto das primeiras K imagens recuperadasusando o conceito i como consulta e U i é o conjunto dasimagens relevantes usando o conceito i como consulta. Osvalores de precisão utilizando K=50 como limiar são apresentadosna tabela 1.Pode-se observar que a taxa de precisão para o conceitoágua é baixa, pois nas primeiras posições do ranking, paraa consulta desse conceito, foram retornadas muitas imagensde nuvens, visto que as propriedade locais (cor, forma e textura)são bem semelhantes.338


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Como trabalhos futuros pretende-se incrementar o modelocom o aumento do número de conceitos bem como aexpansão da consulta através do retorno de relevantes dadopelo usuário para aumentar ainda mais a precisão do rankinginicial. Pretende-se também realizar novos estudos e teste<strong>sc</strong>om respeito à segmentação de imagens para que o sistemafique ainda mais robusto e para que as regiões segmentada<strong>sc</strong>aracterizem ainda mais as semânticas de alto nívelutilizadas por interpretadores humanos.ReferênciasFigura 6. Ranking obtido para a consulta:agua OU rochas.Conceito Precisãoágua 42%vegetação 100%nuvens 100%rochas 56%tigres 76%Tabela 1. Valores de precisão para a primeirapágina de imagens recuperadas com limiarigual a 50.8. Conclusões e Trabalhos FuturosNeste trabalho foi apresentado um sistema derecuperação de imagens baseado em semânticas de objeto<strong>sc</strong>om o uso das redes neurais para dar a ligação entrecada região e seu respectivo conceito. Nota-se que o aprendizadoneural pode ser uma forma robusta de aquisiçãode conhecimentos principalmente para suprimir a subjetividadehumana e reduzir assim a di<strong>sc</strong>repância entreo poder de de<strong>sc</strong>rição limitado das características debaixo nível e a de<strong>sc</strong>rição de alto nível feita por interpretadoreshumanos. Tal técnica fez uso das característicasde baixo nível (cor, forma e textura) como suportepara a formação de um vetor de indicação representadopelo conhecimento da rede neural adquirido por exemplospré-definidos no treinamento da mesma.Baseado na avaliação de desempenho da mesma assimcomo na análise visual dos resultados pode-se notar a habilidadedo método proposto para uma recuperação efetivadas imagens de acordo com os conceitos semânticos dados,demonstrando sua potencialidade.[1] S. Brandt. Use of shape features in content-based image retrieval.Master’s thesis, Helsinky University of Technology,Espoo, Finlândia, 1999.[2] A. Gupta and R. Jain. Visual information retrieval. Communicationsof the ACM, 40(5):70–79, 1997.[3] T. Hastie, R. Tibshirani, and J. Friedman. The Elements ofStatistical Learning: Data Mining, Inference, and Prediction.New York: Springer-Verlag, 2001.[4] S. Haykin. Redes Neurais: Princípio e Prática. 2 edition,2001.[5] Y. Liu, D. Zhang, G. Lu, and W.-Y. Ma. A survey of contentbasedimage retrieval with high-level semantics. PatternRecogn., 40(1):262–282, <strong>2007</strong>.[6] X. Ma and D. Wang. Semantics modeling based image retrievalsystem 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 concepts.Proceedings of the SPIE Data Mining and KnowledgeDi<strong>sc</strong>overy, <strong>III</strong>:279–290, 2001.[9] R. Shi, H. Feng, T.-S. Chua, and C.-H. Lee. An adaptive imagecontent representation and segmentation approach to automaticimage annotation. In CIVR, pages 545–554, 2004.[10] R. Shi, H. Feng, T.-S. Chua, and C.-H. Lee. An adaptive imagecontent representation and segmentation approach to automaticimage annotation. International Conference on Imageand Video Retrieval (CIVR), pages 545–554, 2004.[11] M. Stricker and M. Orengo. Similarity of Color Images, volume2, pages 381–392. 1995.[12] M. J. Swain and D. H. Ballard. Color indexing. Int. J. Comput.Vision, 7(1):11–32, 1991.[13] S. Tong and E. Chang. Support vector machine active learningfor 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 usingsemantic 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 - Journalon Advances in Signal Processing, April, <strong>2007</strong>.339


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Eliminação de Ruídos e Extração de Bordas em Imagens Digitais via Equação deDifusão não-LinearWallace Correa de Oliveira CasacaDCCE-IBILCE-UNESPRua Cristóvão Colombo, 226515054-000 - São José do Rio Preto - SPwallace.coc@gmail.comMaurílio BoaventuraDCCE-IBILCE-UNESPRua Cristóvão Colombo, 226515054-000 - São José do Rio Preto - SPmaurilio@ibilce.unesp.<strong>br</strong>ResumoEste trabalho encontra-se inserido dentro de uma linhade pesquisa bastante interesstante no contexto de restauraçãoe segmentação de imagens: a de eliminação de ruídos,que consiste em utilizar modelos matemáticos baseadosem equações diferenciais parciais para restaurar imagensdigitais danificadas, removendo ou minimizando o nívelde ruído na imagem. Aplicações nesta área incluem: tratamentode imagens médicas e biológicas, reconstrução defotografias antigas, remoção de textos so<strong>br</strong>epostos, suavizaçãode 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 transformadaspara segmentar imagens digitais. Também vamosapresentar uma abordagem de extração de bordas em imagenspré-processadas por meio da transformada Top-hat1. IntroduçãoAtualmente, tem-se observado um interesse cre<strong>sc</strong>ente nodesenvolvimento de novas técnicas e aplicações em processamentode imagens. Aplicações nesta área incluem eliminaçãode ruídos, tratamento de imagens médicas, reconstruçãode fotografias antigas e filmes danificados, remoção detextos so<strong>br</strong>epostos, edição de imagens, animações 3D, entreoutros.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 indevidasnas e<strong>sc</strong>alas de tonalidades de cores que constituemuma imagem. Nesse sentido, os autores Barcelos, Boaventurae Silva Júnior, em [1], propuseram um modelo de difusãoanisotrópica, o qual trata de maneira diferenciada ospontos de bordas e interiores em uma imagem digital, proporcionandoum bom equilí<strong>br</strong>io 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 experimentaldo modelo baseado em equações diferenciais de difusãoproposto 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ídosDurante o processo de aquisição de uma imagem, queserá denotada por u, podem surgir diversos tipos de interferências(ruídos). Do ponto de vista matemático, esses ruídossão caracterizados pela relação SNR (Signal to Noise Ratio),medido em decibels (db), que é expresso por:( ) σ2SNR =10log 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 modelode remoção de ruídos e segmentação de imagens propostoem [1], que neste contexto será denotado por modeloBBS.Os autores propuseram um modelo <strong>sel</strong>etivo, efetuandouma suavização mais completa nas regiões homogêneas, esuperficial so<strong>br</strong>e as bordas, preservando assim a estrutura340


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Figura 1. Imagem original.A variável σ, presente na função gaussiana G, é tomadacomo sendo o desvio padrão do rúido σ η presente na imagemcontaminada u(x, y, 0) = I(x, y).As condições de contorno para o modelo apresentado anteriormentesão do tipo Neumann, isto é, ∂u =0, onde n é∂no vetor normal ao contorno da região Ω de definição da imagem.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 <strong>sel</strong>etivamente o processode difusão de<strong>sc</strong>rito 2, suavizando de forma mais incisivaregiões mais homogêneas e fazendo com que o termoforçante λ(u−I) atue de forma mais intensa nas regiões caracterizada<strong>sc</strong>omo de contorno, e assim, preservando-as.2.1. Processo Iterativo do Modelo DifusivoA implementação computacional do modelo consiste emutilizar um procedimento iterativo visando a suavização daimagem com ruído.Assim, considere uma imagem digital u 0 (i, j) : D =[0,N] × [0,M] ⊂ N 2 → E ⊂ R, onde E é um conjuntoenumerável finito, que representa uma certa gradaçãode cinza.A idéia fundamental de qualquer modelo de denoisingbaseado em EDP é construir uma família de imagensu(i, j, t) :D × N → E, tal queu(i, j, 0) = I(i, j),Figura 2. Imagem com ruído (SNR =1db).original da imagem. Assim, em termos matemáticos, o modeloproposto é dado pela seguinte equação diferencial:( )∂u∇u∂t = g|∇u|div − λ(1 − g)(u − I) (2)|∇u|onde u(x, y, 0) = I(x, y) representa a imagem original providade 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 queg = g(|∇G σ ∗ u|) =11+k|∇G σ ∗ u| 2 ,G σ (x, y, t) = 12σπt e−(x2 + y 2 )2σt .comisto é, a imagem digital provida de ruído I(i, j) dever ser aprimeira imagem desta família elimt→∞ u(i, j, t) =u R(i, j),onde u R (i, j) é a imagem obtida após aplicarmos um determinadoalgorítmo recursivo com base no modelo de eliminaçãode ruídos em questão.Na maioria dos casos, os algorítmos numéricos recursivossão da forma:u(i, j, t +1)=u(i, j, t)+∆tL(u),onde L é um operador que denota a equação central do modeloem estudo. Neste caso, a di<strong>sc</strong>retização do operador L éfeita substituindo-se as derivadas presentes em L por equaçõesde diferenças.Na prática, após aplicarmos um número considerável deiterações no parâmetro temporal, isto é, para t suficientementegrande, obtemosu(i, j, t) =u R (i, j),341


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.que é, de fato, a imagem restaurada obtida a partir da imagemcom ruído I.É válido ressatlar que neste trabalho vamos implementaro modelo de remoção de ruídos BBS apenas em imagensmonocromáticas.No caso do calculo o termo da convolução de g(|∇G σ ∗u|), utilizamos regras de quadratura.3. Morfologia MatemáticaDe acordo com [7], a teoria da Morfologia Matemáticaé fundamentada na análise de decomposição de operadoresentre reticulados completos em termos de quatro classesde operadores elementares conhecidos por erosão, dilataçã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 conhecidos(forma e tamanho), que são comparados ao conjuntode<strong>sc</strong>onhecido 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) =min{f(x + b)+B(b)} (3)b∈BDefinição 2. A dilatação de uma imagem em tons de cinzapor um elemento estruturante é definida como:[δ(u) B (u)](x) =max{f(x + b)+B(b)} (4)b∈BEmbora os operadores dilatação (4) e erosão (3) ressaltemalgumas características quanto às tonalidades e<strong>sc</strong>urasou claras da imagem, quando aplicados isoladamente, sãotransformações que nem sempre evidenciam todas as característicasreais da imagem. Entretanto, esses operadorespossibilitam constituir algumas funções muito interessantes,como por exemplo, o gradiente morfológico, fechamento,abertura, segmentação, entre outros.3.1. Transformação Top-hatPartindo dos conceitos precedentes so<strong>br</strong>e 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 erosãode uma imagem u por um elemento estruturante B, istoé:onde:ρ(u) =δ B (u) − ε B (u). (5)• ρ 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, podemosdefini-lá pela operação de erosão de u por B, seguidopela operação de dilatação com elemento estruturante transpostoˆ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é<strong>br</strong>icos:φ 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 originale a imagem correspondente aberta (operação de abertura),ou usar a imagem fechada (operação de fechamento)e a imagem original. Os Top-hats são transformações caracterizadaspor essas combinações.O Top-hat por abertura, de uma imagem u, é definidoconsiderando-se a diferença aritmética entre a imagem originalu 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 fechamento(9) como auxílio para a correção do fundo da imagem.Assim, após a imagem ser pré-processada pelo modelode eliminação de ruído (2), aplica-se a transformaçãoTop-hat de fechamento (9), obtendo-se a imagem completamentesegmentada.4. Resultados ExperimentaisPara efeito de ilustração, apresentamos quatro exemplos,nos quais foram empregados as técnicas propostas neste trabalho.As três primeiras imagens experimentais são constituídaspor matrizes de dimensões 256 x 256 em e<strong>sc</strong>ala decinza, cuja tonalidade varia de 0 a 255.342


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.No primeiro experimento consideramos a fotografia damodelo Lenna, cujo o SNR =7. Em seguida, aplicamos omodelo (2) em uma imagem geométrica extremamente danificada,com SNR =0. Para os dois últimos experimentos,procuramos evidenciar o processo de suavização utilizandoo modelo (2) seguido da aplicação da transformaçãoTop-hat para a extração dos contornos internos da imagem.Figura 5. Fotografia restaurada pelo modelo.Figura 3. Fotografia da Lenna, sem ruído.Figura 6. Imagem original, sem ruído.Figura 4. Versão com ruído (SNR =7).5. ConclusãoBaseado em nossos experimentos, constatamos que o tratamentode imagens via EDP aliado à transformações queevidenciam a segmentação de imagens fornecem resultadosextremamente satisfatórios se tratando de qualidade visual.Uma vantagem em utilizar equações diferenciais na suavizaçãoe remoção de ruídos em imagenséofatodecontarmo<strong>sc</strong>om uma vasta variedade de resultados analíticos e numéricos,como é o caso da teoria de vi<strong>sc</strong>osidade em equaçõesdiferenciais parciais, que nos fornece uma base teóricasólida para aplicar o formalismo matemático necessárioe alguns métodos de di<strong>sc</strong>retização de equações diferenciais,úteis para a confecção de algorítmos numéricos estáveis.Através da di<strong>sc</strong>retização das equações de<strong>sc</strong>ritas anteriormente,originamos modelos iterativos de soluções, oque possibilitou uma implementação computacional robustadessas soluções. Em especial, foram usados o método de diferençasfinitas e a regra de Simpson melhorada para di<strong>sc</strong>retizartais termos.No caso de tratamento de imagens de gel de eletroforese,cujo estudo é bastante utilizado em seqüenciamento343


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Figura 7. Imagem contaminada por ruído(SNR =0).Figura 9. Impressão digital provida de ruído.Figura 10. Imagem suavizada por (2).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 trabalhoapresentaram ótimos resultados, como pode ser visto em(4). Levando em consideração (4), pode-se dizer que a junçãodos métodos (2) e (9) apresentaram resultados satisfatóriosno tratamento de imagens com alto nível de detalhes,como é o caso de imagens relacionadas à impressão digital.Gostaríamos de ressaltar que este ramo interdi<strong>sc</strong>iplinarinserido na área de processamento de imagens digitai<strong>sc</strong>aracteriza-se por uma evolução contínua e gradativade pesquisas científicas, gerando excelentes trabalhos, noentanto, há muito a ser pesquisado.5.1. AgradecimentosOs autores agradeçem à FAPESP e à CAPES pelo suportea esta pesquisa.Referências[1] BARCELOS, C.A.Z, BOAVENTURA, M., SILVA, JR, A WellBalanced Flow Equation for Noise Remove and Edge Detection,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 <strong>sel</strong>ection of parameters, Computationaland Applied Mathematics, Brazil, vol. 24, n. 1, pp.131-150, 2005.[3] BERTALMÍO, M.,Processing of flat and non-flat image informationon arbitrary manifolds using Partial Differential344


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Figura 11. Extração dos contornos através datransformação Top-hat (9).Figura 13. Versão suavizada por (2).Figura 12. Imagem biológica de Gel de Eletroforese.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 detectionusing 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., SegmentaçãoMorfológica de Imagens utilizando o Gradiente MorfológicoMulti-E<strong>sc</strong>ala, Revista Brasileira de Cartografia, PresidentePrudente, vol. 01, n. 54, pp. 77-85, 2002.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 VariationBased Noise Removal Algorithms, Physica D 60,pp.259-268, 1992.[10] YE X., SUEN, C.Y.,CHERIET, M., WANG, E.,Proceedingsof Vision Interface, Trois-Rivières, pp. 432-438, 1999.[11] TEIXEIRA,R.,Introdução aos Espaços de E<strong>sc</strong>ala, 23ž ColóquioBrasileiro de Matemática, IMPA, Rio de Janeiro, 2001.345


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Processamento Multidomínio de Imagens Mamográficas para a Remoção deRuídos com Preservação de BordasEvanivaldo Castro Silva JúniorFaculdade de Tecnologia – FATEC/RP eCentro Universitário de Votuporanga – UNIFEVevanivaldojr@yahoo.com.<strong>br</strong>Maurílio BoaventuraUNESP/IBILCE - DCCEmaurilio@dcce.ibilce.unesp.<strong>br</strong> rHomero SchiabelUniversidade de São Paulo – <strong>USP</strong>/EESCDepartamento de Engenharia Elétricahomero@<strong>sel</strong>.<strong>ee<strong>sc</strong></strong>.<strong>usp</strong>.<strong>br</strong>Célia Aparecida Zorzo BarcelosUniversidade Federal de Uberlândia - UFUceliazb@ufu.<strong>br</strong>AbstractThe main purpose of this paper is to apply a domaindecomposition model proposed by Barcelos, Boaventuraand Silva Jr [1] which has as its main characteristic abalanced diffusion for denoising processing with aconsequent preservation of boundaries to mammographicentire image processing. Once this kind of images has alarge domain this represents an expensive task in acomputational point of view. Some numeric results will beshown in order to illustrate the performance obtained inthe model.1. IntroduçãoCom a evolução da tecnologia computacional, aliadaao incremento dos processos de obtenção de imagens docorpo humano tais como raios X, tomografiacomputadorizada, ultra-som, ressonância magnética, entreoutras, a manipulação de imagens digitais tornou-sefundamental no auxilio do diagnóstico médico [2].Como todo aparato tecnológico, esses dispositivospossuem limitações nos processos de obtenção,transmissão, armazenamento e, consequentemente, nainterpretação dos resultados necessários ao diagnósticomédico [3] e [4].Técnicas de processamento, constantemente sãodesenvolvidas e utilizadas para a minimização de taisefeitos [5].Dentre os principais fatores limitantes, podemos citar apresença de ruído devido às etapas de obtenção etransmissão onde os artefatos tecnológicos envolvidos sãoos principais responsáveis [3].O objetivo principal desse trabalho é aplicar o modeloproposto por Barcelos, Boaventura e Silva Jr [1] utilizadono processamento de imagens mamográficas [6], visandoà remoção de ruídos com preservação de bordas noprocessamento da imagem mamografia inteira, isto é, emtodo o domínio da radiografia e não somente em regiõesde interesse (RI).A justificativa de tal aplicação deve-se ao fato que emesquemas de auxílio diagnóstico, os chamados CAD(Computer-aided Diagnosis), um dos desafios encontradosé a <strong>sel</strong>eção automática de estruturas de interesse o que secomumente faz por uma <strong>sel</strong>eção prévia de regiões deinteresse através da intervenção humana, isto é, médicosradiologistas.Entretanto, um processamento completo do examemamográfico, pode eliminar tal etapa além de umapossível minimização de erros de natureza humana.Dessa forma, a proposta visa aplicar a versãoMultidomínio da ferramenta desenvolvida em [1],proposta em [7], onde a imagem mamográfica éfragmentada automaticamente em subdomínios eprocessada separadamente para posterior junção dossubdomínios em um domínio único final, nessa aplicação,a mamografia completa.Além dos aspectos já mencionados de automação quea proposta enfoca, o modelo proporciona o processamentocomputacional em sistemas multiprocessados, uma vezque o código é totalmente paralelizável [7]. Comoconseqüência o tempo de processamento é reduzido deforma significativa.Alguns testes com imagens mamográficas reais esimuladores de estruturas orgânicas (phantom) sãoapresentados onde são evidenciados resultados iniciaissatisfatórios.2. Materiais e Métodos2.1. Modelo de Difusão AnisotrópicaO processamento de imagens digitais via equaçõesdiferenciais parciais (EDP’s) é baseado em modelosmatemáticos que procuram deformar as curvas ousuperfícies que representam as imagens, uma vez quepodem ser consideradas como funções de346


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.[ ]2u: R a,bΩ⊂ → , de modo a se atingir o estadoestacionário dessas curvas [8].Os modelos de difusão não-lineares baseados naequação do calor tornaram-se importantes ferramentas noprocessamento de imagens digitais por agirem de forma<strong>sel</strong>etiva, objetivando a remoção de ruídos compreservação de bordas.Nesse estudo utilizamos o modelo proposto porBarcelos, Boaventura e Silva Jr. [7], dado pela equação:subdividida em i imagens de mesma dimensão que porconvenção são múltiplas de quatro, ou seja, aspossibilidades de subdivisão são 4, 8, 16, etc. Umexemplo de tal subdivisão é mostrado na figura 2.⎛ ∇u⎞u = g | ∇u| div⎜⎟−(1 −g)( u−I), (1)⎝| ∇u| ⎠uxy ( , ,0) = Ixy ( , ),( xy , ) ∈ ω , t>01g = (| ∇ Gσ* u|) = , (2)21 + k | ∇ G * u|0≤g ≤1,σ é o desvio padrão do ruído,k é uma constante.σtNo modelo acima, u=u(x,y) é uma funçãobidimensional de intensidades de cinza que representa aimagem que está sendo processada, I=I(x,y) é a imageminicial (com ruídos). O operador laplaciano é denotadopor ∇ u , o divergente por div e o produto de convoluçãopor *. Além disso temos que U ω =Ω e I ω = ∅ .ttObservemos que | ∇G* u | é uma aproximação deσ| ∇u| e quando | ∇ Gσ * u|→∞ temos g ~ 0, o que significaregiões sugeitas ao processo de suavização (remoção deruídos) mais intensa (regiões intra-bordas). Ao contrárioquando | ∇ Gσ * u|→ 0 , g ~ ∞, ou seja, detecção de bordae, eventualmente, ruídos (sinais de alta freqüência).Como o produto de convolução estima uma média deintensidades de pixel de uma dada região, os ruídosisolados são removidos mantendo-se regiões de bordas asquais possuem uma maior intensidade de sinais de altafreqüência concentrados e, portanto, com maiorrepresentatividade nessa media. Dessa forma, a função g<strong>sel</strong>eciona automaticamente o processo de suavização.O modelo proposto em (1) possui uma parametrizaçãoquase totalmente automática [9] devendo somente serinformado a percentagem do processo de suavização oqual varia de 10 a 50%.2.2. Decomposição em SubdomíniosA decomposição da imagem em subdomínios consisteem particionar a matriz suporte da imagem uxy ( , ) ⊂Ω,em submatrizes u ( x, y ), i é da formai{ }n4, n ∈ 1,2, L .Dessa forma, a imagem inicial éFigura 1. Imagem mamográfica original com1221×839 pixels de domínio.Devemos observar que o conjunto de sub-imagensdeve ter intersecção vazia e que nas regiões de fronteiradependendo das condições de fronteira utilizadas há apossibilidade de se gerar interferências no contraste daimagem final global processada ou mesmo a propagaçãode ruído indevido (fenômeno de condensação do ruído nafronteira [10]), fato extremamente indesejado nesse tipode imagem médica.A fim de minimizar tal efeito foi utilizado as condiçõesde fronteira de Neumann associada ao chamado MedianFilter como sugerido em [10].347


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.(a)Figura 2. Subdivisão da imagem da figura 1 em 4subdomínios.Cada sub-imagem processada possui umaparametrização de acordo com as características de cadadomínio, gerando uma maior especificidade e,consequentemente, um resultado mais adequado para cadaregião.3. ResultadosAlguns testes computacionais utilizando imagens demamografias completas foram realizados onde o principalenfoque 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 dasimagens geradas com o processamento realizado em 4 e16 subdomínios, respectivamente.Deve ser notado que nas regiões de bordas entre cadadomínio a imagem é preservada não destacando,visualmente, sinais de de<strong>sc</strong>ontinuidade de fronteira, oumesmo condensação de ruído.(b)Figura 3. Mamografia referente à figura 1 processadapelo modelo proposto em [7] em (a) 4 subdomínios e(b) 16 subdomínios.348


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Em imagens de phantons, os resultados mostraram-sesemelhantes visualmente (figura 4, 5 e 6).Figura 4. Imagem de phantom antropomórficooriginal com 906×503 pixels de domínio.Figura 5. Phantom Antropomórfico da figura 4processado pelo modelo proposto em [7] em 4subdomínios.Figura 6. Phantom Antropomórfico da figura 4processado pelo modelo proposto em [7] em 16subdomínios.Os tempos de processamento em cada domínio (tabela1 e 2) evidenciam a redução do custo computacionalquando comparado ao processamento seqüencial cujotempo médio de processamento para essa imagem é de132 segundos.Tabela 1. Tempos de processamento em segundos daimagem da figura 1.Processador Tempo em 4subdomíniosTempo em 8subdomínios1 32,8 7,52 9,9 8,03 28,1 2,24 24,5 2,35 8,46 1,07 0,88 4,09 6,210 2,811 1,212 4,813 6,314 5,215 8,016 8,1349


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Nessa análise devemos considerar como o tempo totalde processamento em multidomínios os maiores temposindividuais em cada processo, especificamente 32,8segundos em 4 subdomínios e 8,4 em 16 para a imagemda figura 1 e 1,3 segundos em 4 e 0,44 em 16subdomínios para a figura 4, respectivamente.Tabela 2. Tempos de processamento em segundos daimagem da figura 4.Processador Tempo em 4subdomíniosTempo em 8subdomínios1 1,05 0,272 1,3 0,283 1,1 0,344 1,5 0,325 0,16 0,27 0,38 0,49 0,0110 0,2311 0,4212 0,4413 0,314 0,315 0,416 0,3Obviamente esses tempos são variáveis dependendo dequestões como a so<strong>br</strong>ecarga dos processadores e dopróprio sistema de gerenciamento de forma mais global.4. Di<strong>sc</strong>ussão e ConclusõesO método proposto em [7] aplicado ao processamentode imagens mamográficas mostrou-se bastante adequadoprincipalmente quando observados o tempo total deprocessamento, além da própria qualidade das imagensresultantes obtidas.Como pode ser observado a relação sinal ruído foimelhorado, fato mais claramente observado nas imagensde phantons, o que deve exigir esforços futuros nesseseguimento de pesquisa, principalmente direcionados aquantificação dessa melhora através de uma análise viacurvas ROC.Além disso, a condição de fronteira utilizada mostrouserazoavelmente adequada porém nota-se a necessidadede estudos visando à diminuição de o<strong>sc</strong>ilações decontraste e de propagação de ruído conseqüente dasde<strong>sc</strong>ontinuidades introduzidas pelo processamentoparalelo.Por fim, vale ressaltar que o método sugerido temcomo principal característica ser naturalmenteparalelizável e de fácil implementação computacional.6. Referências[1] C.A.Z. Barcelos, M. Boaventura e E.C. Silva Jr., “AWell-balanced Flow Equation For Noise Removal andEdge Detection”, IEEE Transactions on ImageProcessing, 2003, pp.751-763.[2] P.N.T. Wells, “Choices in medicine: illustrations fromimaging”, Journal of Medical Engineering andTechnology, 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, Processingand analysis, Academic Press, 2000.[6] E.C. Silva Jr. e H. Schiabel, “Remoção e ruídos eimagens de mama via equações diferenciais parciais”, IIsimpó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 DomainDecomposition for Noise Removal Using a NonlinearDiffusion Equation”, in Proc. 7 th VECPAR’06 HighPerformance Computing for Computational Science, Riode Janeiro, 2006.[8] P. Perona e J. Malik, “Scale space and edge detectionusing anisotropic diffusion”, in Proc. IEEE ComputerSociety 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 partialdifferential equation with automatic <strong>sel</strong>ection ofparameters”, Computational & Applied Mathematics,2005, pp. 131-150.[10] E. C. Silva Jr., M. Boaventura and C. A. Z. Barcelos,“Boundary Conditions Analysis in Digital ImageProcessing by PDE’s”, In Proc. International Conferenceon Nonlinear Dynamics, Chaos, control and TheirApplications in Engineering Sciences, 2005, pp. 49-50.350


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.Background Estimation on Motion Scenes Using K-MeansBruno Alberto MedeirosUniversidade de São PauloE<strong>sc</strong>ola de Engenharia de São CarlosDepartamento de Engenharia Elétricabam@barretos.com.<strong>br</strong>Luiz Marcelo Chiesse da SilvaUniversidade Tecnológica Federal do ParanáCampus Cornélio ProcópioDepartamento de Eletrotécnicachiesse@utfpr.edu.<strong>br</strong>Adilson GonzagaUniversidade de São PauloE<strong>sc</strong>ola de Engenharia de São CarlosDepartamento de Engenharia Elétricaadilson@<strong>sel</strong>.<strong>ee<strong>sc</strong></strong>.<strong>usp</strong>.<strong>br</strong>AbstractBackground subtraction techniques are widely used invideo systems for internal or external surveillance andvehicle traffic tracking, by motion detection and imagesegmentation. These techniques generally differentiateand separate the motion pixels from pixels in a still area,identifying the foreground and the background in a video<strong>sc</strong>ene. For purpose of computational efficiency inembedded systems, it can be done recursively averagingthe frames, and estimating the background from thisaverage. In a certain level of complexity, there are somedetails to leave in count, like soft changes in backgroundpixels, that must be rejected, or a motion background.The main aspect to consider is the fast convergence of achanging pixel (motion pixel) to the average (backgroundestimated pixel). This paper is based in the background estimation algorithm, increasing theconvergence of the estimation using the k-meansalgorithm to reach the background.1. IntroductionBackground subtraction methods are applied mainly intraffic and security systems and motion detection insurveillance systems, by the segmentation of movingareas in the frames. Generally is needed an embeddedsystem, and for this purpose, the system must be real-timeand use few computational power and memory. TheGaussian mixtures [1],[2] and supervised statisticalmachine learning techniques [3] generally claims forcomputation and memory efficiency. For these features,the background estimation algorithm [4] is a betterchoice. The aim here is modify the algorithm for abetter performance, using the k-means algorithm. Unlikeclustering 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 estimationThis method begins with the estimation of thebackground calculating the mean at each frame in thevideo sequence. In the conventional algorithm, eachpixel level increments or decrements the backgroundmean, updating the estimation (if there are no change, themean value doesn’t change). The variance is calculatedtoo by the same process with the non-zero differences andis given to each pixel a label (motion or stationary pixel),in a recursively framework. In figure 1, M is thebackground mean, I the actual frame, V the variance andD the pixel label. N is the number of non-zero differencesfor a pixel between frames. According with [4], the rangevalue of N is small (between 1 and 4), and usually is apower of 2. In the initialization, if the pixel is not locatedin a background area, it could claims a great number offrames to converge to the mean, producing the ghosteffect due to the slow convergence to the mean. background estimation with k-meansHere, the pixel level is splited in clusters replacing theincrement/decrement in the algorithm by the clusternumber given by the k-means algorithm, in each pixel.The pixel level is clusterized in each frame processing,351


<strong>WVC</strong>'<strong>2007</strong> - <strong>III</strong> Workshop de Visão Computacional, 22 a 24 de Outu<strong>br</strong>o de <strong>2007</strong>, São José do Rio Preto, SP.and the new pixel average value (in the background) isestimated in a cluster. The number of clusters is aadjustable parameter, but alter besides the computationalefficiency.(1) M 0 = I 0For each frame t:Cl t = k-means cluster number for each pixel;M t = M t-1 + Cl t(2) t = |M t - I t |(3) V 0 = 0For each pixel x in each frame t such that t (x)0:V t (x) = V t-1 (x) + sgn(Nx t (x) - V t-1 (x))(4) For each pixel x in each frame t:if t (x) < V t (x)then D t (x) = 0;else D t (x) = 1;Figure 1. background estimation algorithm with k-means.K-means. Tendências em Matemática Aplicada eComputacional, 6, no. 2: 315-324, 2005.Figure 2. First movie frame.3. ConclusionsThe key in the background estimation by thebackground averaging and variance is the fastconvergence of a pixel level to the background average,when subject to changes. Figure 4 and 5 shows thelabelling results for the conventional backgroundestimation algorithm and with the k-means, respectively,after 50 frames (white areas are motion pixels and blackthe background pixels). With the k-means, the variationproduced by the noise vanishes, enhancing the process. This result was obtained in real time in a Javaruntime enviromment, for a 4 fps video rate, gray<strong>sc</strong>ale320x240 frames, in a 1.7 MHz microcomputer system,using 4 clusters in the algorithm.Figure 3. Motion label by background estimation.References[1] P. W. Power, J. A. Schoonees. Understanding BackgroundMixture Models for Foreground Segmentation. ProceedingsImage and Vision Computing, pp. 267-271, 2002.[2] C. Stauffer, W.E.L Grimson. Adaptive background mixturemodels for real-time tracking. Proceedings IEEE Conf. onComputer Vision and Pattern Recognition, pp. 246-252, 1999[3] N. M. Oliver, B. Rosario, A. P. A Bayesian ComputerVision System for Modeling Human Interactions. IEEETransactions on PAMI, 22, no. 8: 831-843, 2000.[4] A. Manzanera, J. C. Richefeu. A new motion detectionalgorithm based on background estimation. PatternRecognition Letters, 28: 320-328, June, 2006.[5] C. Nikou,N. P. Galatsanos. A Class-Adaptive SpatiallyVariant Mixture Model for Image Segmentation. IEEETransactions on Image Processing, vol. 16, no. 4: 1121-1130,<strong>2007</strong>.[6] A. Takahashi, B.R.C. Bedregal, A. Lyra. Uma VersãoIntervalar do Método de Segmentação de Imagens Utilizando oFigure 4. Motion label by background estimationwith k-means.352

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!