estudo e avaliaÇÃo comparativa de tÉcnicas de visÃo estÉreo
Post on 08-Dec-2015
8 Views
Preview:
DESCRIPTION
TRANSCRIPT
FACULDADE LOURENÇO FILHO
LICHIERY SILVA
ESTUDO E AVALIAÇÃO COMPARATIVA DE TÉCNICAS DE VISÃO ESTÉREO
FORTALEZA – CE
2013
LICHIERY SILVA
ESTUDO E AVALIAÇÃO COMPARATIVA DE TÉCNICAS DE VISÃO ESTÉREO
Monografia apresentada à Coordenação do Curso de Bacharelado do Curso de Sistemas de Informação,como requisito parcial para
obtenção do grau de Bacharel em Sistemas de Informaçãoda Faculdade Lourenço Filho.
Orientador: Prof. D.Sc. Rodrigo Carvalho Souza Costa.
FORTALEZA, 2013
LICHIERY SILVA
ESTUDO E AVALIAÇÃO COMPARATIVA DE TÉCNICAS DE VISÃO ESTÉREO
Monografia apresentada à Coordenação do Curso de Sistemas de Informação
Aprovada em: ______/______/______
BANCA EXAMINADORA
_____________________________________ Prof. Dsc. Rodrigo Carvalho Souza Costa
Orientador – FLF
_______________________________________
Prof. M.Sc. Tarique Silveira Cavalcante Faculdade Lourenço Filho
____________________________________
Prof. Esp. Anaxágoras Maia Girão Instituto Federal de Educação, Ciência e Tecnologia – IFCE Campus Fortaleza
_____________________________________
Prof. Dr. Carlos Alberto Manso Coordenador do Curso
i
Dedico este trabalho a minha família que sempre me incentivou e me apoiou, durante minha vida, me mantendo no caminho correto.
ii
AGRADECIMENTOS
Agradeço a Deus por me dar a instrução inicial em todos os meus atos, logo em seguida à
minha família que me apoiou durante a minha carreira acadêmica e propiciou a minha formação, principalmente a minha Avó e Tia que tiveram contribuição fundamental para esta
realização. Ao meu Orientador e Mentor, professor Rodrigo Carvalho Souza Costa, que contribuiu muito
tanto nesse trabalho como na minha carreira acadêmica e profissional, grande parte do meu conhecimento se deve a ele.
Por fim, mas não menos importante, aos meus amigos, que tiveram compreensão nos momentos em que me ausentei para conclusão desse trabalho, mas sempre me incentivaram a
termina- lo, uma participação especial ao meu amigo João Pedro Capistrano, que me ajudou com a parte da língua inglesa, de fundamental importância para o termino do trabalho.
iii
“Se não existe meio de vencer um inimigo, CRIE um meio!
Se não há chance de vitória, ENCONTRE uma!”
Mestre Arsenal
iv
RESUMO
Um grande diferencial do sistema de visão humano é a capacidade de percepção de
distância, propiciando uma forma de observação tridimensional do mundo. Através da visão,
o ser humano realiza tarefas cotidianas do seu dia-a-dia e toma decisões a partir do que
enxerga.
Para simular o processo de percepção humana, existe na Ciência da Computação a
área de Visão Computacional (VC) que extrai informações de cenas a partir do processamento
de imagens adquiridas, por exemplo, através de câmeras.
A área da VC é muito ampla e um de seus setores de estudo é a visão estereoscópica
que tem como objetivo realizar a percepção tridimensional a partir do processamento de
imagens de duas câmeras posicionadas de forma adequada. Esta área tem avançado muito nos
últimos anos e várias técnicas e algoritmos foram desenvolvidos.
O objetivo desta monografia é realizar uma avaliaçãodas características de algumas
implementações de técnicas de visão estérea (VE) em bibliotecas ou Softwares de
processamento de imagens disponíveis na internet.
Através da aplicação em um mesmo ambiente de testes e hardware é possível avaliar
os fatores, como iluminação e tipos de lentes das câmeras, que podem influenciar na detecção
de profundidade, possibilitando a compreensãodos ajustes necessários para auxiliar a escolha
da técnica de VEque agregue o menor custo computacional a uma detecção eficiente para
aplicações em tempo real.
Os algoritmos apresentados foram desenvolvidos em Linguagem C ANSI com a
biblioteca OpenCV, pois são os mais utilizados em sistemas de VE.
Os resultados encontrados ao final da monografia não são satisfatórios, mesmo as
técnicas funcionando, cada uma apresenta algum problema, como a taxa de processamento
muito alta, a identificação da imagem de resultado não é aceitável, impossível de realizar
testes com imagens de tamanho grande.
Palavras-chave:Visão Estéreo, Mapa de Profundidade, OpenCV.
v
ABSTRACT
A great advantage of the human vision system is the ability to percept distance,
providing a form to observe the three-dimensional world. Through vision, humans can carry
out daily tasks of their daily life and make decisions based on what they see.
To simulate the process of human perception, there is, in the Computer Science, the
Computer Vision (VC) area that extracts information from scenes based on the processing of
images acquired by cameras.
The VC area is very wide and one of its study’s sectors is the Stereoscopic Vision
which aims to make a three-dimensional perception from processing images from two
cameras positioned appropriately.This area has made a huge advance in recent years and
many techniques and algorithms have been developed.
The purpose of this monograph is to conduct an assessment for the characteristics of
different implementations of techniques in libraries or Stereo Vision image processing
software available on the internet.
Through the application on the same test and hardware environment, it is possible to
evaluate the factors such as lighting and types of camera lenses, which may influence the
measurement of depth, allowing us to understand the necessary adjustments to assist the
Stereo Visiontechnique’s choice that represent the lowest computational cost at an efficient
detection for real-time applications.
The presented algorithms have been developed inlanguage C ANSI with the OpenCV
library, as mostly used in VS systems.
The results at the end of the monograph are not satisfactory, even the technical
functioning, each presents a problem, as the very high rate of processing, image identification
result is not acceptable, impossible to carry out tests with larger-sized images.
Key-Words: Stereo Vision, Depth Map, OpenCV.
vi
SUMÁRIO
1. INTRODUÇÃO................................................................................................................... 1
2. VISÃO ESTÉREO .............................................................................................................. 5
2.1. FUNDAMENTAÇÃO SOBRE A CAPTAÇÃO DA IMAGEM ................................ 6
2.2. VISÃO TRIDIMENSIONAL ...................................................................................... 8
2.3. CAPTAÇÃO ESTEREOSCOPICA........................................................................... 10
2.3.1. PARAMETROS INTRÍNSECOS.............................................................................. 10
2.3.2. PARAMETROS EXTRÍNSECOS............................................................................. 15
2.4. RETIFICAÇÃO ......................................................................................................... 16
2.5. RECONSTRUÇÃO 3D ............................................................................................. 17
2.6. MAPA DE PROFUNDIDADE.................................................................................. 19
2.6.1. CALIBRAÇÃO ESTÉREO ....................................................................................... 20
2.6.2. RETIFICAÇÃO SEM CALIBRAÇÃO ..................................................................... 20
3. MATERIAIS E METODOLOGIA ................................................................................... 22
3.1. OPENCV.................................................................................................................... 22
3.2. GIMP.......................................................................................................................... 22
3.3. CÂMERA UTILIZADA ............................................................................................ 22
3.4. METODOLOGIA DE TESTES ................................................................................ 24
4. RESULTADOS ................................................................................................................. 26
4.1. DEPTHMAP GIMP ................................................................................................... 26
4.2. MAPA DE PROFUNDIDADE COM AUTOCALIBRAÇÃO ................................. 28
4.3. RETIFICAÇÃO ESTÉREO....................................................................................... 30
5. CONCLUSÃO FINAL ...................................................................................................... 32
6. REFERÊNCIAS BIBLIOGRÁFICAS .............................................................................. 33
vii
LISTA DE FIGURAS
Figura 1: Exemplo de visualização de objetos no olho humano. ............................................... 1 Figura 2: Mecanismos para captação de imagens com focos visuais coincidentes. ................... 5
Figura 3: Representação Geométrica Esquemática de um MCI. ................................................ 7 Figura 4: Representação de uma câmera virtual. ........................................................................ 7 Figura 5: Exemplo de informação de profundidade obtida pela variação de luminosidade. a)
imagem original b) imagem com textura gerada a partir de uma variação de luminosidade. Fonte: Pinho (2013). ................................................................................................................... 9
Figura 6: Modelo de Câmera Pinhole. ...................................................................................... 11 Figura 7: Representação de Distorção de Lentes. ..................................................................... 12 Figura 8: a) Modelo chessboard utilizado como padrão para calibração de câmeras b) Imagem
adquirida através de câmera com distorção. ............................................................................. 14 Figura 9: Relação de sistemas de coordenadas do mundo real com as coordenadas da imagem.
.................................................................................................................................................. 15 Figura 10: Um Par Estéreo Retificado. Fonte: Segundo (2007). .............................................. 16 Figura 11: Exemplo de um Mapa de profundidade. Fonte: Bradski (2008). ............................ 19
Figura 12: Webcam Logitech C210.......................................................................................... 23 Figura 13: disposição das câmeras a) câmeras próximas b) câmeras afastadas. ...................... 23
Figura 14: Aquisição de imagens com câmeras próximas. a) Imagem da câmera esquerda e b) Imagem da câmera direita. Fonte: elaboração própria. ............................................................. 24 Figura 15: Aquisição de imagens com câmeras distantes. a) Imagem da câmera esquerda e b)
Imagem da câmera direita. Fonte: elaboração própria. ............................................................. 24 Figura 16: imagem da câmera a) direita b) esquerda e c) resultado do processamento feito
através do GIMP. ...................................................................................................................... 26 Figura 17: Resultado depthmap GIMP ..................................................................................... 27 Figura 18: Teste depthmap GIMP com diferentes parâmetros. ................................................ 27
Figura 19: Resultado depthmap GIMP, com OpenCV ............................................................. 28 Figura 20: Imagens adquiridas pela câmera (a) direita e (b) esquerda. .................................... 29
Figura 21: Detecção do tabuleiro de xadrez na câmera (a) Direita e (b) Esquerda. ................. 29 Figura 22:Execução do sistema, Mapa de Profundidade em tempo real .................................. 30 Figura 23: Resultado do mapa de Profundidade com retificação sem informações da
calibração. ................................................................................................................................. 31
viii
LISTA DE SIGLAS E ABREVIATURAS
C Centro de Projeção
f Distancia Focal
FEH Fator de Escala Homogêneo
MP Mapa de Profundidade
MCI Mecanismo de Captação de Imagem
OPENCV Open Source Computer Vision
PDI Processamento Digital de Imagem
PII Parâmetro de Inclinação da Imagem
R Matriz de Rotação 3 por 3
VE Visão Estéreo
VC Visão Computacional
T Vetor de Translação 3D
1
1. INTRODUÇÃO
A percepção visual é uma ferramenta muito importante para os seres vivos videntes,
pois possibilita um indivíduo organizar e interpretar suas impressões sensoriais para atribuir
significado ao meio através do sentido da visão. Ela é utilizada em tarefas cotidianas do ser
humanopara tomar decisões, baseadas nas informações obtidas pela captura do cenário, como,
por exemplo, a travessia de uma rua ou escolher frutas em um mercado (SOUTO & LUCAS,
2009; COSTA, 2012).
Ao contrário do que se pensa o olho não é capaz de identificar e separar objetos de um
cenário, o cérebro tem a capacidade de dividir a informação por prioridade de atenção à tarefa
sendo realizada, examinando o importante e suprimindo as outras informaçõesadvindas de
sensores musculares e os outros sentidos, que o ajudam a cruzar essas informações e tomar
uma decisão (BRADISK, 2008).
A associação entre o olho e o cérebro forma o sistema visual humano. Olhos apenas
captam os estímulos luminosos do mundo externo, similar a uma câmera. Através dos
elementos que compõem a estrutura do olho, a luz é focalizada em uma superfície repleta de
receptores sensoriais (retina) que detectam a luz e converte em estímulos (sinas elétricos) que
são conduzidos ao cérebro, gerando características iniciais de informações como cor, forma,
tonalidade, entre outras (GONZALEZ, 2011; ALEXANDRE & TAVARES, 2007).
Como o sistema visual humano é composto por dois olhos e devido ao seu
posicionamento, as imagens percebidas por ambos os olhos são ligeiramente diferentes,
conforme mostrado na Figura 1.
Figura 1: Exemplo de v isualização de objetos no olho humano.
.
2
Na Figura 1 pode ser visto que existe um pequeno deslocamento lateral entre as
imagens adquiridas por ambos os olhos, quase imperceptível se observado separadamente.
Contudo, éesse deslocamento causado pela distância entre os olhos que permite ao ser
humano ter uma observação tridimensional do mundo externo (BRADISK, 2008).
Devido à importância da percepção visual, o ramo da (VC) está em franca ascensão,
pois, tem como objetivo simular o processo de percepção humana através de sistemas que
capturam imagens através de câmeras, a processam e com isso, são capazes de identificar e
rastrear objetos de interesse (BOURCHARDT, 2006; DELAI & COELHO, 2010).
Uma subárea da VC, conhecida como Visão Estéreo (VE), se dedica a desenvolver
técnicas para percepção tridimensional de objetos através do processamento de imagens
obtidas a partir de duas câmeras posicionadas de forma adequada. Com base nas suas posições
e seus campos de visão, é possível determinar-se a posição de qualquer ponto neste espaço,
desde que este ponto esteja presente em ambas asimagens capturadas (CORREA, 2004).
Existem diversos projetos, principalmente na área da robótica, que utilizam a VE, com
a finalidade de simular a visão e percepção humana e detectar objetos,um exemplo disto é o
trabalho de Kelber (2005) que tem como objetivo aplicar as técnicas desenvolvidas para a VE
para o desenvolvimento de um veículo autômato, podendo detectar eventuais colisões ou a
saída de pista(SEGUNDO, 2007; KELBER, 2005; CORRÊA, 2004).
Um exemplo similar é o trabalho de Achtelik et al.(2009) que compara sensores e
câmeras estéreo para utilizar na automação da navegação de um helicóptero quadrotor,
fazendo-o navegar em ambientes internos estruturados e desconhecidos, mas seu objetivo
final é a união dessas tecnologias para um melhor desempenho do helicóptero.
Outro exemplo é o trabalho de Dias(2009), que utiliza uma cabeça robótica para
simular o movimento da visão humana, juntamente com um método conhecido como
Transformada Generalizada de Hough, desenvolvida originalmente por Hough(1959), que
utiliza uma imagem de referência pré-determinada com a intenção de retirar informações de
interesses a serem buscadas, tornando a detecção de objetos invariável ao seu tamanho e
posição.
Seguindo esta linha de pensamento, no trabalho de Martins (2007) é proposta a VE
como uma estratégia para resolver problemas na área de realidade aumentada. Ela consiste no
alinhamento do mundo virtual com o mundo real através da calibração de câmeras para
corrigir a distorção devido a lentes. Neste trabalho em questão é mostrado que é possível
estabelecer uma correspondência dos cantos do padrão no mundo real com os da projeção na
3
imagem, podendo assim, realizar a estimação de distância mesmo com câmeras com lentes
esféricas.
Existem também pesquisas para desenvolver e implementar novos algoritmos de VE, o
trabalho de Kelle (2012) propõe um novo modelo de visão estéreo densa, que procura realizar
uma estimação de distância mais precisa analisando todos os pontos que compões as duas
imagens (KELLE, 2012).
Uma vertente também é a área de detecção de pessoas, no trabalho de Yahiaoui (2008)
ele apresenta um sistema para contagem de passageiros de ônibus baseado em VE, em sua
pesquisa mostrou que é possível ter uma precisão de contagem de 99%, tendo seus testes
feitos com alguns vídeos em ônibus.
Na mesma linha de pesquisa, na tese de Lefloch (2007) é demonstrado que o a
detecção de profundidade utilizando câmeras com VE é mais preciso que métodos baseados
em feixe de laser, sensor de infravermelhos e sensor térmico. Contudo, uma desvantagem
deste tipo de abordagem é o seu elevado custo computacional.O autor apresenta um sistema
com câmeras de baixo custo e pode detectar que mesmo assim os resultados são satisfatórios.
O trabalho de Oosterhout (2011) apresenta uma técnica de detecção de pessoas através
do achado se suas cabeças com base em VEem três ambientes distintos, podendo concluir que
mesmo em situações de aglomeração o desempenho ainda era muito bom.
Pode-se perceber que ultimamente as empresas de cinema também utilizama VE para
produção de filmes 3D. As empresas utilizam uma técnica quefilma a cena com uma lente e
utiliza um espelho para captar a mesma cena com o deslocamento necessário para simular a
profundidade que o espectador percebe ao assistir um filme com esse formato (LANDIM,
2009).
Existem diversas implementações de técnicas de Visão Computacional (VC)
disponibilizadas em códigos abertos ou bibliotecas comerciais. Por exemplo, a biblioteca
OpenCVproduzida pela Intel e implementa diversos algoritmos de VC incluindo também
algoritmos de VE. Esta biblioteca possui implementações com elevada eficiência
computacional associada a eficaz processamento e, por causa disto, são bastante utilizadas em
diversos tipos de sistemas(DROPPELMANN, 2012).
O objetivo principal desta monografia é realizar uma avaliaçãodas características dos
algoritmos de VE implementados em bibliotecas disponíveis na internet para compreensão
dos ajustes necessários para auxiliar o desenvolvimento de aplicações que sejam capaz de
extrair informações de profundidade das imagens adquidas. .
4
Essa monografia está dividida em seis capítulos, este descreve brevementeos objetivos
e trabalhos com técnicas de Visão Estéreo (VE), no segundo capítulo é apresentada a
fundamentação necessária para compreender as técnicas de VE que tornam possível estimar
profundidade utilizando duas câmeras.
O terceiro capítulo apresenta a metodologia utilizada para avaliação, bem como as
ferramentas utilizadas para o desenvolvimento do trabalho como, ambiente, tipos de câmera e
as formas de testes utilizadas, no quarto capitulo será apresentado os resultados obtidos no
último capitulo serão apresentadasas conclusões do trabalho e perspectivas de trabalhos
futuros.
5
2. VISÃO ESTÉREO
Segundo Correa (2004), a VE é um campo da Visão Computacional (VC) que se
dedica a desenvolver técnicas para percepção tridimensional e segundo Azevedo e Conci
(2003) uma das formas de se obter essa percepção é através da estéreoscopia.
A estéreoscopia consiste na visão de um mesmo foco por dois mecanismos de captura
de imagens (MCI), que combinados formam o chamado par estereoscópico. A captura da
imagem pode ser, posteriormente, reproduzida em softwares de modelagem virtual
(MALARD, 2008).
Em sua definição, a percepção estereoscópica é a capacidade de ver uma imagem
tridimensional a partir de duas imagens separadas adquiridas no mesmo ambiente sob pontos
de vista diferentes com um foco em comum, conforme mostrado na Figura 2 (PEREIRA,
2013).
Figura 2: Mecanismos para captação de imagens com focos visuais coincidentes.
Apesar de cada câmera ter seu campo de visão, a partir da combinação das
informações em comum de ambas as câmeras, conforme mostrado na região cinza escura que
torna possível a identificar a profundidade.
Segundo Pereira (2013), a estéreoscopia torna possível a percepção de profundidade
bem mais precisa que em câmeras monoculares. Contudo, Malard (2008) ressalta que somente
a junção do par estereoscópico não é suficiente para a obtenção de informações relativas à
distância, posições e tamanhos de objetos.
Para que seja possível obter estas informações alguns fatores devem ser levados em
consideração, como a iluminação e sombras, ou que compreendem a forma e volume do
6
objeto, bem como a oclusão. Este conjunto de efeitos facilitam a identificação relativa dos
objetos e seu tamanho e otimizam o funcionamento dos algoritmos de VE e(MALARD,
2008).
Segundo Trucco e Verri (1998), a VE deve resolver dois problemas da VC, o primeiro
é conhecido por correspondência que consiste em determinar qual item no MCI esquerdo
corresponde ao mesmo item no MCI direito enquanto que o segundo problema é o chamado
reconstrução, que seria o processo de reconstrução da imagem a partir do par estéreo. O
primeiro possui dificuldades relacionadas com a existência de algumas partes da cena em
apenas um dos MCIs, portanto a VE deve ser capaz de identificar as partes da imagem que
não são abrangidas pelo outro MCI.
Com base nas regiões existentes em ambas as imagens, detectadas pelo primeiro
processo, é computada a diferença da posição dos objetos em cada MCI, conhecida como
disparidade (TRUCCO & VERRI, 1998).
2.1. FUNDAMENTAÇÃO SOBRE A CAPTAÇÃO DA IMAGEM
Segundo Malard (2008), os MCI, tais como maquinas fotográficas, câmeras
filmadoras e um dos olhos animal, possuem um campo de visão tipicamente representado por
uma pirâmide retangular, pois realiza a projeção perspectiva.
Nesta, todos os raios de projeção convergem para um ponto comum, chamado ponto
de observação ou centro da projeção e sua posição é representada pelo vértice cume da
pirâmide, conhecido como ponto de vista (CONCI, 2002; MALARD, 2008).
O foco visual dos MCI é equivalente ao centro geométrico da base da pirâmide, os
ângulos de abrangência do campo visual desses mecanismos correspondem ao angulo
limitado pelo vértice cume e pelas faces inclinadas do solido,desenhado em dourado na Figura
3 (MALARD, 2008; AZEVEDO e CONCI, 2003).
Azevedo e Conci (2003) ressaltam que o plano da imagem, onde a cena será projetada
está posicionada no ponto focal e, na maioria dos casos é perpendicular ao vetor de direção de
projeção, área tracejada em azul na Figura 3.
A orientação desses mecanismos é definida pela reta que liga o cume da pirâmide ao
centro geométrico de sua base e por uma reta normal ao plano que contem a reta suporte do
ponto de vista e do foco visual, conhecida como vector up(MALARD, 2008).
7
Figura 3: Representação Geométrica Esquemática de um MCI.
Uma forma de se compreender as informações de posição e orientação da câmera e
que consolidam estes parâmetros da câmera função são mostradas na Figura 4.
Figura 4: Representação de uma câmera virtual.
Toda orientação da câmera é feita a partir de sua posição definida através de
coordenadas (x, y, z). O vector up que está intimamente relacionado à orientação do campo
visual observado pela câmera é definido como o vetor z (zx,zy,zz).
8
O foco visual, representado pela letra D na Figura 4 é o foco visual e geralmente está
localizado sobre o objeto de interesse em primeiro plano. Através desses parâmetrosé definida
a orientação da câmera e está relacionada à determinação do campo de visão da câmera
(AZEVEDO e CONCI, 2003).
Além destes parâmetros é comum definir características de movimentação da câmera,
apresentadas como as letras A, B e C. Através destes pode-se modificar o campo de visão de
uma câmera sem mudar seu posicionamento (x, y, z).
A letra A define o movimento de inclinação, também conhecido como tilt, da câmera,
podendo rotacionar o vetor de direção (vector up) da câmera em relação ao eixo y,
similarmente a cabeça do ser humano movendo de baixo para cima ou vice-versa.
Já a letra B define o movimento panorâmico, conhecido como pan, podendo rotacionar
o vetor de direção em relação ao eixo z, similar ao movimento da cabeça do ser humano ao
movimentar a cabeça da esquerda para a direita. A letra C define a movimentação de
aproximação e distanciamento da câmera em relação ao foco visual.
2.2. VISÃO TRIDIMENSIONAL
Existem três categorias de estímulos visuais que o cérebro utiliza para a formação de
uma imagem tridimensional, conhecidas como visão monocular, informação óculo-motora e
estéreoscopia, está sendo utilizada em sistemas relacionados àVE (AZEVEDO e CONCI,
2003; PINHO, 2013).
Segundo Azevedo e Conci (2003), através da visão monocular pode-se obter a
informações inerentes à imagem, que são chamados de static depth cues (informações
estáticas de profundidade) ou pictorial depth cues (informações de profundidade na imagem)
e entre as informações temos a perspectiva linear, responsável pela aparente diminuição dos
tamanhos e das distâncias entre objetos à medida que o observador se distancia deles.
São exemplos deste tipo de informação o conhecimento prévio do objeto, a oclusão, a
densidade de texturas dentre outras. Por exemplo, ao se conhecerpreviamenteo objeto, sabe-
se o tamanho do objeto e então consegue-se determinar a distância absoluta do objeto ao
observador e a relativa entre objetos (AZEVEDO e CONCI, 2003).
Já a oclusão refere-se a obstrução da visão de um objeto por outro objeto e a
conhecendo a densidade de texturas pode-se perceber quais partes do objeto estão mais
distantes do observador. Por fim, a variação da reflexão da luz é outra forma de informações
inerentes conforme mostrado na Figura X.
9
Figura 5: Exemplo de informação de profundidade obtida pela variação de luminosidade. a) imagem
original b) imagem com textura gerada a part ir de uma variação de lu minosidade. Fonte: Pinho (2013).
Observando as figuras, pode-se perceber a profundidade devido à intensidade de luz
refletida na superfície do objeto, é possível obter informações sobre a forma e curvaturas de
sua superfície (AZEVEDO e CONCI, 2003).
Além disto, a partir das sombras dos objetos, pode-se determinar a posição de um
objeto a partir de um piso colocado abaixo dele, além de uma distância relativa entre objetos
devido às noções de perspectivas (AZEVEDO e CONCI, 2003).
Segundo Pinho (2013), Azevedo e Conci (2003), as informações monoculares são
obtidas através da movimentação dos olhos a partir de dois conjuntos de músculos presos ao
globo ocular, o primeiro move o globo ocular e o segundo muda a curvatura da lente que fica
atrás da íris, existindo dois tipos de informações, a acomodação é usado os músculos que
alteram o foco com a mudança no formato das lentes dos olhos e a vergência utiliza os
músculos que produzem as rotações dos olhos para mudar o campo de visão.
As informações estereoscópicas estão diretamente relacionadas com a diferença entre
as imagens captadas por cada MCI e é chamada de diferença binocular para determinar a
distância relativa dos objetos, e a distância entre dois pontos projetadas em um anteparo, visto
especificamente por um MCI e ambos os pontos correspondentes no mesmo espaço é
conhecido como paralaxeressaltando que os objetos devem estar até dez metros do observador
(AZEVEDO e CONCI, 2003).
Mesmo com os vários dispositivos existentes que se utilizam da capacidade animal de
perceber profundidade com pares de imagens em estéreo, pode-se perceber altura e largura,
ainda não está claro o quanto dessa percepção depende das disparidades geométricas ou o
quanto está ligado à familiaridade de objetos pelo animal (AZEVEDO e CONCI, 2003;
COUTINHO, 2007).
10
Além disto, é possível ter uma percepção de aproximação e distanciamento devido sua
relação direta com o tamanho visto pela câmera. Ao aproximar um objeto, seu tamanho
aumenta, já quando ele diminui, o tamanho percebido diminui. Fazendo este tipo de análise, a
percepção de distância pode ser feita monoscopicamente, de maneira aproximada (PEREIRA,
2013).
2.3. CAPTAÇÃO ESTEREOSCOPICA
Segundo Pereira (2013), algumas precauções devem ser tomadas para que se obtenha
um par estereoscópico, como:
a área de sobreposição mínima de cinquenta por cento entre as imagens,
os eixos das câmeras que formarão o par estereoscópico devem estar
aproximadamente coplanares,
a distância entre as estações de exposição das câmeras não deve ser muito grande
em relação à distância objeto/câmera e;
as fotografias devem ter aproximadamente a mesma escala, com uma variação no
máximo de cinco por cento entre elas.
Levando em consideração estas precauções, existem as condições ideais para obtenção
de imagens a partir de um par estereoscópico para a partir dele obter-se a determinação de um
mapa de profundidade que mapeia em cores a distância entre os objetose a câmera.
A partir disto, segundo Santos (2012), devem-se conhecer dois parâmetros das
câmeras, os intrínsecos, relacionados a características internas da câmera, como a distância
focal (f) e distorção das lentes, e os extrínsecos, relacionados com a orientação e a translação
das câmeras para poder determinar o par-estereoscópico. Estas informações são discutidas nas
subseções a seguir.
2.3.1. PARAMETROS INTRÍNSECOS
Os parâmetros intrínsecos estão relacionados ao mapeamento dos pontos na imagem e
sua representação em pontos no espaço tridimensional.Estes parâmetros são específicos para
cada câmera e são necessários para caracterizar as propriedades ópticas, geométricas e de
visualização da câmera (TRUCCO e VERRI, 1998).
Segundo Rudek (2006), um modelo matemático capaz de explicar os parâmetros
intrínsecos é o de uma câmera de orifício (pinhole)apresentadona Figura 6.
11
Figura 6: Modelo de Câmera Pinhole.
Este tipo de câmera não possui uma lente, portanto, a imagem dos objetos é gerada
somente a partir convergência da luz refletida sobre o centro de projeção (O), localizado na
origem do sistema de coordenadas para fins de simplificação da notação, conforme mostrado
na Figura 6.
Segundo Santos (2012), devido à inexistência de lente e por consequente inexistência
de distorção na formação da imagem, a determinação dos parâmetros intrínsecos é
simplificada, pois o único fenômeno que deve ser avaliado é a projeção de perspectiva. Este
tipo de projeção possui apenas um parâmetro que consiste no comprimento focal (TRUCCO e
VERRI, 1998).
O plano de projeção, também conhecido como plano da imagem ou plano focal, é
posicionado a frente do centro de projeçãof (Z = f), onde f é a distância focal. A linha que
passa por O e é perpendicular ao plano da imagem é chamada de eixo principalou eixo óptico
e o ponto onde o eixo principal encontra o plano da imagem é chamado de ponto principal
(SANTOS. 2012).
Ao utilizar esse modelo de câmera e assumir que o centro de projeção está na origem
do sistema de coordenadas no plano tridimensional e o eixo óptico é colinear ao eixo Z,
apresentado na equação 1,com isto, tem-se que a projeção de um ponto um ponto no espaço
com coordenadas (X, Y, Z)T é mapeado para um ponto no plano da imagem (u,v)Te pode ser
obtido através de semelhanças de triângulos e que resumidamente é apresentado através de
(SANTOS, 2012, RUDEK, 2006, TRUCCO e VERRI, 1998):
12
𝑢, 𝑣 𝑇 = 𝑓𝑋
𝑍, 𝑓
𝑌
𝑍 𝑇
. (1)
Levando-se em conta a projeção perspectiva, transformação das coordenadas na
imagem 𝑥𝑖𝑚𝑔 , 𝑦𝑖𝑚𝑔 , com o mesmo ponto na câmera, tem-se que (RUDEK 2006; TRUCCO
e VERRI, 1998) :
𝑥′ = −𝑥𝑖𝑚𝑔 𝑆𝑥, (2)
𝑦′ = −𝑦𝑖𝑚𝑔 𝑆𝑦, (3)
em que (Sx, Sy) representam o tamanho do pixel em milímetros.
Substituindo-se as equações 2 e 3 na equação 1, tem-se que:
𝑥 ′ = 𝑓𝑋
𝑍= −𝑥𝑖𝑚𝑔 𝑆𝑥, (4)
𝑦 ′ = 𝑓𝑌
𝑍= −𝑦𝑖𝑚𝑔 𝑆𝑦 . (5)
Desta forma, o ponto na imagem 𝑥𝑖𝑚𝑔 , 𝑦𝑖𝑚𝑔 está relacionado às coordenadas do
ponto no espaço através de :
𝑥𝑖𝑚𝑔 = −𝑓𝑋
𝑆𝑥 𝑍, (6)
𝑦𝑖𝑚𝑔 = −𝑓𝑌
𝑆𝑦 𝑍. (7)
Segundo Trucco e Verri (1998), em vários casos, a lente introduz na imagem uma
distorção que pode ser percebida na periferia da imagem, apresentado na Figura 6.
Figura 7: Representação de Distorção de Lentes.
Uma forma para modelar essas distorções usando um modelo radial simples. Se
(Xd,,Yd), representa as coordenadas com distorção radial, tem-se que a correção da posição é
definida através das equações:
𝑥 = 𝑥𝑑 1 + 𝑘1𝑟2 + 𝑘2𝑟
4 , (8)
13
𝑦 = 𝑦𝑑 1 + 𝑘1𝑟2 + 𝑘2𝑟
4 , (9)
em que, r2 = Xd2 + Yd
2, e k1 e k2 são parâmetros intrínsecos de distorção radial. Através
destas equações, pode-se perceber que a distorção causa um deslocamento de radial dos
pontos da imagem. Estes deslocamentos são nulos é nulo no centro da imagem (xd = 0 ou yd
= 0) e vai aumentando conforme a coordenada vai distanciando do centro.
Normalmente, os parâmetros k1 e k2são muito pequenos e comumente ignorados, se
uma precisão alta não é necessária em toda a imagem ou quando os pixels da periferia são
descartados.Neste caso, k2 é definido como zero e k1 é o único parâmetro a ser estimado no
modelo de distorção radial, sek2 é muito maior que k1, a magnitude da distorção geométrica
depende da qualidade da lente a ser utilizada, como regra geral a média de qualidade e
tamanho é quinhentos de altura por quinhentos de largura (500 x 500) (TRUCCO e VERRI,
1998).
Segundo Santos (2012), um modelo matricial facilita a representação computacional,
supondo que os pontos em um espaço tridimensional e os pontos no plano de uma imagem
são representados por coordenadas equivalentes (Homogêneo).
Assumindo assim asequações necessárias para determinar os parâmetros intrínsecos
apresentados na equação 1 podem ser reescrita de forma matricial, levando em consideração
que o fator de escala homogêneo (FEH)é dado pelo Mapeamento da Câmera Pinhole = Z,
dado por:
𝑢𝑣1 =
𝑓 0 0 00 𝑓 0 00 0 0 1
𝑋𝑌𝑍1
. (10)
Considerando essas equações, assume-se que a origem das coordenadas no plano da
imagem é ponto principal, mas a maioria dos sistemas de imagens considera a origem como
sendo o ponto mais a á esquerda e mais acima, necessitando um mapeamento quando
necessário para a conversão do sistema de coordenadas no plano da imagem, dado por
(SANTOS, 2012):
𝑢𝑣1 =
𝑓 0 𝑝𝑥 0
0 𝑓 𝑝𝑦 0
0 0 0 1
𝑋𝑌𝑍1
, (11)
em que (Px,,Py)T são as coordenadas do ponto principal.
Santos (2012) afirma que a equação mostrada acima funciona se os pixels da imagem
tiverem o formato quadrado (1 : 1),chamado de razão de aspecto, mas para câmeras que
adotam o modelo CCD, existe a possibilidade de que seus pixels não sejam quadrados, então
14
se as coordenadas da imagem são medidas em pixels e o número do pixel é medido em
unidade de distância nas coordenadas da imagem representados por (Sx, Sy) (na direção do
Eixo X e Y respectivamente), tem-se a representação matricial:
𝑢𝑣1 =
𝑓𝑆𝑥 0 𝑝𝑥 0
0 𝑓𝑆𝑦 𝑝𝑦 0
0 0 0 1
𝑋𝑌𝑍1
. (12)
Outro fator importante, que na maioria das câmeras, o parâmetro da inclinação da
imagem é nulo,levando isto em consideração o Parâmetro de Inclinação da Imagem (PII), a
equação12 pode ser reescrita através da equação 13:
𝑢𝑣1 =
𝑓𝑆𝑥 𝑃𝐼𝐼 𝑝𝑥 0
0 𝑓𝑆𝑦 𝑝𝑦 0
0 0 0 1
𝑋𝑌𝑍1
= 𝐾|𝑂3 𝑄 , (13)
em que o O3 é um vetor nulo, Q = (X, Y, Z, 1)Té um ponto no espaço tridimensional e K
representa os parâmetros intrínsecos da câmera ou Matriz de Calibração da Câmera (MCC)
(SANTOS, 2012)
Desta forma, quando a razão de aspecto é um para um (Sx=1 e Sy=1), Sx e Sy são
igual a um, se a imagem não for inclinada PII é igual a zero.
Santos (2012) complementa a afirmação de Trucco e Verri (1998) sobre a distorção
das lentes, afirmando que os parâmetros da distorção radial podem ser estimulado pelo
cálculo da curvatura de um linha na imagem bidimensional, que é uma linha reta no plano
tridimensional, utilizando um padrão de calibração mostrado na Figura 8a.
(a) (b)
Figura 8: a) Modelo chessboard utilizado como padrão para calibração de câmeras b) Imagem adquirida
através de câmera com d istorção.
As linhas destacadas em vermelho e verde, apresentado na Figura 8b, no mundo real
são linhas retas, mas na imagem capturada essas mesmas linhas possuem uma pequena
distorção (SANTOS, 2012).
15
2.3.2. PARAMETROS EXTRÍNSECOS
Segundo Santos (2012), estes parâmetros estão relacionados com as coordenadas da
câmera e as coordenadas do mundo real, descrevendo a orientação e posição da câmera no
mundo tridimensional.
Rudek (2006) e Trucco e Verri (1998) ressaltam que as coordenadas de referência da
câmera são constantemente desconhecidos e um problema muito comum é determinar a
localização e a orientação das coordenadas da câmera com alguma coordenada de referência
conhecida, apenas com as informações da imagem e que a transformação entre as
coordenadas deve ser feita usando um Vetor de Translação 3D(T), que descreve as posições
relativas das origens dos dois frames de referência, e uma Matriz de Rotação 3 por 3(R), que
retorna os eixos correspondentes dos dois frames, onde a representação das coordenadas de
um determinado ponto P da câmera (Pc) é dado pela multiplicação de R pelas coordenadas de
um ponto P no mundo real (Pw), somado a T, representados na Figura 9.
Figura 9: Relação de sistemas de coordenadas do mundo real com as da imagem.
Santos (2012) apresenta um modelo matricial em que a posição e orientação da câmera
no sistema de coordenadas, mundo real, pode ser mostrado na equação :
𝑞 = 𝐾 | 𝑂3 𝑅 −𝑅𝐶𝑂3
𝑇 1
𝑋𝑌𝑍1
= 𝐾𝑅 𝐼 | − 𝐶 𝑄, (14)
em que,K representa os parâmetros intrínsecos, abordado na seção 2.3.2.R é a matriz de
rotação, eC consiste no centro de projeção da câmera no mundo em coordenadas não
16
homogênease representam os parâmetros extrínsecos da câmera.I é uma matriz identidade, de
tamanho três por três (3x3),q e Q representam o mesmo ponto da câmera e do mundo
tridimensional, respectivamente.
A equação P = KR[I]-C representa o mapeamento completo de uma câmera pinhole,
incluindo os parâmetros intrínseco eextrínsecos.A matriz P, de tamanho três por quatro (3x4),
é chamada de Matriz de projeção da Câmera, onde o ponto Q no mundo tridimensional é
mapeado no ponto q no plano da imagem bidimensional, calculado a partir da transformação
linear q = PQ (SANTOS, 2012).
2.4. RETIFICAÇÃO
A retificação simplifica os cálculos associados a algoritmos de VE, a imagem obtida é
substituída por uma figura equivalente projetada em um plano de imagem comum, paralelo à
base de junção dos dois centros óticos, conforme apresentado na Figura 10 (SOUSA
SEGUNDO, 2007).
Figura 10: Um Par Estéreo Ret ificado.Fonte: Segundo (2007).
.
Neste modelo, a linha que liga os dois centros de Projeção das duas câmeras é
denominada linha de base, ou baseline. A interseção da baseline com o plano de imagem é
conhecida como epipole, sendo a imagem do centro de projeção de uma das câmeras feita
pela outra câmera (FARIAS, 2006).
17
Este mesmo processo pode ser implementado pela projeção da imagem original em um
novo plano de imagem, considerando os dois planos da imagem П e П’ são projetos sobre um
plano comum Ц = Ц’, a imagem retificada é facilmente construída, considerando que a
imagem de entrada seja um poliedro e usando mapeamento de texturas para renderizar a
projeção dessa rede em um plano Ц = Ц’ (SOUSA SEGUNDO, 2007).
Existem duas possibilidades relacionadas com a escolha de um plano de imagem
retificado. A primeira consiste na distância entre esse plano e a linha de base, o que é
irrelevante, desde que se modifique somente a escala da imagem. A segunda consiste em um
balanço efetivo pela escala invertida dos eixos de coordenadas da imagem e a direção do
plano retificado normal no plano perpendicular à base, determinado a partir daescolha de um
plano paralelo à linha onde as duas retinas originais intersectam-se, o que minimiza a
distorção associada com o processo de projeção (SOUSA SEGUNDO, 2007).
Trucco e Verri (1998) sugere um algoritmo para tratar a retificação, que possui quatro
etapas; girar a câmera da esquerda, de modo que sua epipole vá em direção ao infinito, no
eixo horizontal; aplicar a mesma rotação na câmera da direita, de modo a recuperar a
geometria original; girar a câmera da direita em R(Matriz 3x3); ajustar à escala de ambas as
câmeras para o frame desejado.
2.5. RECONSTRUÇÃO 3D
A reconstrução 3D consiste em obter as informações tridimensionais dos objetos
observados em planos de imagens bidimensionais. Por exemplo, o principal problema para se
reconstruir um solido é conhecer sua forma geométrica.A partir de sua projeção no plano da
imagem formada por duas câmeras, pode-se descobrir a interseção no espaço de duas retas e
assim, saber o resultado da transformação dos pontos, projetados nas câmeras, tornando
possível convertê-los em pontos do espaço tridimensional. (RUDEK, 2006).
A reconstrução 3D pode ser obtida a partir do que se conhece sobre os parâmetros
disponíveis no sistema, em três situações (TRUCCO & VERRI, 1998):
quando os parâmetros intrínsecos e extrínsecos encontram-se disponíveis, o
problema de reconstrução pode ser resolvido usando triangulação;
quando apenas os parâmetros intrínsecos são conhecidos, pode-se resolver o
problemaavaliando os parâmetros extrínsecos através de um fator de escala;
18
quando nenhum dos parâmetros (intrínsecos e extrínsecos) são conhecidos e a
única informação disponível é a correspondência de pixel, pode se obter a
reconstrução do ambiente, usando a transformação projetiva.
Nas seções a seguir são tratados os principais tipos de reconstrução.
2.5.1. RECONSTRUÇÃO POR TRIANGULAÇÃO
Esse é o caso mais simples, no qual se tem conhecimento dos parâmetros intr ínsecos e
extrínsecos. Sendo possível a localização tridimensional dos seus pontos de projeção, uma vez
que os parâmetros e localização de imagem são conhecidos apenas, os dois raios não vão
realmente se cruzar no espaço, sua interseção só pode ser estimado como o ponto de distância
mínimo de ambos os raios (TRUCCO & VERRI, 1998).
Segundo Bradski (2008),duas câmeras cujos planos de imagens são coplanares entre
elas, e paralelos com os eixos óticos, que estão a uma distância conhecida e distancias focais
iguais, supondo também que o ponto principal da câmera da direita e da esquerda estejam
calibradas para ter as coordenadas do mesmo pixel na imagem projetada pela câmera da
direita e da esquerda.
2.5.2. RECONSTRUÇÃO USANDO FATOR DE ESCALA
Segundo Trucco e Verri (1998), esse é o caso em que se consideram apenas os
parâmetros intrínsecos de ambas as câmeras para estimar os parâmetros extrínsecos e a
estrutura da cena tridimensional, uma vez que o método faz uso da matriz essencial, deve-se
assumir que pelo menos oito pontos de correspondência foram confirmados, supondo que são
dadas somente os parâmetros intrínsecos e uma quantidade de pontos de correspondência,
maior que oito, pode-se encontrar a localização dos pontos tridimensionais nas projeções de
ambas as câmeras.
Segundo Lourakis eZabulis(2013), o fator de escala é a proporção relacionada com o
deslocamento das duas câmeras, sugerindo que o objeto deve estar posicionado de modo que
fique alinhado com os quadrados de um tabuleiro de xadrez, conhecido comochessboard, a
vantagem é que não precisa de nenhuma configuração especial nas câmeras, mas existem dois
problemas, o cuidado com o posicionamento do objeto no quadrado do chessboard, portanto
suscetível ao erro humano e a imagem é trabalhada de forma separada, não aproveitando todo
o potencial de combina- las, que aumentaria a precisão geral.
19
2.5.3. RECONSTRUÇÃO USANDO TRANSFORMAÇÃO PROJETIVA
Segundo Trucco e Verri (1998), é possível obter uma reconstrução tridimensional
mesmo que não se tenha a informação dos parâmetros intrínsecos e extrínsecos, mas a
reconstrução será única e desconhecida até a aplicação de uma Transformação Projetiva.
Mapeando cinco pontos arbitrários da cena na base de projetiva padrão e usando as
epipoles, a matriz de projeção de cada câmera pode ser recuperada para uma Transformação
Projetiva, (que está associado à base normal, já que não se sabe a localização dos cinco
pontos 3D em coordenadas de câmera), então uma vez que as matrizes de projeção são
determinadas, a localização do ponto 3D é obtida por triangulação no espaço de projetiva.
2.6. MAPA DE PROFUNDIDADE
Segundo Santos (2012), um mapa de profundidade, também conhecido como Imagem
de Profundidade, estima valores de profundidade de cada ponto, e os armazena, de uma
imagem bidimensional e uma estrutura tridimensional.
Segundo Bradski (2008), a detecção de um mapa de profundidade consiste em
processar duas imagens de ângulos diferentes do mesmo objeto e assim, baseado na distância
das câmeras, criar uma imagem onde cada objeto da cena tenha uma cor da escala de cinza
diferente, essa cor apresenta uma relação com a distância do objeto das câmeras, conforme,
apresentado na Figura 11.
Figura 11: Exemplo de um Mapa de profundidade.
Fonte: Bradski (2008).
20
A lógica do mapa de profundidade é, geralmente, que os objetos mais próximos
assumam uma tonalidade mais próxima da cor branca enquanto os mais distantes assumam
uma cor mais próxima da cinza escura ou preta.
Existem duas formas de se conseguir um mapa de profundidade, através da calibração
estéreo, onde se calibra as câmeras para se obter a re lação entre o plano bidimensional e o
tridimensional, e a retificação sem a calibração, não necessitando calibrar as câmeras para
obter essa relação (BRADISK, 2008).
2.6.1. CALIBRAÇÃOESTÉREO
Segundo Badski (2008), a calibração estéreoé um processo de cálculo da relação
geométrica entre as duas câmeras no espaço, esse cálculo depende de encontrar a matriz de
rotação e o vetor de translação de ambas as câmeras. Existem muitas configurações que
podem ser feitas para a calibragem, o mais comum e simples é descobrir os raios principais
que se cruzam no infinito.
Segundo Madalena (2011), com a posição e direcionamento das câmeras conhecidos, é
possível determinar a posição de qualquer ponto nesse espaço, desde que esse ponto esteja
localizado em ambas as imagens capturadas pelas câmeras, sugerindo que a triangulação pode
calcular esses pontos.
Segundo Badski (2008) e Madalena(2011), os parâmetros de calibração, matriz de
rotação e vetor de translação, podem ser encontrados ao utilizar um chessboard, e então
aplicar a cada câmera, Santos (2012) apresenta um modelo matemático, que pode ser visto no
capítulo 2 deste trabalho, para demonstrar o funcionamento e importância do chessboard para
a calibração.
2.6.2. RETIFICAÇÃO SEM CALIBRAÇÃO
A retificação sem calibração significa que o processo de correção das distorções das
lentes e o pareamento dos pontos comuns das câmeras são feitos sem o conhecimento de
coordenadas físicas. Hartley (1999) apresenta um algoritmo que ignora esses parâmetros, pois
ele procura homografia que mapeiam as epipoles até o infinito, diminuindo as disparidades
encontradas entre as imagens estéreo, utilizando apenas os pontos entre os pares de imagens
correspondentes.
Segundo Bradski (2008), a vantagem dessa técnica é que se pode “calibrar” a cena
simplesmente observando-a, sua desvantagem é que não se tem senso de escala da imagem, se
usasse o chessboardpara obter pontos de correspondências, não haveria como saber a unidade
21
de medida dos lados, centímetros ou metros, também não poderia se guardar os parâmetros
intrínsecos obtidos sem que houvesse comprimentos focais diferentes, pixels distorc idos,
diferentes centros de projeções ou pontos principais, assim só podendo realizar a reconstrução
3D até a transformação projetiva.
22
3. MATERIAIS E METODOLOGIA
Neste capítulo são apresentados os recursos utilizados para a realização da avaliação
de implementações técnicas de Visão Estéreo,desde as descrições das ferramentas e
aplicações, câmeras utilizadas, ambiente de testes e metodologia utilizada para realização dos
testes.
3.1. OPENCV
Segundo Marengoni (2009), a OpenCV (Open Source Computer Vision) é uma
biblioteca de programação, com código aberto, desenvolvida originalmente pela Intel, capaz
de implementar praticamente todas as operações relacionadas a cinco grupos de funções:
Processamento de Imagens, Analise Estrutural, Analise de Movimente e Rastreamento de
Objetos, Reconhecimento de Padrões e Calibração de Câmera e Reconstrução 3D, está
disponível na internet juntamente com seu manual de referência.
Bradski (2008) apresenta em seu livro, Learning OpenCV, a utilidade dessa biblioteca
para a área de PDI, incluindo alguns exemplos de código, em Linguagem C-ANSI, para
facilitar o entendimento.
3.2. GIMP
O GIMP é uma ferramenta de código aberto, que possui características de
manipulação gráfica, desenvolvido para plataforma Linux e mais recentemente para
plataforma Windows (GIMP, 2013).
Segundo Elsamuko (2013), utilizando duas imagens de um mesmo ambiente, seguindo
o modelo de imagem estéreo apresentado por Malard (2008), o algoritmo utiliza a primeira
câmera na captura de um pixel e os “arredores” da imagemprocurando correspondências na
imagem da segunda câmera, é sugerido que não se utilize valores grandes, nos tamanhos dos
frames, pois esse algoritmo não consegue interpretar todo o conteúdo da imagem demorando
muito para processar e o mapa de profundidade de retorno terá algumas falhas em algumas
áreas,.
3.3. CÂMERA UTILIZADA
Para não haver problemas de incoerência nas imagens, faz-se necessário que as
câmeras utilizadas sejam do mesmo modelo e estejam com o mesmo grau de proximidade em
relação à imagem (zoom).
23
Durante a realização dos testes foi utilizada aWEBCAM Logitech C210, apresentada na
Figura 12, com as seguintes especificações: Resolução de 1.3 megapixels, Resolução máximo
de Imagem 640x480 pixels, Conexão USB, Clique para Notebook, Led de Iluminação,
Microfone Integrado de dimensões 2,8 cm de altura, 1,5 cm de comprimento e
6,8cmprofundidade (LOGITECH, 2013).
Figura 12: Webcam Logitech C210.
Fonte: Buscapé (2013).
A aquisição de imagens foi realizada utilizando dois tipos de posicionamento das
câmeras.No primeiro, as câmeras estão posicionadas com a menor distância entre eixos
ópticos, conforme mostrado na Figura 13a, ou seja, as câmeras estão próximas e seus eixos
ópticos encontram-se alinhados paralelamente.
(a) (b)
Figura 13: disposição das câmeras a) câmeras próximas b) câmeras afastadas.
Fonte: Elaboração própria.
Na segunda, as câmeras são afastadas em 10 cm conforme mostrado na Figura 13b.
Em ambos os casos, as câmeras estavam paralelas e no mesmo ângulo de visão, como sugere
Bradski (2008).
Um exemplo de imagens adquiridas através desta metodologia de aquisição é
apresentado na Figura 14, em que são mostradas as imagens de duas câmeras próximas e na
Figura 15 para câmeras distantes.
24
(a) (b)
Figura 14: Aquisição de imagens com câmeras próximas. a) Imagem da câmera esquerda e b) Imagem da câmera
direita.Fonte: elaboração própria.
Figura 15:Aquisição de imagens com câmeras distantes. a) Imagem da câmera esquerda e b) Imagem da câmera
direita.Fonte: elaboração própria.
Todos os testes foram feitos no mesmo ambiente, para evitar alterações nas condições
de aquisição.
3.4. METODOLOGIA DE TESTES
Foram avaliadas as implementações de técnicas de Visão Estéreo presentes no GIMP e
no OPENCV utilizando três estratégias:
1. Estimação de profundidade diretamente a partir das imagens de duas câmeras,
utilizando o GIMP;
2. Estimação da profundidade usando informações da geometria das câmeras, utilizando
a Autocalibração de câmeras;
3. Estimação da profundidade a partir de uma imagem melhorada, utilizando a
retificação.
Na primeira estratégia, é avaliada a estimação do mapa de profundidade sem a
utilização de algoritmos de pré-processamento ou realce de imagens. Para realização deste
teste, foi utilizado oplugindepthmap do GIMP, dividido em dois testes, utilizando apenas o
plugin e conjunto com a biblioteca OpenCV.
Na segunda estratégia é utilizada a metodologia proposta por Bradski (2008), em que
primeiro é analisado o alinhamento das câmeras através da visualização das imagens
25
adquiridas câmeras, caso não estejam bem alinhados, posiciona-se as câmeras de modo que
fiquem alinhadas.
Após essa verificação aplica-se uma função da biblioteca OpenCV, capaz de verificar
os pontos de correspondência entre as imagens geradas utilizando uma imagem dochessboard,
apresentada na Figura 8a, esta imagem foi impressa em uma folha de papel A4, em que cada
quadrado do tabuleiro possui uma áreade 35 milímetros.
A partir destas informações, é realizado o processo determinação dos parâmetros da
câmera, que pode ser utilizada para corrigir a distorção das lentes, para, então, poder realizar a
calibração das câmeras.
Após a realização da 1ª calibração é criado um arquivo que armazena os valores da
matriz de calibração. Nas próximas execuções do sistema, este arquivo é utilizado para evitar
a realização de calibração novamente, pois, estes parâmetros serão sempre os mesmos a não
ser que exista uma modificação da posição relativa entre câmeras. Com base neste conjunto
de informações são realizados os processamentos devidos para estimar o mapa de
profundidade.
Por fim, na terceira estratégia é realizado um processo conhecido como retificação em
conjunto aos demais processos da estratégia anterior, este processo melhora a qualidade da
imagem antes de ser trabalhada para propiciar um melhor resultado do processamento.
Pode-se ser feita após a calibração das câmeras, utilizando as informações da matriz de
calibração para remover a distorção óptica de cada uma das câmeras eobter um mapa de
profundidade mais preciso e a sem a necessidade dessa calibração, caso exista alguma
alteração nas posições das câmeras.
Com base nas metodologias apresentadas foram realizados testes e seus resultados
serão apresentados no capítulo a seguir.
26
4. RESULTADOS
Neste capítulo são apresentados os resultados dos testes realizados segundo a
metodologia descrita no capítulo anterior.
4.1. DEPTHMAP GIMP
Para avaliar o funcionamento do plugin depthmap, inicialmente foram utilizadas duas
imagens fornecidas no site do desenvolvedor, mostrada na Figura 16.
(a) (b) (c)
Figura 16: imagem da câmera a) d ireita b) esquerda e c) resultado do processamento feito através do GIMP.
Observando-se as figuras percebe-se que nesta imagem, o plugin é capaz de estimar
com eficiência o mapa de profundidade, pois as regiões mais próximas da imagem como o
balde é apresentada em cor cinza clara.Já a árvore é apresentada na cor cinza escuro e também
se percebe um degrade das tonalidades de cinza do piso desde a região mais próxima da
câmera, escurecendo os tons de cinza a medida que a distância aumenta.
Utilizando a mesma configuração do plugin, foi realizado um teste com as imagens
adquiridas com a webcam, utilizada em duas formas de alinhamento, com câmeras próximas e
distantes, respectivamente mostradas nas Figuras Figura 14 e Figura 15 e 14. O resultado do
processamento do plugin para ambos os posicionamentos é mostrado naFigura 17.
27
(a) (b)
Figura 17: Resultadodepthmap GIMP
Nos testes realizados com o conjunto de parâmetros padrão, o mapa de profundidade
foi obtido com muito ruído e praticamente nenhuma nitidez da cena, impossibilitando a
interpretação da imagem posteriormente.
Foi possível observar que o funcionamento da implementação está relacionado com o
brilho da imagem. As imagens adquiridas em câmeras afastadas possuíam um brilho maior e
também as corespresentes no mapa de profundidade resultante estava mais clara, apresentado
na Figura 17 b.
Objetivando uma melhoria na estimação do mapa de profundidade, foram modificados
diversos parâmetros do plugin. Na Figura 18 são mostrados os mapas de profundidade
calculados a partir de imagens adquiridas em câmeras afastadas utilizando diferentes
parâmetros do plugin.
(a) (b) (c)
(d) (e)
Figura 18: Teste depthmap GIMP com diferentes parâmetros.
28
Os resultados mostram que para apesar de utilizar diferentes parâmetros, não houve
melhoria na estimação do mapa de profundidade, pois, as imagens possuem ruídos e não é
possível observar qualquer relacionamento entre a distância e os pixels nas imagens
processadas.
Elsamuko (2008) sugere que os testes sejam realizados utilizando implementação do
método de depthmap implementado através da biblioteca do OpenCV, por esta possui um
melhor desempenho que o plugin perl do GIMP. Na Figura 19 é apresentado o resultado do
processamento do método de depthmap, implementado usando o OpenCV.
Figura 19: Resultado depthmap GIMP, com OpenCV
Como sugerido por Elsamuko (2008), o desempenho do depthmap foi melhor que o da
implementação feita no GIMP, fornecendo uma noção de distância superficial, mas a
qualidade do resultado ainda não era satisfatório para a interpretação da imagem
posteriormente.
4.2. MAPA DE PROFUNDIDADE COM AUTOCALIBRAÇÃO
Esse teste foi feito em dois momentos, pois essa técnica possui alguns passos que
necessitam de atenção, primeiro se tenta calibrar a câmera através do chessboard, apresentado
na seção 4.4, depois de calibrada poderá ser exibido o Mapa de Profundidade.
Foi desenvolvido um sistema para captar as imagens das câmeras, apresentado na
Figura 20, que inicialmente localiza e reconhece o tabuleiro de xadrez impresso em uma folha
A4, apresentado na Figura 21.
Com base nos tabuleiros localizados em ambas as câmeras, os parâmetros de
correspondências são determinados e, então, estes são salvos para calibrar as projeções de
imagem das câmeras.
Durante os testes foi observado que ao tentar localizar o chessboard, o sistema em
vários momentos não o detectava corretamente, fazendo uma calibração errada, sendo
necessária uma nova calibração e atualização dos parâmetros salvos.
29
(a) (b)
Figura 20: Imagens adquiridas pela câmera (a) direita e (b) esquerda.
(a) (b)
Figura 21: Detecção do tabuleiro de xadrez na câmera (a) Direita e (b) Esquerda.
Após a conclusão desse primeiro momento, de localização do chessboard e
armazenamento dos pontos de correspondência, o sistema está pronto para exibir o mapa de
profundidade (depthmap).Mas, seu resultado também não foi muito preciso, apresentando
muitos ruídos na imagem, impossibilitando a identificação dos objetos, aFigura 22 apresenta a
execução em tempo real do Mapa de Profundidade.
O tempo necessário para o processamento foi de aproximadamente 1 segundo por
frame, indicando um elevado custo computacional, podendo ser utilizado em aplicações onde
há movimentos suaves.
30
Figura 22:Execução do sistema, Mapa de Profundidade em tempo real
4.3. RETIFICAÇÃO ESTÉREO
Apesar do OpenCV possuir duas implementações da técnica de retificação, durante os
testes desta monografia foi realizado apenas os testes com a implementação que não utiliza a
calibração.
O resultado da estimação do mapa de profundidade (obtido a partir das imagens
retificadas) é mostrado na Figura 23.Observa-se pelos resultados que o mapa de profundidade
é bastante preciso, contudo, a rotina de retificação possui um alto custo computacional (1,2
segundos para processar as 2 imagens).
Neste caso, a realização de testes em tempo real ficou impossível devido ao tempo de
processamento que ele necessita. Este alto custo computacional é causado devido não
utilização dos parâmetros intrínsecos físicos das câmeras.
31
Figura 23: Resultado do mapa de Profundidade com retificação sem informações da calib ração.
Os algoritmos funcionam bem para imagens de teste fornecidas pelos
desenvolvedores. Contudo, ao utilizar as imagens adquiridas a partir das webcams, nenhum
dos métodos possuiu uma qualidade na detecção esperada.
É necessário um estudo mais aprofundado, realizando maior quantidade de testes para
compreender as características dos algoritmos, bem como um melhor posicionamento e
especificação de distâncias para os testes.
32
5. CONCLUSÃO FINAL
Nesta monografia foi apresentada a revisão bibliográfica das técnicas de visão estéreo
e foram realizados diversos testes com implementações de técnicas de visão estéreo
disponíveis em plug-ins do software de processamento de imagem GIMP e disponíveis na
biblioteca do OpenCV.
Os resultados do processamento feito através do plug- in do GIMP não conseguiu
atingir nenhum resultado positivo enquanto que os algoritmos de Autocalibração e Retificação
sem Calibração disponíveis no OpenCV se mostraram promissores e visto que em outros
trabalhos são muito utilizados e tem um bom desempenho, apesar de não ter obtido um mapa
de profundidade com a câmera utilizada no teste.
A proposta de implementação de um sistema com Autocalibração e Retificação se
mostra ser bem interessante, pois se melhorar o sistema de retificação ao ponto proposto no
seu algoritmo, os parâmetros salvos pela Autocalibração aumentarão muito o desempenho,
sendo possível exibir um mapa de Profundidade de alta precisão para uma cena em tempo
real.
As principais contribuições deste trabalho são:
revisão bibliográfica das técnicas de visão estéreo;
integração de funções do OpenCV para testes de técnicas de visão estéreo;
configuração do GIMP para avaliação do plugin.
Como perspectivas futuras para este trabalho sugerem-se
realização de testes com imagens adquiridas em diferentes condições de
maiores distâncias e com outros modelos de câmera;
avaliaçãode diferentes formas de alinhamento das câmeras, como por exemplo,
usar as câmeras em posição convergente, ao invés de câmeras com eixos
paralelos;
avaliação das metodologias para diminuição do tempo de processamento das
imagens para estimação do mapa de profundidade;
desenvolvimento sistemas que utilizem o mapa de profundidade para
realização de tarefas como, por exemplo, contagem de pessoas ou de objetos.
avaliaçãoda implementação da técnica de retificação que utiliza parâmetros de
calibração.
33
6. REFERÊNCIAS BIBLIOGRÁFICAS
AMSTEL, Frederick. Reconceitualizando a Interação. Disponível em: http://usabilidoido.com.br/reconceitualizando_a_interacao.html Acesso em: 25/06/2012.
ALMEIDA JUNIOR, José Visão Estéreo Multiplataforma, Resumo do Projeto Final de graduação em Engenharia Eletrônica e Computação, UFRJ, 2008.
AZEVEDO, Eduardo, CONCI, Aura,COMPUTAÇÃO GRÁFICA GERAÇÃO DE
IMAGENS, Ed. CAMPUS, 8°edição, 2003.
BRADSKI, Gary, KAEHLER, Adrian, Learning OpenCV, 2008.
CARVALHO, Delmar. A Hipermídia. Disponível em: http://www.eps.ufsc.br/disserta98/delmar/cap2.htm Acesso em: 25 jun.2012.
CORRÊA, Fabiano Rogério(2004), Grades de Evidência com Visão Estéreo
Omnidirecional para Navegação de Robôs Móveis. Projeto de Qualificação de Mestrado
em Engenharia Mecânica da Universidade de São Paulo, São Paulo, 2004 COSTA, R. C. (2009). Desenvolvimento de Métodos de Interação para Sistemas
Embarcados Utilizando Visão Computacional. Projeto de Qualificação de Doutorado em Engenharia de Teleinformáticada Universidade Federal do Ceará, Fortaleza, 2009.
DIAS, Eduardo Tondin Ferreira, NETO, Hugo Vieira, NUNES, João Felipe Calvo, Localização de Objetos Utilizando Uma Cabeça Robótica Com Visão Estéreo.Artigo
2009.
ELSAMUKO, GIMP PLUGIN REGISTRY, Disponível em:
http://registry.gimp.org/node/10217, Data de Acesso: 18/10/2013.
FARIAS, Paulo Cesar Machado de Abreu, Desenvolvimento de uma Metodologia de
Visualização Tridimenssional Aplicada a Estereoscopia, Tese para obtenção de Doutorado em Ciências em Engenharia Nuclear, Universidade Federal do Rio de Janeiro, 2006.
GIMP, OFFICIAL SITE, Disponível em: http://www.gimp.org/, Data de Acesso:
18/10/2013.
HANUKSELLA, J. SANGI, P. HEIKKILA, J. BARNARD, M. Camera Based Motion
Recognition for Mobile Interacion. Artigo 2011.
HARTLEY, Richard, Multiple View Geometry in Computer Vision Second Edition,
Cambridge University, 2004. HOUGH, P. V. C. Machine analysis of bubble chamber pictures . Proceedings of the 16th
International Conference on High Energy Accelerators and Instrumentation, 1959.
LANDIM, Wikerson. Como Funciona a Tecnologia 3D, Disponivel em: http://www.tecmundo.com.br/video/2469-como-funciona-a-tecnologia-3d-.htm. Acesso em: 30/09/2013.
34
LEFLOCH, Damien, Real-Time People Counting System using Video Camera, Projeto de Qualificação de Mestrado em Ciências da Computação, Imagem e Inteligência Artificial da
UFR Sciences et Techniques Batiment Mirande Université de Bourgogne BP 47870. 21078 Cedex France, 2007
LOGITECH, WEBCAM Logitech C210 MANUAL GUIDE, Disponível em: http://www.logitech.com/assets/33983/webcam-c210-gsw.pdf, Data de Acesso: 25/11/2013.
LOURAKIS, Manolis, ZABULIS, Xenophon, Accurate Scale Factor Estimation
in 3D Reconstruction, Artigo, Institute of Computer Science, Foundation for Research and Technology - Hellas (FORTH) Vassilika Vouton, P.O.Box 1385, GR 711 10, Heraklion, Crete, Greece, 2013.
MADALENA, Israel de Morais, AUTOCALIBRAÇÃO DE CÂMERAS EM VISÃO
ESTÉREO, Projeto de Analise de Algoritmo, Universidade Federal de Ouro Preto, 2011.
MALARD, Maria Lúcia, SANTOS, José Cabral dos, BALTAZAR, Ana Paula, PERONTI,
Rodrigo, LAGES, Wallace, COSTA, Marcos Braga, COSME, Vanilson, Princípios Teóricos
da Estéreoscopia, UFGM, Artigo 2008.
MARENGONI, Mauricio, INTRUDUÇÃO À VISÃO CUMPUTACIONAL USANDO
OPENCV, Tutorial, 2009.
MARTINS, José F., SILVA, Jorge A., SOUSA, A. Augusto, Sistema de Realidade
Aumentada Baseado em Padrões Retangulares de Dimensões Desconhecidas, Artigo
2007.
PEREIRA, Adriana C. de Freitas, Estéreos copia e Paralaxe, Disponível em:http://www.fct.unesp.br/docentes/carto/adriana. Acesso em: 13/09/2013
PINHO, Marco Serolli, REALIDADE VIRTUAL VISÃO TRIDIMENSIONAL, Faculdade de Informática PUCRS, Disponível em: http://www.inf.pucrs.br/~pinho/TACCII/, Acesso em:
2/10/2013. RUDEK, Marcelo, Método de Posicionamento e Dimensionamento 3D Baseado em
Imagens Digitais, Tese para qualificação de Doutorado, Universidade de Campinas, 2006, Disponível em: http://www.las.pucpr.br/rudek/doutorado/, Acesso em 7/10/2013.
SANTOS, Maikon Cismoski dos, Revisão de Conceitos em Projeção, Homografia,
Calibração de Câmera, Geometria Epipolar, Mapas de Profundidade e Varredura de
Planos, Trabalho disciplina Visão Computacional, UNICAMP, 2012.
SOUSA SEGUNDO, José Alves, Um Metodo para Determinação da Profundidade
Combinando Visão Estéreo e Autocalibração para Aplicação em RobóticaMóvel, Dissertação de Mestrado, Universidade Federal do Rio Grande do Norte, 2007.
TRUCCO, Emanuele, VERRI, Alessandro, Introductory Techniques for 3-D Computer
Vision, Ed. Prentice Hall, 1998
35
YAHIAOUI, Tarek, MEURIE, Cyril, KHOUDOUR, Louahdi, CABESTAING, François. A
People Counting System Based on Dense and Close Stereovision. Disponível em: http://link.springer.com/chapter/10.1007%2F978-3-540-69905-7_7. Acesso em: 25 set 2013
top related