Visão Computacional Visão Estereoscópica Eduardo A. B. da Silva Programa de Engenharia Elétrica - COPPE/UFRJ Laboratório de Sinais, Multimídia e Telecomunicações [email protected]Sergio L. Netto Programa de Engenharia Elétrica - COPPE/UFRJ Laboratório de Sinais, Multimídia e Telecomunicações [email protected]Julho de 2017 (SMT – COPPE/UFRJ) UFRJ Julho de 2017 1 / 55
55
Embed
Visão Computacional VisãoEstereoscópicaeduardo/imgproc_dell-emc_2017/... · Anaglifos →Duas imagens em cores diferentes (vermelho e azul) são mostradas simul-taneamente; →Filtros
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Visão Computacional
Visão EstereoscópicaEduardo A. B. da Silva
Programa de Engenharia Elétrica - COPPE/UFRJLaboratório de Sinais, Multimídia e Telecomunicações
1 Visão EstereoscópicaVisão EstereoscópicaGeometria EstéreoMatriz EssencialMatriz FundamentalCasamento Estéreo e Mapas de DisparidadeVisualizando 3DAnaglifosPolarizaçãoÓculos Ativos
(SMT – COPPE/UFRJ) UFRJ Julho de 2017 2 / 55
Visão Estereoscópica Visão Estereoscópica
Introdução
Problema: Reconstruir modelo do mundo a partir de uma imagem
(SMT – COPPE/UFRJ) UFRJ Julho de 2017 3 / 55
Visão Estereoscópica Visão Estereoscópica
Uma vista basta?
(SMT – COPPE/UFRJ) UFRJ Julho de 2017 4 / 55
Visão Estereoscópica Visão Estereoscópica
Estrutura e profundidade são ambíguos a partir de uma única vista!
(SMT – COPPE/UFRJ) UFRJ Julho de 2017 5 / 55
Visão Estereoscópica Visão Estereoscópica
⇒ Qualquer ponto no raio OP tem imagem p;
⇒ Conhecemos as disparidades a priori?
(SMT – COPPE/UFRJ) UFRJ Julho de 2017 6 / 55
Visão Estereoscópica Visão Estereoscópica
Uma câmera calibrada basta?
(SMT – COPPE/UFRJ) UFRJ Julho de 2017 7 / 55
Visão Estereoscópica Visão Estereoscópica
Nossa solução:
(SMT – COPPE/UFRJ) UFRJ Julho de 2017 8 / 55
Visão Estereoscópica Visão Estereoscópica
Triangulação: uma segunda câmera nos permite distinguir os pontos no raio OP ecalcular sua profundidade.
(SMT – COPPE/UFRJ) UFRJ Julho de 2017 9 / 55
Visão Estereoscópica Visão Estereoscópica
Solução: encontrar X que minimiza ‖ x1 − P1X ‖2 + ‖ x2 − P2X ‖2
(SMT – COPPE/UFRJ) UFRJ Julho de 2017 10 / 55
Visão Estereoscópica Geometria Estéreo
Geometria Estéreo: Câmeras com Eixos ParalelosAssuma eixos paralelos e câmeras conhecidas;
⇒ Como relacionar pontos no espaço e nas câmeras?
(SMT – COPPE/UFRJ) UFRJ Julho de 2017 11 / 55
Visão Estereoscópica Geometria Estéreo
Como calcular a profundidade (Z) do ponto P a partir das duas imagens?
Triângulos semelhantes plPpr e OlPOr :
T + xl − xr
Z − f = TZ
Z = f Txr − xl
= f Td
→ d = disparidade;
(SMT – COPPE/UFRJ) UFRJ Julho de 2017 12 / 55
Visão Estereoscópica Geometria Estéreo
Profundidade a partir da disparidade:
→ Então, se pudermos encontrar pontos correspondentes, podemos estimar suaprofundidade relativa.
(SMT – COPPE/UFRJ) UFRJ Julho de 2017 13 / 55
Visão Estereoscópica Geometria Estéreo
Geometria Estéreo: Caso Geral, Câmeras Calibradas
Eixos não precisam ser paralelos;
(SMT – COPPE/UFRJ) UFRJ Julho de 2017 14 / 55
Visão Estereoscópica Geometria Estéreo
Dado o ponto p na imagem da esquerda, quais são suas possíveis posições naimagem da direita?
(SMT – COPPE/UFRJ) UFRJ Julho de 2017 15 / 55
Visão Estereoscópica Geometria Estéreo
(SMT – COPPE/UFRJ) UFRJ Julho de 2017 16 / 55
Visão Estereoscópica Geometria Estéreo
Que reta é essa?
(SMT – COPPE/UFRJ) UFRJ Julho de 2017 17 / 55
Visão Estereoscópica Geometria Estéreo
Geometria EpipolarA geometria de duas vistas nos permite restringir as possíveis localizações de umpixel numa segunda imagem a partir de sua posição numa primeira imagem;
→ Elas devem estar em uma linha definida pelo plano que contém o ponto noespaço 3D e os centro óticos das câmeras;
• Linha Base: Linha que conecta os centros óticos das duas câmeras;
• Epipolo: Ponto de interseção da linha base e o plano da imagem;→ Qual seu significado geométrico?
• Plano Epipolar: Plano que contéma linha base e o ponto no espaço 3D;
• Linha Epipolar: Interseção do plano epipolar e o plano da imagem;
⇒ Todas as linhas epipolares se interceptam no epipolo;⇒ Planos epipolares interceptam as imagens em linhas epipolares;
⇒ Qual a utilidade da restrição epipolar?
(SMT – COPPE/UFRJ) UFRJ Julho de 2017 20 / 55
Visão Estereoscópica Geometria Estéreo
Busco candidatos apenas na linha epipolar
(SMT – COPPE/UFRJ) UFRJ Julho de 2017 21 / 55
Visão Estereoscópica Geometria Estéreo
Como linhas epipolares são vistas nas imagens?
(SMT – COPPE/UFRJ) UFRJ Julho de 2017 22 / 55
Visão Estereoscópica Geometria Estéreo
Câmeras convergentes
(SMT – COPPE/UFRJ) UFRJ Julho de 2017 23 / 55
Visão Estereoscópica Geometria Estéreo
Câmeras paralelas
(SMT – COPPE/UFRJ) UFRJ Julho de 2017 24 / 55
Visão Estereoscópica Geometria Estéreo
⇒ Busca por pontos correspondentes pode se restringir apenas à linha epipolar;
(SMT – COPPE/UFRJ) UFRJ Julho de 2017 25 / 55
Visão Estereoscópica Matriz Essencial
Geometria Epipolar: Câmeras Calibradas
Se o sistema estéreo está calibrado:⇒ Sabemos como girar e deslocar o frame de referência 1 para o frame dereferência 2:
X′c = RXc + t
(SMT – COPPE/UFRJ) UFRJ Julho de 2017 26 / 55
Visão Estereoscópica Matriz Essencial
Relembrando: Produto Externo
Se a× b = c então:a · c = 0b · c = 0
(SMT – COPPE/UFRJ) UFRJ Julho de 2017 27 / 55
Visão Estereoscópica Matriz Essencial
Introduzindo a notação:
a× b =
0 −a3 a2a3 0 −a1−a2 a1 0
b1b2b3
= c
Podemos ver o produto externo como uma multiplicação de matrizes:
[a×] =
0 −a3 a2a3 0 −a1−a2 a1 0
⇒ a× b = [a×]b
(SMT – COPPE/UFRJ) UFRJ Julho de 2017 28 / 55
Visão Estereoscópica Matriz Essencial
Voltando:
X′ = RX + tt× X′ = t× RX + t× t
= t× RX
⇒ X′ · (t× X′) = X′ · (t× RX)= 0
⇒ Os vetores X′, t e RX são coplanares;
(SMT – COPPE/UFRJ) UFRJ Julho de 2017 29 / 55
Visão Estereoscópica Matriz Essencial
Matriz Essencial:
X′ · (t× RX) = 0X′ · ([t×]RX) = 0
Seja E = [t×]R
⇒ X′TEX = 0
⇒ E é chamada matriz essencial e relaciona pontos correspondentes entre as duascâmeras, dadas a rotação e translação do sistema⇒ E mapeia pontos em uma imagem em linhas epipolares na outra!
(SMT – COPPE/UFRJ) UFRJ Julho de 2017 30 / 55
Visão Estereoscópica Matriz Essencial
Propriedades da Matriz Essencial:
→ EX é a linha epipolar associada com X (l ′ = EX);→ ETX′ é a linha epipolar associada com X′ (l = ETX′);→ Ee = 0 e ET e ′ = 0;→ E é singular (rank 2);→ E tem 5 graus de liberdade (3 para rotação e 2 para translação);
(SMT – COPPE/UFRJ) UFRJ Julho de 2017 31 / 55
Visão Estereoscópica Matriz Fundamental
Câmeras Não Calibradas: Matriz Fundamental
Se o sistema estéreo não está calibrado (não conheço matrizes K e K′:⇒ X′ = K′−1x ′; X = K−1x⇒ X′TEX = (K′−1x ′)TEK−1x = x ′T K′−1TEK−1︸ ︷︷ ︸
F
x = x ′TFx
⇒ F é chamada matriz fundamental ;(SMT – COPPE/UFRJ) UFRJ Julho de 2017 32 / 55
Visão Estereoscópica Matriz Fundamental
Propriedades da Matriz Fundamental:
→ Fx é a linha epipolar associada com x (l ′ = Fx);→ FT x ′ é a linha epipolar associada com x ′ (l = FT x ′);→ Fe = 0 e FT e ′ = 0;→ F é singular (rank 2);→ F tem 7 graus de liberdade;
(SMT – COPPE/UFRJ) UFRJ Julho de 2017 33 / 55
Visão Estereoscópica Matriz Fundamental
Estimando F
Se não conhecemos K, K′, R e t, é possível estimar F?
⇒ Sim, desde que tenhamos correspondências suficientes.
(SMT – COPPE/UFRJ) UFRJ Julho de 2017 34 / 55
Visão Estereoscópica Matriz Fundamental
Estimando F: Algoritmo de 8 pontos
F é definida tal que
x ′TFx = 0
para quaisquer pontos correspondentes x e x ′ em duas imagens;
Sejam x = (x , y , 1)T e x′ = (x ′, y ′, 1)T dois pontos correspondentes nas imagens e
F′ =
f11 f12 f13f21 f22 f23f31 f32 f33
(SMT – COPPE/UFRJ) UFRJ Julho de 2017 35 / 55
Visão Estereoscópica Matriz Fundamental
Passo1: Normalize os pontos para cada imagem
• Encontre centróides dos pontos, subtraia-o das coordenadas;
• Determine a faixa dinâmica das coordenadas, normalize-as entre 0 e 1;