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 state-of-the-art methods for interest point matching, aiming the robust and efficient projective reconstruction of three-dimensional scenes. Projective reconstruction refers to the computation of the structure of a scene from images taken with uncalibrated cameras. To achieve this goal, it is essential the usage of an effective point matching algorithm. Even though several point matching methods have been proposed in the literature, their impacts in the projective reconstruction task have not yet been carefully studied. Our evaluation uses as criterion the estimated epipolar, reprojection and reconstruction errors, as well as the running times of the algorithms. Specifically, we compare five different techniques: SIFT, SURF, ORB, BRISK and FREAK. Our experiments show that binary algorithms such as, ORB and BRISK, are so accurate as float point algorithms like SIFT and SURF, nevertheless, with smaller computational cost. Keywords Point Matching Methods, Camera Self- Calibration, Projective Reconstruction. I. INTRODUÇÃO ENSORES de imagem têm se tornado cada vez mais Spopulares. Novas pesquisas produzem sensores mais eficientes e de menor custo, contribuindo assim para o surgimento de um grande número de aplicações em visão computacional [1]. Neste cenário, aplicações baseadas no processamento e análise de múltiplas vistas têm despertado especial interesse, tais como reconstrução projetiva [2], formação de imagem panorâmica [3], reconstrução 3D [4], navegação de robôs [5], entre outras [6]. Dentre tais aplicações, este trabalho aborda especialmente a reconstrução projetiva de cenas tridimensionais. O desempenho de uma técnica para reconstrução projetiva, tanto quanto à sua acurácia quanto à sua eficiência computacional, são fortemente dependentes da técnica adotada para correspondência de pontos entre as imagens de múltiplas vistas da cena. Este trabalho aborda a avaliação de diferentes métodos do estado da arte para correspondência de pontos de interesse em imagens no que diz respeito a seus impactos na robustez e eficiência da reconstrução projetiva de cenas estáticas, planares ou não, monitoradas por uma ou mais câmeras nãocalibradas, conforme ilustrado na Fig. 1. Muito embora diversos métodos para correspondência de pontos tenham sido propostos nos últimos anos [7], observa-se a ausência de 1 D. N. Brito, Universidade Federal de Ouro Preto, João Monlevade, MG, Brasil, dn.brito@gmail.com. C. F. G. Nunes, Centro Federal de Educação Tecnológica de Minas Gerais, Belo Horizonte, MG, Brasil, cfgnunes@gmail.com. F. L. C. Pádua, Centro Federal de Educação Tecnológica de Minas Gerais, Belo Horizonte, MG, Brasil, cardeal@decom.cefetmg.br. A. Lacerda, Centro Federal de Educação Tecnológica de Minas Gerais, Belo Horizonte, MG, Brasl, anisio@decom.cefetmg.br. estudos que avaliem os efeitos de suas aplicações no desempenho de estratégias para reconstrução projetiva. A. Reconstrução projetiva O processo de reconstrução projetiva pode ser visto como a recuperação de medidas geométricas de uma cena a partir de diferentes imagens, sendo cada imagem correspondente a uma vista específica [8]. Uma vez que imagens são projeções 2D de cenas 3D, uma das dimensões da cena é perdida após sua projeção. Para recuperação de medidas geométricas da cena é necessária a recuperação desta dimensão. Sendo assim, a tarefa de recuperação da dimensão perdida e consequentemente de medidas geométricas por meio de imagens é viabilizada a partir do cálculo prévio de um conjunto de parâmetros, agrupados na usualmente denominada matriz de projeção [9]. Figura 1. Cena 3D visualizada por câmeras não calibradas. A tarefa de reconstrução projetiva consiste em determinar as matrizes de projeção de pares de imagens juntamente com um conjunto de pontos específicos da cena no sistema de coordenadas cartesianas globais (SCCG). Para isto é necessário a determinação de um conjunto de pontos correspondentes nas imagens obtidas da cena, isto é, pontos nas imagens diferentes que correspondem ao mesmo ponto no SCCG [2]. Utilizando a técnica proposta em [8], sabe-se que o menor conjunto de pontos correspondentes nas imagens deve ter tamanho igual a oito pontos. Em linhas gerais, um método para reconstrução projetiva consiste de três passos básicos [8]: 1. Cálculo da chamada matriz fundamental para cada par de vistas da cena, por meio de um processo de correspondência de pontos; 2. Cálculo da matriz de projeção para cada vista, por meio da matriz fundamental correspondente; 3. Cálculo do ponto em coordenadas homogêneas no SCCG responsável por gerar o par de pontos correspondentes.
Considere a reconstrução projetiva de uma cena estática visualizada em duas vistas distintas. Neste caso, sejam e as matrizes de projeção referentes às duas vistas em questão e o i-ésimo ponto de um conjunto representado no sistema de coordenadas cartesianas globais. Denotando-se as projeções de em coordenadas homogêneas nos planos de imagem por e, tem-se que as relações entre tais pontos são capturadas pelas Equações (1) e (2):, (1) A reta acima mencionada, denominada reta epipolar, passa por um ponto específico no plano de imagem, denominado epipolo, o qual é a projeção dos denominados centros das câmeras [8] consideradas, conforme ilustrado na Fig. 2. A geometria epipolar é a geometria intrínseca da visualização dupla. Através desta restrição e utilizando técnicas estatísticas como RANSAC, é possível a determinação da matriz fundamental utilizando a correspondência de pontos de interesse em imagens.. (2) O objetivo central da reconstrução projetiva consiste em determinar as matrizes de projeção e, bem como as coordenadas de cada ponto na cena no sistema de coordenadas cartesianas globais. É impossível sem nenhum conhecimento sobre a cena determinar as posições absolutas de pontos no SCCG [2]. Um exemplo disto é na determinação de localização geográfica de objetos na cena. Neste caso, se a longitude e latitude de um ponto na cena, que esteja identificado nas imagens, não for conhecida, não é possível saber a localização geográfica de nenhum dos pontos da cena. No entanto, é possível recuperar a estrutura 3D de objetos presentes na cena até um fator de escala [8]. Para a reconstrução 3D de uma cena, usualmente determina-se um conjunto de parâmetros que compõem a chamada matriz fundamental [8]. Por meio de pontos correspondentes em imagens de diferentes vistas de uma cena, é possível recuperar esta matriz que é 3x3 com posto igual a 2 e espaço nulo representado pelos epipolos [8]. Esta matriz é invariante às transformações projetivas. Dessa forma, é possível aplicar uma transformação projetiva, representada por uma matriz 4x4, em um conjunto de pontos em coordenadas homogêneas no SCCG, sem que os parâmetros da matriz fundamental sejam modificados. Isto se deve ao fato de que, o ponto quando projetado no plano de imagem, não altera sua localização quando é aplicada a transformação projetiva. Considerando estas condições aplicadas à Equação (1) temos o resultado mostrado na Equação (3):. (3) Por isto esta técnica é chamada de reconstrução projetiva. Devido a este fato ainda, não é possível a reconstrução euclidiana dos pontos utilizando esta técnica. B. Geometria epipolar Dadas duas imagens e representativas de uma cena de interesse, a matriz fundamental é responsável por projetar pontos da imagem em retas na imagem e vice-versa. Isto restringe os pontos correspondentes a estarem nesta reta. Esta relação é descrita por meio da Equação (4):. (4) Figura 2. Geometria epipolar. C. Correspondência de pontos O processo de corresponder pontos em imagens pode ser visto como a determinação da correlação entre pontos de imagens diferentes que correspondam ao mesmo ponto da cena tridimensional. Diversos métodos para correspondência de pontos em imagens têm sido propostos nos últimos anos. Entre tais métodos, destacam-se, Scale Invariant Feature Transform (SIFT) [10], Speeded Up Robust Features (SURF) [11], Oriented Fast and Rotated Brief (ORB) [12], Fast Retina Keypoint (FREAK) [13] e Binary Robust Invariant Scalable Keypoints (BRISK) [14]. Os algoritmos de correspondência de pontos podem ser divididos em dois grandes grupos, quais sejam, algoritmos baseados em área e algoritmos baseados em características [15]. Os algoritmos baseados em área formam um mapa denso de pontos correspondidos. Algoritmos baseados em características formam um mapa esparso de características. Estes possuem uma série de vantagens sendo algumas delas, são mais rápidos, porque consideram menos pontos, a correspondência é mais exata já que vértices podem ser localizados com precisão de subpixel e, por fim, são menos sensíveis à variações fotométricas já que representam propriedades geométricas da cena [16]. Estas vantagens justificam uma utilização muito maior deste tipo de método para correspondência de pontos em imagens. As técnicas de correspondência de pontos baseadas em características possuem basicamente três etapas: (1) detecção de pontos chave, (2) determinação dos descritores e (3) correspondência destes descritores. Podem ser utilizados algoritmos diferentes para realização de cada uma destas etapas. Os descritores, por sua vez, podem ser divididos em dois grupos diferentes: descritores de ponto flutuante que utilizam números de ponto flutuante e descritores binários que utilizam bits. Atualmente, os principais algoritmos de correspondência de pontos baseados em características e em descritores de ponto flutuante são SIFT e SURF. Por outro lado, entre os descritores binários baseados em características, destaca-se o método ORB.
Os algoritmos SIFT e SURF utilizam uma abordagem estatística por meio de funções Gaussianas para determinar uma pirâmide de escalas e assim seus descritores, que são invariantes à escala e rotação. Para comparação dos descritores pode ser utilizada alguma norma, como por exemplo, a norma L2. Os algoritmos ORB, BRISK e FREAK, por outro lado, fazem parte de uma série de técnicas com descritores binários que têm como principal objetivo a melhoria no desempenho computacional dos algoritmos de correspondência de pontos. Eles possuem na etapa de descrição variações do detector de vértices FAST [17], que consiste em um método de detecção que possui um desempenho superior aos métodos que se baseiam em funções Gaussianas. Frequentemente, os algoritmos de correspondência de pontos são avaliados quanto ao seu desempenho, mas apesar das técnicas de reconstrução possuírem muita importância para um grande número de aplicações em visão computacional, estas avaliações são comumente focadas em aplicações como reconhecimento de objetos 3D, recuperação de imagens e classificação de texturas. Há um número muito pequeno de trabalhos focados em aplicações como odometria visual ou recuperação da estrutura 3D da cena [18], e ainda deficientes em qualidade ou quantidade de informações. II. TRABALHOS RELACIONADOS Avaliações de desempenho têm ganhado cada vez mais importância em visão computacional [19], haja visto a quantidade de trabalhos nesta área. Dentre estes, diversos trabalhos surgiram com objetivo de avaliar algoritmos de correspondência de pontos em imagens, por meio de diferentes estratégias e métricas avaliativas [19]. Jiang et al. [18] fazem uma avaliação bastante criteriosa de algoritmos detectores e descritores fornecendo dados sobre o desempenho dos algoritmos utilizados, com imagens de bases de dados da internet e obtidas pelos próprios autores. Os autores apresentam ainda uma série de métricas para avaliação de desempenho, consistentes com o estado da arte de avaliação em algoritmos de correspondência de pontos em imagens. Neste trabalho os autores consideram a performance em relação à odometria baseada em visão estéreo. O conjunto de restrições apresentadas em sistemas de odometria ao método de correspondência de pontos, são menos rígidas do que aquelas necessárias a um sistema de reconstrução projetiva. Os autores fazem testes em apenas um algoritmo de correspondência binária que é o ORB. Ahmadabadian et al. [7] testaram quatro métodos de correspondência para determinação de um mapa de pontos denso com alta exatidão: duas versões de matching semiglobal MicMac [20] e duas Patch-based Multi-View Stereo (PMVS) [21]. Para a obtenção da nuvem de pontos densa é utilizado um software chamado Bundler, desenvolvido por Snavely et al. [22]. Os resultados mostraram que a combinação de técnicas de bundle adjustment podem produzir resultados equivalentes ao scanner a laser, caso câmeras com uma alta qualidade (alta resolução) sejam utilizadas. Dwarakanath et al. [15] fazem uma avaliação dos algoritmos SIFT, SURF e ORB para sistemas de autocalibração baseados em múltiplas visualizações de uma cena 3D. Neste artigo, os autores consideram o erro epipolar em pixel e o tempo de processamento de cada algoritmo como métricas avaliativas. Os experimentos são realizados utilizando um conjunto de imagens reais de uma base de dados disponibilizada na internet, com modificações nas imagens simuladas por um módulo, chamado pelo autor de módulo de degradação. Neste caso foi considerado que o erro da geometria epipolar é suficiente para determinar o desempenho do sistema de reconstrução euclidiana. De fato, o erro epipolar é um importante parâmetro de qualidade para reconstrução euclidiana da cena através de câmeras. No entanto, como poderá ser visto mais adiante nos resultados aqui apresentados, avaliar tais métodos considerando-se apenas o erro epipolar como métrica pode levar ao negligenciamento de informações relevantes para a reconstrução tridimensional eficiente de uma cena. Os mais famosos estudos em desempenho de descritores e detectores foram publicados por Mikolajczy e Schmid [19] e Miksik e Mikolajczyke [23]. Mikolajczyk e Schmid [19] introduziram uma base de imagens que se tornou muito importante para avaliações de métodos de correspondência de pontos em imagens. Ainda neste trabalho utilizaram as métricas de 1-precisão, revocação e repetibilidade para avaliação dos métodos, contribuindo para que tais métricas se tornassem referências na avaliação de algoritmos de correspondência. Os autores apresentam conclusões importantes não somente sobre qual método é mais eficiente, como também qual conjunto de parâmetros dos métodos são mais eficientes. As conclusões dos autores indicam o melhor algoritmo para cada configuração de cena diferente. Apesar desta avaliação ser referência no estado da arte, não faz avaliação para algoritmos de reconstrução projetiva. Mikolajczyk e Miksik [23] avaliam diversos algoritmos detectores e descritores, recentemente propostos, especificamente, BRIEF, BRISK, ORB, MRRID, MROGH e LIOP. As avaliações realizadas foram focadas em custo computacional e exatidão da correspondência, novamente considerando apenas a correspondência e não sua aplicação. Li e Wang [24] fazem algumas avaliações para dar uma visão geral sobre técnicas de correspondência de pontos em imagens para vários sistemas de navegação baseados em visão. Neste artigo os autores avaliam os pontos fracos e fortes e apresentam uma modificação no algoritmo SIFT chamado ASIFT para lidar com grandes mudanças no ponto de vista. Heid e Kääb [1] fazem a avaliação de métodos de correspondência para determinação do movimento de calotas polares através de fotos de satélite. Os autores fazem a avaliação de métodos de correlação cruzada normalizada e métodos de Fourier com diferentes normalizações. Após a avaliação de dados obtidos da rede de satélites landsat, os autores concluem que os algoritmos mais eficientes são os baseados em correlação cruzada. Neste trabalho, é apresentada uma avaliação de desempenho para algoritmos de correspondência de pontos de interesse em imagens aplicados à um sistema de reconstrução projetiva, o que representa uma importante contribuição em relação às avaliações apresentadas anteriormente.
Apresentamos também a avaliação de um novo algoritmo, o FREAK, que segundo os autores apresentam robustez comparáveis à algoritmos já bastante utilizados como SIFT e SURF mas com um custo computacional consideravelmente menor. III. METODOLOGIA Neste trabalho, são avaliados os impactos de cinco métodos de correspondência de pontos no que se refere à exatidão e eficiência do processo de reconstrução projetiva de cenas estáticas, quais sejam: SIFT [10], SURF [11], ORB [12], FREAK [13] e BRISK [14]. Tais métodos foram escolhidos pelo fato de representarem soluções do estado da arte no que se refere ao problema de correspondência de pontos e serem, portanto, amplamente conhecidos e aplicados com frequência em diversos problemas no campo da visão computacional. Figura 3. Etapas básicas de um processo de reconstrução projetiva. Na Fig. 3 é apresentado um diagrama contendo as etapas básicas da metodologia proposta para avaliação dos algoritmos de correspondência de pontos aplicados à reconstrução projetiva. A primeira etapa refere-se à correspondência de pontos em imagens, que consiste no objetivo principal de avaliação deste trabalho. Como saída do processo de correspondência de pontos, temos pontos cartesianos, representados em coordenadas da imagem. Por meio destes pontos e da Equação (4) utilizou-se o método de decomposição em valores singulares (SVD) para otimização e determinação da matriz fundamental. Foram avaliados 05 (cinco) algoritmos de correspondência de pontos, cujos parâmetros são apresentados na TABELA II. Com o objetivo da determinação da qualidade da correspondência dos pontos em um sistema de reconstrução projetiva, três etapas adicionais são realizadas: (i) a determinação da geometria epipolar, (ii) cálculo das matrizes de projeção e (iii) triangulação. Estas três etapas são aquelas que de fato correspondem a reconstrução projetiva. A matriz fundamental estimada para cada par de imagens de entrada é utilizada na determinação das matrizes de projeção. Com as matrizes de projeção e os pontos correspondentes estimados, realiza-se o processo de triangulação, o qual fornece como resultado as coordenadas tridimensionais de tais pontos no SCCG. O processo de triangulação é repetido com as matrizes de projeção e os pontos de referência (ground-thruth). Finalmente os resultados do processo de triangulação obtidos com os pontos correspondentes estimados são comparados com aqueles obtidos a partir do processo de triangulação com os pontos de referência. Para tanto, são utilizadas diversas sequências de imagens de duas bases de dados disponibilizadas publicamente e utilizadas nos trabalhos anteriores de Heinly et al. [25] e Strecha et al. [26], bem como sequências de imagens de uma base dados especialmente criada para este estudo e caracterizada por cenários controlados em ambientes internos e externos capturadas com uma câmera SONY modelo HDR- CX240. No total foram utilizadas 10 cenas, sendo que as cenas das bases públicas contem apenas imagens não planares. Além disso, foram criadas 6 cenas para contemplar imagens planares e não planares de ambientes internos e externos. TABELA I. LISTA DE PARÂMETROS UTILIZADOS EM CADA ALGORITMO (PARTE 1). SIFT SURF Limiar da 1000 500 características Hessiana Camadas em 3 pirâmides de 4 cada oitava oitavas Limiar de 0.04 camada por 2 contraste oitava Limiar do Descritor detector de 10 Sim estendido borda Desvio padrão 1.6 Orientação Não TABELA II. LISTA DE PARÂMETROS UTILIZADOS EM CADA ALGORITMO (PARTE 2). ORB BRISK FREAK característic as Fator de escala níveis das pirâmides Limiar de borda pontos Tipo de pontuação Tamanho da região 1000 1.2 8 31 2 Harris 31 Raio da região ponto no círculo Limiar dos pares curtos Limiar dos pares longos 3 15 5.85 8.2 Normalização da orientação Normalização da escala Escala do descritor oitavas Todos os experimentos foram realizados utilizando um computador com processador Intel Core i5-2430m, com 4GB de memória RAM e sistema operacional Linux versão 14.04 LTS para execução dos programas. A Fig. 5 mostra exemplos das imagens utilizadas para cada uma das sequências de experimentos. Em [26], os autores utilizam um software desenvolvido por Noah Snavely [22] para determinar as matrizes de projeção corretas. Por outro lado, em [26] os autores utilizam um sensor do tipo LIDAR para obter um conjunto de medidas de referência (do inglês, ground-truth). Neste caso, marcos são espalhados pela cena com o objetivo de realizar a calibração e obtenção das matrizes de projeção. O primeiro conjunto de experimentos foi realizado com a base dados especialmente criada para este estudo, contendo imagens de três cenas planares e três não planares. Das três cenas de cada tipo, i.e. planar e não planar, uma é de ambiente interno e duas de ambientes externos. Para realização deste experimento, um alvo de calibração do tipo tabuleiro de xadrez foi utilizado para apoiar a calibração das câmeras e a obtenção das matrizes de projeção e dos pontos Sim Sim 22 4
correspondentes nas imagens, bem como para a determinação dos erros de reprojeção, epipolar, e de reconstrução. Especificamente, para cada cena planar e não planar visualizada, com e sem a presença do alvo de calibração, oito imagens de pontos de vista diferentes foram obtidas. Em especial, aplicou-se o método de Zhang [27] sobre as imagens contendo os alvos de calibração para determinar as matrizes de projeções das câmeras. A Fig. 4 mostra um exemplo de uma imagem da cena não planar com e sem o alvo de calibração. Vale ressaltar que o alvo de calibração foi mantido sempre na mesma posição no SCCG, garantindo-se que os pontos do alvo fossem correspondentes em todas as imagens obtidas. Estas imagens foram capturadas em ambientes internos controlados. Para a sequência de experimentos realizada com a base de dados criada, em ambientes externos contendo cenas não planares, foram realizadas as calibrações dos parâmetros intrínsecos da câmera utilizando-se novamente alvos de calibração do tipo tabuleiro de xadrez e a técnica de Zhang [27]. Na cena foram adicionadas marcações para determinação dos parâmetros extrínsecos. Nesta etapa dos experimentos foram capturadas oito imagens de pontos de vista diferentes e com pequeno intervalo de tempo para manter as condições de luminosidade da cena aproximadamente constante. (a) Figura 4. (a) Imagem de uma cena contendo um alvo de calibração do tipo tabuleiro de xadrez. (b) Imagem da mesma cena da Figura 4 (a) com a câmera na mesma posição, mas sem o alvo de calibração. Para as bases de dados de Heinly et al. [25] e Strecha et al. [26], as matrizes de projeção corretas foram fornecidas pelos autores e os pontos correspondentes corretos nos pares de imagens foram obtidos visualmente utilizando uma técnica descrita por Mikolajczyk e Schmid em [19]. Extratores de características foram usados para estimar as posições nas imagens de pontos correspondentes. Quando os pontos da imagem 1 projetados em linhas na imagem 2 não passarem pelo epipolo temos um erro chamado de erro epipolar. O erro epipolar é dado pela Equação (5) conforme descrito por Dwarakanath et al. em [15]:. (5) Onde são pontos correspondidos, estimados pelo método de correspondência de pontos que está sendo avaliado, nas imagens e, respectivamente, e é a matriz fundamental correta. Para os casos planares, a matriz fundamental correta foi estimada utilizando os pontos nas imagens e, obtidos dos alvos de calibração com uma precisão de subpixel, bem como a técnica de decomposição (b) em valores singulares SVD descrito por Hartley e Zisserman em [8]. Para os casos não planares, incluindo as imagens obtidas de bases de dados da internet, as correspondências de referência foram obtidas garantindo-se um erro menor que um pixel. Nesta técnica, como primeiro passo, são identificadas regiões correspondentes nas duas imagens utilizando a resolução original das mesmas. A seguir, é feita uma reamostragem destas regiões, nas duas imagens, utilizando filtros Gaussianos para aumentar a resolução. O processo se repete até encontrarem-se regiões do tamanho médio da região de interesse utilizada nos algoritmos de correspondência de pontos em imagens. A seguir, são selecionados os pixels centrais destas regiões como sendo os pixels correspondentes nas duas imagens. Enfim, é realizada a reamostragem para se obter novamente a resolução original juntamente com a localização dos pixels correspondentes. Além do erro epipolar, foi determinado o erro de reprojeção dos pontos. Utilizando os pontos correspondentes e a matriz de projeção foi feita a triangulação. Dadas duas matrizes de projeção e, sejam e dois pontos nas duas imagens que satisfazem a Equação (4). O objetivo principal é estimar um ponto 3D que satisfaça exatamente a geometria fornecida pela câmera, representada pelas Equações (1) e (2). É necessário computar o produto vetorial dos vetores resultantes das duas equações. Como resultado temos três equações para cada ponto na imagem, das quais duas são linearmente dependentes. Por exemplo, para a primeira imagem, escrevendo então o sistema considerando os pontos das duas imagens e aplicando as equações(1) e (2) temos, onde são as coordenadas do ponto na imagem e as coordenada do ponto correspondente na imagem, e são as linhas das matrizes e. Solucionando o problema de minimização, obtemos um ponto no SCCG para cada par de pontos correspondentes nas imagens. Este método é chamado de triangulação que é denotada por e descrita esquematicamente pela Equação (6) [8]:. (6) Os pontos no SCCG foram novamente projetados nos planos de imagem e utilizando as matrizes de projeção corretas e as equações (1) e (2). A diferença entre as coordenadas dos pontos projetados com a matriz de projeção correta e a matriz de projeção estimada é o erro de reprojeção, descrito pela Equação (7). (7)
Considerando os pontos correspondentes estimados, o algoritmo SIFT apresentou melhor desempenho retornando o menor erro de reprojeção em 40% dos casos estudados, mostrado na Tabela III. É possível observar que os algoritmos que retornam menos vezes o menor erro de reprojeção são os algoritmos ORB e BRISK e ainda que apresentam desempenhos equivalentes. Figura 5. Exemplo de cenas utilizadas na realização dos experimentos reais. Outra métrica utilizada foi o erro de reconstrução, representado pela diferença da estrutura reconstruída e a estrutura correta. Este erro foi calculado utilizando as diferenças das distâncias euclidianas entre os pontos corretos e os pontos estimados conforme a Equação (8): (8) onde foi estimado utilizando as matrizes de projeção estimadas e a técnica de triangulação. As equações (5), (6), (7) e (8) foram utilizadas com diferentes conjuntos de dados com o objetivo de definir qual o melhor algoritmo de correspondência de pontos para um sistema computacionalmente eficiente e robusto de reconstrução projetiva. Os dados utilizados foram matrizes projeção estimadas baseadas nas matrizes fundamentais e matrizes de projeção corretas obtidas pela calibração com o método de Zhang [27] ou fornecidas pelos autores nos casos das bases de dados da internet. A triangulação foi feita tanto com as matrizes de projeção corretas quanto com as matrizes de projeção estimadas. IV. RESULTADOS EXPERIMENTAIS Pelos resultados experimentais podemos observar que os erros de reconstrução e reprojeção apresentaram um comportamento parecido apresentando um comportamento diferente do erro epipolar. Nas Fig. Figura 6, barras azuis e vermelhas, vemos uma amostra dos resultados para os erros de reconstrução, e reprojeção, respectivamente, normalizados pela média e desvio padrão, de dez experimentos diferentes realizados utilizando as bases de dados construídas para este estudo, bem como para as bases criadas por Heinly et al. [25] e Strecha et al. [26]. Ainda na Figura 6, barras verdes, vemos os gráficos sobre as mesmas condições dos gráficos mas para o erro epipolar. Podemos então fazer uma análise distinta dos resultados para cada um dos erros, começando pelo erro de reconstrução. A. Erro de reconstrução No gráfico da Figura 6 barras azuis é possível observar que para o erro de reconstrução algoritmo SIFT foi o que apresentou o menor erro médio normalizado. Comportamento corroborado com o mostrado na Tabela III. B. Erro de reprojeção Já considerando o erro de reprojeção, é possível observar que há uma maior isonomia entre os métodos de correspondência estudados, o que pode ser observado pela Figura 6, barras vermelhas. Nota-se na Tabela III que os algoritmos SIFT, SURF e BRISK apresentam o melhor resultado em 30% dos casos cada um e 10% o ORB. C. Erro epipolar Considerando o erro epipolar os dados representados na Tabela III, o algoritmo que apresenta o menor erro epipolar em 70% dos casos é o algoritmo ORB seguido pelo SIFT em 30% dos casos. O novo algoritmo descritor testado, FREAK apresentou os piores desempenhos para os erros, epipolar e de reconstrução onde em nenhum caso retornou o menor erro. D. Custo computacional Como esperado o custo computacional em relação aos tempos de execuções para os algoritmos que usam descritores de ponto flutuante foram muito maiores do que os algoritmos com descritores binários. Os algoritmos binários apresentaram em média 2% do tempo de execução do algoritmo SIFT e 10% do algoritmo SURF como pode ser observado na Tabela II. Considerando-se que os erros de reconstrução dos algoritmos ORB e BRISK foram equivalentes aos erros de reconstrução dos algoritmos SIFT e SURF, e adicionalmente apresentaram tempos de processamento consideravelmente menores, sugerese então que os algoritmos ORB e BRISK sejam escolhidos como potenciais métodos a serem utilizados em problemas de reconstrução projetiva. V. CONCLUSÕES O presente trabalho avaliou diferentes métodos do estado da arte para correspondência de pontos de interesse em imagens no que diz respeito a seus impactos na robustez e eficiência de um problema de reconstrução projetiva. Trabalhos recentes como [15] e [18] apresentam avaliações de desempenho onde a única preocupação é na determinação do algoritmo que retorne o menor erro na localização dos pontos sem ponderar o desempenho dos algoritmos. Além disto, o presente trabalho apresenta uma avaliação em um sistema implementado de reconstrução projetiva, cujos dados mostraram-se mais completos em relação à avaliação do que considerar apenas o erro na geometria epipolar. A análise dos dados mostraram que os erros no SCCG são moderadamente correlacionados com os erros de reprojeção,
apresentando um coeficiente de correlação de Pearson igual a 0.36. Isto indica que o sistema pode funcionar bem para reconhecimento de estruturas em diferentes imagens, mas produzir um desempenho ruim quando o objetivo é a reconstrução de objetos da cena. Além disso, avaliar algoritmos de correspondência de pontos por meio de métricas baseadas apenas nos pontos das imagens não é uma estratégia adequada, sendo fundamental a implementação do algoritmo de reconstrução projetiva. Pode-se concluir a partir do presente trabalho que algoritmos de correspondência binários além de possuírem custo computacional muito menor do que algoritmos de ponto flutuante, produzem resultados muito satisfatórios, algumas vezes até equivalentes para reconstrução projetiva de objetos da cena. Como trabalhos futuros, pretende-se estender a avaliação para algoritmos de recuperação da geometria Euclidiana da cena baseada apenas em imagens, visto que esta é também uma área de grande interesse em visão computacional. 4 2 0 SIFT SURF ORB BRISK FREAK Figura 6. As barras azuis representam o erro médio normalizado no sistema de coordenadas cartesianas global (SCCG), com matrizes fundamentais e matrizes de projeção estimadas, normalizado pela média e desvio padrão. As barras vermelhas o erro médio de reprojeção, com matrizes fundamentais e matrizes de projeção estimadas, normalizado pela média e desvio padrão. As verdes o erro médio epipolar, com matrizes fundamentais estimadas, normalizado pela média e desvio padrão. TABELA III. TEMPO MÉDIO DE 100 EXECUÇÕES DOS ALGORITMOS SOBRE CADA PAR DE IMAGENS. Método SIFT SURF ORB BRISK FREAK Tempo(ms) 6,20 1,26 0,18 0,14 0,14 TABELA IV. PORCENTAGENS DE EXECUÇÕES PARA AS QUAIS O ALGORITMO RETORNOU O MENOR ERRO, DE ACORDO COM CADA MÉTRICA E RESPECTIVO DESCRITOR DE IMAGEM. Método SIFT SURF ORB BRISK FREAK Reconstrução 30 30 10 30 0 Reprojeção 40 20 10 10 20 Epipolar 30 0 70 0 0 AGRADECIMENTOS Os autores agradecem o apoio do CNPQ (Processos 468042/2014-8 e 313163/2014-6); à FAPEMIG (Processo APQ-01180-10); ao CEFET-MG (Processo PROPESQ-023-076/09 e PROPESQ-10314/14), à CAPES e à FUFOP Fundação Universitária Federal de Ouro Preto. REFERÊNCIAS [1] T. Heid e A. Kääb, Evaluation of existing image matching methods for deriving glacier surface displacements globally from optical satellite imagery, Remote Sensing of Environment, vol. 118, pp. 339-355, mar 2012. [2] R. Hartley, Projective Reconstruction, K. Ikeuchi, Ed., Springer US, 2014. [3] J. Zaragoza, Q.-H. Tat-Jun Chin and Tran, M. Brown e D. Suter, As- Projective-As-Possible Image Stitching with Moving DLT, Pattern Analysis and Machine Intelligence, IEEE Transactions on, vol. 36, n. 7, pp. 1285-1298, 2014. [4] A. Geiger, J. Ziegler e C. Stiller, StereoScan: Dense 3d reconstruction in real-time, Intelligent Vehicles Symposium (IV), 2011 IEEE, pp. 963-968, 2011. [5] S. Kuma, C. Micheloni, C. Piciarelli e G. L. Foresti, Stereo Localization Based on Network's Uncalibrated Camera Pairs, em Advanced Video and Signal Based Surveillance, 2009. AVSS '09. Sixth IEEE International Conference on, 2009. [6] M. Brückner, F. Bajramovic e J. Denzler, Intrinsic and extrinsic active self-calibration of multi-camera systems, Machine Vision and Applications, vol. 25, n. 2, pp. 389-403, sep 2013. [7] A. H. Ahmadabadian, S. Robson, J. Boehm, M. Shortis, K. Wenzel e D. Fritsch, A comparison of dense matching algorithms for scaled surface reconstruction using stereo camera rigs, ISPRS Journal of Photogrammetry and Remote Sensing, vol. 78, pp. 157-167, apr 2013. [8] R. Hartley e A. Zisserman, Multiple view geometry in computer vision, vol. 2, Cambridge Univ Press, 2000. [9] E. Trucco e A. Verri, Introductory techniques for 3-D computer vision, New Jersey: Prentice-Hall inc, 1998. [10] D. Lowe, Distinctive Image Features from Scale-Invariant Keypoints, International Journal of Computer Vision, vol. 60, n. 2, pp. 91-110, 2004. [11] H. Bay, T. Tuytelaars e L. Gool, SURF: Speeded Up Robust Features, em Computer Vision, ECCV 2006, vol. 3951, A. Leonardis, H. Bischof e A. Pinz, Eds., Springer, 2006, pp. 404-417. [12] E. Rublee, V. Rabaud, K. Konolige e G. Bradski, ORB: An efficient alternative to SIFT or SURF, em Computer Vision (ICCV), 2011 IEEE International Conference on, 2011. [13] A. Alahi, R. Ortiz e P. Vandergheynst, FREAK: Fast Retina Keypoint, em Computer Vision and Pattern Recognition (CVPR), 2012 IEEE Conference on, 2012. [14] S. Leutenegger, M. Chli e R. Y. Siegwart, BRISK: Binary Robust invariant scalable keypoints, 2011 International Conference on Computer Vision, pp. 2548-2555, nov 2011. [15] D. Dwarakanath, A. Eichhorn, P. Halvorsen e C. Griwodz, Evaluating Performance of Feature Extraction Methods for Practical 3D Imaging Systems, em Proceedings of the 27th Conference on Image and Vision Computing New Zealand, New York, NY, USA, 2012. [16] G. Medioni e R. Nevatia, Segment-based stereo matching, Computer Vision, Graphics, and Image Processing, vol. 31, n. 1, pp. 2-18, 1985. [17] T. Drummond e E. Rosten, Machine Learning for High-Speed Corner Detection, Computer Vision - ECCV 2006, vol. 3951, pp. 430-443, 2006. [18] Y. Jiang, Y. Xu e Y. Liu, Performance evaluation of feature detection and matching in stereo visual odometry, Neurocomputing, vol. 120, n. 0, pp. 380-390, 2013. [19] K. Mikolajczyk e C. Schmid, A performance evaluation of local descriptors, Pattern Analysis and Machine Intelligence, IEEE Transactions on, vol. 27, n. 10, pp. 1615-1630, 2005. [20] M. Pierrot-Deseilligny e N. Paparoditis, A multiresolution and optimization-based image matching approach: An application to surface reconstruction from SPOT 5-HRS stereo imagery, ISPRS Workshop on Topographic Mapping from Space, 2006. [21] Y. Furukawa e J. Ponce, Accurate Camera Calibration from Multi-View Stereo and Bundle Adjustment, International Journal of Computer Vision, vol. 84, n. 3, pp. 257-268, 2009. [22] N. Snavely, S. M. Seitz e R. Szeliski, Photo tourism: Exploring Photo Collections in 3D, ACM Transactions on Graphics, vol. 25, n. 212, pp. 835-846, 2006. [23] O. Miksik e K. Mikolajczyk, Evaluation of local detectors and
descriptors for fast feature matching, Pattern Recognition (ICPR), 2012 21st \ldots, pp. 2681-2684, 2012. [24] X. Li e J. Wang, Image Matching Techniques for Vision-based Indoor Navigation Systems : Performance Analysis for 3D Map Based Approach, pp. 0-7, 2012. [25] J. Heinly, E. Dunn e J.-M. Frahm, Comparative Evaluation of Binary Features, em Computer Vision, ECCV 2012, A. Fitzgibbon, S. Lazebnik, P. Perona, Y. Sato e C. Schmid, Eds., Springer, 2012, pp. 759-773. [26] C. Strecha, W. von Hansen, L. Van Gool, P. Fua e U. Thoennessen, On benchmarking camera calibration and multi-view stereo for high resolution imagery, em 2008 IEEE Conference on Computer Vision and Pattern Recognition, 2008. [27] Z. Zhang, A flexible new technique for camera calibration, Pattern Analysis and Machine Intelligence, IEEE Transactions on, vol. 22, n. 11, pp. 1330-1334, nov 2000. Darlan N. Brito received the Bachelor degree in physics from the Universidade Federal de Minas Gerais (UFMG), Brazil, in 2005, and the M.Sc. degree in mathematical and computational modeling from the Centro Federal de Educação Tecnológica de Minas Gerais (CEFET-MG), Brazil, in 2008. He s doctoral student on same institution. He has been an assistant professor of computer engineering at the Universidade Federal de Ouro Preto (UFOP) since 2010. His research interests include computer vision, pattern classification and content-based image and video retrieval. Cristiano F. G. Nunes received the Bachelor degree in computation engineering from the Centro Federal de Educação Tecnológica de Minas Gerais (CEFET-MG), Brazil, in 2014. He s a master degree student and has been a system analyst on the same institution. His research interests include computer vision, pattern classification and content-based image and video retrieval. Flávio L. C. Pádua received the BS degree in electrical engineering and the MS and PhD degrees in computer science from the Universidade Federal de Minas Gerais (UFMG), Brazil, in 1999, 2002, and 2005, respectively. He has been an associate professor of computer engineering at the Centro Federal de Educação Tecnológica de Minas Gerais (CEFET-MG) since 2005, where he is the director of the Laboratory of Interdisciplinary Research on Multimedia Information (Piim-Lab). His research interests include computer vision, pattern classification and content-based image and video retrieval. Anísio M. Lacerda received the Bachelor degree in computer science and the MS and PhD degrees in computer science from the Universidade Federal de Minas Gerais (UFMG), Brazil, in 2005, 2008, and 2013, respectively. He has been an associate professor of computer engineering at the Centro Federal de Educação Tecnológica de Minas Gerais (CEFET-MG) since 2015, His research interests include is on computer science, with emphasis on Information Retrieval and Recommender Systems, acting on the following topics: algorithm design, web advertising and knowledge representation.