Viso Computacional Viso Estreo http www dca ufrn

  • Slides: 81
Download presentation
Visão Computacional Visão Estéreo http: //www. dca. ufrn. br/~lmarcos/courses/visao

Visão Computacional Visão Estéreo http: //www. dca. ufrn. br/~lmarcos/courses/visao

Shape from stereo • • Duas ou mais imagens da mesma cena Tomadas de

Shape from stereo • • Duas ou mais imagens da mesma cena Tomadas de pontos de vista diferentes Percepção da 3 a dimensão Inversão de projeção por triangulação determinando a 3 a dimensão

Estéreo x Motion

Estéreo x Motion

Random Dot Stereograms • http: //www. nottingham. ac. uk/~etzpc/sirds. h tml

Random Dot Stereograms • http: //www. nottingham. ac. uk/~etzpc/sirds. h tml

Princípio básico da reconstrução estéreo (triângulos)

Princípio básico da reconstrução estéreo (triângulos)

Projeção (transformações) • Objetos guardam relações com mundo real • Rotação, translação e escala

Projeção (transformações) • Objetos guardam relações com mundo real • Rotação, translação e escala (corpo rígido) • Determinar pontos correspondentes nas imagens usando estas restrições • Tendo as câmeras calibradas em relação ao sistema de mundo, sabendo-se a distância entre as câmeras, pode-se determinar o triângulo e a 3 a dimensão

Modelo estéreo P(x, y, z) y (xl, yl) f f (0, 0, 0) O

Modelo estéreo P(x, y, z) y (xl, yl) f f (0, 0, 0) O xr , xr (b, 0, 0) b x

P(x, y, z) y Premissas • • (xl, xr yl) , xr f f

P(x, y, z) y Premissas • • (xl, xr yl) , xr f f O (0, 0, 0)b (b, 0, 0) (x, y, z) = coordenadas de um ponto no espaço Origem imagem esquerda (xl, yl) em (0, 0, f) Ponto focal esquerdo em (0, 0, 0) Imagem direita (xr, yr) com origem em (b, 0, f) Ponto focal esquerdo em (0, 0, 0), direito em (b, 0, 0) b = linha de base f = distância focal (dos centros óticos aos planos imagens) x

Projetando no plano x x-b xl = x f z z xr = f

Projetando no plano x x-b xl = x f z z xr = f xl xr f b x-b z fx xl = z xr = f (x-b) z

Deslocamento em y=0 (x, y, z) y yl yr xl xr f yr yl

Deslocamento em y=0 (x, y, z) y yl yr xl xr f yr yl y = = f f z f O b b Figura 2. 1 - Modelo estéreo x yl = yr = fy z

xl = Disparidade estéreo • Manipulando as equações: xl - xr = fx -

xl = Disparidade estéreo • Manipulando as equações: xl - xr = fx - f (x-b) = fx - fx + z • Definindo d z = xl - xr z z • Substituindo z nas equações • achamos finalmente xr = fb z xl = e = fx z e fx z f (x-b) fb z yl = fy z z

Generalizando (movendo origem) (-d, 0, 0) (0, 0, 0) (d, 0, 0)

Generalizando (movendo origem) (-d, 0, 0) (0, 0, 0) (d, 0, 0)

Calculando a disparidade b d

Calculando a disparidade b d

Observações • z é inversamente proporcional a d • z é diretamente proporcional a

Observações • z é inversamente proporcional a d • z é diretamente proporcional a b • fixado um erro na determinação de d: – precisão na determinação de z cresce de forma direta com b. – com o crescimento de b, imagens tendem a ser muito diferentes uma da outra – ponto visível numa imagem pode não ser noutra, mesmo com vergência

Mais observações • d é proporcional à distância focal f • à medida que

Mais observações • d é proporcional à distância focal f • à medida que f aumenta, imagens também • aumenta a distância do ponto projetado nas imagens ao centro destas e em conseqüência a disparidade • no modelo ideal: – pontos próximos disparidade grande – pontos longe disparidade pequena – ponto no infinito disparidade zero

