implementação de um dispositivo de rastreamento Óptico com 6 graus de liberdades

40
Implementação de um Implementação de um dispositivo de dispositivo de rastreamento Óptico com 6 rastreamento Óptico com 6 graus de liberdades graus de liberdades Manuel Eduardo Loaiza Fernández Manuel Eduardo Loaiza Fernández Orientador: Prof. Marcelo Gattass Orientador: Prof. Marcelo Gattass Co - Orientador: Prof. Alberto Barbosa Raposo Co - Orientador: Prof. Alberto Barbosa Raposo

Upload: ziarre

Post on 04-Jan-2016

24 views

Category:

Documents


2 download

DESCRIPTION

Implementação de um dispositivo de rastreamento Óptico com 6 graus de liberdades. Manuel Eduardo Loaiza Fernández Orientador: Prof. Marcelo Gattass Co - Orientador: Prof. Alberto Barbosa Raposo. Motivação. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Implementação de um dispositivo de  rastreamento Óptico com 6 graus de liberdades

Implementação de um dispositivo de Implementação de um dispositivo de rastreamento Óptico com 6 graus de rastreamento Óptico com 6 graus de

liberdadesliberdades

Manuel Eduardo Loaiza FernándezManuel Eduardo Loaiza FernándezOrientador: Prof. Marcelo GattassOrientador: Prof. Marcelo Gattass

Co - Orientador: Prof. Alberto Barbosa RaposoCo - Orientador: Prof. Alberto Barbosa Raposo

Page 2: Implementação de um dispositivo de  rastreamento Óptico com 6 graus de liberdades

MotivaçãoMotivação

Tem se dispositivos usados para Tem se dispositivos usados para permitir ao usuário uma interação permitir ao usuário uma interação com um cenário virtual.com um cenário virtual.

Os dispositivos baseados em Os dispositivos baseados em diferentes tecnologias: sonoras, diferentes tecnologias: sonoras, magnéticas, mecânicas, ópticas.magnéticas, mecânicas, ópticas.

Procura se um dispositivo que Procura se um dispositivo que permita melhorar flexibilidade em permita melhorar flexibilidade em referencia aos movimentos naturais referencia aos movimentos naturais que o usuário quisera fazer.que o usuário quisera fazer.

Page 3: Implementação de um dispositivo de  rastreamento Óptico com 6 graus de liberdades

ObjetivoObjetivo

A Implementação de um dispositivo de A Implementação de um dispositivo de rastreamento óptico para a detecção do rastreamento óptico para a detecção do movimento de um grupo de marcadores movimento de um grupo de marcadores em seus 6 graus de liberdade. em seus 6 graus de liberdade.

A Implementação deve detectar e mostrar na tela as translações (3 graus de liberdade ) e rotações (3 graus de liberdade) feitas

pelo grupo de marcadores.

Page 4: Implementação de um dispositivo de  rastreamento Óptico com 6 graus de liberdades

Tópicos ChaveTópicos Chave

Captura e processamento da Imagem.Captura e processamento da Imagem.

Calibração de câmeras.Calibração de câmeras.

Reconhecimento de formas.Reconhecimento de formas.

Correlação entre marcadores. Correlação entre marcadores.

Reconstrução da posição 3D de cada marcador.Reconstrução da posição 3D de cada marcador.

Page 5: Implementação de um dispositivo de  rastreamento Óptico com 6 graus de liberdades

Equipamento Utilizado de para o Equipamento Utilizado de para o TrabalhoTrabalho

Para a Para a implementação implementação utilizamos 3 câmeras utilizamos 3 câmeras web, CCD e CMOS.web, CCD e CMOS.

E marcadores E marcadores esféricos.esféricos.

Page 6: Implementação de um dispositivo de  rastreamento Óptico com 6 graus de liberdades

Pipeline (Seqüência de Trabalho)Pipeline (Seqüência de Trabalho)

Captura da Imagem.Captura da Imagem.

Processamento da imagem.Processamento da imagem.

Reconhecimento e identificação de pontos de Reconhecimento e identificação de pontos de referencia para calibração das câmeras.referencia para calibração das câmeras.

