Reconhecimento de Esboços de Formas Geométricas Contidas em ...

inf.ufg.br

Reconhecimento de Esboços de Formas Geométricas Contidas em ...

UNIVERSIDADE FEDERAL DE GOIÁSINSTITUTO DE INFORMÁTICARICARDO BELLOTI DOS SANTOSReconhecimento de Esboços de FormasGeométricas Contidas em FluxogramasModeloGoiânia2010


UNIVERSIDADE FEDERAL DE GOIÁSINSTITUTO DE INFORMÁTICAAUTORIZAÇÃO PARA PUBLICAÇÃO DE DISSERTAÇÃOEM FORMATO ELETRÔNICONa qualidade de titular dos direitos de autor, AUTORIZO o Instituto de Informáticada Universidade Federal de Goiás – UFG a reproduzir, inclusive em outro formatoou mídia e através de armazenamento permanente ou temporário, bem como a publicar narede mundial de computadores (Internet) e na biblioteca virtual da UFG, entendendo-seos termos “reproduzir” e “publicar” conforme definições dos incisos VI e I, respectivamente,do artigo 5 o da Lei n o 9610/98 de 10/02/1998, a obra abaixo especificada, sem queme seja devido pagamento a título de direitos autorais, desde que a reprodução e/ou publicaçãotenham a finalidade exclusiva de uso por quem a consulta, e a título de divulgaçãoda produção acadêmica gerada pela Universidade, a partir desta data.Título: Reconhecimento de Esboços de Formas Geométricas Contidas em FluxogramasAutor(a): Ricardo Belloti dos SantosGoiânia, 22 de Julho de 2010.Ricardo Belloti dos Santos – Autor– Orientador


RICARDO BELLOTI DOS SANTOSReconhecimento de Esboços de FormasGeométricas Contidas em FluxogramasDissertação apresentada ao Programa de Pós–Graduação doInstituto de Informática da Universidade Federal de Goiás,como requisito parcial para obtenção do título de Mestre emComputação.Área de concentração: Recuperação de Informação.Orientadora: Profa. Dra. Ana Paula Laboissière AmbrósioGoiânia2010


RICARDO BELLOTI DOS SANTOSReconhecimento de Esboços de FormasGeométricas Contidas em FluxogramasDissertação defendida no Programa de Pós–Graduação do Instituto deInformática da Universidade Federal de Goiás como requisito parcialpara obtenção do título de Mestre em Computação, aprovada em 22 deJulho de 2010, pela Banca Examinadora constituída pelos professores:Profa. Dra. Ana Paula Laboissière AmbrósioInstituto de Informática – UFGPresidente da BancaProf. Dr. Díbio Leandro BorgesCIC–UnBProf. Dr. Ronaldo Martins da CostaINF–UFG


Todos os direitos reservados. É proibida a reprodução total ou parcial dotrabalho sem autorização da universidade, do autor e do orientador(a).Ricardo Belloti dos SantosGraduado em Ciêncida da Computação pelo Instituto de Informática (INF)da Universidade Federal de Goiás (UFG). Atualmente é Gestor de Tecnologiada Informação na Secretaria da Fazenda do Estado de Goiás (SEFAZ-GO),atuando no Centro de Documentação, Informação e Memória (CDIM), umprojeto de parceria entre o Estado de Goiás e a UFG para a integração dedados e disponibilização de conjuntos documentais digitais.


Dedico a DEUS, que me deu condições de seguir com firmeza e sabedoriadurante toda a execução deste trabalho.Dedico também a meus pais que sempre colocaram a educação dos filhos acimade qualquer coisa. Obrigado pelo amor, carinho e pelos ensinamentos recebidos durantetoda a minha vida.


AgradecimentosÀ minha família, especialmante a meu pai Jorge e a minha mãe Maria, pelocarinho, dedicação e apoio em todos os momentos da minha vida.À minha orientadora Dra. Ana Paula L. Ambrósio, por sua sabedoria, competênciae por ter confiado em meu trabalho. Pela grande ajuda e paciência ao longo desteperíodo, e pela orientação que contribui para o meu desenvolvimento pessoal e profissional.À minha namorada Talita, pelo companheirismo, pela cumplicidade, por estarcomigo em horas difíceis e pelo constante incentivo e estímulo para a conclusão destetrabalho.Ao Instituto de Informática da UFG, a cada um dos meus professores e funcionários,sempre dispostos a cooperar e cujo contato foi indispensável para minha formaçãoacadêmica.Aos meus colegas de mestrado, que tantas vezes me ajudaram a resolver problemasque pareciam impossíveis. Fico grato pela amizade, companherismo e solidariedadeem todos os momentos. Em especial aos amigos Luciana Oliveira e Halley Wesley, vocêsme ajudaram muito nesta caminhada.Meus agradecimentos especiais a meus colegas de trabalho Lívia Leite, MarcelLuiz e Mário Mendes Barbosa Júnior, pelo apoio na materialização deste trabalho, pelosquais tenho grande estima e gratidão.Finalmente, agradeço a todos aqueles que, de forma direta ou indireta, contribuírampara a elaboração deste trabalho.Muito obrigado a todos!E a DEUS, por tudo!


“A melhor maneira de predizer o futuro é inventá-lo.”Alan Kay,Encontro em 1971, na PARC (Palo Alto Research Center).


Resumodos Santos, Ricardo Belloti. Reconhecimento de Esboços de Formas GeométricasContidas em Fluxogramas. Goiânia, 2010. 96p. Dissertação de Mestrado.Instituto de Informática, Universidade Federal de Goiás.Grandes mudanças na sociedade e na educação vêm surgindo com o contínuo desenvolvimentotecnológico e sua disseminação em todas as áreas. É preciso considerar queo momento proporciona uma oportunidade de aproximar novas tecnologias ao processoeducativo como possibilidade de melhorar os tradicionais sistemas de ensino. Celularese computadores com tinta digital, tela touchscreen e cameras vêm revolucionando a maneiracomo as pessoas interagem com tais dispositivos. Neste sentido, sistemas vêm sendodesenvolvidos para permitir a recuperação, seleção, extração de características, indexaçãoe reconhecimento de imagens através de seu conteúdo. Enquanto aplicações para o reconhecimentode imagens vêm sendo criadas para vários domínios, até hoje os sistemas parao reconhecimento de esboços ainda não são acessíveis para educadores que necessitam desistemas específicos para atingir os objetivos de suas aulas. Este trabalho apresenta ummétodo para reconhecimento de imagens baseado em conteúdo, utilizando esboços desenhadospelo usuário com tinta digital, para reconhecer formas geométricas presentes emfluxogramas. O método é baseado na técnica Chain Code e as informações são extraídasa partir do contorno da imagem. Para a avaliação, um conjunto de mais de quatro mile setecentos esboços, das diferentes formas contidas em fluxogramas, foi utilizado. Osresultados obtidos mostraram um índice de reconhecimento próximo de 90%.Palavras–chaveEnsino da Computação, Recuperação da informação, CBIR, Fluxogramas, ChainCode, Código de Freeman.


Abstractdos Santos, Ricardo Belloti. Reconition of geometric shapes sketched inflowcharts. Goiânia, 2010. 96p. MSc. Dissertation. Instituto de Informática,Universidade Federal de Goiás.The continued technological development has brought many changes to society andeducation. The moment provides a good opportunity to bring new technologies to theeducational process as a possibility to improve the traditional education systems. Phonesand computers with digital ink, touchscreen and cameras are revolutionizing the waypeople interact with and use such devices. In this sense, systems have been developed toallow retrieval, selection, feature extraction, indexing and image recognition based on itscontents. While image retrieval applications have been created for many domains, sketchretrieval and recognition systems are not yet available for educators, who need specificsystems to achieve the objectives in their classes. This work presents a method for imagerecognition based on its content using user-drawn sketches with digital ink, to recognizegeometric shapes found in flowcharts. The method is based on the Chain Code technique,and the information is extracted from the image contour. For evaluation, a set of morethan four thousand and seven hundred sketches, containing the various shapes containedin flowcharts, was used. The results obtained showed recognition rates near of 90%.KeywordsInformation Retrieval, CBIR, Flowcharts, Chain Code, Freeman Code.


11Beth Ahabah Community CalendarApril 2013*5 Shabbat service w/ Adult Choir 7:30 PM6 BAT mitzvah: 10:30 AMEllie Mast21SundayReligious SchoolEtz Chayim RehearsalRuach Hadash Rehearsal9:15 AM11:30 AM11:45 AM7SundayNo Religious School22 Midrasha Monday 6:30 PM10th grade only24 midweek Hebrew 5:30 PM8 Midrasha Monday 6:30 PM9th and 10th grade only10 midweek Hebrew 5:30 PM12 8th & 9th grade shabbat Dinner6:00 pmFamily Shabbat servicew/Etz Chayim Choir & Ruach Chadash7:30 PM13 BAT mitzvah: 10:30 AMLyndsay Nelson26 Jewish Music shabbatw/ Adult Choir 7:30 PM27 BAT mitzvah: 10:30 AMThomas Green28SundayReligious School7th Grade GesherEtz Chayim RehearsalRuach Hadash Rehearsal9:15 AM11:30 AM11:45 AM14SundayReligious School7th Grade Field TripEtz Chayim RehearsalRuach Hadash Rehearsal9:15 AM11:30 AM11:45 AM29 Midrasha Monday 6:30 PM10th grade only15 Midrasha Monday 6:30 PM9th and 10th grade only*Please check the Community Calendar atwww.bethahabah.org for updates.17 midweek Hebrew 5:30 PM19 Shabbat service 7:30 PM20 BAT mitzvah: 10:30 AMBrianna SchwamEditorial submissions and ad materials forthe May/June issue of B’yachadare due no later than April 1st.


Stochastic Method 40Scale Space Method 40Trasformações espectrais 414.1.2 Métodos Estruturais 41Representação Chain-Code 41Polygon Decomposition 43Smooth curve decomposition 43Curvature-tuned Smoothing 43Syntatic Analysis 44Shape invariants 444.2 Baseada na região 454.2.1 Métodos Globais 45Geometric Moment Invariants 45Grid Based Method 45Shape Matrix 464.2.2 Métodos Estruturais 46Convex Hull 46Medial Axis 474.3 Conclusão 475 O Projeto 485.1 O Sketch 485.2 Escopo do projeto 505.3 Tinta Digital 515.4 O Reconhecimento das Formas 535.4.1 Formulação da consulta 535.4.2 Processamento da consulta 535.4.3 Resposta ao usuário 545.5 O Modelo do Sistema 545.6 O Sistema Desenvolvido 545.7 O Método de Extração de Características 565.7.1 Pré-processamento da Imagem 575.7.2 Análise da Imagem 605.7.3 Aprimoramento da Cadeia de Contorno 615.7.4 Extração de Características 645.8 Conclusão 696 Avaliação 706.1 O Reconhecimento 706.2 Base de dados para o teste 716.3 Resultados 727 Conclusão e Trabalhos Futuros 817.1 Trabalhos Futuros 82Referências Bibliográficas 84A Exemplos de formas desenhadas pelos usuários 92


Lista de Figuras1.1 Exemplos de formas presentes em fluxogramas 192.1 Exemplos de texturas visuais 242.2 Exemplos de formas 242.3 Representação dos pixels de uma imagem digital [31] 262.4 Representação matricial de uma imagem digital 262.5 Aplicação de um filtro sobre uma matriz de pixels [31] 282.6 Passos fundamentais no processamento de imagens digitais [31] 293.1 Demonstrações da utilização do QBIC 354.1 Métodos para representação de forma 384.2 Conectividade 424.3 Syntatic Analysis 444.4 Convex Hull - (adaptado de [41]) 475.1 Exemplos de esboços 495.2 Formas 505.3 Exemplos de imagens 515.4 Utilização da tinta 525.5 Transformação da tinta para imagem binária 535.6 Etapas do Sistema 535.7 Processos em cada uma das etapas 545.8 Interface do Sistema 555.9 Exemplos da utilização do sistema 555.10 Sketch desenhado pelo usuário 575.11 Esboço binarizado 585.12 Grade - Matriz de pixels 595.13 Identificação dos pixels de borda 605.14 Exemplo da utilização do Chain Code 615.15 Agrupamento de transições 625.16 Remoção de transições isoladas - 1 625.17 Remoção de transições isoladas - 2 625.18 Remoção de transições isoladas - 3 635.19 Re-agrupamento 635.20 Simplificações para cadeias de tamanho 2 645.21 Exemplos de formas 665.22 Exemplos de aplicação da equação 5-3 665.23 Ângulos entre cada uma das transições 66


5.24 Formas e suas propriedades 685.25 Aproximações para círculos e elipses 696.1 Exemplos de formas removidas 746.2 Exemplos de formas movidas para outros grupos 756.3 Simplificações para elipses com segmentos de 3 e 5 transições 776.4 Formas com escala diferente mas com mesma cadeia de contorno 796.5 Losango 80A.1 Exemplos de Círculos 92A.2 Exemplos de Elipses 93A.3 Exemplos de Hexágonos 93A.4 Exemplos de Quadrados 94A.5 Exemplos de Retângulos 94A.6 Exemplos de Linhas 95A.7 Exemplos de Losangos 95A.8 Exemplos de Triângulos 96A.9 Exemplos de Trapézios 96


Lista de Tabelas6.1 Teste 1 - Resultados 736.2 Teste 2 - Resultados 756.3 Teste 3 - Resultados para segmentos de tamanho 4 e 5 766.4 Teste 4 - Resultados - Segmentos de tamanho 4,3 786.5 Teste 5 - Avaliando a invariância 79


IntroduçãoCAPÍTULO 1Com a explosão do número de usuários de computadores e usuários da internet,tem ocorrido um crescimento vertiginoso na quantidade de informação digital disponívelno mundo. Equipamentos eletrônicos como celulares, Personal digital assistants (PDA’s),computadores, cada vez mais baratos e ao alcance da população, permitem que praticamentequalquer pessoa no mundo possa gerar conteúdo digital na forma de texto, som,imagem e vídeo. Com isso modelos para recuperação precisa de informações passaram ater ainda mais importância. Na sociedade do conhecimento e da informação, as pessoasprecisam ser capazes de obter, rapidamente, o maior número possível de informações relevantes[83]. O grande volume de dados produzido diariamente requer o uso de novastecnologias para a organização, classificação, recuperação e processamento dessa informação.O cérebro humano apresenta uma grande capacidade de reconhecer informaçõesgraficamente e possui mecanismos bastante eficientes para reconhecer e interpretar imagens.Se comparada à capacidade humana, a tecnologia atualmente disponível é muitoincipiente para a construção de sistemas computacionais que analisem imagens digitalizadase recuperem informações a partir delas. Isso causa uma grande distinção entre oque um indivíduo pode reconhecer de uma imagem e o que pode ser esperado de umsistema computacional que tente fazer este reconhecimento. Esta distinção é comumenteconhecida como descontinuidade semântica (semantic gap) no reconhecimento de imagens[82].Neste sentido, processar uma imagem como é feito pelo sistema visual humanoé extremamente complexo. Para um sistema computacional realizar as mesmas tarefasrealizadas por um ser humano, exige-se , por antecedência, uma compreensão “filosófica”do mundo ou dos conhecimentos humanos. Por isso, os métodos para o processamentode imagens possuem extrema dependência do sistema ao qual ele está associado, nãoexistindo uma solução única e abrangente para todos os problemas [1].Recuperação da Informação (RI) é uma área da computação que lida com oarmazenamento de objetos e a sua recuperação automática. Esses objetos podem estardisponíveis sob a forma de textos, sons, imagens, vídeo, entre outros. Entre as atividades


15desenvolvidas pode-se citar a busca por informações nesses objetos, a busca pelos objetospropriamente ditos, busca por metadados que descrevam os objetos e busca em banco dedados.As aplicações para imagens digitais vêm se destacando nas linhas de pesquisa. Oformato digital fornece grande facilidade para armazenamento e manipulação de imagens.Com este crescimento, surge naturalmente a necessidade de se estabelecer técnicas quepermitam uma melhor manipulação destes conteúdos. As primeiras técnicas propostasbaseavam-se na busca mediante uma descrição textual das imagens. Esta proposta logose deparou com duas grandes dificuldades: a necessidade de muito trabalho manual pararepresentar imagens na forma de texto e a subjetividade da percepção humana [30].Tradicionalmente, recuperar desenhos (ou imagens) é uma tarefa lenta, complexae sujeita a erros, exigindo um exame visual exaustivo, uma boa memória ou ambos [27].Uma implicação direta desses problemas é a busca de novas técnicas ou extensões paraas técnicas tradicionais de recuperação da informação, de forma a atender essa novanecessidade incluindo informação visual contida nas imagens. Essa linha de pesquisa éconhecida como Recuperação de Imagens Baseado em Conteúdo - Content-Based ImageRetrieval (CBIR) [26]: imagens passam as ser indexadas pelo seu próprio conteúdo visual,utilizando-se de algoritmos capazes de extrair das mesmas características, como: cor,estrutura, textura, forma, entre outras, que serão utilizadas para o reconhecimento do seuconteúdo.Um Sistema CBIR necessita extrair informações, a partir de uma imagem, quepossa ser processada e comparada com a consulta feita pelo usuário. A idéia central étentar “descobrir” o conteúdo da imagem através da extração de informações que venhama caracterizar seu conteúdo. Para isso utilizam-se principalmente dados primitivos comocor, textura, forma ou uma combinação das mesmas [63], [8].A área de recuperação de imagens por conteúdo tem proporcionado um avançoconsiderável no campo de visão computacional. Esse avanço é atribuído à necessidade dese administrar grande quantidades de dados e imagens. À medida que cresce o volumede imagens armazenadas, cresce também o interesse por sistemas capazes de recuperarinformações visuais de maneira eficiente e com grau de automação maior [82]. Em [59] oautor classifica as pesquisas em CBIR em três tipos:• recuperação por desenho (esboço): o usuário esboça uma imagem aproximadadaquilo que ele deseja recuperar;• recuperação por exemplos (QBE - Query By Example): o usuário fornece umaimagem de exemplo, similar àquela que ele deseja recuperar;• busca parametrizada: o usuário fornece parâmetros de busca que descrevam aimagem, como: "buscar imagens com 50% de azul, 20% de amarelo e 30% deverde".


