• Nenhum resultado encontrado

Calibração da câmara via Halcon 13.0

A abordagem do HALCON 13.0 ao processo de calibração da câmara tem precisamente como base o modelo de câmara pinhole anteriormente descrito. O objetivo passa por minimizar o erro da estimativa da projeção de um ponto 3D em relação ao plano de imagem, utilizando como valores iniciais os parâmetros do dispositivo de aquisição de imagem e a posição do ponto 3D em questão tendo em conta a informação posicional obtida através da extração das marcas da placa de calibração.

A projeção de um ponto 3D do sistema de coordenadas reais para o sistema de coordenadas de pixéis baseado em linhas (rows) e colunas (columns), (r, c)T pode ser descrito como o seguinte:

Considere-se Pw = (x

w, yw, zw)T como sendo um ponto conhecido, no sistema de

coordenadas reais (world coordinate system) e Pc = (xc, yc, zc)T como sendo o mesmo ponto no

sistema de coordenadas da câmara (camera coordinate system). Este último ponto Pc pode ser obtido aplicando uma transformação ao ponto Pw que tem por base a matrizes R e t, anteriormente apresentadas, como demonstrado na equação 5.14:

𝑃𝑐 = 𝑅. 𝑃𝑤 + 𝑡 (5.14)

A projeção de Pc no sistema de coordenadas do plano de imagem (u, v) pode ser obtida

pela transformação evidenciada na equação 5.15.

(𝑢𝑣) = ( 𝑓𝑥𝑐 𝑧𝑐 𝑓𝑦𝑐 𝑧𝑐 ) (5.15)

A Figura 5.2 permite uma melhor compreensão do que foi descrito até agora neste subcapítulo.

Existe ainda um fator a ter em conta na transformação de coordenadas reais para coordenadas do plano de imagem. Trata-se do coeficiente de distorção da lente já anteriormente referido (K). As coordenadas (ui, vi) de P, corrigidas tendo em contra este fator, podem ser

obtidas utilizando a equação 5.16.

(𝑢𝑣𝑖 𝑖) = ( 2𝑢 1 + √1 − 4𝑘(𝑢2+ 𝑣2) 2𝑣 1 + √1 − 4𝑘(𝑢2+ 𝑣2)) (5.16)

Posteriormente o ponto P, agora em 2D, pode ser convertido do sistema de coordenadas do plano de imagem (u, v)T para o sistema de coordenadas de pixéis (r ,c)T, tendo em conta os parâmetros (Sx, Sy)T e (Cx, Cy)T como mostrado na equação 5.17.

(𝑟𝑐) = ( 𝑣𝑖 𝑆𝑦 𝑢𝑖 𝑆𝑥 ) (5.17) 5.3.1 Placa de calibração

O processo de calibração de câmara mais simples e rápido, e por consequência o mais utilizado quando se trabalha com o HALCON, é a calibração com recurso a uma placa como a exibida na Figura 5.3, sendo que várias configurações em termos de disposição de marcas estão disponíveis na internet. A placa escolhida possui 200*200 [mm] e possui uma configuração de 7x7 marcas. Para realizar este processo é necessário adquirir um certo número de imagens da placa de calibração posicionada em diferentes orientações e inclinações na área de trabalho, onde os objetos estarão colocados.

Figura 5.3 - Placa de calibração do HALCON utilizada no processo[57].

Como já foi brevemente referido, todo o processo da calibração tem por base a extração das marcas de calibração existentes nas placas, ou seja, a determinação da posição dos círculos

na imagem. Os centros destas marcas circulares constituem os pontos de controlo 3D que funcionam como referência para a transformação entre sistema de coordenadas real e o da imagem. Contudo o que se verifica na imagem adquirida é que as marcas não aparecem com a forma exatamente circular, mas como uma elipse. Essa elipse é definida através de dois vetores que por sua vez são usados como forma de definir um vetor normal ao centro da elipse, e aparecem detetadas no centro das marcas da Figura 5.4. A média do valor de posição dos vetores normais à marca é definido como o vetor normal da placa na imagem, sendo deste modo determinada a sua pose.

Figura 5.4 - Placa de calibração do HALCON com as marcas detetadas.

Utilizando as equações 5.17, 5.16, 5.15 os valores em coordenadas reais correspondentes aos valores (r, c)T das marcas de calibração tendo como base os valores iniciais dos parâmetros da câmara, parâmetros estes que tem de ser conhecidos e introduzidos pelo utilizador. O algoritmo de calibração assenta no princípio de minimização da diferença ao quadrado (e) entre os centros das marcas de calibração em coordenadas 3D (𝑚𝑖) e os centros em coordenadas de imagem, 2D (𝑚̃i).

𝑒(𝑥) = ∑‖𝑚̃𝑖− 𝜋(𝑚𝑖 , 𝑥)‖2 𝑁

𝑖=1

(5.18)

Em que π é a projeção do sistema de coordenadas 3D para 2D descrita acima, que é função de

R, t, f, k, S

x

, S

y

, C

x

, C

y

.

5.3.2 Procedimento de calibração

O procedimento de calibração tem como base a placa e utiliza a linguagem HDevelop para desenvolver um programa capaz de processar todos os dados de calibração, nomeadamente alguns parâmetros iniciais característicos de câmara, conhecidos à priori: comprimento focal (que pode ser regulável caso a câmara permita ajustamento de foco) e distâncias entre células do sensor. Estes parâmetros são posteriormente devolvidos nos resultados de calibração juntamente com os restantes. É também necessário introduzir a espessura da placa, e fazer a deteção dos centros das marcas e transformação entre diferentes sistemas de coordenadas.

Na fase inicial do programa é necessário carregar ou criar um ficheiro que contém informações sobre a placa de calibração, mais precisamente o número e configuração

geométrica das marcas existentes na placa, distância entre marcas, coordenadas reais da posição das marcas em número de marcas por fila e coluna e medidas da margem que limita as marcas na placa. O ficheiro pode ser carregado a partir da biblioteca de ficheiros HALCON fornecida com o software, caso o tamanho da placa a utilizar corresponda a um dos ficheiros fornecidos, uma vez que há vários para diferentes dimensões de placas. Caso isto não se verifique, é possível criar este ficheiro de descrição da placa com o operador gen_caltab. Neste caso o utilizador terá de introduzir manualmente todos os dados acima referidos.

A extração das marcas das imagens da placa e suas coordenadas reais correspondentes do ficheiro de descrição é feita com o operador find_mark_and_pose e a calibração propriamente dita é executada com o operador calibrate_camera, utilizando-se por sua vez o get_calib_data para exibir os resultados. Para isto é necessário introduzir os parâmetros inicias da câmara previamente e carregar ou adquirir no momento um certo número de imagens da placa – entre 10 a 25 - em várias orientações e inclinações no plano de imagem, sendo que a placa deve cobrir pelo menos um terço da área de imagem. O resultado contém parâmetros intrínsecos da câmara e parâmetros extrínsecos em coordenadas da câmara, fruto da calibração realizada.

Documentos relacionados