Observações • Modelo com vergência: – Pontos no horópter: disparidade zero – Pontos mais

Observações • Modelo com vergência: – Pontos no horópter: disparidade zero – Pontos mais próximos que o horópter: disparidade positiva – Pontos mais longe que o horópter: disparidade negativa • Bom sinal, daria para manter um robô a uma certa distância de uma pessoa usando apenas disparidade Horopter

Determinando altura dos pontos Para pequenos valores de h (terrenos planos): h 1 h

Determinando altura dos pontos Para pequenos valores de h (terrenos planos): h 1 h 0 h 2 hi

Restrição epipolar • Verifica-se no sistema ideal apresentado que as imagem yl e yr

Restrição epipolar • Verifica-se no sistema ideal apresentado que as imagem yl e yr são a mesma e definem uma reta paralela ao eixo x denominada linha epipolar • Para eixos óticos não paralelos, as projeções de um ponto localizam-se em linhas dadas pela interseção entre cada plano imagem e o plano formado pelos dois centros óticos (epipolos) mais o ponto objeto considerado • Linhas epipolares

Restrição epipolar

Restrição epipolar

Restrição epipolar • Supondo a orientação relativa entre os dois sistemas conhecida (visto a

Restrição epipolar • Supondo a orientação relativa entre os dois sistemas conhecida (visto a seguir) • A projeção de um ponto (xl, yl) na imagem esquerda é um raio que passa pela origem da imagem esquerda • As coordenadas de um ponto qualquer situado neste raio, referenciadas ao sistema esquerdo podem ser expressas por:

Restrição epipolar • No sistema direito, as coordenadas desse mesmo ponto no raio projetivo

Restrição epipolar • No sistema direito, as coordenadas desse mesmo ponto no raio projetivo correspondente são:

Restrição epipolar • Assumindo que a distância focal nos dois sistemas é a mesma,

Restrição epipolar • Assumindo que a distância focal nos dois sistemas é a mesma, as seguintes equações de projeção podem ser estabelecidas para o sistema direito:

Restrição epipolar • Usando as abreviações temos as equações anteriores dadas por que representam

Restrição epipolar • Usando as abreviações temos as equações anteriores dadas por que representam uma reta pelo ponto (u/w, v/w), quando s = 0, e por (a/c , b/c), quando s = .

Restrição epipolar • O primeiro destes pontos é a imagem do ponto nodal (focal)

Restrição epipolar • O primeiro destes pontos é a imagem do ponto nodal (focal) da câmera esquerda no plano da imagem direita e o segundo é a imagem do ponto acima considerado também na imagem direita.

Restrição epipolar

Restrição epipolar

Generalidades • Considere o raio descrito por um ponto P, o centro Sl do

Generalidades • Considere o raio descrito por um ponto P, o centro Sl do sistema esquerdo e a imagem Pl do ponto (estão alinhados). • Se tomarmos um raio Dr paralelo a este, que passe pelo centro do sistema direito, a imagem deste raio na imagem direita e a imagem do ponto nodal da câmera esquerda na imagem direita definirão uma reta coincidente com a primeira linha epipolar, descrita antes.

Visão Computacional Visão Estéreo http: //www. dca. ufrn. br/~lmarcos/courses/visao

Visão Computacional Visão Estéreo http: //www. dca. ufrn. br/~lmarcos/courses/visao

Profundidade da disparidade e ângulos de vergência

Profundidade da disparidade e ângulos de vergência

Vergência

Vergência

Vergência

Vergência

Orientação relativa

Orientação relativa

Orientação Relativa (uma câmera em relação à outra) • Restabelecer as posições relativas que

Orientação Relativa (uma câmera em relação à outra) • Restabelecer as posições relativas que uma câmera tinha em relação à outra, no momento de tomada das imagens • Não importa os pontos de mundo, apenas de imagem.

Orientação relativa • Achar R, de modo que: • Sendo que

Orientação relativa • Achar R, de modo que: • Sendo que

Orientação relativa • Então, dados n pontos com coordenadas nas imagens conhecidas, devemos montar

Orientação relativa • Então, dados n pontos com coordenadas nas imagens conhecidas, devemos montar um sistema de equações para achar R • 9 incógnitas para R • 3 incógnitas para T • Total de 12 incógnitas (ou graus de liberdade)

Orientação relativa 3 equações (restrições normalidade de R) + 1 equação (restrição de ortogonalidade

Orientação relativa 3 equações (restrições normalidade de R) + 1 equação (restrição de ortogonalidade de R) 4 pontos correspondentes no sistema de câmera Total de 12 restrições seria OK? Problema de escala Total de 13 restrições

Orientação relativa P(x, y, z) y yl yr y xr xl P( y y

Orientação relativa P(x, y, z) y yl yr y xr xl P( y y x x, x y, b z) Figura 2. 1 - Modelo l r l O b Figura 2. 1 - Modelo estéreo x O estéreo Mínimo de 5 pontos = 5 x 2 = 10 10 + 4 = 14 > 13 1 incógnita para S r x

Solução y y l y x r l O P( x, y, z) b

Solução y y l y x r l O P( x, y, z) b x Figura 2. 1 - Modelo estéreo • 5 pontos com coordenadas de imagem conhecidas (não coplanares) em ambas as imagens

Orientação absoluta ou exterior (sistema em relação ao mundo)

Orientação absoluta ou exterior (sistema em relação ao mundo)

Orientação absoluta (determina parâmetros intrínsecos) • Colocar o par (orientado relativamente) em escala em

Orientação absoluta (determina parâmetros intrínsecos) • Colocar o par (orientado relativamente) em escala em relação ao mundo. Dada a disparidade de um ponto, determinar a coordenada 3 D deste. • O sistema completo fica orientado em relação ao frame de mundo.

Orientação absoluta (exterior) • Com 4 pontos não co-planares + + + + •

Orientação absoluta (exterior) • Com 4 pontos não co-planares + + + + • 16 equações e 16 incógnitas + +

Orientação absoluta

Orientação absoluta

Algoritmos estéreos 1) Extração de feições ou características das imagens; 2) Estabelecimento de correspondência

Algoritmos estéreos 1) Extração de feições ou características das imagens; 2) Estabelecimento de correspondência (matching) entre as feições extraídas; 3) Reconstrução tridimensional.

