CORRESPONDÊNCIA DE PONTOS EM IMAGENS

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

Download "CORRESPONDÊNCIA DE PONTOS EM IMAGENS"

Transcrição

1 CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DE MINAS GERAIS CURSO DE ENGENHARIA DE COMPUTAÇÃO CORRESPONDÊNCIA DE PONTOS EM IMAGENS PARA AUTOCALIBRAÇÃO DE CÂMERAS CRISTIANO FRAGA GUIMARÃES NUNES Orientador: Prof. Dr. Flávio Luis Cardeal Pádua Centro Federal de Educação Tecnológica de Minas Gerais CEFET-MG Coorientador: Prof. Msc. Darlan Nunes de Brito Universidade Federal de Ouro Preto UFOP BELO HORIZONTE AGOSTO DE 2014

2

3 CRISTIANO FRAGA GUIMARÃES NUNES CORRESPONDÊNCIA DE PONTOS EM IMAGENS PARA AUTOCALIBRAÇÃO DE CÂMERAS Trabalho de Conclusão de Curso apresentado ao Curso de Engenharia de Computação do Centro Federal de Educação Tecnológica de Minas Gerais como requisito parcial para obtenção do grau de Engenheiro de Computação. Orientador: Coorientador: Prof. Dr. Flávio Luis Cardeal Pádua Centro Federal de Educação Tecnológica de Minas Gerais CEFET-MG Prof. Msc. Darlan Nunes de Brito Universidade Federal de Ouro Preto UFOP CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DE MINAS GERAIS CURSO DE ENGENHARIA DE COMPUTAÇÃO BELO HORIZONTE AGOSTO DE 2014 i

4

5 CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DE MINAS GERAIS CURSO DE ENGENHARIA DE COMPUTAÇÃO AVALIAÇÃO DO TRABALHO DE CONCLUSÃO DE CURSO Aluno: Cristiano Fraga Guimarães Nunes Título do trabalho: Correspondência de Pontos em Imagens para Autocalibração de Câmeras Data da defesa: 12/08/2014 Horário: 10h00min Local da defesa: Sala 401, Departamento de Computação (DECOM), CEFET-MG Campus II O presente Trabalho de Conclusão de Curso foi aprovado pela seguinte banca de avaliação: Prof. Dr. Flávio Luis Cardeal Pádua Orientador Departamento de Computação Centro Federal de Educação Tecnológica de Minas Gerais CEFET-MG Prof. Msc. Darlan Nunes de Brito Coorientador Departamento de Computação Universidade Federal de Ouro Preto UFOP Prof. Dr. Bruno André Santos Membro da banca de avaliação Departamento de Computação Centro Federal de Educação Tecnológica de Minas Gerais CEFET-MG Prof. Dr. Tales Argolo Jesus Membro da banca de avaliação Departamento de Computação Centro Federal de Educação Tecnológica de Minas Gerais CEFET-MG iii

6

7 Resumo Este trabalho aborda o estudo, a avaliação e aplicação de técnicas do estado-da-arte para correspondência de pontos baseada na análise de um conjunto de imagens, capturadas por uma câmera em um ambiente desconhecido, para fazer parte de um sistema de autocalibração de câmeras. A calibração de câmeras é uma etapa fundamental em muitas aplicações em Visão Computacional tais como: robótica e automação, reconstrução de cenas tridimensionais, formação de imagens panorâmicas, dentre outras, e o componente fundamental de diversas técnicas de calibração consiste em um processo eficiente de correspondência de pontos em imagens. Alguns autores costumam classificar as técnicas de correspondência de pontos em métodos baseados em área e métodos baseados em característica, e observa-se que métodos baseados em característica têm demonstrado ser uma alternativa promissora, sendo cada vez mais frequente o seu desenvolvimento e aplicação. O processo de correspondência de pontos em imagens que utiliza métodos baseados em características pode ser dividido em quatro etapas: detecção, descrição, correspondência e refinamento. Em cada uma destas etapas utilizam-se algoritmos distintos para realizar estas tarefas. Buscando-se um conjunto de algoritmos mais apropriados para um sistema de autocalibração de câmeras, este trabalho efetua a avaliação e aplicação dos algoritmos SIFT, SURF, ORB, BRISK, FREAK e RANSAC. As etapas de cada algoritmo, bem como as etapas do processo completo de correspondência, são detalhadas neste trabalho. A metodologia deste trabalho é subdividida em quatro partes, direcionadas à análise quantitativa e qualitativa dos algoritmos aqui estudados e aplicados em uma base de dados de imagens amplamente utilizada na literatura. Resultados experimentais mostram que a combinação dos algoritmos ORB, para a etapa de detecção, e os algoritmos BRISK e FREAK, para a etapa de descrição, pode contribuir para o desenvolvimento de um sistema de autocalibração mais eficaz e eficiente computacionalmente. Palavras-chave: correspondência, imagens, autocalibração, pontos-chave, visão computacional. v

8

9 Abstract This work addresses the study, the evaluation and application of state-of-the-art techniques for points matching based on the analysis of an image set, captured by a camera in an unknown environment, to be part of a camera self-calibration system. Camera calibration is a key step in many computer vision applications such as: robotics and automation, three-dimensional scene reconstruction, panoramic images, among others, and the key component of various calibration techniques consist in an efficient image matching process. Some authors classify the matching techniques in area-based methods and feature-based methods, and it is observed that, feature-based methods have shown to be a promising alternative, with increasing usage. Feature-based methods for image matching can be divided into four stages: detection, description, matching and refinement. Each of these stages uses distinct algorithms to perform these tasks. Seeking for a set of algorithms more suitable for a camera self-calibration system, this work does the evaluation and application of algorithms SIFT, SURF, ORB, BRISK, FREAK and RANSAC. Each step of the algorithms as well as each stage of the matching process is detailed in this work. The methodology of this work is composed in four parts, responsible for quantitative and qualitative analysis of algorithms here studied and applied in an image database widely used in the literature. Experimental results show that the association of algorithms ORB, for the detection stage, and the BRISK and FREAK algorithms, for description stage, may contribute to the development of a self-calibration system more effective and computationally efficient. Keywords: matching, keypoints, images, self-calibration, computer vision. vii

10

11 Lista de Figuras Figura 1 Principais abordagens aplicadas ao problema de correspondência de pontos em imagens Figura 2 Transformações geométricas do sistema de coordenadas global para o sistema de coordenadas da imagem Figura 3 Exemplo de cenário onde as técnicas de correspondência de pontos em imagens deverá ser aplicável Figura 4 Correspondência de pontos em imagens em um sistema de autocalibração de câmeras Figura 5 Exemplos de aplicações onde é fundamental a calibração de câmeras. 5 Figura 6 Visão geral do cálculo do mapa de saliências Figura 7 Fluxo de avaliação dos métodos de extração de características Figura 8 Pré-processamento para correspondência de pontos em imagens.. 15 Figura 9 Etapas do processo de correspondência de pontos, entre duas imagens, que utilizam técnicas baseadas em características Figura 10 Pirâmide de escala montada pelo algoritmo SIFT Figura 11 Detecção de máximos e mínimos locais do algoritmo SIFT Figura 12 Construção do descritor SIFT Figura 13 Aproximações de núcleo Gaussiano do algoritmo SURF Figura 14 Construção do descritor SURF Figura 15 Detector de cantos FAST Figura 16 Padrão de 128 pares de pontos de amostragem do algoritmo BRIEF.. 27 Figura 17 Pirâmide de escala montada pelo algoritmo BRISK. Um ponto-chave é identificado na oitava c i por meio da análise dos 8 pontos vizinhos das oitavas inferior e superior. Por meio do valor máximo da medida s, e utilizando as três camadas, é possível determinar a escala real do ponto-chave detectado na posição interpolada Figura 18 Padrão de amostragem do algoritmo BRISK Figura 19 Padrão de amostragem do algoritmo FREAK Figura 20 Ajuste de uma reta em um conjunto de pontos bidimensionais Figura 21 Exemplos de erro de sobreposição entre duas regiões Figura 22 Exemplo de aplicação das métricas de repetibilidade, precisão e revocação Figura 23 Sistema de correspondência de pontos em imagens Figura 24 Exemplo de sequência de imagens utilizada na avaliação dos algoritmos ix

12 Figura 25 Metodologia utilizada para avaliação dos algoritmos detectores Figura 26 Metodologia utilizada para avaliação dos algoritmos descritores Figura 27 Erro em pixels de uma correspondência Figura 28 Metodologia utilizada para avaliação do método de refinamento Figura 29 Exemplos de imagens das bases de dados utilizadas para os experimentos Figura 30 Curvas de repetibilidade para a sequência bikes Figura 31 Curvas de repetibilidade para a sequência trees Figura 32 Curvas de repetibilidade para a sequência graffiti Figura 33 Curvas de repetibilidade para a sequência wall Figura 34 Curvas de repetibilidade para a sequência venice Figura 35 Curvas de repetibilidade para a sequência ceiling Figura 36 Curvas de repetibilidade para a sequência boat Figura 37 Curvas de repetibilidade para a sequência leuven Figura 38 Curvas de repetibilidade para a sequência ubc Figura 39 Gráfico de caixa para os valores de repetibilidade dos algoritmos detectores em toda a base de dados Figura 40 Tempo médio de processamento dos algoritmos detectores Figura 41 Curvas de precisão e revocação para a sequência bikes Figura 42 Curvas de precisão e revocação para a sequência trees Figura 43 Curvas de precisão e revocação para a sequência graffiti Figura 44 Curvas de precisão e revocação para a sequência wall Figura 45 Curvas de precisão e revocação para a sequência venice Figura 46 Curvas de precisão e revocação para a sequência ceiling Figura 47 Curvas de precisão e revocação para a sequência boat Figura 48 Curvas de precisão e revocação para a sequência leuven Figura 49 Curvas de precisão e revocação para a sequência ubc Figura 50 Tempo médio de processamento dos algoritmos descritores Figura 51 Imagens utilizadas para verificação da base de dados Figura 52 Curvas de precisão e revocação para transformação de desfocagem.. 62 Figura 53 Curvas de precisão e revocação para mudanças no ponto de visão.. 63 Figura 54 Curvas de precisão e revocação para mudanças de escala e rotação.. 63 Figura 55 Curvas de precisão e revocação para variações de iluminação e compressão JPEG Figura 56 Erro em pixels para as correspondências nas imagens da base de dados sem a etapa de refinamento Figura 57 Imagem de teste utilizada para a análise da etapa de refinamento Figura 58 Curvas de precisão para variação da rotação Figura 59 Correspondência de um par de imagens para variação da rotação x

13 Figura 60 Curvas de precisão para variação de brilho Figura 61 Correspondência de um par de imagens para variação de brilho Figura 62 Curvas de precisão para variação de desfocagem Figura 63 Correspondência de um par de imagens para variação de desfocagem. 69 Figura 64 Quantidade média de correspondências retornadas Figura 65 Erro em pixels para as correspondências nas imagens da base de dados. 71 Figura 66 Tempo médio de processamento do processo completo de correspondência de pontos em imagens Figura 67 Mapeamento de pontos entre dois planos xi

14

15 Lista de Tabelas Tabela 1 Tempo de processamento da etapa de correspondência Tabela 2 Valores de precisão para variação da rotação Tabela 3 Valores de precisão para variação de brilho Tabela 4 Valores de precisão para variação de desfocagem Tabela 5 Tempo de processamento da etapa de refinamento Tabela 6 Resultados da etapa de detecção para a sequência bikes Tabela 7 Resultados da etapa de detecção para a sequência trees Tabela 8 Resultados da etapa de detecção para a sequência graffiti Tabela 9 Resultados da etapa de detecção para a sequência wall Tabela 10 Resultados da etapa de detecção para a sequência venice Tabela 11 Resultados da etapa de detecção para a sequência ceiling Tabela 12 Resultados da etapa de detecção para a sequência boat Tabela 13 Resultados da etapa de detecção para a sequência leuven Tabela 14 Resultados da etapa de detecção para a sequência ubc xiii

16

17 Lista de Quadros Quadro 1 Estudo comparativo entre os tipos de abordagens em correspondência de pontos em imagens Quadro 2 Informações sobre as sequências de imagens da base de dados utilizadas Quadro 3 Parâmetros do algoritmo SIFT Quadro 4 Parâmetros do algoritmo SURF Quadro 5 Parâmetros do algoritmo ORB Quadro 6 Parâmetros do algoritmo BRISK Quadro 7 Parâmetros do algoritmo FREAK xv

18

19 Lista de Abreviaturas e Siglas AGAST BRIEF BRISK FAST FREAK JPEG ORB RANSAC SIFT SURF Adaptive and Generic Accelerated Segment Test Binary Robust Independent Elementary Features Binary Robust Invariant Scalable Keypoints Features from Accelerated Segment Test Fast Retina Keypoint Joint Photographic Experts Group Oriented FAST and Rotated BRIEF RANdom SAmple Consensus Scale-Invariant Feature Transform Speeded Up Robust Features xvii

20

21 Sumário 1 Introdução Caracterização do problema Relevância Objetivos Objetivo geral Objetivos específicos Organização do documento Trabalhos Relacionados Correspondência de pontos baseada em características Discussão Fundamentação Teórica Detecção e descrição de pontos-chave Algoritmo SIFT Algoritmo SURF Algoritmo ORB Algoritmo BRISK Algoritmo FREAK Correspondência de descritores Refinamento das correspondências Métricas de avaliação Repetibilidade Precisão Revocação Metodologia Avaliação dos algoritmos detectores Avaliação dos algoritmos descritores Análise do processo de correspondência Avaliação do método de refinamento Resultados Resultados dos algoritmos detectores Resultados dos algoritmos descritores Resultados do processo de correspondência xix

22 5.4 Resultados do método de refinamento Conclusão Trabalhos futuros Referências Apêndices 81 APÊNDICE A Parâmetros de simulação APÊNDICE B Resultados de repetibilidade Anexos 89 ANEXO A Homografia 2D xx

23 1 1 Introdução O problema de correspondência em Visão Computacional pode ser definido como um problema de busca, no qual pretende-se encontrar elementos equivalentes (e.g. pontos, curvas ou algum objeto de interesse) entre duas imagens de uma mesma cena ou objetos em diferentes poses, iluminação e ambiente (LI et al., 2013; YU et al., 2012). A partir da obtenção da correspondência, diversas aplicações em Visão Computacional podem ser realizadas, tais como calibração de câmeras, formação de imagens panorâmicas, reconstrução tridimensional, localização e mapeamento simultâneo e classificação de objetos. Por este motivo, a solução deste problema é considerada uma etapa essencial, uma vez que seu sucesso costuma ser determinante para diversas aplicações (YU et al., 2012; WYAWAHARE et al., 2009). Alguns autores costumam classificar as técnicas desenvolvidas para estimar a correspondência de pontos em imagens em dois grupos principais, quais sejam: (i) técnicas baseadas em área e (ii) técnicas baseadas em características, conforme ilustrado na Figura 1 (BABBAR et al., 2010; ZITOVA; FLUSSER, 2003). Nas técnicas baseadas em área, os elementos a serem comparados consistem em janelas de imagem de tamanho fixo, e normalmente o critério de similaridade utilizado neste tipo de técnica é a medida da correlação entre estas janelas (JOGLEKAR; GEDAM, 2012; TRUCCO; VERRI, 1998). Nas técnicas baseadas em características, os elementos a serem comparados consistem em um conjunto esparso numérico de características fornecidas por um descritor de imagens. O critério de similaridade utilizado neste tipo de técnica normalmente é a distância geométrica entre os descritores de característica de cada imagem (JIANG et al., 2013; CALONDER et al., 2010). Problema de Correspondência de Pontos Grupo 1 Técnicas baseadas em área Grupo 2 Técnicas baseadas em características Figura 1 Principais abordagens aplicadas ao problema de correspondência de pontos em imagens.

24 2 Capítulo 1. Introdução O presente trabalho aborda o problema de correspondência de pontos em imagens no âmbito de um sistema de autocalibração de câmeras. Para que seja possível a análise do ambiente que rodeia um sensor de imagens é necessária a transformação de um sistema de coordenadas global para um sistema de coordenadas no plano de imagem, como ilustrado na Figura 2. Para tanto, é necessário um conjunto de parâmetros geométricos que possibilite que esta tarefa seja realizada. Considerando-se um modelo simples para câmeras, o pinhole 1, no qual é desconsiderada a distorção esférica da lente, têm-se dois conjuntos de parâmetros: os intrínsecos, que fornecem características ópticas e geométricas internas da câmera, e os extrínsecos, que fornecem informações da posição e orientação da câmera em relação a um certo sistema de coordenadas global. Neste caso, é dado o nome de calibração ao processo de obtenção destes parâmetros. Um dos principais autores com pesquisa na área de calibração de câmeras (ZHANG, 2000) classifica em seu trabalho os métodos de calibração em dois tipos: Calibração tridimensional baseada em objeto de calibração: neste tipo, a calibração é realizada utilizando-se as observações de um objeto cuja geometria tridimensional seja conhecida, sob diferentes pontos de vista. Autocalibração: técnicas deste tipo não utilizam nenhum objeto de calibração. São realizados deslocamentos da posição de uma câmera, que visualiza uma cena xc yc zw yw xw Figura 2 Transformações geométricas do sistema de coordenadas global para o sistema de coordenadas da imagem. 1 Uma câmera do tipo pinhole ou buraco de agulha consiste em um modelo de câmera sem lente no qual todos os raios de luz passam por um pequeno orifício em um anteparo e a imagem é formada em um plano dentro da câmera.

25 3 estática, e utilizam-se informações sobre a correspondência de pontos entre as diferentes imagens obtidas. A metodologia de correspondência de pontos em imagens, que será estudada para tratar este problema, tem aplicabilidade em um ambiente como aquele mostrado na Figura 3, o qual pode ser caracterizado como um problema desafiador, pois tais imagens apresentam ruídos e diversas transformações geométricas como rotação, translação e escala. Assim, o problema em questão consiste em determinar os pontos correspondentes entre as imagens para que esta informação possa ser utilizada por um sistema de autocalibração de câmeras. O cenário considerado neste trabalho é composto por uma câmera do tipo pinhole não calibrada em um ambiente desconhecido. A A B B (a) Primeira sequência de imagens B B (b) Segunda sequência de imagens A A (c) Terceira sequência de imagens Figura 3 Exemplo de cenário onde as técnicas de correspondência de pontos em imagens deverá ser aplicável. A figura é composta por três sequências de imagens capturadas por um dispositivo móvel equipado com uma câmera. Os pontos A e B foram marcados manualmente como exemplo. O ponto A contido em algumas das imagens deve representar unicamente um ponto no mundo real. Da mesma forma, esta análise é feita para o ponto B.

26 4 Capítulo 1. Introdução 1.1 Caracterização do problema Este trabalho aborda o estudo, a avaliação e a aplicação de técnicas do estado-daarte para correspondência de pontos, baseadas na análise de um conjunto de imagens, de cenas planares, capturadas por uma câmera em um ambiente desconhecido. A técnica mais adequada fará parte de um sistema para autocalibração de câmeras. O problema de autocalibração possui características peculiares, o que torna sua solução bastante complexa. Para que uma técnica de correspondência de pontos em imagens tenha sucesso em um sistema de autocalibração, é necessário que sejam atendidos alguns requisitos, tais como: Tolerância às variações das condições da cena, tais como variações de luminosidade, desfocagem e diferentes pontos de visão entre as imagens; Baixo custo computacional, que poderá ser alcançado por meio da utilização de algoritmos eficientes, garantindo-se a aplicação das técnicas em tempo real; Precisão ajustável de acordo com a capacidade de processamento do sistema de captura das imagens. A Figura 4 exibe o diagrama de blocos do processo de autocalibração de câmeras. Nesta figura é ilustrado também o escopo deste trabalho, o qual consiste na implementação do bloco de Correspondência de pontos em imagens. Captura de imagens pela câmera Correspondência de pontos em imagens Determinação dos parâmetros de calibração Imagem A Imagem B Correspondência de pontos: (x, y) Imagem A (x, y) Imagem B (21, 30) (54, 12) (33, 50) (79, 40) (10, 50) (43, 48) (19, 65) (63, 70) Figura 4 Correspondência de pontos em imagens em um sistema de autocalibração de câmeras.

27 1.2. Relevância Relevância A calibração de câmeras é uma etapa fundamental em muitas aplicações recentes em Visão Computacional, tais como robótica e automação, sistemas de manufatura integrada por computador, reconstrução de cenas tridimensionais, dentre outras, conforme os exemplos ilustrados na Figura 5. Todas estas aplicações dependem fortemente de um processo de calibração com diferentes requisitos de tempo e exatidão. Muitas aplicações, como descritas nos trabalhos de Yu et al. (2013), Moulard et al. (2012), Kim et al. (2010) e Bertozzi et al. (1998) têm sido desenvolvidas em diversas áreas do conhecimento, e em todas, o processo de calibração é parte integrante da abordagem pesquisada. Isto revela a grande importância em se determinar os parâmetros geométricos da câmera obtidos por meio do processo de calibração. A ideia fundamental do processo de calibração é determinar as equações de projeção, que conectam um conjunto de coordenadas de pontos tridimensionais e suas projeções, para determinar o conjunto de parâmetros da câmera (TRUCCO; VERRI, 1998). Estes parâmetros podem variar durante todo ciclo de utilização do equipamento como, por exemplo, em carros autônomos como mostrado em Bertozzi et al. (1998) no qual o autor utiliza visão estéreo para determinar a posição do automóvel autônomo em relação à pista, ou em aplicações de localização de robôs humanoides como no trabalho de Moulard et al. (2012). Figura 5 Exemplos de aplicações onde é fundamental a calibração de câmeras.