Calibração das câmeras.Calibração das câmeras.

Detecção dos marcadores dentro das imagens Detecção dos marcadores dentro das imagens capturadas.capturadas.

Page 7: Implementação de um dispositivo de  rastreamento Óptico com 6 graus de liberdades

Pipeline (Seqüência de Trabalho)Pipeline (Seqüência de Trabalho)

Correlação entre os marcadores detectados nas Correlação entre os marcadores detectados nas diferentes imagens capturadas.diferentes imagens capturadas.

Reconstrução 3D dos marcadores detectados.Reconstrução 3D dos marcadores detectados.

Seguimento e detecção dos movimentos do Seguimento e detecção dos movimentos do grupo de marcadores. grupo de marcadores.

Page 8: Implementação de um dispositivo de  rastreamento Óptico com 6 graus de liberdades

Captura das ImagensCaptura das Imagens

O primeiro passo é a captura das imagens de O primeiro passo é a captura das imagens de vídeo dos dispositivos.vídeo dos dispositivos.

Page 9: Implementação de um dispositivo de  rastreamento Óptico com 6 graus de liberdades

Captura das ImagensCaptura das Imagens

A captura é feita a A captura é feita a uma resolução de uma resolução de 320 x 240 pixels.320 x 240 pixels.

O frame rate das 3 O frame rate das 3 câmeras esta numa câmeras esta numa media de 29 – 30 fps.media de 29 – 30 fps.

Page 10: Implementação de um dispositivo de  rastreamento Óptico com 6 graus de liberdades

Captura das ImagensCaptura das Imagens

Observações:Observações:

A resolução ficou restrita a resolução 320 A resolução ficou restrita a resolução 320 x 240,porque em base as experiências x 240,porque em base as experiências feitas, aumentar a resolução diminuía o feitas, aumentar a resolução diminuía o frame rate global a metade 15fps.frame rate global a metade 15fps.

As câmeras estão conectadas a um só As câmeras estão conectadas a um só computador pelas portas USB.computador pelas portas USB.

Page 11: Implementação de um dispositivo de  rastreamento Óptico com 6 graus de liberdades

Processamento das imagensProcessamento das imagensAplicação de filtros sobre as imagens com a Aplicação de filtros sobre as imagens com a finalidade de deixar só a informação relevante finalidade de deixar só a informação relevante para nossa implementação.para nossa implementação.

Grey Scale Gaussiano

Inversão Threshold

Page 12: Implementação de um dispositivo de  rastreamento Óptico com 6 graus de liberdades

Processamento das imagensProcessamento das imagensFiltro Gauss : foi utilizado para suavizar a imagem Filtro Gauss : foi utilizado para suavizar a imagem resolvendo possíveis problemas de sombras e brilhos resolvendo possíveis problemas de sombras e brilhos que se vem dentro do espaço capturado. que se vem dentro do espaço capturado.

Threshold : foi utilizado para binarizar a imagem, em Threshold : foi utilizado para binarizar a imagem, em base ao contraste que gera entre as escalas de base ao contraste que gera entre as escalas de cinzas que se tem para o fundo o as que se tem para cinzas que se tem para o fundo o as que se tem para os marcadores.os marcadores.

Page 13: Implementação de um dispositivo de  rastreamento Óptico com 6 graus de liberdades

Processamento das imagensProcessamento das imagens

A partir das imagens em binário A partir das imagens em binário extraímos as áreas brancas que extraímos as áreas brancas que aparecem nela. aparecem nela. A estratégia é extrair o centro das A estratégia é extrair o centro das áreas brancas como pontos de áreas brancas como pontos de referencia em coordenadas da referencia em coordenadas da imagem.imagem.A extração é feita por um A extração é feita por um algoritmo de aproximação de algoritmo de aproximação de elipses, aplicado as áreas brancas elipses, aplicado as áreas brancas encontradas da imagem e cujo encontradas da imagem e cujo centro é o extraído como ponto de centro é o extraído como ponto de referencia.referencia.

Page 14: Implementação de um dispositivo de  rastreamento Óptico com 6 graus de liberdades

