SciELO - Scientific Electronic Library Online

 
vol.20 número3Detecção de valores aberrantes com o uso de algoritmo RANSAC na transformação de coordenadas rectangularesREFINAMENTO GEOMÉTRICO DE CONTORNOS E CUMEEIRAS DE TELHADOS DE EDIFÍCIOS EXTRAÍDOS DE DADOS LASER COM USO DE IMAGEM AÉREA índice de autoresíndice de assuntospesquisa de artigos
Home Pagelista alfabética de periódicos  

Serviços Personalizados

Journal

Artigo

Indicadores

Links relacionados

Compartilhar


Boletim de Ciências Geodésicas

versão On-line ISSN 1982-2170

Bol. Ciênc. Geod. vol.20 no.3 Curitiba out./set. 2014

http://dx.doi.org/10.1590/S1982-21702014000300036 

Artigos

UTILIZAÇÃO DE ALVOS CODIFICADOS DO TIPO ARUCO NA AUTOMAÇÃO DO PROCESSO DE CALIBRAÇÃO DE CÂMARAS

Using ARUCO coded targets for camera calibration automation

Sérgio Leandro Alves da Silva

Antonio Maria Garcia Tommaselli

Almir Olivette Artero

Faculdade de Ciências e Tecnologia. Univ Estadual Paulista-UNESP. Rua Roberto Simonsen, 305, 19060-900. Presidente Prudente, SP - Brasil

RESUMO

Este trabalho apresenta uma proposta para a automatização do processo de calibração de câmaras usando a localização e medição de pontos em alvos codificados, com precisão subpixel, o que contribui para minimizar os erros de localização, independente da orientação da câmara e da escala da imagem. Para alcançar este objetivo foram analisados os alvos codificados mais relevantes na literatura, sendo escolhido o padrão ARUCO, devido à sua flexibilidade, capacidade para representar até 1.024 alvos diferentes e disponibilidade de código fonte, implementado com a biblioteca OpenCV, que garante simplicidade de implementação e alta confiabilidade. Após a geração dos alvos com o padrão ARUCO, foram criados os painéis usados para a aquisição das imagens empregadas na calibração da câmara. O programa desenvolvido foi usado para localizar os alvos nas imagens e extrair automaticamente as coordenadas dos quatro cantos, com precisão subpixel. Os experimentos realizados mostraram que a maioria dos alvos foi identificada corretamente. Os resultados do experimento com a calibração de uma câmara de baixo custo mostraram que o processo funciona e que a precisão das medidas dos cantos atinge o nível subpixel.

Palavras-Chave: Calibração de Câmaras; Alvos Codificados; Precisão Sub-Pixel; Fotogrametria; ARUCO; OpenCV

ABSTRACT

This paper presents a proposal for the automation of the camera calibration process, locating and measuring image points in coded targets with sub-pixel precision. This automatic technique helps minimize localization errors, regardless of camera orientation and image scale. To develop this technique, several types of coded targets were analyzed and the ARUCO type was chosen due to its simplicity, ability to represent up to 1024 different targets and availability of source code implemented with the OpenCV library. ARUCO targets were generated and two calibration sheets were assembled to be used for the acquisition of images for camera calibration. The developed software can locate targets in the acquired images and it automatically extracts the coordinates of the four corners with sub- pixel accuracy. Experiments were conducted with real data showing that the targets are correctly identified unless excessive noise or fragmentation occurs mainly in the outer target square. The results with the calibration of a low cost camera showed that the process works and that the measurement accuracy of the corners achieves sub-pixel precision.

Key words: Calibration Chambers; Targets Coded; Sub-Pixel; Photogrammetry; ARUCO; OpenCV

1. INTRODUÇÃO

As áreas de Fotogrametria e Visão Computacional, que visam a extração de informações geométricas e semânticas sobre objetos e cenas completas, tiveram grande desenvolvimento nos últimos anos devido ao aumento expressivo na eficiência computacional e à disponibilização de sistemas de aquisição de imagens digitais a custo acessível. Entretanto, para atingir as exatidões compatíveis com as aplicações é necessário calibrar a câmara previamente, determinando-se os elementos numéricos que descrevem a geometria interna da câmara, que são os Parâmetros de Orientação Interior (POI).

O processo de calibração (CLARKE e FYRER, 1998; GALO e TOMMASELLI, 2011; DEBIASI et al., 2012), pode ser feito em laboratório ou por processos de estimação indiretos, nos quais alvos devem ser medidos no espaço imagem. Independentemente do modelo matemático de calibração utilizado, a medição dos alvos na imagem deve ser feita com alta precisão e, em muitos pontos, o que torna esta tarefa demorada e sujeita a muitas falhas, quando realizada por um operador humano. Assim, o objetivo deste trabalho é apresentar uma proposta para a automatização do processo de calibração de câmaras usando alvos codificados, de modo a possibilitar a localização e a medição dos pontos automaticamente, independentemente da orientação da câmara e da escala da imagem. Esta técnica minimiza os erros de identificação e medição que podem ocorrer quando o processo é realizadocom a intervenção de um operador humano.

2. REVISÃO DA LITERATURA

2.1 Calibração de Câmaras

O processo de calibração de uma câmara pode levar em conta dois aspectos: os geométricos e os radiométricos. Apesar da importância de ambos, este trabalho trata apenas da determinação dos parâmetros geométricos por técnicas indiretas de estimação que utilizam o ajuste de feixe de raios acrescido dos modelos de distorção das lentes (BROWN, 1971, 1989; CLARKE e FYRER, 1998, p.61).

As técnicas de calibração de câmaras receberam muita atenção no período entre 1950 e 1970, quando atingiram um patamar teórico e operacional relativamente estável (CLARKE e FYRER, 1998). No período anterior foram desenvolvidos os métodos de laboratório e, entre as décadas de 1950 e 1970, os métodos indiretos de campo, utilizando ajuste por feixes de raios, com as decisivas contribuições de Brown (1971, 1989). Estas técnicas indiretas foram desenvolvidas a partir dos anos 1950, devido à constatação de que as técnicas de laboratório não propiciavam POIs suficientemente compatíveis com a operação real de uma câmara fotogramétrica. Clarke e Fyrer (1998) mencionam vários estudos desenvolvidos a partir dos anos 1940 demonstrando as variações nos POI provocadas por variação de temperatura, inserção de filtros, não-planura do filme, entre outros. Outro problema com as técnicas existentes de laboratório era a não modelagem da distorção descentrada, que era ainda objeto de intensa discussão.

