Modelo. Reconhecimento de Esboços de Formas Geométricas Contidas em Fluxogramas UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA

Tamanho: px
Começar a partir da página:

Download "Modelo. Reconhecimento de Esboços de Formas Geométricas Contidas em Fluxogramas UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA"

Transcrição

1 UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA RICARDO BELLOTI DOS SANTOS Reconhecimento de Esboços de Formas Geométricas Contidas em Fluxogramas Modelo Goiânia 2010

2 UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA AUTORIZAÇÃO PARA PUBLICAÇÃO DE DISSERTAÇÃO EM FORMATO ELETRÔNICO Na qualidade de titular dos direitos de autor, AUTORIZO o Instituto de Informática da Universidade Federal de Goiás UFG a reproduzir, inclusive em outro formato ou mídia e através de armazenamento permanente ou temporário, bem como a publicar na rede mundial de computadores (Internet) e na biblioteca virtual da UFG, entendendo-se os 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 que me seja devido pagamento a título de direitos autorais, desde que a reprodução e/ou publicação tenham a finalidade exclusiva de uso por quem a consulta, e a título de divulgação da produção acadêmica gerada pela Universidade, a partir desta data. Título: Reconhecimento de Esboços de Formas Geométricas Contidas em Fluxogramas Autor(a): Ricardo Belloti dos Santos Goiânia, 22 de Julho de Ricardo Belloti dos Santos Autor Orientador

3 RICARDO BELLOTI DOS SANTOS Reconhecimento de Esboços de Formas Geométricas Contidas em Fluxogramas Dissertação apresentada ao Programa de Pós Graduação do Instituto de Informática da Universidade Federal de Goiás, como requisito parcial para obtenção do título de Mestre em Computação. Área de concentração: Recuperação de Informação. Orientadora: Profa. Dra. Ana Paula Laboissière Ambrósio Goiânia 2010

4 RICARDO BELLOTI DOS SANTOS Reconhecimento de Esboços de Formas Geométricas Contidas em Fluxogramas Dissertação defendida no Programa de Pós Graduação do Instituto de Informática da Universidade Federal de Goiás como requisito parcial para obtenção do título de Mestre em Computação, aprovada em 22 de Julho de 2010, pela Banca Examinadora constituída pelos professores: Profa. Dra. Ana Paula Laboissière Ambrósio Instituto de Informática UFG Presidente da Banca Prof. Dr. Díbio Leandro Borges CIC UnB Prof. Dr. Ronaldo Martins da Costa INF UFG

5 Todos os direitos reservados. É proibida a reprodução total ou parcial do trabalho sem autorização da universidade, do autor e do orientador(a). Ricardo Belloti dos Santos Graduado em Ciêncida da Computação pelo Instituto de Informática (INF) da Universidade Federal de Goiás (UFG). Atualmente é Gestor de Tecnologia da 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), um projeto de parceria entre o Estado de Goiás e a UFG para a integração de dados e disponibilização de conjuntos documentais digitais.

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

7 Agradecimentos À minha família, especialmante a meu pai Jorge e a minha mãe Maria, pelo carinho, dedicação e apoio em todos os momentos da minha vida. À minha orientadora Dra. Ana Paula L. Ambrósio, por sua sabedoria, competência e por ter confiado em meu trabalho. Pela grande ajuda e paciência ao longo deste período, e pela orientação que contribui para o meu desenvolvimento pessoal e profissional. À minha namorada Talita, pelo companheirismo, pela cumplicidade, por estar comigo em horas difíceis e pelo constante incentivo e estímulo para a conclusão deste trabalho. 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ção acadêmica. Aos meus colegas de mestrado, que tantas vezes me ajudaram a resolver problemas que pareciam impossíveis. Fico grato pela amizade, companherismo e solidariedade em todos os momentos. Em especial aos amigos Luciana Oliveira e Halley Wesley, vocês me ajudaram muito nesta caminhada. Meus agradecimentos especiais a meus colegas de trabalho Lívia Leite, Marcel Luiz e Mário Mendes Barbosa Júnior, pelo apoio na materialização deste trabalho, pelos quais tenho grande estima e gratidão. Finalmente, agradeço a todos aqueles que, de forma direta ou indireta, contribuíram para a elaboração deste trabalho. Muito obrigado a todos! E a DEUS, por tudo!

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

9 Resumo dos Santos, Ricardo Belloti. Reconhecimento de Esboços de Formas Geométricas Contidas em Fluxogramas. Goiânia, p. 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 desenvolvimento tecnológico e sua disseminação em todas as áreas. É preciso considerar que o momento proporciona uma oportunidade de aproximar novas tecnologias ao processo educativo como possibilidade de melhorar os tradicionais sistemas de ensino. Celulares e computadores com tinta digital, tela touchscreen e cameras vêm revolucionando a maneira como as pessoas interagem com tais dispositivos. Neste sentido, sistemas vêm sendo desenvolvidos para permitir a recuperação, seleção, extração de características, indexação e reconhecimento de imagens através de seu conteúdo. Enquanto aplicações para o reconhecimento de imagens vêm sendo criadas para vários domínios, até hoje os sistemas para o reconhecimento de esboços ainda não são acessíveis para educadores que necessitam de sistemas específicos para atingir os objetivos de suas aulas. Este trabalho apresenta um método para reconhecimento de imagens baseado em conteúdo, utilizando esboços desenhados pelo usuário com tinta digital, para reconhecer formas geométricas presentes em fluxogramas. O método é baseado na técnica Chain Code e as informações são extraídas a partir do contorno da imagem. Para a avaliação, um conjunto de mais de quatro mil e setecentos esboços, das diferentes formas contidas em fluxogramas, foi utilizado. Os resultados obtidos mostraram um índice de reconhecimento próximo de 90%. Palavras chave Ensino da Computação, Recuperação da informação, CBIR, Fluxogramas, Chain Code, Código de Freeman.

10 Abstract dos Santos, Ricardo Belloti. Reconition of geometric shapes sketched in flowcharts. Goiânia, p. MSc. Dissertation. Instituto de Informática, Universidade Federal de Goiás. The continued technological development has brought many changes to society and education. The moment provides a good opportunity to bring new technologies to the educational process as a possibility to improve the traditional education systems. Phones and computers with digital ink, touchscreen and cameras are revolutionizing the way people interact with and use such devices. In this sense, systems have been developed to allow retrieval, selection, feature extraction, indexing and image recognition based on its contents. While image retrieval applications have been created for many domains, sketch retrieval and recognition systems are not yet available for educators, who need specific systems to achieve the objectives in their classes. This work presents a method for image recognition based on its content using user-drawn sketches with digital ink, to recognize geometric 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 more than four thousand and seven hundred sketches, containing the various shapes contained in flowcharts, was used. The results obtained showed recognition rates near of 90%. Keywords Information Retrieval, CBIR, Flowcharts, Chain Code, Freeman Code.

11 Sumário Lista de Figuras 11 Lista de Tabelas 13 1 Introdução Fluxogramas Objetivo Justificativa Metodologia Estrutura da Dissertação 21 2 Processamento de Imagens Digitais Descritores de Conteúdo da Imagem Cor Textura Forma Pixel Transformadas e Filtros Histograma Região de Interesse Passos Fundamentais no Processamento de Imagens Digitais Conclusão 30 3 Trabalhos Relacionados Reconhecimento de Formas Sistemas QBIC Virage PhotoBook VisualSEEk Conclusão 37 4 Técnicas de Representação de Formas Baseada no contorno Métodos globais 39 Descritores de forma simples 39 Assinatura da forma 39 Boundary Moments 40 Elastic matching 40

12 Stochastic Method 40 Scale Space Method 40 Trasformações espectrais Métodos Estruturais 41 Representação Chain-Code 41 Polygon Decomposition 43 Smooth curve decomposition 43 Curvature-tuned Smoothing 43 Syntatic Analysis 44 Shape invariants Baseada na região Métodos Globais 45 Geometric Moment Invariants 45 Grid Based Method 45 Shape Matrix Métodos Estruturais 46 Convex Hull 46 Medial Axis Conclusão 47 5 O Projeto O Sketch Escopo do projeto Tinta Digital O Reconhecimento das Formas Formulação da consulta Processamento da consulta Resposta ao usuário O Modelo do Sistema O Sistema Desenvolvido O Método de Extração de Características Pré-processamento da Imagem Análise da Imagem Aprimoramento da Cadeia de Contorno Extração de Características Conclusão 69 6 Avaliação O Reconhecimento Base de dados para o teste Resultados 72 7 Conclusão e Trabalhos Futuros Trabalhos Futuros 82 Referências Bibliográficas 84 A Exemplos de formas desenhadas pelos usuários 92

13 Lista de Figuras 1.1 Exemplos de formas presentes em fluxogramas Exemplos de texturas visuais Exemplos de formas Representação dos pixels de uma imagem digital [31] Representação matricial de uma imagem digital Aplicação de um filtro sobre uma matriz de pixels [31] Passos fundamentais no processamento de imagens digitais [31] Demonstrações da utilização do QBIC Métodos para representação de forma Conectividade Syntatic Analysis Convex Hull - (adaptado de [41]) Exemplos de esboços Formas Exemplos de imagens Utilização da tinta Transformação da tinta para imagem binária Etapas do Sistema Processos em cada uma das etapas Interface do Sistema Exemplos da utilização do sistema Sketch desenhado pelo usuário Esboço binarizado Grade - Matriz de pixels Identificação dos pixels de borda Exemplo da utilização do Chain Code Agrupamento de transições Remoção de transições isoladas Remoção de transições isoladas Remoção de transições isoladas Re-agrupamento Simplificações para cadeias de tamanho Exemplos de formas Exemplos de aplicação da equação Ângulos entre cada uma das transições 66

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

15 Lista de Tabelas 6.1 Teste 1 - Resultados Teste 2 - Resultados Teste 3 - Resultados para segmentos de tamanho 4 e Teste 4 - Resultados - Segmentos de tamanho 4, Teste 5 - Avaliando a invariância 79

16 Introdução CAPÍTULO 1 Com 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ível no mundo. Equipamentos eletrônicos como celulares, Personal digital assistants (PDA s), computadores, cada vez mais baratos e ao alcance da população, permitem que praticamente qualquer 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 a ter ainda mais importância. Na sociedade do conhecimento e da informação, as pessoas precisam 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 novas tecnologias para a organização, classificação, recuperação e processamento dessa informação. O cérebro humano apresenta uma grande capacidade de reconhecer informações graficamente e possui mecanismos bastante eficientes para reconhecer e interpretar imagens. Se comparada à capacidade humana, a tecnologia atualmente disponível é muito incipiente para a construção de sistemas computacionais que analisem imagens digitalizadas e recuperem informações a partir delas. Isso causa uma grande distinção entre o que um indivíduo pode reconhecer de uma imagem e o que pode ser esperado de um sistema computacional que tente fazer este reconhecimento. Esta distinção é comumente conhecida 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 tarefas realizadas 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 processamento de imagens possuem extrema dependência do sistema ao qual ele está associado, não existindo 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 o armazenamento de objetos e a sua recuperação automática. Esses objetos podem estar disponíveis sob a forma de textos, sons, imagens, vídeo, entre outros. Entre as atividades