Reconhecimento de Pontos para Reconhecimento de Pontos para CalibraçãoCalibração

A partir de pontos de referencia se faz a A partir de pontos de referencia se faz a calibração das 3 câmeras web em relação a calibração das 3 câmeras web em relação a um único mundo de referencia.um único mundo de referencia.

Page 15: Implementação de um dispositivo de  rastreamento Óptico com 6 graus de liberdades

Reconhecimento de Pontos para Reconhecimento de Pontos para CalibraçãoCalibração

O padrão proposto inicialmente foi o seguinte:O padrão proposto inicialmente foi o seguinte:

Page 16: Implementação de um dispositivo de  rastreamento Óptico com 6 graus de liberdades

Reconhecimento de Pontos para Reconhecimento de Pontos para CalibraçãoCalibração

Os pontos de referencia são os centro das áreas Os pontos de referencia são os centro das áreas brancas que se tem na imagem.brancas que se tem na imagem.As vantagens do padrão, que utilizo, é a fácil As vantagens do padrão, que utilizo, é a fácil identificação e correlação que se pode fazer dos pontos identificação e correlação que se pode fazer dos pontos de referencia.de referencia.A estratégia usada para identificar os pontos que eles A estratégia usada para identificar os pontos que eles aparecem na imagem com suas coordenadas Y sempre aparecem na imagem com suas coordenadas Y sempre crescente um em relação ao outro.crescente um em relação ao outro.

Page 17: Implementação de um dispositivo de  rastreamento Óptico com 6 graus de liberdades

Reconhecimento de Pontos para Reconhecimento de Pontos para CalibraçãoCalibração

Observações:Observações:

O padrão permite capturar pontos bem O padrão permite capturar pontos bem distribuídos nos três planos do mundo de distribuídos nos três planos do mundo de referencia.referencia.

O padrão não precisa de técnicas O padrão não precisa de técnicas adicionais para ser reconhecido. adicionais para ser reconhecido. (algoritmo de linhas, cantos, etc.)(algoritmo de linhas, cantos, etc.)

A captura do padrão é feita só uma vez. A captura do padrão é feita só uma vez.

Page 18: Implementação de um dispositivo de  rastreamento Óptico com 6 graus de liberdades

Calibração das CâmerasCalibração das Câmeras

Se calibrara as câmeras a partir dos pontos de Se calibrara as câmeras a partir dos pontos de referencia.referencia.Para a calibração das câmeras se utilizara o Para a calibração das câmeras se utilizara o método TSAI 3D noncoplanar.método TSAI 3D noncoplanar.

u

v

Yw(mm)

Xw(mm)

Zw(mm)

Pixels

Page 19: Implementação de um dispositivo de  rastreamento Óptico com 6 graus de liberdades

Calibração das CâmerasCalibração das Câmeras

A calibração da câmera consiste na estimativa A calibração da câmera consiste na estimativa dos parâmetros extrínsecas e intrínsecos de dos parâmetros extrínsecas e intrínsecos de nossa câmera.nossa câmera.Os parâmetros extrínsecos estão compostos por Os parâmetros extrínsecos estão compostos por uma matriz rotação e um vetor de translação, uma matriz rotação e um vetor de translação, que nos ajudam a levar coordenadas do mundo que nos ajudam a levar coordenadas do mundo a coordenadas da câmera.a coordenadas da câmera.Os parâmetros intrínsecos estão compostos por Os parâmetros intrínsecos estão compostos por vários fatores internos da câmera, que nos vários fatores internos da câmera, que nos ajudam a levar coordenadas do mundo da ajudam a levar coordenadas do mundo da câmera para coordenadas na imagem 2D.câmera para coordenadas na imagem 2D.

Page 20: Implementação de um dispositivo de  rastreamento Óptico com 6 graus de liberdades

Calibração das CâmerasCalibração das CâmerasMatriz de Parâmetros Extrínsecos Matriz de Parâmetros Extrínsecos

T

z

y

x

PR

Z

Y

X

P wc

Page 21: Implementação de um dispositivo de  rastreamento Óptico com 6 graus de liberdades

Calibração das CâmerasCalibração das Câmeras