16Nos sistemas CBIR, as imagens são representadas, normalmente, através de umvetor de características que é uma representação numérica e compacta de uma dada imagem,ou de parte dela. Este vetor caracteriza as medidas dos aspectos que representam aimagem. Idealmente, o vetor de características deve ser capaz de representar, unicamente,o conteúdo da imagem a partir da qual foi gerado. O ponto-chave é encontrar um vetor decaracterísticas, ou um conjunto de atributos, que: reduza a dimensão dos dados, ressalteos aspectos mais significativos da imagem, e seja invariante a alguns tipos de transformaçãona imagem. Durante o processo de busca, o sistema deve trabalhar diretamente como vetor de características e não com a imagem.As técnicas de recuperação utilizadas em CBIR consideram a informação visualda imagem e não apenas uma simples descrição textual da mesma. De fato, existe certonível de subjetividade em se caracterizar uma imagem pelo seu conteúdo, visto quediferentes especialistas podem estar interessados em diferentes aspectos de uma mesmaimagem [8].Com a expansão do uso de dispositivos com tinta digital na educação, a Recuperaçãopor Esboços (ou Sketch Retrieval) apresenta um vasto campo de pesquisa para odesenvolvimento de sistemas para uso didático.O cenário abaixo foi adaptado de [34] e, embora ainda futurista, ilustra umasituação não tão distante de nossa realidade com as tecnologias disponíveis atualmente:"Alunos entram na sala de aula para uma aula de Computação. O instrutor desenha, emum SmartBoard na frente da turma, um fluxograma e explica seu funcionamento. Eledesenha este fluxograma de forma natural, insere algumas informações como entrada eclica no botão “executar”. Passo-a-passo esta entrada é processada dentro dofluxograma e o caminho correto é acionado. A cada etapa da execução o estado correnteé destacado para facilitar o acompanhamento do processo. Os alunos fazem anotaçõesem seus “tablet pcs”. Os alunos então utilizam e testam o fluxograma criado peloprofessor em seus próprios “laptops”; alteram as entradas e também alteram ofluxograma; eles assistem a simulação dos seus próprios fluxogramas, ajudando noentendimento e aprendizado desses novos conceitos. O teste e a manipulação destesfluxogramas possibilita que os alunos forneçam um “feedback” imediato ao professor.Este, por sua vez, avalia o aprendizado de seus alunos pedindo para que os alunosalterem o fluxo de execução, alterem as entradas do fluxograma ou até mesmo criemnovos fluxogramas. Assim que cada aluno estiver satisfeito com sua solução, o mesmoenvia seu trabalho pela rede para seu professor. Cada solução recebida éautomaticamente testada e classificada como certa ou errada. Os grupos são exibidosao instrutor no seu próprio “tablet pc”. O professor, então, pode selecionar umasubmissão errada e exibí-la no “SmartBoard”. Ele testa o fluxograma fornecendo umacerta entrada e acompanha a simulação de seu funcionamento. O erro é então detectado


1.1 Fluxogramas 17e o professor questiona seus alunos sobre possíveis correções a serem feitas. Quando aaula termina os alunos deixam a sala com um entendimento completo do que sãofluxogramas e seu funcionamento, enquanto o professor recebe um “feedback” sobre ograu de aprendizado de seus alunos sobre fluxogramas ."Desenhar um fluxograma e simular o seu funcionamento mantém os alunosmotivados e aplicados durante o processo de aprendizagem dentro da sala de aula. Oreconhecimento de esboços pode ser utilizado para interpretar os desenhos feitos e fazercom que o fluxograma “ganhe vida”. De acordo com [34], sistemas para reconhecimentode sketches têm grande efeito pedagógico, pois:• permitem interação de forma natural, oferecendo liberdade de desenho• fornecem capacidades de edição avançada• explicam o conteúdo gráfico desenhado pelo usuário de uma forma interativa• permitem que os alunos realizem exercícios práticos em sala de aula• auxiliam os alunos a realizarem exercícios práticos em casa• corrigem automaticamente os exercícios de casa realizados• corrigem automaticamente os exercícios realizados em sala de aula e fornecem aoprofessor um feedback imediatoEmbora aplicações para o reconhecimento de imagens vêm sendo desenvolvidaspara vários domínios, poucos sistemas com fins didatico-pedagógicos, como [34] e[38], estão disponíveis para educadores. Tais sistemas, por sua vez, possuem foco bemespecífico, como auxiliar no processo de ensino e aprendizagem de algoritmos1.1 FluxogramasA aprendizagem de algoritmos é considerada fundamental em cursos da áreacomputacional. Seu principal objetivo é iniciar o desenvolvimento da lógica de programação,que será amplamente utilizada durante o restante do curso. Porém, a disciplina dealgoritmos é considerada desafiadora em virtude de possuir um alto índice de problemasde aprendizagem, desistências e reprovações [71].Fluxograma é um tipo de diagrama ou uma representação gráfica de um determinadoprocesso ou fluxo de trabalho, e pode ser entendido como uma representaçãoesquemática de um processo, muitas vezes feito através de gráficos que ilustram de formadescomplicada a transição de informações entre os elementos que o compõem [40]. Naprática, pode ser visto como a documentação dos passos necessários para a execução deuma determinada atividade. Através desta representação gráfica é possível compreender,de maneira rápida e fácil, a transição de informações entre os elementos que participam do


1.1 Fluxogramas 18processo em questão. Ele é composto, geralmente, de figuras geométricas normalizadas elinhas unindo essas figuras geométricas.Como exposto em [3], o uso de fluxogramas para o ensino de programação sedeve a três razões principais:• fluxogramas possuem uma sintaxe mínima e, quando se reduz o foco na sintaxe,pode-se aumentar o esforço em análise;• fluxograma é uma representação universal;• fluxogramas são mais fáceis e mais compreensíveis para estudantes iniciantes emcomputação do que o próprio código.É sabido que o ser humano tem mais habilidade para interpretar um algoritmousando formas visuais do que código fonte. Isso se deve ao fato que o hemisfério esquerdodo cérebro processa informação oral e lógica, enquanto o hemisfério direito processainformação visual e espacial. Assim, a chave para tornar o ensino de algoritmos maisacessível está em utilizar aspectos visuais e textuais estimulando ambos os hemisfériosdo cérebro [3].Existem estudos que comprovam que o ser humano consegue gravar melhor umamensagem, quando esta é acompanhada de imagens:• em [19], o autor verificou que estudantes iniciantes em algoritmos cometem menoserros, têm maior confiança e resolvem problemas representados por algoritmossimples e médios mais rapidamente, quando utilizam fluxogramas,• em [79], o autor verificou que o uso de fluxogramas leva a uma diminuição doserros em algoritmos complexos.Vale ressaltar que fluxograma é uma forma de representação bastante adequada àescrita humana. No entanto, para torná-los estéticamente mais agradáveis e poder incluílosem documentos, são usados diversos aplicativos de edição de texto e desenho (ex:Word). Muitos deles oferecem, inclusive, uma palheta contendo as formas de fluxogramas,que podem variar, assim como seu significado dentro do fluxograma.A Figura 1.1 exibe alguns exemplos de formas utlizadas para a construção defluxogramas.


1.2 Objetivo 19Figura 1.1: Exemplos de formas presentes em fluxogramas1.2 ObjetivoReconhecimento de esboços é uma área emergente no campo da computaçãoque utiliza interfaces baseadas em canetas digitais e busca tornar a interação homemcomputadormais natural [64]. Nessas interfaces o usuário pode desenhar livremente,direto na tela, sem utilizar o mouse ou teclado. A principal vantagem desta tecnologiaé a sua intuitividade e facilidade de uso. O usuário pode desenhar e até mesmo escrevertextos manuscritos diretamente sobre a tela.Sistemas para o reconhecimento de sketches podem ter um efeito pedagógicoprofundo e facilitar o processo de ensino [36]. Diagramas gráficos são importantes emvárias áreas do conhecimento e podem ser utilizados em todo o processo de aprendizagem.Este trabalho tem como objetivo apresentar um método para reconhecimento deimagens baseado na sua forma. As imagens são esboços de formas geométricas contidasem fluxogramas, criadas naturalmente pelo usuários com a utilização de tinta digital. Elefaz parte de um projeto maior e servirá como “ponto de partida” para o desenvolvimentode um sistema de geração de código automático a partir de fluxogramas expressadospelo usuário. Neste sistema maior, um fluxograma esboçado pelo usuário poderá ser


1.3 Justificativa 20interpretado, executado e convertido em código fonte específico.1.3 JustificativaA tecnologia de tinta digital está cada vez mais presente nos equipamentoseletrônicos: celulares, notebooks, computadores pessoais, tablet PC’s, entre outros. Suagrande vantagem é permitir uma forma de comunicação mais natural entre homeme máquina. Os fluxogramas constituem uma boa ferramenta para que alunos possamrepresentar e visualizar algoritmos durante o processo de aprendizagem. Uma ferramentaque permita a utilização de tinta digital durante a elaboração de fluxogramas é muitointeressante para disciplinas de Introdução à Computação.Para a criação de uma ferramenta que permita o reconhecimento e a interpretaçãode fluxogramas, primeiro é necessário o desenvolvimento de um método que reconheçaas diferentes estruturas (ou formas geométricas) presentes nos fluxogramas.Durante os estudos iniciais deste trabalho, não foram encontrados sistemas queabordavam o reconhecimento de formas geométricas presentes em fluxogramas. Entre ossistemas estudados, o Sistema LADDER [35] mostrou-se o mais promissor por trabalhardiretamente com tinta digital, mas sua utilização não foi possível dada a indisponibilidadedo mesmo. Este sistema permite a definição e o reconhecimento de formas a partir deuma linguagem própria que, por sua vez, permite a especificação de formas em umdomínio. Esta especificação é feita com a definição de como cada forma é desenhada:sua geometria, restrições e a informação contextual associada a cada forma.Os outros sistemas encontrados utilizam descritores como: histograma de intensidadeda cor, cor, distribuição de texturas, disposição de cor e forma, saliências dos objetos,localização de “cantos”, entre outros, que infelizmente, como apresentado em [25],não fornecem bons resultados quando a entrada são segmentos lineares desenhados pelousuário. Nesses casos, informações como cor e textura não estão disponíveis.Sendo assim, como não foram encontrados outros sistemas direcionados aoreconhecimento de formas geométricas contidas em fluxogramas, desenhadas usandotinta digital, optou-se por desenvolver um método específico para este domínio. Foidesenvolvido um método para o reconhecimento e especificação das formas geométricas,justificando, portanto, o projeto descrito neste trabalho1.4 MetodologiaO estudo em questão foi dividido em diversas etapas, que juntas, integramo trabalho desenvolvido. O primeiro passo foi realizar um levantamento bibliográfico(livros, artigos e Internet) acerca dos conceitos, dos desenvolvimentos e das aplicações em


1.5 Estrutura da Dissertação 21reconhecimento de padrões, indexação e recuperação de imagens, mais especificamentesobre o problema de reconhecimento de esboços.Uma vez levantadas as técnicas mais utilizadas, partiu-se para o desenvolvimentode um método que permitisse o reconhececimento de formas. São formas geométricascontida em fluxogramas, e o reconhecimento é feito sobre formas isoladas, ou seja, ofluxograma deve estar segmentado.Tendo desenvolvido o método, o próximo passo era a sua validação. Para testá-louma massa de dados foi criada. Alguns usuários desenharam em um tablet pc, utilizandotinta digital, várias formas geométricas similares aquelas presentes nos fluxogramas. Estasimagens foram, então, analisadas por um sistema em que o método foi implementado.O método proposto, a elaboração do conjunto de amostras para o teste, aavaliação do método e os resultados estão descritos nos capítulos seguintes.O trabalho é encerrado com a apresentação das conclusões, obtidas durante osexperimentos realizados, e com a apresentação de possíveis trabalhos futuros.1.5 Estrutura da DissertaçãoEste trabalho é dividido em sete capítulos. Neste primeiro capítulo encontram-seas considerações iniciais e os objetivos do trabalho.No segundo capítulo é feita uma breve introdução sobre o que é o Processamentode Imagens. Alguns conceitos elementares e algumas das técnicas utilizadas neste trabalhosão abordadas.No terceiro capítulo apresentam-se alguns Trabalhos Relacionados que, diretaou indiretamente, serviram como fonte de inspiração para esta dissertação. Exemplos desistemas e trabalhos sobre o reconhecimento de formas são alguns dos temas abordados.No quarto capítulo é apresentado um resumo das principais técnicas de representaçãode formas.No quinto capítulo apresenta-se o projeto desenvolvido. Temas como: o escopodo trabalho, a utilização da tinta digital, o sistema desenvolvido, o método utilizado, e aextração das características da imagem, são alguns dos assuntos tratados.O sexto capíutlo trata da avaliação do método. Como foi criada a base de imagenspara o teste, como a avaliação do método proposto foi feita e, por fim, os resultadosobtidos.Para finalizar, no sétimo capítulo, as conclusões e sugestões de trabalhos futurossão apresentados.


Processamento de Imagens DigitaisCAPÍTULO 2Processamento de imagem é qualquer forma de processamento de dados no quala entrada são imagens tais como fotografias, quadros de um vídeo ou desenhos feitopor um usuário [1]. Ao contrário do tratamento de imagens, que preocupa-se somentena manipulação de figuras para sua representação final, o processamento de imagens éum estágio para novos processamentos de dados tais como aprendizagem de máquina oureconhecimento de padrões.A visão é o nosso sentido mais aguçado, logo imagens têm um papel muitoimportante na nossa percepção do mundo. Uma imagem pode ser definida como umafunção bi-dimensional, f(x,y), onde x e y são coordenadas espaciais e a amplitude de fnos pontos (x,y) é chamada de nível de intensidade neste dado ponto [31].Nas seções seguintes serão descritos alguns conceitos comumente utilizados naÁrea de Processamento de Imagens Digitais e que serão utilizados ao longo deste trabalho.2.1 Descritores de Conteúdo da ImagemOs conteúdos visuais extraídos de uma imagem são também chamados dedescritores das imagens, e são utilizados para representá-las e indexá-las. Dependendodo domínio da aplicação, pode ser suficiente apenas descrever as imagens parcialmente,ou seja, descrever alguma característica particular que represente o seu conteúdo dentrodo contexto da aplicação. A recuperação da imagem está baseada na similaridade dascaracterísticas extraídas a partir destes atributos.O objetivo principal é aumentar/destacar os aspectos da imagem que sejamrelevantes para a pesquisa sendo feita e minimizar/descartar os aspectos restantes. Dentrodesta filosofia, pode-se descrever o conteúdo de uma imagem através de sua cor, forma ouestrutura visual (layout).


2.1 Descritores de Conteúdo da Imagem 232.1.1 CorTambém referida como descritor de conteúdo cromático, a cor é a característicavisual mais utilizada para a indexação e recuperação de imagens em CBIR´s [74]. Existemdiferentes representações de cores que incluem desde o RGB (red, green, blue) até o HSI(hue, saturation, intensity).O conteúdo cromático de uma imagem digital pode ser descrito através de umhistograma de cores. De acordo com [17] grande parte dos trabalhos de extração decaracterísticas baseadas em distribuição de cores estão concentrados no histograma decor. Computacionalmente, este histograma é uma estrutura unidimensional, que armazenao número de ocorrências de cada possível valor cromático em uma imagem. O tamanhodesta estrutura deve ser igual ao número de cores possíveis no espaço cromático utilizadopara representar a imagem.Em um histograma associamos a cada intensidade de cor presente na imagem,sua frequência de ocorrência, ou seja, o número de pixels da imagem que utilizam cadacor. Os histogramas de cor são invariantes à translação e rotação da imagem, sendo quecom a normalização dos histogramas, obtém-se também a invariância à escala.Uma desvantagem evidente é que o vetor de características poderá ser muitogrande se a imagem contém um número muito alto de cores.2.1.2 TexturaA análise de texturas é um dos aspectos fundamentais da visão humana, na qual épossível discriminar entre superfícies e objetos. Textura pode ser definida como mudançasna intensidade da imagem que formam determinados padrões repetitivos, já que paraos autores de [88] não existe uma deifinição clara do que seja textura. De uma formagenérica, pode-se considerar que texturas são padrões visuais complexos compostos porpadrões que possuem propriedades peculiares (como densidade, brilho, granulação, etc),ou de acordo com [86], são os padrões visuais homogêneos não resultantes da presença deuma única cor ou intensidade de cores. É uma propriedade visual de praticamente todasas superfícies, como nuvens, cabelo, pele, árvores, rochas, etcDe acordo com [30], as texturas de uma imagem também podem ser descritasatravés de histogramas. Para a criação destes histogramas, a imagem é inicialmenteconvertida para representação em escala de cinza. Depois desta conversão é aplicado umalgoritmo de detecção de bordas, como o Algoritmo de Canny, um método amplamenteutilizado na detecção de bordas de imagens digitais. Depois da detecção das bordas daimagem descrita em tons de cinza obtem-se uma imagem binária. Nesta imagem ospixels pretos correspondem aos pontos da imagem onde foi caracterizada a presença de


2.1 Descritores de Conteúdo da Imagem 24uma borda, provavelmente resultante de um contraste com o plano de fundo descrito naimagem, ou seja, onde houve mudança de textura.Segundo [52], modelos computacionais que utilizam textura podem ser agrupadosem três categorias: estrutural, estatístico e espectral. Modelos estruturais caracterizamtexturas de acordo com o relacionamento local entre pixels da imagem, ou seja, lidam como arranjo espacial de primitivas estruturais. Modelos estatísticos organizam as texturas deacordo com medidas estatísticas de características visuais, tais como grossura, granularidade,regularidade, entre outros. E, por fim, modelos espectrais caracterizam textura comopropriedades da transformada de Fourier ou nos resultados de filtragem das texturas porfiltros apropriados. A Figura 2.1 apresenta alguns exemplos de textura.Figura 2.1: Exemplos de texturas visuaisSua principal vantagem no processo de reconhecimento é de definir os limites deum objeto, bem como identificar o relacionamento entre os objetos e o ambiente em queestão inseridos. Assim como no caso das cores, um grande problema enfrentado é o dadimensionalidade do vetor de características [77] que pode acabar ficando muito elevadotornando a recuperação mais lenta.2.1.3 FormaAssim como a cor e a textura, a forma também é muito importante no processode identificação e reconhecimento de um objeto. É possível identificar diferentes objetosem uma imagem analisando apenas as formas dos mesmos. Em muitos problemas reais,tais como reconhecimento de caracteres e reconhecimentos de digitais, as formas são oobjeto de busca [78]. A Figura 2.2 exibe alguns exemplos de formas de imagens.Figura 2.2: Exemplos de formas


2.2 Pixel 25Apesar da sua importância, a recuperação baseada em forma não é simples. Naverdade, em sistemas CBIR, o atributo forma é o que apresenta maior dificuldade quandousado na recuperação de imagens [77].Existe uma variedade de técnicas propostas na literatura para representação deformas. Segundo [91] e [18], existem basicamente dois tipos de descritores de forma:os baseados em contorno (contour-based) e os baseados em região (region-based).Dependendo da abordagem utilizada os resultados são diferentes. Dentro de cada umadessas abordagens uma nova divisão pode ser feita: se primitivas tais como segmentose figuras geométricas são utilizadas, considera-se uma abordagem estrutural; no casoda forma ser tratada como um todo, a abordagem é considerada global. Dentro dessasabordagens vários descritores podem ser enumerados. A seção 4 aprofunda, um poucomais nesta divisão.Deve-se levar em conta a necessidade de métodos que possuam invariância amudanças de orientação (rotação e translação) bem como a variações de escala, poisobjetos semelhantes, mas com tamanhos diferentes devem ser considerados similaresindependente de seu tamanho.2.2 PixelUma imagem digital é composta de um número finito de elementos, cada umcontendo uma localização particular e um valor. Esses elementos que compõem a imagemdigital são chamados de "Picture elements" ou pixels.Um pixel é o elemento básico de uma imagem. A representação mais conhecidapara imagens digitais e seu conjunto de ”pixels” é a adotada em [31]. Uma imagem érepresentada por uma matriz MxN onde cada elemento da matriz representa um pixel daimagem digital. A Figura 2.3 ilustra esta notação.