17 15 desenvolvidas pode-se citar a busca por informações nesses objetos, a busca pelos objetos propriamente ditos, busca por metadados que descrevam os objetos e busca em banco de dados. As aplicações para imagens digitais vêm se destacando nas linhas de pesquisa. O formato digital fornece grande facilidade para armazenamento e manipulação de imagens. Com este crescimento, surge naturalmente a necessidade de se estabelecer técnicas que permitam uma melhor manipulação destes conteúdos. As primeiras técnicas propostas baseavam-se na busca mediante uma descrição textual das imagens. Esta proposta logo se deparou com duas grandes dificuldades: a necessidade de muito trabalho manual para representar imagens na forma de texto e a subjetividade da percepção humana [30]. Tradicionalmente, recuperar desenhos (ou imagens) é uma tarefa lenta, complexa e 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 para as técnicas tradicionais de recuperação da informação, de forma a atender essa nova necessidade incluindo informação visual contida nas imagens. Essa linha de pesquisa é conhecida como Recuperação de Imagens Baseado em Conteúdo - Content-Based Image Retrieval (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 seu conteúdo. Um Sistema CBIR necessita extrair informações, a partir de uma imagem, que possa 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 venham a caracterizar seu conteúdo. Para isso utilizam-se principalmente dados primitivos como cor, textura, forma ou uma combinação das mesmas [63], [8]. A área de recuperação de imagens por conteúdo tem proporcionado um avanço considerável no campo de visão computacional. Esse avanço é atribuído à necessidade de se administrar grande quantidades de dados e imagens. À medida que cresce o volume de imagens armazenadas, cresce também o interesse por sistemas capazes de recuperar informações visuais de maneira eficiente e com grau de automação maior [82]. Em [59] o autor classifica as pesquisas em CBIR em três tipos: recuperação por desenho (esboço): o usuário esboça uma imagem aproximada daquilo que ele deseja recuperar; recuperação por exemplos (QBE - Query By Example): o usuário fornece uma imagem de exemplo, similar àquela que ele deseja recuperar; busca parametrizada: o usuário fornece parâmetros de busca que descrevam a imagem, como: "buscar imagens com 50% de azul, 20% de amarelo e 30% de verde".

18 16 Nos sistemas CBIR, as imagens são representadas, normalmente, através de um vetor 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 a imagem. 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 de características, ou um conjunto de atributos, que: reduza a dimensão dos dados, ressalte os aspectos mais significativos da imagem, e seja invariante a alguns tipos de transformação na imagem. Durante o processo de busca, o sistema deve trabalhar diretamente com o vetor de características e não com a imagem. As técnicas de recuperação utilizadas em CBIR consideram a informação visual da imagem e não apenas uma simples descrição textual da mesma. De fato, existe certo nível de subjetividade em se caracterizar uma imagem pelo seu conteúdo, visto que diferentes especialistas podem estar interessados em diferentes aspectos de uma mesma imagem [8]. Com a expansão do uso de dispositivos com tinta digital na educação, a Recuperação por Esboços (ou Sketch Retrieval) apresenta um vasto campo de pesquisa para o desenvolvimento de sistemas para uso didático. O cenário abaixo foi adaptado de [34] e, embora ainda futurista, ilustra uma situaçã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, em um SmartBoard na frente da turma, um fluxograma e explica seu funcionamento. Ele desenha este fluxograma de forma natural, insere algumas informações como entrada e clica no botão executar. Passo-a-passo esta entrada é processada dentro do fluxograma 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ções em seus tablet pcs. Os alunos então utilizam e testam o fluxograma criado pelo professor em seus próprios laptops ; alteram as entradas e também alteram o fluxograma; eles assistem a simulação dos seus próprios fluxogramas, ajudando no entendimento e aprendizado desses novos conceitos. O teste e a manipulação destes fluxogramas 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 alunos alterem o fluxo de execução, alterem as entradas do fluxograma ou até mesmo criem novos fluxogramas. Assim que cada aluno estiver satisfeito com sua solução, o mesmo envia seu trabalho pela rede para seu professor. Cada solução recebida é automaticamente testada e classificada como certa ou errada. Os grupos são exibidos ao instrutor no seu próprio tablet pc. O professor, então, pode selecionar uma submissão errada e exibí-la no SmartBoard. Ele testa o fluxograma fornecendo uma certa entrada e acompanha a simulação de seu funcionamento. O erro é então detectado

19 1.1 Fluxogramas 17 e o professor questiona seus alunos sobre possíveis correções a serem feitas. Quando a aula termina os alunos deixam a sala com um entendimento completo do que são fluxogramas e seu funcionamento, enquanto o professor recebe um feedback sobre o grau de aprendizado de seus alunos sobre fluxogramas." Desenhar um fluxograma e simular o seu funcionamento mantém os alunos motivados e aplicados durante o processo de aprendizagem dentro da sala de aula. O reconhecimento de esboços pode ser utilizado para interpretar os desenhos feitos e fazer com que o fluxograma ganhe vida. De acordo com [34], sistemas para reconhecimento de 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 ao professor um feedback imediato Embora aplicações para o reconhecimento de imagens vêm sendo desenvolvidas para 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 bem específico, como auxiliar no processo de ensino e aprendizagem de algoritmos 1.1 Fluxogramas A aprendizagem de algoritmos é considerada fundamental em cursos da área computacional. 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 de algoritmos é considerada desafiadora em virtude de possuir um alto índice de problemas de aprendizagem, desistências e reprovações [71]. Fluxograma é um tipo de diagrama ou uma representação gráfica de um determinado processo ou fluxo de trabalho, e pode ser entendido como uma representação esquemática de um processo, muitas vezes feito através de gráficos que ilustram de forma descomplicada a transição de informações entre os elementos que o compõem [40]. Na prática, pode ser visto como a documentação dos passos necessários para a execução de uma 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

20 1.1 Fluxogramas 18 processo em questão. Ele é composto, geralmente, de figuras geométricas normalizadas e linhas unindo essas figuras geométricas. Como exposto em [3], o uso de fluxogramas para o ensino de programação se deve 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 em computação do que o próprio código. É sabido que o ser humano tem mais habilidade para interpretar um algoritmo usando formas visuais do que código fonte. Isso se deve ao fato que o hemisfério esquerdo do cérebro processa informação oral e lógica, enquanto o hemisfério direito processa informação visual e espacial. Assim, a chave para tornar o ensino de algoritmos mais acessível está em utilizar aspectos visuais e textuais estimulando ambos os hemisférios do cérebro [3]. Existem estudos que comprovam que o ser humano consegue gravar melhor uma mensagem, quando esta é acompanhada de imagens: em [19], o autor verificou que estudantes iniciantes em algoritmos cometem menos erros, têm maior confiança e resolvem problemas representados por algoritmos simples e médios mais rapidamente, quando utilizam fluxogramas, em [79], o autor verificou que o uso de fluxogramas leva a uma diminuição dos erros 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ílos em 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 de fluxogramas.

21 1.2 Objetivo 19 Figura 1.1: Exemplos de formas presentes em fluxogramas 1.2 Objetivo Reconhecimento de esboços é uma área emergente no campo da computação que utiliza interfaces baseadas em canetas digitais e busca tornar a interação homemcomputador mais 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 escrever textos manuscritos diretamente sobre a tela. Sistemas para o reconhecimento de sketches podem ter um efeito pedagógico profundo e facilitar o processo de ensino [36]. Diagramas gráficos são importantes em vá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 de imagens baseado na sua forma. As imagens são esboços de formas geométricas contidas em fluxogramas, criadas naturalmente pelo usuários com a utilização de tinta digital. Ele faz parte de um projeto maior e servirá como ponto de partida para o desenvolvimento de um sistema de geração de código automático a partir de fluxogramas expressados pelo usuário. Neste sistema maior, um fluxograma esboçado pelo usuário poderá ser

22 1.3 Justificativa 20 interpretado, executado e convertido em código fonte específico. 1.3 Justificativa A tecnologia de tinta digital está cada vez mais presente nos equipamentos eletrônicos: celulares, notebooks, computadores pessoais, tablet PC s, entre outros. Sua grande vantagem é permitir uma forma de comunicação mais natural entre homem e máquina. Os fluxogramas constituem uma boa ferramenta para que alunos possam representar e visualizar algoritmos durante o processo de aprendizagem. Uma ferramenta que permita a utilização de tinta digital durante a elaboração de fluxogramas é muito interessante para disciplinas de Introdução à Computação. Para a criação de uma ferramenta que permita o reconhecimento e a interpretação de fluxogramas, primeiro é necessário o desenvolvimento de um método que reconheça as diferentes estruturas (ou formas geométricas) presentes nos fluxogramas. Durante os estudos iniciais deste trabalho, não foram encontrados sistemas que abordavam o reconhecimento de formas geométricas presentes em fluxogramas. Entre os sistemas estudados, o Sistema LADDER [35] mostrou-se o mais promissor por trabalhar diretamente com tinta digital, mas sua utilização não foi possível dada a indisponibilidade do mesmo. Este sistema permite a definição e o reconhecimento de formas a partir de uma linguagem própria que, por sua vez, permite a especificação de formas em um domí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 intensidade da 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 pelo usuá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 ao reconhecimento de formas geométricas contidas em fluxogramas, desenhadas usando tinta digital, optou-se por desenvolver um método específico para este domínio. Foi desenvolvido um método para o reconhecimento e especificação das formas geométricas, justificando, portanto, o projeto descrito neste trabalho 1.4 Metodologia O estudo em questão foi dividido em diversas etapas, que juntas, integram o 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

23 1.5 Estrutura da Dissertação 21 reconhecimento de padrões, indexação e recuperação de imagens, mais especificamente sobre o problema de reconhecimento de esboços. Uma vez levantadas as técnicas mais utilizadas, partiu-se para o desenvolvimento de um método que permitisse o reconhececimento de formas. São formas geométricas contida em fluxogramas, e o reconhecimento é feito sobre formas isoladas, ou seja, o fluxograma deve estar segmentado. Tendo desenvolvido o método, o próximo passo era a sua validação. Para testá-lo uma massa de dados foi criada. Alguns usuários desenharam em um tablet pc, utilizando tinta digital, várias formas geométricas similares aquelas presentes nos fluxogramas. Estas imagens 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, a avaliaçã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 os experimentos realizados, e com a apresentação de possíveis trabalhos futuros. 1.5 Estrutura da Dissertação Este trabalho é dividido em sete capítulos. Neste primeiro capítulo encontram-se as considerações iniciais e os objetivos do trabalho. No segundo capítulo é feita uma breve introdução sobre o que é o Processamento de Imagens. Alguns conceitos elementares e algumas das técnicas utilizadas neste trabalho são abordadas. No terceiro capítulo apresentam-se alguns Trabalhos Relacionados que, direta ou indiretamente, serviram como fonte de inspiração para esta dissertação. Exemplos de sistemas 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ção de formas. No quinto capítulo apresenta-se o projeto desenvolvido. Temas como: o escopo do trabalho, a utilização da tinta digital, o sistema desenvolvido, o método utilizado, e a extraçã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 imagens para o teste, como a avaliação do método proposto foi feita e, por fim, os resultados obtidos. Para finalizar, no sétimo capítulo, as conclusões e sugestões de trabalhos futuros são apresentados.

24 Processamento de Imagens Digitais CAPÍTULO 2 Processamento de imagem é qualquer forma de processamento de dados no qual a entrada são imagens tais como fotografias, quadros de um vídeo ou desenhos feito por um usuário [1]. Ao contrário do tratamento de imagens, que preocupa-se somente na 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 ou reconhecimento de padrões. A visão é o nosso sentido mais aguçado, logo imagens têm um papel muito importante na nossa percepção do mundo. Uma imagem pode ser definida como uma função bi-dimensional, f(x,y), onde x e y são coordenadas espaciais e a amplitude de f nos 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 Imagem Os conteúdos visuais extraídos de uma imagem são também chamados de descritores das imagens, e são utilizados para representá-las e indexá-las. Dependendo do 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 dentro do contexto da aplicação. A recuperação da imagem está baseada na similaridade das características extraídas a partir destes atributos. O objetivo principal é aumentar/destacar os aspectos da imagem que sejam relevantes para a pesquisa sendo feita e minimizar/descartar os aspectos restantes. Dentro desta filosofia, pode-se descrever o conteúdo de uma imagem através de sua cor, forma ou estrutura visual (layout).

25 2.1 Descritores de Conteúdo da Imagem Cor Também referida como descritor de conteúdo cromático, a cor é a característica visual mais utilizada para a indexação e recuperação de imagens em CBIR s [74]. Existem diferentes 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 um histograma de cores. De acordo com [17] grande parte dos trabalhos de extração de características baseadas em distribuição de cores estão concentrados no histograma de cor. Computacionalmente, este histograma é uma estrutura unidimensional, que armazena o número de ocorrências de cada possível valor cromático em uma imagem. O tamanho desta estrutura deve ser igual ao número de cores possíveis no espaço cromático utilizado para 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 cada cor. Os histogramas de cor são invariantes à translação e rotação da imagem, sendo que com 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 muito grande se a imagem contém um número muito alto de cores Textura A 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ças na intensidade da imagem que formam determinados padrões repetitivos, já que para os autores de [88] não existe uma deifinição clara do que seja textura. De uma forma genérica, pode-se considerar que texturas são padrões visuais complexos compostos por padrõ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 de uma única cor ou intensidade de cores. É uma propriedade visual de praticamente todas as superfícies, como nuvens, cabelo, pele, árvores, rochas, etc De acordo com [30], as texturas de uma imagem também podem ser descritas através de histogramas. Para a criação destes histogramas, a imagem é inicialmente convertida para representação em escala de cinza. Depois desta conversão é aplicado um algoritmo de detecção de bordas, como o Algoritmo de Canny, um método amplamente utilizado na detecção de bordas de imagens digitais. Depois da detecção das bordas da imagem descrita em tons de cinza obtem-se uma imagem binária. Nesta imagem os pixels pretos correspondem aos pontos da imagem onde foi caracterizada a presença de

26 2.1 Descritores de Conteúdo da Imagem 24 uma borda, provavelmente resultante de um contraste com o plano de fundo descrito na imagem, ou seja, onde houve mudança de textura. Segundo [52], modelos computacionais que utilizam textura podem ser agrupados em três categorias: estrutural, estatístico e espectral. Modelos estruturais caracterizam texturas de acordo com o relacionamento local entre pixels da imagem, ou seja, lidam com o arranjo espacial de primitivas estruturais. Modelos estatísticos organizam as texturas de acordo com medidas estatísticas de características visuais, tais como grossura, granularidade, regularidade, entre outros. E, por fim, modelos espectrais caracterizam textura como propriedades da transformada de Fourier ou nos resultados de filtragem das texturas por filtros apropriados. A Figura 2.1 apresenta alguns exemplos de textura. Figura 2.1: Exemplos de texturas visuais Sua principal vantagem no processo de reconhecimento é de definir os limites de um objeto, bem como identificar o relacionamento entre os objetos e o ambiente em que estão inseridos. Assim como no caso das cores, um grande problema enfrentado é o da dimensionalidade do vetor de características [77] que pode acabar ficando muito elevado tornando a recuperação mais lenta Forma Assim como a cor e a textura, a forma também é muito importante no processo de identificação e reconhecimento de um objeto. É possível identificar diferentes objetos em 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 o objeto de busca [78]. A Figura 2.2 exibe alguns exemplos de formas de imagens. Figura 2.2: Exemplos de formas

27 2.2 Pixel 25 Apesar da sua importância, a recuperação baseada em forma não é simples. Na verdade, em sistemas CBIR, o atributo forma é o que apresenta maior dificuldade quando usado na recuperação de imagens [77]. Existe uma variedade de técnicas propostas na literatura para representação de formas. 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 uma dessas abordagens uma nova divisão pode ser feita: se primitivas tais como segmentos e figuras geométricas são utilizadas, considera-se uma abordagem estrutural; no caso da forma ser tratada como um todo, a abordagem é considerada global. Dentro dessas abordagens vários descritores podem ser enumerados. A seção 4 aprofunda, um pouco mais nesta divisão. Deve-se levar em conta a necessidade de métodos que possuam invariância a mudanças de orientação (rotação e translação) bem como a variações de escala, pois objetos semelhantes, mas com tamanhos diferentes devem ser considerados similares independente de seu tamanho. 2.2 Pixel Uma imagem digital é composta de um número finito de elementos, cada um contendo uma localização particular e um valor. Esses elementos que compõem a imagem digital são chamados de "Picture elements" ou pixels. Um pixel é o elemento básico de uma imagem. A representação mais conhecida para 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 da imagem digital. A Figura 2.3 ilustra esta notação.

28 2.2 Pixel 26 Figura 2.3: Representação dos pixels de uma imagem digital [31] Esta notação permite que uma imagem digital seja representada como uma matriz MxN. Cada elemento que compoe a matriz representa o valor de cada pixel em sua posição específica. Figura 2.4: Representação matricial de uma imagem digital A forma mais comum para o pixel é a forma retangular ou quadrada que possui dimensões finitas na representação de uma imagem. Normalmente, as imagens são organizadas na forma de uma matriz de pixels com simetria quadrada. Um problema direto desta organização é que um pixel não apresenta as mesmas propriedades em todas as direções, por exemplo, ele é anisotrópico (é a característica que uma substância possui em que uma certa propriedade física varia com a direção). Esta propriedade faz com que um pixel tenha 4 (quatro) vizinhos de borda e 4 (quatro) vizinhos de diagonal. De acordo com [1], temos dois tipos de conectividades: D4 (considerando apenas os vizinhos de 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) possui dois vizinhos na horizontal e dois vizinhos na vertical, representados por: (x+1,y), (x-1,y), (x,y+1), (x,y-1)

29 2.3 Transformadas e Filtros 27 Caso seja adotada a conectividade D8, além dos vizinhos horizontais e verticais tem-se mais 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 um pixel e seus vizinhos é igual a 1 (um), se for um vizinho de borda, ou 2 (raiz quadrada de dois), se for um vizinho de diagonal. 2.3 Transformadas e Filtros Transformadas são operações realizadas sobre uma imagem para obtenção de uma 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 ou CMKY para o padrão de tons de cinza. - Convolve: é uma operação espacial onde se aplica uma máscara sobre a imagem. Ela é composta de uma série de iterações e em cada passo a máscara é sobreposta a um grupo de pixels da imagem. Cada pixel da imagem é multiplicado pelo pixel que o sobrepõ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). Esta operação não afeta os pixels da borda da imagem, pois ela utiliza pixels vizinhos para calcular o pixel resultante. Os filtros são modos de se manipular as matrizes de pixels para se obter informações desejadas ou eliminar aquelas informações que prejudicam o correto funcionamento da aplicação. Basicamente, uma máscara é uma pequena matriz em que seus coeficientes determinam a natureza do processo a que se aplicam. Eles se baseiam em uma matriz de convolução, que é uma matriz responsável por definir, para cada elemento, como este se relaciona com os seus vizinhos. O valor de cada pixel da imagem obtida após a filtragem será determinado, então, como resultado das operações definidas pela matriz de convoluçã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édia A figura 2.5 ilustra o processo de aplicação de um filtro sobre uma imagem.