O método TSAI NonCoplanar é O método TSAI NonCoplanar é utilizado para fazer o calculo utilizado para fazer o calculo dos parâmetros extrínsecos de dos parâmetros extrínsecos de nossa câmera.nossa câmera.Para este processo se utiliza os Para este processo se utiliza os pontos de referencia, em pontos de referencia, em coordenadas da imagem que coordenadas da imagem que capturamos, e que estão capturamos, e que estão corretamente em correlação, corretamente em correlação, com seus equivalentes em com seus equivalentes em coordenadas no mundo.coordenadas no mundo.

11, yx

22 , yx

33 , yx

NN yx ,

www ZYX111

,,

www ZYX222

,,

www ZYX333

,,

www

NNNZYX ,,

Page 22: Implementação de um dispositivo de  rastreamento Óptico com 6 graus de liberdades

Calibração das CâmerasCalibração das Câmeras

Assim o método TSAI NonCoplanar tentará Assim o método TSAI NonCoplanar tentará montar um sistema de equações com o qual montar um sistema de equações com o qual calculara os elementos que compõem a matriz calculara os elementos que compõem a matriz de rotação e o vetor de translação, parâmetros de rotação e o vetor de translação, parâmetros extrínsecos. extrínsecos.

zwww

ywww

yi

zwww

xwww

xi

TZrYrXr

TZrYrXrfy

TZrYrXr

TZrYrXrfx

iii

iii

iii

iii

333231

232221

333231

131211

Page 23: Implementação de um dispositivo de  rastreamento Óptico com 6 graus de liberdades

Calibração das CâmerasCalibração das Câmeras

ywww

i

yz

www

xwww

i

xz

www

TZrYrXry

fTZrYrXr

TZrYrXrx

fTZrYrXr

iiiiii

iiiiii

232221333231

131211333231

xwww

xiywww

yi TZrYrXrfyTZrYrXrfx iiiiii 131211232221

xiw

iw

iw

iyiw

iw

iw

i TyrZyrYyrXyTxrZxrYxrXx iiiiii 131211232221

xiw

iw

iw

iyiw

iw

iw

i TyrZyrYyrXyTxrZxrYxrXx iiiiii 131211232221

1

Page 24: Implementação de um dispositivo de  rastreamento Óptico com 6 graus de liberdades

Calibração das CâmerasCalibração das Câmeras

087654321 vyvZyvYyvXyvxvZxvYxvXx iw

iw

iw

iiw

iw

iw

i iiiiii

xw

13w

12w

11w

33w

32w

31 TZrYrXrZrYrXr iiiiii i

x

x

fzT

T131211c rrri

T131211c rrrj

T131211c rrrk

xy TvTv

rvrv

rvrv

rvrv

84

137233

126222

115211

0v0Av

Page 25: Implementação de um dispositivo de  rastreamento Óptico com 6 graus de liberdades

Calibração das CâmerasCalibração das CâmerasAssim conseguimos achar o seguinte:Assim conseguimos achar o seguinte: Matriz de RotaçãoMatriz de Rotação Vetor TranslaçãoVetor Translação

z

y

x

w

w

w

c

c

c

T

T

T

Z

Y

X

rrr

rrr

rrr

Z

Y

X

333231

332221

131211

1333231

232221

131211

w

w

w

z

y

x

c

c

c

Z

Y

X

Trrr

Trrr

Trrr

Z

Y

X

Definindo a Matriz de Parâmetros Definindo a Matriz de Parâmetros Extrínsecos :Extrínsecos :

Page 26: Implementação de um dispositivo de  rastreamento Óptico com 6 graus de liberdades

Calibração das CâmerasCalibração das CâmerasMatriz de Parâmetros IntrínsecosMatriz de Parâmetros Intrínsecos

Page 27: Implementação de um dispositivo de  rastreamento Óptico com 6 graus de liberdades

Calibração das CâmerasCalibração das Câmeras

Os parâmetros intrínsecos são aqueles que Os parâmetros intrínsecos são aqueles que estão em relação às características próprias do estão em relação às características próprias do hardware com o qual trabalhamos.hardware com o qual trabalhamos.Assim precisamos das seguintes informações:Assim precisamos das seguintes informações: dxdx e e dydy , que é a distancia horizontal e vertical entre , que é a distancia horizontal e vertical entre