2.2 Pixel 26Figura 2.3: Representação dos pixels de uma imagem digital [31]Esta notação permite que uma imagem digital seja representada como umamatriz MxN. Cada elemento que compoe a matriz representa o valor de cada pixel emsua posição específica.Figura 2.4: Representação matricial de uma imagem digitalA forma mais comum para o pixel é a forma retangular ou quadrada quepossui dimensões finitas na representação de uma imagem. Normalmente, as imagenssão organizadas na forma de uma matriz de pixels com simetria quadrada. Um problemadireto desta organização é que um pixel não apresenta as mesmas propriedades em todasas direções, por exemplo, ele é anisotrópico (é a característica que uma substância possuiem que uma certa propriedade física varia com a direção). Esta propriedade faz comque um pixel tenha 4 (quatro) vizinhos de borda e 4 (quatro) vizinhos de diagonal. Deacordo com [1], temos dois tipos de conectividades: D4 (considerando apenas os vizinhosde borda verticais e horizontais) ou D8 (considerando os vizinhos de borda verticais,horizontais e diagonais).Se a for adotada a Conectividade D4, um pixel p com coordenadas (x,y) possuidois vizinhos na horizontal e dois vizinhos na vertical , representados por:(x+1,y), (x-1,y), (x,y+1), (x,y-1)


2.3 Transformadas e Filtros 27Caso seja adotada a conectividade D8, além dos vizinhos horizontais e verticais tem-semais quatro vizinhos nas diagonais, representados por:(x+1, y+1), (x+1, y-1), (x-1, y+1), (x-1, y-1)Dois pixels são conectados se, e somente se, forem vizinhos. A distância entre umpixel e seus vizinhos é igual a 1 (um), se for um vizinho de borda, ou √ 2 (raiz quadradade dois), se for um vizinho de diagonal.2.3 Transformadas e FiltrosTransformadas são operações realizadas sobre uma imagem para obtenção deuma nova representação de seu conteúdo que seja mais adequada, ou mais apropriada,para a aplicação. Como exemplos de algumas transformadas podemos citar:- Conversão para tons de cinza: converte uma imagem do padrão RGB ouCMKY para o padrão de tons de cinza.- Convolve: é uma operação espacial onde se aplica uma máscara sobre aimagem. Ela é composta de uma série de iterações e em cada passo a máscara é sobrepostaa um grupo de pixels da imagem. Cada pixel da imagem é multiplicado pelo pixel que osobrepõe, estes produtos são somados para obter o pixel resultante [47]. Esse processo éaplicado a todos os pixels da imagem, gerando o efeito de suavização (smoothing). Estaoperação não afeta os pixels da borda da imagem, pois ela utiliza pixels vizinhos paracalcular o pixel resultante.Os filtros são modos de se manipular as matrizes de pixels para se obter informaçõesdesejadas ou eliminar aquelas informações que prejudicam o correto funcionamentoda aplicação. Basicamente, uma máscara é uma pequena matriz em que seus coeficientesdeterminam a natureza do processo a que se aplicam. Eles se baseiam em uma matrizde convolução, que é uma matriz responsável por definir, para cada elemento, como estese relaciona com os seus vizinhos. O valor de cada pixel da imagem obtida após a filtragemserá determinado, então, como resultado das operações definidas pela matriz deconvolução para os elementos correspondentes da matriz original [9]. A convolução éuma operação bastante comum entre as aplicações para processamento de imagens.A máscara, ou filtro, aplicado a uma imagem irá determinar o efeito resultante.Algoritmo: Para cada pixel da imagem• Posicionar centro do filtro sobre o pixel sendo analisado• Calcular média ponderada dos pixels vizinhos segundo os valores do filtro• O pixel correspondente na imagem final ganhará essa médiaA figura 2.5 ilustra o processo de aplicação de um filtro sobre uma imagem.


2.4 Histograma 28Figura 2.5: Aplicação de um filtro sobre uma matriz de pixels [31]2.4 HistogramaUm histograma é uma função h(rk) = nk, onde r é o valor do pixel e nk é onúmero de pixels na imagem que possuem o valor igual a rk. Uma prática bem comum énormalizar o histograma dividindo-se cada um de seus valores pelo número total de pixelsna imagem, denotado por n [31]. Desta forma, um histograma normalizado é dado pelaEquação 2-1 e a soma de todos os seus componentes é igual a 1 (um).p(rk) = nkn(2-1)


2.5 Região de Interesse 292.5 Região de InteresseOutro conceito importante é o de Região de Interesse (ROI - “Region OfInterest”). A ROI é a região definida a partir de parâmetros da imagem (ou por um usuário)onde o processamento está mais concentrado. Desta forma é possível isolar/destacar umadeterminada região da imagem e desconsiderar todo o restante.2.6 Passos Fundamentais no Processamento de ImagensDigitaisA figura 2.6 é uma simplificação feita a partir de [31] e ilustra os passosfundamentais presentes em um Sistema de Processamento de Imagens Digitais:Figura 2.6: Passos fundamentais no processamento de imagensdigitais [31]O primeiro passo no processo é a aquisição da imagem, isto é, adquirir umaimagem digital. Após a obtenção de uma imagem digital, o próximo passo trata de préprocessaraquela imagem. A função chave no pré-processamento é realçar as característicasde interesse e ocultar ou minimizar as características contidas na imagem que não sãorelevantes ao sistema, ou seja, melhorar a imagem de forma a aumentar as chances para osucesso dos processos seguintes. Um exemplo típico de pré-processamento envolve técnicaspara o realce de contrastes, remoção de ruído e isolamento de regiões de interesse,entre outros.O próximo estágio trata da segmentação que divide uma imagem de entradaem partes ou objetos constituintes. Em geral, a segmentação automática é uma dastarefas mais difíceis no processamento de imagens digitais. Um processo de segmentação


2.7 Conclusão 30robusto é essencial para o bom desempenho do sistema, favorecendo uma solução bemsucedida. Algoritmos de segmentação fracos ou erráticos quase sempre prejudicam ofuncionamento do sistema. No caso de reconhecimento de objetos pelo seu contorno,o papel básico da segmentação é extrair objetos individuais do fundo da imagem e buscardistinguir objetos distintos.A saída do estágio de segmentação é constituída tipicamente por dados em formade pixels, correspondendo tanto à fronteira de uma região como a todos os pontos dentroda mesma. Em ambos os casos é necessário converter os dados para uma forma adequadaao processamento computacional. A representação por fronteira é adequada quando ointeresse se concentra nas características da forma externa, tais como cantos ou pontosde inflexão. A representação por região é adequada quando o interesse se concentraem propriedades internas, tais como textura ou a forma do objeto. A escolha de umarepresentação é apenas parte da solução para transformar os dados iniciais numa formaadequada para o subseqüente processamento computacional.Um método para descrever os dados também deve ser especificado, de forma queas características de interesse sejam enfatizadas. O processo de descrição, também chamadoseleção de características, procura extrair caracteristicas que resultem em algumainformação de interesse ou que sejam básicas para discriminação entre classes de objetos.O último estágio envolve o reconhecimento e a interpretação. Reconhecimentoé o processo que atribui um rótulo a um objeto, baseado na informação fornecida pelo seudescritor. A interpretação envolve a atribuição de significado a um conjunto de objetosreconhecidos.2.7 ConclusãoNeste capítulo foram apresentadas algumas técnicas comumente utilizadas noprocessamento de imagens digitais. O objetivo não foi fazer uma revisão completa sobreo assunto, mas apenas elucidar alguns conceitos importantes sobre este tema que foramfundamentais para o desenvolvimento deste trabalho e para compreensão do mesmo.


Trabalhos RelacionadosCAPÍTULO 3Diariamente, equipamentos civis e militares geram gigabytes de imagens [74].Com esse crescimento das bases de imagens, devido às inovações tecnológicas, tornou-senecessário manter algum tipo de mecanismo de indexação e recuperação desse conteúdovisual.Enquanto buscas baseadas em texto têm conseguido recuperar textos com relativo“sucesso”, sem compreender o seu conteúdo, as mesmas técnicas utilizadas na recuperaçãotextual, quando aplicadas no reconhecimento de imagens, não têm obtido bonsresultados. Por isso, pesquisadores de várias partes do mundo vêm trabalhando em novosmétodos de busca para serem aplicados nas imagens. Ao longo das últimas décadas,tentativas ambiciosas foram feitas no desenvolvimento de sistemas que permitissem àsmáquinas “reconhecer” e recuperar imagens das mais variadas fontes. Em [22] foram discutidasas principais contribuições relacionadas à recuperação de imagens feitas na últimadécada.As características, ou feições, que compõem uma imagem formam a base dosSistemas CBIR. Dentro do escopo de características visuais, pode-se classificá-las comocaracterísticas gerais (cor, textura e forma) ou específicas de um domínio (rostos humanos,impressões digitais, exames de ressonância magnética, etc.). Em [84] o autor apresenta umuma distinção entre os domínios das aplicações de CBIR:• domínios restritos (narrow domains): é um domínio limitado em que a variabilidadedas imagens é previsível em todos os aspectos. Ou seja, o conjunto das imagensé conhecido. Normalmente possuem pequeno gap semântico 1 , o que favorece autilização de modelos específicos ao domínio em questão.• domínios abertos (broad domains): é um domínio em que a variabilidade dasimagens é ilimitado e imprevisível. Em alguns casos a imagem é composta de vários1 É a diferença entre características de baixo nível, extraídas da imagem, e o alto nível da informaçãonecessária para o usuário. Ou seja, é a diferença entre o que o usuário necessita e as características extraídasda imagem [28].


3.1 Reconhecimento de Formas 32objetos distintos e complica a interpretação do seu conteúdo. Em outros, o conteúdoda imagem pode ter várias interpretações.As características da imagem e os métodos utilizados para recuperar, reconhecere indexar essas imagens, dependem diretamente do domínio da aplicação desenvolvida.Para o reconhecimento de esboços feitos pelo usuário, o foco do reconhecimento é dadona forma do esboço desenhado. Informações como cor e textura não são relevantes duranteo processo de reconhecimento.3.1 Reconhecimento de FormasA forma é um atributo chave nas regiões segmentadas de imagens, e sua representaçãopossui um papel muito importante em todo o processo de reconhecimento.Em geral, as representações utilizadas para forma de uma imagem podem ser divididasem dois grupos: baseadas nas bordas (boundary-based) ou baseadas em região (regionbased).O primeiro tipo utiliza a informação visual contida na borda externa do objeto,enquanto o segundo tipo utiliza toda a região ocupada pelo objeto [73]. No capítulo 4 éapresentado um estudo mais aprofundado sobre as técnicas utilizadas em cada um dosgrupos.Dependendo da natureza da aplicação, deve-se utilizar representações da formaque sejam invariantes a translação, rotação, escala e espelhamento. Durante o levantamentobibliográfico foram encontrados vários trabalhos relacionados ao reconhecimentode formas e reconhecimento de esboços, evidenciando a importância deste tema.Em [84] é apresentado um estudo comparativo da performance das representaçõesbaseadas na borda (Chain Code, Fourier Descriptor, UNL Fourier Descriptor), representaçõesbaseadas em regiões (Moments Invariants, Zernike Moments, Pseudo-ZernikeMoments) e representações combinadas.Para a identificação de formas dentro de imagens, a segmentação é um processomuito importante. Embora um processo de segmentação como o feito pelo cérebrohumano esteja longe de ser alcançado, algumas ténicas de segmentação podem serencontradas em [22]. A segmentação é um processo de suma importância no que dizrespeito ao “entendimento” de uma imagem.Após a detecção das bordas, a forma de um objeto pode ser identificada. Medidascomo área, excentricidade (ex: o raio do maior e menor eixo), circularidade (ex: proximidadedo círculo de área igual), assinatura da forma (shape signature - uma seqüência dedistâncias dos pontos das bordas ao centro), curvatura (a velocidade em que os contornosdas bordas são alterados), entre outros, são frequentemente utilizadas [5].Com a disseminação de equipamentos que utilizam tinta digital, uma nova linhade pesquisa para o reconhecimento de formas tem atraído a atenção de pesquisadores. A


3.1 Reconhecimento de Formas 33possiblidade de integrar o reconhecimento de esboços e as interfaces de usuário vem setornando uma tendência nos sistemas modernos. Nesse sentido, o LADDER [35] ganhougrande destaque porque foi a primeira linguagem para descrição de formas. Ele podeser utilizado para descrever como formas e grupos de formas são desenhados, editados eexibidos, e também é o primeiro protótipo implementado que permite a criação automáticade uma interface, baseada em esboços, a partir da descrição deste domínio [37].Em [34] os criadores do LADDER, apresentam o GUILD, um sistema para gerarautomaticamente as interfaces de usuário a partir de descrições LADDER. Seu objetivoé permitir que professores criem sistemas de reconhecimento de esboços para seremutilizados em sala de aula.Outro sistema que trata do reconhecimento de esboços é o PaleoSketch [65].Neste sistema praticamente não existem restrições sobre a maneira como o usuário fazseu esboço. Cada traço (conjunto de pontos entre os eventos pendown-penup) feito pelousuário é classficado em uma das primitivas: linha, múltiplas-linhas, círculo, elipse, arco,curva, espiral e hélice.Em [76], o autor apresenta o método chamado Vertex Representation, que ébaseado na ténica do Chain Code. É um método que analisa a borda do objeto, porémarmazena apenas as alterações de direção.Em [8], os autores apresentam um método que utiliza a forma e a textura para oreconhecimento de imagens médicas. Ele realiza segmentação baseada na textura, ondecada textura distinta é representada por uma classe e os pixels da mesma classe constituemuma região de textura homogênea. As características que definem uma imagem sãoobtidas extraindo-se, de cada uma das regiões homogêneas, as seguintes medidas: o centroda massa da região, a massa da região, dispersão e a média e variância da região. Adesvantagem desse método é o custo elevado para a segmentação.O Biram [59], é um sistema que permite a recuperação de imagens por conteúdo.Suporta diversos algoritmos de extração de características e é focado em imagens médicas.A busca por imagens semelhantes é feita da seguinte forma: uma imagem fornecidacomo exemplo é processada por um dos algoritmos armazenados, gerando um descritor;em seguinda o descritor é comparado com outros descritores armazenados pelo sistema;durante essa compraração, é calculada a distância entre os descritores; os resultados são,então, ordenados pelo cálculo da distância de seus descritores.Em [67] é apresentada uma técnica para recuperar imagens por região, utilizandoinformações de cor, forma e localização. A imagem é dividida em regiões e, cada região,é indexada a partir das características extraídas da sua cor, forma e disposição dascaracterísticas.No trabalho apresentado em [12], saliências em um objeto são utilizadas parao reconhecimento e recuperação de imagens. A forma de um objeto é particionada em


3.2 Sistemas 34segmentos, de acordo com as saliências desse objeto. Cada segmento é analisado eindexado de acordo com sua curvatura e sua orientação. Uma vantagem do método épermitir a identificação de objetos parcialmente oclusos.Existem sistemas, como o apresentado em [46], que aceitam um esboço feitopelo usuário para a recuperação de imagens similares (QVE - Query by Visual Example).As bordas das imagens armazenadas são extraídas para serem comparadas ao esboço,utilizando como métrica a correlação entre blocos vizinhos. Cada imagem é dividida empequenos blocos e cada um desses blocos é comparado aqueles blocos calculados a partirdo esboço.Em [44] é apresentado um reconhecedor de símbolos, desenhados pelo usuário,para ser utilizado em interfaces baseadas em esboço. É um método que utiliza treinamento(trainable system), ou seja, os símbolos são ajustados aos esboços dos usuários. Cadaum dos símbolos desenhados é armazenado internamente como modelos binários. Parasuperar o problema da invariância à rotação, os modelos binários armazenados comocoordenadas cartesianas são transformados para uma representação em coordenadaspolares.Outros trabalhos também merecem ser mencionados, entre eles pode-se citar astécnicas para recuperação de imagens por conteúdo apresentadas em [27] e [69], o sistemaSOUSA [43] e os métodos para reconhecimentos de esboços apresentados em [38], [25],[64] e [50].3.2 SistemasEntre os sistemas comercias, para recuperação de imagens através de seu conteúdo,de acordo com [74] os mais importantes são:3.2.1 QBICO QBIC (Query By Image Content) é o primeiro sistema comercial para recuperaçãode imagens baseado em conteúdo [74]. Foi desenvolvido pela IBM 2 (InternationalBusiness Machines) e trata-se de um sistema que permite a criação e consultas em grandesBancos de Dados de Imagens baseadas no conteúndo visual das imagens, utilizandocaracterísticas como porcentagem de cor, layout das cores e texturas que ocorrem dentroda imagem. Estas consultas utilizam as propriedades visuais das imagens, de maneira queo usuário pode combinar cores, texturas e suas posições, sem ter que descrevê-las textual-2 http://www.ibm.com/us/en/


3.2 Sistemas 35mente. As consultas baseadas em conteúdo ainda podem ser combinadas com predicadostextuais e palavras-chaves para se obter métodos de recuperação mais completos.No sistema QBIC, uma cena é a imagem inteira (ou um frame simples dedeo)e um objeto é uma parte da cena. Após a identificação dos objetos, o QBIC calcula ascaracterísticas de cada objeto da imagem. Ele utiliza conjuntos de características quecapturam a cor, textura e forma das imagens. Suporta duas classes do conteúdo de cor:local e global. No QBIC a extração de regiões locais (objetos) é feita manualmente, poisrequer uma pessoa para desenhar os limites da região usando um mouse. As informaçõesda cor local e global são representadas pela média das cores e o histograma de cor.No site do State Hermitage Museum 3 pode-se encontrar dois vídeos que ilustramo funcionamento deste sistema: ele interpreta a tela de desenho como uma grade deáreas coloridas e, em seguida, busca imagens que possuam cores correspondentes à gradeinserida durante a consulta. A figura 3.1 ilustra essas demostrações.Figura 3.1: Demonstrações da utilização do QBICInfelizmente este sistema não possui mais uma versão de demonstração(demo) para testes 4 . Mais informações sobre este sistema podem ser encontradas emhttp://wwwqbic.almaden.ibm.com/.3.2.2 VirageO Virage [6] é um sistema comercial para indexação e recuperação de imagens.Neste sistema as características visuais da imagem são chamadas de primitivas. Osusuários são capazes de buscar imagens com as seguintes primitivas: Cor (a impressãode cor geral da imagem), composição (o arranjo espacial das regiões de cor na cena),textura (os “padrões” ou “texturas” de uma imagem) e estrutura (as características deforma gerais dos objetos na imagem).3 http://www.hermitagemuseum.org/fcgi-bin/db2www/qbicSearch.mac/qbic?selLang=English4 http://wwwqbic.almaden.ibm.com/NotAvailable.html