30 2.4 Histograma 28 Figura 2.5: Aplicação de um filtro sobre uma matriz de pixels [31] 2.4 Histograma Um histograma é uma função h(rk) = nk, onde r é o valor do pixel e nk é o nú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 pixels na imagem, denotado por n [31]. Desta forma, um histograma normalizado é dado pela Equação 2-1 e a soma de todos os seus componentes é igual a 1 (um). p(rk) = nk n (2-1)

31 2.5 Região de Interesse Região de Interesse Outro conceito importante é o de Região de Interesse (ROI - Region Of Interest ). 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 uma determinada região da imagem e desconsiderar todo o restante. 2.6 Passos Fundamentais no Processamento de Imagens Digitais A figura 2.6 é uma simplificação feita a partir de [31] e ilustra os passos fundamentais presentes em um Sistema de Processamento de Imagens Digitais: Figura 2.6: Passos fundamentais no processamento de imagens digitais [31] O primeiro passo no processo é a aquisição da imagem, isto é, adquirir uma imagem digital. Após a obtenção de uma imagem digital, o próximo passo trata de préprocessar aquela imagem. A função chave no pré-processamento é realçar as características de interesse e ocultar ou minimizar as características contidas na imagem que não são relevantes ao sistema, ou seja, melhorar a imagem de forma a aumentar as chances para o sucesso dos processos seguintes. Um exemplo típico de pré-processamento envolve técnicas para 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 entrada em partes ou objetos constituintes. Em geral, a segmentação automática é uma das tarefas mais difíceis no processamento de imagens digitais. Um processo de segmentação

32 2.7 Conclusão 30 robusto é essencial para o bom desempenho do sistema, favorecendo uma solução bem sucedida. Algoritmos de segmentação fracos ou erráticos quase sempre prejudicam o funcionamento 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 buscar distinguir objetos distintos. A saída do estágio de segmentação é constituída tipicamente por dados em forma de pixels, correspondendo tanto à fronteira de uma região como a todos os pontos dentro da mesma. Em ambos os casos é necessário converter os dados para uma forma adequada ao processamento computacional. A representação por fronteira é adequada quando o interesse se concentra nas características da forma externa, tais como cantos ou pontos de inflexão. A representação por região é adequada quando o interesse se concentra em propriedades internas, tais como textura ou a forma do objeto. A escolha de uma representação é apenas parte da solução para transformar os dados iniciais numa forma adequada para o subseqüente processamento computacional. Um método para descrever os dados também deve ser especificado, de forma que as características de interesse sejam enfatizadas. O processo de descrição, também chamado seleção de características, procura extrair caracteristicas que resultem em alguma informaçã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 seu descritor. A interpretação envolve a atribuição de significado a um conjunto de objetos reconhecidos. 2.7 Conclusão Neste capítulo foram apresentadas algumas técnicas comumente utilizadas no processamento de imagens digitais. O objetivo não foi fazer uma revisão completa sobre o assunto, mas apenas elucidar alguns conceitos importantes sobre este tema que foram fundamentais para o desenvolvimento deste trabalho e para compreensão do mesmo.

33 Trabalhos Relacionados CAPÍTULO 3 Diariamente, equipamentos civis e militares geram gigabytes de imagens [74]. Com esse crescimento das bases de imagens, devido às inovações tecnológicas, tornou-se necessário manter algum tipo de mecanismo de indexação e recuperação desse conteúdo visual. 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ção textual, quando aplicadas no reconhecimento de imagens, não têm obtido bons resultados. Por isso, pesquisadores de várias partes do mundo vêm trabalhando em novos métodos de busca para serem aplicados nas imagens. Ao longo das últimas décadas, tentativas ambiciosas foram feitas no desenvolvimento de sistemas que permitissem às máquinas reconhecer e recuperar imagens das mais variadas fontes. Em [22] foram discutidas as principais contribuições relacionadas à recuperação de imagens feitas na última década. As características, ou feições, que compõem uma imagem formam a base dos Sistemas CBIR. Dentro do escopo de características visuais, pode-se classificá-las como caracterí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 um uma distinção entre os domínios das aplicações de CBIR: domínios restritos (narrow domains): é um domínio limitado em que a variabilidade das imagens é previsível em todos os aspectos. Ou seja, o conjunto das imagens é conhecido. Normalmente possuem pequeno gap semântico 1, o que favorece a utilização de modelos específicos ao domínio em questão. domínios abertos (broad domains): é um domínio em que a variabilidade das imagens é ilimitado e imprevisível. Em alguns casos a imagem é composta de vários 1 É a diferença entre características de baixo nível, extraídas da imagem, e o alto nível da informação necessária para o usuário. Ou seja, é a diferença entre o que o usuário necessita e as características extraídas da imagem [28].

34 3.1 Reconhecimento de Formas 32 objetos distintos e complica a interpretação do seu conteúdo. Em outros, o conteúdo da imagem pode ter várias interpretações. As características da imagem e os métodos utilizados para recuperar, reconhecer e 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 é dado na forma do esboço desenhado. Informações como cor e textura não são relevantes durante o processo de reconhecimento. 3.1 Reconhecimento de Formas A forma é um atributo chave nas regiões segmentadas de imagens, e sua representação possui um papel muito importante em todo o processo de reconhecimento. Em geral, as representações utilizadas para forma de uma imagem podem ser divididas em 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 dos grupos. Dependendo da natureza da aplicação, deve-se utilizar representações da forma que sejam invariantes a translação, rotação, escala e espelhamento. Durante o levantamento bibliográfico foram encontrados vários trabalhos relacionados ao reconhecimento de formas e reconhecimento de esboços, evidenciando a importância deste tema. Em [84] é apresentado um estudo comparativo da performance das representações baseadas na borda (Chain Code, Fourier Descriptor, UNL Fourier Descriptor), representações baseadas em regiões (Moments Invariants, Zernike Moments, Pseudo-Zernike Moments) e representações combinadas. Para a identificação de formas dentro de imagens, a segmentação é um processo muito importante. Embora um processo de segmentação como o feito pelo cérebro humano esteja longe de ser alcançado, algumas ténicas de segmentação podem ser encontradas em [22]. A segmentação é um processo de suma importância no que diz respeito ao entendimento de uma imagem. Após a detecção das bordas, a forma de um objeto pode ser identificada. Medidas como área, excentricidade (ex: o raio do maior e menor eixo), circularidade (ex: proximidade do círculo de área igual), assinatura da forma (shape signature - uma seqüência de distâncias dos pontos das bordas ao centro), curvatura (a velocidade em que os contornos das bordas são alterados), entre outros, são frequentemente utilizadas [5]. Com a disseminação de equipamentos que utilizam tinta digital, uma nova linha de pesquisa para o reconhecimento de formas tem atraído a atenção de pesquisadores. A

35 3.1 Reconhecimento de Formas 33 possiblidade de integrar o reconhecimento de esboços e as interfaces de usuário vem se tornando uma tendência nos sistemas modernos. Nesse sentido, o LADDER [35] ganhou grande destaque porque foi a primeira linguagem para descrição de formas. Ele pode ser utilizado para descrever como formas e grupos de formas são desenhados, editados e exibidos, e também é o primeiro protótipo implementado que permite a criação automática de 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 gerar automaticamente as interfaces de usuário a partir de descrições LADDER. Seu objetivo é permitir que professores criem sistemas de reconhecimento de esboços para serem utilizados 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 faz seu esboço. Cada traço (conjunto de pontos entre os eventos pendown-penup) feito pelo usuá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ém armazena apenas as alterações de direção. Em [8], os autores apresentam um método que utiliza a forma e a textura para o reconhecimento de imagens médicas. Ele realiza segmentação baseada na textura, onde cada textura distinta é representada por uma classe e os pixels da mesma classe constituem uma região de textura homogênea. As características que definem uma imagem são obtidas extraindo-se, de cada uma das regiões homogêneas, as seguintes medidas: o centro da massa da região, a massa da região, dispersão e a média e variância da região. A desvantagem 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 fornecida como 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, utilizando informaçõ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 das características. No trabalho apresentado em [12], saliências em um objeto são utilizadas para o reconhecimento e recuperação de imagens. A forma de um objeto é particionada em

36 3.2 Sistemas 34 segmentos, de acordo com as saliências desse objeto. Cada segmento é analisado e indexado 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 feito pelo 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 em pequenos blocos e cada um desses blocos é comparado aqueles blocos calculados a partir do 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. Cada um dos símbolos desenhados é armazenado internamente como modelos binários. Para superar o problema da invariância à rotação, os modelos binários armazenados como coordenadas cartesianas são transformados para uma representação em coordenadas polares. Outros trabalhos também merecem ser mencionados, entre eles pode-se citar as técnicas para recuperação de imagens por conteúdo apresentadas em [27] e [69], o sistema SOUSA [43] e os métodos para reconhecimentos de esboços apresentados em [38], [25], [64] e [50]. 3.2 Sistemas Entre os sistemas comercias, para recuperação de imagens através de seu conteúdo, de acordo com [74] os mais importantes são: QBIC O QBIC (Query By Image Content) é o primeiro sistema comercial para recuperação de imagens baseado em conteúdo [74]. Foi desenvolvido pela IBM 2 (International Business Machines) e trata-se de um sistema que permite a criação e consultas em grandes Bancos de Dados de Imagens baseadas no conteúndo visual das imagens, utilizando características como porcentagem de cor, layout das cores e texturas que ocorrem dentro da imagem. Estas consultas utilizam as propriedades visuais das imagens, de maneira que o usuário pode combinar cores, texturas e suas posições, sem ter que descrevê-las textual- 2

37 3.2 Sistemas 35 mente. As consultas baseadas em conteúdo ainda podem ser combinadas com predicados textuais 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 de vídeo) e um objeto é uma parte da cena. Após a identificação dos objetos, o QBIC calcula as características de cada objeto da imagem. Ele utiliza conjuntos de características que capturam 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, pois requer uma pessoa para desenhar os limites da região usando um mouse. As informações da 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 ilustram o funcionamento deste sistema: ele interpreta a tela de desenho como uma grade de áreas coloridas e, em seguida, busca imagens que possuam cores correspondentes à grade inserida durante a consulta. A figura 3.1 ilustra essas demostrações. Figura 3.1: Demonstrações da utilização do QBIC Infelizmente 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 em Virage O 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. Os usuários são capazes de buscar imagens com as seguintes primitivas: Cor (a impressão de 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 de forma gerais dos objetos na imagem)