os centros das células contidas no chip CCD dentro os centros das células contidas no chip CCD dentro da câmera.da câmera.

NcxNcx, que é o numero de células contidas numa fila no , que é o numero de células contidas numa fila no chip CCD.chip CCD.

NfxNfx, que é o numero de pixels contido numa fila na , que é o numero de pixels contido numa fila na imagem.imagem.

Page 28: Implementação de um dispositivo de  rastreamento Óptico com 6 graus de liberdades

Calibração das CâmerasCalibração das Câmeras

Para as câmeras com as que Para as câmeras com as que trabalhamos temostrabalhamos temosCâmera Câmera Logitech QuickCam Pro Logitech QuickCam Pro - 4000- 4000:: Modelo do chip: Modelo do chip: Sony ICX098AK, Sony ICX098AK,

Sony ICX098BQ, Sharp LZ24BP.Sony ICX098BQ, Sharp LZ24BP. Na horizontal Na horizontal dxdx = 0.0056 µm, na = 0.0056 µm, na

vertical vertical dydy = 0.0056 µm. = 0.0056 µm. O número de pixels efetivo utilizado O número de pixels efetivo utilizado

dentro do chip foi dentro do chip foi NcxNcx = 659 (pixels), = 659 (pixels), e o tamanho do frame buffer com o e o tamanho do frame buffer com o qual trabalha a câmera é de qual trabalha a câmera é de NfxNfx = = 640 (pixels).640 (pixels).

Page 29: Implementação de um dispositivo de  rastreamento Óptico com 6 graus de liberdades

Calibração das CâmerasCalibração das Câmeras

Câmera Câmera Creative Webcam Nx -ProCreative Webcam Nx -Pro:: Modelo do chip:Modelo do chip: Hyundai HV7131B. Hyundai HV7131B. Na horizontal Na horizontal dxdx = 0.008 µm, na vertical = 0.008 µm, na vertical

dydy = 0.008 µm. = 0.008 µm. O número de pixels efetivo utilizado O número de pixels efetivo utilizado

dentro do chip foi dentro do chip foi NcxNcx = 642 (pixels), e = 642 (pixels), e o tamanho do frame buffer com o qual o tamanho do frame buffer com o qual trabalha a câmera é de trabalha a câmera é de NfxNfx = 640 = 640 (pixels).(pixels).

Page 30: Implementação de um dispositivo de  rastreamento Óptico com 6 graus de liberdades

Calibração das CâmerasCalibração das Câmeras

Com estes valores podemos criar nossa Com estes valores podemos criar nossa matriz de parâmetros intrínsecos da matriz de parâmetros intrínsecos da seguinte forma:seguinte forma: O primeiro passo que expressar nossas O primeiro passo que expressar nossas