28 6 Capítulo 1. Introdução Outra aplicação das técnicas de autocalibração de câmeras se dá em sistemas de visão estéreo. Estes sistemas, por meio da utilização de visualizações múltiplas, são capazes de capturar modelos de superfícies com um grande número de detalhes de objetos muito complexos, utilizando-se para tanto um número moderado de imagens de calibração. Estudos recentes (FURUKAWA; PONCE, 2009) mostram que muitos algoritmos de calibração alcançam bons resultados utilizando câmeras de baixa resolução (640x480 pixels). Combinado com o emergente surgimento de câmeras de alta resolução (10 Megapixel e superior) esta tecnologia promete uma fidelidade geométrica ainda maior na tarefa de modelagem de objetos. Estes avanços, no entanto acrescentam uma enorme demanda nos procedimentos de calibração. Quando se trata do processo de autocalibração, esta demanda de eficiência produz uma demanda similar no que se refere ao processo de correspondência de pontos em imagens. O componente fundamental de diversas técnicas de autocalibração em visualizações múltiplas é uma técnica eficiente de correspondência de pontos em imagens (FURUKAWA; PONCE, 2009). As condições de utilização das câmeras podem sofrer diferentes fatores de variação dos parâmetros durante o período de utilização, tais como: não repetibilidade de movimentos, vibrações no piso, efeitos térmicos, entre outros. Estes fatores podem não ser desprezíveis para um sistema moderno de câmeras de alta resolução e limitam a eficácia de métodos clássicos de calibração, obrigando assim o desenvolvimento de novas abordagens e métodos de calibração. O primeiro método de autocalibração foi proposto por Maybank e Faugeras (1992). Os autores criaram uma técnica de calibração de câmeras, na qual os parâmetros intrínsecos da câmera eram consistentes com a teoria de geometria projetiva, utilizando uma sequência de imagens. Este método de calibração pode ser realizado quando a câmera executa uma sequência de deslocamentos em relação a uma cena estática. A calibração é feita por meio de transformações associadas aos deslocamentos da câmera. Estas transformações são estimadas por meio da correspondência de pontos entre as imagens obtidas antes e depois dos deslocamentos. Nenhuma outra informação é necessária para realizar a calibração. A abordagem foi melhorada ao longo dos anos. O trabalho de Ma (1996) constituiu uma aplicação bastante interessante de autocalibração de câmeras, no qual o problema de correspondência de pontos precisa ser previamente resolvido. Especificamente, o autor propõe uma técnica de autocalibração de câmeras anexadas a uma garra de um manipulador robótico. O objetivo deste trabalho é determinar a orientação das coordenadas cartesianas de referência da câmera em relação a uma base fixa. Para realizar esta localização, o autor determina alguns pontos fixos no ambiente que compõe a cena. A partir da correspondência destes pontos

29 1.3. Objetivos 7 nas imagens obtidas em cada posição da câmera, encontra-se o conjunto de parâmetros extrínsecos. Neste trabalho são considerados os parâmetros intrínsecos como sendo fixos e conhecidos. Enfim, o processo de correspondência de pontos em imagens possui grande importância para o processo de autocalibração de câmeras, que serve como base para utilização em um grande número de aplicações. Sem um processo eficiente de correspondência de pontos em imagens, as técnicas de autocalibração podem ter seu desempenho computacional seriamente prejudicado. 1.3 Objetivos Objetivo geral Como descrito anteriormente, o sucesso da técnica de autocalibração de câmeras em um ambiente desconhecido passa impreterivelmente por um algoritmo eficiente de correspondência de pontos em imagens. Baseado nisto, este trabalho tem como objetivo estudar, avaliar e aplicar técnicas do estado-da-arte para correspondência de pontos em imagens no âmbito da autocalibração de câmeras do tipo pinhole. Por meio deste trabalho, busca-se contribuir com pesquisas na área de Visão Computacional baseadas na utilização ou mesmo no desenvolvimento de técnicas de correspondência de pontos Objetivos específicos Para este trabalho, busca-se atingir os seguintes objetivos específicos: Estudar o estado-da-arte de algoritmos de correspondência de pontos em imagens, e selecionar aqueles que possam levar aos melhores resultados em um sistema de autocalibração, considerando-se um balanço entre custo computacional e exatidão desejada; Implementar os algoritmos de correspondência de pontos em imagens selecionados, utilizando um ambiente de desenvolvimento adequado à aplicação; Realizar experimentos com diversos tipos de cenários e imagens capturadas por câmeras. Por meio destes experimentos, será avaliada a eficácia dos algoritmos implementados para utilização em um sistema de autocalibração de câmeras.

30 8 Capítulo 1. Introdução 1.4 Organização do documento Este trabalho está dividido em seis capítulos, incluindo o presente. O Capítulo 2 apresenta os principais trabalhos relacionados ao tema deste trabalho, descrevendo seus resultados e suas contribuições. No Capítulo 3 é apresentada a fundamentação teórica, que descreve alguns dos principais conceitos e teorias que fundamentam o desenvolvimento do presente trabalho. No Capítulo 4 é descrita a metodologia proposta. Já no Capítulo 5 são apresentados os resultados obtidos. Por fim, no Capítulo 6 são apresentadas as conclusões e perspectivas de trabalhos futuros.

31 9 2 Trabalhos Relacionados Neste capítulo são apresentados alguns dos principais trabalhos relacionados com o problema de correspondência de pontos em imagens. Vale ressaltar a existência de uma diversidade de trabalhos nesta área e que, portanto, são apresentados e discutidos apenas um subconjunto dos mesmos. Este subconjunto é composto por trabalhos que foram identificados como mais diretamente relacionados com o presente trabalho e cujas metodologias se assemelham à metodologia aqui apresentada. A literatura sobre técnicas de correspondência de pontos em imagens abrange diversos tipos de soluções, tais como aquelas baseadas em área e aquelas baseadas em características (BABBAR et al., 2010; ZITOVA; FLUSSER, 2003). Apesar desta diversidade, tem-se observado a crescente utilização de técnicas que utilizam a abordagem baseada em características, tornando-se um objeto de estudo interessante para muitos pesquisadores (LI et al., 2013). Um estudo comparativo feito por Babbar et al. (2010) aponta as diferenças entre a solução do problema de correspondência de pontos em imagens que utiliza abordagens baseadas em área e abordagens baseadas em características. O Quadro 1 exibe os aspectos de cada uma das abordagens. A conclusão deste estudo apoia que o uso de abordagens baseadas em características é ideal para problemas de correspondência em imagens de uma forma geral. No trabalho de Medioni e Nevatia (1985) são descritas outras vantagens das técnicas de correspondência baseada em características sobre as técnicas de correspondência baseada em área, como por exemplo o baixo custo computacional devido à consideração de poucos pontos durante a correspondência, à boa exatidão da correspondência e à baixa sensibilidade às variações da cena. Baseado nestes aspectos, o presente trabalho visa explorar a implementação de uma abordagem para a solução do problema de correspondência de pontos em imagens que se enquadra no conjunto de técnicas baseadas em características. No âmbito da solução do problema de correspondência de pontos em imagens que utiliza a abordagem baseada em características, os algoritmos detectores e descritores de pontos-chave 1 são de grande importância. O algoritmo SIFT (Scale-Invariant Feature Transform), proposto por Lowe (2004), é um dos mais populares algoritmos utilizados em correspondência de pontos em imagens. Isto se deve ao fato da técnica 1 Pontos-chave, também conhecidos como pontos de interesse, são pontos estáveis e distintivos, em uma imagem, de tal forma que estes pontos possam ser unicamente identificados por meio de um critério de detecção bem definido, mesmo sob condições adversas.

32 10 Capítulo 2. Trabalhos Relacionados Aspectos Correspondência baseada em área Correspondência baseada em características Estratégia de correspondência Convergência, Velocidade e Versatilidade Estimativas iniciais Cada ponto a ser correspondido é o centro de uma pequena janela de pixels de uma imagem de referência, e esta janela é comparada estatisticamente com janelas de tamanho igual em outras imagens. Possui menor convergência, velocidade e versatilidade em comparação com os métodos de correspondência baseados em características. Usualmente, requer valores iniciais para os parâmetros desconhecidos. Em vez de corresponder todos os pontos de uma imagem, apenas os pontos selecionados com determinadas características são correspondidos. É superior às técnicas de correlação de imagens utilizadas em técnicas baseada em área no que se diz respeito à velocidade e versatilidade. Possui também melhores taxas de convergência. Não requer estimativas iniciais. Oclusões É sensível com respeito a oclusões. São menos sensíveis a oclusões. Quadro 1 Estudo comparativo entre os tipos de abordagens em correspondência de pontos em imagens. Fonte: Adaptado de Babbar et al. (2010). apresentar um excelente desempenho, estabelecendo as bases para correspondência de pontos em imagens. Este algoritmo mostra-se robusto às variações de translação, rotação e escala no processo de extração de características. No trabalho de Mikolajczyk et al. (2005) foi realizado um estudo sobre algoritmos detectores de pontos-chave. Os autores definem a métrica de repetibilidade (ver Subseção 3.4.1) para avaliar o desempenho de detecção dos algoritmos. Neste trabalho é fornecida também uma base de dados 1 composta por um conjunto de sequências de imagens, para testar os efeitos de desfocagem, compressão, iluminação, escala, rotação e mudanças do ponto de visão em um processo de correspondência de pontos em imagens. Em Mikolajczyk e Schmid (2005) foi realizado um levantamento sobre algoritmos descritores de pontos-chave. Neste trabalho são definidas duas métricas para avaliar os algoritmos descritores: precisão e revocação (ver Seção 3.4). Os autores mostram em seu trabalho que os algoritmos baseados no algoritmo SIFT podem localizar com boa exatidão pontos-chave correspondentes mesmo, por exemplo, sob condições extremas. No entanto, o algoritmo SIFT apresenta a desvantagem do alto custo computacional exigido, o que também leva a longos tempos de processamento. O algoritmo SURF (Speeded Up Robust Features), proposto por Bay et al. (2006), é baseado no algoritmo SIFT. Este algoritmo apresenta um desempenho de tempo de processamento ligeiramente melhor, em comparação com o algoritmo SIFT. Mais 1 Disponível em: <

33 2.1. Correspondência de pontos baseada em características 11 recentemente, algoritmos mais rápidos foram propostos, e ao contrário dos algoritmos SIFT e SURF, eles utilizam um vetor binário de descrição em vez de vetores que utilizam uma representação numérica em ponto flutuante. Na literatura, há também algoritmos eficientes desenvolvidos para correspondência densa pixel a pixel em imagens, como é o caso do algoritmo descritor DAISY (TOLA et al., 2008). Seu descritor é calculado para regiões em torno de cada ponto na imagem em vez de utilizar apenas pontos-chave. Este algoritmo apresenta a deficiência de não ser originalmente invariante a transformações geométricas afins (e.g. rotação, translação e escala), apesar de seu bom desempenho. Algumas abordagens sacrificam a qualidade do processo de descrição para alcançar a vantagem do baixo tempo de processamento. Por exemplo, o algoritmo BRIEF (Binary Robust Independent Elementary Features), proposto por Calonder et al. (2010), não é capaz de encontrar correspondências corretas quando a escala da imagem é alterada. Baseados neste algoritmo, os algoritmos ORB (Oriented FAST and Rotated BRIEF) (RU- BLEE et al., 2011), BRISK (Binary Robust Invariant Scalable Keypoints) (LEUTENEGGER et al., 2011) e FREAK (Fast Retina Keypoint) (ALAHI et al., 2012) foram desenvolvidos para manter um balanço entre o custo computacional e qualidade do processo de descrição, visando ser uma alternativa eficiente comparada ao SIFT e ao SURF. Os algoritmos descritos aqui e que serão utilizados neste trabalho, serão detalhados no Capítulo 3. A seguir, será feita uma revisão crítica de alguns dos principais trabalhos encontrados na literatura que se enquadram no conjunto de correspondência de pontos em imagens que utilizam técnicas baseadas em características. 2.1 Correspondência de pontos baseada em características No trabalho de Pimenov (2009) é proposto um método de correspondência de pontos em imagens baseado em um sistema de atenção visual 2. Este sistema é utilizado para guiar a detecção de pontos-chave. O propósito da atenção visual para correspondência é definida como: determinar a importância de regiões da imagem em termos da distribuição de atenção. Para tanto, é realizado o cálculo de um mapa de saliências 3 e a medida absoluta da saliência. O processo de construção do mapa de saliência é exibido na Figura 6. Para a detecção dos pontos, o autor utiliza o algoritmo SURF. A vantagem da utilização deste sistema de atenção visual é a supressão do número de pontos detectados. A correspondência do conjunto de pontos entre as duas 2 A atenção visual é um mecanismo, inspirado biologicamente, que corresponde à habilidade de selecionar e processar somente as regiões mais relevantes de uma determinada cena. 3 Mapa de saliências, em visão computacional, é um mapa que atribui a saliência para cada elemento de uma imagem, por exemplo cada pixel.

34 12 Capítulo 2. Trabalhos Relacionados Imagem de entrada Filtro linear Pirâmide de características Intensidade Cor Orientação Agregação de características Mapas de características Normalização e combinação linear Mapa de saliências Figura 6 Visão geral do cálculo do mapa de saliências. Fonte: Adaptado de Pimenov (2009). imagens é feita por meio de uma busca simétrica que seleciona os pares correspondentes. Cada par é ponderado de acordo com a distribuição de atenção, e os pesos são somados gerando uma pontuação de similaridade. Para a avaliação dos resultados, o autor utiliza métricas de precisão e revocação (ver Seção 3.4). Os resultados experimentais mostram alta precisão e alta eficiência computacional da abordagem proposta. O autor também frisa em seu trabalho que as falsas correspondências de pontos entre as duas imagens podem ser eliminadas por meio de técnicas de verificação geométrica como o algoritmo RANSAC (RANdom SAmple Consensus), porém o autor não emprega esta técnica pelo fato de que seu método proposto foi suficiente para a eliminação de falsas correspondências para a base de imagens utilizada nos experimentos. Os autores Juan e Gwun (2010) propuseram um sistema para criação de panorama que inclui um algoritmo de correspondência de pontos em imagens utilizando o algoritmo SURF modificado. O algoritmo SURF modificado, assim chamado pelos autores, consiste na seleção de potenciais correspondências de características utilizando

35 2.1. Correspondência de pontos baseada em características 13 o método do k-vizinho mais próximo (k-nearest neighbor) com a remoção de falsas correspondências por meio do algoritmo RANSAC. O processo é dividido em três etapas. Em primeiro lugar, é extraído um conjunto de características das imagens com o algoritmo descritor SURF. Em segundo lugar, é feita a correspondência entre pares de pontos das imagens por meio do método do k-vizinho mais próximo. Em seguida, é utilizada a técnica RANSAC para remover falsas correspondências e permitir encontrar a matriz de homografia, que define o mapeamento de um conjunto de pontos correspondentes entre dois planos. Os autores também fazem uma comparação entre os algoritmos SIFT e SURF avaliando-os em uma base selecionada para algoritmos de correspondência de imagens. Como resultado, os autores mostram que o algoritmo SIFT retorna mais correspondências que o algoritmo SURF, porém o algoritmo SURF é executado de forma mais rápida que o algoritmo SIFT. Nos resultados também é concluído que o algoritmo SURF possui bom desempenho em comparação com o algoritmo SIFT no que se refere a variações de escala e iluminação da imagem, mas não é melhor quanto à rotação da imagem. No estudo comparativo apresentado por Heinly et al. (2012), são avaliados os algoritmos detectores e descritores binários do estado-da-arte (BRIEF, ORB e BRISK) para o processo de correspondência de pontos em imagens bem como os algoritmos SIFT e SURF, como referência. Os autores defendem a ideia de que os descritores que utilizam uma representação numérica em ponto flutuante (e.g. descritores SIFT e SURF) requerem um maior consumo de memória e tempo para comparar seus descritores, quando uma base de dados de imagem se tornam grande. Os autores apoiam o uso de descritores binários em aplicações de correspondência de pontos em geral, devido também à proliferação de dispositivos móveis equipados com câmeras (e.g. celulares e tablets) que têm poder computacional e espaço de armazenamento limitado. Os experimentos, realizados pelos autores utilizam uma base de dados 4 que abrange uma variedade de transformações em imagens como mudanças de escala, rotação, iluminação, ponto de visão, qualidade de imagem e oclusões. Neste trabalho também é avaliada a combinação dos diferentes pares de algoritmos detectores e descritores. Segundo os resultados, em termos de desempenho, os algoritmos descritores binários se mostraram rápidos comparados aos algoritmos SIFT e SURF. Nos experimentos que utilizam imagens com transformações não geométricas (e.g. desfocagem, compressão JPEG, exposição e iluminação), o algoritmo descritor BRIEF supera os demais algoritmos. Em experimentos que utilizam imagens com transformações afins 5, os algoritmos descritores ORB, BRISK e SIFT apresentaram melhores resultados. 4 Disponível em: < 5 Em geometria, uma transformação afim entre dois espaços vetoriais, consiste em uma transformação linear seguida por uma translação.

36 14 Capítulo 2. Trabalhos Relacionados No trabalho de Dwarakanath et al. (2012) é feito um estudo sobre a avaliação do desempenho de métodos para extração de características para aplicações práticas em sistemas de imagens tridimensionais. Neste trabalho é avaliado o comportamento dos algoritmos SIFT, SURF e ORB por meio de simulações de questões práticas visando a autocalibração de câmeras e a reconstrução tridimensional de uma cena, baseada na geometria epipolar 6 de um par estéreo de imagens. O experimento é composto por um banco de dados de imagens estéreo, um módulo de degradação de imagens e um módulo de correspondência de pontos em imagens. Para a avaliação, as imagens são recuperadas do banco de dados, e em seguida o módulo de degradação aplica uma pré-transformação nas imagens para simular ruídos, distorções da lente da câmera e desfocagem. Então o módulo de correspondência de pontos em imagens, constituído das etapas de detecção, descrição e correspondência de pontos, são aplicadas nas imagens pré-transformadas. A matriz fundamental é estimada no início do processo e comparada com a matriz fundamental estimada das imagens após a aplicação da pré-transformação. A Figura 7 exibe o fluxo de avaliação deste estudo. Nos resultados, em imagens que possuem transformação de desfocagem (blur), o algoritmo SIFT se mostrou superior. Em imagens com distorções de lente, os algoritmos SIFT, SURF e ORB se mostraram eficazes, porém o algoritmo ORB demandou um tempo de processamento pelo menos 10 vezes menor que o tempo consumido pelos algoritmos SIFT e SURF. Em imagens com ruídos, os algoritmos SIFT e SURF apresentaram melhores resultados. Em Yu et al. (2012) é proposto um método de correspondência em imagens robusto no que se refere à iluminação e ao ponto de visão da imagem. O método consiste em efetuar um pré-processamento entre as imagens aplicando uma transformação na iluminação e no ponto de visão em uma das imagens com a finalidade de melhorar o Estimativa da Matriz Fundamental Base de dados Img. A Img. B Operador de Transformação Extração de Características & Correspondência Avaliação do Desempenho Figura 7 Fluxo de avaliação dos métodos de extração de características. Fonte: Adaptado de Dwarakanath et al. (2012). 6 A geometria epipolar é a geometria da visão estéreo: quando duas câmeras visualizam uma cena, a partir de posições distintas, ela estabelece uma relação geométrica entre as duas vistas capturadas nessas condições.

37 2.1. Correspondência de pontos baseada em características 15 Dificuldade na correspondência I r I t Facilidade na correspondência Transformação aplicada Figura 8 Pré-processamento para correspondência de pontos em imagens. As imagens I r ei t são as imagens a serem correspondidas. Estas imagens possuem dificuldade de correspondência devido à diferenças de iluminação e de ponto de visão. A imagemi t então é transformada na imagemi e para quei r ei e se tornem próximas no espaço de parâmetros. Fonte: Adaptado de Yu et al. (2012). I e processo de correspondência. A matriz de transformação de uma imagem para outra é estimada de forma iterativa. A Figura 8 ilustra o pré-processamento do método de correspondência proposto. O processo inicial de correspondência é feito por meio de três etapas que, contém uma etapa de detecção de pontos-chave, uma etapa de descrição de pontos-chave e uma última etapa de correspondência de descritores. Nas etapas de detecção e descrição, os autores avaliam seu método utilizando os algoritmos SIFT e SURF. Em seu trabalho, os autores utilizam imagens de cenas planas para mostrar a eficácia do método proposto. Em problemas em que há transformações geométricas em imagens (e.g. transformações afins), os autores recomendam a inclusão do algoritmo RANSAC. Como conclusão, os autores mostram por meio de um resultado experimental que o desempenho do processo de correspondência é melhorado mesmo com diferenças de ponto de visão e iluminação em uma determinada faixa válida. No trabalho de Takimoto et al. (2013) é proposta uma técnica para correspondência de pontos-chave em imagens para um sistema de reconstrução tridimensional. O método é composto por três passos. Primeiro, são feitas a detecção e a extração dos pontos-chave das imagens por meio do algoritmo SIFT. Em segundo lugar, é feita a correspondência dos pontos-chave. Por último é feito um refinamento das correspondências por meio do algoritmo RANSAC com avaliações da geometria epipolar. Neste trabalho, os autores propõem um aprimoramento de modo a guiar o algoritmo RANSAC, com agrupamentos de pontos-chave segundo triângulos coerentemente orientados, tornando