3.2 Sistemas 36A indexação é realizada após diversas operações de pré-processamento, taiscomo, suavizar e enfatizar contrastes. Cada rotina de extração primitiva toma umaimagem pré-processada e, dependendo das propriedades da imagem, calcula um conjuntoespecífico de dados para aquela primitiva. Um vetor com os dados primitivos computadosé armazenado em uma estrutura de dados própria para futuras consultas.3.2.3 PhotoBookEm [66], os autores descrevem o Sistema PhotoBook como um conjunto deferramentas interativas de navegação e pesquisa de imagens e seqüências de imagens,desenvolvido pelo MIT Media Lab 5 . Essas ferramentas extraem diretamente o conteúdoda imagem ao invés de depender de anotações textuais.As imagens podem ser pesquisadas de três maneiras: pela aparência (distribuiçãode cores), pela estrutura (disposiçao das cores) e pelas propriedades texturais (texturas).Estas descrições do conteúdo da imagem podem ser combinadas entre si, e com asdescrições textuais, para proporcionar uma navegação sofisticada e aumentar o poder depesquisa. Em [5] o autor cita algumas aplicações desenvolvidas com esta ferramenta,entre elas: sistema para reconhecimento facial, recuperação de imagem por similaridadeda textura e anotação semi-automática baseada em rótulos fornecidos pelo usuário.3.2.4 VisualSEEkO VisualSEEk [85] é um sistema híbrido que integra indexação de imagem baseadaem conteúdo (cor e textura) e em propriedades espaciais (como tamanho, localizaçãoe relações com outras regiões). A integração confia na representação de regiões através deum conjunto de cores. Inicialmente o usuário fornece um conjunto de cores para o sistemade extração de regiões. Em seguida, os conjuntos de cores são facilmente indexados paraa recuperação de imagens com um conjunto de cores semelhantes. Desta forma, as imagenssão comparadas através de suas regiões. Além disto, o sistema permite que o usuáriocontrole a seleção das regiões e defina quais parâmetros são mais importantes durante aconsulta por similaridade.O projeto do VisualSEEk enfatiza diversos objetivos únicos a fim de melhorar arecuperação de imagens, como:1. extração automática de características e regiões localizadas,2. examina informações e as características espaciais,3. extração de características de dados compactados,5 http://www.media.mit.edu/


3.3 Conclusão 374. desenvolvimento de técnicas para indexação e recuperação rápida e5. desenvolvimento de ferramentas altamente funcionais para o usuário.Este sistema foi desenvolvido pela Universidade de Columbia 6 .3.3 ConclusãoAnalisando estes sistemas de recuperação de imagens, pode-se notar que existeuma preocupação crescente quanto ao aumento descontrolado do volume de imagensdigitais, devido ao desenvolvimento tecnológico e maior acessibilidade dos meios. Istotem criado uma necessidade de ferramentas eficientes e efetivas para catalogar, indexar,gerenciar, comprimir e buscar informações visuais de maneira automática.O maior problema de um sistema de indexação e recuperação de imagem é adeterminação de um conjunto de características que possa fornecer uma boa performancena classificação das imagens para uma recuperação adequada. A este conjunto de característicasdevem-se os diferentes tipos de sistemas encontrados na literatura.Não foi encontrado, no decorrer do desenvolvimento deste trabalho, nenhum sistemadirecionado para o reconhecimento de formas geométricas contidas em fluxogramas.Grande parte das técnicas encontradas utilizam descritores como: histograma de intensidadeda cor, cor, distribuição de texturas, disposição de cor e forma, saliências dos objetos,localização de “cantos”, etc. Infelizmente, como apresentado em [25], tais descritoresnão fornecem bons resultados quando a entrada são segmentos lineares desenhados pelousuário. Nesses casos, informações como cor e textura não estão disponíveis.Apenas o trabalho desenvolvido em [34] tinha como foco auxiliar professorese alunos em sala de aula, mas não pode ser utilizado por não estar disponível. Destaforma, surge a necessidade de se desenvolver um método simples para o reconhecimentode formas geométricas contidas em fluxogramas desenhados pelo usuário. O métodoproposto está descrito no Capítulo 5.6 http://www.ee.columbia.edu/ln/dvmm/researchProjects/MultimediaIndexing/VisualSEEk/VisualSEEk.htm


Técnicas de Representação de FormasCAPÍTULO 4A forma é uma característica visual muito importante para a descrição e reconhecimentode uma imagem. Porém, descrever o conteúdo de uma forma não é uma tarefasimples [41]. Durante o desenvolvimento do MPEG-7, seis requisitos foram definidospara descrição de uma forma: recuperação precisa, características compactas, ampla aplicabilidade,baixa complexidade computacional, boa performance de recuperação e representaçãohierárquica.Em [41] o autor apresenta uma classificação das técnicas de recuperação deformas. A Figura 4.1 ilustra esta divisão.Figura 4.1: Métodos para representação de formaResumidamente existem dois grandes grupos de abordagens: baseada em contornoversus a baseada em região. Os métodos baseados em contorno são os mais populares.Isto porque acredita-se que a capacidade humana para discriminar formas seja feitaa partir de suas características de borda. Além disso, os métodos baseados em contornogeralmente envolvem menos processamento que os baseados em região. Entretanto, tam-


4.1 Baseada no contorno 39bém são mais facilmente afetados por ruídos e variações na forma, pois se utilizam demenos informação.Os descritores baseados em região são, geralmente, mais robustos e independentesda aplicação. Porém, envolvem um maior processamento dos descritores e necessitamde mais espaço para armazenamento.4.1 Baseada no contornoExistem duas abordagens diferentes para as técnicas baseadas em contorno:global e estrutural. Na abordagem global a forma não é dividida em partes e para descrevera forma um vetor de característica derivado de toda a borda da forma é utilizado. Naabordagem estrutural a borda da forma é quebrada em segmentos, chamados de primitivas,utilizando um critério próprio para cada tipo de aplicação. O resultado desta técnica é umastring ou um grafo descrevendo a forma.4.1.1 Métodos globaisMétodos globais para representação do contorno de uma forma geralmente computamum vetor de características multidimensional a partir das informações extraídas daborda. A comparação é feita utilizando distâncias métricas, como a distância Euclidiana.Estes métodos utilizam todo o contorno do objeto para representação e descrição de suaforma. Para cada abordagem há sempre uma troca entre eficiência e precisão. Por um lado,a forma deve ser descrita da maneira mais precisa possível; por outro lado, a descriçãodeve ser a mais compacta possível para facilitar a busca e a comparação. Descritores globaissão compactos, porém, são menos precisos. Eles podem ser combinados com outrosdescritores de forma para criar descritores úteis dentro de um cenário prático.Descritores de forma simplesOs descritores globais mais simples para representar uma forma são: área,circularidade (perímetro/área), ecentricidade (eixo maior/eixo menor), orientação do eixomaior e ”bending energy”. Devido a simplicidade desses descritores eles servem apenaspara diferenciar formas com grandes dissimilaridades, por isso eles são normalmenteutilizados para filtragem ou combinados com outros descritores para diferenciar entreas formas. Se utilizados sozinhos, não oferecem bons resultados.Assinatura da formaEste método representa uma forma como uma função uni-dimensional derivadaa partir dos pontos de sua borda. Existem vários tipos de assinaturas: coordenadas com-


4.1 Baseada no contorno 40plexas (complex coodinates), coordenadas polares (polar coordinates), distância central(central distance), ângulo tangente (tangent angle), ângulo cumulativo (cumulative angle),curvatura (curvature), área e “chord-length”. Em [62] é apresentado um estudo sobreo assunto.A grande vantagem desta técnica é que são, geralmente, invariantes à translaçãoe à escala. E a grande desvantagem é que são muito sensíveis aos ruídos, pequenasalterações na borda podem causar grandes diferenças durante a comparação.Boundary MomentsSão utilizados para reduzir a dimensão da representação das bordas. Em [87],esta técnica é descrita em mais detalhes.Elastic matchingEm [13] é proposta o elastic matching para a recuperação de imagens baseadana forma. Nesta técnica um modelo deformável é gerado a partir da soma do modelooriginal e do coeficiente de deformação. Esta técnica não é adequada para processamentoe recuperação online, devido ao seu custo computacional e a complexidade no processode comparação.Stochastic MethodModelos de séries temporais e, especialmente, modelagem auto-regressiva (AR)também foram utilizadas para o cálculo dos descritores de uma forma [45], [21] , [39] e[80]. Métodos AR envolvem operações com matrizes com um custo alto.Scale Space MethodA representação scale space de uma forma é criada a partir dos pontos de inflexão1 da borda da forma filtrados por um Filtro Gaussiano passa-baixa de largura variável.Os pontos de inflexão remanescentes são considerados como pontos "significantes"paradescrição da forma. O resultado normalmente é uma árvore, também conhecida como“fingerprint”, contendo apenas os pontos de inflexão. A maior dificuldade dessa técnicaé a interpretação do resultado final.Em [58] é apresentado o CSS, um método que tenta encontrar a melhor comparaçãoentre dois ramos das árvores de comparação dos contornos. Para cada comparação, o1 Os pontos de inflexão de uma curva são os pontos em que a curva passa de côncava a convexa, ou deconvexa a côncava.


4.1 Baseada no contorno 41contorno é redimensionado e rotacionado para ser comparado. O método descreve e comparaobjetos ou imagens utilizando o seu contorno fechado. Em [2], o autor afirma que oCSS é confiável e bastante robusto em relação a ruído, escala e mudanças de orientação.Trasformações espectraisDescritores espectrais superam o problema de sensibilidade ao ruído e variaçõesna borda através da análise espectral do domínio da forma. Descritores espectrais incluemFourier Descriptors (FD) e Wavelet Descriptor (WD), que são geralmente derivados detransformações espectrais das assinaturas uni-dimensionais da assinatura da forma. FD éuma das técnicas mais utilizadas até hoje. Referências podem ser encontradas em [54],[72] e [56]. Esta técnica se baseia na Teoria de Fourier. Suas principais vantagens são:facilidade para calcular, cada descritor tem um significado específico, facilidade de normalizarfacilitando a tarefa de comparação entre as formas, captura tanto característicasglobais quanto locais. FD também minimiza o efeito dos ruídos. É uma técnica simplesde implementar e o descritor resultante é compacto.4.1.2 Métodos EstruturaisNesta abordagem, a borda da forma e dividida em vários segmentos chamadosde primitivas. Os diversos métodos existentes diferem entre si pela seleção e organizaçãodas primitivas para a representação da forma.A maior vantagem desta abordagem é a capacidade de lidar com problemas deoclusão e permitir comparação parcial. Porém possuem uma série de desvantagens [41]:• a geração de primitivas e características. Não existe uma definição formal do queseria a ”forma” de um objeto, logo a quantidade de primitivas necessárias paradefinir cada forma é desconhecida• não captura características globais da forma que, frequentemente, são importantespara representação e reconhecimento da forma• falta de robustez. Isto porque os métodos estruturais não preservam a estrutura doobjeto, logo variações nas extremidades do objeto causam mudanças significativasna sua estrutura.Representação Chain-CodeTambém conhecida com Freeman Code, esta técnica foi apresentada inicialmentepor [29] e consiste em segmentos de linhas sobrepostos em uma grade de tamanhofixo e um conjunto de possíveis orientações. Apenas o ponto incial é representado


4.1 Baseada no contorno 42pela sua localização; todos os demais pontos na curva são representados por sucessivosdeslocamentos ponto a ponto na grade através da curva.Esta técnica descreve um objeto como um sequência de segmentos lineares comuma orientação específica. Nesta abordagem, uma curva arbitrária é representada poruma sequência de pequenos vetores de tamanhos unitários e um conjunto limitado depossíveis direções. Para sua implementação, um grid (ou grade) é sobreposto à imagem eos pontos da borda são aproximados para os pontos da grade mais próximos para formarsua representação.Chain Code é uma técnica utilizada para representar formas e contornos, poispermite considerável redução na descrição das formas [51]. Este código (code) se moveatravés de uma curva digital ou uma sequência de pixels de borda baseado na suaconectividade, que pode ser de 4 (quatro) ou 8 (oito) conectividades.Utilizando a conectividade 4, temos 4 possíveis direções identificadas de {i|i =0,1,2,3}, denotando um ângulo de 90 o entre cada uma das direções. Caso seja utilizada aconectividade 8, temos 8 possíveis direções numeradas {i|i = 0,1,2,3,4,5,6,7}, denotandoum ângulo de 45 o entre cada uma das direções. A Figura 4.2 ilustra estas duas opções:Figura 4.2: ConectividadeExistem diversas variações e aperfeiçoamentos desta técnica. Entre elas pode-secitar os trabalhos desenvolvidos por [14], [76], [20] e [51].As principais vantagens desse método são: preserva a informação, permiteconsiderável redução de dados e é invariante a translação. Por outro lado, suas principaisdesvantagens são: a codificação é dependente do ponto incial, não é invariante a rotaçãoe não é invariante a transformação do tipo espelhamento.


4.1 Baseada no contorno 43Polygon DecompositionEm [33], a borda da forma é quebrada em segmentos lineares através da aproximaçãopoligonal. Os vértices do polígono são utilizados como primitivas. As característicaspara cada primitiva são expressas como uma string de quatro elementos: o ângulointerno, distância para o próximo vértice, e as coordenadas x e y. Desta forma esta característicanão é invariante quanto a translação, escala e rotação. As características sãoentão organizadas em uma estrutura de árvore.O matching entre as formas é feito em duas etapas: característica-a-característicana primeira etapa e modelo-a-modelo (forma-a-forma) na segunda etapa. No primeiropasso, dado um conjunto de características de uma forma, cada característica é procuradadentro da árvore de índice. Se um modelo similar for encontrado, uma lista com as formasassociadas a esse modelo é recuperada. No segundo passo, a comparação é feita entrea forma de consulta e a lista recuperada através da comparação entre suas strings deprimitivas.Smooth curve decompositionEm [12], os pontos de curvatura obtidos através das bordas suavizadas pelosfiltros Gaussianos são utilizados para obtenção das primitivas chamadas tokens. A característicapara cada token é a curvatura máxima e a orientação, e a similaridade entre doistokens é medida através da distância Euclidiana. Como a característica inclui a orientaçãoda curva, esta técnica não é invariante quanto à rotação.Dada uma forma para consulta, a recuperação ocorre em duas etapas. O primeiropasso é a recuperação do token: para cada um dos N tokens presentes na forma deconsulta, os tokens similares são encontrados percorrendo a árvore de índices N vezes. Oconjunto de tokens recuperados possuindo os mesmos identificadores formam o conjuntode candidatas. O segundo passo é comparar a forma de consulta e as formas candidatasatravés de um algoritmo que compara todos os tokens das duas formas.A eficiência do processo de comparação depende do número de tokens utilizadospor cada forma.Curvature-tuned SmoothingNesta abordagem, as primitivas são obtidas a partir da técnica de "curvaturetunedsmoothing", obtendo um conjunto de segmentos. Cada descritor de segmento possuiseu comprimento, posição ordinal e ajuste de curvatura, obtidos a partir de cada umadas primitivas. Então uma string de descritores de segmentos é formada para descrevera forma. A comparação é feita através da utilização de um algoritmo de programaçãodinâmica.


4.1 Baseada no contorno 44Syntatic AnalysisEste método é inspirado no fato de que a composição natural de um cenárioé análogo à composição de uma linguagem, isto é, sentenças são formadas por frases,frases são formadas por palavras e palavras são formadas por alfabetos [16]. Nessesmétodos, a forma é representada por um conjunto de primitivas pré-definidas. Esteconjunto de primitivas pré-definidas é chamado de codebook e as primitivas são chamadasde codewords. Por exemplo, as codewords no lado direito da Figura 4.3 , forma presenteno lado esquerdo da Figura 4.3 poderia ser representada da seguinte maneira: S =”dbabcbabdbabcbab”.Figura 4.3: Syntatic AnalysisA comparação entre as formas é feita a partir da comparação de strings, encontrandoo menor número de alterações para converter uma string na outra.Estas técnicas são baseadas na teoria da Linguagem Formal desenvolvida porChomsky 2 .Shape invariantsShape Invariants representam uma forma como um conjunto de primitivasbaseadas nas informações extraídas a partir de sua borda. As invariantes são nomeadasde acordo com o número de características utilizadas para sua definição. Uma invariantede ordem um é definida com uma única característica: invariante unária; uma invariantede ordem dois é definida com duas características: invariante binária; e assim por diante.[87]Invariantes podem ser: geométricas (cross-ratio, length-ratio, distance ratio, ângulo,área, triângulo, pontos coplanares), algébricas (determinante, eigenvalues, trace) e2 http://www.chomsky.info/


4.2 Baseada na região 45diferenciais (curvatura, torção e Curvatura Gaussiana). Invariantes geométricas e algébricassão úteis em contextos onde as bordas podem ser representadas por linhas retas oucurvas algébricas. Caso contrário, invariantes diferenciais devem ser utilizadas.4.2 Baseada na regiãoNos métodos baseados em região, todos os pixels dentro da região ocupada pelaimagem são considerados durante o processo de representação da forma.4.2.1 Métodos GlobaisMétodos globais consideram a forma integralmente e sua representação é feitacom um vetor de características numérico que pode ser utilizado para descrever a forma.Estes métodos medem a distribuição dos pixels dentro da região ocupada pelaforma, diminuindo assim o efeito do ruído e suas variações.Geometric Moment InvariantsEm [42] foi publicado o primeiro trabalho sobre a utilização de Geométric MomentsInvariants (Momentos Geométricos Invariantes) para o reconhecimento de padrõesbidimensionais. Utilizando combinações não-lineares de momentos de baixa ordem, umconjunto de momentos invariantes também chamados de momentos geométricos, os quaispossuem as propriedades de serem invariantes a translação, rotação e escala, podem serrecuperados.O maior problema deste método é que invariantes de ordem mais alta são difíceisde derivar e existem poucas invariantes derivadas a partir de momentos de baixa ordem,não sendo suficientemente precisos para descrever uma forma.Grid Based MethodDescritores de forma baseados em grade foram propostos em [53]. Basicamente,um grid com um número determinado de células é sobreposto à imagem e percorrido daesquerda para direita e de cima para baixo. O resultado é um bitmap. As células cobertaspela forma recebem valor 1 (um) e as demais valor 0 (zero). A forma pode, então, serrepresentada com um vetor de características binário. Para medir a similaridade entreduas formas podemos utilizar as técnicas de Binary Hamming distance ou block distance.Para tratar a translação, rotação e a escala, a forma primeiro é normalizada antes de serlida. A forma é redimensionada dentro de um retângulo de tamanho fixo, deslocada para ocanto superior esquerdo deste retângulo e rotacionada de forma que o eixo maior da formafique na horizontal. Figuras espelhadas e invertidas devem ser tratadas separadamente.