38 3.2 Sistemas 36 A indexação é realizada após diversas operações de pré-processamento, tais como, suavizar e enfatizar contrastes. Cada rotina de extração primitiva toma uma imagem pré-processada e, dependendo das propriedades da imagem, calcula um conjunto específico de dados para aquela primitiva. Um vetor com os dados primitivos computados é armazenado em uma estrutura de dados própria para futuras consultas PhotoBook Em [66], os autores descrevem o Sistema PhotoBook como um conjunto de ferramentas 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údo da imagem ao invés de depender de anotações textuais. As imagens podem ser pesquisadas de três maneiras: pela aparência (distribuição de 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 as descrições textuais, para proporcionar uma navegação sofisticada e aumentar o poder de pesquisa. Em [5] o autor cita algumas aplicações desenvolvidas com esta ferramenta, entre elas: sistema para reconhecimento facial, recuperação de imagem por similaridade da textura e anotação semi-automática baseada em rótulos fornecidos pelo usuário VisualSEEk O VisualSEEk [85] é um sistema híbrido que integra indexação de imagem baseada em conteúdo (cor e textura) e em propriedades espaciais (como tamanho, localização e relações com outras regiões). A integração confia na representação de regiões através de um conjunto de cores. Inicialmente o usuário fornece um conjunto de cores para o sistema de extração de regiões. Em seguida, os conjuntos de cores são facilmente indexados para a recuperação de imagens com um conjunto de cores semelhantes. Desta forma, as imagens são comparadas através de suas regiões. Além disto, o sistema permite que o usuário controle a seleção das regiões e defina quais parâmetros são mais importantes durante a consulta por similaridade. O projeto do VisualSEEk enfatiza diversos objetivos únicos a fim de melhorar a recuperaçã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

39 3.3 Conclusão desenvolvimento de técnicas para indexação e recuperação rápida e 5. desenvolvimento de ferramentas altamente funcionais para o usuário. Este sistema foi desenvolvido pela Universidade de Columbia Conclusão Analisando estes sistemas de recuperação de imagens, pode-se notar que existe uma preocupação crescente quanto ao aumento descontrolado do volume de imagens digitais, devido ao desenvolvimento tecnológico e maior acessibilidade dos meios. Isto tem 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 é a determinação de um conjunto de características que possa fornecer uma boa performance na classificação das imagens para uma recuperação adequada. A este conjunto de características devem-se os diferentes tipos de sistemas encontrados na literatura. Não foi encontrado, no decorrer do desenvolvimento deste trabalho, nenhum sistema direcionado para o reconhecimento de formas geométricas contidas em fluxogramas. Grande parte das técnicas encontradas utilizam descritores como: histograma de intensidade da 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 descritores não fornecem bons resultados quando a entrada são segmentos lineares desenhados pelo usuá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 professores e alunos em sala de aula, mas não pode ser utilizado por não estar disponível. Desta forma, surge a necessidade de se desenvolver um método simples para o reconhecimento de formas geométricas contidas em fluxogramas desenhados pelo usuário. O método proposto está descrito no Capítulo

40 Técnicas de Representação de Formas CAPÍTULO 4 A forma é uma característica visual muito importante para a descrição e reconhecimento de uma imagem. Porém, descrever o conteúdo de uma forma não é uma tarefa simples [41]. Durante o desenvolvimento do MPEG-7, seis requisitos foram definidos para descrição de uma forma: recuperação precisa, características compactas, ampla aplicabilidade, baixa complexidade computacional, boa performance de recuperação e representação hierárquica. Em [41] o autor apresenta uma classificação das técnicas de recuperação de formas. A Figura 4.1 ilustra esta divisão. Figura 4.1: Métodos para representação de forma Resumidamente existem dois grandes grupos de abordagens: baseada em contorno versus 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 feita a partir de suas características de borda. Além disso, os métodos baseados em contorno geralmente envolvem menos processamento que os baseados em região. Entretanto, tam-

41 4.1 Baseada no contorno 39 bém são mais facilmente afetados por ruídos e variações na forma, pois se utilizam de menos informação. Os descritores baseados em região são, geralmente, mais robustos e independentes da aplicação. Porém, envolvem um maior processamento dos descritores e necessitam de mais espaço para armazenamento. 4.1 Baseada no contorno Existem 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 descrever a forma um vetor de característica derivado de toda a borda da forma é utilizado. Na abordagem 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 é uma string ou um grafo descrevendo a forma Métodos globais Métodos globais para representação do contorno de uma forma geralmente computam um vetor de características multidimensional a partir das informações extraídas da borda. 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 sua forma. 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ção deve ser a mais compacta possível para facilitar a busca e a comparação. Descritores globais são compactos, porém, são menos precisos. Eles podem ser combinados com outros descritores de forma para criar descritores úteis dentro de um cenário prático. Descritores de forma simples Os descritores globais mais simples para representar uma forma são: área, circularidade (perímetro/área), ecentricidade (eixo maior/eixo menor), orientação do eixo maior e bending energy. Devido a simplicidade desses descritores eles servem apenas para diferenciar formas com grandes dissimilaridades, por isso eles são normalmente utilizados para filtragem ou combinados com outros descritores para diferenciar entre as formas. Se utilizados sozinhos, não oferecem bons resultados. Assinatura da forma Este método representa uma forma como uma função uni-dimensional derivada a partir dos pontos de sua borda. Existem vários tipos de assinaturas: coordenadas com-

42 4.1 Baseada no contorno 40 plexas (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 sobre o assunto. A grande vantagem desta técnica é que são, geralmente, invariantes à translação e à escala. E a grande desvantagem é que são muito sensíveis aos ruídos, pequenas alterações na borda podem causar grandes diferenças durante a comparação. Boundary Moments São utilizados para reduzir a dimensão da representação das bordas. Em [87], esta técnica é descrita em mais detalhes. Elastic matching Em [13] é proposta o elastic matching para a recuperação de imagens baseada na forma. Nesta técnica um modelo deformável é gerado a partir da soma do modelo original e do coeficiente de deformação. Esta técnica não é adequada para processamento e recuperação online, devido ao seu custo computacional e a complexidade no processo de comparação. Stochastic Method Modelos 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 Method A representação scale space de uma forma é criada a partir dos pontos de inflexão 1 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"para descriçã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ção entre dois ramos das árvores de comparação dos contornos. Para cada comparação, o 1 Os pontos de inflexão de uma curva são os pontos em que a curva passa de côncava a convexa, ou de convexa a côncava.

43 4.1 Baseada no contorno 41 contorno é redimensionado e rotacionado para ser comparado. O método descreve e compara objetos ou imagens utilizando o seu contorno fechado. Em [2], o autor afirma que o CSS é confiável e bastante robusto em relação a ruído, escala e mudanças de orientação. Trasformações espectrais Descritores espectrais superam o problema de sensibilidade ao ruído e variações na borda através da análise espectral do domínio da forma. Descritores espectrais incluem Fourier Descriptors (FD) e Wavelet Descriptor (WD), que são geralmente derivados de transformaçõ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 normalizar facilitando a tarefa de comparação entre as formas, captura tanto características globais quanto locais. FD também minimiza o efeito dos ruídos. É uma técnica simples de implementar e o descritor resultante é compacto Métodos Estruturais Nesta abordagem, a borda da forma e dividida em vários segmentos chamados de primitivas. Os diversos métodos existentes diferem entre si pela seleção e organização das primitivas para a representação da forma. A maior vantagem desta abordagem é a capacidade de lidar com problemas de oclusã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 que seria a forma de um objeto, logo a quantidade de primitivas necessárias para definir cada forma é desconhecida não captura características globais da forma que, frequentemente, são importantes para representação e reconhecimento da forma falta de robustez. Isto porque os métodos estruturais não preservam a estrutura do objeto, logo variações nas extremidades do objeto causam mudanças significativas na sua estrutura. Representação Chain-Code Também conhecida com Freeman Code, esta técnica foi apresentada inicialmente por [29] e consiste em segmentos de linhas sobrepostos em uma grade de tamanho fixo e um conjunto de possíveis orientações. Apenas o ponto incial é representado

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

45 4.1 Baseada no contorno 43 Polygon Decomposition Em [33], a borda da forma é quebrada em segmentos lineares através da aproximação poligonal. Os vértices do polígono são utilizados como primitivas. As características para cada primitiva são expressas como uma string de quatro elementos: o ângulo interno, distância para o próximo vértice, e as coordenadas x e y. Desta forma esta característica não é invariante quanto a translação, escala e rotação. As características são então organizadas em uma estrutura de árvore. O matching entre as formas é feito em duas etapas: característica-a-característica na primeira etapa e modelo-a-modelo (forma-a-forma) na segunda etapa. No primeiro passo, dado um conjunto de características de uma forma, cada característica é procurada dentro da árvore de índice. Se um modelo similar for encontrado, uma lista com as formas associadas a esse modelo é recuperada. No segundo passo, a comparação é feita entre a forma de consulta e a lista recuperada através da comparação entre suas strings de primitivas. Smooth curve decomposition Em [12], os pontos de curvatura obtidos através das bordas suavizadas pelos filtros Gaussianos são utilizados para obtenção das primitivas chamadas tokens. A característica para cada token é a curvatura máxima e a orientação, e a similaridade entre dois tokens é medida através da distância Euclidiana. Como a característica inclui a orientação da curva, esta técnica não é invariante quanto à rotação. Dada uma forma para consulta, a recuperação ocorre em duas etapas. O primeiro passo é a recuperação do token: para cada um dos N tokens presentes na forma de consulta, os tokens similares são encontrados percorrendo a árvore de índices N vezes. O conjunto de tokens recuperados possuindo os mesmos identificadores formam o conjunto de candidatas. O segundo passo é comparar a forma de consulta e as formas candidatas atravé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 utilizados por cada forma. Curvature-tuned Smoothing Nesta abordagem, as primitivas são obtidas a partir da técnica de "curvaturetuned smoothing", obtendo um conjunto de segmentos. Cada descritor de segmento possui seu comprimento, posição ordinal e ajuste de curvatura, obtidos a partir de cada uma das primitivas. Então uma string de descritores de segmentos é formada para descrever a forma. A comparação é feita através da utilização de um algoritmo de programação dinâmica.

46 4.1 Baseada no contorno 44 Syntatic Analysis Este 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]. Nesses métodos, a forma é representada por um conjunto de primitivas pré-definidas. Este conjunto de primitivas pré-definidas é chamado de codebook e as primitivas são chamadas de codewords. Por exemplo, as codewords no lado direito da Figura 4.3, forma presente no lado esquerdo da Figura 4.3 poderia ser representada da seguinte maneira: S = dbabcbabdbabcbab. Figura 4.3: Syntatic Analysis A comparação entre as formas é feita a partir da comparação de strings, encontrando o menor número de alterações para converter uma string na outra. Estas técnicas são baseadas na teoria da Linguagem Formal desenvolvida por Chomsky 2. Shape invariants Shape Invariants representam uma forma como um conjunto de primitivas baseadas nas informações extraídas a partir de sua borda. As invariantes são nomeadas de acordo com o número de características utilizadas para sua definição. Uma invariante de ordem um é definida com uma única característica: invariante unária; uma invariante de 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) e 2

47 4.2 Baseada na região 45 diferenciais (curvatura, torção e Curvatura Gaussiana). Invariantes geométricas e algébricas são úteis em contextos onde as bordas podem ser representadas por linhas retas ou curvas algébricas. Caso contrário, invariantes diferenciais devem ser utilizadas. 4.2 Baseada na região Nos métodos baseados em região, todos os pixels dentro da região ocupada pela imagem são considerados durante o processo de representação da forma Métodos Globais Métodos globais consideram a forma integralmente e sua representação é feita com 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 pela forma, diminuindo assim o efeito do ruído e suas variações. Geometric Moment Invariants Em [42] foi publicado o primeiro trabalho sobre a utilização de Geométric Moments Invariants (Momentos Geométricos Invariantes) para o reconhecimento de padrões bidimensionais. Utilizando combinações não-lineares de momentos de baixa ordem, um conjunto de momentos invariantes também chamados de momentos geométricos, os quais possuem as propriedades de serem invariantes a translação, rotação e escala, podem ser recuperados. O maior problema deste método é que invariantes de ordem mais alta são difíceis de derivar e existem poucas invariantes derivadas a partir de momentos de baixa ordem, não sendo suficientemente precisos para descrever uma forma. Grid Based Method Descritores de forma baseados em grade foram propostos em [53]. Basicamente, um grid com um número determinado de células é sobreposto à imagem e percorrido da esquerda para direita e de cima para baixo. O resultado é um bitmap. As células cobertas pela forma recebem valor 1 (um) e as demais valor 0 (zero). A forma pode, então, ser representada com um vetor de características binário. Para medir a similaridade entre duas 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 ser lida. A forma é redimensionada dentro de um retângulo de tamanho fixo, deslocada para o canto superior esquerdo deste retângulo e rotacionada de forma que o eixo maior da forma fique na horizontal. Figuras espelhadas e invertidas devem ser tratadas separadamente.

48 4.2 Baseada na região 46 As 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 utilizada no MPEG-4. No entanto, sua principal desvantagem é o alto custo computacional. Shape Matrix Os métodos tradicionais para tratamento de formas utilizam um grid para obter as informações necessárias. Isso gera representações que normalmente não são invariantes quanto a escala, rotação e translação. Logo um processo extra de normalização se torna necessá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 matriz quadrada sobre a imagem, é utilizado um raster polar de círculos concêntricos com linhas radiais partindo do centro de massa da imagem. O valor binário representando a forma é 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 radiais correspondam à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 da forma é muito esparsa. Além da comparação entre duas formas ser computacionalmente cara Métodos Estruturais Os 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 Hull Uma região R é convexa se, e somente se, para dois pontos x1,x2 R, toda linha ligando x1 e x2 estiver contida dentro de R. O convex hull de uma região é a menor região convexa H que satisfaça a condição R H. Em outras palavras, objetivo é determinar o menor polígono que englobe um determinado conjunto de pontos. A Figura 4.4 ilustra o processo de segmentação utilizado neste método:

49 4.3 Conclusão 47 Figura 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ência convexa que tem um pequeno componente influenciando as bordas. Medial Axis Assim como o método Convex Hull, um esqueleto da região pode ser utilizado para representar e descrever a forma. O esqueleto pode ser definido como um conjunto de 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 sobre a estrutura do objeto que favoreçam o processo de reconhecimento. Os métodos de squeleton são representados pelos métodos de medial axis transformation. 4.3 Conclusão Neste capítulo foram apresentadas algumas técnicas utlizadas para a representação de formas. Dentro do escopo deste projeto, o esboço desenhado pelo usuário nada mais é do que um contorno da forma geométrica contida dentro de um fluxograma. Para o 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, utilizando tinta 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écnica de Chain Code como base para o método proposto. Sua escolha se justifica por causa de suas 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 e limitações, para o reconhecimento de formas, serão superadas com a utilização de outras características extraídas a partir do esboço desenhado (ver Seção 5.7.4).

50 O Projeto CAPÍTULO 5 Processar uma imagem consiste em transformá-la, sucessivamente, com o objetivo de extrair a informação nela presente que seja relevante à aplicação. Há tempos sabe-se que uma imagem pode representar ideias, ações, sentimentos até melhor do que palavras [77]. A informação tida como relevante depende diretamente da aplicação que a está manipulando. Reconhecer um esboço feito, manualmente, pelo usuário é equivalente a buscar formas que sejam, em algum critério, similares ao esboço feito. Trabalhar diretamente com uma imagem para indexação e recuperação é muito caro computacionalmente, logo a extração de características que definam a imagem e a representem em uma forma mais compacta se torna necessário. Elaborar sistemas CBIR, que sejam rápidos e eficientes, é uma tarefa desafiadora, e pesquisadores frequentemente devem escolher entre performance ou precisão [48]. De acordo com [18], uma das características mais importantes para a representação do conteúdo visual de uma imagem é a forma do objeto. Infelizmente, como exposto em [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 conjunto de 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 Sketch Também conhecido como esboço, ou rascunho, é um desenho feito pelo próprio usuário do sistema. São imagens informais criadas manualmente com o intuito de resolver um determinado problema ou ilustrar alguma situação. Pode ser feito de várias maneiras diferentes, variando de pessoa para pessoa. Isto é, assim como na escrita, cada pessoa tem características particulares que se refletem no esboço. Além disso, o esboço está sujeito

51 5.1 O Sketch 49 a ruídos, que surgem da inabilidade da pessoa em desenhar com precisão linhas retas e curvas. A principal vantagem na utilização de esboços é permitir uma comunicação mais natural entre o homem e os sistemas computacionais [65] e, por isso, tem ganhado popularidade como meio de interação nas interfaces com o usuário. A Figura 5.1 exemplifica alguns exemplos de esboços. Nela estão repesentados três exemplos de três possíveis formas de esboços: quadrado, triângulo e círculo, respectivamente. Figura 5.1: Exemplos de esboços Como 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 este problema é restringir a liberdade no esboço exigindo que restrições sejam aplicadas ao desenho, tornando sua interpretação menos complexa [3]. De acordo com [38], o reconhecimento de esboços é o entendimento automático de uma entrada fornecida manualmente através de tinta eletrônica. As técnicas para o reconhecimento de esboços se dividem em duas categorias: baseada em gestos (gesture-based): permitem alta-precisão, mas exigem que o usuá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 desenharia naturalmente, mas infelizmente a maioria dessas técnicas possui baixa precisão ou exigem muitas restrições para serem úteis. No reconhecimento baseado em gestos, os usuários devem aprender a desenhar cada símbolo, pois a ordem, a direção e o número de traços (strokes) são determinantes

52 5.2 Escopo do projeto 50 para o processo de reconhecimento. A velocidade, as direções inicial e final, e a rotação dos traços também são utilizados para o reconhecimento. A grande vantagem é que no caso do usuário desenhar as formas como foram definidas, a taxa de reconhecimento pode ser alta. A desvantagem é que o usúário tem que aprender como desenhar cada forma. Quando o reconhecimento de desenho livre é utilizado, os usuários podem desenhar como desenhariam naturalmente. A vantagem desta abordagem é permitir que o usuário desenhe livremente, sem restrições. A desvantagem é que a taxa de reconhecimento é modesta. Devido a esta limitação, os sistemas de desenho livre buscam uma abordagem intermediária, liberando algums restrições e mantendo outras. Considere as duas formas presentes na Figura 5.2. Se o reconhecimento por gestos é utilizado, elas são consideradas como formas distintas. Por outro lado, quando reconhecimento de estilo livre é utilizado elas são consideradas como formas similares. Figura 5.2: Formas O método proposto utiliza uma abordagem mista, ou seja, permite que o usuário desenhe naturalmente, porém algumas restrições são impostas. Nas seções seguintes, este assunto será abordado com mais detalhes. 5.2 Escopo do projeto O ambiente proposto permite o reconhecimento de esboços de formas contidas em fluxogramas utilizando tinta digital. Dentro do cenário proposto na introdução deste trabalho, o sistema aqui desenvolvido deve ser capaz de identificar e reconhecer formas geométricas presentes em fluxogramas. Este trabalho é parte de um trabalho maior que pretende reconhecer e gerar código fonte automaticamente a partir de um fluxograma desenhado pelo usuário. Como exemplos temos as imagens presentes na Figura 5.3.

53 5.3 Tinta Digital 51 Figura 5.3: Exemplos de imagens O método utilizado para o reconhecimento deve ser capaz de identificar imagens contendo apenas objetos simples/singulares, ou seja, apenas um único objeto em seu interior e que possuam forma fechada. Esta restrião é feita porque a segmentação do fluxograma 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 seu contexto, torna-se necessário aplicar um método de segmentação que seja mais adequado para o domínio da aplicação. 5.3 Tinta Digital A 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ções muito mais atrativas para seus usuários. Aplicações que utilizam esta tecnologia são, geralmente, mais intuitivas. De acordo com [68], duas abordagens podem ser utilizadas para extrair informações do esboço feito pelo usuário: uma baseada nos traços (stroke-based), e outra baseada na imagem (image-based). Na primeira abordagem, as informações são extraídas de cada stroke individualmente, enquanto na segunda abordagem o conjunto de strokes é agrupado em 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áximo de informação a partir dos dados capturados diretamente dos strokes: a extração das informações é feita no nível dos strokes e as características extraídas são agrupadas durante o processo de recohecimento. Infelizmente a utilização desta abordagem não trouxe ganhos significativos para o método de reconhecimento. Os principais problemas encontrados foram: a utilização de strokes é muito local, ou seja, prejudica a interpretação de características globais da forma, imprevisibilidade da forma como um usuário pode desenhar, maior complexidade para interpretação e reconhecimento da forma.

54 5.3 Tinta Digital 52 Na 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) foram utilizados dois segmentos de strokes para representar um único segmento lógico. Para extrair informações diretamente dos strokes, seria necessário um pré-processamento sobre estes strokes. A ideia do método é permitir que o usuário desenhe livremente. Mas como prever como o desenho será feito? Um lado do quadrado pode ser feito com um único stroke (Figura 5.4-(A)), com vários strokes sobrepostos (Figura 5.4-(B)), ou como uma sequência de strokes (Figura 5.4-(C)). Figura 5.4: Utilização da tinta Algumas vezes dois ou mais segmentos lógicos/semânticos podem ser representados por um único stroke, ou seja, o sistema deve fazer um pré-processamento nesses strokes 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 caso um dos lados de um quadrado. Diferenciar estes dois strokes representando um único objeto e 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 combinados em 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ísticas mais complexo, inviabilizando sua utilização no sistema proposto. Este restultado também foi confirmado no trabalho apresentado em [68]. Devido a dificuldade de trabalhar diretamente no nível dos strokes, foi adotada a abordagem image-based. Tratar os vários strokes como uma imagem única, e não um conjunto de traços individuais, mostrou-se mais viável. Nesta nova abordagem, o primeiro passo é converter a informação, obtida da tinta, em uma imagem binária. Uma maneira de realizar esta conversão é sobrepor uma grade de pixels sobre a imagem, marcar os pixels que forem cobertos pela tinta digital e não marcar os que não se sobrepõem a tinta. Este processo pode ser visto na Figura 5.5:

55 5.4 O Reconhecimento das Formas 53 Figura 5.5: Transformação da tinta para imagem binária Após esta conversão, o método pode ser aplicado diretamente sobre a imagem e as informações necessários para o reconhecimento da forma podem ser extraídas. 5.4 O Reconhecimento das Formas O reconhecimento é o processo no qual o usuário pode especificar sua necessidade de informação, ou seja, desenhar um esboço livremente, e o sistema deve processar esta entrada e exibir o resultado do reconhecimento. Ele é composto das seguintes etapas: formulação da consulta (desenho do esboço), processamento da consulta (tentativa de reconhecimento) e resposta ao usuário. A Figura 5.6 ilustra essas etapas. Figura 5.6: Etapas do Sistema Formulação da consulta Durante a formulação da consulta, é exibida ao usuário uma tela onde o mesmo pode desenhar, livremente, uma forma que representa um elemento do fluxograma. O desenho 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 de processamento da consulta Processamento da consulta O esboço feito pelo usuário é processado e o vetor de característica extraído. Suas características são comparadas às características das várias formas geométricas tratadas pelo sistema.

56 5.5 O Modelo do Sistema Resposta ao usuário Como resposta ao usuário, o sistema exibe o resultado do reconhecimento. Neste trabalho, apenas uma mensagem de texto é exibida informando a forma reconhecida. Após o reconhecimento, várias ações poderiam ser tomadas: beautification (desenhar uma versão melhorada da forma reconhecida), gerar código automático, executar algum aplicativo, entre outras. 5.5 O Modelo do Sistema Na Seção 2.6, foi apresentado um modelo genérico para Sistemas de Processamento de Imagens Digitais. Dependendo da aplicação, algumas etapas podem ser adicionadas ou removidas. Neste sentido, a figura 5.7 ilustra as etapas presentes no sistema aqui proposto: Figura 5.7: Processos em cada uma das etapas 5.6 O Sistema Desenvolvido Para testar o método proposto neste trabalho, um sistema computacional foi implementado. Ele apresenta uma interface de entrada onde o usuário pode desenhar uma forma para ser analisada ou especificar um repositório local (diretório) contendo formas para serem analisadas. A Figura 5.8 exibe a interface do sistema:

57 5.6 O Sistema Desenvolvido 55 Figura 5.8: Interface do Sistema A Figura 5.9 exibe as duas formas de interação com o sistema. Na primeira, o usuá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 de reconhecer e o sistema retorna a lista de imagens e o reconhecimento para cada uma das formas. Figura 5.9: Exemplos da utilização do sistema

58 5.7 O Método de Extração de Características 56 O sistema foi implementado utilizando-se a arquitetura.net 1, com a linguagem CSharp [7] por possuir suporte nativo à utilização de tinta digital 2. Já as imagens foram armazenadas em formato GIF 3 - Graphics Interchange Format (.gif ) por ser um padrão usado largamente na Internet e possui uma boa qualidade combinado com um tamanho relativamente baixo de armazenamento. Outros formatos, como JPEG 4 (Joint Photographic Experts Group) ou PNG 5 (Portable Network Graphics), também podem ser utilizados. O formato GIF é um tipo de arquivo para imagens que trabalha com uma paleta de 256 cores e foi criado pela empresa CompuServe, em Devido a essa característica, o uso do formato GIF é voltado para ícones ou imagens que não precisam de muitas cores. Ele utiliza um formato de compressão que não altera a qualidade da imagem a cada salvamento, como ocorre com o JPEG. Considerando esta forma de compressão juntamente com a capacidade de trabalhar apenas com 256 cores, o GIF consegue criar imagens com tamanho bastante reduzido. 5.7 O Método de Extração de Características Construir 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 da forma, sendo que o mais comum deles é a alteração visual da forma, pois transmite ao usuário uma confirmação de que seu esboço foi reconhecido corretamente. De uma maneira geral, o sistema para o reconhecimento de formas geométricas presentes em fluxogramas, através de esboços feitos pelo usuário, é composto dos seguintes 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, Mais informações em: 4 Mais informações em: 5 Mais informações em:

59 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 desenhado pelo 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 seguido pelo contorno do objeto), Aprimoramento da Cadeia de Contorno e a Extração das Características. Considere a Figura 5.10 como exemplo deste processo: Figura 5.10: Sketch desenhado pelo usuário Pré-processamento da Imagem Nesta etapa o esboço desenhado pelo usuário passa por uma série de transformações para facilitar a extração das suas características e facilitar o seu processamento. Inicialmente o esboço é convertido para uma imagem binária distinguindo-se entre os pixels que compõem a imagem e os pixels de fundo: os pixels desenhados pelo usuário são da cor preta e os demais são brancos. Esta imagem binária é sobreposta por uma grade com células de tamanho fixo (um pixels de largura por um pixels de altura), como na Figura 5.11.

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

61 5.7 O Método de Extração de Características 59 Figura 5.12: Grade - Matriz de pixels Dentro dessa matriz identificam-se os pixels que compõem o contorno do objeto desenhado. Eles são identificados e são marcados como o caractere o. Em seguida aplica-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 do esboço e minimizar algumas lacunas entre os strokes desenhados pelo usuário. Desta maneira, temos: pixels de borda representados pelo caractere o, pixels do interior da imagem representados pelo caractere x e os pixels que não fazem parte da imagem representados pelo caractere -, como visto na Figura 5.13.

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