38 16 Capítulo 2. Trabalhos Relacionados o RANSAC mais robusto. Os autores comparam o RANSAC convencional e o método proposto. Como resultado, o método proposto se mostrou eficiente na eliminação de falsas correspondências, e a geometria epipolar foi determinada com poucas iterações, em comparação com o algoritmo RANSAC convencional. No trabalho de Li et al. (2013) é proposto um algoritmo de correspondência de pontos-chave em imagens baseado na distância de Hausdorff. Neste trabalho, a distância de Hausdorff é uma métrica que descreve o grau de similaridade entre dois conjuntos de pontos. O algoritmo proposto extrai os pontos-chave da imagem por meio do algoritmo SIFT tanto na imagem original quanto na imagem alvo e, em seguida determina se há uma transformação afim entre as duas imagens por meio da distância de Hausdorff. Caso não haja uma transformação afim que satisfaça os requisitos da distância de Hausdorff então há correspondência entre a imagem original e a imagem alvo. Os autores mostram que o algoritmo proposto possui um desempenho melhor que o tradicional algoritmo composto por um algoritmo descritor SIFT combinado ao algoritmo RANSAC, pois neste processo tradicional seria necessário percorrer todos os pontos-chave das imagens para determinar cada par de pontos-chave correspondentes. Em Luo et al. (2013) é proposto um sistema para recuperação de imagens em tempo real. Este sistema é baseado em um processo de correspondência de pontos em imagens constituído de uma etapa de detecção e descrição de pontos-chave e uma etapa de correspondência, baseada em histograma. Para as etapas de detecção e descrição de pontos-chave, os autores avaliam a acurácia dos métodos SIFT, SURF e ORB em seu sistema no que se refere a ruídos, rotação e escala. Como resultados, os métodos SIFT e SURF se mostraram inferiores comparados ao método ORB no que se refere à correspondência de imagens rotacionadas. Os autores mostram que o algoritmo ORB é muito mais eficiente que os algoritmos SIFT e SURF com relação ao tempo de processamento. No estudo apresentado por Jiang et al. (2013) é feita uma avaliação sobre quais algoritmos detectores e descritores de características são mais apropriados para a solução do problema de odometria visual 7. Neste trabalho são sumarizados os algoritmos detectores e descritores do estado-da-arte (FAST, BRISK, BRIEF, SIFT, SURF) e avaliados sua robustez, precisão e custo computacional. A metodologia utilizada para a avaliação dos algoritmos contém um processo de correspondência de pontos em imagens. Primeiro é necessário detectar os pontos-chave nas duas imagens utilizando um detector de pontos-chave. Depois, utiliza-se um descritor de características para representar um ponto-chave detectado em uma forma distintiva. A correspondência dos pontos é obtida por meio da comparação dos descritores de características baseadas em um critério de 7 Odometria visual, em robótica, consiste em uma técnica para estimar a posição e o movimento de robôs por meio de uma única câmera ou múltiplas câmeras.

39 2.2. Discussão 17 similaridade, no qual foi utilizado a distância de Hamming para os descritores binários e a distância euclidiana (norma L2) para os demais descritores. Ao final do processo é utilizado o algoritmo RANSAC para a eliminação de falsas correspondências. Nos resultados os autores concluem que os detectores baseados em cantos (e.g. FAST e BRISK) são superiores para a solução em projetos de odometria visual estéreo devido ao seu baixo custo computacional e bom desempenho em geral. Os resultados também mostram que os algoritmos descritores que são sensíveis a rotação apresentaram resultados melhores que os algoritmos invariantes a rotação, e segundo os autores, a invariância a rotação não é necessária no problema de odometria visual estéreo. No estudo de Qi et al. (2014) é realizada uma pesquisa sobre correspondência em imagens baseada no descritor DAISY. O método de correspondência de pontos em imagens é feito em quatro etapas: detecção, descrição, correspondência e refinamento. Na etapa de detecção, é aplicado o algoritmo SURF para encontrar pontos-chave na imagem. Na etapa de descrição, é utilizado o algoritmo DAISY, em vez do algoritmo SURF, para calcular a descrição de cada ponto característico detectado. Os descritores são correspondidos por meio de uma busca exaustiva de pontos utilizando a distância euclidiana como medida de similaridade. Na etapa de refinamento, as falsas correspondências são eliminadas por meio do algoritmo RANSAC. A partir dos experimentos, é mostrada efetiva melhora na velocidade da geração de descrição por meio do algoritmo DAISY, no qual o tempo de processamento foi menor que o tempo do algoritmo descritor SURF. O método proposto possui a robustez do detector de característica SURF e a eficiência do algoritmo descritor DAISY. 2.2 Discussão Há um grande número de trabalhos desenvolvidos para correspondência de pontos em imagens em diversas áreas. Como o estado-da-arte comprova, novas técnicas têm surgido a cada ano, o que evidencia a importância de um estudo completo e efetivo nesta área. Os trabalhos analisados neste capítulo mostram que o processo de correspondência de pontos em imagens, que utilizam uma abordagem baseada em características, pode ser dividido em etapas bem definidas. Isto contribui para avaliação do desempenho dos algoritmos, já que é possível avaliar cada uma destas etapas separadamente, tornando assim o processo de avaliação mais simples. Fica evidenciado também, por meio da revisão bibliográfica, que os algoritmos responsáveis pela detecção e pela descrição de pontos-chave possuem grande importância em um processo de correspondência de pontos em imagens, sendo estes

40 18 Capítulo 2. Trabalhos Relacionados os responsáveis pela maior parte do processo. Grande parte dos trabalhos analisados utiliza o algoritmo RANSAC (QI et al., 2014; TAKIMOTO et al., 2013; LI et al., 2013; JIANG et al., 2013; JUAN; GWUN, 2010) para a etapa de refinamento do resultado. Dentre os trabalhos descritos, alguns como Jiang et al. (2013), Heinly et al. (2012) e Mikolajczyk et al. (2005) apresentam metodologias semelhantes, no que se refere ao processo de correspondência de pontos. Nestes trabalhos, os algoritmos detectores e descritores são avaliados de forma individual, assim como é feito neste trabalho. O sistema de correspondência de pontos em imagens é dividido em etapas bem definidas, e ambos os trabalhos apresentam um estudo comparativo entre algoritmos de correspondência de pontos que utilizam uma abordagem baseada em característica. Estes estudos foram fontes de inspiração para a metodologia utilizada neste trabalho. Para avaliação dos algoritmos, são utilizadas neste trabalho as métricas propostas nos trabalhos de Mikolajczyk et al. (2005) e Mikolajczyk e Schmid (2005), em que estes autores apresentam uma técnica de avaliação baseada nas seguintes métricas de desempenho: repetibilidade, precisão e revocação, as quais são amplamente utilizadas na literatura (JIANG et al., 2013; HEINLY et al., 2012; YU et al., 2012; JUAN; GWUN, 2010; PIMENOV, 2009).

41 19 3 Fundamentação Teórica O processo de correspondência de pontos em imagens baseado em características pode ser dividido em quatro etapas: (i) detecção, (ii) descrição, (iii) correspondência e (iv) refinamento. A Figura 9 ilustra o processo completo da correspondência de pontos em imagens. Na etapa de detecção, alguns operadores são aplicados às imagens com a finalidade de encontrar pontos-chave distintos. A etapa de descrição de pontos-chave tem o objetivo de extrair informações referentes aos pontos detectados de tal forma que estes pontos possam ser unicamente identificados. Na etapa de correspondência, cada ponto é correspondido ao ponto mais similar entre duas imagens, dado um critério de similaridade baseado em seus descritores. Por fim, na etapa de refinamento são eliminadas grande parte das falsas correspondências retornadas. Nas próximas seções deste trabalho, serão descritas com mais detalhes cada uma das etapas deste processo de correspondência de pontos em imagens. No Algoritmo 1 são mostrados os passos deste processo, em que p A e p B consistem no conjunto de pontos-chave detectados nas imagens A e B respectivamente, d A e d B consistem no conjunto de vetores descritores referentes aos pontos-chave detectados e v é o conjunto que contém pares de pontos correspondidos entre as imagensaeb. O presente trabalho segue este modelo básico de correspondência de pontos em imagens, assim como é comumente encontrado na literatura. Em cada uma das etapas, utilizam-se algoritmos distintos para realizar as tarefas de detecção, descrição, correspondência e refinamento. Imagem A Imagem B Detecção Descrição Correspondência Refinamento Figura 9 Etapas do processo de correspondência de pontos, entre duas imagens, que utilizam técnicas baseadas em características.

42 20 Capítulo 3. Fundamentação Teórica Algoritmo 1: Correspondência de pontos baseada em características Entrada: ImagemA, ImagemB Saída: Conjuntov que contém as correspondências dos pontos entreaeb p A Detector(A) p B Detector(B) d A Descritor(A, p A ) d B Descritor(B, p B ) v Correspondencia(d A, d B ) v Refinamento(v ) 3.1 Detecção e descrição de pontos-chave São descritos nesta seção os algoritmos detectores e descritores de pontos-chave utilizados neste trabalho. Escala do filtro gaussiano (primeira oitava) Escala do filtro gaussiano (próxima oitava) Gaussianas Diferença de Gaussianas (DoG)... Figura 10 Pirâmide de escala montada pelo algoritmo SIFT. Para cada oitava, é efetuada a convolução entre a imagem inicial e o filtro Gaussiano repetidamente para produzir um conjunto de imagens Gaussianas, suavizadas em vários níveis. Cada nível de suavização corresponde a uma camada, dentro da oitava. As imagens Gaussianas adjacentes são subtraídas para produzir as imagens Diferença-de-Gaussianas. Após cada oitava, o tamanho das imagens Gaussianas são reduzidas pela metade, e então o processo é repetido. Fonte: Adaptado de Lowe (2004).

43 3.1. Detecção e descrição de pontos-chave Algoritmo SIFT O algoritmo SIFT é composto por um algoritmo detector e um algoritmo descritor. Este algoritmo possui quatro etapas principais: (i) detecção de extremos, (ii) localização de pontos-chave, (iii) atribuição da orientação e (iv) descrição de pontos-chave. As duas primeiras etapas correspondem ao seu algoritmo detector e as duas etapas seguintes correspondem ao seu algoritmo descritor. A etapa de detecção de extremos tem o objetivo de encontrar os máximos e mínimos locais por meio de uma filtragem em cascata dada pela função DoG (Diferençade-Gaussianas). Primeiro, uma pirâmide de escala é construída de acordo com a Figura 10. Em várias escalas, é calculada a convolução bidimensional entre a imagem original I(x,y) com o operador DoG, que permite detectar variações de intensidades, como bordas. A função DoG é expressa pela Equação (1): D(x,y,σ) = (G(x,y,kσ) G(x,y,σ)) I(x,y), (1) em queσ representa a escala atual do filtro gaussiano,k consiste em uma constante real multiplicativa eg(x,y,σ) é a função Gaussiana dada pela Equação (2): G(x,y,σ) = 1 2πσ 2e (x2 +y2 /2σ2). (2) Após a geração da pirâmide, utilizando-se as imagens resultantes das diferenças de Gaussiana, cada ponto é comparado com seus vizinhos, tanto da imagem atual quanto das imagens adjacentes. Então, faz-se a seleção dos pontos candidatos a serem pontos-chave, como mostrado na Figura 11. Um ponto é selecionado se seu valor de intensidade for maior ou menor do que todos os seus 26 vizinhos. Na etapa de localização de pontos-chave, todos os pontos candidatos detectados na etapa anterior são avaliados. São rejeitados os pontos extremos com baixo contraste e os pontos os quais são mal localizados ao longo de uma borda. Todos os pontos restantes ao final desta etapa são definidos como pontos-chave. A etapa de atribuição da orientação é baseada em propriedades locais de cada ponto-chave, o que possibilita alcançar invariância à rotação da imagem. A escala na qual o ponto-chave foi detectado é usada para selecionar a imagem Gaussiana L(x,y) = G(x,y,σ) I(x,y) de escala mais próxima, garantindo que os cálculos sejam realizados em escala invariante. Para os pontos da região que contém o ponto-chave, são calculados a magnitude do gradientem(x,y), dada pela Equação (3), e a orientação θ(x,y), dada pela Equação (4). O tamanho desta região é determinada pela escala do ponto-chave.

44 22 Capítulo 3. Fundamentação Teórica m(x,y) = (L(x+1,y) L(x 1,y)) 2 +(L(x,y +1) L(x,y 1)) 2, (3) ( ) L(x,y +1) L(x,y 1) θ(x,y) = tan 1. (4) L(x+1,y) L(x 1,y) É construído então um histograma de orientações para os pontos desta região. São definidos 36 valores de θ(x,y) que abrangem 360 de orientações. Cada amostra na vizinhança do ponto-chave, adicionada ao histograma, é ponderada com base na magnitude m(x,y) e em uma janela gaussiana circular em torno do ponto-chave. Picos na orientação do histograma correspondem a direções dominantes. É encontrado o maior pico no histograma, e picos que correspondem a valores acima de 80% do maior pico, são usados para definir a orientação do ponto-chave. Na etapa de descrição dos pontos-chave, são calculados os descritores que representam suas respectivas regiões. Para tanto, é selecionada a imagem L(x,y) com a oitava referente ao ponto-chave. Em seguida, as orientações dos gradientes são rotacionadas em relação à orientação do ponto-chave. Após isto, é montada uma matriz de 16x16 pixels divididos em 4 regiões em torno do ponto-chave. Em cada região, é calculado um histograma de 8 direções com base na magnitude dos pixels. É aplicada uma ponderação gaussiana para dar menos ênfase aos gradientes mais afastados do ponto-chave. O descritor então é construído a partir do vetor que armazena este histograma. Este processo é ilustrado na Figura 12. Ao final, o vetor é normalizado para criar um descritor mais robusto à mudanças de iluminação. Escala do filtro gaussiano Figura 11 Detecção de máximos e mínimos locais do algoritmo SIFT. Os máximos e mínimos das imagens Diferença-de-Gaussianas são detectados por meio da comparação de um pixel (marcado com X) com seus 26 vizinhos (marcados com círculos) em uma região 3x3 da imagem atual e imagens adjacentes. Fonte: Adaptado de Lowe (2004).

45 3.1. Detecção e descrição de pontos-chave 23 y x (a) (b) (c) Figura 12 Construção do descritor SIFT. O descritor SIFT utiliza uma matriz de amostragem de 16x16 pixels divididos em 4 regiões de histogramas com 8 orientações, resultando em um vetor de dimensão 128. Para exemplificar, nesta figura é exibida uma matriz de 8x8 pixels divididos em 4 regiões. Em (a) é exibida a matriz de amostragem rotacionada em relação ao ponto-chave. Também é ilustrada a janela circular de ponderação Gaussiana. Em (b) são calculados os histogramas de orientações de cada região. Em (c) é exibido o histograma de 8 direções de uma região. Fonte: Adaptado de Lowe (2004) Algoritmo SURF O algoritmo SURF (Speeded Up Robust Features) pode ser visto como sendo uma aproximação do algoritmo SIFT. Na etapa de localização de pontos-chave, são criadas escalas de filtros em vez de se reduzir o tamanho da imagem iterativamente, como ocorre na montagem da pirâmide de escala do algoritmo SIFT. Para tanto, é determinado o cálculo aproximado da matriz Hessiana para cada escala diferente. A matriz Hessiana, dada pela Equação (5), é formada pelas derivadas parciais nas direções vertical, horizontal e diagonal de uma função. O algoritmo SURF utiliza o determinante da matriz Hessiana para detectar se há uma variação em uma determinada região da imagem. Se o valor do determinante for baixo, dado um limiar, a variação numa determinada região é baixa, caso contrário, a variação é alta. [ ] L xx (X,σ) L xy (X,σ) H(X,σ) =, (5) L xy (X,σ) L yy (X,σ) em quex representa um ponto da imagem, σ representa a escala, L xx (X,σ) é a convolução da derivada parcial da Gaussiana 2 x 2 g(σ) com a imagem I(x,y) a no eixo x, e de forma similar paral yy (X,σ), no eixoy, el xy (X,σ), no eixoxy.

46 24 Capítulo 3. Fundamentação Teórica Para a realização da aproximação da matriz Hessiana, o algoritmo utiliza filtros de caixa correspondentes a núcleos gaussianos de tamanho 9x9, como ilustrados na Figura 13. Utilizando a convolução destes filtros, é possível obter uma aproximação do determinante da matriz Hessiana, dada pela Equação (6): det(h aprox. ) = D xx D yy (0,9D xy ) 2. (6) em qued xx,d yy ed xy representam as aproximações das derivadas da Equação (5). Sobre cada ponto da imagem original é calculado o determinante, indicando o quanto de variação há naquele ponto. Após a geração da pirâmide de filtros, o algoritmo busca pontos invariantes a escala da mesma forma como ocorre no algoritmo SIFT. Cada ponto é comparado com seus vizinhos, tanto da imagem atual quanto das imagens adjacentes. Então, faz-se a seleção dos pontos candidatos a serem pontos-chave, de forma semelhante àquela exibida na Figura 11. Na etapa de descrição, o algoritmo utiliza wavelets 1 Haar, o que possibilita a determinação do valor do gradiente nas direções x e y. A fim de se obter a orientação dominante, as respostas wavelet Haar são computadas para todas as regiões onde se encontra o ponto-chave detectado. Uma vez que as respostas wavelet são determinadas, a orientação dominante é calculada pela soma de todas respostas horizontal e vertical dentro de uma janela deslizante de orientação. A orientação com o vetor mais longo é selecionada como orientação dominante do descritor. A Figura 14 ilustra o cálculo do descritor SURF. A Figura 13 Aproximações de núcleo Gaussiano do algoritmo SURF. Da esquerda para a direita: Derivadas parciais de segunda ordem na direção x exy e suas aproximações, utilizando núcleos gaussianos. As regiões em cinza correspondem ao valor zero. Fonte: Bay et al. (2006). 1 Wavelet é uma função capaz de decompor e representar outra função descrita no domínio do tempo ou do espaço, de forma a podermos analisar a função em diferentes escalas de frequência e de tempo.

47 3.1. Detecção e descrição de pontos-chave 25 y x dx dy Σdx Σdy Σ dx Σ dy (a) (b) Figura 14 Construção do descritor SURF. O descritor SURF pode utilizar uma matriz de amostragem de 8x8 pixels ou 16x16 pixels. Em (a) é exibida a matriz de amostragem. Para uma matriz de 8x8, o descritor resulta em um vetor de tamanho 64, já uma matriz de amostragem de 16x16 pixels, resulta em um descritor tamanho 128, formado pelo somatório obtido das respostas wavelets, exibidos em (b). partir das respostas wavelet, o descritor é calculado de acordo com a Equação (7): ( Descritor = dx, d y, d x, ) d y, (7) em qued x ed y são as respostas das wavelets Haar ao longo das direçõesxey respectivamente Algoritmo ORB Para explicar o algoritmo ORB (Oriented FAST and Rotated BRIEF), é necessário fazer uma breve descrição dos algoritmos FAST (Features from Accelerated Segment Test) e BRIEF (Binary Robust Independent Elementary Features), nos quais o algoritmo ORB é baseado. O algoritmo FAST, proposto por Rosten e Drummond (2006), consiste em um método de detecção de cantos, que possui um desempenho superior aos métodos que se baseiam na Diferença-de-Gaussianas. Para definir se um ponto é realmente um canto, é utilizada uma circunferência de 16 pixels. Se 12 pixels contíguos sobre a circunferência têm um brilho superior ao brilho do ponto em teste somado a um valor limiar, ou se estes pixels são mais escuros, então é definido como canto o ponto em teste. A Figura 15 ilustra a detecção de canto do algoritmo FAST. O algoritmo BRIEF, proposto por Calonder et al. (2010), consiste em um descritor binário eficiente que se baseia em testes de diferença de intensidade. Este algoritmo

48 26 Capítulo 3. Fundamentação Teórica p Figura 15 Detector de cantos FAST. Os quadrados em destaque são pixels usados na detecção de canto. O pixel p, no centro, é um candidato a canto. A circunferência pontilhada passa sobre 12 pixels contíguos os quais são mais claros que o pixelp. Fonte: Rosten e Drummond (2006). visa ser eficiente em memória e rápido para calcular e realizar a correspondência. Diferentemente dos algoritmos SIFT ou SURF, o algoritmo BRIEF não é invariante à rotação da imagem. A diferença essencial entre o descritor BRIEF e os descritores mencionados anteriormente é que o descritor BRIEF descreve as características em uma cadeia binária em vez de vetores que utilizam uma representação numérica em ponto flutuante. Para construir o descritor BRIEF, é utilizado um conjunto de comparações predefinidas de pares de pontos. A Figura 16 exibe o padrão com a localização dos pares de pontos de amostragem utilizados para as comparações neste algoritmo. Antes de efetuar as comparações, a imagem original é suavizada por meio de um filtro gaussiano, para assim, reduzir possíveis ruídos contidos na imagem. Considerando-se uma imagem suavizada I e um par de pontos (a,b) I, o teste binárioτ é definido pela Equação (8): 1, se I(a) < I(b) τ(a,b) =, (8) 0, caso contrário em que I(a) consiste na intensidade (brilho) do ponto a e I(b) consiste na intensidade do pontob.

