um estudo das técnicas de obtenção de forma a...

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

Upload: trankhuong

Post on 25-Sep-2018

212 views

Category:

Documents


0 download

TRANSCRIPT

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

Aluno: Gabriel MaliziaOrientador: Professor Marcelo GattassCo-Orientador: Professor Paulo Cezar Carvalho

Roteiro Introdução. Métodos de codificação de luz estruturada. Sistema estudado.

1. Calibração de câmeras e padrões de calibração.2. Captura e processamento de imagens.3. Triangulação e modelo final.

Implementação: demonstração. Resultados obtidos. Testes realizados. Conclusões e trabalhos futuros.

Introdução Estudo dos métodos estéreos ativos para captura

de formas. Voltado para aplicações em engenharia. Precisão nas medidas e robustez na captura de

diferentes objetos. Câmeras e projetores acessíveis. Motivação inicial: Visão Computacional.

Classificação dos Métodos de Aquisição de Formas Classificação dos métodos de aquisição de formas. Diferentes métodos para diferentes propósitos.

Princípio Básico de Métodos Estéreos Ativos: Triangulação Mesmo princípio da visão estéreo. Câmeras calibradas.

Princípio Básico de Métodos Estéreos Ativos Dificuldade na correspondência automática entre

pontos das duas imagens.

Princípio Básico de Métodos Estéreos Ativos Solução: utilizar uma fonte de luz para marcar a

cena com padrões conhecidos.

Princípio Básico de Métodos Estéreos Ativos Projetor digital como fonte de luz estruturada. Padrões com vários elementos. Cada elemento deve ser codificado univocamente.

Métodos de Codificação de Luz Estruturada: Codificação Temporal Projeta seqüencialmente slides com os dígitos do

número binário das listras enumeradas. n slides para 2n listras. Dois níveis de iluminação. Cenas estáticas. Codifica um eixo.

[23] Posdamer

Métodos de Codificação de Luz Estruturada: Codificação Temporal Codificação de Gray: codificação

mais robusta. Fronteiras não são repetidas.

Em [10] foram utilizados três canais de cores.

3x menos slides para mesmo número de listras codificadas.

[22]Inokuchi

Métodos de Codificação de Luz Estruturada: Codificação Espacial Único slide. Vizinhança utilizada para codificar posição. Necessidade de manter a estrutura espacial.

[32] Griffin

Métodos de Codificação de Luz Estruturada: Codificação Espacial

Métodos de Codificação de Luz Estruturada: Codificação Modulada Modula intensidade da luz ao longo de um eixo.

Codificação direta. 28 níveis de intensidade. Padrão único. Utiliza padrão auxiliar. Restrição a texturas de objetos. Sensível a ruídos.

[28] Carihill [30] Tajima

Métodos de Codificação de Luz Estruturada: Codificação Modulada

Sistema Estudado

Codificação temporal. Código de Gray.

Calibração de Câmeras Modelo de Tsai. Conjunto de parâmetros extrínsecos dá a orientação

da câmera em relação a uma referência fixa:T – matriz de translação da câmera.R – matriz de rotação.

Calibração de Câmeras Conjunto de parâmetros intrínsecos define o as

características ópticas, geométricas e digitais da câmera:f – distância focalk1 e k2 – coeficientes de distorção radial das lentes.ox e oy – coordenadas do centro da imagem no plano da imagem.sx e sy – fatores de escala horizontal e vertical.

Calibração de Câmeras

f

Calibração de Câmeras Inicialmente modelo foi simplificado para o modelo

de câmera “pinhole”. Houve uma necessidade de se tratar as distorções

radiais: OpenCV. Calibração feita com padrões de calibração

coplanares.

Padrões de Calibração Padrão com elipses. Padrão com vértices.

1

2

4

3

5

67

8

9

10

11

12

13

14

Padrão com Elipses: Processamento

Filtro“Threshold” Invertido

ComponentesConexas

A B

C

Padrão com Elipses: Processamento

A

B

C

Bordas das Componentes

A

Centro das Elipses

B

C

A B

C

A B

C

Padrão com Elipses: Resultado

Padrão com Vértices: Protótipos

Padrão com Vértices: Processamento

Filtro “Threshold” Invertido

Bordas das Componentes Conexas em Listas Circulares

Padrão com Vértices: Processamento

Padrão com Vértices: Processamento Heurística para encontrar vértices nas listas. Dado uma lista de tamanho n:

- são as coordenadas de um pixel na posiçãom, com .

- dá a distância do ponto m aoponto p.

- Para os 2k vizinhos mais próximos ao ponto naposição m podemos definir o somatório:

mm yx ,nm 1

mpmppm yyxxd ,

imm

k

iimmm ddr

1

Padrão com Vértices: Processamento

1.2.

minrrm

kmpkmrr pm ,

Padrão com Vértices: Processamento

< 0> 0

“Fit” de Reta

Padrão com Vértices

Captura e Processamento de Imagens: Ruídos Tratamento de ruídos.

- Ruído Gaussiano.- Somado ao valor de cada pixel:

- Distribuição Gaussiana:

- Imagem média.

),(),(),( yxnyxCyxE

2

2

2

21)(

x

exG

1

0

),(1),(k

ii yxE

kyxE

Captura e Processamento de Imagens: Ruídos

8k1k

Câmera: Sony DFW-VL500

Captura e Processamento de Imagens: Codificação Temporal Eixos codificados separadamente com listras

horizontais e verticais. n slides produz 2n listras. As coordenadas codificadas de um pixel são dadas

por (u,v), que é diferente das sua coordenadas na imagem da câmera.

Listras projetadas devem ter a mesma largura em pixels.

Captura e Processamento de Imagens: Seqüência de Imagens

Captura e Processamento de Imagens: Detecção de Listras

Captura e Processamento de Imagens: Detecção de Listras Critério de avaliação para cada pixel na imagem.

1

0

0 255

255

ND

ND

30

30

Intensidade do Pixel na Imagem

do Padrão

Intensidade do Pixel na Imagem

do Padrão Inverso

Captura e Processamento de Imagens: Detecção de Bordas Resultado da operação.

Captura e Processamento de Imagens: Diferentes Exposições

Captura e Processamento de Imagens: Pixels Válidos

Captura e Processamento de Imagens: Pixels Válidos

Captura e Processamento de Imagens: Decodificação Grupos de pixels conexos com mesmo par de

coordenadas codificadas .),( vu

Triangulação: Ponto Médio Ponto representativo com coordenadas da imagem para

cada grupo de pixels com coordenadas codificadas .),( vu

Triangulação Triangulação entre os pontos médios de mesma

coordenada codificada nas duas câmeras.

Triangulação: Nuvem de Pontos Utilizamos pontos de

coordenadas codificadas vizinhas para criar polígonos.

Triangulação: Modelo Poligonal

Triangulação: Modelo Poligonal

Triangulação: Modelo Poligonal

Triangulação: Textura Imagens do objeto iluminado uniformemente são

utilizadas como textura. Uma textura para cada câmera. Ponto médio é utilizado como coordenada de

textura do vértice.

Triangulação: Textura

Implementação: Demonstração

Equipamentos Utilizados AMD Athlon XP1600+, com 512MB de memória e

placa gráfica NVIDIA FX5600. Câmeras Sony DFW-VL500 da Sony. Projetores CTX EzPro 610 (LCD) e Infocus X1 (DLP).

Problemas Ocorridos Padrões de interferência na

superfície dos modelos capturados com muitos pontos.

Mesmos padrões de interferências encontrados nas imagens.

Problemas Ocorridos Um problema que ocorre nas fronteiras das imagens

capturadas entre listras claras e escuras projetadas sobre o objeto capturado.

Primeiro Teste Padrão com vértices foi capturado pelo sistema. Três diferentes usuários mediram distâncias entre

vértices. Calibração feita com os dois padrões.

Primeiro Teste Resultados do padrão com elipses. Distâncias médias dos três usuários.

Desvio Padrão:cm066,0

Primeiro Teste Resultados do padrão com vértices. Distâncias médias dos três usuários.

Desvio Padrão:cm073,0

Segundo Tese – Ajuste de Cilindro Uma tubulação de PVC

foi capturada. Levanta-se os

parâmetros da equação paramétrica de um cilindro que melhor descreve a tubulação utilizada.

No final comparamos o raio achado com o raio real da tubulação.

Segundo Tese – Ajuste de Cilindro

- Ponto por onde passa o eixo central.

- Direção do eixo central.- Raio do cilindro.

dirX, dirY e dirZ são ortogonais entre si.

dirYRdirXRdirZspsp )sin()cos(),( 0

0p

dirZR

Segundo Tese – Ajuste de Cilindro

Se o eixo não for paralelo ao plano XZ:

Queremos minimizar para cada ponto:

),,( 0000 cbap ),,( wvudirZ

),1,( wudirZ ),0,( 000 cap

Rri b)(

Segundo Tese – Ajuste de Cilindro

Com:

E:

Rri 22)( ca

),,( 000 czyaxpp a

20

220

2 )()( czyax a

)1()))(())(((

22

2002

wuczwyaxu

c

dirZdirZdirZ

dirZa

0c

Segundo Tese – Ajuste de Cilindro Diâmetro médio do tubo: Colocado em três diferentes posições em relação às

câmeras. Câmeras foram calibradas várias vezes com cada

um dos dois padrões de calibração.

mm)5,03,150(

Segundo Tese – Resultados

Posição A

Segundo Tese – Resultados

Maiores erros:B1 (padrão com elipses) 3,6%C4 (padrão com vértices) 3,5%

Conclusões Calibração das câmeras deve ser melhorada. Diferença de resultados entre os dois testes. Método de codificação temporal de luz estruturada

foi eficaz para diferentes tipos de objetos. Dificuldade apenas para materiais excessivamente

especulares. Resolução das câmeras foi um fator limitante no

sistema. Padrão de calibração com vértice pode ser utilizado

em outras aplicações em tempo real.

Conclusões Método de ajuste de cilindro de utilização

simplificada. OpenCV recomendado para aplicações de Visão

Computacional em tempo real.

Trabalhos Futuros Melhorar a calibração de câmeras do sistema.

Possivelmente utilizar calibração 3D. Utilizar melhores câmeras. Buscar outra solução mais “portátil”.