As técnicas de laboratório mais conhecidas são a de Multicolimadores e Goniômetro. A técnica de Multicolimadores utiliza dois bancos de colimadores ópticos de tal modo que os raios de luz emitidos por cada colimador sejam paralelos, simulando um objeto situado no infinito, a fim de que as imagens de todos os colimadores sejam projetadas no mesmo plano focal. Como os ângulos entre os colimadores são conhecidos a priori é possível determinar a distância focal, a posição do ponto principal e os valores discretos das distorções, a partir das coordenadas imagem dos alvos projetados pelos colimadores. Na técnica do Goniômetro os ângulos são medidos por pontaria em uma placa reticulada inserida no plano focal da câmara.

A calibração de campo foi proposta inicialmente por Duane Brown (CLARKE e FYRER, 1998, p.58) como forma de determinação simultânea dos parâmetros de orientação exterior, dos parâmetros de orientação interior da câmara e coordenadas dos pontos no espaço objeto, utilizando o ajuste por feixes de raios. Neste processo indireto de estimação são utilizadas várias imagens, tomadas de posições e ângulos diferentes, apontando para um mesmo local e, adquiridas com rotação em torno do eixo z, para minimizar ou eliminar a dependência linear entre alguns pares de parâmetros (BROWN, 1989).

O modelo matemático para a calibração por ajuste de feixes de raios utiliza as equações de colinearidade acrescidas das equações de distorções radial simétrica e descentrada e, eventualmente, parâmetros de afinidade (BROWN, 1971; ANDRADE e OLIVAS, 1981; MITISHITA e OLIVAS, 2001; MIKHAIL et al, 2001; BAZAN et al, 2009). São medidas as coordenadas nas imagens de pontos correspondentes a pontos no espaço objeto. Os pontos do espaço objeto podem ter coordenadas conhecidas (pontos de controle) ou podem ser apenas pontos fotogramétricos, sendo necessário, neste caso, arbitrar sete injunções mínimas para definir o referencial, técnica que é conhecida como auto-calibração (BROWN, 1989; CLARKE e FYRER, 1998).

No procedimento de calibração por ajuste de feixes de raios são calculados os Parâmetros de Orientação Interior (distância focal, coordenadas do ponto principal, coeficientes das distorções radial simétrica e descentrada e, eventualmente coeficientes de afinidade), os Parâmetros de Orientação Exterior (coordenadas do centro perspectivo e ângulos de rotação de cada fotografia) e as coordenadas dos pontos fotogramétricos no espaço objeto.

As etapas mais críticas são a identificação e a medição precisa de pontos nas imagens e a estimação de valores aproximados para os parâmetros de orientação exterior. Valores aproximados muito distantes dos valores verdadeiros podem levar à divergência do processo de solução do sistema de equações. A estimação de valores aproximados dos POI pode ser feita com base nos seus valores nominais, fornecidos nas especificações das câmaras e que, atualmente, estão inseridos em uma parte do cabeçalho do arquivo da imagem, denominada EXIF. A orientação exterior aproximada pode ser de difícil determinação, quando a câmara é posicionada arbitrariamente e sem uma orientação conhecida. Este problema pode ser parcialmente resolvido pelo posicionamento em pontos com coordenadas conhecidas e com ângulos de rotações padronizadas, mas isto exige um maior cuidado e tempo na coleta das imagens. Outra alternativa, seria o uso de modelos de calibração lineares, como a DLT (Direct Linear Transformation - Transformação Linear Direta) (ABDEL-AZIZ e KARARA, 1974; MELEN, 1994) para fornecer uma primeira aproximação para os POI e POE. Portanto, as etapas mais complexas são a identificação e a medição automática de pontos nas imagens.

Algumas estratégias para a realização de medidas automáticas para o processo de calibração sugerem o uso de alvos codificados, que podem ser localizados e medidos automaticamente nas imagens, permitindo assim a extração de suas coordenadas com precisão sub-pixel (FRASER, 1997; FRASER, 1998; HATTORI et al, 2002; SHORTIS et al., 2003; ZHONG e GAO, 2005; KOKOBUM et al, 2005; CRONK et al, 2006; ZHANLI e YUE, 2009; LI e LIU, 2010; XIAO et al., 2010; REISS e TOMMASELLI, 2011; FRASER, 2013). Além das abordagens mencionadas, que inserem na imagem do alvo um identificador, outra possibilidade seria a utilização de técnicas de correlação de imagens combinadas a algoritmos de redes neurais (WANDRESEN et al; 2005).

Após a execução do processo de calibração, com todos os parâmetros de orientação interior conhecidos, supondo-se que estes parâmetros sejam estáveis, é possível a correção dos erros sistemáticos nas coordenadas imagens, como aqueles provocados pelas distorções das lentes e pelo deslocamento do ponto principal em relação ao centro da imagem.

A ênfase deste trabalho está na localização e medição automática dos alvos codificados do tipo ARUCO e sua validação experimental. Para maiores detalhes sobre as equações utilizadas no processo de calibração sugere-se consultar os trabalhos previamente citados, que tratam deste tema específico.

2.2 Alvos Codificados

Vários trabalhos na literatura tratam do uso de alvos codificados em problemas relacionados à calibração de câmaras (FRASER, 1997; FRASER, 1998; REISS e TOMMASELLI, 2011; FRASER, 2013) e à realidade virtual (FIALA, 2004) e alguns softwares comerciais já utilizam este tipo de técnica, como é o caso do Photomodeler (PHOTOMODELER, 2012), por exemplo.