49 3.1. Detecção e descrição de pontos-chave 27 Figura 16 Padrão de 128 pares de pontos de amostragem do algoritmo BRIEF. Fonte: Calonder et al. (2010). Um descritor BRIEF é então definido como uma sequência de bits dado pela Equação (9): Descritor = 2 i 1 τ(a i,b i ), (9) 1 i n em quenconsiste na quantidade de pares de pontos. Como dito anteriormente, o algoritmo ORB é baseado na combinação das técnicas FAST e BRIEF. Isto justifica seu acrônimo (Oriented FAST and Rotated BRIEF) com o objetivo de cobrir a deficiência da variância de rotação e escala, e ao mesmo tempo manter um bom desempenho. Este algoritmo pode ser entendido como uma melhoria do componente de orientação do algoritmo FAST e a implementação da característica de invariância à rotação ao algoritmo BRIEF. Diferentemente do algoritmo BRIEF, o algoritmo ORB utiliza um padrão de amostragem que contém 512 pares de pontos, resultando em um descritor de tamanho 512. Como o algoritmo FAST não detecta características em multiescala, o algoritmo ORB utiliza uma pirâmide de escalas de imagens e aplica o detector FAST em cada nível da pirâmide. Em seguida, os pontos detectados são filtrados com a medida de canto Harris (HARRIS; STEPHENS, 1988) com a finalidade de reduzir a quantidade de pontos ao longo de bordas. A técnica FAST, aprimorada no algoritmo ORB, foi chamada de ofast ou FAST Keypoint Orientation. Como o detector FAST, originalmente, não inclui um operador de orientação, a modificação proposta adiciona orientação aos pontos-chave obtidos pelo detector FAST por meio do cálculo do centroide de intensidade, que tem como pressuposto a ideia de que a partir do primeiro canto encontrado, haverá uma distância do

50 28 Capítulo 3. Fundamentação Teórica centro que contém o canto até o seu centroide calculado. Esta distância permite encontrar o ângulo de orientação deste caminho. Com os momentos 2 dado pela Equação (10), é calculado o centroide de intensidade, por meio da Equação (11): m pq = x p y q I(x,y), p,q = {0,1}, (10) ( m10 C =, m ) 01. (11) m 00 m 00 Construindo um vetor do centro que contém o canto para o centroide C, a orientaçãoθ do caminho é simplesmente dada pela Equação (12): θ = atan2(m 01,m 10 ). (12) No algoritmo ORB, o descritor de características BRIEF foi modificado para possibilitar o tratamento de imagens mesmo que estas sejam apresentadas com diferentes ângulos de rotação. Esta nova modificação foi denominada de rbrief ou Rotation-Aware BRIEF. Esta modificação considera a orientação θ do ponto-chave, detectado na etapa anterior, que é utilizada para adicionar orientação ao descritor. Utilizando o ângulo de orientaçãoθ e uma matriz de rotação para rotacionar o padrão de amostragem, o descritor BRIEF é aplicado. Dessa forma, o descritor ORB é robusto por manter-se invariante à rotação e escala Algoritmo BRISK O algoritmo BRISK (Binary Robust Invariant Scalable Keypoints), proposto por Leutenegger et al. (2011), é um algoritmo de detecção e descrição de pontos-chave que provê invariância tanto na escala quanto na rotação de imagens. Seu detector de pontoschave é constituído pelo método AGAST (Adaptive and Generic Accelerated Segment Test), proposto por Mair et al. (2010), o qual corresponde essencialmente ao método FAST com melhorias no tempo de processamento. Na etapa de detecção, para manter a invariância à escala, é montada uma pirâmide de escalas da imagem. A pirâmide de escalas do algoritmo BRISK consiste em n oitavasc i enintraoitavasd i, parai = {0,1,...,n 1}, em que, por padrão, os autores definem n = 4. As oitavas da pirâmide são formadas por meio do redimensionamento consecutivo da imagem originalc 0 pela metade, realizando assim uma subamostragem. Cada intraoitavad i é localizada entre as camadasc i ec i+1, como ilustrado na Figura Momento de imagem, em Visão Computacional e áreas afins, consiste em uma média ponderada específica da intensidade dos pixels da imagem.

51 3.1. Detecção e descrição de pontos-chave 29 log 2( t ) t : escala oitavac i+1 i+1 intraoitava d i oitava c i i posição interpolada intraoitava d i-1 oitava c i-1 i-1 medida s Figura 17 Pirâmide de escala montada pelo algoritmo BRISK. Um ponto-chave é identificado na oitava c i por meio da análise dos 8 pontos vizinhos das oitavas inferior e superior. Por meio do valor máximo da medida s, e utilizando as três camadas, é possível determinar a escala real do ponto-chave detectado na posição interpolada. Fonte: Adaptado de Leutenegger et al. (2011). Após a construção da pirâmide, é aplicado o detector AGAST em cada oitava e intraoitava da pirâmide para identificar potenciais regiões de interesse. Em seguida, os pontos contidos nestas regiões são submetidos a uma supressão de não-máximos. Para a realização da supressão de não-máximos os autores definem a medidas. Esta medida é definida como sendo o limiar máximo em que um ponto é considerado canto por meio do algoritmo FAST. Assim, a supressão de não-máximos consiste em dois critérios: (i) o ponto em questão deve atingir o valor máximo na medida s com respeito aos seus pontos vizinhos da oitava atual; (ii) os valores das medidas s, das oitavas superior e inferior, devem ser menores que o valor da medida s na oitava atual. A Figura 17 exibe também a curva da medida s para as oitavas analisadas. Esta curva também é útil para definir a escala real do ponto-chave detectado. Após a supressão de não-máximos, os pontos detectados são definidos como pontos-chave.

52 30 Capítulo 3. Fundamentação Teórica Figura 18 Padrão de amostragem do algoritmo BRISK. Fonte: Leutenegger et al. (2011). O descritor BRISK, assim como o descritor BRIEF, é composto por uma cadeia binária concatenada, resultante de simples comparações de intensidade. O descritor BRISK faz uso de um padrão utilizado para a amostragem da vizinhança do ponto-chave detectado, ilustrado na Figura 18. Este, consiste em um padrão simétrico que possui pontos de amostragem posicionados em círculos concêntricos em torno do ponto-chave. Cada círculo concêntrico representa uma suavização gaussiana com desvio padrão proporcional ao tamanho do círculo, para redução de ruídos. No padrão utilizado, os autores definem dois tipos de pares de pontos: pares longos e pares curtos. Pares curtos são pares de pontos de amostragem no qual sua distância euclidiana é menor que um determinado limiar δ max, e pares longos são aqueles no qual sua distância é maior que um certo limiar δ min. Os pares longos são utilizados para determinar a orientação, e os pares curtos são utilizados na comparação de intensidade. O algoritmo BRISK estima a orientação do ponto-chave e a rotação do padrão de amostragem por meio da soma de todos os gradientes locais entre todos os pares longos, o que o torna invariante a rotação, retornando o ângulo do ponto-chave. Por meio do conjunto de comparações de intensidade entre todos os pares curtos, o descritor BRISK resulta em uma cadeia binária de tamanho Algoritmo FREAK O algoritmo FREAK (Fast Retina Keypoint), proposto por Alahi et al. (2012), corresponde apenas a um método descritor de pontos-chave. Este algoritmo possui inspiração no sistema visual humano, e, assim como o descritor BRISK, o descritor FREAK é composto por uma cadeia binária resultante de simples comparações de

53 3.1. Detecção e descrição de pontos-chave 31 Figura 19 Padrão de amostragem do algoritmo FREAK. Fonte: Alahi et al. (2012). intensidade em torno do ponto-chave. Este algoritmo utiliza um padrão para a amostragem dos pontos vizinhos do ponto-chave detectado, ilustrado na Figura 19. Apesar da semelhança com o padrão utilizado no descritor BRISK, o padrão de amostragem utilizado no algoritmo FREAK possui círculos sobrepostos de tamanhos variados. Cada círculo representa uma suavização gaussiana com desvio padrão proporcional ao seu tamanho, com a finalidade de reduzir ruídos na imagem. O centro de cada círculo corresponde a um ponto de amostragem. Na medida em que se aproxima ao centro do padrão, a densidade de pontos de amostragem aumenta, pois este padrão é inspirado na retina do olho humano, no qual a distribuição das células ganglionares, responsáveis pela transmissão da informação da luz ao sistema nervoso, aumenta na medida em que se aproxima do centro da retina. Para o cálculo do descritor, o padrão de amostragem é posicionado no centro de cada ponto-chave. A escala do padrão é ajustada de forma proporcional à escala no qual o ponto-chave foi detectado. Seja um par de pontos (a,b) do padrão de amostragem, o descritor é definido como uma sequência de bits dada pela Equação (13): Descritor = 1 i n 2 i 1 τ(a i,b i ), (13) em quenconsiste na quantidade de pares de pontos eτ consiste no teste binário dado

54 32 Capítulo 3. Fundamentação Teórica pela Equação (14): 1, se I(a) > I(b) τ(a,b) =, (14) 0, caso contrário em quei(a) corresponde a intensidade do pontoaei(b) corresponde a intensidade do pontob. No padrão utilizado, como há diversas possibilidades de pares de pontos para a comparação de intensidade, os autores definem um conjunto de 512 melhores pares, por meio de um algoritmo de aprendizagem de máquina. O algoritmo FREAK calcula a orientação do ponto-chave por meio da soma dos gradientes locais sobre os pares de pontos selecionados. O cálculo da orientação do ponto-chave é dado pela Equação (15): O = 1 n (I(a) I(b)) a b a b, (15) 0 i n em que n corresponde à quantidade de pares utilizados, I(a) consiste na intensidade do ponto a e I(b) consiste na intensidade do ponto b. Esta orientação é utilizada para rotacionar o padrão sobre o ponto-chave detectado. 3.2 Correspondência de descritores Para determinar o quão similar é um descritor de outro, e assim efetuar a correspondência, é necessário a definição de um critério de similaridade. Este critério de similaridade é definido de acordo com a natureza do descritor. Para descritores que utilizam uma representação numérica em ponto flutuante, como os descritores SIFT e SURF, é usualmente utilizado a norma L2 (JIANG et al., 2013; CALONDER et al., 2010). Para descritores representados por meio de uma cadeia binária, como os descritores ORB e BRISK, é utilizado como critério de similaridade a distância de Hamming, devido sua simplicidade e rapidez (HEINLY et al., 2012). Sejam os descritores p e q de dimensãon, a norma L2 e a distância de Hamming são dadas pela Equação (16) e Equação (17) respectivamente: L2(p,q) = n (q i p i ) 2, (16) i=1

55 3.3. Refinamento das correspondências 33 H(p,q) = n q i p i. (17) i=1 Comparado à correspondência de descritores que utilizam uma representação numérica em ponto flutuante, a correspondência de vetores binários é mais simples, pois a correspondência mais próxima consiste em pares de descritores com a menor distância de Hamming. O número de bits diferentes entre dois descritores mede sua dissemelhança. O uso da distância de Hamming para a correspondência em descritores binários torna este processo eficiente (CALONDER et al., 2010). Segundo Lowe (2004), para descritores que possuem uma dimensão elevada, assim como o descritor SIFT que possui um vetor de dimensão 128, é difícil a construção de algoritmos, para a correspondência de descritores, que possam identificar o ponto vizinho mais próximo em espaços tridimensionais elevados e que sejam mais eficientes computacionalmente do que a busca exaustiva. Mesmo algoritmos, tais como o Kd-Tree (BENTLEY, 1975), não fornecem nenhum ganho de velocidade comparado à busca exaustiva para espaços dimensionais de tamanho maior que 10. Assim como utilizado na literatura (JIANG et al., 2013; YU et al., 2012; LEU- TENEGGER et al., 2011), na etapa de correspondência de descritores deste trabalho, é utilizado o método de busca exaustiva. No método de busca exaustiva, para cada descritor da primeira imagem, busca-se pelo descritor na segunda imagem que possui a menor distância. Este par de descritores então é retornado, representando assim a correspondência de um par de pontos-chave. 3.3 Refinamento das correspondências Para o processo de correspondência de pontos em imagens, faz-se necessário uma etapa de refinamento na qual falsas correspondências são eliminadas. Nesta etapa, o algoritmo RANSAC (RANdom SAmple Consensus) é o mais comumente utilizado na literatura. Além de amplamente utilizado, o algoritmo RANSAC permite encontrar correspondências consistentes para estimar a homografia (ver Anexo A) entre duas imagens (BROWN; LOWE, 2007). A seguir, será feita uma breve descrição do algoritmo RANSAC. O algoritmo RANSAC, proposto por Fischler e Bolles (1981), é uma técnica de estimação robusta para extração de dados que se ajustam a um modelo de um conjunto de dados de entrada. Neste caso, os dados de entrada correspondem aos pontos detectados pelos algoritmos de detecção de pontos-chave em imagens, descritos na Seção 3.1. Diferentemente de outras técnicas que utilizam muitos dados para obter

56 34 Capítulo 3. Fundamentação Teórica y c b a d Figura 20 Ajuste de uma reta em um conjunto de pontos bidimensionais. Os pontos fechados correspondem aos pontos válidos e os pontos abertos correspondem aos pontos inválidos. A cada iteração, o algoritmo seleciona aleatoriamente dois pontos e mede a quantidade de pontos dentro de um limiar de distância t, representado pelas retas pontilhadas. Os pontos próximos da reta a e b representam o conjunto dos consensos por possuir uma quantidade satisfatória de pontos dentro do limiar de distância. Assim, a reta a e b é o melhor ajuste comparado à reta formada pelos pontosced. Fonte: Hartley e Zisserman (2000). x uma solução inicial, para assim remover dados espúrios (outliers), o algoritmo RANSAC utiliza apenas um conjunto mínimo e suficiente de dados necessários para uma primeira estimativa. Uma vantagem deste algoritmo é a sua capacidade, em um modelo, de realizar a estimativa de parâmetros de forma robusta de tal modo a alcançar um bom grau de acerto mesmo quando um número significativo de dados espúrios estejam nos dados de entrada (FISCHLER; BOLLES, 1981). A Figura 20 ilustra um exemplo de aplicação do algoritmo, no qual é estimada uma reta em um conjunto de pontos em duas dimensões. O problema ilustrado nesta figura consiste em encontrar a reta que minimiza a soma das distâncias em um conjunto de pontos, sujeito à restrição de que nenhum dos pontos válidos (inliers) divergirá de um certo limiar t. Com o uso do algoritmo RANSAC, são selecionados dois pontos aleatoriamente para definir uma reta. Em seguida, repete-se esta seleção aleatória um determinado número de vezes. Neste caso, a reta com o maior número de pontos que ficaram dentro do limiar de distância t é considerada como ajuste ótimo, e os pontos que ficaram dentro deste limiar de distância constituem o conjunto dos consensos, ou seja, o conjunto de pontos válidos. Dessa forma, por meio de várias iterações, é possível encontrar um conjunto de pontos que atenda o problema em questão. A quantidade de pontos no conjunto dos consensos é o que determina a eficácia do método. Como o algoritmo RANSAC se trata de um algoritmo iterativo, há dois parâmetros que definem o critério de parada: um parâmetro T que define o número de

57 3.4. Métricas de avaliação 35 pontos válidos que deve ser alcançado e um parâmetron que define o número máximo de iterações que o algoritmo deverá realizar. O algoritmo RANSAC é resumido de acordo com os passos descritos a seguir (HARTLEY; ZISSERMAN, 2000): 1. Selecione aleatoriamente um subconjunto mínimosdentro do conjunto dos dados de entradas, para estimar inicialmente os parâmetros do modelo; 2. Determine o conjunto de elementos S i que estão dentro do limiar de distânciat; 3. Se a quantidade de elementos ems i for maior quet, então o modelo é estimado utilizando todos os pontos des i e o algoritmo termina; 4. Se a quantidade de elementos em S i for menor que T, então é selecionado um novo subconjuntos, e então repete-se os passos anteriores; 5. Após N tentativas, seleciona-se o maior conjunto de consensos S i, e então o modelo é estimado utilizando todos os pontos des i. No problema de correspondência de pontos em imagens, o algoritmo RANSAC tenta estimar os parâmetros da matriz de homografia entre duas imagens de acordo com o modelo definido pela Equação (18): p A = Hp B, (18) em que p A consiste em um ponto selecionado na primeira imagem,p B consiste em um ponto selecionado na segunda imagem eh consiste na matriz de homografia estimada. O limiar de distância t para o problema em questão é definido de acordo com a Equação (19): P A HP B > t, (19) em que P A consiste em um conjunto de pontos da primeira imagem e P B consiste em um conjunto de pontos da segunda imagem. 3.4 Métricas de avaliação No processo de avaliação dos algoritmos, para determinar se uma correspondência é correta (verdadeira correspondência), é necessário definir o conceito de erro de sobreposição.

58 36 Capítulo 3. Fundamentação Teórica 5% 10% 20% 30% 40% 50% Figura 21 Exemplos de erro de sobreposição entre duas regiões. Fonte: Adaptado de Mikolajczyk et al. (2005). O erro de sobreposição mede o quão duas regiões são de fato correspondentes, dada a matriz de homografia. Neste caso, os pontos da imagem em questão são projetados sobre a outra imagem por meio da matriz de homografiah. O erro de sobreposição é definido como sendo um menos a razão entre a interseção e a união das regiões que contém o ponto-chave, de acordo com a Equação (20) (MIKOLAJCZYK; SCHMID, 2005): ǫ = 1 (A H T BH)/(A H T BH), (20) em queaeb são as regiões eh é a matriz de homografia entre o par de imagens. A Figura 21 exibe exemplos de erro de sobreposição entre duas regiões. Assim como no trabalho de Mikolajczyk et al. (2005), assume-se que uma correspondência é verdadeira se o erro de sobreposição for menor que40%, isto é,ǫ < 0,4. A seguir, serão descritas três das principais métricas utilizadas para a avaliação do processo de correspondência de pontos em imagens, quais sejam: repetibilidade, precisão e revocação Repetibilidade A repetibilidade (repeatability) representa a capacidade de detecção dos mesmos pontos na cena sob diferentes ponto de visão, mudanças de iluminação ou ruídos. O cálculo da repetibilidade é dado pela razão entre o número de verdadeiras correspondências e o número mínimo de pontos-chave visíveis em ambas as imagens (LEUTENEGGER et al., 2011; MIKOLAJCZYK et al., 2005): repetibilidade = verdadeiras correspondências, (21) min(p A,p B ) em quep A ep B correspondem aos pontos-chave detectados nas imagensaeb, respectivamente, e que são visíveis tanto emaquanto emb.

59 3.4. Métricas de avaliação 37 A repetibilidade diz respeito somente ao processo de detecção de pontos-chave. A alta taxa de repetibilidade entre duas imagens representa que mais pontos podem ser potencialmente correspondidos, impactando na melhora do resultado da correspondência (JIANG et al., 2013) Precisão A taxa de precisão, representa a quantidade de verdadeiras correspondências retornadas em relação à quantidade total de correspondências retornadas (correspondências computadas ao final do processo de correspondência de pontos em imagens): precisão = verdadeiras correspondências retornadas. (22) correspondências retornadas Revocação A revocação (recall) representa a quantidade de verdadeiras correspondências retornadas, em relação à quantidade total de verdadeiras correspondências. A quantidade de verdadeiras correspondências é dada pela quantidade de pontos sobrepostos em ambas as imagens nos quais seus erros de sobreposição foram menores que0,4 (como descrito no início desta subseção). A quantidade de verdadeiras correspondências retornadas são aquelas verdadeiras correspondências que o algoritmo retornou ao final do processo de correspondência: revocação = verdadeiras correspondências retornadas. (23) verdadeiras correspondências As métricas de precisão e revocação dizem respeito ao processo de descrição de pontos-chave. Seus valores podem variar de 0 a 1, e é desejado que se tenha, ao mesmo tempo, alta precisão e alta revocação. A Figura 22 exemplifica o uso destas métricas.

60 38 Capítulo 3. Fundamentação Teórica Verdadeiras correspondências Imagem A Imagem B (a) Correspondências retornadas Imagem A Imagem B (b) Figura 22 Exemplo de aplicação das métricas de repetibilidade, precisão e revocação. Cada elipse na figura representa a região no qual se encontra um pontochave detectado. Os pontos-chave da ImagemAsão projetados, por meio da matriz de homografia, na ImagemB. Em (a) são exibidas3verdadeiras correspondências, determinadas por meio do erro de sobreposição. Em (b) é exemplificado um caso em que, ao final da etapa de correspondência, são retornadas 2 correspondências, sendo apenas uma verdadeira. Neste exemplo, tem-se um valor de repetibilidade igual a3/4, precisão igual a1/2 e revocação igual a1/3.