Matching • Podemos pensar, a princípio, em determinar detalhes que sejam inconfundíveis nas imagens,

Matching • Podemos pensar, a princípio, em determinar detalhes que sejam inconfundíveis nas imagens, tais como contornos de objetos, certos ângulos, linhas, etc, em uma imagem e tentar sua localização na outra • Usar as diferenças de tons de cinza entre pixels vizinhos (textura) e tentar estabelecer a correspondência.

Busca por correspondência

Busca por correspondência

Corresp. estéreo (matching) • estereogramas de pontos randômicos • evidências da fase de correspondências

Corresp. estéreo (matching) • estereogramas de pontos randômicos • evidências da fase de correspondências • correlação de áreas ou de features (elementos) • as imagens são pré-filtradas (eliminar altas freqüências e realce de características) • Ideal: correspondênca para todos os pixels nas imagens (na prática impossível).

Problemas - ruídos - erros • Valores da luminância dos pixels correspondentes podem ser

Problemas - ruídos - erros • Valores da luminância dos pixels correspondentes podem ser diferentes. – Diferenças na quantização da luminância – Características dos sistemas de aquisição – Diferentes pontos de vista (diferentes ângulos) – Distorções ocorridas no processo de aquisição – Má localização dos elementos – Ruídos. • Ocultação de um elemento numa imagem.

Visão Estéreo • Matching

Visão Estéreo • Matching

Métodos de matching • Matching baseado em áreas (completo) – correlacão entre janelas –