4.2 Baseada na região 46As principais vantagens desta abordagem são sua simplicidade de representação,conformidade com a intuição humana, e a concordância com a codificação da forma utilizadano MPEG-4. No entanto, sua principal desvantagem é o alto custo computacional.Shape MatrixOs métodos tradicionais para tratamento de formas utilizam um grid para obteras informações necessárias. Isso gera representações que normalmente não são invariantesquanto a escala, rotação e translação. Logo um processo extra de normalização se tornanecessário. Em [32] o autor propôs uma matriz de forma circular (cicurlar shape matrix).A ideia é a mesma do grid tradicional, porém ao invés de sobrepor uma matrizquadrada sobre a imagem, é utilizado um raster polar de círculos concêntricos comlinhas radiais partindo do centro de massa da imagem. O valor binário representando aforma é extraído das interseções entre os círculos e as linhas radiais. A shape matrix éformada de maneira que os círculos correspondam às colunas da matriz e as linhas radiaiscorrespondam às linhas da matriz. A matriz da forma resultante é invariante a translação,rotação e escala.Infelizmente este método é bastante sensível ao ruídos pois a matriz resultante daforma é muito esparsa. Além da comparação entre duas formas ser computacionalmentecara.4.2.2 Métodos EstruturaisOs métodos estruturais baseados em região decompõem a forma em partes , subregiões,que são utilizadas para representar e descrever a forma.Convex HullUma região R é convexa se, e somente se, para dois pontos x1,x2 ∈ R, toda linhaligando x1 e x2 estiver contida dentro de R. O convex hull de uma região é a menor regiãoconvexa H que satisfaça a condição R ⊂ H. Em outras palavras, objetivo é determinar omenor polígono que englobe um determinado conjunto de pontos. A Figura 4.4 ilustra oprocesso de segmentação utilizado neste método:


4.3 Conclusão 47Figura 4.4: Convex Hull - (adaptado de [41])As bordas da forma tendem a ser irregulares devido ao processo de digitalização,ruído e variações na sua segmentação, o que normalmente resulta em uma deficiênciaconvexa que tem um pequeno componente influenciando as bordas.Medial AxisAssim como o método Convex Hull, um esqueleto da região pode ser utilizadopara representar e descrever a forma. O esqueleto pode ser definido como um conjuntode linhas ao longo de todos os elementos da imagem [23]. A idéia básica do esqueleto éeliminar informações redundantes e preservar apenas as informações topológicas sobrea estrutura do objeto que favoreçam o processo de reconhecimento. Os métodos desqueleton são representados pelos métodos de medial axis transformation.4.3 ConclusãoNeste capítulo foram apresentadas algumas técnicas utlizadas para a representaçãode formas. Dentro do escopo deste projeto, o esboço desenhado pelo usuário nadamais é do que um contorno da forma geométrica contida dentro de um fluxograma. Parao reconhecimento desta forma geométrica, a informação extraída a partir de sua borda éde vital importância.Para a extração de características de um esboço feito pelo usuário, utilizandotinta digital, as técnicas mais adequadas são aquelas baseadas no contorno da imagem.Isto ocorre porque o desenho contém apenas o controno no objeto.Dentro deste conjunto de técnicas baseadas no contorno, foi escolhida a técnicade Chain Code como base para o método proposto. Sua escolha se justifica por causa desuas vantagens previamente apresentadas, tais como: redução e preservação dos dados,e por ser uma técnica com baixa complexidade de implementação. Suas desvantagens elimitações, para o reconhecimento de formas, serão superadas com a utilização de outrascaracterísticas extraídas a partir do esboço desenhado (ver Seção 5.7.4).


O ProjetoCAPÍTULO 5Processar uma imagem consiste em transformá-la, sucessivamente, com o objetivode extrair a informação nela presente que seja relevante à aplicação. Há tempossabe-se que uma imagem pode representar ideias, ações, sentimentos até melhor do quepalavras [77]. A informação tida como relevante depende diretamente da aplicação que aestá manipulando.Reconhecer um esboço feito, manualmente, pelo usuário é equivalente a buscarformas que sejam, em algum critério, similares ao esboço feito.Trabalhar diretamente com uma imagem para indexação e recuperação é muitocaro computacionalmente, logo a extração de características que definam a imagem e arepresentem em uma forma mais compacta se torna necessário. Elaborar sistemas CBIR,que sejam rápidos e eficientes, é uma tarefa desafiadora, e pesquisadores frequentementedevem escolher entre performance ou precisão [48].De acordo com [18], uma das características mais importantes para a representaçãodo conteúdo visual de uma imagem é a forma do objeto. Infelizmente, como expostoem [89], não existe uma definição universal sobre o que é uma forma. Desta maneira,neste trabalho vamos considerar a forma como algo geométrico, contendo um conjuntode pontos, linhas e curvas. Logo, como apresentado na Seção 1.2, a proposta deste trabalhoé tratar o reconhecimento de imagens pelo seu conteúdo utilizando a forma do objeto.Informações como cores e textura não foram utilizadas pois, no contexto desta aplicação,não trariam ganhos durante o processo de reconhecimento.5.1 O SketchTambém conhecido como esboço, ou rascunho, é um desenho feito pelo própriousuário do sistema. São imagens informais criadas manualmente com o intuito de resolverum determinado problema ou ilustrar alguma situação. Pode ser feito de várias maneirasdiferentes, variando de pessoa para pessoa. Isto é, assim como na escrita, cada pessoa temcaracterísticas particulares que se refletem no esboço. Além disso, o esboço está sujeito


5.1 O Sketch 49a ruídos, que surgem da inabilidade da pessoa em desenhar com precisão linhas retas ecurvas.A principal vantagem na utilização de esboços é permitir uma comunicaçãomais natural entre o homem e os sistemas computacionais [65] e, por isso, tem ganhadopopularidade como meio de interação nas interfaces com o usuário.A Figura 5.1 exemplifica alguns exemplos de esboços. Nela estão repesentadostrês exemplos de três possíveis formas de esboços: quadrado, triângulo e círculo, respectivamente.Figura 5.1: Exemplos de esboçosComo o esboço é feito manualmente, e cada pessoa tem uma forma de desenhar,o reconhecimento de esboços não é uma tarefa fácil. Uma maneira de amenizar esteproblema é restringir a liberdade no esboço exigindo que restrições sejam aplicadas aodesenho, tornando sua interpretação menos complexa [3].De acordo com [38], o reconhecimento de esboços é o entendimento automáticode uma entrada fornecida manualmente através de tinta eletrônica. As técnicas para oreconhecimento de esboços se dividem em duas categorias:• baseada em gestos (gesture-based): permitem alta-precisão, mas exigem que ousuário aprenda um estilo particular de desenho para que as formas sejam reconhecidas.• desenho livre (free-sketch): permitem que o usuário desenhe formas como desenharianaturalmente, mas infelizmente a maioria dessas técnicas possui baixa precisãoou exigem muitas restrições para serem úteis.No reconhecimento baseado em gestos, os usuários devem aprender a desenharcada símbolo, pois a ordem, a direção e o número de traços (strokes) são determinantes


5.2 Escopo do projeto 50para o processo de reconhecimento. A velocidade, as direções inicial e final, e a rotaçãodos traços também são utilizados para o reconhecimento. A grande vantagem é que nocaso do usuário desenhar as formas como foram definidas, a taxa de reconhecimento podeser alta. A desvantagem é que o usúário tem que aprender como desenhar cada forma.Quando o reconhecimento de desenho livre é utilizado, os usuários podemdesenhar como desenhariam naturalmente. A vantagem desta abordagem é permitirque o usuário desenhe livremente, sem restrições. A desvantagem é que a taxa dereconhecimento é modesta. Devido a esta limitação, os sistemas de desenho livre buscamuma abordagem intermediária, liberando algums restrições e mantendo outras.Considere as duas formas presentes na Figura 5.2. Se o reconhecimento porgestos é utilizado, elas são consideradas como formas distintas. Por outro lado, quandoreconhecimento de estilo livre é utilizado elas são consideradas como formas similares.Figura 5.2: FormasO método proposto utiliza uma abordagem mista, ou seja, permite que o usuáriodesenhe naturalmente, porém algumas restrições são impostas. Nas seções seguintes, esteassunto será abordado com mais detalhes.5.2 Escopo do projetoO ambiente proposto permite o reconhecimento de esboços de formas contidasem fluxogramas utilizando tinta digital. Dentro do cenário proposto na introdução destetrabalho, o sistema aqui desenvolvido deve ser capaz de identificar e reconhecer formasgeométricas presentes em fluxogramas. Este trabalho é parte de um trabalho maior quepretende reconhecer e gerar código fonte automaticamente a partir de um fluxogramadesenhado pelo usuário. Como exemplos temos as imagens presentes na Figura 5.3.


5.3 Tinta Digital 51Figura 5.3: Exemplos de imagensO método utilizado para o reconhecimento deve ser capaz de identificar imagenscontendo apenas objetos simples/singulares, ou seja, apenas um único objeto em seuinterior e que possuam forma fechada. Esta restrião é feita porque a segmentação dofluxograma esta fora do escopo deste projeto, e será tratada em um Trabalho Futuro.Caso se queira utilizar imagens mais complexas, com mais de um objeto em seucontexto, torna-se necessário aplicar um método de segmentação que seja mais adequadopara o domínio da aplicação.5.3 Tinta DigitalA utilização de tinta digital amplia as possibilidades de interação homemmáquina.Ter a liberdade de escrever e desenhar diretamente na tela torna algumas aplicaçõesmuito mais atrativas para seus usuários. Aplicações que utilizam esta tecnologiasão, geralmente, mais intuitivas.De acordo com [68], duas abordagens podem ser utilizadas para extrair informaçõesdo esboço feito pelo usuário: uma baseada nos traços (stroke-based), e outra baseadana imagem (image-based). Na primeira abordagem, as informações são extraídas de cadastroke individualmente, enquanto na segunda abordagem o conjunto de strokes é agrupadoem uma única imagem, a partir da qual as informações são extraídas.Inicialmente, a adordagem stroke-based foi adotada, buscando-se extrair o máximode informação a partir dos dados capturados diretamente dos strokes: a extração dasinformações é feita no nível dos strokes e as características extraídas são agrupadas duranteo processo de recohecimento. Infelizmente a utilização desta abordagem não trouxeganhos significativos para o método de reconhecimento. Os principais problemas encontradosforam:• a utilização de strokes é muito local, ou seja, prejudica a interpretação de característicasglobais da forma,• imprevisibilidade da forma como um usuário pode desenhar,• maior complexidade para interpretação e reconhecimento da forma.


5.3 Tinta Digital 52Na Figura 5.4 temos 3 exemplos que ilustram esses problemas. Na Figura 5.4-(A) temos um possível desenho de um quadrado feito pelo usuário. Na Figura 5.4-(B)foram utilizado dois strokes para fazer a base do quadrado e na Figura 5.4-(C) foramutilizados dois segmentos de strokes para representar um único segmento lógico. Paraextrair informações diretamente dos strokes, seria necessário um pré-processamento sobreestes strokes. A ideia do método é permitir que o usuário desenhe livremente. Mas comoprever como o desenho será feito? Um lado do quadrado pode ser feito com um únicostroke (Figura 5.4-(A)), com vários strokes sobrepostos (Figura 5.4-(B)), ou como umasequência de strokes (Figura 5.4-(C)).Figura 5.4: Utilização da tintaAlgumas vezes dois ou mais segmentos lógicos/semânticos podem ser representadospor um único ”stroke”, ou seja, o sistema deve fazer um pré-processamento nessesstrokes para interpretar este tipo de comportamento. Em outros casos, como na Figura 5.4-(C) mais de um stroke é utilizado para representar um mesmo segmento lógico, neste casoum dos lados de um quadrado. Diferenciar estes dois strokes representando um único objetoe dois strokes representando dois objetos distintos é uma tarefa complexa. Por último,temos o caso presente na Figura 5.4-(B) em que vários strokes deveriam ser combinadosem um para a correta interpretação. Nesses casos técnicas mais complexas seriam necessárias.Sendo assim, a abordagem stroke-based tornou o processo de extração de característicasmais complexo, inviabilizando sua utilização no sistema proposto. Este restultadotambém foi confirmado no trabalho apresentado em [68].Devido a dificuldade de trabalhar diretamente no nível dos strokes, foi adotadaa abordagem image-based. Tratar os vários strokes como uma imagem única, e não umconjunto de traços individuais, mostrou-se mais viável.Nesta nova abordagem, o primeiro passo é converter a informação, obtida datinta, em uma imagem binária. Uma maneira de realizar esta conversão é sobrepor umagrade de pixels sobre a imagem, marcar os pixels que forem cobertos pela tinta digital enão marcar os que não se sobrepõem a tinta. Este processo pode ser visto na Figura 5.5:


5.4 O Reconhecimento das Formas 53Figura 5.5: Transformação da tinta para imagem bináriaApós esta conversão, o método pode ser aplicado diretamente sobre a imagem eas informações necessários para o reconhecimento da forma podem ser extraídas.5.4 O Reconhecimento das FormasO reconhecimento é o processo no qual o usuário pode especificar sua necessidadede informação, ou seja, desenhar um esboço livremente, e o sistema deve processaresta entrada e exibir o resultado do reconhecimento. Ele é composto das seguintes etapas:formulação da consulta (desenho do esboço), processamento da consulta (tentativade reconhecimento) e resposta ao usuário. A Figura 5.6 ilustra essas etapas.Figura 5.6: Etapas do Sistema5.4.1 Formulação da consultaDurante a formulação da consulta, é exibida ao usuário uma tela onde o mesmopode desenhar, livremente, uma forma que representa um elemento do fluxograma. Odesenho feito pelo usuário deve conter apenas o contorno dos objetos que ele estáprocurando. A informação visual contida no esboço é extraída e passada ao módulo deprocessamento da consulta.5.4.2 Processamento da consultaO esboço feito pelo usuário é processado e o vetor de característica extraído. Suascaracterísticas são comparadas às características das várias formas geométricas tratadaspelo sistema.


5.5 O Modelo do Sistema 545.4.3 Resposta ao usuárioComo resposta ao usuário, o sistema exibe o resultado do reconhecimento. Nestetrabalho, apenas uma mensagem de texto é exibida informando a forma reconhecida.Após o reconhecimento, várias ações poderiam ser tomadas: beautification (desenharuma versão “melhorada” da forma reconhecida), gerar código automático, executar algumaplicativo, entre outras.5.5 O Modelo do SistemaNa Seção 2.6, foi apresentado um modelo genérico para Sistemas de Processamentode Imagens Digitais. Dependendo da aplicação, algumas etapas podem ser adicionadasou removidas. Neste sentido, a figura 5.7 ilustra as etapas presentes no sistema aquiproposto:Figura 5.7: Processos em cada uma das etapas5.6 O Sistema DesenvolvidoPara testar o método proposto neste trabalho, um sistema computacional foiimplementado. Ele apresenta uma interface de entrada onde o usuário pode desenhar umaforma para ser analisada ou especificar um repositório local (diretório) contendo formaspara serem analisadas. A Figura 5.8 exibe a interface do sistema:


5.6 O Sistema Desenvolvido 55Figura 5.8: Interface do SistemaA Figura 5.9 exibe as duas formas de interação com o sistema. Na primeira, ousuário esboça o desenho de uma forma e o sistema retorna o resultado do reconhecimento.Na segunda, o usuário indica um dirétorio contendo as formas que gostaria dereconhecer e o sistema retorna a lista de imagens e o reconhecimento para cada uma dasformas.Figura 5.9: Exemplos da utilização do sistema


5.7 O Método de Extração de Características 56O sistema foi implementado utilizando-se a arquitetura .NET 1 , com a linguagemCSharp [7] por possuir suporte nativo à utilização de tinta digital 2 . Já as imagens foramarmazenadas em formato GIF 3 - Graphics Interchange Format (“.gif”) por ser umpadrão usado largamente na Internet e possui uma boa qualidade combinado com umtamanho relativamente baixo de armazenamento. Outros formatos, como JPEG 4 (JointPhotographic Experts Group) ou PNG 5 (Portable Network Graphics), também podemser utilizados.O formato GIF é um tipo de arquivo para imagens que trabalha com umapaleta de 256 cores e foi criado pela empresa CompuServe, em 1987. Devido a essacaracterística, o uso do formato GIF é voltado para ícones ou imagens que não precisam demuitas cores. Ele utiliza um formato de compressão que não altera a qualidade da imagema cada salvamento, como ocorre com o JPEG. Considerando esta forma de compressãojuntamente com a capacidade de trabalhar apenas com 256 cores, o GIF consegue criarimagens com tamanho bastante reduzido.5.7 O Método de Extração de CaracterísticasConstruir um sistema para o reconhecimento de sketchs não é uma tarefa simples.De acordo com [34], algumas questões podem ser utilizadas como guia nesta tarefa:• Quais as formas existentes neste domínio?• Como cada forma é reconhecida?• O que deve acontecer quando a forma é reconhecida?• Como a forma pode ser editada?Muitos eventos específicos ao domínio podem ocorrer após o reconhecimento daforma, sendo que o mais comum deles é a alteração visual da forma, pois transmite aousuário uma confirmação de que seu esboço foi reconhecido corretamente.De uma maneira geral, o sistema para o reconhecimento de formas geométricaspresentes em fluxogramas, através de esboços feitos pelo usuário, é composto dosseguintes elementos:• interface de entrada que possibilite ao usuário desenhar o seu esboço, ou indicar um“repositório” contendo as imagens que gostaria de avaliar,1 http://www.microsoft.com/net/2 http://msdn.microsoft.com/pt-br/library/ms749012.aspx3 Mais informações em: http://www.w3.org/Graphics/GIF/spec-gif89a.txt4 Mais informações em: http://www.w3.org/Graphics/JPEG/5 Mais informações em: http://www.w3.org/Graphics/PNG/