61 39 4 Metodologia Este capítulo descreve a metodologia empregada na realização deste trabalho. Será apresentada a descrição dos passos utilizados para determinar o conjunto de algoritmos utilizados na correspondência de pontos em imagens mais adequados para o problema de autocalibração de câmeras. Foram estudados os tipos de abordagens existentes para a solução do problema de correspondência de pontos em imagens, quais sejam: técnicas baseadas em área e técnicas baseadas em características. Durante a revisão bibliográfica, desenvolvida no Capítulo 2, ficou evidenciado que o uso de abordagens baseadas em características têm demonstrado ser uma alternativa promissora para problemas de correspondência em imagens de uma forma geral, incluindo o problema de autocalibração de câmeras. Dessa forma, no âmbito do conjunto de abordagens para correspondência de pontos em imagens baseadas em características, foram estudados e implementados os algoritmos SIFT, SURF, ORB, BRISK, FREAK, RANSAC e o método de correspondência por busca Algoritmos: } - SIFT - SURF - ORB - BRISK Algoritmos: } - SIFT - SURF - ORB - BRISK - FREAK Algoritmo: - Busca exaustiva } Captura de imagens Detecção Descrição Correspondência Sistema de correspondência de pontos em imagens Algoritmo: - RANSAC } Refinamento Autocalibração Figura 23 Sistema de correspondência de pontos em imagens.

62 40 Capítulo 4. Metodologia exaustiva. A Figura 23 exibe uma visão geral do sistema de correspondência de pontos em imagens implementado neste trabalho. Para a implementação dos algoritmos utilizou-se a linguagem de programação C++, com o compilador GCC , e a biblioteca de Visão Computacional OpenCV 2 (Open Source Computer Vision Library). O OpenCV é uma biblioteca multiplataforma (Linux, Windows, OS X, ios e Android), totalmente livre ao uso comercial e acadêmico, para o desenvolvimento de aplicações na área de Visão Computacional. Os algoritmos estudados já se encontram disponíveis na versão mais recente desta biblioteca (versão 2.4.8). Estes algoritmos possuem interfaces uniformes, o que facilita a implementação para comparação. Os valores dos parâmetros, utilizados na execução dos algoritmos, seguem aqueles fornecidos pelos autores dos métodos utilizados. No Apêndice A são exibidos estes valores bem como a descrição de cada parâmetro. É importante lembrar aqui que, os métodos SIFT, SURF, ORB e BRISK são compostos por dois algoritmos: um algoritmo detector e um algoritmo descritor, e, neste trabalho são avaliados estes algoritmos de forma separada, a fim de se obter uma melhor compreensão dos resultados. Para se determinar os algoritmos mais adequados em um sistema de correspondência de pontos em imagens para autocalibração de câmeras, foi realizada uma bateria de experimentos. A realização destes experimentos foi dividida em quatro passos principais. O primeiro passo consistiu em avaliar os algoritmos detectores de pontos-chave. O segundo passo consistiu em avaliar os algoritmos descritores no processo completo de correspondência, que engloba os algoritmos detectores, descritores e o algoritmo de correspondência utilizado. O terceiro passo, consistiu em avaliar o método de refinamento de correspondências, por meio de uma análise de sensibilidade. Por fim, o quarto passo consistiu em fazer uma análise global do sistema de correspondência de pontos em imagens aplicados em um sistema de autocalibração de câmeras. A metodologia utilizada para cada um dos passos descritos será detalhada nas seções a seguir. Para o método de busca exaustiva, da etapa de correspondência, será avaliado neste trabalho apenas o seu tempo de processamento, pois em essência, este algoritmo pode ser visto como um método exato de força bruta. Neste caso, não são introduzidos erros de correspondência por parte deste algoritmo, e, seu funcionamento é muito simples para exigir uma métrica específica para sua análise. 1 Disponível em: < 2 Disponível em: <

63 4.1. Avaliação dos algoritmos detectores Avaliação dos algoritmos detectores Para a avaliação dos algoritmos detectores, utilizaram-se diversas sequências de imagens de uma base de dados (detalhada no Capítulo 5). Estas sequências de imagens possuem distúrbios e transformações típicas ocorridas em cenas do mundo real e que são relevantes para um sistema de autocalibração de câmeras. São elas: desfocagens (blur), diferenças no ponto de visão, escala, rotação, iluminação e compressão JPEG. Vale ressaltar aqui que a compressão JPEG não é uma característica da cena ou da câmera em questão, e sim do processo de captura de imagens. A Figura 24 ilustra uma sequência de imagens utilizada. Nestes experimentos, foram utilizadas as matrizes de homografia fornecidas pela base de dados utilizada. Elas descrevem a transformação projetiva (para uma definição formal, ver Anexo A) entre os pares de imagem para que as verdadeiras correspondências possam ser calculadas, sendo utilizadas como gabarito dos experimentos. Cada matriz de homografia descreve a transformação da primeira imagem em relação às outras da mesma sequência, já que a correspondência de pontos nas imagens é realizada aos pares. Para cada par de imagens, são detectados os pontos-chave. Os pontos-chave da primeira imagem são projetados na outra imagem e então são calculados os erros de sobreposição das regiões no qual se encontram sobrepostos os pontos-chave da primeira imagem com os pontos-chave da segunda imagem. A partir do erro de sobreposição, é determinado se a correspondência entre os dois pontos é uma correspondência correta ou não. Após isto, é avaliado a repetibilidade do atual par de imagens. A Figura 25 ilustra a metodologia utilizada para a avaliação dos algoritmos detectores. Foram avaliados os algoritmos detectores SIFT, SURF, ORB e BRISK. Nesta etapa, foi mensurado também o tempo médio de processamento, medido em milissegundos, Transformação: redução de iluminação na cena Imagem 1 Imagem 2 Imagem 3 Imagem 4 Imagem 5 Imagem 6 Figura 24 Exemplo de sequência de imagens utilizada na avaliação dos algoritmos. Em cada sequência da base de dados, as imagens são ordenadas em ordem crescente em relação às variações de uma determinada transformação, portanto a correspondência do par formado pela primeira e pela última imagem da sequência é mais difícil, comparado à correspondência do par formado pela primeira e pela segunda imagem.

64 42 Capítulo 4. Metodologia Img. 1 Detecção de pontos-chave Projeção dos pontos-chave Cálculo dos erros de sobreposição Cálculo da Repetibilidade Img. 2...n Detecção de pontos-chave Figura 25 Metodologia utilizada para avaliação dos algoritmos detectores. para 30 execuções em cada par de imagens de cada sequência (49 pares de imagens no total), resultando em 1470 execuções de cada algoritmo. O tempo de processamento é o tempo de relógio que cada algoritmo detector levou para concluir sua tarefa. 4.2 Avaliação dos algoritmos descritores Para a avaliação dos algoritmos descritores, foram utilizadas as métricas de precisão e revocação. Este experimento engloba as etapas de detecção, descrição e correspondência do sistema de correspondência de pontos em imagens. A metodologia utilizada aqui foi inspirada nos trabalhos de Leutenegger et al. (2011) e Mikolajczyk e Schmid (2005). Uma curva de precisão por revocação é gerada para um par de imagens de cada uma das sequências das bases de dados. Este par de imagens é formado pela primeira imagem da sequência e uma outra imagem qualquer, da mesma sequência. Este par é selecionado de tal forma que as curvas, para os diferentes algoritmos, sejam visivelmente distintas. Para a determinação dos valores de precisão e revocação, são detectados e descritos os pontos-chave no par de imagens. Em seguida, é realizada a correspondência de cada descritor entre o par de imagens. Esta correspondência é realizada por diversas vezes, variando o limiar de similaridade entre os descritores (limiar de distância) de zero até o valor em que não haja nenhuma correspondência. Para cada valor do limiar, são calculadas a precisão e a revocação. Assim como na avaliação dos algoritmos detectores, a matriz de homografia é utilizada neste experimento para determinar as correspondências corretas. A Figura 26 ilustra a metodologia utilizada para a avaliação dos algoritmos descritores.

65 4.3. Análise do processo de correspondência 43 Img. 1 Detecção/Descrição de pontos-chave Correspondência Cálculo da Precisão e Revocação Img. n Detecção/Descrição de pontos-chave Variação no limiar de similaridade Figura 26 Metodologia utilizada para avaliação dos algoritmos descritores. Foram avaliados os algoritmos descritores SIFT, SURF, ORB, BRISK e FREAK. Nesta etapa, foi fixado um algoritmo detector que, neste caso, consistiu no algoritmo detector ORB, por ter apresentado, sistematicamente, melhores valores de repetibilidade e de tempo de processamento (ver Seção 5.1). Para cada algoritmo descritor, foram realizadas 30 execuções em cada par de imagens e mensurado o seu tempo médio de processamento, em milissegundos. Os resultados são exibidos na Seção Análise do processo de correspondência Um dos principais autores na área de autocalibração de câmeras, Faugeras et al. (1992), mostra, por meio de um conjunto de equações projetivas, cuja descrição está fora do escopo deste trabalho, que a principal restrição imposta ao processo de correspondência de pontos pelo sistema de autocalibração de câmeras é em relação ao erro em pixels. Baseado neste estudo, foi mensurado o erro em pixels de cada ponto correspondente nas imagens da base de dados. Esta medida consiste em verificar o quão distante está o pixel correspondido de sua posição ideal. Isto é feito por meio da distância euclidiana entre a coordenada ideal e a coordenada real do pixel. Para determinar a coordenada ideal, foi utilizada a coordenada do ponto na primeira imagem projetado na segunda imagem por meio da matriz de homografia. A Figura 27 ilustra o erro em pixels de uma correspondência retornada. Todos os experimentos desta etapa foram realizados com o algoritmo detector ORB variando-se os algoritmos descritores SIFT, SURF, BRISK, ORB e FREAK. Para a correspondência, foi utilizado o algoritmo de busca exaustiva. Foi mensurado também, o tempo médio de processamento, de etapa de correspondência do sistema de correspondência de pontos em imagens, referente a 30

66 44 Capítulo 4. Metodologia H p' A d p A p B Imagem A Imagem B Figura 27 Erro em pixels de uma correspondência. O par de pixelsp A ep B consiste em uma correspondência retornada ao final do processo de correspondência de pontos entre as Imagens A e B. O pixel p A consiste na projeção do pixel p A na Imagem B, por meio da matriz de homografia H. A distância d, entre o pixelp A ep B, consiste no erro em pixel. execuções em toda a base de dados. 4.4 Avaliação do método de refinamento Nesta etapa do trabalho, foram realizados experimentos de correspondência de pontos em imagens com e sem o bloco responsável pelo refinamento destas correspondências, constituído pelo algoritmo RANSAC. O objetivo deste experimento consistiu em verificar o comportamento da etapa de refinamento para o sistema de correspondência de pontos em imagens. Neste experimento foi realizada uma análise de sensibilidade, na qual foi verificada a variação no valor de precisão para uma determinada variação de transformação (rotação, desfocagem e variação de brilho), dada uma imagem de teste. A Figura 28 ilustra a metodologia utilizada nesta etapa do trabalho. A partir de uma imagem de teste, são geradas várias imagens por meio da aplicação de transformações artificiais 3. Para transformações de rotação, a imagem de teste foi rotacionada de0a360 graus com incrementos de15 graus. Para transformações de desfocagem, foi aplicado um filtro gaussiano na imagem de acordo com a Equação (2), com σ variando em números inteiros de 1 até 10. Para transformações de brilho, foram somados valores inteiros variando de 120 até +120 com incrementos de 10, em cada pixel da imagem. É importante ressaltar aqui que, as imagens utilizadas nos experimentos são convertidas em escala de cinza com profundidade de8bits, portanto cada pixel de uma imagem pode assumir valores de intensidade de0até Chamamos neste trabalho de artificial uma transformação gerada por meio de software, diferentemente de uma transformação gerada em um cenário real, a partir do uso de uma câmera para captura de imagens.

67 4.4. Avaliação do método de refinamento 45 Img. teste Detecção/Descrição de pontos-chave Transformações Artificiais Correspondência Refinamento Img. 1...n Detecção/Descrição de pontos-chave Cálculo da Precisão (sem Refinamento) Cálculo da Precisão (com Refinamento) Figura 28 Metodologia utilizada para avaliação do método de refinamento. Como o algoritmo RANSAC se trata de um algoritmo estocástico, que utiliza uma função de geração de números aleatórios, se faz necessário fixar a sequência dos números aleatórios gerados para que se garanta a reprodutibilidade dos resultados. Na implementação utilizada do algoritmo RANSAC, da biblioteca OpenCV, a semente do gerador de número aleatórios é fixada no valor , e o número máximo de iterações é fixado em 2000 iterações. O valor do limiar de distância do algoritmo RANSAC foi definido como sendo1pixel. O tempo médio de processamento do processo completo de correspondência de pontos em imagens também foi mensurado, referente a 30 execuções de cada algoritmo em toda a base de dados. Finalmente, após esta última etapa de refinamento do sistema de correspondência de pontos em imagens, pode-se executar o método de autocalibração de câmeras em questão, conforme ilustrado na Figura 23. Entretanto, é importante ressaltar que o desenvolvimento e implementação de métodos de autocalibração de câmeras estão fora do escopo deste trabalho, o qual é parte integrante de um projeto maior, que visa desenvolver uma metodologia de autocalibração de câmeras para aplicações em tempo real. Sendo assim, buscou-se aqui focar exclusivamente na etapa de correspondência, cujo resultado é crítico para o desempenho do processo de autocalibração. A utilização e a avaliação do sistema de correspondência proposto neste trabalho no âmbito de uma metodologia de autocalibração de câmeras são consideradas como etapas de trabalhos futuros.

68

69 47 5 Resultados Buscando-se avaliar os algoritmos estudados para a correspondência de pontos em imagens, considerou-se nesta etapa a base de dados proposta por Mikolajczyk et al. (2005) comumente utilizada na literatura (HEINLY et al., 2012; YU et al., 2012; RUBLEE et al., 2011; LEUTENEGGER et al., 2011; CALONDER et al., 2010; PIMENOV, 2009; BAY et al., 2006; MIKOLAJCZYK; SCHMID, 2005). Esta base de dados consiste em um conjunto de sequências de imagens, disponíveis publicamente 1. Cada uma destas sequências possui um conjunto de imagens referentes a uma cena, designadas a comparar e testar a robustez dos processos de correspondência de pontos em imagens. A Figura 29 mostra algumas das imagens de cada sequência desta base de dados. Como esta base de dados não possui sequências de imagens com transformações puras de rotação ou escala, foi utilizado para complementá-la a base de dados proposta por Heinly et al. (2012), também disponível publicamente 2. O Quadro 2 sumariza as características de cada uma das sequências de imagens das bases de dados utilizadas. Nas bases de dados, além das imagens, são dadas as matrizes de homografia correspondentes. Elas descrevem a transformação projetiva entre os pares de imagem para que as verdadeiras correspondências possam ser calculadas, sendo utilizadas como gabarito dos experimentos. Sequência de imagens Tamanho em pixels Quantidade de imagens Transformações em teste bikes 1000x700 6 Desfocagem trees 1000x700 6 Desfocagem graffiti 800x640 6 Ponto de visão wall 1000x700 6 Ponto de visão venice 1024x768 7 Escala ceiling 600x800 9 Rotação boat 800x640 6 Escala e rotação leuven 921x614 6 Iluminação ubc 800x640 6 Compressão JPEG Quadro 2 Informações sobre as sequências de imagens da base de dados utilizadas. 1 Disponível em: < 2 Disponível em: <

70 48 Capítulo 5. Resultados (a) imagens da sequência "bikes" (b) imagens da sequência "trees" (c) imagens da sequência "graffiti" (d) imagens da sequência "wall" (e) imagens da sequência "venice" (f) imagens da sequência "boat" (g) imagens da sequência "leuven" (h) imagens da sequência "ubc" Figura 29 Exemplos de imagens das bases de dados utilizadas para os experimentos. Cada grupo de imagens desta figura exibe apenas a primeira e a última imagem de cada sequência das bases de dados. Para a realização dos experimentos, foi utilizada uma estação de trabalho com processador Intel Core 2 Duo P8700 2,53 GHz e 4 GB de memória RAM, rodando o sistema operacional Ubuntu de 64 bits (GNU/Linux com Kernel ). 5.1 Resultados dos algoritmos detectores A seguir são exibidas as curvas de repetibilidade (ver Subseção 3.4.1) geradas para cada uma das sequências de imagens da base de dados. Para as curvas de repetibilidade, é desejada uma curva horizontal com o maior valor de repetibilidade, representando assim um alto nível de invariância dos algoritmos em relação às transformações ocorridas nas sequências de imagens. As tabelas com os valores numéricos sobre os resultados encontram-se no Apêndice B.

71 5.1. Resultados dos algoritmos detectores 49 A sequência bikes, assim como a sequência trees, é utilizada para testar os algoritmos no que se refere à variações de desfocagem. A Figura 30 exibe as curvas de repetibilidade para a sequência bikes para os valores mostrados na Tabela 6 (no Apêndice B). Para esta sequência de imagens, o algoritmo SURF se mostrou superior, com repetibilidade média de0,863, e estável (desvio padrão de0,019) para diversos níveis de desfocagem. O algoritmo ORB se mostrou rápido e robusto, pois apresentou o menor tempo de processamento de acordo com a Tabela 6 e uma repetibilidade média de 0,696 com desvio padrão de0,027. A Figura 31 exibe as curvas de repetibilidade da sequência trees, de acordo com os valores mostrados na Tabela 7. Por meio destas curvas, pode-se observar que o algoritmo BRISK se mostrou superior para os dois primeiros pares de imagens, no entanto, o algoritmo SURF possuiu uma melhor média de repetibilidade, com valor de 0,634 e desvio padrão de0,020. Por meio destes experimentos, nestas duas sequências de imagens (bikes e trees), observa-se que o algoritmo SURF possui melhor repetibilidade para imagens com variações de desfocagem. As sequências graffiti e wall são utilizadas para testar os algoritmos sob variações de ponto de visão. A Figura 32 exibe as curvas de repetibilidade para a sequência graffiti de acordo com os valores da Tabela 8. Para esta sequência de imagens, o algoritmo ORB se mostrou superior considerando-se tanto repetibilidade quanto tempo de processamento, de acordo com a Tabela 8. Por meio destas curvas, observa-se que todos os algoritmos possuem deficiência de detecção à medida que o ângulo do ponto de visão entre duas imagens aumenta. 1 0,8 Repetibilidade 0,6 0,4 0, Índice da sequência (aumento de desfocagem) SIFT SURF ORB BRISK Figura 30 Curvas de repetibilidade para a sequência bikes.

72 50 Capítulo 5. Resultados 1 0,8 Repetibilidade 0,6 0,4 0, Índice da sequência (aumento de desfocagem) SIFT SURF ORB BRISK Figura 31 Curvas de repetibilidade para a sequência trees. 1 0,8 Repetibilidade 0,6 0,4 0, Ângulo do ponto de visão (graus) SIFT SURF ORB BRISK Figura 32 Curvas de repetibilidade para a sequência graffiti. Para a sequência de imagens wall, de acordo com as curvas da Figura 33, os algoritmos BRISK e SURF apresentaram melhores resultados, com um comportamento similar. Por meio dos experimentos nas sequências de imagens graffiti e wall, observa-se que os algoritmos SURF, BRISK e ORB possuem maior robustez quanto a variação do ângulo de visão, sendo que o algoritmo ORB possuiu o menor tempo de processamento em ambos os casos. A sequência venice é utilizada para testar os algoritmos sob variações puras de escala. A Figura 34 exibe as curvas de repetibilidade para esta sequência. Por meio destas curvas, observa-se que ambos algoritmos possuem deficiência em relação à escala. Os algoritmos SIFT e SURF apresentaram um comportamento de repetibilidade similar.

73 5.1. Resultados dos algoritmos detectores ,8 Repetibilidade 0,6 0,4 0, Ângulo do ponto de visão (graus) SIFT SURF ORB BRISK Figura 33 Curvas de repetibilidade para a sequência wall. 1 0,8 Repetibilidade 0,6 0,4 0,2 0 1,2 1,5 2 2,5 3 3,5 Fator de escala SIFT SURF ORB BRISK Figura 34 Curvas de repetibilidade para a sequência venice. Os algoritmos ORB e BRISK apresentaram os menores tempo de processamento, de acordo com a Tabela 10. A Figura 35 exibe as curvas de repetibilidade para a sequência ceiling, para os valores da Tabela 11. Esta sequência é responsável por testar os algoritmos sob transformações de rotação. Por meio desta figura, nota-se que o algoritmo SURF possui maior repetibilidade (média de 0,810), porém este algoritmo apresentou maior sensibilidade à rotação (desvio padrão de 0,44). O algoritmo ORB foi o algoritmo que apresentou ao mesmo tempo alta repetibilidade (média de0,740) com o menor tempo de processamento, de acordo com a Tabela 11.

74 52 Capítulo 5. Resultados 1 0,8 Repetibilidade 0,6 0,4 0, Ângulo de rotação (graus) SIFT SURF ORB BRISK Figura 35 Curvas de repetibilidade para a sequência ceiling. A sequência boat é utilizada para testar os algoritmos sob variações de escala e rotação. A Figura 36 exibe as curvas de repetibilidade para a sequência boat de acordo com os valores da Tabela 12. Por meio destas curvas, pode-se observar que o algoritmo SURF possuiu um melhor desempenho, seguido do algoritmo ORB. O algoritmo BRISK se mostrou inferior. A Figura 37 exibe as curvas de repetibilidade para a sequência leuven para os valores mostrados na Tabela 13. Esta sequência de imagens é utilizada para testar os algoritmos no que se refere à variações de iluminação. Por meio deste experimento, observa-se que tanto os algoritmos SURF e BRISK se mostram superiores e ainda 1 0,8 Repetibilidade 0,6 0,4 0, Índice da sequência (aumento de escala e rotação) SIFT SURF ORB BRISK Figura 36 Curvas de repetibilidade para a sequência boat.