63 5.7 O Método de Extração de Características 61 A partir da matriz da forma é aplicado o seguinte algoritmo: 1. Percorra a matriz até encontrar o primeiro pixel (o pixel mais à esquerda e na posição mais alta da matriz) e definir este pixel como sendo a posição inicial da cadeia de contorno, 2. A partir deste pixel visite cada um dos seus vizinhos no sentido horário e armazene o 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 o trajeto percorrido. Ou seja, percorrem-se os pixels que compõem a borda do esboço registrando todas as transições deste trajeto. Esta sequência de passos forma uma cadeia de caracteres conhecida como Chain Code (ver Seção 4.1.2). A forma é percorrida no sentido horário, inciando-se do pixel mais à esquerda e mais alto da matriz. A cada transição identifica-se o caminho a partir da posição anterior. A Figura 5.14 exemplifica esse processo: na parte (A) temos as identificações para cada direção, na parte (B) temos um exemplo que como é aplicada o método e código gerado a partir deste contorno. Figura 5.14: Exemplo da utilização do Chain Code O resultado final desta etapa é uma sequência de caracteres, também chamado de código do contorno (ou chain code), que identifica o caminho percorrido através do contorno do objeto. A partir desta sequência de caracteres/transições é que será feito o reconhecimento do objeto desenhado pelo usuário Aprimoramento da Cadeia de Contorno Antes de iniciar o reconhecimento da forma desenhada, algumas simplificações podem ser feitas sobre o código do contorno extraído. Essas simplificações tem como

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

65 5.7 O Método de Extração de Características 63 Figura 5.18: Remoção de transições isoladas - 3 No 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 de transições de mesmo tipo devem ser agupadas. A Figura 5.19 apresenta alguns exemplos: Figura 5.19: Re-agrupamento Na quinta etapa realizam-se simplificações entre transições. Algumas combinações de transições podem ser simplificadas para reduzir as imprecisões nos esboços feitos pelo usuário oriundas de erros de desenho ou erros introduzidos durante a binarização da imagem. A Figura 5.20 exemplifica todas as simplificações diretas feitas entre cadeias de tamanho 2 (dois), ou seja, que envolvem apenas duas transições.

UNIVERSIDADE FEDERAL DE SANTA CATARINA GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA DATA MINING EM VÍDEOS

UNIVERSIDADE FEDERAL DE SANTA CATARINA GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA DATA MINING EM VÍDEOS UNIVERSIDADE FEDERAL DE SANTA CATARINA GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA DATA MINING EM VÍDEOS VINICIUS DA SILVEIRA SEGALIN FLORIANÓPOLIS OUTUBRO/2013 Sumário

Leia mais

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br Introdução O computador como ferramenta indispensável: Faz parte das nossas vidas; Por si só não faz nada de útil; Grande capacidade de resolução

Leia mais

1.1. Organização de um Sistema Computacional

1.1. Organização de um Sistema Computacional 1. INTRODUÇÃO 1.1. Organização de um Sistema Computacional Desde a antiguidade, o homem vem desenvolvendo dispositivos elétricoeletrônicos (hardware) que funciona com base em instruções e que são capazes

Leia mais

Dadas a base e a altura de um triangulo, determinar sua área.

Dadas a base e a altura de um triangulo, determinar sua área. Disciplina Lógica de Programação Visual Ana Rita Dutra dos Santos Especialista em Novas Tecnologias aplicadas a Educação Mestranda em Informática aplicada a Educação ana.santos@qi.edu.br Conceitos Preliminares

Leia mais

Processamento de Imagem. Prof. MSc. André Yoshimi Kusumoto andrekusumoto.unip@gmail.com

Processamento de Imagem. Prof. MSc. André Yoshimi Kusumoto andrekusumoto.unip@gmail.com Processamento de Imagem Prof. MSc. André Yoshimi Kusumoto andrekusumoto.unip@gmail.com Visão Computacional Não existe um consenso entre os autores sobre o correto escopo do processamento de imagens, a

Leia mais

SEGMENTAÇÃO DE IMAGENS EM PLACAS AUTOMOTIVAS

SEGMENTAÇÃO DE IMAGENS EM PLACAS AUTOMOTIVAS SEGMENTAÇÃO DE IMAGENS EM PLACAS AUTOMOTIVAS André Zuconelli 1 ; Manassés Ribeiro 2 1. Aluno do Curso Técnico em Informática, turma 2010, Instituto Federal Catarinense, Câmpus Videira, andre_zuconelli@hotmail.com

Leia mais

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia.

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia. 1 Introdução aos Sistemas de Informação 2002 Aula 4 - Desenvolvimento de software e seus paradigmas Paradigmas de Desenvolvimento de Software Pode-se considerar 3 tipos de paradigmas que norteiam a atividade

Leia mais

UFGD FCA PROF. OMAR DANIEL BLOCO 6 CLASSIFICAÇÃO DE IMAGENS

UFGD FCA PROF. OMAR DANIEL BLOCO 6 CLASSIFICAÇÃO DE IMAGENS UFGD FCA PROF. OMAR DANIEL BLOCO 6 CLASSIFICAÇÃO DE IMAGENS Obter uma imagem temática a partir de métodos de classificação de imagens multi- espectrais 1. CLASSIFICAÇÃO POR PIXEL é o processo de extração

Leia mais

Algoritmos: Lógica para desenvolvimento de programação de computadores. Autor: José Augusto Manzano. Capítulo 1 Abordagem Contextual

Algoritmos: Lógica para desenvolvimento de programação de computadores. Autor: José Augusto Manzano. Capítulo 1 Abordagem Contextual Algoritmos: Lógica para desenvolvimento de programação de computadores Autor: José Augusto Manzano Capítulo 1 Abordagem Contextual 1.1. Definições Básicas Raciocínio lógico depende de vários fatores para

Leia mais

Pesquisa com Professores de Escolas e com Alunos da Graduação em Matemática

Pesquisa com Professores de Escolas e com Alunos da Graduação em Matemática Pesquisa com Professores de Escolas e com Alunos da Graduação em Matemática Rene Baltazar Introdução Serão abordados, neste trabalho, significados e características de Professor Pesquisador e as conseqüências,

Leia mais

Universidade Federal de Goiás Instituto de Informática Processamento Digital de Imagens

Universidade Federal de Goiás Instituto de Informática Processamento Digital de Imagens Universidade Federal de Goiás Instituto de Informática Processamento Digital de Imagens Prof Fabrízzio Alphonsus A M N Soares 2012 Capítulo 2 Fundamentos da Imagem Digital Definição de Imagem: Uma imagem

Leia mais

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software PROCESSO DE DESENVOLVIMENTO DE SOFTWARE Introdução Modelos de Processo de Desenvolvimento de Software Os modelos de processos de desenvolvimento de software surgiram pela necessidade de dar resposta às

Leia mais

CorelDRAW 11 1. UM PROGRAMA DE DESIGN