Um alvo codificado possui dados em sua própria imagem, pois suas dimensões físicas e formatos são previamente conhecidos e padronizados. Devido ao uso frequente destes alvos em Realidade Virtual e Aumentada, surgiram diversos tipos de alvos codificados, tais como alvos circulares, QR CODE, ARToolkit, ARTag, ALVAR e ARUCO, que são apresentados na Figura 1. Na área de reconstrução com luz estruturada também são propostos alguns tipos de alvos a serem projetados, como as células propostas e implementadas por Reiss e Tommaselli (2011), mostradas na Figura 1(h), para os quais foram desenvolvidas técnicas de localização, como a correspondência por assinatura (KOKUBUM et al., 2005).

Figura 1 Alvos codificados: a) e b) circulares (PHOTOMODELER, 2012); c) QRCode(DENSO WAVE, 1994); d) ARToolkit (KATO e BILLINGHURST, 1999); e) ARTag (FIALA, 2004); f) Alvar (ALVAR, 2012); g) ARUCO (MUÑOZSALINAS, 2012); h) células de padrões (REISS e TOMMASELLI, 2011). 

O alvo codificado do tipo circular (Figura 1(a)e 1(b)), é usado em vários sistemas de calibração e, em particular, no sistema comercial PhotoModeler, que identifica inicialmente os alvos codificados para depois localizar os alvos circulares não codificados, por uma análise de vizinhança. Este conjunto de alvos funciona bem em superfícies planares, porém, não é inteiramente utilizável em um campo tridimensional.

O alvo QRCode(Quick Response Code) consiste em um código de barras bidirecional (Figura 1(c)), inicialmente criado pela empresa japonesa Denso-Wave em 1994 (DENSO WAVE, 1994) e, desde 2003, tem sido amplamente utilizado para a inserção de dados em telefones celulares dotados de câmara digital e para campanhas publicitárias e jogos. Uma das desvantagens deste alvo para a aplicação proposta neste trabalho é que o alvo QRcode foi projetado para ser lido a partir de curtas distâncias.

A Figura 1(d) apresenta um exemplo de alvo obtido com o ARToolkit, que é uma biblioteca de padrões de alvos desenvolvida com as linguagens C e C++ e destinada ao uso em realidade aumentada. Esta biblioteca foi proposta por Kato e Billinghurst (1999)

A ferramenta ARTag (FIALA, 2004) é um aplicativo de detecção de marcadores fiduciais, que também usa a biblioteca ARToolKit (KATO e BILLINGHURST, 1999), porém, apresenta algumas melhorias, com o intuito de resolver a deficiência do aplicativo ARToolkit (falsos positivos e falsos negativos). Ao invés de comparar imagens matriciais, o ARTag, usa um algoritmo de Visão Computacional para localizar o marcador na imagem, extrair os códigos digitais e realizar a conversão da informação. Desta maneira, torna-se mais robusto às variações de iluminação, oclusão e obstrução. A Figura 1(e) mostra um exemplo de alvo do tipo ARTag. Uma das desvantagens deste alvo para a aplicação proposta neste trabalho é sua licença de distribuição.

O aplicativo ALVAR, desenvolvido pelo Centro de Pesquisa Técnica VTT da Finlândia (ALVAR, 2012), possui uma biblioteca de padrões, similar ao ARToolkit, sendo também voltado para aplicação em realidade aumentada. Além disso, é livre para uso comercial, e opera de maneira integrada com a biblioteca OpenCV (BRADSKY et al., 2008). A Figura 1(f) apresenta um exemplo de alvo desta biblioteca. Assim como os alvos ARTag, também apresentam falsos positivos e falsos negativos.

A biblioteca ARUCO foi desenvolvida em 2010 na Universidade de Córdoba - Espanha (MUÑOZ-SALINAS, 2012; AVA Group, 2000; GARRIDO-JURADO et al., 2014). Implementada em C++, foi projetada para aplicação em realidade aumentada. A Figura 1(g) mostra um alvo deste tipo. As principais características do ARUCO são: detecção de placas de AR (Realidade Aumentada) feitas com vários marcadores; requer apenas a biblioteca OpenCV 2.1 ou mais recente; até a 1024 diferentes marcadores; integração simples com OpenGL, rápido, confiável e multiplataforma, porque se baseia na biblioteca OpenCV; a integridade da informação é garantida por uma codificação que consiste em uma modificação no código de Hamming.

2.3. Detalhes do Alvo Tipo ARUCO

Um alvo codificado do tipo ARUCO é formado por uma matriz 7x7, totalizando 49 regiões (células), que formam uma coroa e uma área de dados. A coroa é constituída por um conjunto de 24 células que compõem o perímetro do alvo. A área de dados (5x5) possui 25 células sendo subdivididas em 15 células, para garantia de integridade e 10 células para a informação, possibilitando 1.024 alvos distintos, sendo que cada marcador tem um código único. Cada marcador possui cinco palavras em sua área de dados; cada palavra é composta por cinco células, sendo duas células de informação real e três células para detecção de erros/correção, conforme mostra a Figura 2(a). A garantia de integridade do alvo é obtida por meio de uma negação e disjunção exclusiva entre as colunas, para verificação de erro.

Figura 2 a) Subdivisões dos alvos ARUCO, com a área de dados, integridade e a coroa; b) Exemplo da codificação do alvo ARUCO com o número decimal 213 (Binário = 0011010101); c) Composição da primeira coluna; d) Composição da quinta coluna; e) Composição da terceira coluna; f) Composição do alvo ARUCO. 

Na proposta apresentada neste trabalho, a robustez da estrutura da calibração é aumentada ainda mais ao associar-se o código identificador de cada alvo à sua posição aproximada no ambiente de calibração. Assim, considerando a distribuição de alvos no campo de calibração como uma matriz bidimensional, o alvo de número 11 é posicionado no encontro da linha 1 com a coluna 1, o que possibilita o reconhecimento por vizinhança, caso ocorra qualquer tipo de obstrução total ou parcial, que não possa ser resolvida pelo esquema de integridade do alvo.

2.3.1 Codificação e Decodificação do Alvo ARUCO

A Figura 2 ilustra um exemplo do modo como é feita a composição de um alvo ARUCO, de número 213, que em representação binária corresponde a 11010101, e que deve ser introduzido na área de dados. Como um alvo ARUCO utiliza dez bits de dados, a sequência binária deve ser complementada com zeros à esquerda, resultando em b9b8b7b6b5b4b3b2b1b0= 0011010101.