75 5.1. Resultados dos algoritmos detectores ,8 Repetibilidade 0,6 0,4 0, Índice da sequência (redução de iluminação) SIFT SURF ORB BRISK Figura 37 Curvas de repetibilidade para a sequência leuven. estáveis, com valores médios de repetibilidade de 0,747 e 0,721 respectivamente para variações de iluminação. A Figura 38 exibe as curvas de repetibilidade para a sequência ubc de acordo com os valores da Tabela 14. Esta sequência de imagens é utilizada para testar a robustez dos algoritmos no que se refere à compressão JPEG. Por meio deste experimento, observa-se que os algoritmos ORB e SURF apresentaram um comportamento similar com grandes taxas de repetibilidade, sendo o algoritmo ORB superior com repetibilidade média de 0,802 e menor tempo de processamento (33,4 ms). 1 0,8 Repetibilidade 0,6 0,4 0, Compressão JPEG (%) SIFT SURF ORB BRISK Figura 38 Curvas de repetibilidade para a sequência ubc.

76 54 Capítulo 5. Resultados 0,9 0,8 0,7 Repetibilidade 0,6 0,5 0,4 0,3 0,2 0,1 0 SIFT SURF ORB BRISK Figura 39 Gráfico de caixa para os valores de repetibilidade dos algoritmos detectores em toda a base de dados. A Figura 39 exibe o gráfico de caixa (boxplot) que sumariza os resultados de repetibilidade obtidos para os algoritmos detectores em toda a base de dados. Por meio desta figura, observa-se que o detector SURF apresentou, em geral, um melhor valor de repetibilidade com maior estabilidade em relação aos demais algoritmos. Neste gráfico, observa-se também os casos em que se têm valores baixos de repetibilidade para o algoritmo SURF, porém com uma frequência de ocorrência menor em comparação aos demais algoritmos, representados pelos outliers do gráfico. A Figura 40 exibe o gráfico do tempo médio de processamento de cada algoritmo detector executado em toda a base de dados. Por meio deste gráfico, observa-se que Tempo médio de processamento (ms) ,5 SIFT 563,1 SURF 36,4 ORB 86,5 BRISK Figura 40 Tempo médio de processamento dos algoritmos detectores.

77 5.2. Resultados dos algoritmos descritores 55 o algoritmo ORB apresentou o menor tempo de processamento. Já o algoritmo SIFT apresentou o maior tempo de processamento dentre todos os algoritmos. Por meio da Figura 39 e da Figura 40, pode-se concluir que apesar de o algoritmo SURF ter demonstrado, em geral, melhores valores de repetibilidade, este algoritmo apresentou um tempo de processamento relativamente alto. Estes gráficos mostram também que o detector ORB possui um equilíbrio entre tempo de processamento e desempenho geral de detecção, pois este algoritmo apresentou altas taxas de repetibilidade com o menor tempo de processamento. Sendo assim, pode-se dizer que o algoritmo detector ORB é o mais apropriado para o sistema de autocalibração de câmeras em questão, o qual vislumbra aplicações em tempo real. 5.2 Resultados dos algoritmos descritores Antes de iniciar a avaliação dos algoritmos descritores, é importante discutir sobre a interpretação dos gráficos e possíveis formas de curvas. Os gráficos de precisão e revocação são exibidos sob a escala de 1-precisão por revocação, para assim, facilitar sua interpretação. Um algoritmo descritor ideal deve apresentar um valor de revocação igual a1 para qualquer valor de precisão. Na prática, o valor de revocação aumenta para um aumento do limiar de distância entre os descritores. Curvas horizontais indicam que a revocação é atingida com uma alta precisão, no entanto a revocação é limitada pela especifidade da cena: pontos detectados podem ser muito similares de tal forma que o descritor não consiga distingui-los. Outra possível razão da estabilização da revocação é que as regiões correspondentes, onde se encontra o ponto-chave, são muito diferentes e portanto seus descritores também são diferentes (MIKOLAJCZYK; SCHMID, 2005). Um lento aumento da curva mostra que o descritor é afetado pela degradação da imagem (e.g. ponto de visão, desfocagem, ruído). Se curvas correspondentes a diferentes descritores estão distantes e têm inclinações diferentes, então a distinção e robustez dos descritores é diferente para uma determinada transformação de imagem ou tipo da cena. A seguir serão discutidas as curvas de precisão e revocação para as sequências de imagens das bases de dados. Ao final, será feita uma discussão para comparar os algoritmos descritores de forma geral, bem como os seus tempos de processamento. A Figura 41 exibe as curvas de precisão e revocação para o par de imagens 1-3 da sequência bikes (transformações de desfocagem). Por meio destas curvas, observa-se que o algoritmo BRISK possui maiores taxas de revocação e uma curva com um rápido aumento. Observa-se também que, o algoritmo SIFT é o algoritmo mais afetado pela

78 56 Capítulo 5. Resultados transformação de desfocagem. A Figura 42 exibe as curvas de precisão e revocação para o par de imagens 1-3 da sequência trees (transformações de desfocagem). Por meio destas curvas, observa-se novamente que, o algoritmo BRISK apresentou as maiores taxas de revocação para os diversos valores de precisão com uma curva com rápido aumento. O algoritmo ORB se mostrou também robusto, pois apresentou uma curva horizontal com poucas oscilações, no entanto, este algoritmo apresentou menores taxas de revocação, em comparação com o algoritmo BRISK. Por meio dos experimentos mostrados na Figura 41 e na Figura 42, que são 1 0,8 Revocação 0,6 0,4 0, ,2 0,4 0,6 0,8 1 1-Precisão SIFT SURF ORB BRISK FREAK Figura 41 Curvas de precisão e revocação para a sequência bikes. 1 0,8 Revocação 0,6 0,4 0, ,2 0,4 0,6 0,8 1 1-Precisão SIFT SURF ORB BRISK FREAK Figura 42 Curvas de precisão e revocação para a sequência trees.

79 5.2. Resultados dos algoritmos descritores 57 responsáveis por medir a robustez dos algoritmos em relação as transformações de desfocagem, observa-se que em geral, o algoritmo BRISK é o mais robusto. A Figura 43 exibe as curvas de precisão e revocação para o par de imagens 1-2 da sequência graffiti (mudanças do ponto de visão). Por meio deste experimento, observa-se que todos os algoritmos são afetados pela transformação em questão. Para altos valores de precisão (valores de 1-precisão de até0,3), observa-se que o algoritmo BRISK se mostra robusto, com uma curva mais horizontal e maiores taxas de revocação. A Figura 44 exibe as curvas de precisão e revocação para o par de imagens 1-3 da sequência wall (mudanças do ponto de visão). Neste experimento, observa-se que o 1 0,8 Revocação 0,6 0,4 0, ,2 0,4 0,6 0,8 1 1-Precisão SIFT SURF ORB BRISK FREAK Figura 43 Curvas de precisão e revocação para a sequência graffiti. 1 0,8 Revocação 0,6 0,4 0, ,2 0,4 0,6 0,8 1 1-Precisão SIFT SURF ORB BRISK FREAK Figura 44 Curvas de precisão e revocação para a sequência wall.

80 58 Capítulo 5. Resultados algoritmo BRISK possui uma curva horizontal com um rápido aumento e maiores taxas de revocação. O algoritmo FREAK apresentou altas taxas de revocação, no entanto, este algoritmo apresentou um lento aumento da curva. De acordo com os experimentos mostrados na Figura 43 e na Figura 44, que são responsáveis por medir a robustez dos algoritmos em relação as mudanças de ponto de visão, observa-se que em geral, o algoritmo BRISK é o algoritmo que possui maior robustez. A Figura 45 exibe as curvas de precisão e revocação para o par de imagens 1-3 da sequência venice (variações de escala). Por meio destas curvas, nota-se que o algoritmo FREAK se mostrou superior em relação aos demais algoritmos descritores, no que diz respeito às transformações de escala. A Figura 46 exibe as curvas de precisão e revocação para o par de imagens 1-5 da sequência ceiling (variações de rotação). Por meio deste experimento, observa-se que o algoritmo BRISK apresentou uma curva com um rápido aumento e maiores taxas de revocação, em comparação com os demais algoritmos. Sendo assim, o algoritmo descritor BRISK se mostrou superior em relação às variações de rotação. A Figura 47 exibe as curvas de precisão e revocação para o par de imagens 1-3 da sequência boat (variações de rotação e escala). Por meio destas curvas, nota-se que, dentre os algoritmos avaliados, o algoritmo BRISK possui maior robustez no que se refere às transformações de rotação e escala, pois este algoritmo apresentou uma curva horizontal e taxas de revocação superiores, para altas taxas de precisão. Os algoritmos FREAK e ORB apresentaram também altos valores de revocação, porém, suas curvas apresentaram um crescimento lento, em comparação com o algoritmo BRISK. 1 0,8 Revocação 0,6 0,4 0, ,2 0,4 0,6 0,8 1 1-Precisão SIFT SURF ORB BRISK FREAK Figura 45 Curvas de precisão e revocação para a sequência venice.

81 5.2. Resultados dos algoritmos descritores 59 A Figura 48 exibe as curvas de precisão e revocação para o par de imagens 1-4 da sequência leuven (variações de iluminação). Por meio destas curvas é possível observar que todos os algoritmos são afetados pela variação de iluminação, retornando baixas taxas de revocação. Dentre os algoritmos avaliados, o algoritmo ORB apresentou maior estabilidade, pois este retornou uma curva mais horizontal em comparação com os outros algoritmos. A Figura 49 exibe as curvas de precisão e revocação para o par de imagens 1-5 da sequência ubc (compressão JPEG). Por meio deste experimento, observa-se que os algoritmos FREAK e ORB se mostraram mais robustos a esta transformação, com 1 0,8 Revocação 0,6 0,4 0, ,2 0,4 0,6 0,8 1 1-Precisão SIFT SURF ORB BRISK FREAK Figura 46 Curvas de precisão e revocação para a sequência ceiling. 1 0,8 Revocação 0,6 0,4 0, ,2 0,4 0,6 0,8 1 1-Precisão SIFT SURF ORB BRISK FREAK Figura 47 Curvas de precisão e revocação para a sequência boat.

82 60 Capítulo 5. Resultados 1 0,8 Revocação 0,6 0,4 0, ,2 0,4 0,6 0,8 1 1-Precisão SIFT SURF ORB BRISK FREAK Figura 48 Curvas de precisão e revocação para a sequência leuven. 1 0,8 Revocação 0,6 0,4 0, ,2 0,4 0,6 0,8 1 1-Precisão SIFT SURF ORB BRISK FREAK Figura 49 Curvas de precisão e revocação para a sequência ubc. maiores taxas de revocação e com uma curva mais horizontal. A Figura 50 exibe o gráfico do tempo médio de processamento de cada algoritmo descritor executado em toda a base de dados. Por meio deste gráfico, observa-se que os algoritmos descritores SIFT e SURF apresentaram elevados tempos de processamento, em comparação com os algoritmos ORB, BRISK e FREAK. O algoritmo FREAK se mostrou mais rápido. A avaliação dos algoritmos descritores foi realizada, nesta seção, a partir da análise das curvas de precisão e revocação. Nota-se ser extremamente difícil a determinação, apenas por meio destes experimentos, do melhor algoritmo descritor a ser utilizado

83 5.2. Resultados dos algoritmos descritores 61 Tempo médio de processamento (ms) ,6 1311,2 21,0 6,3 4,7 SIFT SURF ORB BRISK FREAK Figura 50 Tempo médio de processamento dos algoritmos descritores. em um processo de autocalibração de câmeras, pois cada um destes algoritmos se mostra mais eficaz para um determinado tipo de transformação. Além disso, as curvas de precisão e revocação são influenciadas pela especifidade da cena. Portanto, faz se necessário estabelecer novas métricas, que sejam independentes da cena em questão, para se avaliar um algoritmo descritor. Apesar da dificuldade de avaliação da eficácia dos algoritmos descritores, podese tirar algumas conclusões, como por exemplo o fato dos algoritmos SIFT e SURF terem apresentado, em geral, valores inferiores de revocação, além de custos computacionais mais elevados. Dentre os algoritmos que utilizam um descritor sob representação binária (ORB, BRISK e FREAK), o algoritmo ORB apresentou, em geral, menores taxas de revocação para altos valores de precisão, e exigiu maior tempo de processamento. Baseado nestes resultados, pode-se dizer que os algoritmos descritores mais apropriados para o sistema de autocalibração de câmeras em questão seriam os algoritmos descritores BRISK e FREAK. Para validar a representatividade dos resultados da base de dados para os algoritmos descritores, foram realizados experimentos com imagens aleatórias que não pertencem à base de dados mas com as mesmas transformações encontrada na base de dados. A Figura 51 exibe as imagens utilizadas neste experimento. Todas as imagens possuem tamanho de pixels. O objetivo neste ponto é apenas verificar se para outras imagens com uma transformação de desfocagem, por exemplo, podem ser obtidas conclusões similares àquelas relacionadas com a base de dados considerada neste trabalho. A Figura 52 exibe as curvas de precisão e revocação para a transformação de desfocagem, referente às imagensaebrespectivamente da Figura 51. Por meio destes gráficos, pode-se notar um comportamento similar aos resultados das sequências bikes

84 62 Capítulo 5. Resultados Imagem a Imagem b Imagem c Imagem d Imagem e Imagem f Imagem g Imagem h Figura 51 Imagens utilizadas para verificação da base de dados. Curvas para a Imagem a Curvas para a Imagem b 1 Revocação 0,8 0,6 SIFT SURF ORB BRISK FREAK 0,4 0, ,2 0,4 0,6 1-Precisão 0, ,2 0,4 0,6 0,8 1 1-Precisão Figura 52 Curvas de precisão e revocação para transformação de desfocagem. e trees, no qual o algoritmo BRISK se mostra superior aos demais no que se refere à desfocagem de imagem. A Figura 53 exibe as curvas de precisão e revocação para mudanças no ponto de visão, referente à imagem c e d da Figura 51. Por meio destes gráficos, nota-se agora um comportamento similar aos resultados das sequências graffiti e wall, no qual ambos algoritmos descritores são afetados pela mudança no ponto de visão, e o algoritmo BRISK retornou maiores valores de revocação. A Figura 54 exibe as curvas de precisão e revocação para mudanças de escala, referente à imagem e, e mudanças de rotação, referente à imagem f da Figura 51. Por meio destes gráficos, nota-se um comportamento similar aos resultados das sequências venice e ceiling, no qual, para mudanças de escala, o algoritmo FREAK é mais robusto, e, para mudanças de rotação, o algoritmo BRISK é mais robusto.

85 5.2. Resultados dos algoritmos descritores 63 1 Curvas para a Imagem c Curvas para a Imagem d 0,8 Revocação 0,6 0,4 0, ,2 0,4 0,6 0,8 1 1-Precisão 0 0,2 0,4 0,6 0,8 1 1-Precisão SIFT SURF ORB BRISK FREAK Figura 53 Curvas de precisão e revocação para mudanças no ponto de visão. 1 Curvas para a Imagem e Curvas para a Imagem f 0,8 Revocação 0,6 0,4 0, ,2 0,4 0,6 0, ,2 0,4 0,6 0,8 1 SIFT SURF ORB BRISK FREAK 1-Precisão 1-Precisão Figura 54 Curvas de precisão e revocação para mudanças de escala e rotação. Finalmente, a Figura 55 exibe as curvas de precisão e revocação para variações de iluminação, referente à imagem g, e compressão JPEG, referente à imagem h da Figura 51. Por meio destes gráficos, verifica-se um comportamento similar aos resultados das sequências leuven e ubc, no qual, para variações de iluminação o algoritmo ORB se mostrou mais robusto. Para a compressão JPEG, o algoritmo OBR se mostrou mais robusto, no entanto, não é observado o mesmo comportamento para o algoritmo FREAK, como visto na Figura 49, possivelmente pela diferença e especificidade da cena. A partir do experimento realizado, com imagens que não pertencem à base de dados, verifica-se que os resultados condizem com aqueles encontrados na base de dados. Verifica-se também que, as curvas de precisão por revocação, propostas por Mikolajczyk e Schmid (2005), são muito sensíveis à cena em questão.

86 64 Capítulo 5. Resultados 1 Curvas para a Imagem g Curvas para a Imagem h 0,8 Revocação 0,6 0,4 0, ,2 0,4 0,6 0, ,2 0,4 0,6 0,8 1 SIFT SURF ORB BRISK FREAK 1-Precisão 1-Precisão Figura 55 Curvas de precisão e revocação para variações de iluminação e compressão JPEG. 5.3 Resultados do processo de correspondência A Figura 56 exibe o valor médio do erro em pixels das correspondências de cada par de imagens da base de dados, ao final da etapa de correspondência. Por meio deste experimento observa-se que o erro em pixels é alto, para todos os algoritmos (média global de 124 pixels de erro). Isto se deve ao fato de existir uma grande quantidade de falsas correspondências na saída desta etapa. Há também, casos de baixa ocorrência em que o erro pode chegar até mais de 400 pixels, representados pelos outliers do gráfico. Com este resultado pode-se concluir que, sem a eliminação de falsas correspondências, Erro em pixels ORB-SIFT ORB-SURF ORB-ORB ORB-BRISK ORB-FREAK Figura 56 Erro em pixels para as correspondências nas imagens da base de dados sem a etapa de refinamento.

87 5.4. Resultados do método de refinamento 65 Valor Tempo de processamento (ms) SIFT SURF ORB BRISK FREAK Média global 18,220 18, Desvio padrão 0,996 1,022 0,535 2,105 2,108 Tabela 1 Tempo de processamento da etapa de correspondência. o sistema de correspondência de pontos em imagens se torna impraticável para um sistema de autocalibração de câmeras. Na seção a seguir, será avaliado o erro em pixels incluindo a etapa de refinamento. A Tabela 1 exibe o tempo médio de processamento da etapa de correspondência. Nesta tabela, observa-se que a utilização dos algoritmos descritores BRISK e FREAK leva a tempos de processamento menores. A justificativa para este comportamento baseia-se no fato de que, como o algoritmo de correspondência é baseado na busca exaustiva, espera-se que seu tempo de processamento seja proporcional ao número de correspondências, e foi observado no resultado de quantidade média de correspondências retornadas, exibido na próxima seção (Figura 64), que os algoritmos BRISK e FREAK apresentaram menores quantidades de correspondências. 5.4 Resultados do método de refinamento A Figura 57 exibe a imagem de teste utilizada neste experimento. Esta imagem foi capturada por uma câmera com tamanho de1,2 Megapixels (tamanho de pixels) de um dispositivo smartphone LG Nexus 4 E960. A Figura 58 exibe as curvas de precisão para a variação da rotação na imagem de teste. O valor médio e o desvio padrão para estas curvas são exibidos na Tabela 2. A Figura 59 ilustra um dos instantes do experimento realizado. De acordo com a Figura 58, observa-se claramente a sensibilidade às variações de rotação do algoritmo descritor SURF. Em geral, os demais algoritmos descritores apresentaram comportamentos similares. Nesta mesma figura, observa-se também o comportamento da etapa de refinamento, aumentando a precisão em média de 0,853 para 0,986 (aumento na precisão de aproximadamente 16%). A Tabela 2 mostra que o algoritmo BRISK possui em média melhor precisão antes da etapa de refinamento, e que, após esta etapa, assim como mostrado na Figura 58, todos os algoritmos descritores apresentaram valores de precisão semelhantes, com exceção do algoritmo SURF. A Figura 60 exibe as curvas de precisão para a variação da intensidade de brilho na imagem. O valor médio e o desvio padrão para estas curvas são exibidos na Tabela 3. A Figura 61 ilustra um dos instantes do experimento realizado.

88 66 Capítulo 5. Resultados Figura 57 Imagem de teste utilizada para a análise da etapa de refinamento. Por meio da Figura 60, observa-se que, sem a etapa de refinamento, todos os algoritmos descritores se tornam sensíveis para variações de intensidade de brilho menores que 40 e maiores que 60 aproximadamente. Após a etapa de refinamento, todos os algoritmos possuem precisão acima de0,9 para variações de intensidade de 1 Sem refinamento Com refinamento 0,9 Precisão 0,8 0,7 0,6 0, SIFT SURF ORB BRISK FREAK Ângulo de rotação (graus) Ângulo de rotação (graus) Figura 58 Curvas de precisão para variação da rotação. Valor de Sem refinamento Com refinamento precisão SIFT SURF ORB BRISK FREAK SIFT SURF ORB BRISK FREAK Média global 0,877 0,702 0,885 0,905 0,896 0,996 0,954 0,994 0,994 0,992 Desvio padrão 0,043 0,115 0,046 0,036 0,038 0,005 0,028 0,007 0,007 0,007 Tabela 2 Valores de precisão para variação da rotação.