Métodos de matching • Matching baseado em áreas (completo) – correlacão entre janelas – minimização de erros – relaxação • Matching baseado em elementos (esparso) – encontrar elementos – correlação entre elementos (esparso)

Pré-processamento • Redução de ruídos • Realce de elementos (arestas, cantos, textura) • Normalização

Pré-processamento • Redução de ruídos • Realce de elementos (arestas, cantos, textura) • Normalização (em torno da média) • Outras atenuações ou facilitações (wavelets, multi-resolução, segmentação)

Pré-processamento (filtragem)

Pré-processamento (filtragem)

Correlação • Dada uma janela numa imagem, encontrar uma janela na outra imagem cujos

Correlação • Dada uma janela numa imagem, encontrar uma janela na outra imagem cujos pixels sejam o mais similar possível aos pixels da primeira janela

Correlação • Determinar mínimo em: • ou determinar máximo em:

Correlação • Determinar mínimo em: • ou determinar máximo em:

Correlação

Correlação

Correlação

Correlação

Correlação cruzada normalizada

Correlação cruzada normalizada

Correlação cruzada normalizada

Correlação cruzada normalizada

Correlação cruzada normalizada

Correlação cruzada normalizada

CORRELAÇÃO DE SINAIS • Nishihara (1982) primitiva “and” em imagem reduzida (32 x 32

CORRELAÇÃO DE SINAIS • Nishihara (1982) primitiva “and” em imagem reduzida (32 x 32 posições)

JANELAS ADAPTATIVAS • 1) restringir tamanho de janela por contornos e por um tamanho

JANELAS ADAPTATIVAS • 1) restringir tamanho de janela por contornos e por um tamanho máximo • 2) Cálculo da disparidade para cada ponto da imagem com precisão a nível de píxel. • 3) Completar o mapa de disparidade iterativamente • 4) Densificar o mapa de disparidade

MATCHING POR RELAXAÇÃO • 1) Cada ponto em uma imagem possui apenas um valor

MATCHING POR RELAXAÇÃO • 1) Cada ponto em uma imagem possui apenas um valor de profundidade • 2) O valor da profundidade de um ponto na cena é similar ao de seu vizinho Cn+1(x, y, d)={ x’, y’, d’ S Cn(x’, y’, d’) x’, y’, d’ Cn(x’, y’, d’) + C 0(x, y, d)} • Termo entre chaves {t}=1 se t>T e 0 caso contrário • S =conj. pontos x’, y’, d’ tal que |x - x’| 1 e d = d’ • =conj. pontos x’, y’, d’ tal que |x - x’| 1 e |d - d’|=1

Livro do Horn (Robot Vision) • Relaxação usando o gradiente de sombreamento

Livro do Horn (Robot Vision) • Relaxação usando o gradiente de sombreamento

CLIQUE MAXIMAL • Considere o grafo completo cujos nós são os píxels (ou elementos)

CLIQUE MAXIMAL • Considere o grafo completo cujos nós são os píxels (ou elementos) de cada imagem • Ligações ou ramos estão definidos entre cada par deste conjunto de nós, nos dois sentidos. • Uma esfera, onde os pontos sobre a superfície de cada hemisfério é o conjunto de píxels de cada uma das duas imagens respectivamente, havendo arestas ligando a todos. • Estabelecer um subgrafo que indique a melhor semelhança entre cada píxel destas imagens. O subgrafo solução é denominado clique maximal.

CORRELAÇÃO de ELEMENTOS • Encontrar numa das imagens elementos que possuam características semelhantes a

CORRELAÇÃO de ELEMENTOS • Encontrar numa das imagens elementos que possuam características semelhantes a dados elementos (pixels ou grupos de pixels) da outra imagem, através do cômputo de valores de correlação

