Um Método para Determinação da Profundidade Combinando Visão Estéreo e Autocalibração para Aplicação em Robótica Móvel

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

Download "Um Método para Determinação da Profundidade Combinando Visão Estéreo e Autocalibração para Aplicação em Robótica Móvel"

Transcrição

1 UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE CENTRO DE TECNOLOGIA PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA Um Método para Determinação da Profundidade Combinando Visão Estéreo e Autocalibração para Aplicação em Robótica Móvel 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

2 Livros Grátis Milhares de livros grátis para download.

3

4 Um Método para Determinação da Profundidade Combinando Visão Estéreo e 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 composta 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 Prof. Dr. Luiz Marcos Garcia Gonçalves DCA/UFRN

5

6 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. A minha esposa Kaliane, pelo seu amor. Te Amo mais que tudo, para sempre. À CAPES, pelo apoio financeiro.

7

8 Sumário Sumário Lista de Figuras Lista de Tabelas Lista de Símbolos e Abreviaturas i iii v vii 1 Introdução Motivação Objetivo Metodologia Estrutura do Trabalho Calibração Modelagem da Câmera Parâmetros Geométricos da Câmera Método de Zhang Autocalibração Visão Estéreo Extração das Características Operador SUSAN Fusão Binocular Geometria Epipolar Restrição de Ordenação Correlação Reconstrução Retificação da imagem Reconstrução Triangulação Retificada Sistema Proposto Cabeça Estéreo Aspectos Físicos Funcionamento do Sistema Reconstrução Geométrica Baseada em Coordenadas Polares i

9 4.4 Autocalibração Através das Coordenadas Polares Experimentos e Resultados Calibração do Parâmetros Intrínsecos Descrição dos Experimentos Aquisição Detecção dos Vértices Correlação Determinação da Geometria Autocalibração Estimação da Profundidade Conclusões e Perspectivas 63 Referências bibliográficas 66

10 Lista de Figuras 2.1 Modelo de Câmera de Orifício Efeito de perspectiva: Objetos distantes aparentam menores que objetos mais próximos. A distância d do orifício O para o plano contendo o objeto C é a metade da distância para o plano contendo os objetos A e B 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 Projeção perspectiva: As equações de projeção perspectivas são derivadas da colinearidade do ponto P, sua imagem P e o orifício O Cone Absoluto Geometria Epipolar: O ponto P, os centros óticos O e O das duas câmeras, e as duas imagens p e p de P pertencem ao mesmo plano Restrição epipolar: O conjunto de possíveis correspondências para o ponto p e restringido à pertencer à linha epipolar associada l Restrição de ordenação Correlação de duas janelas 3x5 sobre as linhas epipolares correspondentes 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 segmentos de imagem com diferentes comprimentos l e l Um par estéreo retificado Triangulação em presença dos erros de medida Triangulação retificada entre os dois centros óticos O e O das imagens Cinemática da Plataforma experimental Movimentação da Plataforma experimental Vista lateral de parte do robô Sistema de visão desenvolvido Comparação das notações para representação das imagens Esquema para medição dos ângulos de abertura da câmera Invariância da representação por coordenadas polares em relação à distância focal Representação das projeções da distância PM no plano horizontal Representação da projeção da distância PM no plano vertical Esquema simplificado da representação por coordenadas polares relacionando a cabeça estéreo e um ponto P iii

11 4.11 Esquema detalhado da representação por coordenadas polares relacionando a cabeça estéreo e um ponto P Esquema da autocalibração baseada em coordenadas polares e em um deslocamento conhecido Esquema modificado da autocalibração baseada em coordenadas polares e em um deslocamento conhecido Imagens capturadas pelas câmeras direita e esquerda da cabeça estéreo 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 Par de imagens capturado pelas câmeras da cabeça estéreo durante a primeira aquisição Par de imagens capturado pelas câmeras da cabeça estéreo durante a segunda aquisição Vértices detectados no par de imagens da primeira aquisição Vértices detectados no par de imagens da segunda aquisição Vértices destacados na imagem capturada pela câmera direita durante a primeira aquisição

12 Lista de Tabelas 5.1 Resultados obtidos pelas etapas de correlação e determinação da geometria para os vértices exemplificados Resultados do método de reconstrução por triangulação retificada utilizando distância focal calculada pela calibração convencional Resultados do método de reconstrução por coordenadas polares utilizando distância focal calculada pela calibração convencional Distâncias focais calculadas pelo método de autocalibração por coordenadas polares Resultados do método de reconstrução por coordenadas polares utilizando distância focal ajustada pela autocalibração por coordenadas polares Erro de estimação da profundidade dos métodos analisados Erro médio de estimação da profundidade dos métodos analisados para a primeira aquisição Erro médio de estimação da profundidade dos métodos analisados para a segunda aquisição Erro médio de estimação da profundidade dos métodos analisados v

13

14 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 calibraçã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 determinadas 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 reconstruçã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 Polares Tridimensionais, Estimação de Profundidade. vii

15

16 Abstract 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 relative 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 coordinates and the two-dimensional images coordinates is necessary. Through the achievement of the cameras intrinsic parameters it is possible to make this coordinates systems relationship. These parameters can be gotten through geometric camera calibration, which, generally is made by a correlation between image characteristics of a calibration pattern with know dimensions. The cameras self-calibration allows the achievement of their intrinsic parameters without using a known calibration pattern, being possible their calculation 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 coordinates 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 estimate, allowing the robot navigation in an unknown environment. Keywords: Stereo Vision, Self-calibration, Three-dimensional Polar Coordinates Representation, Depth Estimation. ix

17

18 Capítulo 1 Introdução De acordo com o Robotics Industries Association, um robô pode ser definido como um dispositivo mecânico móvel reprogramável, que consegue, de forma autônoma e recorrendo à 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 estado. 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 classificaçã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 necessitam 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 sensor óptico constituído de uma matriz de receptores e transmissores 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. Veículos Autônomos são capazes de realizar o planejamento de sua rota com base em análises de dados provenientes de seus sistemas sensoriais. Geralmente possuem uma arquitetura hierárquica de controle e na maioria das vezes são projetados seguindo conceitos da teoria de agentes autônomos. Entretanto, outras ferramentas, como redes neurais, lógica nebulosa e algoritmos evolutivos, têm sido aplicadas também em sua arquitetura, principalmente no auxílio da tomada de decisões, fusão de dados multisensoriais, aquisição de conhecimento e planejamento de navegação autônoma.