89 5.4. Resultados do método de refinamento 67 Figura 59 Correspondência de um par de imagens para variação da rotação. A imagem exibe 95 correspondências retornadas, com o algoritmo detector ORB e algoritmo descritor BRISK incluindo a etapa de refinamento para uma rotação de30 graus. brilho entre 120 e 120. De acordo com os valores médios de precisão da Tabela 3, a etapa de refinamento aumentou a precisão média de 0,815 para 0,994 (aumento na precisão de aproximadamente22%). A Figura 62 exibe as curvas de precisão para a variação de desfocagem na imagem. O valor médio e o desvio padrão para estas curvas são exibidos na Tabela 4. A Figura 63 ilustra um dos instantes do experimento realizado. Por meio da Figura 62 1 Sem refinamento Com refinamento 0,9 Precisão 0,8 0,7 0,6 0, SIFT SURF ORB BRISK FREAK Intensidade de brilho Intensidade de brilho Figura 60 Curvas de precisão para variação de brilho. Valor de Sem refinamento Com refinamento precisão SIFT SURF ORB BRISK FREAK SIFT SURF ORB BRISK FREAK Média global 0,807 0,795 0,828 0,821 0,824 0,999 0,988 0,997 0,998 0,989 Desvio padrão 0,212 0,217 0,188 0,219 0,201 0,003 0,020 0,005 0,005 0,016 Tabela 3 Valores de precisão para variação de brilho.

90 68 Capítulo 5. Resultados Figura 61 Correspondência de um par de imagens para variação de brilho. A imagem exibe 53 correspondências retornadas, com o algoritmo detector ORB e algoritmo descritor BRISK incluindo a etapa de refinamento para um valor de intensidade de brilho de 100. observa-se que todos os algoritmos são sensíveis à medida que a desfocagem é aumentada, sem a etapa de refinamento. Após a etapa de refinamento, todos os algoritmos possuem precisão acima de 0,9. De acordo com os valores médios de precisão da Tabela 4, a etapa de refinamento aumentou a precisão média de0,722 para0,987 (aumento na precisão de aproximadamente36%). 1 0,9 Sem refinamento Com refinamento Precisão 0,8 0,7 0,6 0,5 0, SIFT SURF ORB BRISK FREAK Nível de desfocagem (σ) Nível de desfocagem (σ) Figura 62 Curvas de precisão para variação de desfocagem. Valor de Sem refinamento Com refinamento precisão SIFT SURF ORB BRISK FREAK SIFT SURF ORB BRISK FREAK Média global 0,747 0,678 0,736 0,688 0,761 0,997 0,972 0,994 0,981 0,989 Desvio padrão 0,111 0,119 0,134 0,152 0,131 0,004 0,007 0,010 0,029 0,011 Tabela 4 Valores de precisão para variação de desfocagem.

91 5.4. Resultados do método de refinamento 69 Figura 63 Correspondência de um par de imagens para variação de desfocagem. A imagem exibe 36 correspondências retornadas, com o algoritmo detector ORB e algoritmo descritor BRISK incluindo a etapa de refinamento para um nível de desfocagemσ = 5. De acordo com os experimentos realizados nesta seção, pode-se verificar que a etapa de refinamento é importante em um processo de correspondência de pontos em imagens, pois ao eliminar falsas correspondências, diminui-se o efeito de uma determinada transformação. Isto significa reduzir os erros nos dados de entrada do sistema de autocalibração de câmeras. A Figura 64 exibe a quantidade média de correspondências retornadas para cada algoritmo. Este gráfico foi gerado a partir de todas as correspondências retornadas da base de dados descrita neste capítulo. Neste gráfico é possível observar a eliminação de correspondências após a etapa de refinamento. Por meio deste resultado, pode-se dizer que o algoritmo RANSAC elimina um número significativo de correspondências. 400 Quantidade de correspondências ,4 278,1 70,4 65,5 306,9 79,8 159,8 Sem refinamento Com refinamento 148,5 52,6 51,4 0 SIFT SURF ORB BRISK FREAK Figura 64 Quantidade média de correspondências retornadas.

Descritores de Imagens

Descritores de Imagens Descritores de Imagens André Tavares da Silva PPGCA/UDESC Outubro de 2017 André Tavares da Silva (PPGCA/UDESC) Descritores de Imagens Outubro de 2017 1 / 18 Descritores Locais e Frameworks SIFT SURF Viola-Jones

Leia mais

Sistema de Reconhecimento de Logotipos

Sistema de Reconhecimento de Logotipos Sistema de Reconhecimento de Logotipos Fellipe Duarte, Saulo T. Oliveira {duartefellipe,sto}@cos.ufrj.br Relatório Técnico, Introdução ao Processamento de Imagens Programa de Engenharia de Sistemas e Computação

Leia mais

Feature Description (SIFT + SURF) Prof. Dr. Geraldo Braz Junior

Feature Description (SIFT + SURF) Prof. Dr. Geraldo Braz Junior Feature Description (SIFT + SURF) Prof. Dr. Geraldo Braz Junior Feature Detection 1. Encontre um conjunto de keypoints 2. Defina uma região ao redor do keypoint 3. Normalize a região 4. Extraia caracterísfcas

Leia mais

Descritores de Imagem

Descritores de Imagem Descritores de Imagem André Tavares da Silva 31 de março de 2014 1 Descritores de imagem (continuação) 1.1 Frameworks de detecção de objetos SIFT (scale-invariant features transform) (Lowe, 1999) SIFT

Leia mais

PMR2560 Visão Computacional Visão estéreo. Prof. Eduardo L. L. Cabral

PMR2560 Visão Computacional Visão estéreo. Prof. Eduardo L. L. Cabral PMR2560 Visão Computacional Visão estéreo Prof. Eduardo L. L. Cabral Objetivos Introdução Equações básicas Processo de correspondência Geometria epipolar Retificação de imagens Reconstrução 3D Visão estéreo

Leia mais

Criação de mosaico usadando o SURF e o matcher FLANN

Criação de mosaico usadando o SURF e o matcher FLANN Criação de mosaico usadando o SURF e o matcher FLANN Felipe Jordão Pinheiro de Andrade Universidade Federal do Maranhão, São Luis, BRA Abstract. O trabalho propoe uma metodologia para a criação de um mosaico

Leia mais

Detecção de falsas correspondências em pares de imagens estereoscópicas utilizando a transformação projetiva no plano e o algoritmo RANSAC

Detecção de falsas correspondências em pares de imagens estereoscópicas utilizando a transformação projetiva no plano e o algoritmo RANSAC Detecção de falsas correspondências em pares de imagens estereoscópicas utilizando a transformação projetiva no plano e o algoritmo RANSAC André Caceres Carrilho Mauricio Galo Renato César dos Santos Curitiba,

Leia mais

Exemplo de aplicação

Exemplo de aplicação Exemplo de aplicação Paralaxe O conceito de paralaxe está relacionado com o deslocamento relativo ou aparente dos objetos estacionários, quando um observador em movimento os olha de pontos diferentes.

Leia mais

SLAM Visual. Fernando Zuher Mohamad Said Cavalcante Orientadora: Profª. Drª. Roseli Romero Mestrado em Computação, ICMC-USP

SLAM Visual. Fernando Zuher Mohamad Said Cavalcante Orientadora: Profª. Drª. Roseli Romero Mestrado em Computação, ICMC-USP SLAM Visual Fernando Zuher Mohamad Said Cavalcante Orientadora: Profª. Drª. Roseli Romero Mestrado em Computação, ICMC-USP Divisão da apresentação 1. Introdução O que é SLAM? Classificação adotada 2. Principais

Leia mais

Um Estudo das Técnicas de Obtenção de Forma a partir de Estéreo e Luz Estruturada para Engenharia

Um Estudo das Técnicas de Obtenção de Forma a partir de Estéreo e Luz Estruturada para Engenharia Um Estudo das Técnicas de Obtenção de Forma a partir de Estéreo e Luz Estruturada para Engenharia Aluno: Gabriel Malizia Orientador: Professor Marcelo Gattass Co-Orientador: Professor Paulo Cezar Carvalho

Leia mais

Análise comparativa de detectores e descritores de características locais em imagens no âmbito do problema de autocalibração de câmeras

Análise comparativa de detectores e descritores de características locais em imagens no âmbito do problema de autocalibração de câmeras Análise comparativa de detectores e descritores de características locais em imagens no âmbito do problema de autocalibração de câmeras Darlan Nunes de Brito 1 Flávio Luis Cardeal Pádua 2 Aldo Peres Campos

Leia mais

Occupancy grid based graph-slam using the distance transform, SURF features and SGD

Occupancy grid based graph-slam using the distance transform, SURF features and SGD Occupancy grid based graph-slam using the distance transform, SURF features and SGD Autores: Arturo Gil, Miguel Juliá, Óscar Reinoso Artur Segal Kaim Agenda Introdução Arquitetura Resultados Trabalho futuro

Leia mais

2 SIFT (Scale Invariant Feature Transform)

2 SIFT (Scale Invariant Feature Transform) SIFT (Scale Invariant Feature Transform) O SIFT é um algoritmo de visão computacional proposto e publicado pelo pesquisador David Lowe (Lowe, 1999), professor do departamento de Ciência da Computação na

Leia mais

Face Recognition using RGB-D Images