Métodos baseados em elementos • El = {{p 1, I 1}, {p 2, I

Métodos baseados em elementos • El = {{p 1, I 1}, {p 2, I 2}, …, {pn, In}} • Er = {{p 1, I 1}, {p 2, I 2}, …, {pn, In}} • Percorrer todos os elementos de (El e Er), encontrando os pares de elementos mais similares nas duas imagens

Métodos baseados em elementos

Métodos baseados em elementos

CORRELAÇÃO DE CANTOS • 1) Extração de elementos tais como sequências de arestas ou

CORRELAÇÃO DE CANTOS • 1) Extração de elementos tais como sequências de arestas ou aproximações de polígonos e localizar cantos nestes. • 2) Aplica-se um operador diferencial e relaciona-se pontos que são cantos por limiarização (thresholding). • 3) Uso de um modelo explícito da estrutura local da imagem na vizinhança dos cantos e procurar similares numéricos para tal modelo por uma minimização não linear.

CORRESPONDÊNCIA de ARESTAS • 1) Extração de arestas. Definição de estruturas lineares compostas por

CORRESPONDÊNCIA de ARESTAS • 1) Extração de arestas. Definição de estruturas lineares compostas por sequencias de pixels. • 2) Cálculos de valores de correlação nestas estruturas • 3) Pode-se eliminar algumas arestas na busca da correspondente, examinando o tamanho da estrutura (comprimento), a curvatura, etc. . .

VARREDURA DE LINHAS EPIPOLARES COM USO DE PROGRAMAÇÃO DIN MICA Divide-se o espaço de

VARREDURA DE LINHAS EPIPOLARES COM USO DE PROGRAMAÇÃO DIN MICA Divide-se o espaço de disparidade dentro de cada linha epipolar em dois sub-espaços Resolve-se o problema em um deles e depois no outro Inter e intra-scan-line

UTILIZAÇÃO DE SNAKES • tracking de objetos em sequências de imagens • snake minimiza

UTILIZAÇÃO DE SNAKES • tracking de objetos em sequências de imagens • snake minimiza energia numa spline, guiada por restrições de forças externas e influenciada pelas forças da imagem que a empurram em direção a elementos (features) tais como linhas e arestas • snakes são contornos ativos que estacionam-se nas proximidades de arestas, localizando-as de forma precisa. • Usa-se a continuidade de espaços de escala para enlarguecer a região de captura nos arredores de um elemento, ou seja, uma borração inicial da imagem com um filtro.

Usando Gabor Wavelets e Fourier • Deslocamento no espaço corresponde a um deslocamento de

Usando Gabor Wavelets e Fourier • Deslocamento no espaço corresponde a um deslocamento de fase na transformada de Fourier • Wavelets aproxima Fourier • (Sanger, Qian)

Matching recursivo (LM)

Matching recursivo (LM)

Marcos Medeiros • Imagem é decomposta em um espaço de escalas usando Wavelets ou

Marcos Medeiros • Imagem é decomposta em um espaço de escalas usando Wavelets ou Gaussianas • Correlação começa em um nível grosseiro e até chegar ao nível de melhor precisão • Ganha em tempo de busca, para o melhor nível • Gargalo de ter que computar o espaço de escalas

Marcos Medeiros • Problema é então como determinar o nível onde se deve iniciar

Marcos Medeiros • Problema é então como determinar o nível onde se deve iniciar o matching, que pode ser diferente para cada pixel • Solução: usar um predicado e lógica fuzzy para calcular qual será este nível, para cada pixel • No final, usou apenas Lo. G (não Wavelets) • Bons resultados (mais rápido que usando as wavelets)

Trabalho de casa • Implementar metodos de Reconstrucao Estereo, para 13/11/07 • Passos: –

Trabalho de casa • Implementar metodos de Reconstrucao Estereo, para 13/11/07 • Passos: – Determinar o estado da arte em metodos baseados em area – Determinar o estado da arte em metodos baseados em features (elementos) – Determinar o estado da arte em metodos baseados em biologia (Gabor, Wavelets, Phase based methods, etc). – Escolher 2 metodos diferentes e implementa-los (usando imagens providas pelas cameras cedidas ao grupo). – Entregar um relatorio com o estado da arte.