Em cada linha são inseridos dois bits, da esquerda para a direita, na segunda e na quarta coluna conforme é mostrado na Figura 2(b). Em seguida, a primeira coluna é preenchida com a negação da segunda coluna, conforme mostra a Figura 2(c). O preenchimento da quinta coluna é feito com a operação de disjunção exclusiva (XOR) entre a segunda e a quarta coluna (Figura 2(d)). Por fim, a coluna central é preenchida com a operação XOR entre a segunda e a quinta coluna, conforme mostra a Figura 2(e). O alvo resultante é mostrado na Figura 2(f).

2.3.2 Biblioteca ARUCO

O processo de detecção do alvo ARUCO (MUÑOZ-SALINAS, 2012) inicia-se com a aplicação de um limiar adaptativo, de modo a obter as bordas. Em seguida são identificados os contornos dos alvos. Além dos alvos, são detectadas também várias bordas indesejadas. Estas bordas com pequeno número de pontos são eliminadas. Em seguida é realizada uma aproximação poligonal do contorno, de modo a manter os contornos côncavos com exatamente quatro cantos (retângulos). Então, os cantos são ordenados no sentido anti-horário e os retângulos muito próximos entre si são removidos, pois a detecçao de bordas normalmente detecta a parte externa e interna da borda do marcador, preservando apenas a borda externa. Em seguida é tratada a perspectiva de projeção de modo a obter uma vista frontal da área de um retângulo, usando uma transformação projetiva. Usando o algoritmo de Otsu (OTSU, 1979; ARTERO e TOMMASELLI, 2000) assume-se uma distribuição bimodal e encontra-se o limiar que maximiza a variância extra-classe, mantendo uma baixa variação intra-classe. O marcador então é dividido numa grade 6x6, das quais as 25 células internas contém as informações de identificação. O resto corresponde à coroa externa. Inicialmente, verifica-se a presença da coroa. Em seguida, as 25 células internas são lidas para verificar se fornecem um código válido (pode ser necessário rotacionar o alvo para se obter um código válido). Caso seja um marcador válido, refinam-se os cantos usando uma técnica de interpolação sub-pixel.

3. USO DE ALVOS CODIFICADOS NA AUTOMAÇÃO DO PROCESSO DE CALIBRAÇÃO

O sistema proposto neste artigo é resumido no diagrama apresentado na Figura 3. Para possibilitar o seu uso, como parte de uma rotina de calibração geométrica de câmaras, foi necessário adaptar a biblioteca ARUCO quanto à saída dos resultados e, ainda, implementar uma ferramenta geradora de alvos a serem impressos, descrita na Seção 3.2.

Figura 3 Diagrama do funcionamento da aplicação de localização dos alvos codificados 

3.1 Aplicativo de Localização dos Alvos

Este aplicativo é utilizado para localizar alvos codificados contidos em uma imagem capturada para calibração, bem como a extração das coordenadas dos cantos da coroa, com precisão subpixel, conforme diagrama exibido na Figura 3.

A aplicação original de localização de alvos foi modificada para informar não somente o número do identificador do alvo em seu centro, mas também um número identificador para cada um dos quatro cantos do alvo, de maneira única, juntamente com as suas coordenadas, permitindo assim que seja visível na própria imagem. Além desta identificação individual, foi implementada uma opção de interação com o usuário, permitindo, caso seja necessário, excluir um ou mais pontos com erro de identificação ou localização. Foi também adicionada ao aplicativo uma função para capturar estes pontos encontrados e armazená-los em um arquivo texto que é composto por um identificador para a câmara utilizada, o nome da imagem processada, a identificação do ponto e as suas coordenadas coluna e linha.

Como o software ARUCO utiliza a biblioteca OpenCV, a adaptação deste software original foi implementada no ambiente Visual Studio 2010, com a versão 2.4.2 da biblioteca OpenCV. A biblioteca OpenCV possui diversas funções para manipulações de imagens, é livre para uso comercial ou acadêmico, e foi desenvolvida inicialmente pela Intel Corporation (BRADSKY et al., 2008). As principais funções utilizadas neste trabalho são: detect Rectangles, adaptive Threshol de Canny, que realiza as etapas descritas anteriormente.

O identificador de cada alvo ARUCO foi definido com uma estrutura matricial, havendo, portanto, forte correlação com sua posição no campo de calibração, possibilitando o posterior reconhecimento por vizinhança, caso ocorra qualquer tipo de obstrução. O ponto 123, por exemplo, indica que está contido no alvo 12 e localizado na intersecção da linha 1 com a coluna 2, na posição 3. O último dígito refere-se à posição do ponto localizado em um dos cantos da coroa do alvo, podendo variar de zero a três, sabendo-se que o zero está associado ao ponto do canto superior esquerdo, sendo os demais incrementados no sentido horário.

3.2 Gerador ARUCO

Para construir o campo de calibração, foi necessário implementar um software para gerar os alvos de acordo com as regras de codificação mostradas na Seção 2.6.1, já que a Biblioteca ARUCO não oferece este recurso. Foi implementado na linguagem Java, um gerador de alvos utilizando o NetBeans IDE 7.0 para armazenamento e posterior impressão das imagens, permitindo que seja gerado um alvo qualquer, bastando informar o número identificador, ou ainda, gerar todos os 1024 alvos possíveis, salvando-os no formato BitMap (bmp). O aplicativo também permite que seja indicado o tamanho (em pixels) da célula antes de gerá-lo.

4. EXPERIMENTOS REALIZADOS COM AS BIBLIOTECAS ARUCO E OPENCV

O software ARUCO, por padrão, utiliza as técnicas de limiarização adaptativa e a detecção de bordas disponíveis na biblioteca OpenCV, mas pode método de Canny, também implementado na OpenCV. Nos testes realizados neste trabalho foi utilizada apenas a técnica de limiarização adaptativa para a detecção de bordas.