CorelDRAW 11 1. UM PROGRAMA DE DESIGN CorelDRAW 11 1. UM PROGRAMA DE DESIGN Com o Corel você vai trabalhar com um dos aplicativos mais usados no campo do design e da auto-edição, já que permite operar com dois tipos de gráficos (vetoriais

Leia mais

Curso: Técnico de Informática Disciplina: Redes de Computadores. 1- Apresentação Binária

Curso: Técnico de Informática Disciplina: Redes de Computadores. 1- Apresentação Binária 1- Apresentação Binária Os computadores funcionam e armazenam dados mediante a utilização de chaves eletrônicas que são LIGADAS ou DESLIGADAS. Os computadores só entendem e utilizam dados existentes neste

Leia mais

BANCO DE AULAS E PROJETOS MANUAL DO APLICATIVO

BANCO DE AULAS E PROJETOS MANUAL DO APLICATIVO BANCO DE AULAS E PROJETOS MANUAL DO APLICATIVO APRESENTAÇÃO Este aplicativo possibilita o compartilhamento de planos de aulas e projetos desenvolvidos e/ou aplicados nas unidades educacionais, entre os

Leia mais

Atividade: matrizes e imagens digitais

Atividade: matrizes e imagens digitais Atividade: matrizes e imagens digitais Aluno(a): Turma: Professor(a): Parte 01 MÓDULO: MATRIZES E IMAGENS BINÁRIAS 1 2 3 4 5 6 7 8 Indique, na tabela abaixo, as respostas dos 8 desafios do Jogo dos Índices

Leia mais

ROTEIRO PARA ELABORAÇÃO DE PROJETOS

ROTEIRO PARA ELABORAÇÃO DE PROJETOS APRESENTAÇÃO ROTEIRO PARA ELABORAÇÃO DE PROJETOS Breve histórico da instituição seguido de diagnóstico e indicadores sobre a temática abrangida pelo projeto, especialmente dados que permitam análise da

Leia mais

Lista de verificação (Check list) para planejamento e execução de Projetos

Lista de verificação (Check list) para planejamento e execução de Projetos www.tecnologiadeprojetos.com.br Lista de verificação (Check list) para planejamento e execução de Projetos Eduardo F. Barbosa Dácio G. Moura Material didático utilizado na disciplina Desenvolvimento de

Leia mais

PVANET: PRINCIPAIS FERRAMENTAS E UTILIZAÇÃO DIDÁTICA

PVANET: PRINCIPAIS FERRAMENTAS E UTILIZAÇÃO DIDÁTICA 11 PVANET: PRINCIPAIS FERRAMENTAS E UTILIZAÇÃO DIDÁTICA O PVANet é o ambiente virtual de aprendizagem (AVA) de uso exclusivo da UFV. Os AVAs apresentam diferenças de layout, forma de acesso, funcionamento,

Leia mais

Filtragem. pixel. perfil de linha. Coluna de pixels. Imagem. Linha. Primeiro pixel na linha

Filtragem. pixel. perfil de linha. Coluna de pixels. Imagem. Linha. Primeiro pixel na linha Filtragem As técnicas de filtragem são transformações da imagem "pixel" a "pixel", que dependem do nível de cinza de um determinado "pixel" e do valor dos níveis de cinza dos "pixels" vizinhos, na imagem

Leia mais

MANUAL DO ALUNO PARA NAVEGAR NO AMBIENTE VIRTUAL DE APRENDIZAGEM - AVA

MANUAL DO ALUNO PARA NAVEGAR NO AMBIENTE VIRTUAL DE APRENDIZAGEM - AVA MANUAL DO ALUNO PARA NAVEGAR NO AMBIENTE VIRTUAL DE APRENDIZAGEM - AVA MANUAL DO ALUNO PARA ACESSO AO AMBIENTE VIRTUAL DE APRENDIZAGEM Conteúdo Tela de acesso... 4 Dados de Cadastro... 5 Dados cadastrais...

Leia mais

INOVAÇÃO NA ADVOCACIA A ESTRATÉGIA DO OCEANO AZUL NOS ESCRITÓRIOS JURÍDICOS

INOVAÇÃO NA ADVOCACIA A ESTRATÉGIA DO OCEANO AZUL NOS ESCRITÓRIOS JURÍDICOS INOVAÇÃO NA ADVOCACIA A ESTRATÉGIA DO OCEANO AZUL NOS ESCRITÓRIOS JURÍDICOS Ari Lima Um empreendimento comercial tem duas e só duas funções básicas: marketing e inovação. O resto são custos. Peter Drucker

Leia mais

3 Classificação. 3.1. Resumo do algoritmo proposto

3 Classificação. 3.1. Resumo do algoritmo proposto 3 Classificação Este capítulo apresenta primeiramente o algoritmo proposto para a classificação de áudio codificado em MPEG-1 Layer 2 em detalhes. Em seguida, são analisadas as inovações apresentadas.

Leia mais

Noções de. Microsoft SQL Server. Microsoft SQL Server

Noções de. Microsoft SQL Server. Microsoft SQL Server Noções de 1 Considerações Iniciais Basicamente existem dois tipos de usuários do SQL Server: Implementadores Administradores 2 1 Implementadores Utilizam o SQL Server para criar e alterar base de dados

Leia mais

Aula 3 - Registro de Imagem

Aula 3 - Registro de Imagem 1. Registro de Imagens Aula 3 - Registro de Imagem Registro é uma transformação geométrica que relaciona as coordenadas da imagem (linha e coluna) com as coordenadas geográficas (latitude e longitude)

Leia mais

O futuro da educação já começou

O futuro da educação já começou O futuro da educação já começou Sua conexão com o futuro A 10 Escola Digital é uma solução inovadora para transformar a sua escola. A LeYa traz para a sua escola o que há de mais moderno em educação, a

Leia mais

Universidade Federal de Santa Maria UFSM Centro de Tecnologia CT. Power Point. Básico

Universidade Federal de Santa Maria UFSM Centro de Tecnologia CT. Power Point. Básico Universidade Federal de Santa Maria UFSM Centro de Tecnologia CT Power Point Básico Santa Maria, julho de 2006 O Power Point é um aplicativo do Microsoft Office direcionado à criação de apresentações.

Leia mais

Universidade Federal do Rio de Janeiro - IM/DCC & NCE

Universidade Federal do Rio de Janeiro - IM/DCC & NCE Universidade Federal do Rio de Janeiro - IM/DCC & NCE Processamento de Imagens Tratamento da Imagem - Filtros Antonio G. Thomé thome@nce.ufrj.br Sala AEP/033 Sumário 2 Conceito de de Filtragem Filtros

Leia mais

Treinamento GVcollege Módulo Acadêmico - Pedagógico

Treinamento GVcollege Módulo Acadêmico - Pedagógico Treinamento GVcollege Módulo Acadêmico - Pedagógico 2015 GVDASA Sistemas Pedagógico 2 AVISO O conteúdo deste documento é de propriedade intelectual exclusiva da GVDASA Sistemas e está sujeito a alterações

Leia mais

TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO - TIC 10º C. Planificação de. Curso Profissional de Técnico de Secretariado

TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO - TIC 10º C. Planificação de. Curso Profissional de Técnico de Secretariado Escola Básica e Secundária de Velas Planificação de TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO - TIC Curso Profissional de Técnico de Secretariado 10º C MÓDULO 1 FOLHA DE CÁLCULO Microsoft Excel Conteúdos

Leia mais

A PÁGINA DISCIPLINAR DE MATEMÁTICA DO PORTAL DIA A DIA EDUCAÇÃO

A PÁGINA DISCIPLINAR DE MATEMÁTICA DO PORTAL DIA A DIA EDUCAÇÃO A PÁGINA DISCIPLINAR DE MATEMÁTICA DO PORTAL DIA A DIA EDUCAÇÃO Resumo: Dolores Follador Secretaria de Estado da Educação do Paraná e Faculdades Integradas do Brasil - Unibrasil doloresfollador@gmail.com

Leia mais

ROTEIRO PARA TREINAMENTO DO SAGRES DIÁRIO Guia do Docente

ROTEIRO PARA TREINAMENTO DO SAGRES DIÁRIO Guia do Docente Conceito ROTEIRO PARA TREINAMENTO DO SAGRES DIÁRIO Guia do Docente O Sagres Diário é uma ferramenta que disponibiliza rotinas que facilitam a comunicação entre a comunidade Docente e Discente de uma instituição,

Leia mais

Análise e Projeto Orientados por Objetos

Análise e Projeto Orientados por Objetos Análise e Projeto Orientados por Objetos Aula 02 Análise e Projeto OO Edirlei Soares de Lima Análise A análise modela o problema e consiste das atividades necessárias para entender

Leia mais

15 Computador, projeto e manufatura

15 Computador, projeto e manufatura A U A UL LA Computador, projeto e manufatura Um problema Depois de pronto o desenho de uma peça ou objeto, de que maneira ele é utilizado na fabricação? Parte da resposta está na Aula 2, que aborda as

Leia mais

Lidar com números e estatísticas não é fácil. Reunir esses números numa apresentação pode ser ainda mais complicado.

Lidar com números e estatísticas não é fácil. Reunir esses números numa apresentação pode ser ainda mais complicado. , ()! $ Lidar com números e estatísticas não é fácil. Reunir esses números numa apresentação pode ser ainda mais complicado. Uma estratégia muito utilizada para organizar visualmente informações numéricas

Leia mais

Image Enable: conceito

Image Enable: conceito Image Enable Gestão Eletrônica de Documentos - GED Image Enable: conceito Empresas possuem diversos sistemas para controlar suas operações Sistemas integrados de gestão; Sistemas de Recursos humanos, Contabilidade,

Leia mais

Aula 02 Excel 2010. Operações Básicas

Aula 02 Excel 2010. Operações Básicas Aula 02 Excel 2010 Professor: Bruno Gomes Disciplina: Informática Básica Curso: Gestão de Turismo Sumário da aula: 1. Operações básicas; 2. Utilizando Funções; 3. Funções Lógicas; 4. Gráficos no Excel;

Leia mais

APLICAÇÕES DA DERIVADA

APLICAÇÕES DA DERIVADA Notas de Aula: Aplicações das Derivadas APLICAÇÕES DA DERIVADA Vimos, na seção anterior, que a derivada de uma função pode ser interpretada como o coeficiente angular da reta tangente ao seu gráfico. Nesta,

Leia mais

A lógica de programação ajuda a facilitar o desenvolvimento dos futuros programas que você desenvolverá.

A lógica de programação ajuda a facilitar o desenvolvimento dos futuros programas que você desenvolverá. INTRODUÇÃO A lógica de programação é extremamente necessária para as pessoas que queiram trabalhar na área de programação, seja em qualquer linguagem de programação, como por exemplo: Pascal, Visual Basic,

Leia mais

Aula 01 - Formatações prontas e condicionais. Aula 01 - Formatações prontas e condicionais. Sumário. Formatar como Tabela

Aula 01 - Formatações prontas e condicionais. Aula 01 - Formatações prontas e condicionais. Sumário. Formatar como Tabela Aula 01 - Formatações prontas e Sumário Formatar como Tabela Formatar como Tabela (cont.) Alterando as formatações aplicadas e adicionando novos itens Removendo a formatação de tabela aplicada Formatação

Leia mais

Projeto de Sistemas I

Projeto de Sistemas I Instituto Federal de Educação, Ciência e Tecnologia de São Paulo Projeto de Sistemas I Professora: Kelly de Paula Cunha E-mail:kellypcsoares@ifsp.edu.br Requisitos: base para todo projeto, definindo o

Leia mais

ANDRÉ APARECIDO DA SILVA APOSTILA BÁSICA SOBRE O POWERPOINT 2007

ANDRÉ APARECIDO DA SILVA APOSTILA BÁSICA SOBRE O POWERPOINT 2007 ANDRÉ APARECIDO DA SILVA APOSTILA BÁSICA SOBRE O POWERPOINT 2007 CURITIBA 2015 2 SUMÁRIO INTRODUÇÃO AO MICROSOFT POWERPOINT 2007... 3 JANELA PRINCIPAL... 3 1 - BOTÃO OFFICE... 4 2 - FERRAMENTAS DE ACESSO

Leia mais

Desenvolvimento do Módulo de Pré-processamento e Geração de Imagens de. Imagens de Teste do Sistema DTCOURO

Desenvolvimento do Módulo de Pré-processamento e Geração de Imagens de. Imagens de Teste do Sistema DTCOURO Desenvolvimento do Módulo de Pré-processamento e Geração de Imagens de Teste do Sistema DTCOURO Willian Paraguassu Amorim 27 de julho de 2005 1 Título Desenvolvimento do Módulo de Pré-processamento e Geração

Leia mais

ADM041 / EPR806 Sistemas de Informação

ADM041 / EPR806 Sistemas de Informação ADM041 / EPR806 Sistemas de Informação UNIFEI Universidade Federal de Itajubá Prof. Dr. Alexandre Ferreira de Pinho 1 Sistemas de Apoio à Decisão (SAD) Tipos de SAD Orientados por modelos: Criação de diferentes

Leia mais

Serviço Técnico de Informática. Curso Básico de PowerPoint

Serviço Técnico de Informática. Curso Básico de PowerPoint Serviço Técnico de Informática Curso Básico de PowerPoint Instrutor: Tiago Souza e Silva de Moura Maio/2005 O Microsoft PowerPoint No Microsoft PowerPoint, você cria sua apresentação usando apenas um arquivo

Leia mais

Capítulo 3. Avaliação de Desempenho. 3.1 Definição de Desempenho

Capítulo 3. Avaliação de Desempenho. 3.1 Definição de Desempenho 20 Capítulo 3 Avaliação de Desempenho Este capítulo aborda como medir, informar e documentar aspectos relativos ao desempenho de um computador. Além disso, descreve os principais fatores que influenciam

Leia mais

Versão 6.0.1 Melhorias Melhorias Versão 6.0.1

Versão 6.0.1 Melhorias Melhorias Versão 6.0.1 Versão 6.0.1 Novembro 2010 Versão 6.0.1 Funcionalidade Completa de Planejamento do Trabalho Através dessa funcionalidade o usuário pode planejar quais tarefas e quanto tempo destinará para trabalhar em

Leia mais

COLÉGIO ESTADUAL PAULO LEMINSKI APOSTILA SOBRE O BROFFICE IMPRESS

COLÉGIO ESTADUAL PAULO LEMINSKI APOSTILA SOBRE O BROFFICE IMPRESS COLÉGIO ESTADUAL PAULO LEMINSKI APOSTILA SOBRE O BROFFICE IMPRESS CURITIBA 2014 2 Conteúdo Definição:... 2 Detalhando a tela:... 4 BARRA DE FERRAMENTAS DESENHO... 4 PREENCHIMENTOS... 5 RÉGUAS E GUIAS...

Leia mais

DEPARTAMENTO DE MATEMÁTICA E CIÊNCIAS EXPERIMENTAIS

DEPARTAMENTO DE MATEMÁTICA E CIÊNCIAS EXPERIMENTAIS DEPARTAMENTO DE MATEMÁTICA E CIÊNCIAS EXPERIMENTAIS Planificação Anual da Disciplina de TIC Módulos 1,2,3-10.ºD CURSO PROFISSIONAL DE TÉCNICO DE APOIO À GESTÃO DESPORTIVA Ano Letivo 2015-2016 Manual adotado:

Leia mais

Novas Tecnologias no Ensino de Física: discutindo o processo de elaboração de um blog para divulgação científica

Novas Tecnologias no Ensino de Física: discutindo o processo de elaboração de um blog para divulgação científica Novas Tecnologias no Ensino de Física: discutindo o processo de elaboração de um blog para divulgação científica Pedro Henrique SOUZA¹, Gabriel Henrique Geraldo Chaves MORAIS¹, Jessiara Garcia PEREIRA².

Leia mais

Introdução ao Aplicativo de Programação LEGO MINDSTORMS Education EV3

Introdução ao Aplicativo de Programação LEGO MINDSTORMS Education EV3 Introdução ao Aplicativo de Programação LEGO MINDSTORMS Education EV3 A LEGO Education tem o prazer de trazer até você a edição para tablet do Software LEGO MINDSTORMS Education EV3 - um jeito divertido

Leia mais

Prof. Marcelo Henrique dos Santos

Prof. Marcelo Henrique dos Santos POR QUE ESTUDAR COMPUTAÇÃO GRÁFICA? Quem quiser trabalhar em áreas afins: Entretenimento Jogos e filmes Visualização Simulação de fenômenos físicos Arte computadorizada Educação e treinamento Processamento

Leia mais

LÓGICA DE PROGRAMAÇÃO

LÓGICA DE PROGRAMAÇÃO Todos direitos reservados. Proibida a reprodução, mesmo parcial, por qualquer processo mecânico, eletrônico, reprográfico, etc., sem a autorização, por escrito, do(s) autor(es) e da editora. LÓGICA DE

Leia mais

Abordagem de Processo: conceitos e diretrizes para sua implementação

Abordagem de Processo: conceitos e diretrizes para sua implementação QP Informe Reservado Nº 70 Maio/2007 Abordagem de Processo: conceitos e diretrizes para sua implementação Tradução para o português especialmente preparada para os Associados ao QP. Este guindance paper

Leia mais

CONCURSO PÚBLICO ANALISTA DE SISTEMA ÊNFASE GOVERNANÇA DE TI ANALISTA DE GESTÃO RESPOSTAS ESPERADAS PRELIMINARES

CONCURSO PÚBLICO ANALISTA DE SISTEMA ÊNFASE GOVERNANÇA DE TI ANALISTA DE GESTÃO RESPOSTAS ESPERADAS PRELIMINARES CELG DISTRIBUIÇÃO S.A EDITAL N. 1/2014 CONCURSO PÚBLICO ANALISTA DE GESTÃO ANALISTA DE SISTEMA ÊNFASE GOVERNANÇA DE TI RESPOSTAS ESPERADAS PRELIMINARES O Centro de Seleção da Universidade Federal de Goiás

Leia mais

TUTORIAL DO ALUNO. Olá, bem vindo à plataforma de cursos a distância da Uniapae!!!

TUTORIAL DO ALUNO. Olá, bem vindo à plataforma de cursos a distância da Uniapae!!! TUTORIAL DO ALUNO Olá, bem vindo à plataforma de cursos a distância da Uniapae!!! O Moodle é a plataforma de ensino a distância utilizada pela Uniapae sendo a unidade de ensino para rápida capacitação

Leia mais

SISTEMA DE E-LEARNING. efaculdade MANUAL DO ALUNO

SISTEMA DE E-LEARNING. efaculdade MANUAL DO ALUNO SISTEMA DE E-LEARNING efaculdade MANUAL DO ALUNO Conteúdo Tela de acesso... 2 Dados de Cadastro... 3 Dados cadastrais... 3 Alterar meu email... 4 Alterar minha senha... 4 Minha agenda... 5 Lista de cursos...

Leia mais

ISO/IEC 12207: Gerência de Configuração

ISO/IEC 12207: Gerência de Configuração ISO/IEC 12207: Gerência de Configuração Durante o processo de desenvolvimento de um software, é produzida uma grande quantidade de itens de informação que podem ser alterados durante o processo Para que

Leia mais

Microsoft Office PowerPoint 2007

Microsoft Office PowerPoint 2007 INTRODUÇÃO AO MICROSOFT POWERPOINT 2007 O Microsoft Office PowerPoint 2007 é um programa destinado à criação de apresentação através de Slides. A apresentação é um conjunto de Sides que são exibidos em

Leia mais

Design Web - Percepção. Elisa Maria Pivetta

Design Web - Percepção. Elisa Maria Pivetta Design Web - Percepção Elisa Maria Pivetta GESTALT Percepção Visual Elisa Maria Pivetta Percepção visual No sentido da psicologia e das ciências cognitivas é uma de várias formas de percepção associadas

Leia mais

Feature-Driven Development

Feature-Driven Development FDD Feature-Driven Development Descrição dos Processos Requisitos Concepção e Planejamento Mais forma que conteúdo Desenvolver um Modelo Abrangente Construir a Lista de Features Planejar por

Leia mais

Disciplina: Programas de Edição de Textos Professora: Érica Barcelos

Disciplina: Programas de Edição de Textos Professora: Érica Barcelos Disciplina: Programas de Edição de Textos Professora: Érica Barcelos CAPÍTULO 4 4. RECURSOS PARA ILUSTRAÇÕES Uma característica que difere os processadores de textos dos editores é a possibilidade de gerar

Leia mais

Transformada de Hough. Cleber Pivetta Gustavo Mantovani Felipe Zottis

Transformada de Hough. Cleber Pivetta Gustavo Mantovani Felipe Zottis Transformada de Hough Cleber Pivetta Gustavo Mantovani Felipe Zottis A Transformada de Hough foi desenvolvida por Paul Hough em 1962 e patenteada pela IBM. Originalmente, foi elaborada para detectar características

Leia mais

29/08/2011. Radiologia Digital. Princípios Físicos da Imagem Digital 1. Mapeamento não-linear. Unidade de Aprendizagem Radiológica

29/08/2011. Radiologia Digital. Princípios Físicos da Imagem Digital 1. Mapeamento não-linear. Unidade de Aprendizagem Radiológica Mapeamento não-linear Radiologia Digital Unidade de Aprendizagem Radiológica Princípios Físicos da Imagem Digital 1 Professor Paulo Christakis 1 2 Sistema CAD Diagnóstico auxiliado por computador ( computer-aided

Leia mais

Arquitetura de Rede de Computadores

Arquitetura de Rede de Computadores TCP/IP Roteamento Arquitetura de Rede de Prof. Pedro Neto Aracaju Sergipe - 2011 Ementa da Disciplina 4. Roteamento i. Máscara de Rede ii. Sub-Redes iii. Números Binários e Máscara de Sub-Rede iv. O Roteador

Leia mais

Cinco principais qualidades dos melhores professores de Escolas de Negócios

Cinco principais qualidades dos melhores professores de Escolas de Negócios Cinco principais qualidades dos melhores professores de Escolas de Negócios Autor: Dominique Turpin Presidente do IMD - International Institute for Management Development www.imd.org Lausanne, Suíça Tradução:

Leia mais

Sistema Banco de Preços Manual do Usuário OBSERVATÓRIO

Sistema Banco de Preços Manual do Usuário OBSERVATÓRIO Sistema Banco de Preços Manual do Usuário OBSERVATÓRIO da Despesa Pública 1 Sumário O Banco de Preços... 3 Acessando o Banco de Preços... 4 Funções do Banco de Preços... 5 Gerar Preço de Referência...

Leia mais

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES 3.1 - IDENTIFICADORES Os objetos que usamos no nosso algoritmo são uma representação simbólica de um valor de dado. Assim, quando executamos a seguinte instrução:

Leia mais

Metodologia de Gerenciamento de Projetos da Justiça Federal

Metodologia de Gerenciamento de Projetos da Justiça Federal Metodologia de Gerenciamento de Projetos da Justiça Federal Histórico de Revisões Data Versão Descrição 30/04/2010 1.0 Versão Inicial 2 Sumário 1. Introdução... 5 2. Público-alvo... 5 3. Conceitos básicos...

Leia mais

3. Arquitetura Básica do Computador

3. Arquitetura Básica do Computador 3. Arquitetura Básica do Computador 3.1. Modelo de Von Neumann Dar-me-eis um grão de trigo pela primeira casa do tabuleiro; dois pela segunda, quatro pela terceira, oito pela quarta, e assim dobrando sucessivamente,

Leia mais

MÓDULO 9 METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMAS

MÓDULO 9 METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMAS MÓDULO 9 METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMAS O termo metodologia não possui uma definição amplamente aceita, sendo entendido na maioria das vezes como um conjunto de passos e procedimentos que

Leia mais

O SOFTWARE EUCLIDEAN REALITY AUXILIANDO NA CONSTRUÇÃO DO TEOREMA DE PITÁGORAS

O SOFTWARE EUCLIDEAN REALITY AUXILIANDO NA CONSTRUÇÃO DO TEOREMA DE PITÁGORAS O SOFTWARE EUCLIDEAN REALITY AUXILIANDO NA CONSTRUÇÃO DO TEOREMA DE PITÁGORAS Vânia de Moura Barbosa Secretaria de Educação do Estado de Pernambuco vanibosa@terra.com.br Introdução Um dos primeiros questionamentos

Leia mais

Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008

Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008 Tabela de Símbolos Análise Semântica A Tabela de Símbolos Fabiano Baldo Após a árvore de derivação, a tabela de símbolos é o principal atributo herdado em um compilador. É possível, mas não necessário,

Leia mais

PR 2 PROCEDIMENTO. Auditoria Interna. Revisão - 2 Página: 1 de 9

PR 2 PROCEDIMENTO. Auditoria Interna. Revisão - 2 Página: 1 de 9 Página: 1 de 9 1. OBJETIVO Estabelecer sistemática de funcionamento e aplicação das Auditorias Internas da Qualidade, fornecendo diretrizes para instruir, planejar, executar e documentar as mesmas. Este

Leia mais

6 Modelo proposto: projeto de serviços dos sites de compras coletivas

6 Modelo proposto: projeto de serviços dos sites de compras coletivas 6 Modelo proposto: projeto de serviços dos sites de compras coletivas A partir do exposto, primeiramente apresentam-se as fases discriminadas no modelo proposto por Mello (2005), porém agora direcionadas

Leia mais

AULA 1 Iniciando o uso do TerraView

AULA 1 Iniciando o uso do TerraView 1.1 AULA 1 Iniciando o uso do TerraView Essa aula apresenta a interface principal do TerraView e sua utilização básica. Todos os arquivos de dados mencionados nesse documento são disponibilizados junto

Leia mais

Guia Site Empresarial

Guia Site Empresarial Guia Site Empresarial Índice 1 - Fazer Fatura... 2 1.1 - Fazer uma nova fatura por valores de crédito... 2 1.2 - Fazer fatura alterando limites dos cartões... 6 1.3 - Fazer fatura repetindo última solicitação

Leia mais

Processos de gerenciamento de projetos em um projeto

Processos de gerenciamento de projetos em um projeto Processos de gerenciamento de projetos em um projeto O gerenciamento de projetos é a aplicação de conhecimentos, habilidades, ferramentas e técnicas às atividades do projeto a fim de cumprir seus requisitos.

Leia mais

Trabalho 2 Fundamentos de computação Gráfica

Trabalho 2 Fundamentos de computação Gráfica Trabalho 2 Fundamentos de computação Gráfica Processamento de Imagens Aluno: Renato Deris Prado Tópicos: 1- Programa em QT e C++ 2- Efeitos de processamento de imagens 1- Programa em QT e C++ Para o trabalho

Leia mais

2. Representação Numérica

2. Representação Numérica 2. Representação Numérica 2.1 Introdução A fim se realizarmos de maneira prática qualquer operação com números, nós precisamos representa-los em uma determinada base numérica. O que isso significa? Vamos

Leia mais

2 Diagrama de Caso de Uso

2 Diagrama de Caso de Uso Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Diagrama de Caso de Uso (Use Case) Autoria:Aristófanes Corrêa

Leia mais

Manual do Ambiente Moodle para Professores

Manual do Ambiente Moodle para Professores UNIVERSIDADE FEDERAL DA FRONTEIRA SUL Manual do Ambiente Moodle para Professores Tarefas Versão 1.0b Setembro/2011 Direitos Autorais: Essa apostila está licenciada sob uma Licença Creative Commons 3.0

Leia mais

Pesquisa e organização de informação

Pesquisa e organização de informação Pesquisa e organização de informação Capítulo 3 A capacidade e a variedade de dispositivos de armazenamento que qualquer computador atual possui, tornam a pesquisa de informação um desafio cada vez maior

Leia mais

Cálculo de volume de objetos utilizando câmeras RGB-D

Cálculo de volume de objetos utilizando câmeras RGB-D Cálculo de volume de objetos utilizando câmeras RGB-D Servílio Souza de ASSIS 1,3,4 ; Izadora Aparecida RAMOS 1,3,4 ; Bruno Alberto Soares OLIVEIRA 1,3 ; Marlon MARCON 2,3 1 Estudante de Engenharia de

Leia mais

Interface Homem-Computador

Interface Homem-Computador Faculdade de Ciências e Tecnologia do Maranhão Interface Homem-Computador Aula: Engenharia Cognitiva e Semiótica Professor: M.Sc. Flávio Barros flathbarros@gmail.com Conteúdo Engenharia Cognitiva Fundamentos

Leia mais

Conforme explicado em 2.4.3, o sinal de voz x(n) às vezes é alterado com a adição de ruído r(n), resultando num sinal corrompido y(n).

Conforme explicado em 2.4.3, o sinal de voz x(n) às vezes é alterado com a adição de ruído r(n), resultando num sinal corrompido y(n). 4 Wavelet Denoising O capítulo 3 abordou a questão do ruído durante a extração dos atributos as técnicas do SSCH e do PNCC, por exemplo, extraem com mais robustez a informação da voz a partir de um sinal

Leia mais

Índice: CMS 3 O que é Content Management System? Clientes 4 O que é o Cliente? 4 Configurando o i-menu/i-view para trabalhar. com o CMS.

Índice: CMS 3 O que é Content Management System? Clientes 4 O que é o Cliente? 4 Configurando o i-menu/i-view para trabalhar. com o CMS. Índice: CMS 3 O que é Content Management System? Clientes 4 O que é o Cliente? 4 Configurando o i-menu/i-view para trabalhar com o CMS. 5 Removendo o Cliente. Playlist 7 Criando um Playlist. 8 Adicionando

Leia mais

Concepção e Elaboração

Concepção e Elaboração UNIVERSIDADE ESTADUAL PAULISTA INSTITUTO DE BIOCIÊNCIAS, LETRAS E CIÊNCIAS EXATAS DEPARTAMENTO DE CIÊNCIAS DE COMPUTAÇÃO E ESTATÍSTICA Análise e Projeto Orientado a Objetos Concepção e Elaboração Estudo

Leia mais

&XUVRGH,QWURGXomRDR (GLWRUGH3ODQLOKDV([FHO

&XUVRGH,QWURGXomRDR (GLWRUGH3ODQLOKDV([FHO Universidade Federal de Viçosa Departamento de Informática &XUVRGH,QWURGXomRDR (GLWRUGH3ODQLOKDV([FHO Flaviano Aguiar Liziane Santos Soares Jugurta Lisboa Filho (Orientador) PROJETO UNESC@LA Setembro de

Leia mais

Dispositivos de Entrada e Saída

Dispositivos de Entrada e Saída Dispositivos de Entrada e Saída Prof. Márcio Bueno {cgtarde,cgnoite}@marciobueno.com Fonte: Material do Prof. Robson Pequeno de Sousa e do Prof. Robson Lins Dispositivos de Entrada Teclado, Mouse, Trackball,

Leia mais

Guia de Acesso Rápido AVA Ambiente Virtual de Aprendizagem Aluno

Guia de Acesso Rápido AVA Ambiente Virtual de Aprendizagem Aluno Guia de Acesso Rápido AVA Ambiente Virtual de Aprendizagem Aluno Introdução O Ambiente de Aprendizagem, ou AVA, é um aplicativo web onde os educadores e alunos podem disponibilizar materiais didáticos,

Leia mais

Sistema de Gestão de Freqüência. Manual do Usuário

Sistema de Gestão de Freqüência. Manual do Usuário Serviço Público Federal Universidade Federal da Bahia Centro de Processamento de Dados Divisão de Projetos / SGF Sistema de Gestão de Freqüência Sistema de Gestão de Freqüência Manual do Usuário Descrição

Leia mais

ÍNDICE... 2 INTRODUÇÃO... 4

ÍNDICE... 2 INTRODUÇÃO... 4 Mic crosoft Excel 201 0 ÍNDICE ÍNDICE... 2 INTRODUÇÃO... 4 Interface... 4 Guias de Planilha... 5 Movimentação na planilha... 6 Entrada de textos e números... 7 Congelando painéis... 8 Comentários nas Células...

Leia mais

Novell. Novell Teaming 1.0. novdocx (pt-br) 6 April 2007 EXPLORAR O PORTLET BEM-VINDO DESCUBRA SEU CAMINHO USANDO O NOVELL TEAMING NAVIGATOR

Novell. Novell Teaming 1.0. novdocx (pt-br) 6 April 2007 EXPLORAR O PORTLET BEM-VINDO DESCUBRA SEU CAMINHO USANDO O NOVELL TEAMING NAVIGATOR Novell Teaming - Guia de início rápido Novell Teaming 1.0 Julho de 2007 INTRODUÇÃO RÁPIDA www.novell.com Novell Teaming O termo Novell Teaming neste documento se aplica a todas as versões do Novell Teaming,

Leia mais

DIMENSIONANDO PROJETOS DE WEB-ENABLING. Uma aplicação da Análise de Pontos de Função. Dimensionando projetos de Web- Enabling

DIMENSIONANDO PROJETOS DE WEB-ENABLING. Uma aplicação da Análise de Pontos de Função. Dimensionando projetos de Web- Enabling DIMENSIONANDO PROJETOS DE WEB-ENABLING Uma aplicação da Análise de Pontos de Função Dimensionando projetos de Web- Enabling Índice INTRODUÇÃO...3 FRONTEIRA DA APLICAÇÃO E TIPO DE CONTAGEM...3 ESCOPO DA

Leia mais

PERGUNTAS MAIS FREQÜENTES FEITAS PELO ALUNO. 1. O que são as Atividades Complementares de Ensino do NED-ED?

PERGUNTAS MAIS FREQÜENTES FEITAS PELO ALUNO. 1. O que são as Atividades Complementares de Ensino do NED-ED? PERGUNTAS MAIS FREQÜENTES FEITAS PELO ALUNO 1. O que são as Atividades Complementares de Ensino do NED-ED? O Centro Universitário de Goiás (Uni-Anhangüera) estabeleceu no início letivo de 2006 que todo

Leia mais

Gestão da Qualidade por Processos

Gestão da Qualidade por Processos Gestão da Qualidade por Processos Disciplina: Gestão da Qualidade 2º Bimestre Prof. Me. Patrício Vasconcelos adm.patricio@yahoo.com.br Gestão da Qualidade por Processos Nas empresas, as decisões devem

Leia mais