Instituto Superior de engenharia do Porto
Calibra¸c˜ ao autom´ atica para sistema de localiza¸c˜ ao Multi-cˆ amara
Andr´ e Ferreira Faria 1090352
Disserta¸c˜ ao submetida no ˆ ambito do
Mestrado em Engenharia Eletrot´ ecnica de computadores Orienta¸c˜ ao Cient´ıfica: Jos´ e Miguel Soares de Almeida
Co-orienta¸c˜ ao: Alfredo Manuel Oliveira Martins
Resumo
Os sistemas aut´ onomos, nomeadamente sistemas rob´ oticos m´ oveis, est˜ ao cada vez mais presentes no nosso quotidiano, desta forma surge a necessi- dade de colocar em pr´ atica novas t´ ecnicas capazes de suportar o seu desen- volvimento. Nos dias que correm s˜ ao frequentemente utilizados sistemas de ground thruth baseados em sistemas multi-cˆ amara como t´ ecnica de apoio ao desenvolvimento de sistemas aut´ onomos.
Nesta disserta¸ c˜ ao s˜ ao abordadas t´ ecnicas de otimiza¸ c˜ ao do processo de calibra¸c˜ ao dos parˆ ametros extr´ınsecos em sistemas multi-cˆ amara, sem que, para tal, seja necess´ aria a aplica¸ c˜ ao de t´ ecnicas exaustivas, demoradas e pas- siveis ` a introdu¸c˜ ao de erros. Desta forma esta disserta¸c˜ ao prop˜ oe o desenvol- vimento de uma ferramenta para calibra¸ c˜ ao dos parˆ ametros extr´ınsecos de sistema de ground truth com base em diferentes abordagens para aplica¸c˜ oes de em diferentes cen´ arios.
Uma das abordagens utilizadas visa a utiliza¸ c˜ ao do m´ etodo de estima¸c˜ ao
dos pontos de fuga. Este destina-se a ser aplicado em cen´ arios estrutura-
dos em que sejam predominantes linhas paralelas entre si e tamb´ em com o
referencial global. Foi tamb´ em abordada a utiliza¸ c˜ ao do m´ etodo de decom-
posi¸ c˜ ao de homografia planar, este tem como alvo os cen´ arios de aplica¸ c˜ ao
em que seja predominante pelo menos um plano. No presente documento s˜ ao
demonstrados detalhadamente o desenvolvimento dos m´ etodos de calibra¸ c˜ ao
das cˆ amaras, bem como a implementa¸ c˜ ao efetuada para a constru¸ c˜ ao do se-
tup experimental necess´ ario para a obten¸ c˜ ao de resultados para a valida¸ c˜ ao
ii
e caracteriza¸ c˜ ao dos m´ etodos implementados.
Abstract
The autonomous systems, especially mobile robotic systems are ever more present in our daily lives, so there is a need to put into practice new techniques to support their development.These days multi-camera ground truth systems are often used to in order to achieve this purpose.
This dissertation addresses optimization of calibration techniques for multi-camera systems without the need to apply exhaustive techniques, with high time consumption, liable to introduce systematic errors.
This thesis proposes the development of an automatic tool for extrinsic
parameters calibration of ground-truth multi-camera systems to to overall
applications in such different scenarios. One of the used approaches aims
the estimation of vanishing points. This is intended to be applied to sce-
narios with structured lines parallel with the global framework. It was also
addressed the usage of the planar homography decomposition method, this
is liable to be applied in environments predominant planes on it. In this
document are shown in detail the development of the cameras calibration
methods and the implementation made for the construction of experimental
setup necessary to obtain results for the validation and characterization of
implemented.
Esta p´ agina foi intencionalmente deixada em branco.
Conte´ udo
Lista de Acr´ onimos xvi
1 Introdu¸ c˜ ao 1
1.1 Enquadramento e Motiva¸ c˜ ao . . . . 2
1.2 Objetivos . . . . 4
1.3 organiza¸ c˜ ao da disserta¸ c˜ ao . . . . 5
2 Estado da Arte 7 2.1 Sistemas de dete¸ c˜ ao e localiza¸ c˜ ao: comerciais . . . . 7
2.1.1 Vicon . . . . 7
2.1.2 Optotrack . . . . 11
2.2 Solu¸c˜ oes open source de estima¸ c˜ ao de posi¸ c˜ ao de objetos . . . 12
2.2.1 SSL-Vision . . . . 12
2.2.2 Kinect ground truth . . . . 14
2.3 Calibra¸c˜ ao de sistemas de vis˜ ao multi-cˆ amara . . . . 17
2.3.1 Algoritmo de Tsai . . . . 18
2.3.2 Auto-calibra¸ c˜ ao de sistema multi-cˆ amara . . . . 19
2.3.3 Homografia baseada pontos de fuga . . . . 20
2.4 Sistema de localiza¸ c˜ ao em ambientes subaqu´ aticos . . . . 23
2.4.1 Ambiente subaqu´ aticos – USBL . . . . 24
2.4.2 Ambientes Exteriores – GNSS . . . . 25
vi CONTE ´ UDO
3 Fundamentos Te´ oricos 29
3.1 Transforma¸ c˜ oes de corpo r´ıgido . . . . 29
3.1.1 Coordenadas Homog´ eneas . . . . 32
3.2 Modelo da cˆ amara . . . . 33
3.2.1 Parˆ ametros intr´ınsecos . . . . 35
3.2.2 Parˆ ametros extr´ınsecos . . . . 37
3.2.3 Proje¸ c˜ ao do espa¸ co 3D para 2D . . . . 38
3.3 Geometria epipolar . . . . 39
3.3.1 Matriz Essencial . . . . 39
3.3.2 Matriz fundamental . . . . 42
3.4 Homografia planar . . . . 42
3.5 Decomposi¸c˜ ao de Homografia . . . . 43
3.6 Transformada de Hough . . . . 45
3.7 Linhas e pontos de fuga . . . . 47
4 Setup experimental 49 4.1 Arquitetura do sistema . . . . 49
4.1.1 Ground truth cen´ ario MSL . . . . 51
4.1.2 Ground truth Tanque . . . . 51
4.2 Hardware . . . . 52
4.2.1 Cˆ amara . . . . 52
4.2.2 Sistema de alimenta¸ c˜ ao e disparo das cˆ amaras . . . . 53
5 Implementa¸ c˜ ao 57 5.1 Instala¸c˜ ao do sistema . . . . 57
5.1.1 Campo de futebol rob´ otico m´ edio . . . . 57
5.1.2 Tanque de experiˆ encias subaqu´ aticas . . . . 59
5.2 Calibra¸c˜ ao dos parˆ ametros intr´ınsecos . . . . 60
5.2.1 Algoritmo de Tsai . . . . 60
5.3 Calibra¸ c˜ ao dos Parˆ ametros extr´ınsecos . . . . 62
CONTE ´ UDO vii 5.3.1 M´ etodo dos 8 pontos . . . . 63 5.3.2 M´ etodo pontos de fuga . . . . 64 5.3.3 Decomposi¸c˜ ao de homografia . . . . 70
6 Resultados 73
6.1 resultados para o m´ etodo 8 Pontos . . . . 75 6.2 Resultados para o m´ etodo dos pontos de fuga . . . . 77 6.3 Resultados para o m´ etodo de decomposi¸ c˜ ao de homografia . . 85 6.4 Compara¸ c˜ ao entre m´ etodos . . . . 89
7 Conclus˜ oes 97
Esta p´ agina foi intencionalmente deixada em branco.
Lista de Figuras
2.1 Exemplo de utiliza¸ c˜ ao de VICON tracker. . . . 9
2.2 Exemplo de produ¸ c˜ ao de anima¸ c˜ ao com Vicon Pegasus. . . . 10
2.3 Camera Vicon Bonita B10. . . . . 11
2.4 Ferramenta de calibra¸ c˜ ao Vicon. . . . . 11
2.5 Sistema Optotrack. . . . 12
2.6 Calibra¸c˜ ao de kinect para aplica¸ c˜ ao em SPL. . . . . 15
2.7 Algoritmo de Tsai. . . . 18
2.8 Representa¸ c˜ ao da transforma¸ c˜ ao de homografia . . . . 23
2.9 Utiliza¸ c˜ ao de USBL. . . . 25
2.10 Constituintes de um sistema de USBL. . . . 26
2.11 Ilustra¸c˜ ao de funcionamento de GPS. . . . 27
3.1 Representa¸ c˜ ao dos ˆ Angulos de Euler. . . . 30
3.2 ambiguidade gimbal . . . . 32
3.3 Compara¸c˜ ao modelo pinhole - olho humano [25]. . . . 34
3.4 Proje¸ c˜ ao do modelo de pinhole . . . . 34
3.5 Compara¸c˜ ao modelo pinhole - olho humano. . . . 37
3.6 Representa¸c˜ ao da restri¸ c˜ ao epipolar. . . . 40
3.7 Represent¸ c˜ ao do espa¸ co 3D para aplica¸ c˜ ao de homografia. . . 44
3.8 Representa¸c˜ ao do plano da transformada de Hough - ρ − θ. . 47
3.9 Representa¸ c˜ ao de retas na transformada de Hough. . . . 47
3.10 Representa¸ c˜ ao de linhas de fuga. . . . 48
x LISTA DE FIGURAS
4.1 Arquitetura de aquisi¸ c˜ ao do sistema de ground truth. . . . 50
4.2 Ground truth Campo MSL. . . . 51
4.3 Sistema Ground truth tanque. . . . 52
4.4 Arquitetura do ground truth implementado. . . . 53
4.5 Arquitetura do sistema de disparo. . . . 54
4.6 Interface de configura¸ c˜ ao do trigger. . . . 55
5.1 Fixa¸ c˜ ao cˆ amaras campo MSL. . . . 58
5.2 Instala¸ c˜ ao do Sistema de Ground thruth no Tanque . . . . 59
5.3 Instala¸ c˜ ao do Sistema de disparo no Tanque . . . . 60
5.4 Detec¸ c˜ ao de pontos de interesse - algoritmo de Tsai. . . . 61
5.5 Detec¸ c˜ ao de pontos de interesse - algoritmo de Tsai. . . . 61
5.6 Referencial do campo de MSL. . . . . 63
5.7 Aplica¸ c˜ ao da Transformada de hough . . . . 65
5.8 Refinamento da transformada de Hough . . . . 67
6.1 Pontos na imagem. . . . 75
6.2 Erro de reproje¸ c˜ ao cˆ amara esquerda pelo algoritmo 8 pontos. 76 6.3 Erro de reproje¸ c˜ ao para a cˆ amara direita pelo algoritmo 8 pontos. . . . 76
6.4 Erro de triangula¸ c˜ ao algoritmo 8 pontos. . . . 77
6.5 Erro de reproje¸ c˜ ao cˆ amara esquerda. . . . 78
6.6 Dispers˜ ao erro cˆ amara esquerda. . . . 79
6.7 Erro de reproje¸ c˜ ao em x e y cˆ amara esquerda. . . . 79
6.8 Norma do erro de reproje¸ c˜ ao esquerda. . . . 80
6.9 Reproje¸ c˜ ao cˆ amara direita. . . . . 80
6.10 Dispers˜ ao do erro cˆ amara direita. . . . 81
6.11 Erro de de reproje¸ c˜ ao em x e y para a cˆ amara direita. . . . . 81
6.12 Norma do erro de reproje¸ c˜ ao para a cˆ amara direita. . . . . . 82
6.13 Dispers˜ ao do erro de triangula¸ c˜ ao stereo. . . . 82
LISTA DE FIGURAS xi
6.14 Erro de triangula¸ c˜ ao stereo, componente x. . . . . 83
6.15 Erro de triangula¸ c˜ ao stereo, componente y. . . . . 83
6.16 Erro de triangula¸ c˜ ao stereo, componente z. . . . . 84
6.17 Norma erro de triangula¸ c˜ ao stereo. . . . 84
6.18 representa¸ c˜ ao dos pontos 3D. . . . 85
6.19 Erro de reproje¸ c˜ ao cˆ amara esquerda. . . . 87
6.20 Erro de reproje¸ c˜ ao cˆ amara direita. . . . 88
6.21 Erro de triangula¸ c˜ ao stereo. . . . 89
6.22 Erro de triangula¸ c˜ ao stereo m´ edio. . . . 90
6.23 Erro calibra¸ c˜ ao - pontos fuga - rota¸ c˜ ao cˆ amara esquerda, yaw pitch roll. . . . 91
6.24 Erro calibra¸c˜ ao - pontos fuga - rota¸ c˜ ao cˆ amara direita, yaw roll pitch. . . . 91
6.25 Erro calibra¸ c˜ ao - pontos fuga - transla¸ c˜ ao cˆ amara esquerda, T
x,T
ye T
z. . . . . 92
6.26 Erro calibra¸ c˜ ao - pontos fuga - transla¸ c˜ ao cˆ amara direita, , T
x, T
ye T
z. . . . 92
6.27 Erro calibra¸ c˜ ao - homografia - rota¸ c˜ ao cˆ amara esquerda, yaw roll pitch. . . . 93
6.28 Erro calibra¸ c˜ ao - homografia - rota¸ c˜ ao cˆ amara direita, yaw pitch roll. . . . 94
6.29 Erro calibra¸ c˜ ao - homografia - transla¸ c˜ ao cˆ amara esquerda, T
x, T
ye T
z. . . . 94
6.30 Erro calibra¸ c˜ ao - homografia - transla¸ c˜ ao cˆ amara direita, T
x,
T
ye T
z. . . . 95
Esta p´ agina foi intencionalmente deixada em branco.
Lista de Tabelas
3.1 Solu¸ c˜ oes obtidas pela decomposi¸ c˜ ao de homografia . . . . 45
6.1 Pontos mundo. . . . 74
6.2 Compara¸ c˜ ao de parˆ ametros extr´ınsecos . . . . 86
6.3 Compara¸ c˜ ao de parˆ ametros extr´ınsecos . . . . 88
Esta p´ agina foi intencionalmente deixada em branco.
Lista de Acr´ onimos
LSA Laborat´ orio de Sistemas Aut´ onomos
ISEP Instituto Superior de Engenharia do Porto ROS Robot Operating system
XML eXtensible Markup Language
OpenCV Open source Computer Vision library
FPS Frames Per Second
MSL Middle Size League
USLB Ultra Short BaseLine
GPS Global Position System
MOCAP MOtion CAPture POE Power Over Ethernet PCL Point Cloud Library
SVD Singular Value Decomposition PPS Pulse per second
SPL Standard Platform League
MSL Middle Size League
xvi LISTA DE TABELAS
FOV Field Of View
Cap´ıtulo 1
Introdu¸ c˜ ao
Esta disserta¸ c˜ ao surge no ˆ ambito do Mestrado em Engenharia Eletrot´ ecnica e Computadores, ramo de Sistemas aut´ onomos do Instituto Superior de En- genharia do Porto (ISEP), enquadrando-se nas atividades de I&D do Labo- rat´ orio de Sistemas Aut´ onomos em rob´ otica m´ ovel.
A localiza¸c˜ ao simultˆ anea de m´ ultiplos alvos, tais como ve´ıculos robotiza- dos, em movimento tem-se revelado um problema com o qual a comunidade rob´ otica, ` a escala mundial, se tem deparado desde os prim´ ordios do desen- volvimento de sistemas Aut´ onomos.
A monitoriza¸ c˜ ao de trajet´ orias robˆ os e outros objetos de interesse relati- vos ao cen´ ario de opera¸c˜ ao tem-se demonstrado uma estrat´ egia crucial para o desenvolvimento de t´ ecnicas de navega¸ c˜ ao e avalia¸ c˜ ao das mesmas. Ulti- mamente ´ e recorrente a utiliza¸ c˜ ao de cˆ amaras de espectro vis´ıvel para dar resposta a esta necessidade. Atrav´ es da dete¸ c˜ ao dos objetos de interesse tais como ve´ıculos aut´ onomos ou outros objetos do meio envolvente. A utiliza¸ c˜ ao de t´ ecnicas multi-cˆ amara pode, ent˜ ao, demonstrar-se uma t´ ecnica vantajosa, com n´ıveis de precis˜ ao/exatid˜ ao na localiza¸ c˜ ao de objetos bastante atrativos.
Este trabalho visa o desenvolvimento de t´ ecnicas de calibra¸c˜ ao para siste-
mas de vis˜ ao computacional multi-cˆ amara, para localiza¸ c˜ ao e seguimento de
m´ ultiplos ve´ıculos rob´ oticos ou outros objetos de interesse. Este destinam-
1.1. Enquadramento e Motiva¸ c˜ ao Cap´ıtulo 1
se a ser aplicados em cen´ arios de opera¸ c˜ ao multi-rob´ oticos. Assim sendo ´ e pretendido que a calibra¸ c˜ ao do sistema seja efetuada de uma forma eficiente automatizada.
1.1 Enquadramento e Motiva¸ c˜ ao
Ao longo dos ´ ultimos anos o LSA/ISEP tem vindo a desenvolver in´ umeros sistemas rob´ oticos para atua¸ c˜ ao em diversos cen´ arios tais como, a´ ereos[31], mar´ıtimos [32] e terrestres[29]. Desta forma, surgiu a necessidade da cria¸ c˜ ao de um sistema para localiza¸ c˜ ao e seguimento de m´ ultiplos robˆ os ou outros objetos que sejam parte do cen´ ario de opera¸ c˜ ao. A solu¸ c˜ ao desenvolvida ir´ a fornecer informa¸c˜ ao externa de posicionamento que pode ser utilizada para aferir da qualidade de algoritmos de navega¸ c˜ ao ou para avaliar de forma independente o comportamento dos sistemas rob´ oticos.
A utiliza¸ c˜ ao de sistemas multi-cˆ amara para tracking de ve´ıculos aut´ onomos predomina sobre outros devido ` a grande quantidade de informa¸c˜ ao captu- rada do meio no qual est˜ ao inseridos. Com os progressos feitos nos ´ ultimos anos relativos ao desenvolvimento do poder computacional a aplica¸c˜ ao de t´ ecnicas de vis˜ ao artificial pode ser aplicada a um crescente numero de aplica¸ c˜ oes sem que para tal seja posto em causa a fidelidade do sistema.
Como solu¸ c˜ ao ao problema abordado a utiliza¸ c˜ ao de sistemas de ground- truth baseados em vis˜ ao tem-se revelado uma solu¸ c˜ ao que apresenta resul- tados satisfat´ orios face a outros m´ etodos de localiza¸ c˜ ao e seguimento de objetos.
No referido tipo de sistemas um dos grandes desafios do ponto de vista
de precis˜ ao/exatid˜ ao dos mesmos assenta sobre processo de calibra¸c˜ ao do
parˆ ametros extr´ınsecos do sistema. Este problema ´ e foco principal do pre-
sente trabalho, nomeadamente no desenvolvimento, implementa¸ c˜ ao , teste
e valida¸ c˜ ao de algoritmos que permitam a auto calibra¸ c˜ ao de m´ ultiplas
cˆ amaras posicionadas em locais distintos. Assim sendo, a solu¸ c˜ ao desen-
Cap´ıtulo 1 1.1. Enquadramento e Motiva¸ c˜ ao
volvida endere¸ca este problema atrav´ es do desenvolvimento de uma fer- ramenta de calibra¸ c˜ ao autom´ atica para sistemas de vis˜ ao computacional multi-cˆ amara que torne vers´ atil o processo de calibra¸c˜ ao do sistema para cada experiˆ encia. Esta dever´ a ser pass´ıvel de utiliza¸ c˜ ao quer em cen´ arios interiores ou exteriores, para aplica¸ c˜ ao em diferentes meios de opera¸ c˜ ao tais como a´ ereos ou terrestres e at´ e mesmo em cen´ arios onde seja necess´ aria a localiza¸ c˜ ao de objetos subaqu´ aticos.
Esta calibra¸ c˜ ao envolve v´ arios problemas desde a calibra¸ c˜ ao dos parˆ ametros intr´ınsecos de cada cˆ amara ` a obten¸ c˜ ao exata quero do posicionamento re- lativo entre as mesmas, quer do posicionamento de cada uma das cˆ amaras face ao referencial global. Esta ultima quest˜ ao, geralmente designada de ob- ten¸c˜ ao de parˆ ametros extr´ınsecos, revela-se a mais problem´ atica tendo em conta a precis˜ ao exigida assim como a complexidade para sua calibra¸c˜ ao em sistemas multi-cˆ amara.
A automatiza¸ c˜ ao do processo de calibra¸ c˜ ao do posicionamento relativo das cˆ amaras face ao ambiente tendem a gerar solu¸ c˜ oes de elevada precis˜ ao com redu¸c˜ ao significativa do tempo de util para a calibra¸c˜ ao. De outra forma recorrendo a um processo manual, a qualidade/exatid˜ ao obtida est´ a dependente do procedimento efetuado pelo utilizador, sendo que esta remete para que sejam cometidos erros sistem´ atico.
Por forma a que seja poss´ıvel a obten¸ c˜ ao de resultados coerentes com
outras fontes de informa¸ c˜ ao que se pretendem analisar, em qualquer sistema
com abordagem multi-sensorial levanta-se a quest˜ ao de sincronismo entre
os sensores. Uma das solu¸ c˜ oes encontradas para garantir o sincronismo da
aquisi¸c˜ ao de imagem ´ e a utiliza¸ c˜ ao de disparo por hardware. Este dispositivo
tem como fun¸ c˜ ao principal dar a ordem de disparo das cˆ amaras no mesmo
instante temporal para que assim seja poss´ıvel da posi¸c˜ ao dos objetos por
triangula¸ c˜ ao. Os principais cen´ arios para a aplica¸ c˜ ao desenvolvida est˜ ao
presentes no laborat´ orio de sistemas aut´ onomos, sendo estes o campo de
1.2. Objetivos Cap´ıtulo 1
futebol rob´ otico de m´ edio e o tanque de experiˆ encias para ve´ıculos aqu´ aticos.
A utiliza¸ c˜ ao do sistema de ground truth no campo de futebol rob´ otico m´ edio [5] tem por objetivos a obten¸ c˜ ao de resultados que permita melhorar aspetos como o controlo, ou a coordena¸ c˜ ao coletiva da equipa levando ao desenvolvimento de t´ aticas de jogo coletivo. O campo de futebol rob´ otico m´ edio pode tamb´ em ser cen´ ario de experiˆ encias de outros ve´ıculos rob´ oticos devido ao amplo espa¸ co dispon´ıvel. No campo de futebol rob´ otico m´ edio s˜ ao s˜ ao disponibilizados para a realiza¸ c˜ ao de experiencia cerca de 20 metros de comprimento, 15 metros de largura e mais de 7 metros de altura totalizando, assim, uma ´ area de trabalho ´ util de cerca de 300 metros quadrados para a realiza¸ c˜ ao de experiˆ encias de ve´ıculos terrestres ou at´ e mesmo a´ ereos.
Para o cen´ ario do tanque, o sistema em quest˜ ao ´ e respons´ avel pela moni- toriza¸c˜ ao de manobras efetuadas por ve´ıculos subaqu´ aticos a fim de avaliar as trajet´ orias efetuadas por estes, como sistema externo de referˆ encia para realimenta¸ c˜ ao da posi¸ c˜ ao para controlo de trajet´ oria do ve´ıculo. As ex- periˆ encias a desenvolver podem ser in´ umeras sendo as dimens˜ oes do tanque de 11 metros de comprimento, 6 metros de largura e 5 metros de profundi- dade.
1.2 Objetivos
Nesta disserta¸ c˜ ao ´ e abordado o problema de dete¸c˜ ao e seguimento de m´ ultiplos objetos em movimento de forma simultˆ anea e em tempo real. A principal quest˜ ao a resolver consiste na calibra¸ c˜ ao de um sistema multi- cˆ amara para cumprir estas fun¸ c˜ oes. Deste modo, com o desenvolvimento desta disserta¸ c˜ ao os objetivos que se pretendem atingir s˜ ao:
1. Desenvolver um conjunto de m´ etodos de calibra¸ c˜ ao, para um sistema
com m´ ultiplas cˆ amaras, para integra¸ c˜ ao em ferramenta de calibra¸ c˜ ao
autom´ atica, requerendo a menor intera¸ c˜ ao poss´ıvel por parte do utili-
Cap´ıtulo 1 1.3. organiza¸c˜ ao da disserta¸ c˜ ao
zador, de forma a funcionar nos diversos cen´ arios de aplica¸ c˜ ao: interi- ores, exteriores, terrestres, subaqu´ aticos ou a´ ereos;
2. Implementa¸ c˜ ao de Setup experimental necess´ ario para efetuar os testes e valida¸ c˜ ao dos m´ etodos de calibra¸ c˜ ao desenvolvidos:
(a) Instala¸ c˜ ao e calibra¸ c˜ ao dos parˆ ametros intr´ınsecos de m´ ultiplas cˆ amaras;
(b) Desenvolver software para a configura¸ c˜ ao e controlo dos parˆ ametros de aquisi¸ c˜ ao das cˆ amaras em Robot Operating System ROS;
(c) Desenvolver infra-estrutura de controlo de disparo e software para a aquisi¸ c˜ ao sincronizada e o correto registo de imagens proveni- entes de m´ ultiplas cˆ amaras
3. Projetar e efetuar um vetor de testes para a valida¸ c˜ ao experimental, caracteriza¸c˜ ao e compara¸c˜ ao dos m´ etodos desenvolvidos
1.3 organiza¸ c˜ ao da disserta¸ c˜ ao
No presente subcap´ıtulo ´ e apresentada a estrutura organizacional desta
disserta¸c˜ ao, a mesma est´ a organizada em 7 cap´ıtulos. No capitulo 2 ser´ a
apresentado o estado da arte com apresentadas algumas solu¸c˜ oes para a
calibra¸c˜ ao de sistemas multi-cˆ amara. No capitulo 3 s˜ ao apresentados os
fundamentos te´ oricos que est˜ ao na base do desenvolvimento do presente do-
cumento. Seguidamente, pelo capitulo 4 cont´ em o projeto do trabalho onde
foi descrita a arquitetura do sistema. Pelo capitulo 5, ´ e demonstrado a imple-
menta¸c˜ ao efetuada, desde a instala¸ c˜ ao de hardware at´ e ` a implementa¸c˜ ao da
calibra¸c˜ ao das cˆ amaras. De seguida pelo capitulo 6 s˜ ao apresentados os re-
sultados obtidos para a implementa¸ c˜ ao dos diferentes m´ etodos. Por ultimo,
no capitulo 7 s˜ ao apresentadas algumas conclus˜ oes sobre a implementa¸ c˜ ao
do sistema de Ground truth.
Esta p´ agina foi intencionalmente deixada em branco.
Cap´ıtulo 2
Estado da Arte
Para o desenvolvimento de um projeto de ˆ ambito cient´ıfico como o pro- jeto desenvolvido com o objetivo desta disserta¸ c˜ ao, ´ e fundamental o conheci- mento pr´ evio de t´ ecnicas e tecnologias para que seja encontrada uma solu¸ c˜ ao otimizada para o desempenho da tarefa em quest˜ ao. Desta forma, s˜ ao apre- sentadas algumas das solu¸ c˜ oes existentes para localiza¸ c˜ ao e seguimento de objetos.
2.1 Sistemas de dete¸ c˜ ao e localiza¸ c˜ ao: comerciais
Existem algumas solu¸ c˜ oes para a para a dete¸ c˜ ao e localiza¸ c˜ ao de objetos em determinados cen´ ario. Estes m´ etodos s˜ ao habitualmente designadas por motion capture(MOCAP).
2.1.1 Vicon
A Vicon [4] ´ e uma empresa especializada na an´ alise de movimento atrav´ es
de vis˜ ao, que apresenta diversas solu¸ c˜ oes comerciais para o seguimento e
a reconstru¸ c˜ ao 3D de objetos baseada em marcadores, passivos. As suas
aplica¸ c˜ oes podem ser variadas desde a an´ alise do desempenho de atletas de
alta competi¸ c˜ ao em atividades desportivas, por exemplo em atletismo; em
2.1. Sistemas de dete¸c˜ ao e localiza¸ c˜ ao: comerciais Cap´ıtulo 2
estudos cl´ınicos e biomecˆ anicos em centros de investiga¸c˜ ao como por exemplo na captura de movimento em 3D de estruturas como ve´ıculos aut´ onomos.
As solu¸ c˜ oes apresentadas pela Vicon s˜ ao contextualizadas para diferentes aplica¸ c˜ oes especificas. Assim, as solu¸ c˜ oes dispon´ıveis incluem: Tracker[49], Blade 3 [40], Nexus 2 [42], BodyBuilder [41], Polygonon 4 citePolygon4, Vicon Motus V´ıdeo [46], Vicon Bonita [19], entre outros. Estes sistemas tipicamente requerem a utiliza¸ c˜ ao de um elevado n´ umero de cˆ amaras o que torna o sistema dispendioso do ponto de vista financeiro. Outro das des- vantagens deste tipo de sistemas ´ e o facto de recorrem a marcadores de sinaliza¸ c˜ ao colocados nos objetos a localizar, tipicamente estes marcado- res s˜ ao passivos, refletores ou leds, infravermelhos, o que em alguns casos se revela uma interferˆ encia consider´ avel ao cen´ ario de opera¸ c˜ ao dos robˆ os.
Os sistemas Vicon s˜ ao tamb´ em aplicados ` a rob´ otica como ´ e o caso da ”The Flying Machine Arena ”[26], este projeto visa a implementa¸ c˜ ao de um espa¸co de testes para ve´ıculos aut´ onomos , terrestres e a´ ereos, com dimens˜ oes de 10×10×10 metros. Este sistema tem a capacidade de seguir e localizar di- versos ve´ıculos em tempo real com um erro aproximado de um mil´ımetro.
Semelhante a esta aplica¸ c˜ ao temos tamb´ em o trabalho de ˆ ambito cientifico desenvolvido no Center for Advanced Aerospace Technologies (CATEC) [36]
com o intuito de avaliar diferentes sistemas de posicionamento e a forma em que estes afetam a precis˜ ao dos Modelos Digitais de Eleva¸ c˜ ao gerados a partir de imagens a´ ereas obtidas com ve´ıculos a´ ereos n˜ ao tripulados. Neste caso o sistema VICON tinha o papel de fornecer a posi¸ c˜ ao que serviria como compara¸c˜ ao aos diferentes modelos com a utiliza¸ c˜ ao de diversos sensores. No ˆ
ambito do controlo de ve´ıculos em cen´ arios interiores com m´ ultiplos pisos
surge o trabalho desenvolvido por Vijay Kumar [38]. Seguidamente, ser˜ ao
apresentados algumas solu¸ c˜ oes comercializadas pela Vicon.
Cap´ıtulo 2 2.1. Sistemas de dete¸ c˜ ao e localiza¸c˜ ao: comerciais Vicon Tracker
Esta solu¸ c˜ ao aplica-se, principalmente, para solu¸ c˜ oes de seguimento de objetos em 3D ou 2D at´ e 6 graus de liberdade atrav´ es de nuvens de mar- cadores com recurso a fus˜ ao de informa¸ c˜ ao 3D e 2D por forma a obter ele- vada precis˜ ao nas medidas [49]. Permite facilmente a integra¸ c˜ ao de outras aplica¸ c˜ oes de 3D tais como VirTools
1, Labview [22], Open Scene Graph [33], WorldViz [53], Panda3D [18] and VR Juggler [11] para que seja efetuada a manipula¸ c˜ ao de resultados da forma mais conveniente. Tem a capacidade de seguir at´ e cinquenta objetos em simultˆ aneo, por exemplo em aplica¸ c˜ oes de realidade virtual. Outra das principais aplica¸ c˜ oes consiste no seguimento do olho humano tal como utilizado na implementa¸c˜ ao do sistema Dikablis Eye Tracking[1].
Figura 2.1: Exemplo de utiliza¸ c˜ ao de VICON tracker.
Vicon Pegasus
Esta solu¸ c˜ ao de software foi desenvolvida em coopera¸ c˜ ao com IKinema [2] com o intuito de ser utilizada para aplica¸ c˜ oes de MOtion CAPture (MO- CAP) . Esta solu¸ c˜ ao ´ e apresentada como solu¸ c˜ ao para desenvolvimento de
1
http://www.3ds.com/products-services/3dvia/3dvia-virtools/, consultado em 01-11-
2014
2.1. Sistemas de dete¸c˜ ao e localiza¸ c˜ ao: comerciais Cap´ıtulo 2
jogos de v´ıdeo assim como para a ind´ ustria como ´ e o caso da cinematogr´ afica para produ¸ c˜ ao de filmes de anima¸ c˜ ao e efeitos especiais, tal como se pode observar na figura 2.2.
Figura 2.2: Exemplo de produ¸ c˜ ao de anima¸ c˜ ao com Vicon Pegasus.
Esta ferramenta ´ e apresentada como sendo de f´ acil utiliza¸c˜ ao para qual- quer utilizador no manuseamento dos dados apresentados e est´ a vocacionada para utiliza¸c˜ ao com o sistema Vicon Blade [40], fazendo assim com que os seus utilizadores consigam que o processo de produ¸c˜ ao de anima¸ c˜ oes seja mais eficiente, reduzindo custos e tempo.
Vicon Bonita
Sistema de alta resolu¸ c˜ ao com captura de imagem at´ e 1 Mpixel e com
frequˆ encia de aquisi¸ c˜ ao at´ e 250 fotogramas por segundo. Este ´ e capaz de
capturar objetos com erro de transla¸ c˜ ao inferior a 0.5 mm e com erro de
rota¸c˜ ao inferior a 0.5 graus recorrendo ` a utiliza¸ c˜ ao de 9 marcadores. Este
pode ser facilmente montado. Este sistema pode ser calibrado em menos de
2 minutos com a utiliza¸ c˜ ao de um kit desenvolvido para o efeito.
Cap´ıtulo 2 2.1. Sistemas de dete¸ c˜ ao e localiza¸c˜ ao: comerciais
Figura 2.3: Camera Vicon Bonita B10.
Figura 2.4: Ferramenta de cali- bra¸ c˜ ao Vicon.
2.1.2 Optotrack
O Optotrak ´ e um sistema ´ otico ativo [3] capaz de obter as coordenadas
3D de LEDs de infravermelhos (IRLEDs) usados como fontes de energia. S˜ ao
necess´ arios pelo menos 3 IRLEDs para determinar a posi¸ c˜ ao e orienta¸ c˜ ao do
objeto de corpo r´ıgido em causa, a frequˆ encia m´ axima para os marcadores
de 4600 Hz e de identificar at´ e 512 marcadores em simultˆ aneo. ´ E poss´ıvel
o controlo dos LEDs sem fios, op¸ c˜ ao extra atrav´ es do Tether less Kit, ou
usando cabos. O pacote base Optotrak ´ e formado pelo Optotrak Certus
Position Sensor (sensor ´ otico constitu´ıdo por 3 cˆ amaras numa estrutura fixa),
o System Control Unit, com a finalidade de controlo do hardware, o Markers
Strobers, para activa¸ c˜ ao dos IRLEDs que suporta at´ e 24 LEDs, e o sistema
First Principle software da NDI para aquisi¸ c˜ ao, manipula¸ c˜ ao e apresenta¸ c˜ ao
dos resultados obtidos, convers˜ ao de ficheiros de dados, entre outros. O
Optotrak ´ e um sistema que permite o c´ alculo das coordenadas 3D, n˜ ao tem
por objetivo o c´ alculo da cinem´ atica ou cin´ etica do movimento. Note-se que
existe ainda um dispositivo de ativa¸ c˜ ao dos IRLEDs capaz de suportar 80
marcas ativas, o Axon Strober, e tamb´ em ´ e poss´ıvel usar diversos conjuntos
de Markers Strobers em simultˆ aneo. Existe ainda o m´ odulo Application
Programmer Interface que permite o controlo e o acesso aos dados do sistema
Optotrak e do Optotrak Data Acquisition Unit - dispositivo com 16 canais
2.2. Solu¸ c˜ oes open source de estima¸ c˜ ao de posi¸ c˜ ao de objetos Cap´ıtulo 2
anal´ ogicos e 8 digitais.
Figura 2.5: Sistema Optotrack.
2.2 Solu¸ c˜ oes open source de estima¸ c˜ ao de posi¸ c˜ ao de objetos
2.2.1 SSL-Vision
Este sistema de dete¸ c˜ ao e localiza¸ c˜ ao [55] surgiu da necessidade de en- contrar uma solu¸ c˜ ao comum para todas as equipas presentes na competi¸ c˜ ao da Robocup, Small Size League [50], visto que at´ e ` a implementa¸c˜ ao desta solu¸c˜ ao cada uma das equipas pussuia os pr´ oprios sistemas de estima¸c˜ ao da posi¸ c˜ ao dos robˆ os no campo. Desta forma, este sistema veio solucionar estes problemas resolvendo as incapacidades relacionadas com vis˜ ao nesta com- peti¸ c˜ ao podendo esta englobar v´ arias cˆ amaras em diferentes configura¸ c˜ oes.
Esta ferramenta recorre ` a utiliza¸ c˜ ao de abordagens multi-threaded de modo
a sistematizar as necessidades atuais de processamento multicore e hyper-
threaded. A solu¸ c˜ ao SSL-Vision efetua a dete¸ c˜ ao das marcas de cor dos robˆ os
com recurso ` a biblioteca CMVision [13].
Cap´ıtulo 2 2.2. Solu¸ c˜ oes open source de estima¸ c˜ ao de posi¸ c˜ ao de objetos
Calibra¸ c˜ ao
Neste sistema s˜ ao utilizadas tipicamente duas cˆ amaras, uma para cada metade do campo, que precisam ser calibradas de forma a obter uma rela¸ c˜ ao entre os pontos 3D do campo e os pontos 2D da imagem. Por forma a obter a efetuar a calibra¸ c˜ ao, o problema foi abordado como um problema de minimiza¸ c˜ ao, na equa¸ c˜ ao 2.1, [55].
4
X
i=1
|m
i− h(M
i, q, t, f, u
0, v
0, k)|
2(2.1)
Em que m
icorresponde aos pontos 2D no plano da imagem, e a fun¸ c˜ ao h representa os pontos 3D do plano do campo projetados para o plano da imagem. Desta forma a diferen¸ ca entre ambos representa o erro em pix´ eis entre os pontos 2D e os pontos 3D projetados. A fun¸ c˜ ao h tem como parˆ ametros de entrada os pontos 3D, M
i, q e t representam respetivamente a rota¸c˜ ao e transla¸c˜ ao entre a cˆ amara e o campo, f a distˆ ancia focal, u
0e v
0o centro ´ otico da imagem e k os parˆ ametros de distor¸ c˜ ao radial. Com o objetivo de refinar a calibra¸ c˜ ao obtida ´ e elaborado um m´ etodo baseado na dete¸c˜ ao de fronteiras de cor, das linhas de marca¸ c˜ ao e o campo. Por forma a melhorar a calibra¸ c˜ ao ser´ a agora somado ao erro de minimiza¸ c˜ ao anterior a nova componente de erro entre a proje¸ c˜ ao das linhas do campo e as linhas detetadas na imagem. Este m´ etodo induz a que seja otimizado o parˆ ametro, α, em cada medida em fun¸ c˜ ao do ponto medido e sua proje¸ c˜ ao para o plano de imagem. A nova formula¸c˜ ao ´ e apresentada na equa¸c˜ ao 2.2, [55].
4
X
i=1
|m
i− h(M
i, p)|
2+
4
X
i=1
|m
i− h(α
iL
i,1+ (1 − α
iL
i,2), p|
2(2.2)
Sendo,2.2 , L
i,1eL
i,2os segmentos de reta e α
ie a posi¸c˜ ao atual na medida
i. Devido ao facto de este sistema utilizar uma abordagem monocular os
resultados dos objetos seguidos s˜ ao medidas 2D dos mesmos no espa¸ co. Por
2.2. Solu¸ c˜ oes open source de estima¸ c˜ ao de posi¸ c˜ ao de objetos Cap´ıtulo 2
este facto tamb´ em a transla¸ c˜ ao da cˆ amara no eixo zz, altura, ´ e retirada ma- nualmente, desta forma este parˆ ametro n˜ ao ser´ a obtido pelo m´ etodo acima descrito.
Dete¸ c˜ ao e localiza¸ c˜ ao de objetos
Para dete¸ c˜ ao de padr˜ oes como os que est˜ ao colocados sobre os robˆ os foi adotada a biblioteca CMDragon [14]. Atrav´ es da mesma ´ e poss´ıvel detetar a bola bem como outros padr˜ oes que podem ser configurados na aplica¸ c˜ ao para posteriormente serem detetados. Ap´ os ser conhecida a informa¸ c˜ ao no plano da imagem torna-se poss´ıvel a determina¸ c˜ ao da posi¸ c˜ ao e orienta¸ c˜ ao dos robˆ os, no campo, bem como a posi¸ c˜ ao da bola. Este m´ etodo foi estendido segundo o artigo [35] para a competi¸ c˜ ao da RoboCup Standard Platform League (SPL), e para a Middle Size League(MSL) por [43]
2.2.2 Kinect ground truth
O desenvolvimento deste projeto[24] tem como foco principal a conce¸c˜ ao de um sistema de ground truth de baixo custo para aplica¸ c˜ ao geral em todas as competi¸ c˜ oes da RoboCup. Assim pretende-se que este sistema seja facil- mente transportado para as competi¸ c˜ oes, ou campos de treino das equipas, para que fosse capaz de detetar e localizar os robˆ os em tempo real sem re- curso a marcadores e ainda que seja f´ acil de calibrar. A solu¸c˜ ao desenvolvida foi aplicada na competi¸ c˜ ao RoboCup SPL [15] como sistema ground truth dos robˆ os NAO da empresa Aldebaran [34]. Com a utiliza¸c˜ ao do sensor desenvolvido pela Microsoft na consola X-Box360, este tipo de sensores, ti- picamente conhecidos como RGB-D, s˜ ao capazes de capturar imagem a cores (RGB) e relacion´ a-la com a profundidade dos pix´ eis capturados (D, depth ).
O campo de vis˜ ao desta cˆ amara ´ e de 57
◦na horizontal e de 43
◦na vertical. A
profundidade dos pontos obtidos varia entre 0.7 m e 7 m consoante os testes
realizados.
Cap´ıtulo 2 2.2. Solu¸ c˜ oes open source de estima¸ c˜ ao de posi¸ c˜ ao de objetos
A implementa¸ c˜ ao deste sensor foi elaborada com recurso ` a utiliza¸ c˜ ao de ROS devido ao facto de esta framework disponibilizar v´ arios driver para o sensor em quest˜ ao, assim como outras funcionalidades para o tratamento dos dados tais como o Point Cloud Library (PCL).
Calibra¸ c˜ ao do sistema
O procedimento de calibra¸ c˜ ao consiste no c´ alculo da rota¸ c˜ ao e transla¸ c˜ ao relativas entre o referencial do campo e o referencial da cˆ amara. Por forma a elaborar este procedimento s˜ ao colocadas v´ arias marcas pelo campo em posi¸ c˜ oes conhecidas ou de f´ acil obten¸ c˜ ao pelas medidas oficiais do campo tal como demonstrado pela figura 2.6. Para concluir o procedimento de ca-
Figura 2.6: Esquerda, podem ser observados os pontos marcados no Campo para a calibra¸c˜ ao. Direita, exemplo da posi¸ c˜ ao dos referenciais do campo, e do sensor kinect, ref
kinect.
libra¸ c˜ ao ´ e necess´ ario que seja estabelecida a correspondˆ encia entre os pon- tos no plano no referencial global, j´ a conhecidos, e os pontos no plano da imagem. Para tal, o utilizador dever´ a marcar os pontos na imagem ma- nualmente. Desta forma, ´ e poss´ıvel calcular a homogradia que possibilita que sejam relacionados os pontos 3D no plano do campo com os pontos 2D no plano da imagem. Atrav´ es da decomposi¸ c˜ ao desta transforma¸ c˜ ao
´ e poss´ıvel obter os parˆ ametros de movimento de corpo r´ıgido, rota¸ c˜ ao e
transla¸ c˜ ao. Para tal foi aplicado o m´ etodo apresentado por [9]. Conside-
2.2. Solu¸ c˜ oes open source de estima¸ c˜ ao de posi¸ c˜ ao de objetos Cap´ıtulo 2
rando H a transforma¸c˜ ao, o primeiro passo come¸ca por decompor a matriz em 3 outras matrizes, U, Λ, V , com recurso ao m´ etodo de Singular Value Decomposition (SVD), na equa¸ c˜ ao 2.3 :
[U, Λ, V
T] = SV D(H) (2.3) A rota¸ c˜ ao pode ser obtida a partir de duas das matrizes resultantes, na equa¸ c˜ ao 2.4:
R = V × U
T(2.4)
Existem situa¸ c˜ oes que podem acontecer no c´ alculo da rota¸ c˜ ao tal como quando o determinante da matriz R ´ e -1 indica que existe uma reflex˜ ao na matriz de rota¸c˜ ao calculada. De forma a solucionar este problema dever´ a ser feita a simetria da terceira coluna da matriz H. J´ a a transla¸ c˜ ao pode ser calculada na equa¸ c˜ ao 2.5:
T = P
refkinect− R × P
refcampo(2.5)
Nesta etapa o sistema encontra-se j´ a calibrado em rela¸ c˜ ao ao campo, ou seja, torna-se poss´ıvel apresentar as medidas no referencial do campo.
Dete¸ c˜ ao de robˆ os
A primeira etapa na dete¸ c˜ ao de robˆ os ´ e a filtragem de poss´ıveis pontos de interesse. O primeiro crit´ erio de sele¸ c˜ ao ´ e a altura m´ axima dos pontos, sendo que s˜ ao exclu´ıdos os pontos com menos de 30 cm. O outro crit´ erio de sele¸c˜ ao dos pontos trata-se da delimita¸ c˜ ao da ´ area de pesquisa ao campo, excluindo a pequena ´ area, local onde n˜ ao ´ e permitido estar nenhum robˆ o.
Ap´ os esta filtragem os pontos s˜ ao agrupados em conjuntos, clusters, no
espa¸co 3D segundo diversos parˆ ametros para que seja obtido um cluster por
cada robˆ o. Os parˆ ametros de forma¸ c˜ ao de clusters s˜ ao a distˆ ancia m´ axima
Cap´ıtulo 2 2.3. Calibra¸ c˜ ao de sistemas de vis˜ ao multi-cˆ amara
de 10 cm de um ponto ao vizinho mais pr´ oximo do cluster em quest˜ ao e cada cluster deve conter pelo menos 200 pontos. Nos clusters formados s˜ ao exclu´ıdos os pontos com mais de 70 cm de altura visto que os robots apenas possuem 58 cm de altura. Quando dois robots est˜ ao pr´ oximos s˜ ao aplicadas restri¸ c˜ oes no tamanho para separar o cluster formado onde est˜ ao englobados os dois robˆ os em dois clusters distintos, um para cada um dos robˆ os.
Dete¸ c˜ ao de bola
O algoritmo implementado para dete¸ c˜ ao da bola ´ e similar ao anterior, para dete¸ c˜ ao dos robˆ os, tal como ´ e evidenciado, abaixo:
• apenas s˜ ao considerados os pontos dentro do campo;
• a altura de pesquisa est´ a restrita a 15 cm;
• os pontos de interesse devem ser de cor laranja;
• a distˆ ancia de um ponto ao ponto mais pr´ oximo do cluster considerado
´ e de 10 cm;
• o cluster formado deve ter no m´ınimo 10 pontos;
• os clusters devem ter tamanho semelhante no espa¸ co ao tamanho da bola.
• se mais que um cluster cumprir as restri¸ c˜ oes anteriores ser´ a avaliado o que satisfizer melhor os requisitos acima mencionados.
2.3 Calibra¸ c˜ ao de sistemas de vis˜ ao multi-cˆ amara
Nesta sec¸ c˜ ao ser˜ ao abordados algumas metodologias para a calibra¸ c˜ ao
de sistemas de vis˜ ao computacional.
2.3. Calibra¸c˜ ao de sistemas de vis˜ ao multi-cˆ amara Cap´ıtulo 2 2.3.1 Algoritmo de Tsai
A calibra¸ c˜ ao dos parˆ ametros intr´ınsecos permite a obten¸c˜ ao das carac- ter´ısticas f´ısicas da cˆ amara tais como a distancia focal, ponto principal e dis- tor¸ c˜ ao da lente. Estas apenas est˜ ao dependentes das pr´ opria cˆ amara/lente e na maioria dos casos variam at´ e mesmo em modelos similares. O m´ etodo utilizado para a determina¸ c˜ ao dos parˆ ametros intr´ınsecos foi desenvolvido por Roger Tsai[47]. Este m´ etodo consiste na aplica¸ c˜ ao de um padr˜ ao de xadrez a preto e branco, para facilitar a tarefa de dete¸ c˜ ao dos quadrados constituintes do mesmo. Desta forma ´ e poss´ıvel obter os pontos do mundo assumindo que s˜ ao conhecidas as dimens˜ oes dos quadrados, e que estes se encontram sempre ` a mesma distˆ ancia do referencial ´ otico. Na figura 2.7 s˜ ao mostrados vetores considerados para a obten¸ c˜ ao dos parˆ ametros intr´ınsecos atrav´ es do m´ etodo enunciado.
Figura 2.7: Algoritmo de Tsai.
No referido algoritmo ´ e assumido o modelo de proje¸ c˜ ao da cˆ amara, e
que independentemente da grandeza da distor¸ c˜ ao, a dire¸ c˜ ao do vetor O
iP
d,
Cap´ıtulo 2 2.3. Calibra¸ c˜ ao de sistemas de vis˜ ao multi-cˆ amara
vetor definido pela origem O
i, ponto principal, e pelo ponto P d com as respetivas coordenadas x
d, y
dno plano da imagem, mant´ em-se radialmente alinhado com o vetor P
OzP , vetor este formado assumindo que P ´ e o ponto a considerar no mundo e que P
Oz´ e a proje¸ c˜ ao do ponto principal no mundo com coordenadas (0,0,z)(a coordenada z deste ponto e igual ` a do ponto P ).
E considerado tamb´ ´ em que distˆ ancia focal, f , n˜ ao influencia a dire¸ c˜ ao do vetor O
iP
de que o ponto P no mundo ´ e transladado e rodado em X e Y , fazendo assim com que o vetor O
iP
dseja sempre paralelo ao vetor P
OzP para todos os pontos considerados.
2.3.2 Auto-calibra¸ c˜ ao de sistema multi-cˆ amara
Nesta subsec¸ c˜ ao ser´ a abordada a t´ ecnica de auto-calibra¸c˜ ao. Tomas Svo- boda apresentou em [45] um procedimento de calibra¸c˜ ao autom´ atica num cen´ ario de multi-cˆ amara. A t´ ecnica implementada apenas necessita da in- terven¸c˜ ao do utilizador para que este percorra o volume de trabalho com um marcador, por exemplo um laser ou um led. A escolha de um marcador luminoso tem por objetivo tornar a dete¸ c˜ ao do alvo o mais simplificada e precisa poss´ıvel. A dete¸c˜ ao est´ a a ser feita com precis˜ ao sub-pixel conse- guindo, desta forma, atingir erros de re-proje¸ c˜ ao inferiores a 1/5 de pixel.
Para apresenta¸c˜ ao deste algoritmo ser˜ ao consideradas m cˆ amaras e n pontos no espa¸co 3D representados por X
j= [X
j, Y
j, Z
j, 1]
T, j = 1...n, ser´ a con- siderado o modelo pinhole. Os pontos 3D ser˜ ao projetados para a imagem segundo a equa¸ c˜ ao 2.6
λ
ij
u
ijv
ij1
= λ
iju
ij= P
iX
j, λ
ij∈ R (2.6)
Onde P
icorresponde ` a matriz de proje¸ c˜ ao dos pontos 3D para a ima-
gem para a camara i, tem dimens˜ ao 3×4 engloba os parˆ ametros intr´ınsecos,
2.3. Calibra¸c˜ ao de sistemas de vis˜ ao multi-cˆ amara Cap´ıtulo 2
distˆ ancia focalponto principal da imagem, assim como a rota¸ c˜ ao e transla¸ c˜ ao entre a cˆ amara e o cen´ ario, parˆ ametros extr´ınsecos. As vari´ aveis u
ie v
icor- respondem ` as coordenadas dos pontos projetados na imagem para a camara i. Desta forma, o objetivo ´ e estimar a escala λ
ije a matriz projetiva P
i, para tal o problema ser´ a formulado pela equa¸ c˜ ao 2.7:
W
s=
λ
11
u
11v
111
... λ
1n
u
1nv
n11
.. . .. . .. .
λ
m1
u
m1v
1m1
... λ
mn
u
mnv
mn1
=
P
1.. . P
m
3m×4
h
X
1· · · X
ni
4×n
(2.7) Desta forma verifica-se que se forem obtidos pontos suficientes na imagem (u
ji, v
ij) e forem estimados os fatores de escala, λ
ji, podemos afirmar que a matriz W
stem 4 colunas linearmente independentes e estas podem ser fatorizadas em P e X [44]. A partir desta fatoriza¸ c˜ ao ´ e poss´ıvel formar a transforma¸ c˜ ao projetiva H pela equa¸ c˜ ao 2.8:
W
s= P X = P HH
−1X = ˆ P X ˆ (2.8) O processo de auto-calibra¸ c˜ ao calcula a matriz H por forma a que as matrizes ˆ
p X ˆ se tornem euclidianas, segundo o m´ etodo frequentemente chamado de estratifica¸c˜ ao euclidiana [20].
2.3.3 Homografia baseada pontos de fuga
Nesta sec¸ c˜ ao ´ e abordado o m´ etodo de homografia. Atrav´ es desta, ´ e esti-
mada a transforma¸ c˜ ao que relaciona o mesmo local no mundo entre imagens
Cap´ıtulo 2 2.3. Calibra¸ c˜ ao de sistemas de vis˜ ao multi-cˆ amara
com perspetivas diferentes do mesmo cen´ ario. O m´ etodo analizado nesta subsec¸ c˜ ao [39] tem como objetivo servir de apoio ` a navega¸ c˜ ao em cen´ arios urbanos visto que nestes casos a utiliza¸ c˜ ao de GPS torna-se ineficiente de- vido ` as estruturas que perturbam o sinal. Segundo o artigo [39] 95% da ´ area urbana da cidade de T´ oquio n˜ ao permite uma localiza¸ c˜ ao fi´ avel baseada em GPS. Este m´ etodo utiliza a t´ ecnica de linhas de fuga para a obten¸ c˜ ao dos pontos de fuga que v˜ ao permitir estabelecer a homografia. As linhas de fuga obtidas s˜ ao relativas a linhas presentes em estruturas no cen´ ario de a¸ c˜ ao, estas linhas devem ser paralelas entre si no mundo real. ` A luz da teoria da proje¸ c˜ ao perspetiva estas linhas v˜ ao-se intersetar num ponto denominado de ponto de fuga. Este m´ etodo requer que sejam calculados trˆ es pontos de fuga cada um relativo a cada uma das dimens˜ oes do espa¸co 3D. Para o c´ alculo dos pontos de fuga ´ e necess´ ario uma pr´ evia sele¸ c˜ ao das linhas de fuga que contribuir˜ ao para os mesmos. Estas s˜ ao agrupadas segundo a dire¸c˜ ao da sua fronteira, a sua orienta¸c˜ ao, consoante se localizem acima ou abaixo da linha do horizonte e a distˆ ancia entre o segmento e o seu ponto central, em coordenadas polares com distˆ ancia ` a origem ρ e ˆ angulo θ, que deu origem
`
a linha segundo a representa¸ c˜ ao de linha chamada de parametriza¸ c˜ ao nor- mal, Este ponto ser´ a novamente referido com mais detalhe na sec¸ c˜ ao 3.6 Este processo de agrupamento resulta num conjunto de linhas de fuga que correspondem a linhas paralelas no plano do mundo. A estima¸ c˜ ao do ponto de fuga foi formulada, na equa¸ c˜ ao 2.9, como um problema de minimiza¸c˜ ao onde se pretende minimizar a distˆ ancia de todas as linhas de fuga ao ponto de fuga a ser calculado:
min
x KX
k=1