19 2 CAPÍTULO 1. INTRODUÇÃO 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 Carvalho & 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 sistemas 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 caracterí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 ambiente (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 corretamente é através de calibração. No processo de calibração da câmera, as coordenadas de um conjunto de pontos no espaço, assim como as coordenadas das projeções no plano da imagem desses pontos, devem ser conhecidas. Uma maneira de obter-se essas coordenadas é através de um gabarito de calibração. Normalmente, este gabarito é composto por um ou dois planos ortogonais

20 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 coordenadas 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 possuem 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âmetros 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 desenvolvidos. 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 exatidã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 Hartley [R.I. Hartley & 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. Assim, a calibração pode ser feita de forma bem menos complexa. Contudo, perde-se algumas informações importantes, por exemplo, comprimentos e ângulos. O processo de triangulação necessita de duas imagens de uma mesma cena, mas de pontos de vistas distintos. Assim, um ponto 3D tem projeções no plano de ambas as imagens. Então, conhecendo-se a localização dessas projeções no plano das imagens, pode-se estimar a 3

21 4 CAPÍTULO 1. INTRODUÇÃO 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 trabalho 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 emparelhamentos tenha sido encontrada corretamente, como no trabalho de Maciel [Maciel 2001]. Com alguns emparelhamentos encontrados, a matriz fundamental pode ser calculada. Esta matriz relaciona um ponto no plano de uma imagem ao seu ponto correspondente na outra imagem, conforme mostrado por Hartley, Zisserman e Luong [Hartley 1995], [Hartley & Zisserman 2000], [Q. T. Luong & Papadopoulo 1993]. Contudo, a matriz 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 problema 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 fundamental 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]. Dessa forma, com as câmeras calibradas e a matriz fundamental conhecida, pode-se utilizar estereoscopia para resolver os problemas fundamentais da robótica móvel: desviar de obstáculos e seguir pela melhor trajetória dentro do ambiente do robô até a sua meta. A localização e desvio dos obstáculos são fundamentais para a segurança do robô. Além

22 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 (ultrasom, 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 objetos, 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 desenvolvimento 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, recuperase a geometria da cena e obtém-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 autocalibraçã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) confeccionada 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 também é equipada com servomotores de forma a permitir variações no ponto de vista das câmeras. A partir da obtenção das imagens adquiridas pelo par de câmeras e através do conhecimento da configuração dos ângulos da cabeça estéreo o robô será capaz de determinar a profundidade de objetos visualizados, permitindo a navegação deste em ambientes desconhecidos. Este sistema combina técnicas de visão estéreo, efetuando a etapa

23 6 CAPÍTULO 1. INTRODUÇÃO 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 Estrutura do Trabalho Este trabalho está organizado em seis capítulos. Neste capítulo 1 foi feita uma breve introdução sobre robótica móvel, além de apresentar a motivação e os objetivos do trabalho. Informações sobre calibração e autocalibração de câmeras e visão estéreo, focando a determinação da profundidade, como também os métodos destas técnicas, serão discutidas e revisadas nos Capítulos 2 e 3. No Capítulo 4 serão mostrados os métodos utilizados na implementação do sistema. Experimentos e resultados serão apresentados no Capítulo 5. Finalmente, no Capítulo 6 os resultados serão discutidos e analisados

24 Capítulo 2 Calibração A calibração de câmeras é uma etapa necessária a qualquer aplicação em visão computacional e tem por finalidade obter parâmetros que tornarão possível mapear coordenadas tridimensionais do mundo em coordenadas 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 conhecidas, (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 realizados 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, implicando em uma nova observação do padrão de calibração, o que não é possível em algumas situações. Na autocalibração, não são usados objetos conhecidos previamente. A calibração é realizada apenas capturando-se diferentes imagens com uma câmera, de uma cena estática, sem alteração dos parâmetros intrínsecos desta câmera. Em seguida é feita a correspondência entre pontos presentes nestas imagens. Estes métodos se mostram interessantes quando não é possível realizar a calibração da câmera em um ambiente controlado, observando objetos conhecidos. Além disso, os mesmos oferecem a capacidade de cali-

25 8 CAPÍTULO 2. CALIBRAÇÃO 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 executada 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 calculada 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 inicial da distância focal. Portanto, resolvemos calcular esta distância focal inicial 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 representaçã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 utilizada 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 autocalibraçã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 Modelagem da Câmera O modelo de câmera mais utilizado é o pinhole, 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). Na realidade, o orifício possui um tamanho pequeno e cada ponto na imagem coleta luz de um cone de raios com um pequeno ângulo. Isto mostra que este modelo idealizado e extremamente simples da geometria da imagem não é tão restrito. Câmeras reais são normalmente equipadas com lentes, que tornam a geometria mais complexa. O modelo de projeção da perspectiva do orifício (também chamada de perspectiva central), primeiramente proposto por Brunelleschi no começo do século XV, é matematicamente conveniente e, apesar de sua simplicidade, geralmente proporciona uma aproximação aceitável do processo de formação da imagem. A projeção perspectiva cria imagens invertidas, e é

26 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 O para o plano contendo o objeto C é a metade da distância para o plano contendo os objetos A e B

27 10 CAPÍTULO 2. CALIBRAÇÃO Figura 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 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 origem O coincide 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 vetor k, como ilustrado na figura 2.4. A linha perpendicular a Π e que passa através do orifício é chamada de eixo ótico, e o ponto C 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. Figura 2.4: Projeção perspectiva: As equações de projeção perspectivas são derivadas da colinearidade do ponto P, sua imagem P e o orifício O

28 2.2. PARÂMETROS GEOMÉTRICOS DA CÂMERA 11 Seja P um ponto da cena com coordenadas (x,y,z) e P sua imagem com coordenadas (x,y,z ). Estando P sobre o plano da imagem, temos z = f. Os três pontos P, O e P são colineares, obtendo-se OP = λ OP para uma constante λ. e x = λx y = λy z = λz λ = x x = y y = z z (2.1) 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 relacionam 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 profundidade 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 determinado 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. Os parâmetros intrínsecos são aqueles que definem a geometria interna da câmera e suas características óticas. São eles: Distância Focal da Câmera, Ponto Central, Constante de Distorção Ótica, Fator de Escala em X. A distância focal da câmera é a distância entre o ponto nodal interior do sistema de lentes e o plano da imagem. Não podemos considerar a distância focal impressa nas lentes das máquinas fotográficas, pois é um parâmetro baseado no modelo de lentes espessas. Embora os dois parâmetros dos diferentes modelos de câmera gerem efeitos similares na imagem, eles possuem diferentes medidas. O ponto

29 12 CAPÍTULO 2. CALIBRAÇÃO 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: s m = 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 matriz A é a matriz contendo os parâmetros intrínsecos, dada por: f x γ o x A = 0 f y o y (2.5) onde o x e o y são as coordenadas do ponto central, f x e f y são os fatores de escala na imagem nos eixos x e y, respectivamente, e y descreve 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 u X s v = A[r 1 r 2 t] Y (2.6) 1 1 que implica dizer que um ponto no padrão dado por uma coordenada M relaciona-se a sua coordenada na imagem m por uma homografia H, onde r 1 e r 2 representam os elementos da matriz de rotação R, e t representaa translação, ou seja s m = H M sendo H = A[r 1 r 2 t] (2.7) Essa homografia pode ser calculada facilmente através da resolução de um sistema

30 2.3. MÉTODO DE ZHANG 13 sobredeterminado como M 1 T 0 T u M 1 T 0 T M 1 T v M 1 T M 2 T 0 T u M 2 T 0 T M 2 T v M 2 T... M N T 0 T u M N T 0 T M N T v M N T h 11 h 12 h 13.. h 32 h 33 = 0 (2.8) utilizando-se a decomposição SVD. Com o conhecimento de que r 1 e r 2 na equação 2.7 são ortonormais e sendo H = [h 1 h 2 h 3 ], tem-se Seja a matriz B dada por B = h T 1 (A T ) 1A 1 h 2 = 0 (2.9) h T 1 (A T ) 1A 1 h 1 = h T 2 A T A 1 h 2 (2.10) B = (A T ) 1A 1 = 1 fx 2 γ f 2 x f 2 y γ fx 2 f y + 1 fy 2 γ 2 f 2 x f 2 y o y γ o x f y γ(o xγ o y f y ) o y fx 2 f y fx 2 fy 2 fy 2 B 11 B 12 B 13 B 21 B 22 B 23 B 31 B o y γ o x f y fx 2 f y γ(o xγ o y f y ) fx 2 fy 2 (o y γ o x f y ) 2 fx 2 fy 2 (2.11) + o2 y f 2 y o y f 2 y + 1 (2.12) Uma vez que a matriz B é simétrica, pode-se representá-la por um vetor de seis elementos b = [B 11,B 12,B 22,B 13,B 23,B 33 ] T (2.13) e assim tem-se onde h T i Bh j = v T i jb (2.14) v i j = [h i1 h j1,h i1 h j2 + h i2 h j1,h i2 h j2,h i3 h j1 + h i1 h j3, h i3 h j2 + h i2 h j3,h i3 h j3 ] 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 [ v T 12 (v 11 v 22 ) T ] b = 0 (2.15)

31 14 CAPÍTULO 2. CALIBRAÇÃO 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 intrínsecos o y = (B 12 B 13 B 11 B 23 )/(B 11 B 22 B 2 12 ) B 33 [B o y(b 12 B 13 B 11 B 23 )]/B 11 f x = λ/b 11 f y = λb 11 /(B 11 B 22 B 2 12 ) γ = B 12 f 2 x f y /λ o x = γo y / f y B 13 f 2 x /λ e os extrínsecos para cada imagem λ = 1/ A 1 h 1 = 1/ A 1 h 2 r 1 = λa 1 h 1 r 2 = λa 1 h 2 r 3 = r 1 r 2 t = λa 1 h 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 nenhuma 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 coordenadas de mundo, então a equação de projeção é dada por: s u v 1 = KR T [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 definidas pelos parâmetros extrínsecos da câmera. A matriz P é a matriz de transformação

32 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 matriz K depende do modelo da câmera empregado. α u α u cot(θ) u 0 0 α v /sin(θ) v (2.17) Neste caso, os cinco parâmetros intrínsecos são: (u 0,v 0 ) 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 P i Ω P T i (2.18) Onde o operador significa um fator de escala, ω i representa a imagem de ω i, Ω a imagem de Ω e P i a matriz de projeção, com centro ótico c i, 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ínsecos K e a imagem dual do cone absoluto Ω, dada por: ω i K i K T i (2.19)

33 16 CAPÍTULO 2. CALIBRAÇÃO Ω pode ser transferido de uma imagem para a outra através da homografia do plano Π. ω j Hi T j ω i Hi 1 j (2.20) Então, se aplicarmos a restrição da geometria epipolar, obtêm-se as equações de Kruppa [Kruppa 1913]: [e i j ] T x KK T [e i j ] x F i j KK T F T i j (2.21) Onde F i j é a matriz fundamental para os pontos de vista i e j, e e i j é o epipolo correspondente. 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: K i K T i P i Ω P T i (2.22) As equações 2.20 e 2.22 são os fundamentos da maioria dos métodos de autocalibração de câmeras. Quando a homografia do plano no infinito H i j é conhecida, então a equação 2.20 pode ser reduzida a um conjunto de equações lineares nos coeficientes de ω i ou ω 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 restringidos, 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. Pollefeys & 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 restrição de movimentos da câmera com a restriçã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]. Outros algoritmos de autocalibração combinam a autocalibração com restrições da cena.

34 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 conhecimento 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 euclidiana 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 absoluto. 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 homografias 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. Triggs em [W 1998] desenvolve uma técnica baseada em algumas restrições envolvendo o quadrado absoluto e colinearidades do plano da cena para o plano da imagem. Strum e Maybank em [Sturm & Maybank 1999] e Zhang em [Zhang 2002] propõem independentemente utilizar padrões planos conhecidos num espaço 3D para calibrar precisamente uma câmera. Lowbowitz e Zisserman descrevem em [Liebowitz

35 18 CAPÍTULO 2. CALIBRAÇÃO & 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 movimentaçã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 autocalibraçã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íficas para alguns algoritmos. Análises parciais e alguns casos específicos são mencionados em [Pollefeys 1999], [Y. Ma & Sastry 1999], [Kahl 1999]. Kahl, em [F. Kahl & Astrom 2000], promove uma análise para os movimentos críticos no caso de variação de parâmetros intrínsecos. Strum, em [Sturm 2000], apresenta um tipo de movimento de câmera que não é crítico para o problema da autocalibração, mas neste caso a abordagem baseada nas equações de Kruppa falha. Este é o caso se os centros óticos das câmeras estão sobre uma esfera e seu eixo ótico passa através do centro da esfera.

36 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 tridimensional. Para construir-se um programa computacional capaz de possuir uma percepção estereoscó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 epipolar é 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 contrário. Pode-se resumir a visão estéreo como: A habilidade de inferir informações na estrutura 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. A fusão binocular das características observadas pelas duas câmeras, ou seja, estabelecer a correspondência entre características das duas imagens.

37 20 CAPÍTULO 3. VISÃO ESTÉREO 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 reconstrução da imagem 3D). 3.1 Extração das Características O processo de fusão binocular é extremamente complexo. Para reduzir a complexidade, 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 m r na primeira imagem e o canto correspondente m r na segunda 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 pixels no emparelhamento. Isto, por exemplo, faz com que raios ópticos relacionados aos pontos m e 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 u e u sejam ambas positivas ou ambas negativas, e; da mesma forma, as contribuições de v e v sejam ambas positivas ou ambas negativas. Além disso, é importante que o operador detecte apenas uma coordenada para cada vértice da imagem. Isso diminui a incidência de emparelhamentos ambíguos ou com multiplicidade.

38 3.1. EXTRAÇÃO DAS CARACTERÍSTICAS 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 circular 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: De tal forma que representa um circulo discretizado com raio de 3,5 pixels, para cada pixel dentro desta janela, é calculado: n(m 0 ) = c(m,m 0 ) m onde m é um vetor de localização de um pixel dentro da janela, m 0 é a localização do ponto central da janela e c(m,m 0 ) = exp [(I(m) I(m 0))/t] 6 sendo I(m) é a intensidade (nível de cinza) do pixel no pixel m e t é um limiar da variação de intensidade. Por fim, se n(m 0 ) for maior que um limiar g, o ponto na posição m 0 é 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 limiar t, e marca apenas um ponto em cada vértice da imagem. Em vista disso, o operador SUSAN parece ser bastante estável e indicado a aplicações de estereoscopia.

39 22 CAPÍTULO 3. VISÃO ESTÉREO 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 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 raios OP e O P, observados na figura 3.1. Em particular, o ponto p está sobre a linha l onde esse plano e a retina Π da segunda câmera se intersectam. A linha l é a linha epipolar associada com o ponto p, e passa através do ponto e, onde a linha base entre os centros óticos O e O intersecta Π. Simetricamente, o ponto p está sobre a linha l que passa através da intersecção e da linha base com o plano Π. Figura 3.1: Geometria Epipolar: O ponto P, os centros óticos O e O das duas câmeras, e as duas imagens p e p de P pertencem ao mesmo plano Os pontos e e e são chamados de epipolos das duas câmeras. O epipolo e é a imagem (virtual) do centro ótico O da primeira câmera na imagem observada pela segunda câmera, e vice versa. Se p e p são imagens do mesmo ponto, então p deve estar na linha epipolar associada com p. Essa restrição epipolar é fundamental para visão estéreo e análise de movimento. A parte mais difícil da análise de dados da visão estéreo é estabelecer correspondências entre as duas imagens, i.e., decidir quais pontos na imagem direita combinam com quais pontos na imagem esquerda. A restrição epipolar limita a busca por essa correspondência: As coordenadas do ponto p determinam completamente a junção do raio O

40 3.2. FUSÃO BINOCULAR 23 e p, conseqüentemente determinando o plano epipolar associado OO P e 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 internamente, 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 correspondê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 associada l 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 coordenadas 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 homogêneas da imagem de p e p,t é o vetor de coordenadas da translação OO, separando os dois sistemas de coordenadas, e R é a matriz de rotação na qual um vetor livre com coordenadas w no segundo sistema de coordenadas, possui coordenadas R.w no primeiro sistema. 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 T T ), 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: p T εp = 0 (3.2) Onde ε = [T X ]R. A matriz de torção simétrica [a X ] é o produto cruzado dos vetores a e x, [a ]x = a x. A matriz ε é uma matriz 3x3 chamada de matriz essencial, como definida