Para realizar os experimentos, foram confeccionados dois painéis ARUCO. O Painel 1 é constituído por 24 alvos quadrados, tamanho de 49 cm2, e com a distância de 7 cm entre eles, possibilitando um valor máximo de 96 pontos identificáveis (parte do painel é mostra Painel 2 é formado por 48 alvos de mesmo tamanho e igual espaçamento anterior, possibilitando um valor máximo de 192 pontos identificáveis aquisição das imagens, foi utilizada uma câmara Kodak (KODAK, 2012) CX 4300 com dimensões da imagem de 2080 x 1544, distância focal nominal de 7,63 mm e tamanho de pixel de 0,0036 mm.

4.1 Testes com o Limiar Adaptativo

Nesta seção são mostrados os experimentos usando as implementações do ARUCO configurado com a técnica de limiarização adaptativa. O uso de uma imagem com alvos isolados, mostrada na Figura 4(a), e as bordas em 4(b). Após a execução do programa, os alvos ARUCO foram reconhecidos impressos os números identificadores na região central de cada alvo exibido na Figura 4(c).

Figura 4 a) Imagem obtida com uma câmara Kodak, CX 4300; b) Imagem limiarizada com as bordas identificadas; c) Imagem com os alvos ARUCO reconhecidos, sendo impresso na região central de cada alvo seus identificadores. 

Para avaliar a capacidade de localização em situações adversas, no segundo teste foram introduzidos intencionalmente alguns ruídos e oclusões artificiais, editados sobre a imagem do Painel 1, exibida na Figura 5(a), com detalhes ampliados na Figura 5(b). A Figura 5(c) mostra as bordas extraídas. Com a imagem de resultado mostrada na Figura 5(d), pode ser observada a robustez do aplicativo quanto a ruídos na área de dados do alvo, devido ao seu controle de paridade. Nesta figura alguns dos alvos não foram reconhecidos pelos seguintes motivos: no topo da imagem, os alvos foram recortados; em (i), (iii) e (iv) houve um borramento exagerado; em (ii), (vii) e (viii) houve um comprometimento da região da coroa. Por outro lado, os alvos em (v) e (vi) foram devidamente reconhecidos, apesar de um forte ruído. Este teste mostra uma clara a intolerância a ruídos na coroa ou oclusões, devido ao fato de inicialmente, separar como áreas candidatas a alvo, somente aquelas que contenham um polígono externo fechado. Este problema poderia ser resolvido no futuro com um algoritmo que fizesse o tratamento de quebras nas linhas.

Figura 5 Teste realizado com uma imagem obtida por uma câmara Kodak CX 4300: a) Imagem de entrada com alguns ruídos e oclusões; b) Detalhes das imagens destes alvos; c) Imagem limiarizada com as bordas identificadas; d) Imagem com os alvos ARUCO identificados. 

No terceiro experimento foi utilizada a imagem do Painel 2, cuja imagem original é mostrada na Figura 6(a), e as bordas extraídas em 6(b). Após a execução do aplicativo, pode ser observado que todos os alvos contidos por completo na imagem foram localizados, reconhecendo todos os pontos corretamente com precisão sub-pixel. Como exemplo, o ponto 283 identificado na Figura 6(c), em detalhes em 6(d), indica que está localizado no encontro da linha 2 com a coluna 8, no canto inferior, do lado esquerdo do alvo.

Figura 6 a) Imagem do segundo Painel ARUCO com 48 alvos; b) Imagem limiarizada com as bordas identificadas; c) Imagem com os alvos ARUCO identificados; d) Ampliação parcial da imagem com os alvos ARUCO 

4.2 Resultado do Reconhecimento Automático dos Alvos na Calibração

O arquivo gerado pelo aplicativo localizador de alvos foi utilizado como entrada para o software de calibração CMC (Calibração com múltiplas câmaras). Este software foi desenvolvido pelo grupo de pesquisa em Fotogrametria da Unesp, Campus de Presidente Prudente, na linguagem C++ (RUY, 2008). Foram medidas as coordenadas dos alvos em oito imagens, mostradas na Figura 7, resultando em 1476 observações. Neste processamento preliminar alguns pontos não foram identificados, mas desenvolvimentos posteriores com mudanças nos limiares mostraram que o número de pontos reconhecidos, especialmente em imagens convergentes, com substancial variação de escala, pode ser melhorado substancialmente.

Figura 7 Imagens tomadas com a câmara CX 4300 e usadas nos experimentos. 

A superfície plana usada como placa de calibração foi produzida em um plotter a jato de tinta e, por esta razão, foi estabelecida uma acurácia de 0,3 mm para os pontos de controle. Foram usados os cantos de quatro alvos nos limites da área, totalizando 16 pontos de controle. Os demais pontos foram tratados como pontos de verificação. O desvio padrão estimado para as observações foi de 0,5 pixel (0,0018 mm) e sigma a priori introduzido no ajustamento foi 1, que corresponde à observação de peso unitário.

Neste experimento foi obtido um resultado satisfatório, pois a solução convergiu após 10 iterações, atingindo um sigma a posteriori de 0,5. Isto indica que as observações têm um desvio padrão correspondente a 0,25 pixel. Para analisar os resíduos foram calculados os valores absolutos da resultante dos resíduos em x e y, verificando-se que o maior valor foi de 1,7 pixels. A Figura 8(a) mostra a distribuição das resultantes dos resíduos após a calibração com as medidas automáticas. Foram estimados os Parâmetros de Orientação Interior, como a distância focal (f), coordenadas do ponto principal na imagem (x0, y0), coeficientes de distorção radial simétrica (K1, K2 e K3) e coeficientes de distorção descentrada (P1 e P2), conforme mostra a Tabela 1, com os seus respectivos desvios padrão estimados. Os parâmetros de afinidade mostraram-se pouco significativos e foram excluídos do conjunto de incógnitas.

Figura 8 Resultantes dos resíduos nas observações para: a) medição automática; b) medição manual interativa 

Tabela 1 Parâmetros de Orientação Interior e desvios padrão estimados com as medidas obtidas pelo processo automático. 

  Valor estimado Desvio Padrão Estimado