5.7 O Método de Extração de Características 57• módulo de extração das características,• módulo de reconhecimento,• interface de saída que possibilite a exibição dos resultados do reconhecimento.O método utilizado para extrair as informações a partir do esboço desenhadopelo usuário é dividido em quatro passos: Pré-processamento da imagem (extração,identificação e marcação dos pixels), Análise da imagem (registro do caminho seguidopelo contorno do objeto), Aprimoramento da Cadeia de Contorno e a Extração dasCaracterísticas.Considere a Figura 5.10 como exemplo deste processo:Figura 5.10: Sketch desenhado pelo usuário5.7.1 Pré-processamento da ImagemNesta etapa o esboço desenhado pelo usuário passa por uma série de transformaçõespara facilitar a extração das suas características e facilitar o seu processamento.Inicialmente o esboço é convertido para uma imagem binária distinguindo-seentre os pixels que compõem a imagem e os pixels de fundo: os pixels desenhados pelousuário são da cor preta e os demais são brancos. Esta imagem binária é sobreposta poruma grade com células de tamanho fixo (um pixels de largura por um pixels de altura),como na Figura 5.11.


5.7 O Método de Extração de Características 58Figura 5.11: Esboço binarizadoEssa grade então é convertida em uma matriz de pixels da seguinte forma: cadacélula da grade corresponde a uma posição da matriz, cada célula na cor preta é marcadana matriz com o caractere ’x’, as demais posições são marcadas como vazias e preenchidascom o caractere ’-’. A Figura 5.12 ilustra este processo:


5.7 O Método de Extração de Características 59Figura 5.12: Grade - Matriz de pixelsDentro dessa matriz identificam-se os pixels que compõem o contorno do objetodesenhado. Eles são identificados e são marcados como o caractere ’o’. Em seguidaaplica-se o processo conhecido como Projeção de Contorno (”Contour Projection”) [70]para preencher a forma do objeto. Este processo é utilizado para preencher a forma doesboço e minimizar algumas lacunas entre os strokes desenhados pelo usuário. Destamaneira, temos: pixels de borda representados pelo caractere ’o’, pixels do interior daimagem representados pelo caractere ’x’ e os pixels que não fazem parte da imagemrepresentados pelo caractere ’-’, como visto na Figura 5.13.


5.7 O Método de Extração de Características 60Figura 5.13: Identificação dos pixels de bordaO resultado final desta etapa é uma matriz contendo uma representação fiel doobjeto esboçado pelo usuário. Fiel, pois o que o usuário desenhou está representado dentrodesta matriz. A imagem "bruta"contém todas as imperfeições provenientes do desenhofeito, bem como aquelas originadas durante o processo de binarização.5.7.2 Análise da ImagemNesta etapa a matriz de pixels, contento o objeto completo, é inicialmente percorridapara identificar os pixels de borda, ou seja, os pixels que ficam nas extremidades doobjeto. Essa identificação dos pixels de borda é feita porque a forma do objeto é extraídaa partir do seu contorno.O primeiro passo é a identificação do traçado da borda. Este é um processoessencial para a identificação e reconhecimento da forma do objeto [20]. O métodoutilizado consiste em visitar o contorno externo do objeto (borda) no sentido horário eidentificar cada uma das transições feitas. Todos os pixels de borda serão visitados eidentificados uma única vez. Uma janela 3x3 é utilizada para acompanhar a forma decada objeto, verificando a cada passo a direção do contorno.


5.7 O Método de Extração de Características 61A partir da matriz da forma é aplicado o seguinte algoritmo:1. Percorra a matriz até encontrar o primeiro pixel (o pixel mais à esquerda e naposição mais alta da matriz) e definir este pixel como sendo a posição inicial dacadeia de contorno,2. A partir deste pixel visite cada um dos seus vizinhos no sentido horário e armazeneo código da direção ( ver Figura 5.14),3. repita o passo 2 até que o pixel atual seja igual ao primeiro pixel.Durante este processo percorre-se todo o contorno da imagem armazenando otrajeto percorrido. Ou seja, percorrem-se os pixels que compõem a borda do esboçoregistrando todas as transições deste trajeto. Esta sequência de passos forma uma cadeiade caracteres conhecida como Chain Code (ver Seção 4.1.2). A forma é percorrida nosentido horário, inciando-se do pixel mais à esquerda e mais alto da matriz. A cadatransição identifica-se o caminho a partir da posição anterior. A Figura 5.14 exemplificaesse processo: na parte (A) temos as identificações para cada direção, na parte (B) temosum exemplo que como é aplicada o método e código gerado a partir deste contorno.Figura 5.14: Exemplo da utilização do Chain CodeO resultado final desta etapa é uma sequência de caracteres, também chamadode código do contorno (ou chain code), que identifica o caminho percorrido através docontorno do objeto. A partir desta sequência de caracteres/transições é que será feito oreconhecimento do objeto desenhado pelo usuário.5.7.3 Aprimoramento da Cadeia de ContornoAntes de iniciar o reconhecimento da forma desenhada, algumas simplificaçõespodem ser feitas sobre o código do contorno extraído. Essas simplificações tem como


5.7 O Método de Extração de Características 62objetivo reduzir a quantidade de informações a ser processada, reduzir ruídos presentesno esboço, eliminar transições com baixo ou nenhum valor semântico e agilizar o processode comparação e identificação.A primeira etapa deste processo é o agrupamento de transições iguais. Cadasequência de dois ou mais caracteres idênticos é agrupada em uma única sequência. AFigura 5.15 exibe alguns exemplos:Figura 5.15: Agrupamento de transiçõesNa segunda etapa removem-se transições isoladas entre cadeias de transições domesmo tipo. A Figura 5.16 exibe alguns exemplos:Figura 5.16: Remoção de transições isoladas - 1Na terceira etapa removem-se transições isoladas entre uma cadeia e uma transiçãodo mesmo tipo da cadeia. A Figura 5.17 exemplifica este processo:Figura 5.17: Remoção de transições isoladas - 2Na quarta etapa removem-se transições isoladas entre cadeias de transiçõesdistintas. A Figura 5.18 exibe alguns exemplos deste processo:


5.7 O Método de Extração de Características 63Figura 5.18: Remoção de transições isoladas - 3No final de cada uma dessas estapas realiza-se um novo agrupamento de transições.Transições singulares, ou cadeias de transições, que são vizinhas a cadeias detransições de mesmo tipo devem ser agupadas. A Figura 5.19 apresenta alguns exemplos:Figura 5.19: Re-agrupamentoNa quinta etapa realizam-se simplificações entre transições. Algumas combinaçõesde transições podem ser simplificadas para reduzir as imprecisões nos esboços feitospelo usuário oriundas de erros de desenho ou erros introduzidos durante a binarização daimagem. A Figura 5.20 exemplifica todas as simplificações diretas feitas entre cadeias detamanho 2 (dois), ou seja, que envolvem apenas duas transições.


5.7 O Método de Extração de Características 64Figura 5.20: Simplificações para cadeias de tamanho 2Este processo é repetido enquanto houver transições a serem agrupadas, simplificadasou removidas da cadeia.5.7.4 Extração de CaracterísticasCom a cadeia simplificada e reduzida, o passo seguinte é a extração das característicaspresentes no contorno do sketch que permitam reconhecer a forma desenhadapelo usuário. As características utilizadas são:• a altura do objeto,• a largura do objeto,• o número de “retas” (transições) que compõe o contorno do objeto, e• os ângulos internos entre cada uma das transições.As variáveis, altura e largura, fornecem uma relação importante para análise daimagem. Vamos chamar de resultado (R) a relação entre a altura e a largura do objetodesenhado, ou seja:


5.7 O Método de Extração de Características 65Se altura for menor que a largura:R = alturalargura(5-1)E se altura for maior que a largura:R = larguraaltura(5-2)A partir desta relação entre altura e largura do objeto, pode-se dividir as imagensem três grupos, baseados na forma de sua estrutura:• forma de linha• forma quadrada• forma retangularCada um desses grupos é limitado pelo valor R. Desta maneira pode-se iniciara distinção entre os objetos subdividindo-os em cada um destes três grupos utilizando aseguinte relação entre as formas:• Se R tende a 0, então a forma é de linha• Se R tende a 1, então a forma é quadrada• Se R esta entre 0 e 1, então a forma é retangularUm esboço, feito manualmente pelo usuário, não possui dimensões perfeitas enem proporções ideais. Um usuário interessado em desenhar um quadrado não precisadesenhá-lo com a altura e a largura exatamente iguais. Por isso, deve haver uma certatolerância, ou um certo “limite” de imprecisão para seu desenho. Pensando nisso, umvalor para este Limite (L) deve ser considerado durante a divisão dos objetos entre essestrês grupos. Sendo assim, os valores que definem cada um dos três grupos são calculadosde acordo com a seguinte equação:LINHA ≤ L 2< RETANGULO ≤ (1 − L) < QUADRADO ≤ 1 (5-3)O valor de L é a margem de tolerância para a imprecisão do desenho feito pelousuário e seu valor deve estar entre 0 (zero) e 1 (um). Por exemplo, se a tolerância forde 30% o limite será igual a 0,3. Para exemplificar este processo considere a Figura 5.21.Nesta figura tem-se quatro formas distintas (A, B, C e D) e suas propriedades (dimensõese os respectivos valores de R).


5.7 O Método de Extração de Características 66Figura 5.21: Exemplos de formasNa Figura 5.22, classificam-se essas formas de acordo com a equação 5-3. Trêsvalores distintos de L são adotados para ilustrar os possíveis resultados desta classificação.Figura 5.22: Exemplos de aplicação da equação 5-35.23:Os ângulos entre cada uma das transições são dados de acordo com a FiguraFigura 5.23: Ângulos entre cada uma das transições


5.7 O Método de Extração de Características 67A última característica necessária para o reconhecimento das formas é o númerode transições, ou seja, o número de “segmentos de retas” que compõe o objeto. Nesteponto algumas questões devem ser respondidas:• Mas o que vem a ser uma reta?• Qual o número ideal de transições para formar uma reta?A resposta da primeira pergunta é simples, um segmento de reta é uma sequênciade transições iguais, de tamanho variável. Já a segunda pergunta exige um pouco mais deatenção. Este número deve ser grande o suficiente para eliminar segmentos irrelevantes,como pequenas imprecisões no desenho, e pequeno o suficiente para não perder segmentosrelevantes à interpretação da forma. Após alguns testes iniciais, foi adotado o valortrês (3), ou seja, apenas segmentos com 3 ou mais transições iguais seriam consideradoscomo uma “reta”.Após os cáculos deste conjunto de características, o sistema deve ser capaz deidentificar e reconhecer o esboço do usuário. Este reconhecimento é possível pois cadaforma existente possui uma combinação única deste conjunto de características. A Figura5.24 apresenta as formas encontradas em fluxogramas e as características que definemcada uma destas formas unicamente.


5.7 O Método de Extração de Características 68Figura 5.24: Formas e suas propriedades


5.8 Conclusão 69Algumas considerações importantes devem ser ressaltadas:• losangos e trapézios têm, praticamente, as mesmas características e diferem entresi pela sequência de seus ângulos. Ambos tem dois ângulos de 45 ◦ e dois ângulosde 135 o . A diferença é que nos losangos os ângulos são intercalados, ou seja, umângulo 45 ◦ é vizinho dos ângulos de 135 ◦ . Já no trapézio os ângulos iguais sãovizinhos.• circulos e elipses são aproximados para heptágonos (7 retas) ou octógonos (8 retas),pois o método de aprimoramento da cadeia de contorno (Seção - 5.7.3) transformasegmentos curvelíneos em segmentos retos (ver Figura 5.25).• o intervalo entre os ângulos é múltiplo de 45 ◦ pois o Método Chain Code divide umintervalo de 360 ◦ em oito intervalos de igual valor.Figura 5.25: Aproximações para círculos e elipses5.8 ConclusãoNeste capítulo foi introduzido um método de representação e reconhecimentode formas geométricas, que é baseado na Representação do tipo Chain Code. Ele utilizacomo características: o número de retas, os ângulos entre cada uma das retas e a relaçãoentre as dimensões do esboço. O método é invariante a transformações de escala, rotação,espelhamento e translação, assim como é independente do ponto inicial.Uma questão que merece destaque é a possibilidade do sistema admitir novasformas. Se uma dada forma puder ser definida, unicamente, com o conjunto de caracteríticasapresentadas na seção 5.7.4, então ela pode ser adicionada à base de formas dosistema. Aumentando, assim, o número de formas reconhecíveis.


AvaliaçãoCAPÍTULO 6A área de reconhecimentos de sketchs carece de um conjunto único de dadosque possa ser utilizado para comparar os algoritmos existentes com os novos algoritmos[43]. Desta forma, sem esse conjunto único de dados, os resultados exibidos por cadaalgoritmo não podem ser comparados de maneira a avaliar se um novo algoritmo é melhorque os anteriores, ou até mesmo qual o melhor algoritmo para este fim. Métodos parateste e avaliação de Sistemas de Recuperação de Imagens ainda são muito difíceis deserem aplicados. Sendo assim, para avaliar o método proposto neste trabalho, uma basede esboços foi criada.A utilização do gráfico de Recall x Precision constitui uma abordagem simplese bem conhecida para avaliação de sistemas computacionais. A precisão (precision) representaa porção de imagens recuperadas que são relevantes à consulta. Já a revocação(recall) corresponde à porção de imagens relevantes que foram recuperadas [8]. Infelizmente,de acordo com [84], essa abordagem não é suficiente para sistemas de recuperaçãode imagens pois selecionar as imagens que são relevantes não é tão simples devido às dificuldadesde se definir, precisamente, o conteúdo de uma imagem.Devido a essa ausência de métodos próprios para avaliação de sistemas CBIR,adotou-se como medida o Nível de Reconhecimento: dado um conjunto de formas desenhadaspelo usuário, dentro deste conjunto calcula-se a porcentagem de reconhecimentosfeitos de maneira correta. Por exemplo, se temos 200 quadrados desenhados pelos usuáriose, durante o reconhecimento, o sistema foi capaz de reconhecer corretamente 180 dos200 quadrados, então o Nível de Reconhecimento (% de Reconhecimento) foi de 90%.6.1 O ReconhecimentoDados dois objetos, a similaridade é uma medida de quão parecidos esses doisobjetos são. No caso de imagens, a similaridade pode ser medida de várias formas: na cor,forma, no tamanho, entre outros. Após a extração dos descritores de conteúdo da imagem,pode-se compará-los aos descritores extraídos de outras imagens [30]. Inicialmente


6.2 Base de dados para o teste 71as imagens são submetidas a um processo de extração de características. Essas características,por sua vez, são utilizadas para identificação da forma desenhada.Como o usuário pode desenhar livremente, torna-se necessário a utilização detécnicas capazes de recuperar imagens similares [26]. A similaridade buscada neste tipode sistema é a similaridade humana. Infelizmente, ainda não se encontrou um métodode reconhecimento ideal, aplicável a vários domínios diferentes. Para domínios restritos,diversas simplificações e restrições podem ser aplicadas com o objetivo de minimizar avariabilidade das características a serem analisadas diminuindo, assim, a complexidadedurante o processo de reconhecimento. Se dois objetos são equivalentes em algumacaracterística sobre um grupo de transformações, então o reconhecimento pode ser feito.Neste trabalho, após a extração das características do esboço desenhado pelousuário (ver Seção 5.7.4), as mesmas são comparadas com as características pré-definidaspara as formas reconhecidas pelo sistema (ver Figura 5.24) nas sua base de imagens.Isto nada mais é do que um problema de decisão, ou seja, o esboço do usuário temcaracterísticas iguais às caracteristicas das formas reconhecidas pelo sistema? Se sim, aforma é reconhecida e a ação correta pode ser tomada; se não, a forma não é reconhecidapelo sistema e o usuário deve ser informado.6.2 Base de dados para o testePara testar o método proposto neste trabalho, uma massa de dados precisou sergerada contendo vários exemplos de cada uma das formas geométricas. Desta maneira,foi solicitado a dez (10) pessoas que criassem manualmente alguns esboços para cadagrupo de formas. A cada um dos participantes foi entregue uma lista contendo as mesmasformas presentes na Figura 5.24 e um tablet PC contendo o sistema referido na seção 5.6.Os esboços foram feitos com a utilização de uma caneta, mas também poderiam ter sidofeitos com a utilização de um mouse. Cada usuário realizou este processo individualmentee após a conclusão dos desenhos, as imagens foram organizadas de acordo com seu tipo.Antes de iniciarem os desenhos, algumas exigências foram feitas aos usuários:1. desenhe o mais preciso possível2. as formas desenhadas, com exceção do Grupo das Linhas, devem ser formasfechadas3. desenhar as formas no mesmo sentido e na mesma orientação presentes na lista deformasForam desenhados um total de 845 (oitocentas e quarenta e cinco) imagens. Apósa geração deste conjunto incial de formas, elas foram testadas no sistema para verificar oseu funcionamento. Os resultados obtidos estão expressos na Tabela 6.1. Em um segundo


6.3 Resultados 72momento, esses esboços desenhados pelos usuários também sofreram transformações derotação e espelhamento para se verificar a invariância do método quanto a transformaçãode rotação.É importante ressaltar que o sistema implementado, para avaliar o métodoproposto, possui uma área para o desenho de esboços com uma dimensão de 256x256pixels. Este tamanho permite que o usuário crie formas com até 65.536 pixels. Durantea fase de Pré-processamento (ver seção 5.7.1), o método converte este esboço em umamatriz de pixels que é diretamente proporcional ao tamanho do desenho. Logo quantomaior o desenho, maior é a matriz gerada. Quanto maior for a matriz, mais dados o sistemadeverá processar.Caso seja necessário trabalhar com desenhos maiores, por questões de performace,pode-se utilizar a normalização do tamanho do esboço antes de gerar a matriz.Isto é, independente do tabamnho do desenho feito, o mesmo seria redimensionado paraum tamanho previamente definido e, só então, a matriz de pixels seria gerada. Com isso,evita-se que matrizes muito grandes sejam geradas, o que prejudicaria o desempenho dométodo.Desenhos muito pequenos também podem afetar o método. Como o sistematrabalha com agrupamentos de transições iguais (ver seção 5.7.4), se as sequências detransições forém pequenas o método não conseguirá formar segmentos de reta válidos.Neste caso existem duas soluções: utilizar a normalização do desenho, ou pode-se ajustaro método para que sequências menores sejam consideradas para a formação de segmentosválidos.Atualmente, o sistema não implementa o redimensionamento (normalização)pois não se fez necessário para avaliação do método proposto. Durante a fase de testes,foram utilizados diferentes tamanhos de segmento para avaliar a sensibilidade do métodoem um conjunto de amostras. Os resulstados desta avaliação estão descritos na seçãoseguinte.6.3 ResultadosA Tabela 6.1 exibe os resultados por cada tipo de forma obtidos durante oprimeiro teste do método sobre as formas criadas pelos usuários.