41 24 CAPÍTULO 3. VISÃO ESTÉREO 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 R e 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 epipolar associada ao ponto p na primeira imagem. Uma linha da imagem l pode ser definida pela sua equação au + 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. Alternativamente, 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ção a 2 + b 2 = 1 é relaxada já que a equação é independente a um fator de escala aplicado a l. 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 ε T p é o vetor de coordenadas representando a linha epipolar associada a p na segunda imagem. A matriz essencial é singular, já que.[t é paralelo ao vetor de coordenadas e do epipolo esquerdo, então ε T e = R T [.[T ]e = 0. Pode-se mostrar que e é um autovetor zero de ε. Huang e Faugeras [Huang & Faugeras 1989] mostraram que a matriz essencial é de fato caracterizada pelo fato de ser singular com dois autovalores diferentes de zero Restrição de Ordenação A ordem das imagens combinadas sobre um par de linhas epipolares é inversa à ordem 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 No caso comum, mostrado à esquerda, na figura 3.3, a ordem dos pontos de características ao longo das duas linhas epipolares é a mesma, e é inversa à ordem dos pontos da cena ao longo da curva onde a superfície observada intersecta o plano epipolar. No

42 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, nem C é visível na imagem esquerda. A ordem dos pontos da imagem não é a mesma nas duas figuras: b está à direita de d na imagem esquerda, mas b está à esquerda de d na imagem direita. Essa restrição é utilizada para obter algoritmos eficientes, utilizando-se da programaçã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 correspondentes. 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 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) R p é 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 vetor w (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 de w, como mostrado na figura 3.4. Na figura 3.4 a posição da segunda janela é separada da primeira por uma diferença d. A duas janelas são codificadas por vetores w e w, e a função de correlação mede o cosseno do ângulo θ entre os vetores w w e w w obtidos pela subtração entre os componentes de w e w e as componentes dos vetores de intensidade média na janela correspondente A função de correlação normalizada C claramente 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 transformação afim I = λ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 de C sobre 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 equivalentemente, a soma do quadrado da diferença entre os valores dos pixels das janelas normalizadas comparadas. Embora seja computacionalmente custoso o cálculo da função

43 26 CAPÍTULO 3. VISÃO ESTÉREO 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 disparidades, 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 segmentos de imagem com diferentes comprimentos l e l. 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 correspondê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. Estes problemas relacionados à inclinação de superfícies e ao tamanho da janela de correlação sugerem que a busca por correspondências entre características fisicamente

44 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 é determinar 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 n + 1, este método de correlação é o seguinte: onde ZNCC(i, j) = n k= n m k= m [Ide Idd] a σ 2 (Ide) σ 2 (Idd) a = (2m + 1) (2n + 1) (3.4) Ide = Ie(ui + k,vi + l) Ie(ui,vi) Idd = Id(u j + k,v j + l) Id(u j,v j) com Ie(ui,vi) e Id(u j,v j) sendo o valor médio do nível de cinza das janelas das imagens esquerda Ie e direita Id, respectivamente, calculados da seguinte forma: Id(ui,vi) = Ie(ui,vi) = n m k= n l= m n m k= n l= m Id(ui + k,vi + l) a 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 m l= m [Idd]2 a De tal forma executa-se o "matching"ou emparelhamento (casamento), do par de im-

45 28 CAPÍTULO 3. VISÃO ESTÉREO agens baseado nas características, vértices e regiões em torno dos vértices, o que proporciona 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 visualizada pelo par de câmeras. Este processo envolve a retificação, reconstrução e triangulação das imagens. Variações e aperfeiçoamentos dos métodos de triangulação são apresentados na literatura em [Hopken 2006, Tandler 2006, J. Tandler 2006, Davis et al. 2003] 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 epipolares l e l associadas com os pontos p e 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 retificadas são facilmente construídas considerando cada imagem de entrada como um

46 3.3. RECONSTRUÇÃO 29 poliedro e usando mapeamento de textura para renderizar a projeção dessa rede em um plano Π = Π. Existem dois graus de liberdade envolvidos na escolha de um plano de imagem retificado: A distância entre esse plano e a linha base, o qual é irrelevante, desde que se modifique somente na escala das imagens retificadas. Um balanço efetivo pela escala invertida dos eixos de coordenadas da imagem e a direção do plano retificado normal no plano perpendicular a base. Uma escolha natural inclui escolher uma plano paralelo à linha onde as duas retinas originais intersectam-se, minimizando a distorção associada com o processo de reprojeção Reconstrução Dado um conjunto estéreo calibrado, dois pontos correspondentes p e p estão em princípio direcionados para a frente com o objetivo de reconstruir-se o ponto da cena correspondente, utilizando-se da intersecção de dois raios R = Op e R = O p. Contudo, os raios R e R nunca irão, na prática, se interceptarem, devido à calibração e aos erros de localização de características, como mostrado na figura 3.7. Figura 3.7: Triangulação em presença dos erros de medida Nesse contexto, várias abordagens para o problema de reconstrução podem ser adotados. Para construir o segmento da linha perpendicular a R e R, que intersecta ambos os raios, podemos escolher o ponto médio P desse segmento. Este ponto é o ponto mais próximo aos dois raios e pode ser utilizado como uma pré-imagem de p e p. Podemos reconstruir um ponto da cena usando uma abordagem algébrica. Através das matrizes de projeção M e M e dos pontos correspondentes p e p podemos reescrever as constantes z.p = M.P e z.p = M.P como: p M.P = 0 p M.P = 0 ( [px ].M [p X ].M ) P = 0 (3.5) Este sistema sobreconfinado de quatro equações, linearmente independentes nas coordenadas homogêneas de P, é resolvido usando o método dos mínimos quadrados. Esta

47 30 CAPÍTULO 3. VISÃO ESTÉREO abordagem não possui uma interpretação geométrica, mas generaliza prontamente o caso de três ou mais câmeras. Pode-se reconstruir um ponto de uma cena associado com p e p como um ponto Q com imagens q e q que minimizam d 2 (p,q)+d 2 (p,q ), mostrados na figura 3.7. Esta abordagem não permite uma computação fechada do ponto reconstruído, o qual deve ser estimado através de técnicas de mínimos quadrados não-lineares como as utilizadas para calibração da câmeras. A reconstrução obtida pode ser utilizada como uma estimativa para inicializar um processo de otimização Triangulação Retificada No caso de imagens retificadas, a noção de disparidade adquire um significado preciso: dados dois pontos p e p localizados numa mesma linha de varredura das imagens esquerda e direita, com coordenadas (u,v) e (u,v), a disparidade é definida como a diferença d = u u. b representa metade da distância entre os centros óticos, também chamadas de linha base nesse contexto, é fácil mostrar que a distância euclidiana PM no sistema de coordenadas normalizadas anexado à primeira câmera é PM = 2 b/d, como na figura 3.8. Na figura 3.8 os raios associados com dois pontos p e p sobre a mesma linha de varredura intersectam-se em um ponto P. A distância do ponto P relativa a um sistema de coordenada anexado à câmera esquerda é inversamente proporcional à disparidade d = u u. Em particular, a pré-imagem para todos os pares de pontos da imagem com disparidade constante d é frontoparalela ao plano Π d, i.e., um plano paralelo às retinas das câmeras. Consideremos os pontos q e q com coordenadas (u,0) e (u,0), e o ponto da cena correspondente Q. Sejam b e b as distâncias respectivas entre a projeção ortogonal de Q sobre a linha base e os dois centros óticos O e O. Os triângulos qqq e OQO são similares, logo 2 b = PM d, o que prova o resultado para q e q. Ao caso geral envolvendo p e p com v 0 segue-se imediatamente o fato que a linha PQ é paralela às duas linhas pq e p q e conseqüentemente também paralela ao plano da imagem retificada. Em particular, o vetor coordenado do ponto P no referencial anexado à primeira câmera é PM = (B/d)p, onde p = (u,v,1) T é o vetor das coordenadas normalizadas de p. Isso gera o método de reconstrução estéreo. Na estereoscopia, através do conhecimento da disparidade de cada ponto é possível obter-se a distância euclidiana PM de cada ponto em relação ao centro da cabeça estéreo, representado pelo ponto M de acordo com a equação 4.3, como mostra a figura 3.8. PM = 2 b (3.6) d onde b é metade da distância entre os centros de projeções e o ponto central, M, a distância entre as duas câmeras, e d e a disparidade calculada para cada ponto. Para obtermos a distancia euclidiana entre os pontos P e M é preciso relacionar estas medidas com a distância focal das câmeras, f. Logo, reescrevemos a equação 4.3 considerando a distância focal em relação ao ponto P, obtendo a equação da reconstrução geométrica baseada na triangulação retificada 4.15.

48 3.3. RECONSTRUÇÃO 31 Figura 3.8: Triangulação retificada entre os dois centros óticos O e O das imagens PM = 2 b f d (3.7)

49 32 CAPÍTULO 3. VISÃO ESTÉREO

50 Capítulo 4 Sistema Proposto Neste capítulo apresentaremos o sistema de estimação da profundidade de objetos em cena baseado numa cabeça estéreo dotada de um par de câmeras CCD. A estimação da profundidade dos objetos na cena utiliza as técnicas apresentadas nos Capítulos 2 e 3. As técnicas de autocalibração baseada em coordenadas polares tridimensionais e em um deslocamento conhecido do robô, e a reconstrução e recuperação da geometria da cena baseadas em coordenadas polares tridimensionais para obtenção da profundidade são apresentadas neste capítulo. 4.1 Cabeça Estéreo Uma cabeça estéreo robótica é um dispositivo que dá suporte a n-câmeras para a captura de n-imagens diferentes de uma mesma cena, executando-se técnicas de visão computacional sobre as imagens capturadas. A utilização dessas técnicas de visão computacional torna-se necessária, pois a informação de uma única imagem não determina unicamente a posição de um dado ponto correspondente no mundo. Pode-se então, através da utilização de duas ou mais câmeras recuperar a informação de profundidade da cena. A cabeça estéreo utilizada neste trabalho foi a LabRoHead desenvolvida no Laboratório de Robótica da UFRN como uma plataforma experimental de baixo custo para aplicação das técnicas propostas. A cinemática desta cabeça estéreo pode ser visualizada na figura 4.1. Esta plataforma experimental de baixo custo utilizada apresenta uma estrutura feita de tecnil, o que lhe confere um baixo peso, o que é um ponto importante pois se a estrutura for muito pesada pode ocorrer sobrecarregamento dos motores das juntas. Outro ponto importante na estrutura é a precisão na cabeça, já que é necessário que os motores movimentem precisamente as partes da cabeça, pois é necessário que as câmeras possuam um alinhamento adequado, a fim de estabelecer-se a restrição epipolar. Em cada uma das três juntas da cabeça estéreo está acoplado um servomotor, responsável pela rotação das mesmas com ângulos θ1, θ2 e θ3. O ângulo θ1 é denominado pan, responsável pela rotação sobre o eixo z de todo o conjunto em relação à base da cabeça, semelhante ao movimento de girar o nosso pescoço olhando para os lados. O ângulo θ2 é denominado tilt, responsável pela rotação sobre o eixo x do suporte onde estão acopladas as câmeras em relação ao segimento que conecta este a base, onde se localiza o primeiro

51 34 CAPÍTULO 4. SISTEMA PROPOSTO motor, semelhante ao nosso movimento do nosso pescoço ao olhar-se para baixo e para cima. O ângulo θ3 é responsável pela vergência das câmeras, semelhante ao movimento dos nossos olhos ao focalizarem objetos mais próximos e mais distantes. A ilustração destes movimentos pode ser vista na figura 4.2. Utiliza-se nessa plataforma um controle da posição dos motores em malha aberta, portanto, a utilização de um motor para a vergência de cada câmera não é adequada, pois se aumentaria o erro do valor do ângulo de vergência das câmeras, já que este ângulo deve possuir o mesmo valor absoluto. O conjunto é formado por um servomotor e quatro engrenagens. O motor e as duas câmeras são acoplados às engrenagens, de tal forma que a engrenagem acoplada ao motor está conectada diretamente com a engrenagem acoplada a uma das câmeras, enquanto que a câmera acoplada a outra engrenagem é conectada à engrenagem do motor por meio da quarta engrenagem, como mostra a figura 4.2. Estes servomotores desempenham um papel muito importante no funcionamento geral do sistema, pois é necessária uma grande precisão no posicionamento e movimentação dos motores. Pois o valor do ângulo de cada junta é importante para a recuperação da geometria da cena. Também acopladas à estrutura da cabeça estéreo estão as duas câmeras, do tipo web cam, responsáveis pela visualização da cena "vista"pela cabeça estéreo. Figura 4.1: Cinemática da Plataforma experimental Os servomotores são compostos cada um por um circuito integrado, um motor DC, engrenagens e um potenciômetro. Porém, não há nenhum tipo de sensoriamento externo ao motor, como sensores de fim de curso ou encoders na cabeça estéreo, fato este que leva a um controle em malha aberta. O circuito eletrônico de controle recebe como entrada um sinal de referência, que codifica o ângulo que o servo deve atingir e aplica uma tensão ao motor para que este se posicione no ângulo desejado. As engrenagens têm como objetivo aumentar o torque de saída e diminuir a velocidade de rotação do eixo do motor. O potenciômetro tem como objetivo verificar se a posição foi atingida e informar ao microcontrolador, pra que este corrija a posição do servo se o ângulo desejado não for atingido, por algum motivo. As câmeras utilizadas nesse projeto são da marca Creative, modelo NX Ultra. Para a fixação na cabeça estéreo, foi retirada a estrutura de suporte das mesmas.

52 4.1. CABEÇA ESTÉREO 35 Figura 4.2: Movimentação da Plataforma experimental Estas câmeras possuem dimensões bastante reduzidas, mesmo quando comparadas a outras webcam s, e também possuem um peso bastante reduzido. Esse fato fez com que praticamente este fosse desconsiderado diante do peso total. O fabricante afirma que as câmeras conseguem uma taxa de atualização de até 30 quadros por segundo. Esse valor foi comprovado durante sua utilização. É possível esta taxa de atualização para o uso de apenas uma câmera. Para o par de câmeras utilizado, a taxa máxima de atualização é dividida por dois, obtendo-se assim o valor máximo de 15 quadros por segundo. As câmeras comunicam-se com o computador através de um barramento USB. Possuem um ajuste automático de acordo com o iluminamento do ambiente, sendo este um ponto que poderia comprometer os resultados, pois se forem obtidas imagens com pouca iluminação há uma perda de características da cena. Entretanto é possível, através do driver da câmera, alterar o brilho, o contraste e o ajuste de branco das câmeras. As câmeras possuem um ajuste de foco manual. Esse ajuste é feito girando a lente da câmera, o que impossibilita uma mudança significativa de distância focal, sem perda de nitidez, a menos que o foco seja reajustado manualmente. Neste trabalho utilizamos as câmeras com o foco no infinito. A especificação da câmera, é a seguinte: Sensor de Imagem CCD colorido com resolução de até 640x480 pixels Captura vídeo colorido em 24bits a 30 quadros por segundo para resolução de 320x240 Formatos de cor disponíveis : I420 & RGB24 Faixa de foco variando de 15 cm ao infinito Foco manual Campo de visão de até 72 graus na horizontal Conecta ao PC através da porta USB (Universal Serial Bus) Peso (incluindo suporte) : 145 gramas (10 gramas de tolerância)

53 36 CAPÍTULO 4. SISTEMA PROPOSTO Aspectos Físicos As características físicas do robô fornecem informações adicionais que podem ser utilizadas para melhorar a eficiência do processo de correlação, permitindo o cálculo da disparidade máxima possível para determinada configuração atual do robô, sem como são de fundamental importância para a recuperação da geometria da cena vista pelo robô. Os centros ópticos das duas câmeras da cabeça estéreo, a qual é fixa à base do robô móvel, estão a uma altura de 540 mm em relação ao solo, quando o valor do ângulo θ 2 = 0. As câmeras utilizadas apresentam um ângulo de abertura de 52,5 o na vertical e 70 o na horizontal. A obtenção destes ângulos de abertura horizontal e vertical serão explicados na seção 4.3. O conhecimento destas dimensões do robô juntamente com o valor dos ângulos das juntas da cabeça estéreo do robô permitem as seguintes equações 4.1 e 4.2: h = ,3 cos(θ 2 ) (4.1) onde h é a altura, em milímetros, em relação ao solo, do centro óptico das câmeras, e 149,3mm é o valor do tamanho da peça do suporte na qual gira o motor responsável pelo movimento de "tilt". β = 90 (θ 2 + AV /2) (4.2) Onde AV /2 representa metade do ângulo de abertura vertical das câmeras, ou seja 26,25 o, β é o ângulo formado entre os centros ópticos das câmeras do robô e o início da região visualizada pelas câmeras, correspondendo aos pixels da imagem com coordenada y = 0: y é a coordenada representando a altura da imagem, devido as câmeras serem posicionadas de "cabeça para baixo". A figura 4.3 ilustra estes parâmetros. Figura 4.3: Vista lateral de parte do robô A partir do conhecimento do ângulo β 1, e da altura h é possível estimar a distância P, mostrada na figura 4.3. O valor de P será utilizado para o cálculo da disparidade máxima

54 4.2. FUNCIONAMENTO DO SISTEMA 37 da busca a ser realizada. A distância entre objetos em cena pode ser calculada tendo-se a disparidade entre as duas imagens da cabeça estéreo. Logo, é possível calcular a disparidade para um valor de profundidade. Utilizando-se o valor β calculado segundo a equação 4.2, obtém-se a disparidade máxima para esta configuração da cabeça estéreo. p = 2 b f d d = 2 b f p (4.3) Onde b é a metade da distância entre os centros ópticos, (90 mm), f é a distância focal das câmeras, e P é a distância mínima, calculada como P = cos(β 1 )/h, sendo h calculada pela equação Funcionamento do Sistema Para obter-se a profundidade de objetos em cena, devemos saber qual o par de imagens visualizado pelo robô, de forma a localizar objetos em cena e estimar a distância relativa entre estes e o robô. A partir da captura de um par de imagens da cena através das câmeras localizadas na cabeça estéreo, utilizando os métodos de visão estéreo discutidos no Capítulo 3, podemos calcular a profundidade. Supondo então conhecida a profundidade dos objetos, pode-se então calcular, através da distância focal das câmeras, a profundidade relativa entre estes e o robô, o que constitui o objetivo deste trabalho. Para obtenção da profundidade é necessário um relacionamento entre esta profundidade obtida pelas técnicas de visão estéreo com os parâmetros intrínsecos das câmeras, discutidos no Capítulo 2. Estes podem ser obtidos por uma calibração convencional ou uma autocalibração. Neste trabalho, estes parâmetros focais foram obtidos primeiramente por uma calibração convencional e ajustados de acordo com a autocalibração baseada nas coordenadas polares tridimensionais obtidas do par de imagens estéreo. O sistema de visão desenvolvido divide-se em sete etapas: 1. Calibração convencional das câmeras: Utilizando um padrão com dimensões conhecidas é efetuada a calibração convencional pelo método de Zhang para a obtenção da distância focal primária; 2. Aquisição estéreo: O sistema adquire o par de imagens correspondendo aos pontos de vista das duas câmeras da cabeça estéreo; 3. Extração, ou detecção, de características das imagens capturadas: Sobre as imagens adquiridas é efetuada a detecção dos vértices do par de imagens; 4. Correlação cruzada normalizada: Baseando nas restrições geométricas, de ordenação, e tendo como guia as listas de vértices detectados na etapa anterior, são buscados os pares de vértice mais correlacionados, obtendo a disparidade destes; 5. Determinação da geometria da cena: A partir das disparidades obtidas pela etapa anterior e das informações geométricas obtidas em cada imagem através da representação por coordenadas polares é feita uma reconstrução da geometria da cena; 6. Estimação da distância focal através da autocalibração: Baseando-se no conhecimento da geometria do dispositivo, das informações geométricas das imagens através

55 38 CAPÍTULO 4. SISTEMA PROPOSTO da coordenadas polares e do conhecimento do deslocamento do robô, é estimada a distância focal para os pares de vértice correlacionados; 7. Estimação da profundidade: Utilizando a reconstrução geométrica da cena obtida e o valor da distância focal primária calculada pela calibração convencional ajustada pela autocalibração para os pares de vértices correlacionados é feita a estimação da profundidade dos objetos em cena. Um diagrama ilustrando estas etapas do sistema de estimação da profundidade proposto é mostrado na figura 4.4. Figura 4.4: Sistema de visão desenvolvido A reconstrução geométrica e a autocalibração baseadas nas informações geométricas das imagens obtidas através da representação por coordenadas polares tridimensionais serão descritas neste capítulo. 4.3 Reconstrução Geométrica Baseada em Coordenadas Polares Utilizamos valores angulares no lugar do número de pixels nas direções da largura e da altura da imagem para determinar a localização de um determinado pixel numa imagem.

56 4.3. RECONSTRUÇÃO GEOMÉTRICA BASEADA EM COORDENADAS POLARES39 Assim, deslocamos o centro do eixo de pixels, geralmente localizado no canto superior direito, para o centro da imagem. Esta notação permite relacionar-se facilmente os pontos na imagem com o cone absoluto Ω da imagem, demonstrado no Capítulo 2, centralizado no centro de projeção da câmera, utilizando-se o modelo de orifício. Devido a aquisição das imagens ser feita em pixels, é necessário converter a posição de um ponto na imagem de pixels para ângulos. Para tal conversão, é necessário obter-se as frações entre a posição do ponto, em pixels, e a largura e a altura da imagem, também expressa em pixels. Em seguida relacionar estas frações aos ângulos de abertura horizontal e vertical da câmera. Esta notação é ilustrada na figura 4.5, para o caso de uma imagem de 320 por 240 pixels de uma câmera com ângulo de abertura horizontal igual a 70 o e ângulo de abertura vertical igual a 52.5 o. Figura 4.5: Comparação das notações para representação das imagens É necessário o conhecimento ou obtenção dos ângulos de abertura horizontal e vertical da câmera. Estes valores podem ser obtidos na documentação do fabricante ou experimentalmente de forma simples. Posicionando-se a câmera a uma distância conhecida de um objeto com escala métrica, é possível verificar os limites desta escala visualizados na imagem da câmera. Repetindo-se este processo nas direções horizontal e vertical é possível calcular o ângulo de abertura em uma destas direções, como ilustra a figura 4.6, o qual é dado por: AH = 2 arctan e h d AV = 2 arctan e v d (4.4) (4.5)

57 40 CAPÍTULO 4. SISTEMA PROPOSTO Figura 4.6: Esquema para medição dos ângulos de abertura da câmera Onde e h = e f h e ih e v = e f v e iv 2 2 Sendo que AH é o ângulo de abertura horizontal da câmera, AV é o ângulo de abertura vertical da câmera, d é a distância entre o centro óptico da câmera e o objeto com a escala métrica, e h e e v representam metade da variação de escala visualizada pela câmera, sendo e f h, e f v o valor final da escala visualizada e e ih, e iv o valor inicial da escala visualizada, respectivamente nas direções horizontal e vertical. Estes parâmetros de abertura vertical e abertura horizontal da câmera são invariáveis para câmeras que não apresentam lentes de magnificação, zoom. Logo podem ser considerados parâmetros intrínsecos constantes à variação da distância focal das câmeras, ilustrados na figura 4.7. No caso do modelo de câmera utilizado neste trabalho, Creative nx Ultra, o ângulo de abertura horizontal equivale a 70 o e o ângulo de abertura 52.5 o, respectivamente. Considera-se a imagem retificada, onde as imagens e são planos paralelos entre si, diferindo apenas no valor da distância focal. Neste caso, a conversão da notação de pixel para ângulos é feita segundo as equações 4.6 e 4.7: α = x p l AH AH 2 β = y p a AV AV 2 (4.6) (4.7)

58 4.3. RECONSTRUÇÃO GEOMÉTRICA BASEADA EM COORDENADAS POLARES41 Figura 4.7: Invariância da representação por coordenadas polares em relação à distância focal onde α é o ângulo na direção horizontal, β é o ângulo na direção vertical, x p é a posição x de um ponto p, y p é a posição y do ponto p, AH é o ângulo de abertura horizontal da câmera, AV é o ângulo de abertura vertical, l é a largura da imagem e a a altura da imagem. Exemplificando a utilização desta notação, os pontos na imagem 4.5 possuirão os seguinte valores: a = 120,80 pixels = -8,75 o,8,75 o b = 200,80 pixels = 8,75 o,8,75 o c = 120,160 pixels = -8,75 o,-8,75 o d = 200,160 pixels = 8,75 o,-8,75 o Adicionando-se a distância euclidiana entre um ponto p e o centro da imagem aos ângulos α e β temos as coordenadas polares tridimensionais deste ponto. Utilizandose esta notação de coordenadas polares tridimensionais como coordenadas da imagem relacionamos diretamente a geometria da cena com a geometria da imagem através dos ângulos α e β. A distância euclidiana entre o centro óptico da câmera e o objeto em cena, no mundo, é equivalente à distância euclidiana entre o centro da imagem e o ponto p, na imagem. Logo, esta notação de coordenadas polares simplifica o mapeamento das coordenadas de mundo em coordenadas de imagem, pois existe uma representação direta da distância entre objeto e a câmera. Para a obtenção da distância euclidiana entre o centro da imagem e um ponto nesta imagem, é necessário o conhecimento de alguma informação geométrica adicional sobre a cena. para relacionar a distância expressa em pixels na imagem para uma distância métrica no mundo. Informações geométricas adicionais sobre ambientes desconhecidos são improváveis de ocorrer, porém, utilizando-se um sistema de visão estéreo com os

59 42 CAPÍTULO 4. SISTEMA PROPOSTO ângulos de juntas e distância entre os centros ópticos das câmeras conhecidas, é possível obter esta distância e conseqüentemente a profundidade da cena. Efetuando-se o mapeamento das coordenas de mundo (métricas tridimensionais), em coordenadas da imagem, (pixels bidimensionais), utilizando-se apenas a disparidade entre as imagens, não é possível reconstruir metricamente uma cena, sendo necessário o conhecimento da distância focal. Utilizando-se uma distância focal fixa, a reconstrução geométrica será próxima da real apenas para distâncias próximas da qual o padrão estava quando se efetuou a calibração da câmera, segundo Zhang []. Utilizando um sistema de autocalibração, é possível calcular as diferentes distâncias focais entre objetos e a câmera, durante a execução desta. Assim, para calcular-se a profundidade de forma precisa, é necessário calcular a distância focal para todos os pontos desejados. Como os ângulos de abertura horizontal e vertical da câmera são constantes à variação da distância focal, e a notação de coordenadas polares tridimensionais relaciona diretamente a geometria da cena com a geometria da imagem, esta notação demonstrase adequada para o problema da visão estéreo e reconstrução geométrica de uma cena por simplificar o processo, sendo possível recuperar de maneira simples a distância focal para cada ponto através desta notação. A reconstrução geométrica da cena é simplificada, através da utilização de dois pares de coordenadas polares. Os ângulos destes pares são obtidos pelas imagens das câmeras, e o conhecimento dos ângulos de juntas e as distância entre os centros ópticos das câmeras, permite estimar a distância entre os objetos e as câmeras. Na estereoscopia, a reconstrução da cena basea-se no princípio da triangulação retificada das imagens, demonstrado no Capítulo 3. Esta triangulação fornece a noção de profundidade. Para obtermos uma maior precisão da tridimensionalidade da cena devemos considerar o posicionamento dos objetos em cena, efetuando correções na profundidade devido à posição, já que os objetos estão distribuídos na cena e não ocupando a posição central. A distância PM obtida por triangulação retificada na etapa de reconstrução geométrica da cena representa a distância euclidiana entre o centro da cabeça estéreo, representado pelo ponto M, e um ponto P na imagem. Esta distância só será igual a profundidade do ponto P caso este esteja alinhado verticalmente e horizontalmente com o ponto M. Logo é preciso relacionar esta distância com a geometria da cena para obter-se a profundidade do ponto P. Recuperando-se a posição tridimensional do ponto P em relação ao robô, é possível calcular a profundidade deste ponto a partir da distância PM. A figura 4.8 demonstra a relação entre PM, o ângulo α M e a profundidade z. A profundidade z é a projeção da distância PM no eixo z, e a inclinação de PM em relação ao eixo z é representada pelo ângulo αm 4.8. O valor de αm é desconhecido, porém, é facilmente calculado pela equação 4.8 como a média dos valores dos ângulos αo e αo menos o valor do ângulo de "pan"θ 1 da cabeça estéreo. Os ângulos αo e αo são calculado segundo a equação 4.6. α M = α O + α O 2 θ 1 (4.8)

60 4.3. RECONSTRUÇÃO GEOMÉTRICA BASEADA EM COORDENADAS POLARES43 Figura 4.8: Representação das projeções da distância PM no plano horizontal A cena possui uma estrutura tridimensional. Logo a profundidade z será a projeção de PM sobre o eixo z se o ponto P estiver alinhado verticalmente com o ponto M na cabeça estéreo. Devido o robô ser projetado para locomover-se em ambientes desconhecidos, as câmeras são posicionadas de forma a visualizar o piso a distâncias próximas ao robô, portanto, geralmente, o robô apresenta um valor positivo para o ângulo de "tilt"θ 2 da cabeça estéreo. A figura 4.9 demonstra a relação entre PM, os ângulos β M, θ 2 e β e a profundidade z. O valor de β M é desconhecido, porém é facilmente calculado pela equação 4.9. Este ângulo β M é semelhante para ambas as câmeras e para o ponto médio M, pois as câmeras movimentam-se de forma dependente em relação ao conjunto da cabeça estéreo. β M = 90 θ 2 AV ( ) 2 + iy a AV (4.9) onde θ 2 é o ângulo de "tilt"da cabeça estéreo, AV é o ângulo de abertura vertical da câmera, i y é a coordenada y da posição do ponto P na imagem e a é a altura da imagem. Os dois primeiros são representados em graus e os dois últimos em pixels. Assim, podemos calcular as projeções da distância PM obtida pela estereoscopia através dos ângulos α M e β M, obtendo-se as coordenadas polares tridimensionais para o ponto P em relação ao ponto M e recuperando-se a profundidade deste ponto em relação ao robô, conforme mostrada na figura A figura 4.11 representa o esquema detalhado da estrutura tridimensional da cena ilustrada na figura Onde O é o centro óptico da câmera direita, O é o centro óptico da câmera esquerda, M é o ponto médio entre os dois centros ópticos, (i x,i y ) são as coordenadas do ponto de interesse P, z é a profundidade do ponto de interesse em relação ao

61 44 CAPÍTULO 4. SISTEMA PROPOSTO Figura 4.9: Representação da projeção da distância PM no plano vertical Figura 4.10: Esquema simplificado da representação por coordenadas polares relacionando a cabeça estéreo e um ponto P robô, POY é a projeção de PO sobre o plano vertical, POX é a projeção de PO sobre o plano horizontal, POY é a projeção de PO sobre o plano vertical, POX é a projeção de PO sobre o plano horizontal, PMY é a projeção de PM sobre o plano vertical, PMX é a projeção de PM sobre o plano horizontal, α M é o ângulo correspondente ao deslocamento horizontal do ponto P em relação a M, α O é o ângulo correspondente ao deslocamento

62 4.4. AUTOCALIBRAÇÃO ATRAVÉS DAS COORDENADAS POLARES 45 horizontal do ponto P em relação a O, α O é o ângulo correspondente ao deslocamento horizontal do ponto P em relação a O, e β M é o ângulo correspondente ao deslocamento vertical do ponto P em relação a M. Figura 4.11: Esquema detalhado da representação por coordenadas polares relacionando a cabeça estéreo e um ponto P Os valores de PMX, PMY e Z M são obtidos a partir das equações dos triângulos, mostrada na figura 4.11, e dadas por: PMY = PM cos(α M ) (4.10) PMX = PM sin(β M ) (4.11) ZM = PMY sin(β M ) (4.12) ZM = PMX cos(α M ) (4.13) 4.4 Autocalibração Através das Coordenadas Polares O procedimento de autocalibração implementado neste trabalho baseia-se em uma seqüência de movimentos críticos, juntamente com restrições das câmeras e do sistema físico que as comporta para obter o valor da distância focal para diferentes pontos da cena. A seqüência de movimentos críticos neste cada consiste apenas de um deslocamento translacional conhecido do robô, sem alteração ou com alteração conhecida dos parâmetros da câmera e da cabeça estéreo. Para a obtenção da distância percorrida durante este deslocamento, pode-se utilizar a odometria ou outros métodos que proporcionem menor erro. Alguns parâmetros do sistema são invariáveis, como o grau de abertura horizontal e vertical das câmeras e a distância entre os centro ópticos destas, enquanto que os ângulos das juntas da cabeça estéreo podem possuir uma variação conhecida. Isto permite

63 46 CAPÍTULO 4. SISTEMA PROPOSTO a obtenção de coordenadas polares tridimensionais da posição de determinado objeto na cena em dois momentos, a duas profundidades distintas. A cada instante, durante a movimentação do robô, existem dois pontos de vista com posição conhecida e, através do deslocamento conhecido do robô, adiciona-se mais dois pontos de vista com posição conhecida. A partir de tais condições efetuam-se triangulações envolvendo o mesmo ponto nas imagens através do deslocamento do robô. Tal ponto, permanecendo no mesmo local, estará a uma mesma altura h em relação ao robô, de tal forma que, com o deslocamento do robô, ocorrerá variação no ângulo β M entre o ponto M na cabeça estéreo e o ponto P do objeto. A disparidade entre os dois pares de imagens, assim como PMY também sofrerá variação de acordo com o deslocamento do robô. A figura 4.12 ilustra esta situação. De tal forma, é possível montar um sistema baseando-se na geometria do conjunto das câmeras e no conhecimento do deslocamento do robô para estimar a distância PMY, relacionando esta com as equações da estereoscopia para a estimação da distância focal para o ponto P: Figura 4.12: Esquema da autocalibração baseada em coordenadas polares e em um deslocamento conhecido Os ângulos β M1 e β M2 são calculados segundo a equação 4.9. A distância dz é o deslocamento conhecido do robô, z 1 e z 2 representam a profundidade estimada como demonstrado anteriormente, PMY 1 e PMY 2 são as distâncias entre o ponto P no objeto e os pontos M 1 e M 2, respectivamente, na cabeça estéreo, e h 1 e h 2 representam a altura entre o ponto P e os pontos M 1 e M 2 ; neste caso h1 = h2, respectivamente. O objetivo deste método é obter o valor das distâncias PMY 1 e PMY 2. Isto pode ser feito a partir dos ângulos β M1 e β M2 e do deslocamento dz conhecidos e através do fato de que h 1 = h 2. Após obtermos os valores de PMY 1 e PMY 2, aplicamos estes na equação da etapa de triangulação retificada. A situação ilustrada na figura 4.12 é equivalente a deslocar o objeto uma distância dz em relação ao robô parado. Nesta situação, forma-se um triângulo com lados PMY 1, PMY 2 e dz e com ângulos em função de β M1 e β M2, conforme ilustrado na figura Os valores de PMY 1 e PMY 2 podem ser facilmente calculados através da lei dos senos,

64 4.4. AUTOCALIBRAÇÃO ATRAVÉS DAS COORDENADAS POLARES 47 conforme a equação Figura 4.13: Esquema modificado da autocalibração baseada em coordenadas polares e em um deslocamento conhecido dz sin(β M1 β M2 ) = PMY 1 sin(90 + β M2 ) = PMY 2 sin(90 β M1 ) (4.14) onde os valores de dz, β M1 e β M2 são conhecidos. Após calcularmos os valores de PMY 1 e PMY 2, que são a projeção de PM 1 e PM 2 no eixo vertical, calculamos os valores de PM 1 e PM 2 facilmente pela equação 4.15 para, em seguida, substituirmos na equação da triangulação retificada (4.16): PM = PMY cos(α M ) (4.15) f = PM d (4.16) 2 b onde f é a distância focal, em milímetros, d é a disparidade do ponto P entre o par de imagens da cabeça estéreo, e b representa a distância entre o ponto M e o centro óptico de uma câmera, sendo 2 b a distância entre os dois centro ópticos. Assim, relacionamos as coordenadas do mundo com as coordenadas da imagem, recuperando a distância focal entre os objetos e o robô, parâmetro intrínseco fundamental para o cálculo da profundidade. Este procedimento é feito de forma autônoma durante a movimentação do robô, fornecendo uma estimativa da distância focal para diferentes distâncias relativas ao robô. A distância focal calculada para as câmeras pela calibração convencional será então ajustada de acordo com o resultado da autocalibração. Na calibração convencional, a distância focal real das câmeras é estimada com precisão. Porém, para a estimação da profundidade, se utilizarmos esta distância para toda a imagem, teremos grandes variações do erro de estimação, como mostrado por Zhang em [Z. Zhang & Deriche 1997]. Calculando-se a distância focal pela autocalibração, estimamos a distância focal com menos precisão se compararmos com a calibração convencional, porém, obtemos vários valores para a distância focal a partir de um mesmo

65 48 CAPÍTULO 4. SISTEMA PROPOSTO ponto de vista. Isto tenta simular a focalização de vários pontos ao longo da imagem. O ajuste na distância focal utilizada no sistema proposto é feito para cada ponto calculandose a média entre a distância focal obtida pela calibração convencional e a distância focal calculada pela autocalibração para este ponto, dada por: f M = f z + f a (4.17) 2 A estimação da profundidade é então calculada segundo as equações de reconstrução geométrica demonstradas na seção 4.3, utilizando este valor médio da distância focal.

66 Capítulo 5 Experimentos e Resultados Neste Capítulo iremos apresentar alguns experimentos realizados para verificar os métodos propostos e os resultados obtidos. 5.1 Calibração do Parâmetros Intrínsecos O método de Zhang foi aplicado sobre as três imagens mostradas na figura 5.1. Foi utilizado um padrão de calibração formado por uma configuração tipo "tabuleiro de xadrez"com 40 quadrados pretos e brancos, com dimensão lateral de 3 cm para cada quadrado. Este padrão foi posicionado à frente das câmeras, cerca de 70 cm, estando as câmeras inclinadas para baixo de forma a simular a configuração padrão do sistema. Esta distância foi escolhida neste valor porque, para o robô visualizar objetos mais próximos seria necessário uma grande inclinação para baixo do conjunto de câmeras, perdendo a visulaização de objetos qie estivessem a uma altura próxima do robô, nesta situação, o robô estaria movendo-se "olhando"apenas para o chão e não para frente. Porém, como esta distância entre o padrão e as câmeras não é fixa, outros valores podem ser utilizados. Os resultados obtidos desta forma são esperados ser mais adequados para a estimativa inicial da distância focal na configuração padrão do sistema. Para cada imagem foram extraídos 54 pontos. A aplicação deste método nos forneceu o seguinte resultado: Matriz de Parâmetros intrínsecos: Figura 5.1: Imagens capturadas pelas câmeras direita e esquerda da cabeça estéreo

67 50 CAPÍTULO 5. EXPERIMENTOS E RESULTADOS A = Podemos verificar que a distância focal f foi equivalente a 260,86 mm, com f x = 266,34 e f y = 255,38, para as três imagens, nas quais o padrão está a uma distância de cerca de 70 cm em relação a câmera, sendo esta distância relativamente próxima ao robô. Os resultados da estimação da profundidade de objetos em cena baseando-se nesta distância focal serão apresentados na seção Descrição dos Experimentos Para verificar os métodos propostos foi efetuado o seguinte experimento. As duas webcam foram montadas em uma base fixa de forma que os seus centro óticos ficaram a uma altura de 52 cm. A pose das câmeras é dada pelo valor dos ângulos de junta da cabeça estéreo, simulando o robô. Estes foram ajustados com os seguinte valores, θ 1 = 0.0 o, θ 2 = 30.0 o e θ 3 = 0.0 o, ou seja, as câmeras estão posicionadas paralelamente sem convergência nem divergência, direcionadas para frente do robô e inclinadas 30 o para baixo. Esta configuração apresentada pode ser considerada padrão para este sistema, apesar de ser possível movimentar a cabeça alterando o valor dos ângulos das junta. Porém, a movimentação das partes da cabeça estéreo provoca o borramento na imagem capturada devido ao movimento, impossibilitando a estimação da profundidade de objetos em cena, simultaneamente, durante a movimentação da cabeça estéreo. Portanto, o programa de controle geral do robô deve efetuar a captura apenas quando não estiver movimentando as partes da cabeça estéreo. Nos experimentos realizados não há movimentação da cabeça estéreo. É necessária uma visualização de objetos que possam ser obstáculos à navegação do robô, já que este deve locomover-se de forma autônoma em ambientes desconhecidos. De tal forma, é preciso visualizar uma faixa do chão próxima ao robô, porém sem deixar de visualizar objetos que estejam na altura do robô; Esta situação é ilustrada na figura 5.2. Logo, com esta configuração é possível visualizar o chão a cerca de 35 cm à frente do robô. Para simularmos a estimação da profundidade distribuímos objetos no espaço onde o robô se encontra, porém, sabendo precisamente a posição relativa entre estes objetos e o robô. O robô foi posicionado de forma que não existissem objetos muito próximos ao robô, dentro da região A. Dentro da região B, uma caixa preta foi posicionada a uma profundidade de 50 cm em relação ao robô, uma caixa branca foi posicionada a uma profundidade de 100 cm e existe uma parede posicionada 2430 cm à frente do robô e não existem objetos na região C. Nesta posição inicial foi feita a aquisição de um par de imagens da cena, e em seguida o robô foi deslocado 5 cm para a frente, sendo efetuada uma nova aquisição de um par de imagens da cena. Utilizando-se esta configuração, podemos verificar o sistema de estimação da profundidade usando a combinação de técnicas de visão estéreo e autocalibração baseada em

68 5.3. AQUISIÇÃO 51 Figura 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 coordenadas polares para três situações. Distâncias curtas, onde os objetos localizam-se próximos do robô e conseqüentemente a imagem deste objeto está localizada próximo ao topo das imagens adquiridas pelas câmeras. Este posicionamento ocorre devido as câmeras estarem acopladas à cabeça estéreo "de cabeça para baixo"; Distâncias intermediárias, onde os objetos localizam-se no centro das imagens adquiridas e; Distâncias longas, onde os objetos localizam-se próximos ao fundo das imagens adquiridas. É feita uma comparação entre os resultados deste sistema proposto com os resultados utilizando-se outros métodos. Faremos uma comparação entre as estimativas de profundidade e utilizando-se a reconstrução e autocalibração baseadas em coordenadas polares com um sistema utilizando calibração convencional, e com reconstrução da cena baseada apenas na triangulação retificada. O sistema de visão para determinação da profundidade de objetos em cena através da combinação dos métodos de calibração e visão estéreo foi desenvolvido na linguagem C. Os tempos necessários para o processamento das etapas foram obtidos rodando o sistema proposto no sistema operacional Linux em um computador com um processador Pentium 4 de 2400MHz, com 256 Mb de memória RAM. 5.3 Aquisição O driver utilizado para a aplicação envolvendo as duas web cams foi o Spca5xx, obtido em [Libland 2006]. Este é um driver aberto para a utilização de várias web cams de várias marcas no sistema operacional Linux. O Spca5xx é um driver do tipo V4L Video for Linux, o que significa que a sua utilização segue este padrão. Portanto, os formatos

69 52 CAPÍTULO 5. EXPERIMENTOS E RESULTADOS Figura 5.3: Par de imagens capturado pelas câmeras da cabeça estéreo durante a primeira aquisição de imagem, a abertura e fechamento dos dispositivos, como também a captura seguem uma padronização determinada pelo padrão V4L, facilitando o desenvolvimento de aplicações no Linux, o qual é o sistema utilizado nessa proposta por ser de distribuição livre e gratuita, código aberto e muito mais indicado para aplicações em tempo real quando comparado ao Windows. A aquisição das imagens é feita através da utilização da função capture do driver Spca5xx sobre um objeto do tipo grabber criado. Por este ser um driver do tipo V4L, a operação de aquisição simultânea das duas câmeras é facilitada, pois é necessário apenas definir qual dispositivo está sendo acessado, da seguinte forma: grabber g("/dev/video0", 320, 240, VIDEO_PALETTE_RGB24); grabber g2("/dev/video1", 320, 240, VIDEO_PALETTE_RGB24); Desta forma, definimos uma câmera como g e a outra como g2; os dois parâmetros seguintes representam a largura e a altura, respectivamente, da imagem a ser capturada; O ultimo parâmetro determina o modo de cores utilizado. Como mostrado na seção anterior a web cam suporta apenas os modos: I420 & RGB24, sendo este último o utilizado. As figuras 5.3 e 5.4 mostram um exemplo de pares de imagens capturadas simultaneamente pelas duas câmeras da cabeça estéreo. A figura 5.3 representa o par de imagens da primeira aquisição da cabeça estéreo, enquanto que a figura 5.4 representa o par de imagens da segunda aquisição. A captura simultânea do par de imagens das duas câmeras é feita aproximadamente a cada 68,8 ms, o que fornece uma taxa de captura de 14,5 quadros por segundo. 5.4 Detecção dos Vértices A implementação da etapa de extração de características foi feita utilizando-se o algoritmo SUSAN [Smith & Brady 1997]. Nesta implementação é necessário uma conversão

70 5.4. DETECÇÃO DOS VÉRTICES 53 Figura 5.4: Par de imagens capturado pelas câmeras da cabeça estéreo durante a segunda aquisição Figura 5.5: Vértices detectados no par de imagens da primeira aquisição da imagem no formato de cor RGB24 para níveis de cinza, já que as câmeras não permitem uma captura em níveis de cinza. Esta conversão é feita somando-se as intensidades dos níveis R, G e B e dividindo-se por 3. A partir das imagens capturadas pelas duas câmeras, como na figura 5.3, é efetuada a detecção dos vértices utilizando-se um limiar igual a 20. A figura 5.5 representa o par de imagens resultantes da detecção de vértices sobre a primeira aquisição, enquanto que a figura 5.6 representa o par de imagens resultantes da detecção de vértices sobre a segunda aquisição. Para a detecção dos vértices usando o operador SUSAN o tempo de processamento utilizado para cada imagem foi de cerca de 11ms. Juntamente com a detecção do vértices é gerada uma lista destes vértices detectados. Os dados de entrada para a próxima etapa, responsável por estabelecer a correlação entre as imagens, serão as listas de vértices e o par de imagens. Estas listas de vértices detectados fornecem uma grande redução dos dados de entrada para o algoritmo da correlação. Caso utilizássemos a imagem inteira, teríamos que comparar pontos de uma

71 54 CAPÍTULO 5. EXPERIMENTOS E RESULTADOS Figura 5.6: Vértices detectados no par de imagens da segunda aquisição imagem com os da outra imagem formadora do par de imagens capturada. Enquanto que após a detecção de cantos, com limiar igual a 20, para estas imagens foram obtidos na primeira aquisição 145 vértices na imagem esquerda e 203 vértice na imagem direita, na segunda aquisição foram obtidos 146 vértices na imagem esquerda e 180 vértice na imagem direita. 5.5 Correlação O objetivo da etapa de correlação é encontrar os vértices correspondentes no par de imagens e retornar a disparidade destes. Como entrada desta etapa tem-se o par de imagens, que guarda a intensidade, em nível de cinza, da cena visualizada por cada câmera e a lista de vértices detectados, que será a base da busca entre vértice correlacionados. Assim, foram utilizados apenas os valores da intensidade em níveis de cinza dos pixels pertencentes às janelas centralizadas nos vértices detectados. A lista de vértices detectados apresenta as seguintes variáveis: o número do vértice, a coordenada x do vértice, a coordenada y do vértice, a disparidade em relação ao vértice mais correlacionado, o número do vértice mais correlacionado, o valor da correlação entre estes vértices, e a profundidade deste vértice. Apenas as duas primeiras variáveis de cada elemento da lista receberam um valor atribuído na etapa de detecção de vértices. As variáveis que guardam os valores da disparidade em relação ao vértice mais correlacionado encontrado, o valor desta correlação e o número deste vértice na lista da imagem receberão um valor nesta etapa de correlação. Nesta etapa, alguns problemas podem ocorrer principalmente devido a diferenças de iluminação entre as câmeras, já que estas não estão posicionadas no mesmo ponto e o robô não é dotado de nenhum dispositivo que forneça iluminação na direção do campo visual das câmeras. As variações na iluminação adquirida por cada câmera diminuem, no par de imagens, a semelhança entre pixels correspondentes a um mesmo ponto no mundo, diminuindo o valor da correlação entre estes vértices, apesar de o algoritmo de correlação cruzada nor-

72 5.5. CORRELAÇÃO 55 malizada de média zero utilizado apresentar uma relativa robustez a este problema. Por ser fundamental para a eficiência de um sistema estereoscópico os experimentos para verificação dos métodos foram feitos sob luz artificial, de forma a tentar manter a iluminação constante durante o deslocamento do robô. Outro problema enfrentado nesta etapa é a existência de vértices detectados em apenas uma das imagens devido a oclusão, sombreamento, como também diferenças na iluminação, provocando a não correspondência de alguns vértices encontrados nas imagens. Outro erro que pode acontecer durante esta etapa é o de vértices semelhantes serem detectados em uma posição deslocada do ponto real destes vértices. Este erro pode ser ocasionado pela detecção de vários vértices, ou ocorrer devido a discretização da imagem em pixels. Este erro provoca um cálculo errado da disparidade entre vértices, sendo propagado na reconstrução geométrica. Devido a estes possíveis problemas encontrados durante a etapa de correlação foram testados vários tamanhos de máscara. O tamanho escolhido foi o de 9 5 pixels, este apresentou melhores resultados com mais correspondências corretas, pois compara mais os pixels na horizontal do que na vertical. A imagem base para a correlação é a imagem direita, logo, um mesmo ponto na imagem esquerda estará mais à direita, e possuirá coordenada x maior, em relação à imagem base. A máscara da correlação é posicionada sobre os vértices detectados na imagem direita e então percorre-se a lista de vértices detectados na imagem esquerda calculando a correlação entre estas duas janelas. A busca apresenta as seguintes restrições: Só será efetuada a correlação entre as janelas centradas nos vértices da imagem esquerda para os vértices que possuam coordenada x maior que o vértice da imagem direita, e esta diferença entre o valor das coordenadas não pode ser maior que a disparidade máxima. Este valor depende da configuração da cabeça estéreo. Por outro lado estes vértices da imagem esquerda devem possuir coordenada y até duas unidades maior ou menor que o vértice da imagem direita. Caso o vértice da imagem esquerda seja corralionado a um vértice da imagem direita, o primeiro terá o valor de uma variável que indica se este vértice já está correlacionadp a algum vértice alterado. Assim, só será verificada a correlação entre vértices que não tenham sido correlacionados com outro vértice anteriormente. Após restringir o espaço de busca nos vértices da imagem esquerda, é calculada a correlação cruzada normalizada de média zero entre as janelas. É armazenada a maior correlação encontrada, juntamente com o número do vértice da imagem esquerda de maior correlação, bem como a disparidade entre estes vértices. A variável disparidade deste vértice na lista de vértices da imagem esquerda recebe o valor de -2, indicando que este ponto já foi correlacionado. Nesta etapa foram encontradas 87 correspondências entre vértices nas imagens direita e esquerda durante a primeira aquisição, e 98 correspondências entre vértices no par de imagens da segunda aquisição. O tempo de processamento necessário para efetuar a correlação foi cerca de 12 ms para cada par de imagens.

73 56 CAPÍTULO 5. EXPERIMENTOS E RESULTADOS 5.6 Determinação da Geometria Nesta etapa são calculados os ângulos responsáveis para a reconstrução geométrica baseada em coordenadas polares, como também a distância euclidiana entre o ponto M, localizado no ponto médio entre as duas câmeras da cabeça estéreo, e um ponto P, representando um vértice detectado no par de imagens. A lista de vértices das imagens é a entrada para esta etapa, e os ângulos al pha O, al pha O, al pha M e β M são calculados baseados nas posições x e y dos pares de vértices correspondentes detectados. A distância PM é calculada com esta disparidade obtida pela correlação para os pares de vértices correspondentes detectados e na distância focal que pode ser obtida pela calibração convencional ou ajustada de acordo com a autocalibração, apresentada na seção 5.1. A partir do valor de PM são calculadas as projeções PMX, PMY e a estimativa de profundidade z. O tempo de processamento necessário para calcular os ângulos e a estimativa de profundidade inicial foi cerca de 3ms para cada par de imagens. 5.7 Autocalibração Na etapa de autocalibração, as listas de vértices correlacionados obtidos para os dois pares de imagens são comparadas para a formação do triângulo com lados PMY 1, PMY 2 e dz. A etapa da reconstrução geométrica fornece os ângulos α M e β M para os pares de vértices correlacionados detectados. A partir da diferença dos valores de β M entre a primeira aquisição e a segunda aquisição obtemos o desvio angular correspondente ao deslocamento dz conhecido, nos experimentos este deslocamento equivale a 5 cm. De tal forma é aplicada a lei dos senos e os valores de PMY 1 e PMY 2 são calculados baseados nesta relação entre a variação angular e o deslocamento do robô. 5.8 Estimação da Profundidade Após a etapa de autocalibração todos os dados para a estimação da profundidade dos objetos, cujos vértices correlacionados foram detectados, estão disponíveis. A estimação, utilizando-se a reconstrução geométrica e distância focal obtida através da calibração convencional, foi calculada durante a etapa de reconstrução geométrica da cena. A distância focal calculada pela calibração convencional é utilizada como uma estimativa inicial, sendo ajustada de acordo com os resultados da autocalibração. São ilustrados os resultados referentes a três pontos específicos. Os pontos (90,39), (198,128) e (205,204) na imagem direita da primeira aquisição. Estes pontos representam vértices nos objetos posicionados no ambiente onde o robô se encontra. O ponto (90,39) representa um vértice da caixa preta posicionada 50 cm à frente do robô; o ponto (198,128) representa um vértice da caixa branca posicionada 100 cm à frente do robô e o ponto (205,204) representa um vértice do rodapé da parede localizada 2430 cm à frente do robô. Na figura 5.7 estes pontos estão destacados em vermelho.

74 5.8. ESTIMAÇÃO DA PROFUNDIDADE 57 Figura 5.7: Vértices destacados na imagem capturada pela câmera direita durante a primeira aquisição Após as etapas de correlação e reconstrução geométrica obtivemos os resultados expressos na tabela 5.1. Estes dados são utilizados para estimar-se a profundidade destes três vértices destacados. No método utilizando a reconstrução geométrica da cena, apenas pela triangulação retificada, a única correção efetuada foi devido ao ângulo de inclinação de "tilt"de 30 o, logo, a profundidade é determinada como a projeção de PM de acordo com a equação PM sin(60). Caso não fosse efetuada esta correção as estimativas apresentariam um erro irreal para o método, já que as câmeras estão posicionadas a uma altura de cerca de 52 cm. Após a etapa de autocalibração obtivemos os resultados expressos na tabela 5.4, mostrando a diferença entre os ângulos dos pares de imagem, as distâncias PM estimadas e as distâncias focais estimadas para cada ponto. Os sistema comparados são: O sistema que efetua reconstrução por triangulação retificada com distância focal calculada pela calibração convencional; o sistema que efetua a reconstrução por coordenadas polares com distância focal calculada pela calibração convencional; O sistema que efetua a reconstrução por coordenadas polares com distância focal calculada pela autocalibração. As tabelas 5.2, 5.3 e 5.5 apresentam os diferentes sistemas comparados, assim como as estimativas das distâncias euclidianas entre o ponto médio M e os pontos exemplificados, como também as estimativas da profundidade destes pontos. Na tabela 5.5 é mostrado o valor da distância focal calculada como média entre o valor obtido pela calibração convencional e a estimativa da autocalibração para cada ponto. Os erros de estimação da profundidade de cada um dos sistemas comparados em relação às distâncias reais são exibidos nas tabelas 5.7, 5.8 e 5.9. Na tabela 5.7 é comparado o erro médio de estimação da profundidade durante a primeira aquisição entre o sistemas comparados, enquanto que na tabela 5.8 é comparado o erro médio de estimação da pro-

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

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

Leia mais

Processamento de Imagens CPS755

Processamento de Imagens CPS755 Processamento de Imagens CPS755 aula 08 - calibração de câmera Antonio Oliveira Ricardo Marroquim 1 / 40 laboratório de processamento de imagens tópicos homografia 3D 2D distorção propriedades do centro

Leia mais

Robótica Experimental

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

Leia mais

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

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

Leia mais

Um Método para Determinação da Profundidade Combinando Visão Estéreo e Autocalibração para Aplicação em Robótica Móvel

Um Método para Determinação da Profundidade Combinando Visão Estéreo e Autocalibração para Aplicação em Robótica Móvel UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE CENTRO DE TECNOLOGIA PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA Um Método para Determinação da Profundidade

Leia mais

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

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

Leia mais

ALGEMIRO A. S. NETO.

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

Leia mais

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

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

Leia mais

Teresa C. S. Azevedo

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

Leia mais

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

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

Leia mais

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

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

Leia mais

Visão Computacional CPS754

Visão Computacional CPS754 Visão Computacional CPS754 aula 11 - reconstrução 3D de câmeras Antonio Oliveira Ricardo Marroquim 1 / 1 visão computacional tópicos conhecido: conjunto de correspondências x i x não conhecido: os respectivos

Leia mais

Processamento de Imagens CPS755

Processamento de Imagens CPS755 Processamento de Imagens CPS755 aula 01 - geometria projetiva e transformações 2D Antonio Oliveira Ricardo Marroquim 1 / 44 laboratório de processamento de imagens tópicos geometria projetiva transformações

Leia mais

Processamento de Imagens CPS755

Processamento de Imagens CPS755 Processamento de Imagens CPS755 aula 07 - modelos de câmera Antonio Oliveira Ricardo Marroquim 1 / 32 laboratório de processamento de imagens tópicos matriz de calibração câmera finita câmera projetiva

Leia mais

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

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

Leia mais

Apresentação de uma Plataforma Computacional para a Reconstrução e Caracterização da Forma 3D de Objectos

Apresentação de uma Plataforma Computacional para a Reconstrução e Caracterização da Forma 3D de Objectos Teresa Azevedo, João Manuel R. S. Tavares, Mário Vaz FEUP - Faculdade de Engenharia da Universidade do Porto LOME - Laboratório de Óptica e Mecânica Experimental Índice: I. Visão 3D; II. Computacional

Leia mais

2 Trabalhos Relacionados

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

Leia mais

Processamento de Imagens CPS755

Processamento de Imagens CPS755 Processamento de Imagens CPS755 aula 03 - visualizando a planar Antonio Oliveira Ricardo Marroquim 1 / 40 laboratório de processamento de imagens tópicos visualizando a planar discussão dos primeiros 2

Leia mais

Processamento de Imagens CPS755

Processamento de Imagens CPS755 Processamento de Imagens CPS755 aula 09 - single-view final Antonio Oliveira Ricardo Marroquim 1 / 25 laboratório de processamento de imagens tópicos pontos e retas de fuga métricas afim em uma foto calibrando

Leia mais

RECONHECIMENTO IDENTIFICAÇÃO BASEADA EM APARÊNCIA

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

Leia mais

3 Técnicas de medição do escoamento

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

Leia mais

7. Projeções Geométricas e Visualização 3D

7. Projeções Geométricas e Visualização 3D 7. Projeções Geométricas e Visualização 3D Aprendemos a criar e transformar geometricamente objetos 3D, no entanto, nossa janela de visualização é apenas bi-dimensional. Assim, necessitamos desenvolver

Leia mais

Professor: Computação Gráfica I. Anselmo Montenegro Conteúdo: - Objetos gráficos planares. Instituto de Computação - UFF

Professor: Computação Gráfica I. Anselmo Montenegro  Conteúdo: - Objetos gráficos planares. Instituto de Computação - UFF Computação Gráfica I Professor: Anselmo Montenegro www.ic.uff.br/~anselmo Conteúdo: - Objetos gráficos planares 1 Objetos gráficos: conceitos O conceito de objeto gráfico é fundamental para a Computação

Leia mais

Computação Gráfica - 09

Computação Gráfica - 09 Universidade Federal do Vale do São Francisco Curso de Engenharia da Computação Computação Gráfica - 9 jorge.cavalcanti@univasf.edu.br www.univasf.edu.br/~jorge.cavalcanti www.twitter.com/jorgecav Objetos

Leia mais

Computação Gráfica - 09

Computação Gráfica - 09 Universidade Federal do Vale do São Francisco Curso de Engenharia da Computação Computação Gráfica - 9 jorge.cavalcanti@univasf.edu.br www.univasf.edu.br/~jorge.cavalcanti www.twitter.com/jorgecav Objetos

Leia mais

Exemplo de aplicação

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

Leia mais

3 Extração de Regras Simbólicas a partir de Máquinas de Vetores Suporte 3.1 Introdução

3 Extração de Regras Simbólicas a partir de Máquinas de Vetores Suporte 3.1 Introdução 3 Extração de Regras Simbólicas a partir de Máquinas de Vetores Suporte 3.1 Introdução Como já mencionado na seção 1.1, as SVMs geram, da mesma forma que redes neurais (RN), um "modelo caixa preta" de

Leia mais

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

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

Leia mais

UNIVERSIDADE FEDERAL DO RIO DE JANEIRO INSTITUTO TÉRCIO PACCITI DE APLICAÇÕES E PESQUISAS COMPUTACIONAIS. Relatório Técnico, 05/06

UNIVERSIDADE FEDERAL DO RIO DE JANEIRO INSTITUTO TÉRCIO PACCITI DE APLICAÇÕES E PESQUISAS COMPUTACIONAIS. Relatório Técnico, 05/06 1 UNIVERSIDADE FEDERAL DO RIO DE JANEIRO INSTITUTO TÉRCIO PACCITI DE APLICAÇÕES E PESQUISAS COMPUTACIONAIS Relatório Técnico, 05/06 DOOR CROSSING AND STATE IDENTIFICATION USING ROBOTIC VISION Eliana Prado

Leia mais

Roteiro do Experimento Força de Atrito Variável Parte II

Roteiro do Experimento Força de Atrito Variável Parte II A) Introdução ao experimento Experimentos Virtuais de Mecânica Roteiro do Experimento Força de Atrito Variável Parte II Na Parte I da análise do experimento, as grandezas cinemáticas relativas ao movimento

Leia mais

ANÁLISE DO MÉTODO DE CALIBRAÇÃO DE CÂMARAS PROPOSTO POR ZHANG

ANÁLISE DO MÉTODO DE CALIBRAÇÃO DE CÂMARAS PROPOSTO POR ZHANG RESUMO ANÁLISE DO MÉTODO DE CALIBRAÇÃO DE CÂMARAS PROPOSTO POR ZHANG Teresa C. S. Azevedo*, João Manuel R. S. Tavares. e Mário A. P. Vaz. INEGI Instituto de Engenharia Mecânica e Gestão Industrial - Porto,

Leia mais

Introdução ao Processamento e Síntese de imagens - Projeções

Introdução ao Processamento e Síntese de imagens - Projeções Introdução ao Processamento e Síntese de imagens - Projeções Júlio Kiyoshi Hasegawa Fontes: Esperança e Cavalcanti (22) (UFRJ) e Traina e Oliveira (24) (USP) Antonio Maria Garcia Tommaselli - notas de

Leia mais

SISTEMAS DE PROJEÇÃO

SISTEMAS DE PROJEÇÃO MINISTÉRIO DA EDUCAÇÃO - UNIVERSIDADE FEDERAL DO PARANÁ SETOR DE CIÊNCIAS EXATAS - DEPARTAMENTO DE EXPRESSÃO GRÁFICA Professora Deise Maria Bertholdi Costa - Disciplina CD020 Geometria Descritiva Curso

Leia mais

Visão Computacional CPS754

Visão Computacional CPS754 Visão Computacional CPS754 aula 13 - reconstrução Antonio Oliveira Ricardo Marroquim 1 / 26 visão computacional tópicos reprojetando pontos para 3D triangulação simples solução ótima definição do último

Leia mais

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

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

Leia mais

Computação Gráfica. Engenharia de Computação. CEFET/RJ campus Petrópolis. Prof. Luis Retondaro. Aula 3. Transformações Geométricas

Computação Gráfica. Engenharia de Computação. CEFET/RJ campus Petrópolis. Prof. Luis Retondaro. Aula 3. Transformações Geométricas Computação Gráfica Engenharia de Computação CEFET/RJ campus Petrópolis Prof. Luis Retondaro Aula 3 Transformações Geométricas no plano e no espaço Introdução (Geometria) 2 Pontos, Vetores e Matrizes Dado

Leia mais

Algoritmos geométricos

Algoritmos geométricos Algoritmos geométricos introdução a conceitos básicos de geometria computacional que serão abordados de forma mais avançada na disciplina Computação Gráfica disciplina de computação gráfica arquitetura

Leia mais

Pipeline de Visualização 3D

Pipeline de Visualização 3D Pipeline de Visualização 3D André Tavares da Silva andre.silva@udesc.br Capítulo 5 de Foley Capítulo 2 de Azevedo e Conci Processo de Visualização https://www.youtube.com/watch?v=ogqam2mykng Processo de

Leia mais

Matemática I Cálculo I Unidade B - Cônicas. Profª Msc. Débora Bastos. IFRS Campus Rio Grande FURG UNIVERSIDADE FEDERAL DO RIO GRANDE

Matemática I Cálculo I Unidade B - Cônicas. Profª Msc. Débora Bastos. IFRS Campus Rio Grande FURG UNIVERSIDADE FEDERAL DO RIO GRANDE Unidade B - Cônicas Profª Msc. Débora Bastos IFRS Campus Rio Grande FURG UNIVERSIDADE FEDERAL DO RIO GRANDE 22 12. Cônicas São chamadas cônicas as curvas resultantes do corte de um cone duplo com um plano.

Leia mais

Modelo Cinemático Inverso. Prof. Walter Fetter Lages 16 de setembro de 2007

Modelo Cinemático Inverso. Prof. Walter Fetter Lages 16 de setembro de 2007 Universidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Engenharia Elétrica Programa de Pós-Graduação em Engenharia Elétrica ELE00070-Tópicos Especiais em Controle e Automação I

Leia mais

Visualização por Computador: Teoria, Prática e Aplicações

Visualização por Computador: Teoria, Prática e Aplicações Visualização por Computador: Teoria, Prática e Aplicações Noções de Geometria e Álgebra Linear Claudio Esperança Programa de Engenharia de Sistemas e Computação COPPE / UFRJ Master of Information Management,

Leia mais

Um Sistema de Calibração de Câmera

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

Leia mais

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

Reconstrução Geométrica a Partir de Imagens TIC Reconstrução Geométrica a Partir de Imagens TIC-10.073 Aulas 2 e 3 Conteúdo Geometria Projetiva 2D Professor Leandro Augusto Frata Fernandes laffernandes@ic.uff.br Material disponível em http://www.ic.uff.br/~laffernandes/teaching/2016.1/tic-10.073

Leia mais

ROBÓTICA PLANEJAMENTO DE TRAJETÓRIAS. Prof a. Dra. GIOVANA TRIPOLONI TANGERINO Tecnologia em Automação Industrial

ROBÓTICA PLANEJAMENTO DE TRAJETÓRIAS. Prof a. Dra. GIOVANA TRIPOLONI TANGERINO Tecnologia em Automação Industrial SP CAMPUS PIRACICABA ROBÓTICA Prof a. Dra. GIOVANA TRIPOLONI TANGERINO Tecnologia em Automação Industrial PLANEJAMENTO DE TRAJETÓRIAS https://giovanatangerino.wordpress.com giovanatangerino@ifsp.edu.br

Leia mais

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

Reconstrução Geométrica a Partir de Imagens TIC /TCC Reconstrução Geométrica a Partir de Imagens TIC-00.243/TCC-00.241 Aulas 2 e 3 Conteúdo Geometria Projetiva 2D Professor Leandro Augusto Frata Fernandes laffernandes@ic.uff.br Material disponível em http://www.ic.uff.br/~laffernandes/teaching/2014.2/tic-00.243

Leia mais

EXTRAÇÃO SEMI - AUTOMÁTICA DE FEIÇÕES LINEARES E A CALIBRAÇÃO DOS PARÂMETROS INTRÍNSECOS DE CÂMERAS Projeto de Pesquisa PIBIC/CNPq ( )

EXTRAÇÃO SEMI - AUTOMÁTICA DE FEIÇÕES LINEARES E A CALIBRAÇÃO DOS PARÂMETROS INTRÍNSECOS DE CÂMERAS Projeto de Pesquisa PIBIC/CNPq ( ) USP UNIVERSIDADE DE SÃO PAULO EP ESCOLA POLITÉCNICA EXTRAÇÃO SEMI - AUTOMÁTICA DE FEIÇÕES LINEARES E A CALIBRAÇÃO DOS PARÂMETROS INTRÍNSECOS DE CÂMERAS Projeto de Pesquisa PIBIC/CNPq (2000-2001) LEONARDO

Leia mais

Reconstrução 3D. Métodos

Reconstrução 3D. Métodos Reconstrução 3D Prof. Dr. Márcio Sarroglia Pinho Material elaborado a partir de TCs dos alunos Fernando Muraro Witzke Lucas Scheibler de Carvalho Otávio Basso Gomes Métodos w Com Contato Físico w Máquinas

Leia mais

AS MÁQUINAS DE MEDIR POR COORDENADAS (MMC)

AS MÁQUINAS DE MEDIR POR COORDENADAS (MMC) AS MÁQUINAS DE MEDIR POR COORDENADAS (MMC) Tópicos que serão explorados na aula Introdução Tipos de MMCs Sistema de medição (as réguas e apalpadores) Programas computacionais Erros Compensação (Calibração

Leia mais

Cinemática de Robôs Móveis

Cinemática de Robôs Móveis Cinemática de Robôs Móveis A cinemática é a área da Física que estuda o movimento dos corpos. Em robótica móvel a cinemática estabelece relações entre o deslocamento (locomoção) do robô e a atuação a ele

Leia mais

Descritores de Imagens

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

Leia mais

Cinemática Inversa de Manipuladores

Cinemática Inversa de Manipuladores Cinemática Inversa de Manipuladores 1998Mario Campos 1 Introdução Cinemática Inversa Como calcular os valores das variáveis de junta que produzirão a posição e orientação desejadas do órgão terminal? 1998Mario

Leia mais

Instituto Tecnológico de Aeronáutica. Prof. Carlos Henrique Q. Forster Sala 121 IEC. ramal 5981

Instituto Tecnológico de Aeronáutica. Prof. Carlos Henrique Q. Forster Sala 121 IEC. ramal 5981 CC Visão Computacional Reconstrução por stéreo Instituto ecnológico de Aeronáutica Prof. Carlos Henrique Q. Forster Sala 11 IC ramal 5981 ópicos da aula Auto-calibração de um par estéreo Análise da matri

Leia mais

Figura 9.1: Corpo que pode ser simplificado pelo estado plano de tensões (a), estado de tensões no interior do corpo (b).

Figura 9.1: Corpo que pode ser simplificado pelo estado plano de tensões (a), estado de tensões no interior do corpo (b). 9 ESTADO PLANO DE TENSÕES E DEFORMAÇÕES As tensões e deformações em um ponto, no interior de um corpo no espaço tridimensional referenciado por um sistema cartesiano de coordenadas, consistem de três componentes

Leia mais

APLICAÇÃO DO FILTRO DE KALMAN A UM SISTEMA DE POSICIONAMENTO DE VEÍCULO AQUÁTICO

APLICAÇÃO DO FILTRO DE KALMAN A UM SISTEMA DE POSICIONAMENTO DE VEÍCULO AQUÁTICO APLICAÇÃO DO FILTRO DE KALMAN A UM SISTEMA DE POSICIONAMENTO DE VEÍCULO AQUÁTICO André TEIXEIRA DE AQUINO; André LUIZ CARNEIRO DE ARAÚJO (1) Instituto Federal de Educação, Ciência e Tecnologia do Ceará,

Leia mais

Theory Portugues BR (Brazil) Por favor, leia as instruções gerais contidas no envelope separado antes de iniciar este problema.

Theory Portugues BR (Brazil) Por favor, leia as instruções gerais contidas no envelope separado antes de iniciar este problema. Q1-1 Dois problemas de Mecânica (10 pontos) Por favor, leia as instruções gerais contidas no envelope separado antes de iniciar este problema. Parte A. O disco escondido (3.5 pontos) Considere um cilindro

Leia mais

UD VI. Retificação / Normalização de Imagens Digitais

UD VI. Retificação / Normalização de Imagens Digitais - 56 - UD VI Retificação / Normalização de Imagens Digitais Extração Automática do Terreno Retificação de Imagens Geometria Epipolar Normalização de Estereograma Exemplo de Algoritmo de Reamostragem Epipolar

Leia mais

Engenharia de Faixa de Dutos Terrestres

Engenharia de Faixa de Dutos Terrestres 7 Estereoscopia Justaposição dos termos gregos stereo, relativo a dois (duplo), e scopos, relativo a visão (observador), estereoscopia diz respeito a visualização de um mesmo foco por dois mecanismos de

Leia mais

Dr. Sylvio Barbon Junior. Departamento de Computação - UEL. 1 o Semestre de 2015

Dr. Sylvio Barbon Junior. Departamento de Computação - UEL. 1 o Semestre de 2015 Introdução a Computação Gráfica [5COP100] Dr. Sylvio Barbon Junior Departamento de Computação - UEL 1 o Semestre de 2015 Assunto Aula 8 Descritores de Imagens Digitais 2 of 47 Sumário Descritores e Reconhecimento

Leia mais

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

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

Leia mais

O centróide de área é definido como sendo o ponto correspondente ao centro de gravidade de uma placa de espessura infinitesimal.

O centróide de área é definido como sendo o ponto correspondente ao centro de gravidade de uma placa de espessura infinitesimal. CENTRÓIDES E MOMENTO DE INÉRCIA Centróide O centróide de área é definido como sendo o ponto correspondente ao centro de gravidade de uma placa de espessura infinitesimal. De uma maneira bem simples: centróide

Leia mais

Utilização de Algoritmos Genéticos para Otimização de Altura de Coluna da Matriz de Rigidez em Perfil no Método dos Elementos Finitos

Utilização de Algoritmos Genéticos para Otimização de Altura de Coluna da Matriz de Rigidez em Perfil no Método dos Elementos Finitos Utilização de Algoritmos Genéticos para Otimização de Altura de Coluna da Matriz de Rigidez em Perfil no Método dos Elementos Finitos André Luiz Ferreira Pinto Pontifícia Universidade Católica do Rio de

Leia mais

é a distância entre um determinado ponto da linha

é a distância entre um determinado ponto da linha Erro de Minimização O algoritmo do erro de minimização para efectuar a auto-localização de robôs foi desenvolvido de forma a superar os problemas existentes nas três abordagens identificadas, no sentido

Leia mais

étodos uméricos AJUSTE DE FUNÇÕES Prof. Erivelton Geraldo Nepomuceno PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA

étodos uméricos AJUSTE DE FUNÇÕES Prof. Erivelton Geraldo Nepomuceno PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA étodos uméricos AJUSTE DE FUNÇÕES Prof. Erivelton Geraldo Nepomuceno PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA UNIVERSIDADE DE JOÃO DEL-REI PRÓ-REITORIA DE PESQUISA CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA

Leia mais

Análise Cinemática. Prof. Dr. André L. F. Rodacki

Análise Cinemática. Prof. Dr. André L. F. Rodacki Análise Cinemática Prof. Dr. André L. F. Rodacki Cinemática A cinemática se preocupa com grandezas físicas que descrevem matematicamente as características do movimento de uma partícula/segmento, tais

Leia mais

Fundamentos de Processamento Gráfico

Fundamentos de Processamento Gráfico Fundamentos de Processamento Gráfico Helton H. Bíscaro ; Fátima Nunes 19 de março de 2018 Helton H. Bíscaro ; Fátima Nunes Computação Gráfica 19 de março de 2018 1 / 50 Paradigma dos Quatro Universos

Leia mais

Transformações Geométricas. Transformações Geométricas. Sistemas de Coordenadas. Translação: M.C.F. de Oliveira Rosane Minghim 2006

Transformações Geométricas. Transformações Geométricas. Sistemas de Coordenadas. Translação: M.C.F. de Oliveira Rosane Minghim 2006 Transformações Geométricas Transformações Geométricas 2D M.C.F. de Oliveira Rosane Minghim 2006 Aplicadas aos modelos gráficos para alterar a geometria dos objetos, sem alterar a topologia Porque são necessárias:

Leia mais

Aula 7 - Representação e Descrição de Estruturas Bi-dimensionais. Prof. Adilson Gonzaga

Aula 7 - Representação e Descrição de Estruturas Bi-dimensionais. Prof. Adilson Gonzaga Aula 7 - Representação e Descrição de Estruturas Bi-dimensionais Prof. Adilson Gonzaga 1 Introdução Objetos ou Segmentos são representados como uma coleção de pixels em uma imagem. Para o reconhecimento

Leia mais

1 Segmentos orientados e vetores, adição e multiplicação

1 Segmentos orientados e vetores, adição e multiplicação MAP2110 Modelagem e Matemática 1 o Semestre de 2007 Resumo 1 - Roteiro de estudos - 07/05/2007 Espaços vetoriais bi e tri-dimensionais (plano ou espaço bidimensional E 2, e espaço tridimensional E 3 )

Leia mais

Produto interno e produto vetorial no espaço

Produto interno e produto vetorial no espaço 14 Produto interno e produto vetorial no espaço Sumário 14.1 Produto interno.................... 14. Produto vetorial.................... 5 14..1 Interpretação geométrica da norma do produto vetorial.......................

Leia mais

Translação e Rotação Energia cinética de rotação Momentum de Inércia Torque. Física Geral I ( ) - Capítulo 07. I. Paulino*

Translação e Rotação Energia cinética de rotação Momentum de Inércia Torque. Física Geral I ( ) - Capítulo 07. I. Paulino* ROTAÇÃO Física Geral I (1108030) - Capítulo 07 I. Paulino* *UAF/CCT/UFCG - Brasil 2012.2 1 / 25 Translação e Rotação Sumário Definições, variáveis da rotação e notação vetorial Rotação com aceleração angular

Leia mais

Sistema de Localização Visual da Equipe de Futebol de Robôs POTI-UFRN (versão 2008) na Categoria Very Small Size

Sistema de Localização Visual da Equipe de Futebol de Robôs POTI-UFRN (versão 2008) na Categoria Very Small Size Sistema de Localização Visual da Equipe de Futebol de Robôs POTI-UFRN versão 2008) na Categoria Very Small Size Ellon P Mendes, Adelardo AD Medeiros UFRN-CT-DCA 59072-900 Natal RN Email: [ellonpaiva,adelardo]@dcaufrnbr

Leia mais

Geometria Computacional

Geometria Computacional Geometria Computacional Claudio Esperança Paulo Roma Cavalcanti Estrutura do Curso Aspectos teóricos e práticos Construção e análise de algoritmos e estruturas de dados para a solucionar problemas geométricos

Leia mais

J. Delgado - K. Frensel - L. Crissaff Geometria Analítica e Cálculo Vetorial

J. Delgado - K. Frensel - L. Crissaff Geometria Analítica e Cálculo Vetorial 178 Capítulo 10 Equação da reta e do plano no espaço 1. Equações paramétricas da reta no espaço Sejam A e B dois pontos distintos no espaço e seja r a reta que os contém. Então, P r existe t R tal que

Leia mais

5 Implementação da Metodologia

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

Leia mais

UM MODELO DE UNIDADE DE MEDIDA INERCIAL UTILIZANDO 3 ACELERÔMETROS

UM MODELO DE UNIDADE DE MEDIDA INERCIAL UTILIZANDO 3 ACELERÔMETROS UM MODELO DE UNIDADE DE MEDIDA INERCIAL UTILIZANDO 3 ACELERÔMETROS ANDERSON B. N. SILVA 1, SAMUEL X. SOUZA 2, PABLO J. ALSINA 2. 1. Diretoria de Ensino Campus Picuí, Instituto Federal de Educação, Ciência

Leia mais

Capítulo 3 - Geometria Analítica

Capítulo 3 - Geometria Analítica 1. Gráficos de Equações Capítulo 3 - Geometria Analítica Conceito:O gráfico de uma equação é o conjunto de todos os pontos e somente estes pontos, cujas coordenadas satisfazem a equação. Assim, o gráfico

Leia mais

Curvas Planas em Coordenadas Polares

Curvas Planas em Coordenadas Polares Curvas Planas em Coordenadas Polares Sumário. Coordenadas Polares.................... Relações entre coordenadas polares e coordenadas cartesianas...................... 6. Exercícios........................

Leia mais

SISTEMAS DE PROJEÇÃO. 1. Conceito de projeção cônica (ou central)

SISTEMAS DE PROJEÇÃO. 1. Conceito de projeção cônica (ou central) MINISTÉRIO DA EDUCAÇÃO - UNIVERSIDADE FEDERAL DO PARANÁ SETOR DE CIÊNCIAS EXATAS - DEPARTAMENTO DE EXPRESSÃO GRÁFICA Professora Deise Maria Bertholdi Costa - Disciplina CD028 Expressão Gráfica II Curso

Leia mais

5 Resultados Introdução

5 Resultados Introdução 5 Resultados 5.1. Introdução O objetivo deste capítulo é apresentar os resultados de diversas simulações feitas no decorrer do projeto. Tais simulações têm o objetivo de testar os algoritmos presentes

Leia mais

Stereo Calibration with a Free-Moving Stick

Stereo Calibration with a Free-Moving Stick Stereo Calibration with a Free-Moving Stick José A. de França Universidade Estadual de Londrina Departamento de Engenharia Elétrica Caixa Postal 6025 8605-990, Londrina - PR, Brazil http://research.eeol.org/

Leia mais

Computação Gráfica. Engenharia de Computação. CEFET/RJ campus Petrópolis. Prof. Luis Retondaro. Aula 6. Projeções

Computação Gráfica. Engenharia de Computação. CEFET/RJ campus Petrópolis. Prof. Luis Retondaro. Aula 6. Projeções Computação Gráfica Engenharia de Computação CEFET/RJ campus Petrópolis Prof. Luis Retondaro Aula 6 Projeções 2 Projeções Geométricas Projeções permitem a visualização bidimensional de objetos tridimensionais.

Leia mais

2 Reconhecimento Facial

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

Leia mais

CALIBRAÇÃO DE UM SISTEMA DE VISÃO ESTÉREO: DE CORRESPONDÊNCIAS DE PONTOS À RECONSTRUÇÃO EUCLIDEANA

CALIBRAÇÃO DE UM SISTEMA DE VISÃO ESTÉREO: DE CORRESPONDÊNCIAS DE PONTOS À RECONSTRUÇÃO EUCLIDEANA JOSÉ ALEXANDRE DE FRANÇA CALIBRAÇÃO DE UM SISTEMA DE VISÃO ESTÉREO: DE CORRESPONDÊNCIAS DE PONTOS À RECONSTRUÇÃO EUCLIDEANA FLORIANÓPOLIS 2005 UNIVERSIDADE FEDERAL DE SANTA CATARINA CURSO DE PÓS-GRADUAÇÃO

Leia mais

Visualização em 3-D - Projeções Planares

Visualização em 3-D - Projeções Planares Visualização em 3-D - Projeções Planares Projetores PRP - Centro de Projeção A n (u,v,n) - sistema de coordenadas do plano de projeção (x,y,z) - sistema de coordenadas do objeto (regra da mão direita -

Leia mais

Sistemas de equações lineares com três variáveis

Sistemas de equações lineares com três variáveis 18 Sistemas de equações lineares com três variáveis Sumário 18.1 Introdução....................... 18. Sistemas de duas equações lineares........... 18. Sistemas de três equações lineares........... 8

Leia mais

Aula Exemplos diversos. Exemplo 1

Aula Exemplos diversos. Exemplo 1 Aula 3 1. Exemplos diversos Exemplo 1 Determine a equação da hipérbole equilátera, H, que passa pelo ponto Q = ( 1, ) e tem os eixos coordenados como assíntotas. Como as assíntotas da hipérbole são os

Leia mais

Sumário COMPUTAÇÃO GRÁFICA E INTERFACES. Modelos e modelagem. Modelos e modelagem. Transformações Geométricas e Visualização 2D

Sumário COMPUTAÇÃO GRÁFICA E INTERFACES. Modelos e modelagem. Modelos e modelagem. Transformações Geométricas e Visualização 2D Sumário COMPUTAÇÃO GRÁFICA E INTERFACES Transformações Geométricas e Visualização D Transformações geométricas Pipeline de visualização D Transformação de coordenadas Window-Viewport Recorte (Clipping)

Leia mais

Universidade Federal de Mato Grosso do Sul - UFMS VGA - 2 a Prova - Engenharia Civil + Física 03 de Julho de Prof o. E.T.

Universidade Federal de Mato Grosso do Sul - UFMS VGA - 2 a Prova - Engenharia Civil + Física 03 de Julho de Prof o. E.T. Universidade Federal de Mato Grosso do Sul - UFMS VGA - 2 a Prova - Engenharia Civil + Física 0 de Julho de 2014 - Prof o ETGalante 1 (2,0 pontos) Na gura acima ABCDEF GH é um paralelepípedo O ponto M

Leia mais

Processamento de Imagens CPS755

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

Leia mais

Processamento de Imagens CPS755

Processamento de Imagens CPS755 Processamento de Imagens CPS755 aula 04 - sistemas lineares Antonio Oliveira Ricardo Marroquim 1 / 32 laboratório de processamento de imagens tópicos decomposições (álgebra linear) decomposição QR decomposição

Leia mais

Aula 4: Gráficos lineares

Aula 4: Gráficos lineares Aula 4: Gráficos lineares 1 Introdução Um gráfico é uma curva que mostra a relação entre duas variáveis medidas. Quando, em um fenômeno físico, duas grandezas estão relacionadas entre si o gráfico dá uma

Leia mais

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

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

Leia mais

2 Cinemática 2.1 CINEMÁTICA DA PARTÍCULA Descrição do movimento

2 Cinemática 2.1 CINEMÁTICA DA PARTÍCULA Descrição do movimento 2 Cinemática A cinemática tem como objeto de estudo o movimento de sistemas mecânicos procurando descrever e analisar movimento do ponto de vista geométrico, sendo, para tal, irrelevantes os fenómenos

Leia mais

Corpos Rígidos MOMENTO ANGULAR. Mecânica II (FIS-26) Prof. Dr. Ronaldo Rodrigues Pelá IEFF-ITA. 5 de março de R.R.Pelá

Corpos Rígidos MOMENTO ANGULAR. Mecânica II (FIS-26) Prof. Dr. Ronaldo Rodrigues Pelá IEFF-ITA. 5 de março de R.R.Pelá MOMENTO ANGULAR Mecânica II (FIS-26) Prof. Dr. Ronaldo Rodrigues Pelá IEFF-ITA 5 de março de 2013 Roteiro 1 Roteiro 1 Quando todas as partículas de um corpo rígido se movem ao longo de trajetórias que

Leia mais

MOVIMENTO 3D: REFERENCIAL EM TRANSLAÇÃO

MOVIMENTO 3D: REFERENCIAL EM TRANSLAÇÃO MOVIMENTO 3D: REFERENCIAL EM TRANSLAÇÃO INTRODUÇÃO ESTUDO DE CASO À medida que o caminhão da figura ao lado se retira da obra, o trabalhador na plataforma no topo do braço gira o braço para baixo e em

Leia mais

2 SIFT (Scale Invariant Feature Transform)

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

Leia mais

4 Visualização por pontos

4 Visualização por pontos 4 Visualização por pontos Uma vez gerados os pontos, estes são renderizados e recebem efeitos de profundidade e iluminação, através da definição da cor, opacidade e tamanho. Além disso, os pontos pertencentes

Leia mais