f(mm) 7,9533 0,0057 (1,57) pixel
x0(mm) 0,0592 0,0031 (0,87) pixel
y0(mm) 0,0153 0,0024 (0,67) pixel
K1(mm-2) -0,0023 0,00004
K2(mm-4) -0,00002180 0,00000630
K3(mm-6) 0,000000013 0,000000258
P1(mm-1) -0,00000610 0,000013
P2(mm-1) 0,00002529 0,000010

A Tabela 2(a) apresenta os Parâmetros de Orientação Exterior estimados, para que se possa verificar a configuração das estações e a Tabela 2(b) mostra os desvios padrão estimados dos parâmetros de orientação exterior para as imagens utilizadas.

Tabela 2 Resultados referentes aos Parâmetros de Orientação Exterior: a) POEs estimados e; b) Desvios padrão estimados para as imagens utilizadas. 

(a)
Parâmetro ω φ κ Xo Yo Zo
Imagem (graus) (graus) (graus) (mm) (mm) (mm)
338 -4,432043 1,671317 0,070796 666,51 536,38 1403,89
339 -3,630621 4,594181 -90,218360 728,64 456,89 1682,61
340 5,277235 4,497610 178,337916 701,29 337,52 1657,46
341 -1,433651 9,674321 1,634935 1142,57 325,69 1378,21
342 -4,497576 -22,106895 -0,605291 62,00 484,02 1389,95
344 -5,674332 -37,778080 -0,767078 -312,89 429,88 1200,70
345 4,929646 -15,227930 179,792818 -79,75 352,75 1549,87
346 1,947473 27,271091 177,952579 1331,35 469,69 1593,94
(b)
Desvio Padrão σω σφ σκ σXo σYo σZo
Imagem            
338 0,022199 0,023014 0,004904 0,639 0,515 0,960
339 0,026424 0,023029 0,005258 0,606 0,728 1,187
340 0,024958 0,023824 0,005235 0,611 0,682 1,181
341 0,026128 0,027299 0,006873 0,693 0,542 0,901
342 0,022940 0,024354 0,008484 0,508 0,421 0,970
344 0,025468 0,025929 0,014422 0,700 0,340 0,801
345 0,023392 0,023190 0,007870 0,734 0,486 1,019
346 0,024583 0,026347 0,009893 0,737 0,498 1,038

A Tabela 3 apresenta os coeficientes de correlação entre os parâmetros de orientação interior e a Tabela 4 entre alguns parâmetros de orientação interior (f, xo, yo) e os POEs da imagem 338, sendo similares para as demais. Pode-se verificar as baixas correlações entre os POI, exceto entre os coeficientes da distorção radial, o que era esperado.

Tabela 3 Coeficientes de correlação entre os Parâmetros de Orientação Interior estimados. 

  f x0 y0 K1 K2 K3 P1 P2
f 1,00 0,54 -0,36 -0,18 0,11 -0,11 -0,36 0,07
x0   1,00 -0,23 -0,08 -0,00 -0,01 0,19 0,10
y0     1,00 0,09 -0,06 0,07 0,11 0,42
K1       1,00 -0,92 0,86 0,14 -0,18
K2         1,00 -0,98 0,06 -0,00
K3           1,00 -0,06 0,00
P1             1,00 -0,33
P2               1,00

Tabela 4 Coeficientes de correlação entre alguns parâmetros de orientação interior (f, xo, yo) e os POEs da imagem 338. 

POI Imagem ω φ κ X0 Y0 Z0
f e OE 338 -0,19 0,19 0,11 0,68 0,04 0,96
x0 e OE 338 -0,07 -0,41 0,10 0,54 -0,04 0,49
y0 e OE 338 0,49 -0,04 -0,12 -0,25 0,27 -0,35

Pela análise da Tabela 4, verifica-se que as correlações entre os POI e os POE foram pequenas, exceto entre f e Z0, devido ao uso de um campo de calibração plano. Estas correlações, entretanto, não afetaram os resultados do processo.

Para verificar o ganho em eficiência e precisão em relação ao processo de medição interativa, os mesmos pontos extraídos foram medidos manualmente, usando o software ImageJ (RASBAND, 2014), que permite a pontaria interativa com gravação das coordenadas em fração sub-pixel. A medição foi feita com um zoom de 5 vezes, o que permite distinguir os pixels individualmente. Para a medição dos 1.476 pontos imagem (em oito imagens) foram necessárias 8 horas, enquanto que, a execução utilizando o software identificador automático foi feita praticamente em tempo real. Além desta diferença substancial de tempo, as estatísticas da estimação dos parâmetros obtidas com o processo de medição automático são substancialmente melhores. Para comprovar esta hipótese, o experimento de calibração foi realizado novamente, apenas substituindo-se o arquivo com as coordenadas imagem pelo arquivo gerado pelo processo de medição manual. Como resultado, o sigma a posteriori obtido a partir das medidas manuais foi de 0,94, em comparação com o valor de 0,5 obtido com as medidas automáticas. Esta comparação indica que as medidas automáticas foram aproximadamente duas vezes mais precisas que as medidas manuais. Para verificar o efeito da qualidade das medidas nos parâmetros estimados, apresenta-se a Tabela 5, com os parâmetros de orientação interior estimados e seus respectivos desvios padrão.

Tabela 5 Parâmetros de Orientação Interior e desvios padrão estimados com as medidas obtidas manualmente. 

  Valor estimado Desvio Padrão Estimado
f(mm) 7,9774 0,0094 (1,57 pixel)
x0(mm) 0,0626 0,0052 (0,87 pixel)
y0(mm) 0,0195 0,0039 (0,67 pixel)
K1(mm-2) -0,0021 0,00008
K2(mm-4) 0,00001177 0,00001038
K3(mm-6) 0,000000396 0,000000424
P1(mm-1) -0,00000027 0,000023
P2(mm-1) 0,00002739 0,000017

Pode-se verificar que a precisão obtida com a medida manual foi inferior à atingida com a medição automática para todos os parâmetros. Além da análise do sigma a posteriori, já apresentada, a Figura 8(b) mostra a distribuição das resultantes dos resíduos após a calibração com as medidas manuais, em comparação com as obtidas com as medidas automáticas, mostradas na Figura 8(a). Observa-se visualmente que os resíduos obtidos com a medição automática estão concentrados no nível de 1 pixel, ao passo que os resíduos obtidos com as medidas automáticas estão no nível de 0,5 pixel. Isto se confirma pelo cálculo da média dos valores das resultantes dos resíduos que são de 0,26 pixels e 0,5 pixels, para as medidas automáticas e manuais, respectivamente, que são compatíveis com os sigma a posteriori estimados, como discutido anteriormente.