6.3 Resultados 73Tabela 6.1: Teste 1 - ResultadosFormas Quantidade Acertos Erros % de ReconhecimentoCírculo 96 84 12 87,50 %Elipse 92 70 22 76,08 %Hexágono 97 61 36 62,88 %Linha 66 59 07 89,39 %Losango 73 36 37 49,31 %Quadrado 115 89 26 77,39 %Retângulo 88 67 21 76,13 %Trapézio 74 62 12 83,78 %Triângulo 144 96 48 66,66 %Os resultados apresentados no primeiro teste não foram satisfatórios. Este conjuntode 845 imagens foi então analisado criticamente e revisado por um olhar humano.Após análise do resultados obtidos, foi constatado que uma parecela significativa dosreconhecimentos mal sucedidos ocorreu porque algumas das formas desenhadas não correspondiama formas válidas.Esta análise é necessária para avaliar se o reconhecimento foi feito de maneiracorreta e se o índice de reconhecimento pode ser melhorado. Após esta primeira revisão,alguns problemas foram detectados e, após uma análise detalhada das suas causas, foiverificado que parte dos erros de reconhecimento não foram ocasionados por falha dométodo. A lista abaixo exibe alguns dos erros mais comuns detectados:• desenhar retângulos ao invés de quadrados e vice-versa,• desenhar círculos no lugar de elipses e vice-versa,• desenhar quadrados ou retângulos aos invés de losângos,• não atender as regras apresentadas na Seção 6.2,• desenhar formas irreconhecíveis até por um humano.As formas irreconhecíveis são esboços desenhados pelos usuários que não puderamser identificados nem por um olhar humano. O conjunto de formas que não foireconhecido pelo sistema foi então analisado por uma pessoa. As formas que nem o indivíduoconseguiu identificar foram removidas da base de amostragem. Isso foi feito poisse mesmo um humano conseguiu identificar a forma desenhada, o sistema também nãoteria esta capacidade.Esses erros prejudicaram a eficiência do método de reconhecimento e, após estaanálise crítica da formas desenhadas, algumas ações foram tomadas:• imagens irreconhecíveis foram removidas do conjunto de amostras ,


6.3 Resultados 74• imagens que não atendiam à Regra 2 da Seção 6.2 foram removidas (a Figura 6.1exibe alguns exemplos),• algumas imagens foram movidas para grupos mais adequados (a Figura 6.2 exibealguns exemplos).Figura 6.1: Exemplos de formas removidas


6.3 Resultados 75Figura 6.2: Exemplos de formas movidas para outros gruposEste “novo” conjunto de amostras, contendo 787 imagens, foi então testadonovamente no sistema. Os resultados deste novo teste são exibidos na Tabela 6.2.Tabela 6.2: Teste 2 - ResultadosFormas Quantidade Acertos Erros % de ReconhecimentoCírculo 92 84 08 91,30 %Elipse 83 70 13 84,33 %Hexágono 83 61 22 73,49 %Linha 61 59 02 96,72 %Losango 65 36 29 55,38 %Quadrado 108 97 11 89,81 %Retângulo 86 72 14 83,72 %Trapézio 72 62 10 86,11 %Triângulo 137 99 38 72,26 %Os resultados apresentados no segundo teste tiveram uma melhora considerável.Porém as formas com traçados diagonais (triângulo, losango e hexágono) ainda apresentaramum índice de reconhecimento inferior. Durante análise destas formas, foi constatado


6.3 Resultados 76que o método não reconhecia segmentos diagonais de maneira apropriada. Então alteraçõesno método foram efetuadas para a execução de novos testes. A principal alteraçãofeita foi aumentar o número de transições iguais para formar um segmento de “reta” válido(ver Seção 5.7.4). Este valor foi alterado de 3 para 4 e 5 com o objetivo de removerpequenas falhas de desenho e eliminar pequenos segmentos inexpressivos para a identificaçãoda forma.Um novo teste foi executado para segmentos de tamanho 4 e para segmentos detamanho 5, e os resultados são exibidos na Tabela 6.3 abaixo:Tabela 6.3: Teste 3 - Resultados para segmentos de tamanho 4 e 5Formas Quantidade % de Reconhecimentosegmentos de tamanho 4% de Reconhecimentosegmentos de tamanho 5Círculo 92 92,39 % 92,39 %Elipse 83 67,46 % 50,60 %Hexágono 83 87,95 % 83,13 %Linha 61 98,36 % 98,36 %Losango 65 67,69 % 66,15 %Quadrado 108 93,51 % 93,51 %Retângulo 86 86,04 % 86,04 %Trapézio 72 94,44 % 88,88 %Triângulo 137 85,40 % 88,32 %Os resultados obtidos no terceiro teste foram melhores para todas as formas,exceto para as elipses. De uma forma geral, todas as formas tiveram uma melhora noreconhecimento, principalmente as formas com traçados diagonais (triângulo, losango ehexágono).No caso das elipses, uma análise mais criteriosa foi feita. Alterando o tamanhodo segmento de 3 para 5 transições fez com que o índice de reconhecimento desta formacaísse de 84,33% para 50,60%. Por quê? Se todas as formas tiveram uma melhora,por que o grupo das elipses teve esta queda tão acentuada? Este queda no índice dereconhecimento ocorreu porque ao aumentar o tamanho do segmento fez com queas elipses fossem “confundidas” com hexágonos e pentágonos. A consideração feitaanteriormente, de que as elipses eram reduzidas para octógonos e heptágonos (ver Figura5.25), não estava mais sendo verificada. Com segmentos maiores, algumas das elipsesdesenhadas estavam sendo transformadas em pentágonos e hexágonos. A Figura 6.3 exibeesta situação.


6.3 Resultados 77Figura 6.3: Simplificações para elipses com segmentos de 3 e 5transiçõesIsto ocorreu porque nos segmentos com curvatura mais acentuada (as laterais daelipse), houve uma dimunição no número de segmentos considerados válidos. Ou seja,para um mesmo intervalo, quando se aumenta o tamanho dos segmentos, naturalmenteo número de segmentos diminui. Por isso as elipses se transformaram em hexágonos epentágonos ao invés de octógonos e heptágonos, como previsto anteriormente.Para melhorar o índice de reconhecimento, os resultados obtidos para segmentosde tamanho 3, 4 e 5 foram avaliados. Pode-se verificar que, com exceção das elipses, todasas formas tiveram uma melhora, ou mantiveram, seus índices de reconhecimento a medidaque aumentamos o tamanho do segmento. Algumas formas (hexágono, losango e trapézio)tiveram resultados melhores com segmentos de tamanho 4, outras (triângulo) tiveramresultados melhores com segmentos de tamanho 5 e as demais formas (círculo, linha,quadrado e retângulo) apresentaram os mesmos resultados para segmentos de tamanho 4ou 5. Então, qual seria o valor ideal para o tamanho do segmento?• Elipses tem índice de reconhecimento melhor com segmentos de tamanho 3,• Hexágonos, losangos e trapézio tem índices de reconhecimento melhor com segmentosde tamanho 4, e• Triângulos tem índice de reconhecimento menor com segmentos de tamanho 5.O método, outra vez, teve que ser revisado em busca de novas melhorias. Idealmente,deve-se adotar um tamanho de segmento que maximize o índice de reconhecimentopara todas as formas. Este valor deveria ser um valor entre 3 e 5. Como este valordeve ser único para todas as formas, decidiu-se adotar uma abordagem diferente: ao invésde ter um único valor para definir o tamanho de um segmento válido, serão utilizadosdois valores. Para o primeiro agrupamento, foram adotados segmentos de tamanho maior


6.3 Resultados 78e para os agrupamentos subsequentes adotam-se segmentos com menor tamanho. A novaabordagem é explicada abaixo:• Durante o primeiro agrupamento, ou seja, feito diretamente no esboço do usuário,foi adotado um tamanho de segmento igual a 4,• Nos agrupamentos seguintes, feitos a partir da cadeia de contorno já agupada esimplificada, foi adotado um tamanho de segmento igual a 3.Um novo teste foi executado e os resultados são exibidos na Tabela 6.4.Tabela 6.4: Teste 4 - Resultados - Segmentos de tamanho 4,3Formas Quantidade Acertos Erros % de ReconhecimentoCírculo 92 84 08 91,30 %Elipse 83 69 13 72,28 %Hexágono 83 70 13 84,33 %Linha 61 60 01 98,36 %Losango 65 44 21 67,69 %Quadrado 108 98 10 90,74 %Retângulo 86 74 12 86,04 %Trapézio 72 67 05 93,05 %Triângulo 137 116 21 84,67 %O teste 4 obteve, na média, resultados melhores que os testes anteriores. Dependendoda aplicação e das formas adotadas, pode-se optar por valores diferenciados parao tamanho dos segmentos válidos. Pode-se utilizar um único valor, ou até mesmo criarnovas combinações de valores, como a combinação feita para o teste 4.Para finalizar a avaliação do método, deve-se testar sua invariância quanto a rotaçãoe ao espelhamento da formas. Para isto, cada um dos sketchs foi, então, rotacionado3 vezes consecutivas com intervalos de 90 ◦ (90 ◦ , 180 ◦ e 270 ◦ respectivamente) e tambémrotacionados em torno dos eixos X e Y (espelhamento), totalizando 4.712 (quatromil setecentos e doze) imagens. Este processo de rotação e espelhamento dos esboços énecessário para testar a invariância do método quanto a rotação. Os resultados para esteteste final são exibidos na Tabela 6.5:


6.3 Resultados 79Tabela 6.5: Teste 5 - Avaliando a invariânciaFormas Quantidade Acertos Erros % de ReconhecimentoCírculo 551 504 47 91,47 %Elipse 498 409 89 82,12 %Hexágono 498 418 80 83,93 %Linha 364 358 06 98,35 %Losango 390 261 129 66,92 %Quadrado 648 584 64 90,12 %Retângulo 514 448 66 87,15 %Trapézio 427 392 35 91,80 %Triângulo 822 696 126 84,67 %Como esperado, os índices de reconhecimento foram, praticamente, os mesmos.Isto prova que o método é invariante à transformação de rotação. Ele é invariante àtranslação porque sua posição dentro da área de desenho não influência na formaçãoda cadeia de contorno, que sempre tem início no pixel mais a esquerda e na posiçãomais elevada (ver 5.7.2). E também é invariante às alterações de escala porque duranteo processo de aprimoramento da cadeia de contorno, o tamanho da cadeia é reduzido asegmentos elementares. A Figura 6.4 exibe dois exemplos de quadrados, e ambos gerama mesma cadeia de contorno: 2 n 4 n 6 n 0 n , ou seja: uma sequência de transições tipo Dois,uma sequência de transições tipo Quatro, uma sequência de transições tipo Seis e umasequência de transições tipo Zero.Figura 6.4: Formas com escala diferente mas com mesma cadeiade contornoUma consideração importante deve ser feita quanto a forma dos losangos. Umlosango é um polígono formado por quatro lados (quadrilátero) de igual comprimentoe cuja soma dos ângulos internos é igual a 360 ◦ . Por definição todo retângulo e todoquadrado são casos particulares de losangos: um quadrilátero com 4 ângulos de 90 ◦ .Logo, todo retângulo e todo quadrado também são losangos. Conforme mencionado


6.3 Resultados 80anteriormente (ver Seção 4.1.2), o método divide o intervalo de ângulos em 8 partes de45 o . Um losango perfeito, com intervalos de 45 o , teria a seguinte configuração: 2 ângulosde 45 o e 2 ângulos de 135 ◦ , conforme a Figura 6.5-(A). De acordo com a Tabela 5.23esta combinação de ângulos é gerada a partir da forma presente na Figura 6.5-(B). Oprocesso de simplificação da cadeia de contorno apresentado na Seção 5.7.3, transforma aFigura 6.5-(A) em um quadrado rotacionado 45 ◦ (ver Figura 6.5-(C)). Isto ocorre porqueo tamanho da cadeia é sempre reduzido a segmentos elementares. Neste caso temos aseguinte cadeia: 3 n 5 n 7 n 1 n , ou seja, quatro segmentos diagonais.Figura 6.5: LosangoPor definição, todo losango é também um paralelogramo. A Figura 6.5-(B) éum parelelogramo e, neste trabalho, está sendo adotado como uma forma “equivalente” aforma do losango. Dependendo da aplicação pode-se substituir os losangos, sem prejuízoalgum, por retângulos ou quadrados rotacionados 45 ◦ ou por paralelogramos, como estespresentes na Figura 6.5-(C) e 6.5-(B), respectivamente.Para a formação do conjunto de amostras, os usuários poderiam desenhar as 3formas presentes na Figura 6.5, sendo que as figuras (A) e (B) representariam losangos ea figura (C) representaria retângulos (ou quadrados dependendo da relaçãolargura altura ). Umnovo teste foi executado mas desta vez o conjunto dos losangos foi dividido em 2 grupos:1. grupo losango-paralelogramo, sketchs similares à Figura 6.5-(B), e2. grupo losango-losango, sketchs similares à Figura 6.5-(A).Os resultados obtidos nestes 2 grupos apresentam valores bem distintos. Parao grupo losango-paralelogramo o índice de reconhecimento foi de 92,39%. Já para ogrupo 2, losango-losango, o índice de reconhecimento é de apenas 5,26% das formasreconhecidas como losangos e 68,42% desse conjunto de formas reconhecidos comoretângulos. Como afirmado anteriormente, as formas similares à forma 6.5-(A) acabaramsendo transformadas para quadrados ou retângulos rotacionados 45 ◦ .Esta “limitação” não prejudica a aplicabilidade do método pois, dependendo dasformas utilizadas no fluxograma, basta que o usuário utilize um paralelogramo ou umquadrado (rotacionados 45 ◦ ) para que o sistema reconheça como losango e o códigoapropriado possa ser gerado.


Conclusão e Trabalhos FuturosCAPÍTULO 7Para que o computador possa tratar semanticamente imagens, é necessário queele possa reconhecer o seu conteúdo. Reconhecer uma imagem, para os seres humanos,é um processo trivial e bastante intuitivo. Para uma máquina, reconhecer uma imagem éum processo complexo e, muitas vezes, ambíguo. Apesar dos avanços alcançados, muitoainda resta ser feito.Como ocorre em outras áreas, a educação também pode se beneficiar dosavanços no reconhecimento de imagens. Em particular o reconhecimento de esboços podecontribuir, já que o desenho é uma forma natural de representação, bastante usado para acomunicação de ideias e discussão de soluções.No ensino de programação de computadores, o uso de fluxogramas, por ser umarepresentação gráfica, torna o entendimento mais fácil e mais compreensível para estudantesiniciantes em computação do que a utilização código em linguagem de programação.Além disto, auxiliam no aprendizado, já que possuem uma sintaxe mínima que reduz ofoco na sintaxe, aumentando o esforço em análise.Para permitir o tratamento semântico dos fluxogramas em aplicações, é necessáriaa “compreensão” das representações utilizadas. Isto passa pelo “reconhecimento”automático das formas esboçadas pelo usuário.Este trabalho apresenta uma abordagem para o reconhecimento de esboços, utilizandoinformações extraídas a partir da forma do objeto. Para a extração de características,um método, baseado na técnica de Chain Code, foi proposto para analisar a borda daimagem. Foi implementada uma ferramenta, fundamentada na abordagem proposta, parateste e validação do método proposto.A aplicação foi desenvolvida utilizando a plataforma Microsoft .Net Framework,já que esta possui suporte nativo para a utilização de tinta digital. A ferramenta desenvolvidaextrai, dos esboços, um conjunto de características necessárias para a identificação eo reconhecimento das formas. As características utilizadas foram: as dimensões (altura elargura), o número de segmentos que compõe o contorno da imagem e os ângulos internosentre cada um segmentos.


7.1 Trabalhos Futuros 82Para avaliação do método uma base de imagens, contendo formas geométricasesboçadas por usuários, foi criada. O reconhecimento foi feito inicialmente pelos usuários,depois por um revisor humano e, então, pelo sistema desenvolvido. Os resultados obtidosdurante os testes mostraram a viabilidade do método proposto.O trabalho proposto é parte de um trabalho maior, que busca construir umaferramenta, com fins educacionais e didático-pedagógicos, para ser utilizada em cursosiniciais de Algoritmos e Programação de Computadores. Nela o aluno poderá esboçar umfluxograma utilizando tinta digital, que será convertido para código fonte, que poderá sertestado e avaliado, validando o raciocínio e o aprendizado dos alunos.É preciso considerar que o momento proporciona uma oportunidade de aproximarnovas tecnologias ao processo educativo como possibilidade de melhorar os tradicionaissistemas de ensino. Assim que as demais partes do sistema forem sendo desenvolvidas,testes mais próximos da realidade poderão ser executados.O método, aqui apresentado, pode ser utilizado em qualquer área onde haja anecessidade de reconhecimento de formas geométricas. Novas formas ainda podem seradicionadas a base de imagens, aumentando a capacidade de reconhecimento do método.A utilização de técnicas de Processamento de Imagens, CBIR e a análise das formaspresentes em fluxogramas foram essenciais para o desenvolvimento desta dissertação.7.1 Trabalhos FuturosPrimeiramente, deve-se desenvolver o processo de segmentação dos fluxogramaspara permitir uma caracterização completa dos fluxogramas. Este é um processo complexo,mas que pode ser implementado levando em consideração o domínio da aplicação.Além disto, novas idéias surgiram para a continuação futura do mesmo.Propõem-se:• aceitar imagens não fechadas utilizando uma técnica que complete sua borda,• estender o reconhecimento para outros tipos de formas como letra e formas maiscomplexas,• verificar a existência de novas características que possam ser utilizadas para oreconhecimento das formas,• verificar a viabilidade de realizar treinamentos, por parte dos usuários e por partedo sistema.O método apresentado neste trabalho se mostrou promissor. Com o desenvolvimentode outros trabalhos como:• animação do fluxograma, e


7.1 Trabalhos Futuros 83• a geração de código fonte a partir das formas reconhecidas.Um sistema para reconhecimento e geração de código de máquina a partir defluxogramas esboçados pelo usuário poderá ser criado. Desta forma, o método propostoneste trabalho poderá, novamente, ser testado em um ambiente real para avaliar suaaplicabilidade dentro do sistema.O processo de beautification também deve ser avaliado. Um estudo deve ser feitocom o intuito de escolher a melhor maneira de utilizá-lo dentro do sistema: qual técnicaescolher, qual o momento de executar o beautification de cada forma e do fluxograma.Com a criação de um sistema que reconheça e execute fluxogramas, outrastarefas também podem ser executadas de maneira automatizada: correção automática,agrupamento de esboços similares e recuperação de fluxogramas que gerem o mesmorestultado.Utilizar outras características, como a cor, podem expandir as possibilidade dereconhecimento. Por exemplo, em um fluxograma retângulos podem ser utilizados pararepresentar entrada/saída de dados. Com a utilização de duas cores distintas, pode-seutilizar a mesma forma para representar funções diferentes: um retângulo azul poderiarepresentar Entrada de Dados e um retângulo vermelho poderia representar Saída dedados.