coordenadas de câmera para coordenadas coordenadas de câmera para coordenadas da imagem.da imagem.

)v,u(pZ)Y,(X,Pc~~

Z

Yfv

Z

Xfu

~

~

Page 31: Implementação de um dispositivo de  rastreamento Óptico com 6 graus de liberdades

Calibração das CâmerasCalibração das Câmeras

O segundo passo é expressar nossas O segundo passo é expressar nossas coordenadas da imagem distorcidas para coordenadas da imagem distorcidas para coordenadas da imagem sem distorção.coordenadas da imagem sem distorção.

Aqui é importante definir o valor da constante Aqui é importante definir o valor da constante de distorção radial de distorção radial kk11..

)~,~()~,~( ddd vupvup vDv

uDu

yd

xd

~~

~~

Onde o calculo da distorção em é:

yx DD ,22

42

21

42

21

~~

...)(~...)(~

dd

dy

dx

vur

rKrKvD

rKrKuD

Page 32: Implementação de um dispositivo de  rastreamento Óptico com 6 graus de liberdades

Calibração das CâmerasCalibração das Câmeras

O terceiro passo é calcular a transformação O terceiro passo é calcular a transformação das coordenadas reais da imagem em das coordenadas reais da imagem em coordenadas da imagem no computador coordenadas da imagem no computador levando em consideração os tamanhos dos levando em consideração os tamanhos dos pixels da tela.pixels da tela.

)~,~()~,~( fffddd vupvup

Page 33: Implementação de um dispositivo de  rastreamento Óptico com 6 graus de liberdades

Calibração das CâmerasCalibração das Câmeras Os parâmetros que são calculados são: Os parâmetros que são calculados são:

O fator de incerteza, introduzido para tratar os casos O fator de incerteza, introduzido para tratar os casos como: o retardo entre o tempo de captura das como: o retardo entre o tempo de captura das imagens e o tempo real de exploração dentro do imagens e o tempo real de exploração dentro do hardware do dispositivo de captura.hardware do dispositivo de captura.

xS

Nfx

Ncxdd xx

A escala entre o tamanho da célula do chip de A escala entre o tamanho da célula do chip de captura e o número de pixel que representa.captura e o número de pixel que representa.

Page 34: Implementação de um dispositivo de  rastreamento Óptico com 6 graus de liberdades

Calibração das CâmerasCalibração das Câmeras

Assim definimos esta terceira etapa como:Assim definimos esta terceira etapa como:

)~,~()~,~( fffddd vupvup ydyf

xdxxf

Cvdv

CudSu

~~

~~

1

1

Nossa matriz de parâmetros intrínsecos ficara Nossa matriz de parâmetros intrínsecos ficara então como:então como:

100

0

0

int yy

xx

x

Cd

f

Cd

Sf

M

Page 35: Implementação de um dispositivo de  rastreamento Óptico com 6 graus de liberdades

Calibração das CâmerasCalibração das Câmeras

Como produto final desta etapa teremos:Como produto final desta etapa teremos:

1

z

y

x

P

1000

trrr

trrr

trrr

1

Z

Y

X

Pw

w

w

wz987

y654

x321

c

c

c

c

c

c

c

cyy

xx

x

f

f

f

Z

Y

X

P

100

Cd

f0

C0d

Sf

1

v

u

p ~

~

Page 36: Implementação de um dispositivo de  rastreamento Óptico com 6 graus de liberdades

Calibração das CâmerasCalibração das CâmerasAqui temos as imagens das câmeras, com os Aqui temos as imagens das câmeras, com os eixos do mundo de referencia, desenhados a eixos do mundo de referencia, desenhados a partir das matrizes de OpenGL.partir das matrizes de OpenGL.

Page 37: Implementação de um dispositivo de  rastreamento Óptico com 6 graus de liberdades

Detecção de MarcadoresDetecção de MarcadoresAqui aplicaremos filtros sobre as imagens para Aqui aplicaremos filtros sobre as imagens para extrair a informação que precisamos sobre os extrair a informação que precisamos sobre os marcadores.marcadores.Se utilizo a extração de contornos para a Se utilizo a extração de contornos para a detecção dos marcadores.detecção dos marcadores.

Page 38: Implementação de um dispositivo de  rastreamento Óptico com 6 graus de liberdades

Correlação dos MarcadoresCorrelação dos Marcadores

Uma vez detectados os marcadores , se fará a Uma vez detectados os marcadores , se fará a correlação dos mesmos entre as 3 imagens correlação dos mesmos entre as 3 imagens capturadas.capturadas.Se utilizara a geometria epipolar para Se utilizara a geometria epipolar para implementação desta etapa. implementação desta etapa.

Intuitivo

Precisa se criar estratégias de correlação

2

1

3

4

1 2

3

4

?

Page 39: Implementação de um dispositivo de  rastreamento Óptico com 6 graus de liberdades

Reconstrução dos MarcadoresReconstrução dos MarcadoresA partir da correlação dos marcadores , se A partir da correlação dos marcadores , se utilizará esta informação para obter a posição utilizará esta informação para obter a posição 3D de cada marcador.3D de cada marcador.

Page 40: Implementação de um dispositivo de  rastreamento Óptico com 6 graus de liberdades

Reconstrução dos MarcadoresReconstrução dos Marcadores