Estas comparações mostram que a extração automática é mais rápida e produz menos erros grosseiros e acidentais. Pode-se afirmar, ainda, que a medida automática pode ser melhorada com a introdução de outras técnicas de processamento de imagens e de detecção de pontos de interesse.

5. CONCLUSÃO

A técnica apresentada neste trabalho tem como objetivo automatizar a etapa de medição de coordenadas imagem para a calibração de câmaras. Este objetivo foi atingido ao utilizar alvos codificados do tipo ARUCO, que são localizados automaticamente em imagens digitais, medindo de maneira única e precisa as coordenadas dos quatro cantos da coroa, com precisão sub-pixel.

Além da fase automática de identificação e extração das coordenadas dos alvos, o aplicativo desenvolvido permite a interação com o usuário em tempo de execução, para que se faça uma inspeção visual nos pontos marcados e, caso seja necessário, realize a exclusão de um ou mais pontos com erro de identificação ou localização. Porém, não houve nenhum caso, entre os testes realizados, em que tenham ocorrido erros desta natureza. O resultado do processo proposto representa uma otimização na forma de extração dos pontos em uma imagem, com medições precisas e rápidas em comparação com o processo visual/manual, que é muito demorado e suscetível a erros de localização.

Os resultados dos experimentos de calibração mostraram que foi possível estimar os POIs e os POEs com a precisão ao nível do pixel, compatível com a qualidade dos pontos de apoio. Pode-se afirmar que o processo completo de calibração pode ser inteiramente automatizado com poucos passos adicionais na implementação, que são a estimação de parâmetros aproximados, como já mencionado na introdução e a execução automática da detecção e eliminação de erros grosseiros eventualmente existentes. Pode ser incluído um passo adicional de verificação da significância de parâmetros de orientação interior.

Um dos problemas desta técnica, que está relacionado apenas ao modo como está implementado, está na eliminação de alvos com oclusão parcial, principalmente na coroa. Alguns destes alvos incompletos poderiam ser identificados com base em operações topológicas com os vizinhos. Além disto, a extração dos cantos poderia ser melhorada com operadores de extração de cantos, o que indica que há espaço para melhorar a técnica em projetos futuros.

Em trabalhos futuros, deverá ser verificada a possibilidade de se usar também os pontos internos existentes em cada alvo, o que poderá ser feito a partir de uma localização de cantos. Com isto, espera-se melhorar a forma de reconhecimento dos alvos ARUCO, de maneira a evitar descartes desnecessários de áreas candidatas, fazendo um pré-processamento para corrigir os polígonos convexos que não estejam com a borda contínua, devido a ruídos ou oclusões. Para a automatização completa do processo de calibração, pode-se implementar uma ferramenta para extrair automaticamente os parâmetros internos de uma imagem (identificação da câmara, distância focal aproximada, tamanho da imagem e tamanho do sensor), utilizando os dados existentes no arquivo da própria imagem e utilizar algoritmos e modelos de orientação lineares, como a DLT (MELEN, 1994), para gerar os valores aproximados para os parâmetros de orientação exterior.

AGRADECIMENTOS

Os autores agradecem ao CNPq (Conselho Nacional de Desenvolvimento Científico e Tecnológico) pelo apoio concedido ao projeto na forma do auxílio n. 305111_2010-8.

REFERÊNCIAS BIBLIOGRÁFICAS

ABDEL-AZIZ, Y. I., and KARARA, H. M. Photogrammetric potential of non-metric cameras. No. 36. University of Illinois at Urbana-Champaign, Civil Eng. Studies, Photogrammetry Series, 1974. [ Links ]

ANDRADE, J.B., OLIVAS, M.A., Calibração de Câmaras Aerofotogramétricas. Boletim de Ciências Geodésicas, nº 26, 39p, Curitiba, 1981. [ Links ]

AVA Group (Aplicaciones de La Visión Artificial), ARUCO: a minimal library for Augmented Reality applications based on OpenCv, http://www.uco.es/investiga/grupos/ava/node/26. Acesso em: 3/6/2012. [ Links ]

ALVAR - A Library for Virtual and Augmented Reality, www.vtt.fi/multimedia/alvar.html, Acessoem: 30/5/2012. [ Links ]

ARTERO, A.O., TOMMASELLI, A.M.G., Limiarização Automática de Imagens Digitais, Boletim de Ciências Geodésicas, v.6, p.38-48, 2000. [ Links ]

BAZAN, W.S.; TOMMASELLI, A.M.G.; GALO, M.; RUY, R., A Influência das Injunções de Orientação Relativa na Calibração de um Sistema Dual de Câmaras Digitais, Boletim de Ciências Geodésicas, v. 15, n. 3, 2009. [ Links ]

BRADSKY, G. R. ; PISAREVSKY, V., BOUGUET, J., Learning OpenCV: computer vision with the OpenCV library, Springer, 2008. [ Links ]

BROWN, D., Close range camera calibration, Photogrammetric Engineering, v. 37, n. 8, p. 855-866, 1971. [ Links ]

BROWN, D. A Strategy for Multi-Camera on the Job Self-Calibration, Institut fur Photogrammetrie der Universitat Stuttgart, Geburtstag, p. 9-21, 1989. [ Links ]

CLARKE, T.A., FRYER, J.G., The Development of Camera Calibration Methods and Models, Photogrammetric Record, v. 16., n.91, p. 51-66, 1998. [ Links ]

CRONK, S., FRASER, C., HANLEY, H., Automated Metric Calibration of Colour Digital Cameras, Photogrammetric Record, v. 21, n. 116, p. 355-372, 2006. [ Links ]