Referências Bibliográficas[1] ALBUQUERQUE, M. P.; ALBUQUERQUE, M. P. Processamento de imagens:métodos e análises. Editora da FACET, Rio de Janeiro, 2001.[2] ALMEIDA, C. W. D.; POEL, J. V. D.; BATISTA, L. V.; AMORIM, H. L. E. Análise deformas baseada no método da curvature scale space para tumores de câncerde mama. In: IV SBQS - V Workshop de Informática Médica, 2005.[3] AMBRÓSIO, A. P.; GONDIM, H. W. A. S. Esboço de fluxogramas no ensino dealgoritmos. In: WEI - Workshop sobre Educação em Computação 2008, Belém doPará - PA. Anais do WEI 2008, 2008.[4] AMORIN, S. R. L.; CHERIAF, M. Sistema de indexação e recuperação de informaçãoem construção baseado em ontologia. III Encontro de Tecnologia de Informaçãoe Comunicação na Construção Civil, p. 1–8, 2007.[5] ASLANDOGAN, Y. A.; YU, C. T. Techniques and systems for image and videoretrieval, 1999.[6] BACH, J. R.; FULLER, C.; GUPTA, A.; HAMPAPUR, A.; HOROWITZ, B.; HUMPHREY,R.; JAIN, R.; SHU, C.-F. Virage image search engine: An open framework forimage management. In: Storage and Retrieval for Image and Video Databases(SPIE), p. 76–87, 1996.[7] BAGNALL, B.; OUTROS. C# Para Programadores Java. Alta Books, 2005.[8] BALAN, A. G. R.; TRAINA, A. J. M.; TRAINA JR, C.; AZEVEDO-MARQUES, P. M.Integrando textura e forma para a recuperação de imagens por conteúdo. Anaisdo IX Congresso Brasileiro de Informática em Saúde (CBIS 2004), 1(1):1–6, 2004.[9] BARROS, R. A. B.; RIBEIRO, C. H. C. Implementação de métodos e classesde processamento de imagens para sistema de navegação robótica. Technicalreport, Instituto Tecnológico de Aeronáutica, Conselho Nacional de DesenvolvimentoCientífico e Tecnológico, São José dos Campos, SP, 2005.


Referências Bibliográficas 85[10] BARTOLINI, I.; CIACCIA, P.; PATELLA, M. Warp: Accurate retrieval of shapes usingphase of fourier descriptions and time warping distance. IEEE Trans. PatternAnalysis and Machine Intelligence, 27(1):142–147, 2005.[11] BELONGIE, S.; MALIK, J.; PUZICHA, J. Shape maching and object recognitionsusing shape context. IEEE Trans. Pattern Analysis and Machine Intelligence,24(4):509–522, 2002.[12] BERRETTI, S.; BIMBO, A. D.; PALA, P. Retrieval by shape similarity with perceptualdistance and effective indexing. IEEE Transactions on Multimedia, 2(4):225–239, 2000.[13] BIMBO, A. D.; PALA, P. Visual image retrieval by elastic matching of usersketches. IEEE Transactions on Multimedia, 19(2):121–132, 1997.[14] BRIBIESCA, E. A new chain code. The Journal of the Pattern Recognition Society,32:235–251, 1999.[15] BRUNELLI, R.; MICH, O. On the use of histograms for image retrieval. MultimediaComputing and Systems, International Conference on, 2:143, 1999.[16] BUCHANAN, J. Review of syntactic methods in pattern recognition by k. s. fu.SIGART Bull., p. 11–11, 1974.[17] CASTANON, C. A. B. Recuperação de imagens por conteúdo através de análisemultiresolução por wavelets. Master’s thesis, Instituto de Ciências Matemáticas ede Computação (ICMC), 2003.[18] CHAKRABARTI, K.; ORTEGA-BINDERBERGER, M.; PORKAEW, K.; MEHROTRA, S.Similar shape retrieval in mars. In: Multimedia and Expo, 2000. ICME 2000. 2000IEEE International Conference on, volume 2, p. 709–712 vol.2, 2000.[19] CREWS, T.; ZIEGLER, U. The flowchart interpreter for introductory programmingcourses. In: FIE ’98: Proceedings of the 28th Annual Frontiers in Education, p. 307–312, Washington, DC, USA, 1998. IEEE Computer Society.[20] CRUZ, H. S.; BRIBIESCA, E.; DAGNINO, R. M. R. Effiency of chain codes torepresent binary objects. Pattern Recognition, 1(40):1600–1674, 2007.[21] DAS, M.; PAULIK, M.; LOH, N. A bivariate autoregressive technique for analysisand classification of planar shapes. IEEE Transactions on Pattern Analysis andMachine Intelligence, 12(1):97–103, 1990.


Referências Bibliográficas 86[22] DATTA, R.; LI, J.; WANG, J. Z. Content-based image retrieval - approaches andtrends of the new age. Intl. Workshop on Multimedia Information Retrieval - ACMMultimedia, 2005.[23] DAVIES, E. R. Machine Vision: Theory, Algorithms, Practicalities. AcademicPress, Amsterdam, 1997.[24] DUDEK, G.; TSOTSOS, J. K. Shape representation and recognition from multiscalecurvature. Comput. Vis. Image Underst., 68(2):170–189, 1997.[25] EITZ, M.; HILDEBRAND, K.; BOUBEKEUR, T.; ALEXA, M. A descriptor for largescale image retrieval based on sketched feature lines. In: Eurographics Symposiumon Sketch-Based Interfaces and Modeling, p. 29–38, 2009.[26] ERPEN, L. R. C. Recuperação de informação visual. In: II Jornada do Conhecimentoe da Tecnologia, Porto Alegre - RS - Brasil, 2000.[27] FONSECA, M. J. C. M. Sketch-Based Retrieval in Large Sets of Drawings. PhDthesis, Universidade Técnica de Lisboa - Instituto Superior Técnico, Lisboa - Portugal,2004.[28] FRANCISCANI, J. D. F. Redução do gap semântico em cbir utilizando ontologiade objeto, 2008.[29] FREEMAN, H. Computer processing of line drawing images. ACM ComputingSurveys, 6(1):57–97, 1974.[30] GONCALVES, D. B.; COSTA, Y. M. G.; BRUSCAGIM, M.; SILVA, G. C. Recuperaçãode imagens por combinação dos aspectos cromático e estrutural,2005.[31] GONZALEZ, R. C.; WOODS, R. E. Digital Image Processing - Second Edition.Prentice Hall, 2002.[32] GOSHTASBY, A. Description and discrimination of planar shapes using shapematrices. IEEE Transactions, 7(6):738–743, 2009.[33] GROSKEY, W. I.; MEHROTRA, R. Index-based object recognition in pictorial datamanagement. Computer Vision, Graphics, and Image Processing, 52(3):416–436,1990.[34] HAMMOND, T. Enabling instructors to develp sketch recognition applicationsfor the classroom. 37th ASEE/IEEE Frontiers in Education Conference, 1(1):11–16,2007.


Referências Bibliográficas 87[35] HAMMOND, T. LADDER: A Perceptually-based Languge to Simplify SketchRecognition User Interface Development. PhD thesis, MIT - PhD Thesis, 2007.[36] HAMMOND, T. Sketch recognition at texas a&m university. Brown Workshop onPen-Centric Computing March 25, p. 1–6, 2007.[37] HAMMOND, T.; DAVIS, R. Ladder, a sketching language for user interfacedevelopers. Comput. Graph., 29(4):518–532, 2005.[38] HAMMOND, T.; EOFF, B.; PAULSON, B.; WOLIN, A.; DAHMEN, K.; JOHNSTON, J.;RAJAN, P. Free-sketch recognition: Putting the chi in sketching. In: CHI ’08: CHI’08 extended abstracts on Human factors in computing systems, p. 3027–3032, NewYork, NY, USA, 2008. ACM.[39] HE, Y.; KUNDU, A. 2-d shape classification using hidden markov model. IEEETransactions on Pattern Analysis and Machine Intelligence, 13(11):1172–1184, 1991.[40] HOSTINS, H.; RAABE, A. Auxiliando a aprendizagem de algoritmos com aferramenta webportugol. Anais do XXVII Congresso da SBC, p. 96–105, 2007.[41] ZHANG, D. Image Retrieval Based on Shape. PhD thesis, Monash University, 2002.[42] HU, M. K. Visual pattern recognition by moment invariants. IRE Transactions onInformation Theory, 8(2):179–187, 1962.[43] JACOBSON, R. E.; KASTER, B. L.; HAMMOND, D. T. Sousa: The sketch-basedonline user stydy application. Eurographics 5th Annual Workshop on Sketch-Based Interfaces and Modeling, p. 81–88, 2008.[44] KARA, L. B. An image-based trainable symbol recognizer for sketch-basedinterfaces. In: in AAAI Fall Symposium Series 2004: Making Pen-Based InteractionIntelligent and Natural, p. 99–105. AAAI Press, 2004.[45] KASHYAP, K. L.; CHELLAPPA, R. Stochastic models for closed boundary analysis:Representation and reconstruction. IEEE Transaction on Information Theory,27(5):627–637, 1981.[46] KATA, T.; KURITA, T.; OTSU, N.; HIRATA, K. Sketch retrieval method for full colorimage database - query by visual example. 11th IAPR International Conference onPattern Recognition ,Conference A: Computer Vision and Applications, 1(1):530–533,1992.[47] KISHI, A. K.; FANG, C. Ferramenta para análise de informções do olhar. Trabalhode Formatrua Supervisionado - Universidade de São Paulo - Instituto de Matemáticae Estatística - Departamento de Ciência da Computação, 2007.


Referências Bibliográficas 88[48] LANDRÉ, J.; TRUCHETET, F. Image regrieval with binary hamming distance.VISAPP (2), p. 237–240, 2007.[49] LATECKI, L. J.; LAKAMPER, R. Shape similarity measure based on correspondenceof visual parts. IEEE trans. Pattern Analysis and Machine Intelligence,22(10):1185–1190, 2000.[50] LEUNG, W. H.; CHEN, T. User-independent retrieval of free-form hand-drawnsketches, 2002.[51] LIU, Y. K.; ZALIK, B. An efficient chain code with huffman coding. The Jounal ofthe Pattern Recognition Society, 38:553–557, 2004.[52] LONG, H. Z.; LEOW, W. K.; CHUA, F. K. Perceptual texture space for contentbasedimage retrieval. In: In Proc. Int. Conf. on Multimedia Modeling (MMM 2000),p. 167–180, 2000.[53] LU, G. J.; SAJJANHAR, A. Region-based shape representation and similarity measuresuitable for content-based image retrieval. Multimedia Systems, 7(2):165–174, 2000.[54] MARINE, F. J. S. Automatic recognition of biological shapes with and withoutrepresentation of shape. Artificial Intelligence in Medicine, 18(2):173–186, 2000.[55] MEER, P.; GEORGESCU, B. Edge detection with embedded confidence. IEEETransactions on Pattern Analysis and Machine Intelligence, 23(12):1351–1365, 2001.[56] MEHTRE, B. M.; KANKANHALLI, M. S.; LEE, W. F. Shape measures for contentbased image retrieval: A comparison. Information Processing & Management,33(3):319–337, May 1997.[57] MENDES, A. J. N.; GOMES, A. J. Sicas: Interactive system for algorithm developmentand simulation, 2001.[58] MOKHTARIAN, F.; ABBASI, S.; KITTLER, J. Robust and efficient shape indexingthrough curvature scale space. In: In Proceedings of British Machine VisionConference, p. 53–62, 1996.[59] MORENO, R. A.; FURUIE, S. S. Biram: Sistema para recuperação de imagenspor conteudo. Anais do X Congresso Brasileiro de Informática em Saúde, 1(1):554–559, 2006.[60] MURUGAPPAN, S.; SELLAMANI, S.; RAMANI, K. Towards beautification of freehandsketches using suggestions. In: SBIM ’09: Proceedings of the 6th Eurographics


Referências Bibliográficas 89Symposium on Sketch-Based Interfaces and Modeling, p. 69–76, New York, NY, USA,2009. ACM.[61] NUNES, A. M.; FILETO, R. Uma arquitetura para recuperação de informaçãobaseada em semântica e sua aplicação no apoio a jurisprudência. Anais da IIIEscola Regional de Banco de Dados (ERBD) - Caxias do Sul - RS, 2007.[62] OTTERLOO, P. J. V. A contour-oriented approach to shape analysis. Prentice HallInternational, 1(1):90–108, 1991.[63] PAULA, L. B. D.; PINHEIRO, M. G.; ROSA, N. A.; FIGUEIREDO, L. R. D.; AZEVEDO-MARQUE.; MAZZONCINI, P. Sistema para recuperação de mamografias com baseem conteúdo: Extração do vetor de características. Revista Iluminart, 1(1):124–137, 2009.[64] PAULSON, B.; HAMMOND, T.; WOLIN, A. Sort, merge, repeat: An algorithm foreffectively finding corners in hand-sketched strokes, 2000.[65] PAULSON, B.; HAMMOND, T. Paleosketch: accurate primitive sketch recognitionand beautification. In: IUI ’08: Proceedings of the 13th international conference onIntelligent user interfaces, p. 1–10, New York, NY, USA, 2008. ACM.[66] PENTLAND, A.; PICARD, R. W.; SCLAROFF, S. Photobook: Content-based manipulationof image databases, 1995.[67] PRASAD, B. G.; BISWAS, K. K.; GUPTA, S. K. Region-based image retrievalusing integrated color, shape and location index. In: Computer Vision & ImageUnderstanding, Vol.94, No.1-3 (April 2004) pp 193-233, ISSN, p. 193–233, 2003.[68] PRINCE, C. Using clustering to assist understanding of digital ink in lowattention environments, 2005. Acessado em 20/05/2010.[69] RAFIEI, D.; MENDELZON, A. O. Efficient retrieval of similar shapes. The VLDBJournal, 11(1):17–27, 2002.[70] RODRIGUES, R. J.; SILVA, E.; THOMÉ, A. C. G. Feature extraction using contourprojection. 5th World Multi-Conference on Systemics, Cybernetics and Informatics -SCI 2001, Orlando, Florida, 13(1):561–566, 2001.[71] RODRIGUES JR., M. C. Experiências positivas para o ensino de algoritmos,2004.[72] RUI, Y. A modified fourier descriptor for shape matching in mars. In: Chang,S. K., editor, Image Databases and Multimedia Search, Series of Software Engn.


Referências Bibliográficas 90and Knowledge Engn., volume 8, p. 165–180. World Scientific Publishing, Singapore,1998.[73] RUI, Y.; SHE, A.; HUANG, T. Modified fourier descriptors for shape representation– a practical approach. In: Proc of First International Workshop on ImageDatabases and Multi Media Search., 1996.[74] RUI, Y.; HUANG, T. S.; CHANG, S.-F. Image retrieval: Current techniques,promising directions, and open issues. Journal of Visual Communication andImage Representation, 1(39):39–62, 1999.[75] SAJJANHAR, A. A technique for similarity retrieval of shapes. Master’s thesis,Monash University , Australia, 1997.[76] SALEM, A.-B. M.; SEWISY, A. A.; ELYAN, U. A. A vertex chain code approach forimage recognition. GVIP, 05(V3), 2005.[77] SANTANA, R. C. D. Uma aplicação de cbir à análise de imagens médicas deimuno-histoquímica utilizando morfologia matemática e espectro de padrões,2008.[78] SANTOS, C. D. F. D. Uso de saliências do contorno via esqueletização pararecuperação de imagens. Master’s thesis, Universidade Federal de Uberlândia,2007.[79] SCANLAN, D. A. Structured flowcharts outperform pseudocode: An experimentalcomparison. IEEE Softw., 6(5):28–36, 1989.[80] SEKITA, I.; KURITA, T.; OTSU, N. Complex autoregressive model for shaperecognition. IEEE Transactions on Pattern Analysis and Machine Intelligence,14(4):489–496, 1992.[81] SHI, J.; MALIK, J. Normalized cuts and image segmentation. IEEE Transactionson Pattern Analysis and Machine Intelligence, 22(12):888–905, 2000.[82] SILVA, L. S. P.; GONZAGA, A. Recuperação de sub-imagem baseada emconteúdo utilizando algoritmo bic e realimentação de relevância. Anais do WVC2006 - II WORKSHOP DE VISÃO COMPUTACIONAL, 1(1):190–193, 2006.[83] SILVA, L. O. Bookish - uma ferramenta para contextualização de documentosutilizando mineração de textos e expansão de consulta, 2009.[84] SMEULDERS, A. W. M.; WORRING, M.; SANTINI, S.; GUPTA, A.; JAIN, R. Contentbasedimage retrieval at the end of the early years. IEEE Transactions on PatternAnalysis and Machine Intelligence, 22(12):1349–1380, 2000.


Referências Bibliográficas 91[85] SMITH, J. R.; CHANG, S.-F. Visualseek: a fully automated content-based imagequery system. In: MULTIMEDIA ’96: Proceedings of the fourth ACM internationalconference on Multimedia, p. 87–98, New York, NY, USA, 1996. ACM.[86] SMITH, J.; CHANG, S.-F. Automated binary texture feature sets for image retrieval.In: Acoustics, Speech, and Signal Processing, 1996. ICASSP-96. ConferenceProceedings., 1996 IEEE International Conference on, volume 4, p. 2239–2242, May1996.[87] SONKA, M.; HLAVAC, V.; BOYLE, R. Image Processing, Analysis and MachineVision. Chapman and Hall Computing, 1993.[88] TUCERYAN, M.; JAIN, A. K. Texture Analysis, chapter 2, p. 207–248. WorldScientific Publishing Co., second edition, 1998.[89] VELTKAMP, R. C. Shape matching - similarity measures and algorithms. In: IEEEPress - Proceedings Shape Modelling International, p. 188–197, 2001.[90] WANG, B.; SUN, J.; PLIMMER, B. Exploring sketch beautification techniques. In:CHINZ ’05: Proceedings of the 6th ACM SIGCHI New Zealand chapter’s internationalconference on Computer-human interaction, p. 15–16, New York, NY, USA, 2005.ACM.[91] ZHANG, D.; LU, G. A comparative study of three region shape descriptors. In:Digital Image Computing Techniques and Applications, p. 21–22, 2002.[92] ZHOU, X. S.; HUANG, T. S. Relevance feedback in image retrieval: A compeensivereview. Multimedia Systems, 1(8):536–544, 2003.


APÊNDICE AExemplos de formas desenhadas pelos usuáriosFigura A.1: Exemplos de Círculos


Apêndice A 93Figura A.2: Exemplos de ElipsesFigura A.3: Exemplos de Hexágonos


Apêndice A 94Figura A.4: Exemplos de QuadradosFigura A.5: Exemplos de Retângulos


Apêndice A 95Figura A.6: Exemplos de LinhasFigura A.7: Exemplos de Losangos


Apêndice A 96Figura A.8: Exemplos de TriângulosFigura A.9: Exemplos de Trapézios

More magazines by this user
Similar magazines