Face Recognition using RGB-D Images Face Recognition using RGB-D Images Helder C. R. de Oliveira N.USP: 7122065 Polyana Nunes N.USP: 9043220 Sobre o Artigo Publication: 2013 IEEE Sixth International Conference Author(s) Goswami, G. (Índia

Leia mais

Image Descriptors: local features

Image Descriptors: local features Image Descriptors: local features Image Processing scc0251 www.icmc.usp.br/ moacir moacir@icmc.usp.br ICMC/USP São Carlos, SP, Brazil 2011 Moacir Ponti Jr. (ICMCUSP) Image Descriptors: local features 2011

Leia mais

Descritores de Imagem (introdução)

Descritores de Imagem (introdução) Descritores de Imagem (introdução) André Tavares da Silva andre.silva@udesc.br Roteiro da aula Definição de descritor de imagem Extração de Característica Tipos Geral x Específico Global (cor, textura,

Leia mais

2 Trabalhos Relacionados

2 Trabalhos Relacionados 2 Trabalhos Relacionados Este capítulo apresenta os algoritmos já existentes que são utilizados nesta dissertação para obter pontos homólogos entre duas imagens de um par estéreo. Pode-se classificar essas

Leia mais

Processamento digital de imagens

Processamento digital de imagens Processamento digital de imagens Agostinho Brito Departamento de Engenharia da Computação e Automação Universidade Federal do Rio Grande do Norte 11 de novembro de 2016 Fluxo óptico Usado para estimar

Leia mais

RECONHECIMENTO FACIAL 2D

RECONHECIMENTO FACIAL 2D RECONHECIMENTO FACIAL 2D PARA SISTEMAS DE AUTENTICAÇÃO EM DISPOSITIVOS MÓVEIS Luciano Pamplona Sobrinho Orientador: Paulo César Rodacki Gomes ROTEIRO Introdução Objetivos Fundamentação Teórica Conceitos

Leia mais

Calibração de múltiplas câmeras baseada em um padrão invariante. (Multiple camera calibration based on invariant pattern)

Calibração de múltiplas câmeras baseada em um padrão invariante. (Multiple camera calibration based on invariant pattern) Calibração de múltiplas câmeras baseada em um padrão invariante (Multiple camera calibration based on invariant pattern) Manuel Eduardo Loaiza Fernandez Marcelo Gattass (orientador) Alberto B. Raposo (co-orientador)

Leia mais

Visão Computacional. Alessandro L. Koerich. Programa de Pós-Graduação em Engenharia Elétrica Universidade Federal do Paraná (UFPR)

Visão Computacional. Alessandro L. Koerich. Programa de Pós-Graduação em Engenharia Elétrica Universidade Federal do Paraná (UFPR) Visão Computacional Alessandro L. Koerich Programa de Pós-Graduação em Engenharia Elétrica Universidade Federal do Paraná (UFPR) Análise da Imagem Análise da Imagem O algoritmo opera sobre a imagem e extrai

Leia mais

CAPÍTULO V 5 CONCLUSÕES E RECOMENDAÇÕES 5.1 SÍNTESE DO TRABALHO DESENVOLVIDO

CAPÍTULO V 5 CONCLUSÕES E RECOMENDAÇÕES 5.1 SÍNTESE DO TRABALHO DESENVOLVIDO 182 CAPÍTULO V 5 CONCLUSÕES E RECOMENDAÇÕES 5.1 SÍNTESE DO TRABALHO DESENVOLVIDO Neste trabalho foi proposta uma metodologia para a automação da resseção espacial de imagens digitais baseada no uso hipóteses

Leia mais

Ambiente de Data Warehouse Para Imagens Médicas Baseado Em Similaridade

Ambiente de Data Warehouse Para Imagens Médicas Baseado Em Similaridade Universidade de São Paulo - USP Instituto de Ciências Matemáticas e de Computação - ICMC Programa de Pós-Graduação em Ciências da Computação e Matemática Computacional Ambiente de Data Warehouse Para Imagens

Leia mais

Processamento de Imagens CPS755

Processamento de Imagens CPS755 Processamento de Imagens CPS755 aula 05 - sistemas lineares - parte 2 Antonio Oliveira Ricardo Marroquim 1 / 27 laboratório de processamento de imagens tópicos métodos lineares mínimos quadrados equações

Leia mais

Visão computacional. Juliana Patrícia Detroz Orientador: André Tavares Silva

Visão computacional. Juliana Patrícia Detroz Orientador: André Tavares Silva Visão computacional Juliana Patrícia Detroz Orientador: André Tavares Silva Visão computacional Tentativa de replicar a habilidade humana da visão através da percepção e entendimento de uma imagem; Fazer

Leia mais

2 Trabalhos Relacionados

2 Trabalhos Relacionados 2 Trabalhos Relacionados Nesta seção são expostos os principais trabalhos utilizados como base para esta pesquisa. O objetivo é introduzir os conceitos que foram desenvolvidos nesses trabalhos, usados

Leia mais

Processamento de Imagens COS756 / COC603

Processamento de Imagens COS756 / COC603 Processamento de Imagens COS756 / COC603 aula 13 - Transformada de Hough e SIFT Antonio Oliveira Ricardo Marroquim 1 / 41 aula de hoje descritores Transformada de Hough SIFT 2 / 41 transformada de Hough

Leia mais

Mapeamento de ambientes e processamento visual utilizando Kinect

Mapeamento de ambientes e processamento visual utilizando Kinect Mapeamento de ambientes e processamento visual utilizando Kinect Mário Alberto Cecchi Raduan Bolsista PIBIC/UFRJ Orientador: Adriano Joaquim de Oliveira Cruz, PhD Laboratório de Inteligência Computacional

Leia mais

PMR2560 ELEMENTOS DE ROBÓTICA 2016 TRABALHO DE VISÃO COMPUTACIONAL CALIBRAÇÃO DE CÂMERAS E VISÃO ESTÉREO

PMR2560 ELEMENTOS DE ROBÓTICA 2016 TRABALHO DE VISÃO COMPUTACIONAL CALIBRAÇÃO DE CÂMERAS E VISÃO ESTÉREO PMR2560 ELEMENTOS DE ROBÓTICA 2016 TRABALHO DE VISÃO COMPUTACIONAL CALIBRAÇÃO DE CÂMERAS E VISÃO ESTÉREO Esse trabalho consiste de três partes. Na primeira parte do trabalho você vai calibrar duas câmeras

Leia mais

Anotador automático de placas de publicidade em vídeos esportivos

Anotador automático de placas de publicidade em vídeos esportivos MAC0499 - Trabalho de Formatura Supervisionado Professor: Carlos Eduardo Ferreira Universidade de São Paulo Instituto de Matemática e Estatística Aluno: Ricardo Augusto Fernandes Orientador: Prof. Dr.

Leia mais

ALGEMIRO A. S. NETO.

ALGEMIRO A. S. NETO. Calibração de Câmeras 1 ALGEMIRO A. S. NETO Pontifícia Universidade Católica do Rio de Janeiro aneto@inf.puc-rio.br Abstract Este trabalho aborda o problema de calibração de câmeras apresentando uma breve

Leia mais

3 Técnicas de medição do escoamento

3 Técnicas de medição do escoamento Técnicas de medição do escoamento 28 3 Técnicas de medição do escoamento O conhecimento do campo de velocidade de fluidos em movimento é fundamental para o entendimento dos mecanismos básicos que governam

Leia mais

2 Reconhecimento Facial

2 Reconhecimento Facial 2 Reconhecimento Facial Em termos gerais, o reconhecimento facial é o processo pelo qual se mede o grau de similaridade entre duas imagens faciais com o proposito de identificar a um indivíduo ou de verificar

Leia mais

Reconhecimento de texturas utilizando padrão binário local e classificador knn.

Reconhecimento de texturas utilizando padrão binário local e classificador knn. Reconhecimento de texturas utilizando padrão binário local e classificador knn. Vinicius Santos Andrade 1 Resumo. Através de uma imagem é possível obter inúmeras informações. Portanto, é cada vez mais

Leia mais

Reconhecimento de Instâncias (parte 2)

Reconhecimento de Instâncias (parte 2) Reconhecimento de Instâncias (parte 2) Rafael Galvão de Mesquita rgm@cin.ufpe.br Carlos Alexandre Mello cabm@cin.ufpe.br SURF Speeded-Up Robust Features [3] Computer Vision and Image Understanding, 2004

Leia mais

Descritores de Imagens

Descritores de Imagens Descritores de Imagens André Tavares da Silva PPGCA/UDESC Outubro de 2017 André Tavares da Silva (PPGCA/UDESC) Descritores de Imagens Outubro de 2017 1 / 17 Introdução Excelentes pesquisas sobre descritores

Leia mais

Evaluation of Interest Point Matching Methods for Projective Reconstruction of 3D Scenes

Evaluation of Interest Point Matching Methods for Projective Reconstruction of 3D Scenes Evaluation of Interest Point Matching Methods for Projective Reconstruction of 3D Scenes D. N. Brito, C. F. G. Nunes, F. L. C. Pádua and A. Lacerda 1 Abstract This work evaluates the application of different

Leia mais

Rastreamento de objeto e estimativa de movimento

Rastreamento de objeto e estimativa de movimento Hiroito Watanabe Rastreamento de objeto e estimativa de movimento Brasil 2015 Hiroito Watanabe Rastreamento de objeto e estimativa de movimento Relatório do trabalho 2 da disciplina de Processamento Digital

Leia mais

RECONHECIMENTO IDENTIFICAÇÃO BASEADA EM APARÊNCIA

RECONHECIMENTO IDENTIFICAÇÃO BASEADA EM APARÊNCIA RECONHECIMENTO IDENTIFICAÇÃO BASEADA EM APARÊNCIA Envolve a pergunta: É esta parte da imagem uma parte do objeto X? (modelo dado, região da imagem dada) Utiliza imagens ao invés de características como

Leia mais

MouseCam: aplicação de controle do mouse via câmera

MouseCam: aplicação de controle do mouse via câmera MouseCam: aplicação de controle do mouse via câmera Introdução ao Processamento de Imagens COS756 PESC/COPPE/UFRJ 2013 1 Renan Garrot garrot@cos.ufrj.br 1. Introdução O processo de tracking por vídeo consiste

Leia mais

3 TÉCNICAS ÓPTICAS NA MECÂNICA EXPERIMENTAL

3 TÉCNICAS ÓPTICAS NA MECÂNICA EXPERIMENTAL 3 TÉCNICAS ÓPTICAS NA MECÂNICA EXPERIMENTAL Neste capítulo, são apresentados alguns fundamentos de visão computacional, e as principais técnicas ópticas utilizadas na medição de deformações. 3.1. Técnicas

Leia mais

Diego Martin Mancini Orientador: Prof. Paulo A. V. de Miranda Instituto de Matemática e Estatística Universidade de São Paulo

Diego Martin Mancini Orientador: Prof. Paulo A. V. de Miranda Instituto de Matemática e Estatística Universidade de São Paulo Estudo de comparação do descritor de imagens coloridas BIC empregando diferentes abordagens de classificação de detecção de bordas: Canny e Operador Laplaciano Diego Martin Mancini Orientador: Prof. Paulo

Leia mais

SIFT - Scale Invariant Feature Transform

SIFT - Scale Invariant Feature Transform SIFT - Scale Invariant Feature Transform Daniel Pinto Coutinho Prof. Ricardo Marroquim 1 Introdução A detecção de pontos de interesse em uma figura é uma tarefa muito comum no campo de processamento de

Leia mais

INFORMAÇÕES DO ACADÊMICO PLANO DE TRABALHO. 1. Justificativa

INFORMAÇÕES DO ACADÊMICO PLANO DE TRABALHO. 1. Justificativa INFORMAÇÕES DO ACADÊMICO Nome: Kleber Padovani de Souza Curso: Engenharia de Computação Semestre: R.A.: Título do plano de trabalho: Extração de atributos da imagem através de momentos de imagem. Nome

Leia mais

Consultas por Similaridade em Domínios de Dados Complexos

Consultas por Similaridade em Domínios de Dados Complexos Consultas por Similaridade em Domínios de Dados Complexos Guilherme Felipe Zabot Orientador: Profº Dr Caetano Traina Jr Roteiro Objetivo Introdução Dados Complexos Representação de Dados Complexos Extração

Leia mais

Teresa C. S. Azevedo

Teresa C. S. Azevedo Teresa C. S. Azevedo Orientador: Prof. João Manuel R. S. Tavares Co-orientador: Prof. Mário A. P. Vaz Sumário: I. Reconstrução 3D do corpo humano: i. Aplicações; ii. Técnicas; iii. Objectivos; II. utilizadas

Leia mais

Universidade Federal do Rio de Janeiro. Flávio Henrique Schuindt da Silva. Estimativa de Fluxo Ótico com o método de Lukas-Kanade

Universidade Federal do Rio de Janeiro. Flávio Henrique Schuindt da Silva. Estimativa de Fluxo Ótico com o método de Lukas-Kanade Universidade Federal do Rio de Janeiro Programa de Engenharia de Sistemas e Computação Introdução ao Processamento de Imagens Flávio Henrique Schuindt da Silva Estimativa de Fluxo Ótico com o método de

Leia mais

HP UFCG Analytics Abril-Maio Um curso sobre Reconhecimento de Padrões e Redes Neurais. Por Herman Martins Gomes.

HP UFCG Analytics Abril-Maio Um curso sobre Reconhecimento de Padrões e Redes Neurais. Por Herman Martins Gomes. HP UFCG Analytics Abril-Maio 2012 Um curso sobre Reconhecimento de Padrões e Redes Neurais Por Herman Martins Gomes hmg@dsc.ufcg.edu.br Programa Visão Geral (2H) Reconhecimento Estatístico de Padrões (3H)

Leia mais

Detecção e Correção Automáticas de Olhos Vermelhos

Detecção e Correção Automáticas de Olhos Vermelhos Setor de Tecnologia da Universidade Federal do Paraná Curso de Engenharia Elétrica TE 072 Processamento Digital de Sinais Detecção e Correção Automáticas de Olhos Vermelhos Trabalho elaborado pelo aluno

Leia mais

RELATÓRIO TÉCNICO - CIENTÍFICO

RELATÓRIO TÉCNICO - CIENTÍFICO UNIVERSIDADE FEDERAL DO PARÁ PRÓ-REITORIA DE PESQUISA E PÓS-GRADUAÇÃO DIRETORIA DE PESQUISA PROGRAMA INSTITUCIONAL DE BOLSAS DE INICIAÇÃO CIENTÍFICA PIBIC : CNPq, CNPq/AF, UFPA, UFPA/AF, PIBIC/INTERIOR,

Leia mais

Calibração Robusta de Vídeo Para Realidade Aumentada

Calibração Robusta de Vídeo Para Realidade Aumentada Calibração Robusta de Vídeo Para Realidade Aumentada Bruno Madeira 1,2, Luiz Velho 1, Paulo Cezar Carvalho 1 1 Instituto Nacional de Matemática Pura e Aplicada (IMPA) Estrada Dona Castorina, 110, Jardim

Leia mais

4 Detecção de Silhueta

4 Detecção de Silhueta 4 Detecção de Silhueta No decorrer deste capítulo é proposto um modelo de detecção da silhueta da mão capaz de lidar com os erros da segmentação e ruídos na sua morfologia. Num primeiro passo são considerados

Leia mais

T4.1 Processamento de Imagem

T4.1 Processamento de Imagem T4.1 Processamento de Imagem Proc. Sinal e Imagem Mestrado em Informática Médica Miguel Tavares Coimbra Resumo 1. Manipulação ponto a ponto 2. Filtros espaciais 3. Extracção de estruturas geométricas 4.

Leia mais

INF Fundamentos da Computação Gráfica Professor: Marcelo Gattass Aluno: Rogério Pinheiro de Souza

INF Fundamentos da Computação Gráfica Professor: Marcelo Gattass Aluno: Rogério Pinheiro de Souza INF2608 - Fundamentos da Computação Gráfica Professor: Marcelo Gattass Aluno: Rogério Pinheiro de Souza Trabalho 02 Visualização de Imagens Sísmicas e Detecção Automática de Horizonte Resumo Este trabalho

Leia mais

4 Cálculo de Equivalentes Dinâmicos

4 Cálculo de Equivalentes Dinâmicos 4 Cálculo de Equivalentes Dinâmicos 4.1. Introdução Os sistemas de potência interligados vêm adquirindo maior tamanho e complexidade, aumentando a dependência de sistemas de controle tanto em operação

Leia mais

Capítulo III Processamento de Imagem

Capítulo III Processamento de Imagem Capítulo III Processamento de Imagem Proc. Sinal e Imagem Mestrado em Informática Médica Miguel Tavares Coimbra Resumo 1. Manipulação ponto a ponto 2. Filtros espaciais 3. Extracção de estruturas geométricas

Leia mais

Processamento Digital de Imagens

Processamento Digital de Imagens Ciência da Computação Processamento Digital de Imagens Tópicos Detecção de Pontos Isolados Detecção de Linhas Prof. Sergio Ribeiro 2 Operações lógicas e aritméticas orientadas a vizinhança utilizam o conceito

Leia mais

RECONHECIMENTO FACIAL UTILIZANDO EIGENFACES

RECONHECIMENTO FACIAL UTILIZANDO EIGENFACES Universidade Federal do Rio de Janeiro Instituto Alberto Luiz Coimbra de Pós-Graduação e Pesquisa de Engenharia Programa de Engenharia de Sistemas e Computação Rio de Janeiro, RJ Brasil RECONHECIMENTO

Leia mais

Um sistema para extração automática de keyframes a partir de fluxos de vídeo direcionado à reconstrução tridimensional de cenários virtuais

Um sistema para extração automática de keyframes a partir de fluxos de vídeo direcionado à reconstrução tridimensional de cenários virtuais Um sistema para extração automática de keyframes a partir de fluxos de vídeo direcionado à reconstrução tridimensional de cenários virtuais Sérgio Carlos Portari Júnior Orientador: Prof. Dr. Antonio Carlos

Leia mais

Reconstrução Geométrica a Partir de Imagens TIC

Reconstrução Geométrica a Partir de Imagens TIC Reconstrução Geométrica a Partir de Imagens TIC-10.073 Aula 1 Conteúdo Apresentação da Disciplina Professor Leandro Augusto Frata Fernandes laffernandes@ic.uff.br Material disponível em http://www.ic.uff.br/~laffernandes/teaching/2016.1/tic-10.073

Leia mais

Detecção Robusta de Movimento de Câmera em Vídeos por Análise de Fluxo Ótico Ponderado

Detecção Robusta de Movimento de Câmera em Vídeos por Análise de Fluxo Ótico Ponderado Detecção Robusta de Movimento de Câmera em Vídeos por Análise de Fluxo Ótico Ponderado Rodrigo Minetto Prof. Dr. Neucimar Jerônimo Leite (Orientador) Prof. Dr. Jorge Stolfi (Co-orientador) Instituto de

Leia mais

Introdução ao Curso de Algoritmos Numéricos II /

Introdução ao Curso de Algoritmos Numéricos II / Introdução ao Curso de Algoritmos Numéricos II / Computação Científica Andrea M. P. Valli, Lucia Catabriga avalli@inf.ufes.br, luciac@inf.ufes.br March 19, 2018 Andrea M. P. Valli, Lucia Catabriga (UFES)

Leia mais

Descritores de Imagem (exemplos)

Descritores de Imagem (exemplos) Descritores de Imagem (exemplos) André Tavares da Silva andre.silva@udesc.br Baseado em Penatti (2009) e Silva (2011) Alguns exemplos Descritores baseados em cor Na literatura existem quatro abordagens

Leia mais

4 Implementação Computacional

4 Implementação Computacional 4 Implementação Computacional 4.1. Introdução Neste capítulo é apresentada a formulação matemática do problema de otimização da disposição das linhas de ancoragem para minimizar os deslocamentos (offsets)

Leia mais

MÉTODO DE DETECÇÃO DE PONTOS DE INTERESSE PARA SENSOR DE TRIANGULAÇÃO LASER APLICADA A SOLDAGEM

MÉTODO DE DETECÇÃO DE PONTOS DE INTERESSE PARA SENSOR DE TRIANGULAÇÃO LASER APLICADA A SOLDAGEM MÉTODO DE DETECÇÃO DE PONTOS DE INTERESSE PARA SENSOR DE TRIANGULAÇÃO LASER APLICADA A SOLDAGEM Autores : Dan Lucio PRADA; Eduardo Bidese PUHL Identificação autores: Aluno da Ciência da Computação, Bolsista

Leia mais

Trabalho Final de Processamento de Imagens: Panografia

Trabalho Final de Processamento de Imagens: Panografia Trabalho Final de Processamento de Imagens: Panografia 1. Introdução Vítor Silva Sousa 1 1 Escola Politécnica Universidade Federal do Rio de Janeiro (UFRJ) Rio de Janeiro RJ Brasil vitor.silva.sousa@gmail.com

Leia mais

Relatório sobre os Resultados obtidos através do uso dos algoritmos SIFT e RANSAC para Reconstrução de um Objeto a partir de uma Nuvem de Pontos

Relatório sobre os Resultados obtidos através do uso dos algoritmos SIFT e RANSAC para Reconstrução de um Objeto a partir de uma Nuvem de Pontos Relatório sobre os Resultados obtidos através do uso dos algoritmos SIFT e RANSAC para Reconstrução de um Objeto a partir de uma Nuvem de Pontos Gustavo Moreira PUC-Rio, Departamento de Informática Rua

Leia mais

Feature Detector. Prof. Dr. Geraldo Braz Junior

Feature Detector. Prof. Dr. Geraldo Braz Junior Feature Detector Prof. Dr. Geraldo Braz Junior Problema: Matching 2 Matching 3 Matching Processo de encontrar uma imagem em outra Normalmente usado para encontrar um objeto numa imagem, mas também: Reconhecimento

Leia mais

Uma breve introdução ao Curso de Computação Científica / Algoritmos Numéricos II

Uma breve introdução ao Curso de Computação Científica / Algoritmos Numéricos II Uma breve introdução ao Curso de Computação Científica / Algoritmos Numéricos II Lucia Catabriga luciac@inf.ufes.br March 28, 2017 Lucia Catabriga (UFES) ANII e CC DI/PPGI/PPGEM March 28, 2017 1 / 27 Contextualizando

Leia mais

Processamento De Imagem. Descritores de Cor

Processamento De Imagem. Descritores de Cor Processamento De Imagem Descritores de Cor Cores Uma das propriedades mais importantes para visão humana. Muito usada em sistemas de recuperação de imagens, CBIRs. Taxonomia Global A informação de cor

Leia mais

PMR2560 Visão Computacional Detecção de bordas. Prof. Eduardo L. L. Cabral

PMR2560 Visão Computacional Detecção de bordas. Prof. Eduardo L. L. Cabral PMR56 Visão Computacional Detecção de bordas Prof. Eduardo L. L. Cabral Objetivos Processamento de imagens: Características; Detecção de bordas. Características Tipos de características: Bordas; Cantos;

Leia mais

Reconstrução Geométrica a Partir de Imagens TIC /TCC

Reconstrução Geométrica a Partir de Imagens TIC /TCC Reconstrução Geométrica a Partir de Imagens TIC-00.243/TCC-00.241 Aula 1 Conteúdo Apresentação da Disciplina Professor Leandro Augusto Frata Fernandes laffernandes@ic.uff.br Material disponível em http://www.ic.uff.br/~laffernandes/teaching/2014.2/tic-00.243

Leia mais

Processamento de Imagem. A Imagem digital Professora Sheila Cáceres

Processamento de Imagem. A Imagem digital Professora Sheila Cáceres Processamento de Imagem A Imagem digital Professora Sheila Cáceres Visão Humana Processamento de Imagens 2 Semelhança entre o sistema visual humano e uma câmera fotográfica Várias semelhanças podem ser

Leia mais

Survey de técnicas. detalhadas: Análise e Comparação

Survey de técnicas. detalhadas: Análise e Comparação Survey para Survey de técnicas técnicas para simulação de malhas malhas simulação de detalhadas: detalhadas: Análise Comparação Análise e Comparação bpevangelista@gmail.com bpevangelista@gmail.com Orientador:

Leia mais

CORRESPONDÊNCIA POR CARACTERÍSTICAS EM IMAGENS PANORÂMICAS TERRESTRES

CORRESPONDÊNCIA POR CARACTERÍSTICAS EM IMAGENS PANORÂMICAS TERRESTRES Presidente Prudente - SP, 24-26 de julho de 2017 p. 258-265 CORRESPONDÊNCIA POR CARACTERÍSTICAS EM IMAGENS PANORÂMICAS TERRESTRES LETÍCIA FERRARI CASTANHEIRO 1 ANTONIO MARIA GARCIA TOMMASELLI 2 MARIANA

Leia mais

Visão Computacional. Prof. Leandro Augusto Frata Fernandes TCC Introdução à Ciência da Computação (2012.

Visão Computacional. Prof. Leandro Augusto Frata Fernandes TCC Introdução à Ciência da Computação (2012. Visão Computacional Prof. Leandro Augusto Frata Fernandes laffernandes@ic.uff.br TCC-00.169 Introdução à Ciência da Computação (2012.1) Visão Humana Responsável por cerca de 75% de nossa percepção O ato

Leia mais

5 Implementação da Metodologia

5 Implementação da Metodologia 5 Implementação da Metodologia A implementação da metodologia proposta no Capítulo 4 é possível devido ao importante avanço que os métodos numéricos e a capacidade de processamento computacional atuais

Leia mais

7 Conclusões e desenvolvimentos futuros

7 Conclusões e desenvolvimentos futuros 7 Conclusões e desenvolvimentos futuros 7.1 Conclusões Este trabalho apresentou novas soluções para a determinação da posição de terminais de comunicações móveis com base em medidas de ToA. Nos métodos

Leia mais

8 Conclusões e Trabalhos Futuros

8 Conclusões e Trabalhos Futuros 8 Conclusões e Trabalhos Futuros A presente dissertação apresentou uma proposta de algoritmo para exploração e mapeamento completa para robôs móveis na seção 6.1. Ao longo da dissertação os componentes

Leia mais

UNIVERSIDADE FEDERAL FLUMINENSE Pedro Martins Menezes. Um estudo dos estágios dos pipelines gráficos

UNIVERSIDADE FEDERAL FLUMINENSE Pedro Martins Menezes. Um estudo dos estágios dos pipelines gráficos UNIVERSIDADE FEDERAL FLUMINENSE Pedro Martins Menezes Um estudo dos estágios dos pipelines gráficos Niterói 2008 Pedro Martins Menezes Um estudo dos estágios dos pipelines gráficos Trabalho de Conclusão

Leia mais

Um Sistema de Calibração de Câmera

Um Sistema de Calibração de Câmera Um impa Instituto Nacional de Matemática Pura e Aplicada Sistemas Gráficos 3D Um Sistema de Clarissa Codá dos Santos Cavalcanti Marques Rio de Janeiro, 05 de julho de 2007 Um EditCalib/ExecCalib Correspondência

Leia mais

Aprendizado de Máquina (Machine Learning)

Aprendizado de Máquina (Machine Learning) Ciência da Computação (Machine Learning) Aula 07 Classificação com o algoritmo knn Max Pereira Classificação com o algoritmo k-nearest Neighbors (knn) Como os filmes são categorizados em gêneros? O que

Leia mais

4 Análise de Dados. 4.1.Procedimentos

4 Análise de Dados. 4.1.Procedimentos 4 Análise de Dados 4.1.Procedimentos A idéia inicial para a comparação dos dados foi separá-los em series de 28 ensaios, com a mesma concentração, para depois combinar esses ensaios em uma única série.

Leia mais

4 Cálculo de Equivalentes Dinâmicos

4 Cálculo de Equivalentes Dinâmicos 4 Cálculo de Equivalentes Dinâmicos 4.1 Introdução Com o elevado índice de expansão dos sistemas elétricos de potência, os freqüentes aumentos nas interligações e o alto número de variáveis que envolvem

Leia mais

DESENVOLVIMENTO DE SISTEMA PARA GERAÇÃO DE MOSAICO DE IMAGENS VISANDO LOCALIZAÇÃO E NAVEGAÇÃO DE ROBÔS MÓVEIS

DESENVOLVIMENTO DE SISTEMA PARA GERAÇÃO DE MOSAICO DE IMAGENS VISANDO LOCALIZAÇÃO E NAVEGAÇÃO DE ROBÔS MÓVEIS DESENVOLVIMENTO DE SISTEMA PARA GERAÇÃO DE MOSAICO DE IMAGENS VISANDO LOCALIZAÇÃO E NAVEGAÇÃO DE ROBÔS MÓVEIS Edson CAVALCANTI Neto (1), Guilherme Costa HOLANDA (1), Antonio Themoteo VARELA (1), André

Leia mais

Reconstrução de cenas a partir de imagens através de Escultura do Espaço por Refinamento Adaptativo

Reconstrução de cenas a partir de imagens através de Escultura do Espaço por Refinamento Adaptativo Tese de doutorado Reconstrução de cenas a partir de imagens através de Escultura do Espaço por Refinamento Adaptativo por Anselmo A. Montenegro Orientadores: Marcelo Gattass, PUC-Rio Paulo Cezar Carvalho,

Leia mais

5 Estudo de Caso e Resultados

5 Estudo de Caso e Resultados 5 Estudo de Caso e Resultados 5.1. Introdução Finalizado o desenvolvimento da ferramenta, é indispensável testar suas funcionalidades e a eficácia da aplicação conjunta dos seus módulos de geração de experimentos

Leia mais

SEMINÁRIO DOS ARTIGOS:

SEMINÁRIO DOS ARTIGOS: SEMINÁRIO DOS ARTIGOS: Text Detection and Character Recognition in Scene Images with Unsupervised Feature Learning End-to-End Text Recognition with Convolutional Neural Networks Fernanda Maria Sirlene

Leia mais

Robótica Experimental

Robótica Experimental UNVERSDADE FEDERAL DO RO GRANDE DO NORTE Universidade Federal do Rio Grande do Norte Centro de Tecnologia Dept o de Engenharia de Computação e Automação DCA Robótica Eperimental Material didático Adelardo

Leia mais

25/05/2017. Técnicas ópticas na Mecânica Experimental. Interferometria de Speckle. Fotoelasticidade

25/05/2017. Técnicas ópticas na Mecânica Experimental. Interferometria de Speckle. Fotoelasticidade Técnicas ópticas na Mecânica Experimental DIC - DIGITAL IMAGE CORRELATION Fotoelasticidade Interferometria de Speckle Interferometria de Moiré Correlação de Imagens Digitais DIC do inglês Digital Image

Leia mais

IDENTIFICAÇÃO DE MARCADORES DE PAVIMENTAÇÃO NA ORIENTAÇÃO DE CEGOS. André Zuconelli 1 ; Manassés Ribeiro 2

IDENTIFICAÇÃO DE MARCADORES DE PAVIMENTAÇÃO NA ORIENTAÇÃO DE CEGOS. André Zuconelli 1 ; Manassés Ribeiro 2 IDENTIFICAÇÃO DE MARCADORES DE PAVIMENTAÇÃO NA ORIENTAÇÃO DE CEGOS André Zuconelli 1 ; Manassés Ribeiro 2 INTRODUÇÃO As tecnologias assistivas têm a finalidade de auxiliar pessoas com deficiência a alcançar

Leia mais

4 Descrição dos Algoritmos de Estimação de Movimento

4 Descrição dos Algoritmos de Estimação de Movimento 4 Descrição dos Algoritmos de Estimação de Movimento 4.1 Introdução A estimação de movimento, devido aos deslocamentos de objetos em uma cena ou da câmera, é realizada pelos algoritmos de estimação de

Leia mais

étodos uméricos SISTEMAS DE EQUAÇÕES LINEARES (Continuação) Prof. Erivelton Geraldo Nepomuceno PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA

étodos uméricos SISTEMAS DE EQUAÇÕES LINEARES (Continuação) Prof. Erivelton Geraldo Nepomuceno PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA étodos uméricos SISTEMAS DE EQUAÇÕES LINEARES (Continuação) Prof. Erivelton Geraldo Nepomuceno PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA UNIVERSIDADE DE JOÃO DEL-REI PRÓ-REITORIA DE PESQUISA CENTRO

Leia mais

4 SIFT (Scale Invariant Feature Transform)

4 SIFT (Scale Invariant Feature Transform) 4 SIFT (Scale Invariant Feature Transform) SIFT é um algoritmo de visão computacional publicado por David Lowe, em 1999 (Lowe, 1999) e patenteado nos EUA pela University of British Columbia. SIFT é composto

Leia mais

Processamento de Imagens

Processamento de Imagens Processamento de Imagens Prof. Julio Arakaki Ciência da Computação 1 Imagem Digital Full Color Image (Matriz de Pixels) RGB (24 bits): Red (8 bits) Green (8 bits) Blue (8 bits) 2 Imagem Digital Um modelo

Leia mais

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano CÁLCULO NUMÉRICO Profa. Dra. Yara de Souza Tadano yaratadano@utfpr.edu.br Aula 7 04/2014 Zeros reais de funções Parte 1 Objetivo Determinar valores aproximados para as soluções (raízes) de equações da

Leia mais

Investigação de novos critérios para inserção de pontos em métodos de simplificação de terreno através de refinamento

Investigação de novos critérios para inserção de pontos em métodos de simplificação de terreno através de refinamento Investigação de novos critérios para inserção de pontos em métodos de simplificação de terreno através de refinamento por Anselmo Antunes Montenegro Orientador: Paulo Cezar Pinto Carvalho, IMPA Co-orientador:

Leia mais

5 Exemplos e testes 5.1 Exemplos de uso da Biblioteca Simula ao de um radar rodovi ario de monitoramento de velocidade automotiva

5 Exemplos e testes 5.1 Exemplos de uso da Biblioteca Simula ao de um radar rodovi ario de monitoramento de velocidade automotiva 5 Exemplos e testes Com o objetivo de experimentar a aplicação deste trabalho em simulações de radares, foram desenvolvidos exemplos de simulações de cenários realistas. Cinco simulações foram experimentadas:

Leia mais