UNIVERSIDADEFEDERALDO RIO GRANDE DO NORTE
UNIVERSIDADEFEDERAL DORIOGRANDE DONORTE
CENTRO DETECNOLOGIA
PROGRAMA DEPÓS-GRADUAÇÃO EMENGENHARIAELÉTRICA
José Savio Alves de Sousa Segundo
Orientador: Prof. Dr. Pablo Javier Alsina
Dissertação de Mestrado apresentada ao
Programa de Pós-Graduação em Engenharia Elétrica da UFRN (área de concentração: Engenharia de Computação) como parte dos requisitos para obtenção do título de Mestre em Ciências.
Natal, RN, Abril de 2007
Um Método para Determinação da
Profundidade Combinando Visão Estéreo e
Autocalibração para Aplicação em Robótica
Autocalibração para Aplicação em Robótica
Móvel
José Savio Alves de Sousa Segundo
Dissertação de Mestrado aprovada em 30 de Abril de 2007 pela banca examinadora com-posta pelos seguintes membros:
Prof. Dr. Pablo Javier Alsina (orientador) . . . DCA/UFRN
Prof. Dr. Teodiano Freire Bastos Filho . . . DELE/UFES
Prof. Dr. Adelardo Adelino Dantas de Medeiros . . . DCA/UFRN
Agradecimentos
Ao meu orientador, Prof. Pablo Javier Alsina, sou grato pela orientação.
Ao Prof. Luiz Marcos Gonçalvez pela ajuda durante a realização deste trabalho.
Aos Professores Adelardo Adelino de Medeiros e Teodiano Freire Bastos Filho por nos honrar com suas presenças na banca examinadora.
Aos colegas João Paulo, Ricardo, Marcelo e demais colegas do laboratório de robótica pelas contribuições e sugestões ao trabalho.
A minha família pelo apoio durante esta jornada.
Sumário i
Lista de Figuras iii
Lista de Tabelas v
Lista de Símbolos e Abreviaturas vii
1 Introdução 1
1.1 Motivação . . . 5
1.2 Objetivo . . . 5
1.3 Metodologia . . . 5
1.4 Estrutura do Trabalho . . . 6
2 Calibração 7 2.1 Modelagem da Câmera . . . 8
2.2 Parâmetros Geométricos da Câmera . . . 11
2.3 Método de Zhang . . . 12
2.4 Autocalibração . . . 14
3 Visão Estéreo 19 3.1 Extração das Características . . . 20
3.1.1 Operador SUSAN . . . 21
3.2 Fusão Binocular . . . 22
3.2.1 Geometria Epipolar . . . 22
3.2.2 Restrição de Ordenação . . . 24
3.2.3 Correlação . . . 25
3.3 Reconstrução . . . 28
3.3.1 Retificação da imagem . . . 28
3.3.2 Reconstrução . . . 29
3.3.3 Triangulação Retificada . . . 30
4 Sistema Proposto 33 4.1 Cabeça Estéreo . . . 33
4.1.1 Aspectos Físicos . . . 36
4.2 Funcionamento do Sistema . . . 37
4.3 Reconstrução Geométrica Baseada em Coordenadas Polares . . . 38
4.4 Autocalibração Através das Coordenadas Polares . . . 45
5 Experimentos e Resultados 49 5.1 Calibração do Parâmetros Intrínsecos . . . 49
5.2 Descrição dos Experimentos . . . 50
5.3 Aquisição . . . 51
5.4 Detecção dos Vértices . . . 52
5.5 Correlação . . . 54
5.6 Determinação da Geometria . . . 56
5.7 Autocalibração . . . 56
5.8 Estimação da Profundidade . . . 56
6 Conclusões e Perspectivas 63
2.1 Modelo de Câmera de Orifício . . . 9
2.2 Efeito de perspectiva: Objetos distantes aparentam menores que objetos mais próximos. A distânciaddo orifícioOpara o plano contendo o objeto Cé a metade da distância para o plano contendo os objetosAeB . . . 9
2.3 Efeitos da perspectiva: As imagens de linhas paralelas intersectam-se no horizonte. Nesse caso, o plano virtual da imagem H está à frente do orifício . . . 10
2.4 Projeção perspectiva: As equações de projeção perspectivas são derivadas da colinearidade do pontoP, sua imagemP′e o orifícioO . . . 10
2.5 Cone Absoluto . . . 15
3.1 Geometria Epipolar: O pontoP, os centros óticosOeO′das duas câmeras, e as duas imagens pe p′dePpertencem ao mesmo plano . . . 22
3.2 Restrição epipolar: O conjunto de possíveis correspondências para o ponto pe restringido à pertencer à linha epipolar associadal′ . . . 23
3.3 Restrição de ordenação . . . 24
3.4 Correlação de duas janelas 3x5 sobre as linhas epipolares correspondentes 26 3.5 A perspectiva de superfícies não-frontoparalelas é diferente para as duas câmeras: Um segmento de superfície com comprimentoL projeta-se em dois segmentos de imagem com diferentes comprimentoslel′. . . 26
3.6 Um par estéreo retificado . . . 28
3.7 Triangulação em presença dos erros de medida . . . 29
3.8 Triangulação retificada entre os dois centros óticos O e O´ das imagens . . 31
4.1 Cinemática da Plataforma experimental . . . 34
4.2 Movimentação da Plataforma experimental . . . 35
4.3 Vista lateral de parte do robô . . . 36
4.4 Sistema de visão desenvolvido . . . 38
4.5 Comparação das notações para representação das imagens . . . 39
4.6 Esquema para medição dos ângulos de abertura da câmera . . . 40
4.7 Invariância da representação por coordenadas polares em relação à dis-tância focal . . . 41
4.8 Representação das projeções da distânciaPMno plano horizontal . . . . 43
4.9 Representação da projeção da distânciaPMno plano vertical . . . 44
4.10 Esquema simplificado da representação por coordenadas polares relacio-nando a cabeça estéreo e um pontoP . . . 44
4.11 Esquema detalhado da representação por coordenadas polares relacio-nando a cabeça estéreo e um pontoP . . . 45
4.12 Esquema da autocalibração baseada em coordenadas polares e em um deslocamento conhecido . . . 46 4.13 Esquema modificado da autocalibração baseada em coordenadas polares
e em um deslocamento conhecido . . . 47 5.1 Imagens capturadas pelas câmeras direita e esquerda da cabeça estéreo . . 49 5.2 Configuração utilizada nos experimentos. A região B representa a região
"visível"ao robô, enquanto que as regiões A e C não são visíveis . . . 51 5.3 Par de imagens capturado pelas câmeras da cabeça estéreo durante a primeira
aquisição . . . 52 5.4 Par de imagens capturado pelas câmeras da cabeça estéreo durante a
se-gunda aquisição . . . 53 5.5 Vértices detectados no par de imagens da primeira aquisição . . . 53 5.6 Vértices detectados no par de imagens da segunda aquisição . . . 54 5.7 Vértices destacados na imagem capturada pela câmera direita durante a
5.1 Resultados obtidos pelas etapas de correlação e determinação da geome-tria para os vértices exemplificados . . . 58 5.2 Resultados do método de reconstrução por triangulação retificada
uti-lizando distância focal calculada pela calibração convencional . . . 58 5.3 Resultados do método de reconstrução por coordenadas polares utilizando
distância focal calculada pela calibração convencional . . . 58 5.4 Distâncias focais calculadas pelo método de autocalibração por
coorde-nadas polares . . . 59 5.5 Resultados do método de reconstrução por coordenadas polares utilizando
distância focal ajustada pela autocalibração por coordenadas polares . . . 59 5.6 Erro de estimação da profundidade dos métodos analisados . . . 60 5.7 Erro médio de estimação da profundidade dos métodos analisados para a
primeira aquisição . . . 61 5.8 Erro médio de estimação da profundidade dos métodos analisados para a
segunda aquisição . . . 61 5.9 Erro médio de estimação da profundidade dos métodos analisados . . . . 61
Resumo
Este trabalho propõe um método para determinar a profundidade de objetos em cena utilizando uma combinação das técnicas de visão estéreo e autocalibração. Determinando a distância relativa entre objetos visualizados e um robô móvel, dotado de uma cabeça estéreo, é possível efetuar sua navegação em ambientes desconhecidos. As técnicas de visão estéreo fornecem uma medida de profundidade a partir da combinação de duas ou mais imagens de uma mesma cena. Para a obtenção de estimativas da profundidade dos objetos presentes nesta cena é necessário uma reconstrução da geometria da mesma.
Para tal reconstrução é necessário o relacionamento das coordenadas tridimensionais do mundo com as coordenadas bidimensionais das imagens. Através da obtenção dos parâmetros intrínsecos das câmeras é possível fazer o relacionamento entre os sistemas de coordenadas. Estes parâmetros podem ser obtidos através da calibração geométrica das câmeras, a qual é geralmente feita através da visualização de um objeto padrão de calibração com dimensões conhecidas. A autocalibração das câmeras permite a obtenção dos parâmetros intrínsecos das mesmas sem a utilização de um padrão conhecido de cal-ibração, sendo possível a obtenção e a alteração destes durante o deslocamento do robô móvel em um ambiente desconhecido.
É apresentado neste trabalho um método de autocalibração baseado na representação de características da imagem por coordenadas polares tridimensionais. Estas são determi-nadas relacionando-se características das imagens com os ângulos de abertura horizontal e vertical das câmeras. Utilizando-se estas coordenadas polares é possível efetuar uma re-construção geométrica da cena de forma precisa. Através desta combinação das técnicas proposta é possível obter-se uma estimativa da profundidade de objetos cena, permitindo a navegação de um robô móvel autônomo em um ambiente desconhecido.
Palavras-chave: Visão Estéreo, Autocalibração, Representação por Coordenadas
Po-lares Tridimensionais, Estimação de Profundidade.
This work proposes a method to determine the depth of objects in a scene using a combination between stereo vision and self-calibration techniques. Determining the rel-ative distance between visualized objects and a robot, with a stereo head, it is possible to navigate in unknown environments. Stereo vision techniques supply a depth measure by the combination of two or more images from the same scene. To achieve a depth estimates of the in scene objects a reconstruction of this scene geometry is necessary.
For such reconstruction the relationship between the three-dimensional world coordi-nates and the two-dimensional images coordicoordi-nates is necessary. Through the achievement of the cameras intrinsic parameters it is possible to make this coordinates systems rela-tionship. These parameters can be gotten through geometric camera calibration, which, generally is made by a correlation between image characteristics of a calibration pat-tern with know dimensions. The cameras self-calibration allows the achievement of their intrinsic parameters without using a known calibration pattern, being possible their cal-culation and alteration during the displacement of the robot in an unknown environment.
In this work a self-calibration method based in the three-dimensional polar coordi-nates to represent image features is presented. This representation is determined by the relationship between images features and horizontal and vertical opening cameras angles. Using the polar coordinates it is possible to geometrically reconstruct the scene. Through the proposed techniques combination it is possible to calculate a scene objects depth esti-mate, allowing the robot navigation in an unknown environment.
Keywords: Stereo Vision, Self-calibration, Three-dimensional Polar Coordinates
Rep-resentation, Depth Estimation.
Capítulo 1
Introdução
De acordo com oRobotics Industries Association, um robô pode ser definido como um
dispositivo mecânico móvel reprogramável, que consegue, de forma autônoma e recor-rendo à sua capacidade de processamento:
• Obter informação do meio no qual está inserido, utilizando sensores,
• Tomar decisões sobre o que fazer com base nessas informações adquiridas e em
informações predefinidas,
• Interagir com o meio envolvente utilizando atuadores, ou alterando seu próprio es-tado.
A robótica móvel lida com a concepção de robôs capazes de locomover-se.
Segundo França [França 2003], dois termos têm sido bastante empregados na clas-sificação de robôs móveis: veículos automáticos (auto-guiados) e veículos autônomos. Veículos automáticos são veículos que utilizam algum método de locomoção que altera o ambiente de trabalho, tais como, guias, marcadores artificiais implantados no ambiente (códigos de barra, figuras geométricas incomuns ao ambiente, etc), sendo incapazes de tomar decisões sobre rotas que não tenham sido previamente planificadas.
O ambiente de operação do veículo deve ser modificado de acordo com o tipo de guia ou marcador empregado. De uma forma geral, os veículos automáticos possuem uma locomoção bastante limitada. Em compensação, podem utilizar sensores simples que ne-cessitam de pouco processamento. Como exemplo deste tipo de veículo, pode-se citar o trabalho desenvolvido por Borges [Borges 1998]. Em seu trabalho, foi utilizado um sen-sor óptico constituído de uma matriz de receptores e transmissen-sores infravermelhos. Com esse sensor, determina-se a posição do veículo em relação a uma faixa-guia localizada no piso do ambiente do robô. Com isso, a ação de controle necessária para mantê-lo na sua rota é determinada.
A navegação autônoma de robôs em ambientes desconhecidos é uma tarefa complexa, que exige a resolução de uma gama de problemas, que vão desde a captura de sinais sensoriais, seu pré-processamento usando técnicas de filtragem, sua integração de modo a obter medidas úteis à navegação, a construção de modelos geométricos do ambiente a partir dos dados sensoriais e o uso destes modelos para localização do robô, bem como para o planejamento e a execução de tarefas de navegação e manipulação.
Em algumas aplicações da robótica móvel, por exemplo, em sistemas multiagentes, inicialmente, é necessário determinar-se, segundo um sistema de coordenadas qualquer, a posição do veículo, do seu "alvo"(local para o qual o mesmo deve mover-se) e, em alguns casos, dos obstáculos inseridos no seu ambiente. Em seguida, ações devem ser realizadas para que o veículo chegue ao seu destino. Neste caso, a dificuldade está no fato do ambiente de um veículo autônomo geralmente ser desconhecido e, às vezes, dinâmico. Por isso, para que o veículo possa atingir sua meta apesar das dificuldades deste ambiente, ele deve ser dotado de sensores robustos capazes de fornecer as informações de posição necessárias.
Em alguns trabalhos, como por exemplo, Ottoni [Ottoni 2000] e Carvalho [de Car-valho & Souza 1998], sensores de baixo custo, como ultra-som, odômetro e bússola digital são utilizados no controle de trajetórias de robôs móveis autônomos. Contudo, esses sis-temas são incapazes de reconhecer obstáculos com precisão e apresentam elevados erros de posição, mostrados por Sandi, Hemerly e Lages [F. A. Sandi L. & Lages 1998]. Nos animais, o principal sentido é a visão, o qual é o principal responsável pela estimação de posição e percepção dos obstáculos. Por isso, é natural que a visão computacional seja muito utilizada também com veículos autônomos. Exemplos dessa metodologia podem ser encontrados em Chaimowicz e Campos [Campos & Chaimowicz 1999], [Chaimowicz & Campos 1999]. Nestes trabalhos, são realizadas estimações de distâncias através da medição dos tamanhos relativos de marcas-guias em imagens capturadas de uma câmera. Em Pimentel e Hemerly [Pimentel & Hemerly 2000] um sistema de visão é utilizado para extrair do ambiente do veículo guias para sua navegação através da transformada de Hough e interpolação por mínimos quadrados. Já em Freitas [Freitas 1999], um sistema de visão (em conjunto com sensores de ultra-som) é utilizado para reconhecer obstáculos que estão a uma distância aproximadamente de 1 m em relação ao veículo. No processo de formação da imagem, basicamente a câmera projeta um ponto no espaço em um plano imaginário chamado de plano de imagem da câmera. Todo esse processo é descrito por uma matriz chamada matriz de projeção da câmera. A matriz de projeção é uma carac-terística particular de cada câmera e depende do processo de fabricação. Além disso, essa matriz pode ser alterada durante a execução normal do sistema, por exemplo, após uma alteração na distância focal da câmera, e pode variar de acordo com as condições do ambi-ente (variações térmicas e mecânicas) Faugeras, Luong e Maybank [Olivier D. Faugeras & Maybank 1992]. Por isso, a única maneira de determinar a matriz de projeção correta-mente é através de calibração.
3
com padrões contrastantes nas suas faces. Então, pode-se considerar a origem do sistema de coordenadas do ambiente como sendo um dos cantos do gabarito. Assim, as coorde-nadas dos padrões do gabarito e suas respectivas projeções no plano da imagem podem ser conhecidos com grande exatidão, Tsai [Tsai 1986].
Os métodos baseados em um padrão de calibração são bastante exatos, mas pos-suem duas limitações importantes, descritas por Faugeras, Luong e Maybank [Olivier D. Faugeras & Maybank 1992]: Primeiro, nem sempre um objeto que sirva como gabarito está disponível. Neste caso, é impossível realizar a calibração. Segundo, se os parâmet-ros da câmera forem alterados durante o funcionamento normal do sistema, a inspeção visual deve ser interrompida e o gabarito (novamente) deve ser posto no campo de visão da câmera. Em vista disso, métodos de calibração automática de câmeras foram desen-volvidos. Neste caso, a calibração não necessita de gabarito e pode ser realizada durante a operação normal de inspeção visual, enquanto a câmera realiza uma série de movimentos em relação a uma cena rígida. As primeiras técnicas de calibração automática, propostas por Zhang, Luong e Faugeras em [Z. Zhang & Faugeras 1996], eram muito suscetíveis a ruídos e não tinham uso prático. Felizmente, em 1997, Faugeras, Luong e Maybank [Olivier D. Faugeras & Maybank 1992] propuseram modificações que aumentaram a ex-atidão destas e as tornaram mais estáveis.
O uso de visão monocular em veículos autônomos tem limitações. Com a matriz de projeção conhecida, ou seja, com a câmera calibrada, a partir de um ponto no plano da imagem, é possível saber apenas a reta a qual pertence o ponto 3D correspondente, mostrado por Hartley e Zisserman [Hartley & Zisserman 2000]. Com isso, não se pode medir a distância deste ponto 3D a outro ponto no espaço e nem, caso este se mova, a sua velocidade. Em tais aplicações, o uso de visão monocular faz necessária a obtenção de mais de uma imagem de uma mesma cena a partir de pontos de vistas diferentes, como nos trabalhos de Campos e Chaimowicz [Campos & Chaimowicz 1999], [Chaimowicz & Campos 1999]. Mesmo assim, além de necessitar de mais tempo de processamento, essa técnica tende a produzir desvios na trajetória dos veículos autônomos, como no trabalho de Lamiroy, Espiau, Andreff e Horaud [B. Lamiroy & Horaud 2000].
As técnicas de visão estéreo baseiam-se em estabelecer pontos correlacionados entre duas ou mais imagens capturadas. A partir desta correlação determina-se a disparidade destes, obtendo-se a geometria da cena e determinando a profundidade dos objetos em cena. Por isso, nas aplicações em que tais informações são importantes, pode-se utilizar a estereoscopia (duas imagens de uma mesma cena fornecidas por um par de câmeras) para estimá-las. Após os trabalhos independentes de Faugeras [Faugeras 1992] e Hart-ley [R.I. HartHart-ley & Chang 1992], uma técnica de calibração de um par estereoscópico conhecida como calibração relativa tornou-se popular. Nesta, para calibração de um par estereoscópico, necessita-se apenas de uma imagem de cada câmera e, no mínimo, cinco mapeamentos de pontos quaisquer entre elas.
localização do ponto 3D. Por isso, o processo de emparelhamento (casamento) de pontos é um dos problemas fundamentais da estereoscopia, explorado em vários trabalhos como: Baumberg, Hirschmüller, Maciel [Baumberg 2000], [Hirschmüller 2001], [Maciel 2001]. Se o par de câmeras não está calibrado, não existe nenhuma restrição geométrica para estabelecer os emparelhamentos, ou seja, de uma forma geral, dado um ponto no plano de imagem de uma câmera, todos os pontos pertencentes ao plano de imagem da outra câmera que compõe o par são candidatos à emparelhamento, conforme demonstrado por Zhang [Z. Zhang & Luong 1995].
O emparelhamento de pontos é uma tarefa extremamente complexa e existem várias técnicas para realizá-la. Contudo, basicamente, para realizar emparelhamento de pontos em imagens sem calibração, determina-se, independentemente, pontos de interesse em ambas as imagens e, em seguida, tenta-se encontrar associações de pontos, como no tra-balho de Pilu [Pilu 1997]. Com os pontos de interesse determinados e segmentados, para que o problema de emparelhamento de pontos tenha solução, devem existir restrições que sirvam de guia para a resolução da tarefa. Estas restrições são encontradas no sistema de visão humano, nas propriedades das câmeras e sensores ópticos, e na geometria. Para encontrar os possíveis emparelhamentos, essas restrições devem ser aplicadas ao conjunto de pontos de interesse de duas imagens de forma seqüencial ou paralela.
Desta forma, espera-se que, ao final do processo, a maior quantidade possível de em-parelhamentos tenha sido encontrada corretamente, como no trabalho de Maciel [Maciel 2001]. Com alguns emparelhamentos encontrados, a matriz fundamental pode ser calcu-lada. Esta matriz relaciona um ponto no plano de uma imagem ao seu ponto correspon-dente na outra imagem, conforme mostrado por Hartley, Zisserman e Luong [Hartley 1995], [Hartley & Zisserman 2000], [Q. T. Luong & Papadopoulo 1993]. Contudo, a ma-triz fundamental não indica a localização exata do ponto, mas apenas a reta (no plano de imagem) a qual este ponto pertence. A esta reta, dá-se o nome de linha epipolar. O prob-lema em calcular-se a matriz fundamental é que, normalmente, a sua estimação é bastante suscetível a ruídos. Por isso, devido à instabilidade da técnica utilizada para segmentar os pontos de interesse ou a erros cometidos no processo de emparelhamento, a matriz funda-mental encontrada não é muito confiável, conforme mostrado por Torr e Murray, Zhang [Torr & Murray 1997], [Zhang 1998]. Em vista disso, vários métodos robustos, baseados no algoritmo RANSAC [M. A. Fischler 1981], LMedS [Rousseeuw & Leroy 1987] são empregados na detecção e eliminação do ruído.
A matriz fundamental calculada desta forma apresenta resultados bem melhores. A matriz fundamental transforma o processo de emparelhamento de pontos de um problema 2D em um de apenas uma dimensão. Além disso, se as linhas epipolares forem paralelas entre si e em relação ao eixo das abscissas, o correspondente ponto pode ser encontrado de forma menos complexa, por exemplo, simplesmente calculando uma função que forneça o grau de semelhança entre os dois pontos, como nos trabalhos de Fusiello, Trucco e Verri [Fusiello 1998], [A. Fusiello & Verri 1998], [A. Fusiello & Verri 2000].
1.1. MOTIVAÇÃO 5
disso, é através do conhecimento desses obstáculos que o veículo pode planejar a sua trajetória.
Em oposição a trabalhos que utilizam além do sistema de visão outros sensores (ultra-som, lasers etc.) que requerem um pré-conhecimento ou alterações no ambiente do robô, propõe-se um sistema de visão que retorne a profundidade, distância relativa, entre obje-tos, ou obstáculos, e o robô. Através da combinação das técnicas de autocalibração e visão estéreo, fornecemos uma ampla faixa de distâncias para determinação da profundidade de objetos em cena.
1.1
Motivação
A razão deste trabalho surge em função da especificação do projeto de um robô móvel de pequeno porte, denominado Karel. Nele, está prevista a capacidade de se locomover em ambientes desconhecidos e fechados. Daí aparece a necessidade de o robô visualizar estes ambientes e, assim, decidiu-se por equipar a plataforma com uma cabeça estéreo dotada de duas câmeras. Desta forma é necessário o desenvolvimento de métodos para determinar a profundidade entre objetivos visualizadoe e o robô, a várias distâncias, e resolver problemas de visão estéreo tradicional, sendo este trabalho parte do desenvolvi-mento da cabeça estéreo deste robô móvel.
1.2
Objetivo
Neste trabalho, propomos um sistema que permite a obtenção da distância relativa (profundidade) entre um robô e objetos visualizados pelo mesmo, de forma autônoma, durante sua execução. Isto é realizado através da combinação de técnicas de visão estéreo e autocalibração. Utilizando-se uma cabeça estéreo e técnicas de visão estéreo, recupera-se a geometria da cena e obtém-recupera-se a profundidade desta. Para a obtenção das distâncias é necessário o relacionamento desta geometria com os parâmetros das câmeras. A autocal-ibração permite a obtenção destes parâmetros de forma autônoma durante a navegação do robô. Combinando-se estas técnicas é possível obter a profundidade de objetos em cena em uma variada gama de distâncias às câmeras.
1.3
Metodologia
Primeiramente, iremos utilizar uma plataforma experimental (cabeça estéreo) con-feccionada no Laboratório de Robótica da UFRN. Tal plataforma é equipada com duas câmeras do tipo”webcam”que são utilizadas para a captura das imagens. Esta plataforma
de reconstrução geométrica da cena através de coordenadas polares tridimensionais dos pontos na imagem, e técnicas de autocalibração, baseadas nas coordenadas polares de pontos nas imagens, um deslocamento conhecido do robô e com ajuste da distância focal calculada das câmeras. O sistema proposto será mais bem explicado no capítulo 4.
1.4
Estrutura do Trabalho
Capítulo 2
Calibração
A calibração de câmeras é uma etapa necessária a qualquer aplicação em visão com-putacional e tem por finalidade obter parâmetros que tornarão possível mapear coor-denadas tridimensionais do mundo em coorcoor-denadas bidimensionais de imagens. Esses parâmetros, são geralmente divididos em duas categorias: parâmetros extrínsecos, que fornecem a posição da origem do sistema de coordenadas da câmera em relação à origem das coordenadas do mundo, e os intrínsecos, que exprimem a geometria interna da câmera bem como suas características ópticas. Existem na literatura diversos métodos utilizados para calibração.
Os métodos existentes na literatura diferenciam-se basicamente em duas categorias: Os que efetuam a calibração através da observação de um objeto com dimensões conheci-das, (padrão de calibração), denominados métodos clássicos de calibração de câmeras, ou calibração convencional, e os métodos que efetuam a calibração através da observação do ambiente, denominados autocalibração de câmeras.
Nos métodos de calibração convencional, um ponto em comum é a modelagem por meio de equações que relacionam pontos conhecidos em coordenadas de mundo com suas respectivas representações em imagem. Essas equações comporão um sistema a partir do qual serão encontrados os parâmetros extrínsecos e intrínsecos. É necessária a observação de uma ou mais imagens de objetos cuja geometria no espaço tridimensional é conhecida com alta precisão. Normalmente estes objetos, denominados padrão de calibração, estão contidos em um, dois ou três planos ortogonais entre si. O principal problema destes métodos é que exigem uma alta precisão nas medições dos objetos nas coordenadas de mundo, nas medições dos pontos correspondentes na imagem ou nos deslocamentos re-alizados pela câmera. Os parâmetros intrínsecos encontrados representam a configuração atual da câmera. Caso estes sejam alterados, é necessária uma nova calibração, impli-cando em uma nova observação do padrão de calibração, o que não é possível em algumas situações.
cali-brar a câmera dinamicamente durante o funcionamento do sistema em que ela é utilizada. A alteração dos parâmetros intrínsecos obriga uma nova calibração, que pode ser execu-tada sem dificuldades neste método. Porém, estes exigem um maior processamento para realizar a correspondência entre os pontos das imagens, além de normalmente serem mais complicados e de fornecerem resultados menos precisos.
Neste trabalho, desejamos calibrar os parâmetros intrínsecos das câmeras para efetuar a reconstrução geométrica da cena. Esta reconstrução é fundamental para a obtenção da profundidade da cena após a aplicação das técnicas de visão estéreo, Zhang, em [Z. Zhang & Deriche 1997], enunciou que: Para a estimação de profundidade a distância focal cal-culada pela calibração convencional é apenas válida para um volume em torno da posição do objeto de calibração. O desempenho da calibração degrada com o afastamento desta posição.
Considerando a precisão da calibração convencional e o fato de não ocorrer variação no foco manual das câmeras durante a operação do robô, utilizaremos uma estimativa ini-cial da distância focal. Portanto, resolvemos calcular esta distância focal iniini-cial utilizando o método proposto por Zhang em [Zhang 2002], baseado em um padrão de calibração com dimensões conhecidas. Iremos utilizar um método de autocalibração baseado na rep-resentação por coordenadas polares tridimensionais durante a execução do processo para obter a distância focal relativa aos objetos em cena. De tal forma, a distância focal uti-lizada no sistema é baseada na estimativa inicial obtida pela calibração convencional com seu valor ajustado pela autocalibração. As vantagens da utilização do método de Zhang são a flexibilidade, robustez e baixo custo de processamento. As vantagens da autocali-bração baseada em coordenadas polares são o baixo custo de processamento e a utilização das características geométricas do dispositivo e da cena, que serão explicados no Capítulo 4.
2.1
Modelagem da Câmera
O modelo de câmera mais utilizado é opinhole, ou modelo de orifício. Este modelo é
a mais simples representação do funcionamento de uma câmera: Seja uma caixa com um furo pequeno no centro de um de seus lados, e com uma placa opaca no seu interior. Se a caixa for posicionada de frente para uma fonte de luz, tal como uma vela, será possível ver uma imagem invertida da mesma aparecendo na placa opaca, ilustrada na figura 2.1. Esta imagem é formada pelos raios de luz emitidos pela fonte em frente à caixa. Se o orifício fosse realmente reduzido a um ponto (o que é fisicamente impossível), exatamente um único raio de luz passaria através de cada ponto na placa (ou plano da imagem).
2.1. MODELAGEM DA CÂMERA 9
Figura 2.1: Modelo de Câmera de Orifício
conveniente algumas vezes considerar uma imagem virtual associada com um plano que se encontra na frente do orifício, à mesma distância para o plano da imagem. Esta imagem virtual não é invertida, mas é estritamente equivalente à atual. Dependendo do contexto, pode ser mais conveniente utilizar uma ou a outra.
A figura 2.2 ilustra um efeito óbvio da projeção perspectiva: o tamanho aparente dos objetos depende da sua distância: por exemplo, as imagens B’ e C’ dos vetores B e C têm o mesmo tamanho, mas A e C possuem realmente a metade do tamanho de B. A figura 2.3 ilustra outro efeito bem conhecido: A projeção de duas linhas paralelas sobre um plano Π faz com que as mesmas aparentem convergir sobre uma linha horizontal H formada
pela intersecção do plano da imagem com o plano paralelo aΠe passando através de um orifício. Note que a linha L emΠque é paralela ao plano da imagem não possui imagem.
Figura 2.2: Efeito de perspectiva: Objetos distantes aparentam menores que objetos mais próximos. A distância d do orifício Opara o plano contendo o objetoC é a metade da
Figura 2.3: Efeitos da perspectiva: As imagens de linhas paralelas intersectam-se no horizonte. Nesse caso, o plano virtual da imagemHestá à frente do orifício
Estas propriedades são fáceis de serem provadas de forma puramente geométrica. Contudo, é geralmente conveniente (se não elegante) usar uma convenção em termos dos referenciais, coordenadas e equações. Considere por exemplo um sistema de coordenadas (O,i,j,k)anexados à câmera de orifício, onde a origemOcoincide com o orifício, e os
vetores i e j formam a base do plano vetorial paralelo ao plano da imagem, localizado a uma distância positiva f′para o orifício ao longo do vetork, como ilustrado na figura 2.4.
A linha perpendicular aΠ′ e que passa através do orifício é chamada de eixo ótico, e o pontoC′ onde perfura Π′ é chamado de centro da imagem. Esse ponto pode ser usado como a origem do referencial de coordenadas do plano da imagem, e desempenha um papel importante nos procedimentos de calibração da câmera.
2.2. PARÂMETROS GEOMÉTRICOS DA CÂMERA 11
SejaPum ponto da cena com coordenadas(x,y,z)eP′sua imagem com coordenadas
(x′,y′,z′). EstandoP′ sobre o plano da imagem, temosz′= f′. Os três pontosP,OeP′
são colineares, obtendo-se−−→OP′=λ−→OPpara uma constanteλ.
x′=λx y′=λy z′=λz
⇐⇒λ= x ′ x = y′ y = z′ z (2.1) e
x′= f′x
z (2.2)
y′= f′y
z (2.3)
2.2
Parâmetros Geométricos da Câmera
As coordenadas(x,y,z)de um ponto P na cena observada por uma câmera de orifício são relacionados com suas coordenadas da imagem(x′,y′)pelas equações de perspectiva 2.2 e 2.3. Porém, essas equações só são validas quando todas as distâncias são medidas no referencial da câmera, e as coordenadas da imagem têm sua origem no ponto central, onde o eixo de simetria da câmera iguala-se a sua lente. Na prática, o mundo e o sistema de coordenadas da câmera são relacionados por um conjunto de parâmetros físicos, como a distância focal das lentes, o tamanho dos pixels, a posição do ponto central, e a posição e orientação da câmera. Assim, ocorre a distinção dos parâmetros intrínsecos, que rela-cionam o sistema de coordenadas da câmera ao sistema de coordenadas idealizado, e dos parâmetros extrínsecos, que relacionam o sistema de coordenadas da câmera ao sistema de coordenadas fixo do mundo e especifica sua posição e orientação no espaço.
Nesta modelagem de câmeras, um ponto apenas estará no foco quando sua profun-didade e a distância entre o centro ótico da câmera e o plano da imagem obedecerem às equações 2.2 e 2.3. Do mesmo modo, distorções não-lineares associadas com lentes reais não são levadas em consideração nestas equações.
Os parâmetros extrínsecos, ou de orientação exterior, representam a posição da origem do referencial imagem e sua orientação em relação ao referencial objeto (do mundo real). Podemos dizer que definem a posição e orientação 3D da câmera em relação a um de-terminado sistema de coordenadas, ou seja, a relação espacial entre a câmera e o mundo. Estes parâmetros fazem a transformação entre o sistema de coordenadas do mundo para o sistema de coordenadas da câmera e são, portanto, translações e rotações.
principal ou centro projetivo é definido como a intersecção do eixo ótico do sistema de lentes da câmera com o plano da imagem. A constante de distorção ótica mede a distorção causada pela imperfeição na forma geométrica das lentes da câmera. O fator de escala em X é oriundo da diferença entre o número de elementos sensores na câmera e o número de pixels amostrados pelo hardware de digitalização da imagem.
2.3
Método de Zhang
No trabalho apresentado por Zhang [Zhang 2002], é utilizado um padrão plano para realizar a calibração. Relacionando um ponto no plano imagem com o seu correspondente em coordenadas de mundo, tem-se:
sm˜ =A[R T]M˜ (2.4)
Os vetores aumentados de 1 ˜m= [u,v,1]T e ˜M= [X,Y,Z,1]T são, respectivamente,
as coordenadas na imagem e no mundo de um ponto P. Os parâmetros R e T são os
parâmetros extrínsecos e a matrizAé a matriz contendo os parâmetros intrínsecos, dada
por:
A=
⎡
⎣
fx γ ox
0 fy oy
0 0 1
⎤
⎦ (2.5)
onde ox e oy são as coordenadas do ponto central, fx e fy são os fatores de escala na
imagem nos eixosxey, respectivamente, eydescreve o"skewness", ou a inclinação, dos dois eixos da imagem.
Como o padrão utilizado para calibração é plano, sem perda de generalidade, pode-se re-escrever 2.4 como
s ⎡ ⎣ u v 1 ⎤
⎦=A[r1r2t] ⎡ ⎣ X Y 1 ⎤ ⎦ (2.6)
que implica dizer que um ponto no padrão dado por uma coordenadaMrelaciona-se a sua
coordenada na imagemmpor uma homografiaH, onder1er2representam os elementos
da matriz de rotaçãoR, etrepresentaa translação, ou seja
sm˜ =HM˜ sendo H=A[r1r2t] (2.7)
2.3. MÉTODO DE ZHANG 13 sobredeterminado como ⎡ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ˜
M1T 0T −uM˜1T
0T M˜T
1 −vM˜T1
˜
M2T 0T −uM˜2T
0T M˜T
2 −vM˜T2
... ... ... ˜
MNT 0T −uM˜NT
0T M˜T
N −vM˜TN ⎤ ⎣ ⎣ ⎣ ⎣ ⎣ ⎣ ⎣ ⎣ ⎣ ⎦ ⎡ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ h11 h12 h13 ... ... h32 h33 ⎤ ⎣ ⎣ ⎣ ⎣ ⎣ ⎣ ⎣ ⎣ ⎣ ⎦
=0 (2.8)
utilizando-se a decomposição SVD.
Com o conhecimento de que r1 e r2 na equação 2.7 são ortonormais e sendo H =
[h1h2h3], tem-se
hT1(AT)−1A−1h2 = 0 (2.9)
hT1(AT)−1A−1h1 = hT2A−TA−1h2 (2.10)
Seja a matrizBdada por
B= (AT)−1A−1=
⎡
⎣
B11 B12 B13
B21 B22 B23
B31 B32 323
⎤ ⎦ (2.11) B= ⎡ ⎢ ⎢ ⎢ ⎣ 1
fx2 −
γ fx2fy
oyγ−oxfy fx2fy
−f2γ
xfy2
γ2 fx2fy2 +
1
fy2 −
γ(oxγ−oyfy) fx2fy2 −
oy fy2 oyγ−oxfy
fx2fy −
γ(oxγ−oyfy) fx2fy2 −
oy fy2
(oyγ−oxfy)2 fx2fy2 +
o2y fy2+1
⎤ ⎣ ⎣ ⎣ ⎦ (2.12)
Uma vez que a matriz Bé simétrica, pode-se representá-la por um vetor de seis
ele-mentos
b= [B11,B12,B22,B13,B23,B33]T (2.13)
e assim tem-se
hTi Bhj=vTi jb (2.14)
onde
vi j = [hi1hj1,hi1hj2+hi2hj1,hi2hj2,hi3hj1+hi1hj3, hi3hj2+hi2hj3,hi3hj3]T
A partir das restrições 2.9 e 2.10 pode-se escrever um sistema para cada uma das imagens do padrão, apresentadas como
vT12
Se n imagens forem utilizadas o sistema será composto por 2×n equações. Esse
sistema pode ser resolvido de novo com o auxílio da decomposição SVD.
A partir da solução encontrada para a matriz B podem-se obter os parâmetros in-trínsecos
oy= (B12B13−B11B23)/(B11B22−B212) B33−[B213+oy(B12B13−B11B23)]/B11
fx=
λ/B11
fy=
λB11/(B11B22−B212)
γ=−B12fx2fy/λ ox=γoy/fy−B13fx2/λ
e os extrínsecos para cada imagem
λ=1/A−1h1=1/A−1h2
r1=λA−1h1
r2=λA−1h2
r3=r1×r2
t=λA−1h3
2.4
Autocalibração
A autocalibração foi inicialmente proposta por [Maybank & Faugeras 1992] e [Olivier D. Faugeras & Maybank 1992] como uma tentativa de efetuar-se a calibração de uma câmera obtendo-se os parâmetros intrínsecos consistentes com a geometria projetiva de uma seqüência de imagens. De tal forma, os algoritmos de autocalibração efetuam nen-huma ou poucas suposições sobre a estrutura da cena visualizada. Recentemente, os pesquisadores estenderam as técnicas de autocalibração utilizando outras restrições além das restrições dos parâmetros intrínsecos, principalmente restrições na movimentação das câmeras e restrições na cena. O problema da autocalibração estende-se também para variações nos parâmetros intrínsecos, principalmente a distância focal de uma câmera.
A maioria dos algoritmos de autocalibração baseiam-se no modelo de câmera de orifício, assumindo que a câmera efetua uma transformação perspectiva perfeita, como demonstrado na seção 2.1. Sendo(u,v)as coordenadas da imagem e(X,Y,Z)as coorde-nadas de mundo, então a equação de projeção é dada por:
s ⎡ ⎣ u v 1 ⎤
⎦=KRT[I| −t] ⎡ ⎢ ⎢ ⎣ X Y Z 1 ⎤ ⎣ ⎣ ⎦ =P ⎡ ⎢ ⎢ ⎣ X Y Z 1 ⎤ ⎣ ⎣ ⎦ (2.16)
Onde K é uma matriz triangular superior definida pelos parâmetros intrínsecos da
câmera, e R e t representam a orientação e posição da câmera, respectivamente, e são
2.4. AUTOCALIBRAÇÃO 15
perspectiva, que relaciona as coordenadas do mundo em coordenadas da imagem. O número de parâmetros variáveis da matrizKdepende do modelo da câmera empregado.
⎡
⎣
αu −αucot(θ) u0
0 αv/sin(θ) v0
0 0 1
⎤
⎦ (2.17)
Neste caso, os cinco parâmetros intrínsecos são: (u0,v0) que são as coordenadas do
ponto principal, (αu,αv) que são os fatores de escala, e θ é o ângulo entre os eixos da
imagem.
O cone absolutoΩé um cone particular no plano do infinito. O coneΩé invariante sobre movimentações rígidas e sobre mudanças de escala uniformes, logo, sua posição relativa em relação a uma câmera em movimento é constante. Então a imagem deΩserá constante se os parâmetros intrínsecos permanecerem constantes durante o movimento das câmeras.
O coneΩpode ser considerado um objeto de calibração presente em todas as cenas. O coneΩpode ser representado pelo quadrilátero absolutoΩ′. Neste caso,Ωe seu plano de suporte, o plano no infinitoΠ∞, são expressos através de uma entidade geométrica, e
a relação entre Ωe sua imagem ωé facilmente obtida usando-se a equação de projeção paraΩ′:
ω′i≈PiΩ′PiT (2.18)
Onde o operador≈significa um fator de escala,ω′irepresenta a imagem deωi, Ω′ a
imagem deΩePia matriz de projeção, com centro óticoci, ilustrado na figura 2.5
Figura 2.5: Cone Absoluto
Utilizando-se as equações 2.16 e 2.18 e escrevendo-seΩ′=diag(1,1,1,0), obtém-se
a relação entre os parâmetros intrínsecosK e a imagem dual do cone absolutoΩ′, dada por:
Ω′pode ser transferido de uma imagem para a outra através da homografia do plano Π∞.
ωj≈Hi j∞−TωiHi j∞−1 (2.20)
Então, se aplicarmos a restrição da geometria epipolar, obtêm-se as equações de Kruppa [Kruppa 1913]:
[ei j]TxKKT[ei j]x≈Fi jKKTFi jT (2.21)
OndeFi j é a matriz fundamental para os pontos de vista i e j, e ei j é o epipolo
cor-respondente. Por esta restrição, elimina-se a solução da posição no infinito da equação. Neste caso apenas duas equações independentes podem ser obtidas. Combinando-se as equações 2.20 e 2.21 obtém-se a seguinte equação:
KiKiT ≈PiΩ′PiT (2.22)
As equações 2.20 e 2.22 são os fundamentos da maioria dos métodos de autocali-bração de câmeras. Quando a homografia do plano no infinitoHi j∞ é conhecida, então a
equação 2.20 pode ser reduzida a um conjunto de equações lineares nos coeficientes de ωiouω′i [Hartley 1994a].
Segundo [Hemayed 2003], os algoritmos de autocalibração classificam-se de acordo com os tipos de restrições consideradas para obter-se os parâmetros intrínsecos:
• Alguns algoritmos baseiam-se em parâmetros intrínsecos desconhecidos mas
re-stringidos, sem nenhuma suposição sobre a estrutura da cena visualizada. Algumas abordagens interessantes foram propostas em [Maybank & Faugeras 1992], [Olivier D. Faugeras & Maybank 1992], [Kruppa 1913], [Hartley 1994a], [Luong & Faugeras
1997], [Heyden & Astrom 1996], [M. Pollefeys & Oosterlinck 1996], [M. Pollefeys 1997], [M. Pollefeys 1999], [Triggs 1997], [Lourakis & Deriche 2000b], [C. Lei &
Tsui 2002], [Heyden & Astrom 1997], [M. Pollefeys & Gool 1998], [M. Pollefeys & Gool 1999], [Heyden & Astrom 1998], [R. I. Hartley & Reid 1999], [M. Polle-feys & Proesmans 1996], [Hartley 1992], [Huang & Faugeras 1989], [Bougnoux 1998], [Mendonca & Cipolla 1999], [Lourakis & Deriche 2000a], [Rousso & Shilat
1998], [Seo & Heyden 2000].
• Alguns algoritmos são específicos para movimentos restritos, combinando a
re-strição de movimentos da câmera com a rere-strição dos parâmetros intrínsecos. Em muitos casos isto torna o algoritmo mais simples, porém a ambigüidade geralmente não é restringida. Algumas abordagens interessantes são propostas em [T. Moons & Pauwels 1996], [Hartley 1994b], [M. Armstrong & Hartley 1996], [O. Faugeras
& Sturm 2000], [L. Wang & Xu 2001], [L. De Agapito & Hayman 1999], [L. De Agapito & Reid 1998], [L. De Agapito & Reid 2001], [Kim & Hong 2001], [Tordoff & Murray 2000], [Seo & Hong 1998], [Seo & Hong 1999], [Hayman & Murray 2002].
2.4. AUTOCALIBRAÇÃO 17
Os primeiros métodos de autocalibração foram propostos por Maybank e Faugeras, em [Maybank & Faugeras 1992] e Faugeras, Luong, Maybank, em [Olivier D. Faugeras & Maybank 1992], baseando-se nas equações de Kruppa [Kruppa 1913] e utilizando-se de três vistas para uma mesma cena. Esta abordagem foi evoluindo com o passar dos anos e atualmente [Luong & Faugeras 1997] usam as equações de Kruppa para derivar sistemas de equações polinomiais, mas esta técnica envolve um alto custo computacional, possui incertezas associadas à estimação da geometria epipolar e necessita de algum con-hecimento prévio dos parâmetros intrínsecos, além de não relacionarem todas as imagens em um único quadro projetivo.
Pollefeys desenvolveu um método que se inicia com a calibração projetiva, utiliza a homografia do plano no infinito para obter a calibração afim e então obtém a calibração eu-clidiana a partir de três imagens. Hartley, em [Hartley 1994a] baseando-se em [Maybank
& Faugeras 1992], desenvolveu um algoritmo prático para mais de três câmeras. Triggs propõe em [Triggs 1997] minimizar a recuperação do quadrado absoluto, que consiste em um quadrado degenerado formado por planos tangentes ao cone absoluto e possui a propriedade de que sua projeção da imagem coincide com a imagem dual do cone abso-luto.
Lourakis e Deriche propõem, em [Lourakis & Deriche 2000b], uma simplificação de
forma algébrica e baseada na matriz fundamental das equações de Kruppa [Kruppa 1913] tornando o algoritmo da autocalibração mais estável e mais robusto em relação ao ruído. Lei, em [C. Lei & Tsui 2002], propõe um método que utiliza uma técnica de otimização para determinar os fatores de escala, sendo os parâmetros intrínsecos são derivados das restrições lineares resultantes.
Moons em [T. Moons & Pauwels 1996] e Hartley [Hartley 1994b] propõem uma
redução para equações lineares através de uma abordagem estratificada, obtendo as ho-mografias do plano no infinito através de uma calibração afim baseada em uma translação pura [T. Moons & Pauwels 1996] e uma rotação pura [Hartley 1994b]. Armstrong, em
[M. Armstrong & Hartley 1996], considera o caso da autocalibração de uma câmera sobre uma movimentação planar, que consiste de uma translação em um plano e uma rotação sobre um eixo perpendicular a este plano. Foi introduzida a relação polar entre o ponto do eixo de rotação e a linha trifocal.
Faugeras investiga em [O. Faugeras & Sturm 2000] a relação entre uma câmera 2D e uma 1D. É mostrado que uma movimentação planar de uma câmera 2D pode ser reduzida para uma câmera 1D sobre o plano trifocal da câmera 2D, substituindo-se as equações de Kruppa [Kruppa 1913] para autocalibração de câmeras 2D por um algoritmo linear para a autocalibração de câmeras 1D. Li propõem um método em [H. Li & Hu 2002] que calcula os 5 parâmetros intrínsecos linearmente. Neste, informações planares da cena são utilizadas e a câmera efetua dois ou mais conjuntos de três movimentos ortogonais mútuos ou cinco ou mais conjuntos de dois movimentos ortogonais.
& Zisserman 1998] uma técnica de retificação para imagens em perspectivas de planos utilizando-se de informações como um ângulo conhecido, ou dois ângulos semelhantes desconhecidos ou uma razão entre comprimentos conhecida.
Xu propõe em [G. Xu & Shum 2000] um algoritmo linear recuperando-se a movi-mentação das câmeras e equações de dois planos através de suas matrizes de homografia. Utiliza-se inicialmente estimativas que são otimizadas pela minimização da diferença entre observações e reprojeções. Liebowitz e Zisserman propõem em [Liebowitz & Zisserman 1999] uma abordagem combinando-se as restrições da cena e as restrições da autocalibração sobre o cone absoluto.
Em alguns casos, a movimentação das câmeras não é suficiente para permitir a au-tocalibração. Este tipo de movimento é definido como uma seqüência de movimentos críticos. Nestes casos não existe uma única solução para a o problema da autocalibração. Strum, em [Sturm 1997], [Sturm 1999], promove uma análise completa destas seqüências de movimentos críticos para parâmetros intrínsecos constantes e identifica falhas específi-cas para alguns algoritmos. Análises parciais e alguns específi-casos específicos são mencionados em [Pollefeys 1999], [Y. Ma & Sastry 1999], [Kahl 1999].
Capítulo 3
Visão Estéreo
A visão computacional pode ser utilizada como um sensor de distâncias, substituindo sonares e sensores baseados em infravermelho, que apresentam problemas de resolução angular e reflexão difusa, respectivamente. Uma imagem plana não é suficiente - na maior parte dos casos - para fornecer informações sobre a distância dos objetos à câmera. Para obter esta informação, são utilizadas, no mínimo, duas imagens, sejam elas adquiridas por uma ou mais câmeras, ou pela movimentação da(s) mesma(s) ou do robô. Usar duas imagens, conhecendo-se o deslocamento do observador na tomada de uma para a outra, para obter a distância dos objetos é no que consiste a visão estéreo.
A visão computacional estéreo é uma tentativa de reprodução do modo como os seres humanos vêem o mundo, onde as imagens separadas de dois olhos são combinadas com sucesso em uma imagem tridimensional no cérebro. Cada olho captura sua própria vista e as duas imagens separadas são transmitidas ao cérebro para serem "processadas". Quando as duas imagens chegam simultaneamente na parte traseira do cérebro, são combinadas em uma única imagem. O cérebro combina as duas imagens casando as similaridades e adicionando as pequenas diferenças. Essas pequenas diferenças entre as duas imagens são adicionadas até que se obtenha uma diferença total na imagem final. A imagem combinada é mais do que a soma de duas imagens. É uma imagem estereoscópica tridi-mensional.
Para construir-se um programa computacional capaz de possuir uma percepção estere-oscópica, é preciso entender como vários pontos de vista de uma mesma cena restringem a estrutura tridimensional e as configurações correspondentes das câmeras. No caso de uma visão estéreo binocular, a primeira imagem de qualquer ponto deve estar no plano formado pela segunda imagem e pelo centro ótico das duas câmeras. Essa restrição epipo-lar é expressa geometricamente por uma matriz 3x3 chamada de matriz essencial, quando os parâmetros intrínsecos das câmeras são conhecidos, ou matriz fundamental, caso con-trário.
Pode-se resumir a visão estéreo como: A habilidade de inferir informações na estru-tura 3D e a distância de uma cena para duas ou mais imagens através de diferentes pontos de vista. A visão estéreo envolve basicamente três processos:
• Extração das características das imagens observadas pelo par de câmeras.
• Utilizar a informação do estágio anterior juntamente com a dados geométricos do sistema estéreo para recuperar a posição tridimensional do ponto no mundo,( a re-construção da imagem 3D).
3.1
Extração das Características
O processo de fusão binocular é extremamente complexo. Para reduzir a complex-idade, geralmente é realizado um pré-processamento nas imagens para detectar e isolar caracteres primitivos que sejam de fácil identificação. Esta técnica é denominada extração de características das imagens.
Para extrair-se características da imagem é necessário realizar operações de filtragem sobre estas imagem de modo que seja possível detectar linhas, bordas, vértices, etc. O objetivo é extrair as características essenciais das imagens, reduzindo o volume de dados e eliminando características desnecessárias para uma determinada aplicação.
Os vértices são características amplamente utilizadas em visão computacional por serem bastante estáveis sob pequenas variações das condições de iluminação e orientação das câmeras. Em estereoscopia, pares de vértices correspondentes são tidos como mais eficientes no cálculo da posição tridimensional do que segmentos de linhas, especialmente quando as posições dos pontos terminais dos segmentos de linhas não são conhecidas com precisão, como no trabalho de Huynh em [Huynh 1994]. Segundo Huynh, por serem bastante estáveis sob variações de iluminação e orientação das câmeras, os cantos (ou vértices) são muito utilizados em estereoscopia como características primitivas.
Supõe-se que um canto mr na primeira imagem e o canto correspondente m′r na
se-gunda imagem tenham, respectivamente, coordenadas (u,v) e (u′,v′). Na prática, um
detector de cantos padrão irá detectar estes mesmos cantos em m= (u+Δu,v+Δv) e
m′= (u′+Δu′,v′+Δv′), onde Δu, Δv, Δu′ eΔv′ representam deslocamentos em pixels e
podem ser positivos ou negativos. Por isso, mesmo se o algoritmo de emparelhamento utilizado encontre corretamente o par(m,m′), haverá erros de localização de alguns
pix-els no emparelhamento. Isto, por exemplo, faz com que raios ópticos relacionados aos pontosme m′não se toquem, ou seja, torna difícil a determinação das coordenadas 3D
do vértice em questão [Hartley & Sturm 1997]. Por isso, é desejável que o algoritmo de detecção de cantos tenha as seguintes características.
• ForneçaΔu,Δv,Δu′eΔv′próximos de zero;
• as contribuições deΔueΔu′sejam ambas positivas ou ambas negativas, e;
• da mesma forma, as contribuições de Δv e Δv′ sejam ambas positivas ou ambas
negativas.
3.1. EXTRAÇÃO DAS CARACTERÍSTICAS 21
3.1.1
Operador SUSAN
O operador SUSAN, proposto por Smith em [Smith & Brady 1997], segue o método usual de detecção de vértices, ou seja, dada uma imagem, usando uma janela pré-determinada centralizada em cada pixel desta imagem, aplica-se localmente um conjunto de regras. O resultado dessas regras são processadas e fornecem um conjunto de vértices na saída. Será feita uma análise sobre o operador de detecção de vértices SUSAN Smallest Univalue Segment Assimilating Nucleus, ou Menor Segmento de Valor Semelhante ao Núcleo.
O princípio deste detector de vértices é baseado no fato de que cada ponto da imagem tem uma área de intensidade comparável. O algoritmo envolve aplicar uma máscara cir-cular centralizada em cada pixel e então comparar a intensidade dos pixels da vizinhança com a do centro. A área com intensidade similar ao núcleo é denominada de Área USAN,
Univalue Segment Assimilating Nucleus.
Uma filtragem não-linear define quais partes da imagem são relacionadas a cada pixel individualmente. Cada pixel associa uma região de intensidade similar. Quando fazemos a minimização desta mesma região, obtemos um método de detecção mais preciso, robusto a ruídos e rápido.
A máscara circular utilizada é uma matriz 7x7: 0 0 1 1 1 0 0
0 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 0 0 0 1 1 1 0 0
De tal forma que representa um circulo discretizado com raio de 3,5 pixels, para cada pixel dentro desta janela, é calculado:
n(m0) =
∑
m
c(m,m0)
onde m é um vetor de localização de um pixel dentro da janela, m0 é a localização do
ponto central da janela e
c(m,m0) =exp−[(I(m)−I(m0))/t]
6
sendoI(m)é a intensidade (nível de cinza) do pixel no pixelmeté um limiar da variação
de intensidade. Por fim, se n(m0) for maior que um limiar g, o ponto na posição m0 é
considerado um vértice. Pode-se dizer que o operador SUSAN considera um vértice como o ponto que tem menos vizinhos similares [E. Loupias & Jolion 2000]. Em uma aplicação de visão estéreo alguns pontos de interesse não tem o seu correspondente ponto marcado precisamente na mesma localização da cena nas duas imagens. O operador SUSAN marca muitos pontos de interesses, valor controlado pelo limiart, e marca apenas um ponto em
3.2
Fusão Binocular
Após um conjunto de pontos detectados no par de imagens, pode-se iniciar o processo de fusão binocular. Para que o problema de emparelhamento de pontos tenha solução, devem existir restrições que sirvam de guia na busca por pontos correspondentes. Estas restrições são encontradas nas geometria dos dispositivos, destacando-se a linha epipolar e a restrição de ordenação. A correlação entre os vértices detectados na etapa de extração de característica é feita seguindo estas restrições e obtendo os pares de vértices mais correlacionados no par de imagens.
3.2.1
Geometria Epipolar
Consideremos as imagens p e p′ de um ponto P, observado por duas câmeras com
centros óticos O e O′. Estes cinco pontos pertencem ao plano epipolar, definido pela
intersecção dos dois raiosOPeO′P, observados na figura 3.1. Em particular, o ponto p′
está sobre a linhal′onde esse plano e a retina Π′ da segunda câmera se intersectam. A linhal′ é a linha epipolar associada com o ponto p, e passa através do ponto e′, onde a
linha base entre os centros óticosO e O′ intersectaΠ′. Simetricamente, o ponto p está
sobre a linhalque passa através da intersecçãoeda linha base com o planoΠ.
Figura 3.1: Geometria Epipolar: O pontoP, os centros óticosOeO′das duas câmeras, e
as duas imagens pe p′dePpertencem ao mesmo plano
Os pontoseee′são chamados de epipolos das duas câmeras. O epipoloe′é a imagem
(virtual) do centro óticoOda primeira câmera na imagem observada pela segunda câmera,
e vice versa. Se pep′são imagens do mesmo ponto, entãop′deve estar na linha epipolar
associada com p. Essa restrição epipolar é fundamental para visão estéreo e análise de
movimento.
3.2. FUSÃO BINOCULAR 23
e p, conseqüentemente determinando o plano epipolar associadoOO′Pe a linha epipolar.
A busca por correspondências pode ser restrita a essa linha em vez das imagens inteiras, como ilustrado na figura 3.2. Na análise estéreo, cada câmera deve estar calibrada interna-mente, mas a transformação rígida separando o sistema de coordenadas das duas câmeras é desconhecida. Nesse caso, a geometria epipolar restringe o conjunto de possíveis corre-spondências entre as duas imagens.
Figura 3.2: Restrição epipolar: O conjunto de possíveis correspondências para o ponto p
e restringido à pertencer à linha epipolar associadal′
Assumindo-se que os parâmetros intrínsecos de cada câmera são conhecidos, então
p= p′. A restrição epipolar implica que os três vetores −→Op,O−−→′p′ e −−→OO′ são coplanares.
Portanto:
−→
Op.[−−→OO′×−→Op′] =0
Pode-se reescrever essa equação de coordenadas independentes no referencial de co-ordenadas associado à primeira câmera como:
p.[
T
×(R
p′)] =0 (3.1)Onde p = (u,v,1)T e p′ = (u′,v′,1)T representam os vetores de coordenadas
ho-mogêneas da imagem de pe p′,
T
é o vetor de coordenadas da translação−−→OO′, separandoos dois sistemas de coordenadas, e
R
é a matriz de rotação na qual um vetor livre comco-ordenadasw′ no segundo sistema de coordenadas, possui coordenadas
R
.w′no primeirosistema. Neste caso, as duas matrizes de projeção são dadas pelo sistema de coordenadas anexado à primeira câmera por (I 0) e(
R
T,−R
TT
), onde I é a matriz identidade,que é a rotação de uma câmera em relação a si mesma. Então reescrevemos a equação 3.1 como:
pTεp′=0 (3.2)
por Longuet [Longuet-Higgins 1981]. Seus nove coeficientes são apenas definidos por uma escala, e podem ser parametrizados pelos três graus de liberdade da matriz de rotação
Re os dois graus de liberdade definindo a direção do vetor de translação
T
.εp′pode ser interpretado como um vetor de coordenadas representando a linha
epipo-lar associada ao ponto p′na primeira imagem. Uma linha da imageml pode ser definida
pela sua equaçãoau+bv+c=0, onde(u,v)representam as coordenadas do ponto sobre a linha, (a,b) são as normais às linhas, e c é a distância entre a origem e l.
Alterna-tivamente, podemos definir a equação em termos do vetor de coordenadas homogêneas
p= (u,v,1)T de um ponto na linha e o vetor l = (a,b,c)T por l.p=0. Neste caso a restriçãoa2+b2=1 é relaxada já que a equação é independente a um fator de escala aplicado al. De tal forma, a equação 3.2 expressa o fato de que o ponto p está sobre a
linha epipolar associada ao vetorεp′. Por simetria, fica claro que εTp é o vetor de
co-ordenadas representando a linha epipolar associada a p na segunda imagem. A matriz
essencial é singular, já que.[
T
é paralelo ao vetor de coordenadasedo epipolo esquerdo,entãoεTe=−
R
T[.[T
×]e=0. Pode-se mostrar quee′é um autovetor zero deε. Huang eFaugeras [Huang & Faugeras 1989] mostraram que a matriz essencial é de fato caracter-izada pelo fato de ser singular com dois autovalores diferentes de zero.
3.2.2
Restrição de Ordenação
A ordem das imagens combinadas sobre um par de linhas epipolares é inversa à or-dem dos atributos das superfícies correspondentes sobre a curva onde a linha epipolar intercepta os limites dos objetos, como se pode observar no lado esquerdo da figura 3.3. Baker e Ohta em [Baker & Binford 1981], [Ohta & Kanade 1985] denominaram este fato de restrição de ordenação. Esta restrição pode não ser satisfeita em cenas reais, em particular quando pequenos objetos ocludem grande parte de objetos posteriores, como no lado direito da 3.3, ou quando há a presença de objetos transparentes.
Figura 3.3: Restrição de ordenação
3.2. FUSÃO BINOCULAR 25
caso mostrado à direita, um objeto menor está em frente a um maior. Alguns dos pontos da superfície não são visíveis em uma das imagens; A não é visível na imagem direita,
nemCé visível na imagem esquerda. A ordem dos pontos da imagem não é a mesma nas
duas figuras: bestá à direita ded na imagem esquerda, masb′ está à esquerda ded′ na
imagem direita.
Essa restrição é utilizada para obter algoritmos eficientes, utilizando-se da progra-mação dinâmica para estabelecer correspondências estéreo. Especificamente, assume-se que um número de pontos de características foram encontrados em linhas epipolares cor-respondentes. O objetivo é combinar os intervalos, separando os pontos sobre os dois perfis de intensidade. De acordo com a restrição de ordenação, a ordem dos pontos de características deve ser a mesma. Contudo, o intervalo nessa imagem pode ser reduzida para uma correspondência de pontos simples, retirando correspondências associadas com oclusão e/ou ruído.
3.2.3
Correlação
Os métodos de correlação encontram correspondentes dos pixels em imagens pela comparação de perfis de intensidade na vizinhança de possíveis correspondências. Essa técnica é a primeira técnica proposta para a resolução do problema de fusão binocular. Mais precisamente, consideremos um par estéreo retificado e um ponto(u,v)na primeira imagem. Associa-se com uma janela de tamanho p= (2m+1)×(2n+1)centralizada em(u,v), sendo que o vetor w(u,v)∈Rp é obtido pela varredura dos valores da janela,
uma linha por vez. Dada uma possível correspondência (u+d,v) na segunda imagem, podemos construir um segundo vetorw′(u+d,v)e definir a função de correlação cruzada normalizada correspondente como:
C(d) = 1
|w−w|.
1
|w′−w′|.(w−w).(w
′−w′) (3.3)
onde os índices u,v e d foram omitidos e w representa o vetor cujas coordenadas são
iguais à média das coordenadas dew, como mostrado na figura 3.4.
Na figura 3.4 a posição da segunda janela é separada da primeira por uma diferençad.
A duas janelas são codificadas por vetoreswew′, e a função de correlação mede o cosseno
do ânguloθentre os vetoresw−w¯ ew′−w¯′obtidos pela subtração entre os componentes
dewew′e as componentes dos vetores de intensidade média na janela correspondente
A função de correlação normalizadaCclaramente varia entre -1 e +1, e alcança o valor
máximo quando o brilho da imagem das duas janelas são relacionados por uma transfor-mação afimI′=λI+µpara algumas constantesλeµ, comλ>0. Em outras palavras, o máximo dessa função corresponde às regiões das imagens separadas por uma constante e por um fator positivo de escala, e os pares correspondentes podem ser encontrados pela busca do máximo deCsobre alguma variação pré-determinada de disparidades.
É fácil mostrar que maximizando a função de correlação é equivalente a minimizar a norma da diferença entre os vetores (1/|w−w|) e (1/|w′−w′|)(w′−w′), ou
Figura 3.4: Correlação de duas janelas 3x5 sobre as linhas epipolares correspondentes
de correlação normalizada sobre cada pixel da imagem ao longo de uma faixa de dispari-dades, esta pode ser implementada eficientemente através de recursão.
Superfícies inclinadas podem trazer problemas para métodos de correlação baseados em regiões, pois a correlação baseada em regiões assume implicitamente que a superfície observada é paralela aos dois planos das imagens, o que nem sempre é verdade, como mostra a figura 3.5.
Figura 3.5: A perspectiva de superfícies não-frontoparalelas é diferente para as duas câmeras: Um segmento de superfície com comprimento L projeta-se em dois
segmen-tos de imagem com diferentes comprimensegmen-toslel′.
Outro problema para os métodos de correlação é o tamanho das janelas, sendo um fator fundamental para o sucesso desta etapa. Se a janela, usada para procurar por cor-respondências, for pequena; O ruído pode facilmente destruir qualquer correspondência; Se o tamanho da janela for aumentado, aumentam-se as ambigüidades nos limites dos objetos que estão em distâncias diferentes.
3.2. FUSÃO BINOCULAR 27
significantes da imagem, tais como vértices, e sua vizinhança, devem ser preferidas à utilização apenas de regiões ou níveis de intensidades dos pixels.
A iluminação sobre o par de câmeras deve ser igual para que as imagens adquiridas apresentem o mesmo valor de níveis de cinza para um mesmo ponto. Porém, tal condição é difícil de ser implementada sem a utilização de um dispositivo de iluminação acoplado às câmeras, dependendo basicamente do ambiente visualizado. Como o objetivo é deter-minar a profundidade de objetos em um ambiente desconhecido, é necessário utilizarmos um algoritmo de correlação que seja robusto a esta dificuldade.
A correlação cruzada normalizada de média zero (ZNCC) calcula a correspondência entre pixels independentemente de diferenças no brilho ou contraste nas imagens, devido à normalização efetuada em relação à média e ao desvio padrão. Na literatura, os trabalhos de Crouzil; Psarakis e Evabgelidis; MA e Liu e; Lindoso, Entrena, López-Ongil e Liu, [Crouzil 2004, Psarakis & Evangelidis 2005, YongZhuang Ma 2005, A. Lindoso 2005], demonstram o desempenho da ZNCC é demonstrado. Para uma janela de dimensões 2∗m+1×2∗n+1, este método de correlação é o seguinte:
ZNCC(i,j) = ∑
n
k=−n∑mk=−m[Ide×Idd]
a∗σ2(Ide)∗σ2(Idd) (3.4) onde
a= (2m+1)∗(2n+1)
Ide=Ie(ui+k,vi+l)−Ie(ui,vi)
Idd=Id(u j+k,v j+l)−Id(u j,v j)
comIe(ui,vi)eId(u j,v j)sendo o valor médio do nível de cinza das janelas das imagens esquerdaIee direitaId, respectivamente, calculados da seguinte forma:
Id(ui,vi) =
n
∑
k=−n m
∑
l=−m
Id(ui+k,vi+l)
a
Ie(ui,vi) =
n
∑
k=−n m
∑
l=−m
Ie(ui+k,vi+l)
a
σ2(Ide)eσ2(Idd)representam os desvios padrões das janelas das imagens esquerda e direita, respectivamente, calculados da seguinte forma.
σ2(Ide) = ∑
n k=−n∑
m
l=−m[Ide]2 a
σ2(Idd) = ∑
n
k=−n∑ml=−m[Idd]2 a
im-agens baseado nas características, vértices e regiões em torno dos vértices, o que pro-porciona uma maior robustez quando comparado com um emparelhamento baseado em apenas um destes atributos.
3.3
Reconstrução
A Reconstrução consiste em recuperar o formato tridimensional de uma cena visu-alizada pelo par de câmeras. Este processo envolve a retificação, reconstrução e trian-gulação das imagens. Variações e aperfeiçoamentos dos métodos de triantrian-gulação são apresentados na literatura em [Hopken 2006, Tandler 2006, J. Tandler 2006, Davis et al. 2003].
3.3.1
Retificação da imagem
Os cálculos associados com algoritmos estéreo são consideravelmente simplificados quando as imagens de interesse são retificadas, i.e, substituídas por figuras equivalentes projetivamente com um plano de imagem comum, paralelo à base de junção dos dois centros óticos, como exemplificado na figura 3.6. O processo de retificação pode ser implementado pela projeção das imagens originais em novos planos de imagem. Com uma escolha apropriada do sistema de coordenadas, as linhas epipolares retificadas são mantidas nas novas imagens, e também são paralelas à linha base.
Figura 3.6: Um par estéreo retificado
Na figura 3.6 os dois planos das imagens Π e Π′ são reprojetados sobre um plano comum ¯Π=Π¯′paralelo à linha base. As linhas epipolareslel′associadas com os pontos pe p′nas duas imagens, são mapeadas em uma linha de varredura comum ¯l=l¯′também
paralela à linha base e passando através dos pontos reprojetados ¯p e ¯p′. As imagens