DEBIASI, P., HAINOSZ, F., MITISHITA, E A. Calibração em Serviço de Câmara Digital de Baixo Custo com o uso de Pontos de Apoio Altimétrico, Boletim de Ciências Geodésicas, v. 18, n. 2, 2012. [ Links ]

DENSO WAVE INCORPORATED, QR Code, http://www.qrcode.com/en/index.html, Acesso em: 31/5/2012. [ Links ]

FIALA, M., Artag, an improved marker system based on artookit, In National Research Conciul Publication NRC 47166/ERB-1111, http://www.cs.cmu.edu/afs/cs/project/skinnerbots/Wiki/AprilTags/NRC-47419.pdf, 2004. [ Links ]

FRASER, C.S., Innovations in Automation for Vision Metrology Systems, Photogrammetric Record, v. 15, n. 90, p. 901-911, 1997. [ Links ]

FRASER, C.S., Automated processes in digital photogrammetric calibration, orientation, and triangulation. Digital Signal Processing: A Review Journal, v. 8, n. 4, p. 277-283, 1998. [ Links ]

FRASER, C.S., Automatic camera calibration in close range photogrammetry. Photogrammetric Engineering and Remote Sensing, v. 79, n. 4, p. 381-388, 2013. [ Links ]

GALO, M., TOMMASELLI, A.M.G., Calibração de Câmaras. Visão Computacional, Editora Gráfica Viena, Presidente Prudente, p.53-112, 2011. [ Links ]

GARRIDO-JURADO, S. et al. Automatic generation and detection of highly reliable fiducial markers under occlusion. Pattern Recognition, v. 47, n. 6, p. 2280-2292, 2014. [ Links ]

HATTORI, S., AKIMOTO, K., FRASER, C., IMOTO, H., Automated Procedures with Coded Targets in Industrial Vision Metrology, Photogrammetric Engineering and Remote Sensing, v. 68, n. 5, p. 441-446, 2002. [ Links ]

KATO, H., BILLINGHURST, M., Marker Tracking and Hmd Calibration for a Video-Based Augmented Reality Conferencing System", In Proceedings of the 2nd IEEE and ACM Intern. Workshop on Augmented Reality (IWAR 99),1999. [ Links ]

KODAK CONSUMER PRODUCTS, http://store.kodak.com/store/ekconsus/en_US/pd/ThemeID.3925700/CX4300_Digital_Camera/productID.168648200, Acesso em: 22/11/2012. [ Links ]

KOKUBUM, C.N.C.; TOMMASELLI, A.M.G.; REISS, M.L.L., Classificação Automática de Padrões Projetados por um Sistema de Luz Estruturada, Boletim de Ciências Geodésicas, v. 11, n. 1, p. 89-116, 2005. [ Links ]

LI, Z., LIU, M., Research on Decoding Method of Coded Targets in Close-Range Photogrammetry, Journal of Computational Information Systems, v. 6, n. 8, p. 2699-2705, 2010. [ Links ]

MELEN, T., Extracting Physical Camera Parameters from the 3 x 3 Direct Linear Transformation Matrix, in: Optical 3D Measurement Techniques II: Applications in Inspection, Quality Control, and Robotics, International Society for Optics and Photonics, 1994. [ Links ]

MIKHAIL, E. M., BETHEL, J., and McGLONE, J. C. Introduction to Modern Photogrammetry. John Wiley& Sons, Inc., New York, 2001. [ Links ]

MITISHITA, E.A.; OLIVAS, M.A.A., Calibração de Câmaras Aerofotogramétricas a partir de Aerofotos Digitalizadas, Boletim de Ciências Geodésicas, v. 7, n. 1, p. 64-76, 2001. [ Links ]

MUÑOZ-SALINAS, R., 2012. ARUCO: a minimal library for Augmented Reality applications based on OpenCv, http://www.uco.es/investiga/grupos/ava/node/26, Acesso em: 20 Jun. 2013. [ Links ]

OTSU, N., A Threshold Selection Method from Grey-level Histograms, IEEE Transactions on Systems, Man, and Cybernetics, Vol. 9, 1, pp.377-393, 1979. [ Links ]

PHOTOMODELER, http://www.photomodeler.com/tutorial-vids/online-tutorials.htm, Acesso em: 30/11/2012. [ Links ]

RASBAND, W. imagej.nih.gov/ij/index.html Acesso em: 20/02/2014 [ Links ]

REISS, M.L.L. ; TOMMASELLI, A. M. G. A low-cost 3D reconstruction system using a single shot projection of a pattern matrix. Photogrammetric Record, v. 26, p. 91-110, 2011. [ Links ]

RUY, R. S. Desenvolvimento e validação geométrica de um sistema para mapeamento com câmaras digitais de médio formato. 2008. Tese (Doutorado em Ciências Cartográficas) - Universidade Estadual Paulista, Orientador: Antonio M. G.Tommaselli. [ Links ]

SHORTIS, M.R., SEAGER, J.W., ROBSON, S., HARVEY, E.S., Automatic Recognition of Coded Targets Based on a Hough Transform and Segment Matching, Proceedings of SPIE-The International Society for Optical Engineering, 2003. [ Links ]

WANDRESEN, R. A., BITTENCOURT, J., MITISHITA, E. A., Integração Entre Redes Neurais e Correlação para a Identificação de Pontos de Apoio Pré-Sinalizados, Boletim de Ciências Geodésicas, v. 11, n. 2, 2005. [ Links ]

XIAO, Z.Z., LIANG, J., YU, D.H., TANG, Z.Z., An Improved Calibration Method for Optical 3D Measuring System Using Cross Target Based on Bundle Adjustment Algorithm, Advanced Materials Research, v. 97-101, p. 4237-4242, 2010. [ Links ]

ZHANLI, L. ; YUE, X. Research on Artificial Target Image Matching, Proceedings International Conference on Environmental Science and Information Application Technology - ESIAT2009, 2009. [ Links ]

ZHONG, S. ; GAO, Z. Automatic Recognition of Coded-Pattern Sequence by Using Image Cross-Correlation, Proceedings The International Society for Optical Engineering - SPIE, 2005. [ Links ]

Recebido: Outubro de 2013; Aceito: Abril de 2014

Creative Commons License This is an Open Access article distributed under the terms of the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.