Top Banner
Modelo de Cameras e Calibração Prof. Dr. Geraldo Braz Junior Slides baseados em nas notas de aula de FeiFei li
31

ModelodeCameras& eCalibração&geraldo/vc/18.cameras.pdf · DistânciaFocal • do&representa&a distância&da lente¶o objeto& • di&representa&a distância&da lente¶o plano&

Jan 28, 2019

Download

Documents

dokhanh
Welcome message from author
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
Page 1: ModelodeCameras& eCalibração&geraldo/vc/18.cameras.pdf · DistânciaFocal • do&representa&a distância&da lente&parao objeto& • di&representa&a distância&da lente&parao plano&

Modelo  de  Cameras  e  Calibração  Prof.  Dr.  Geraldo  Braz  Junior  

Slides  baseados  em  nas  notas  de  aula  de  Fei-­‐Fei  li    

Page 2: ModelodeCameras& eCalibração&geraldo/vc/18.cameras.pdf · DistânciaFocal • do&representa&a distância&da lente&parao objeto& • di&representa&a distância&da lente&parao plano&

Cameras  reais  

2  

Page 3: ModelodeCameras& eCalibração&geraldo/vc/18.cameras.pdf · DistânciaFocal • do&representa&a distância&da lente&parao objeto& • di&representa&a distância&da lente&parao plano&

Distância  Focal  • do  representa  a  distância  da  lente  para  o  objeto  • di  representa  a  distância  da  lente  para  o  plano  da  imagem  (distancia  focal  f)  

3  

Page 4: ModelodeCameras& eCalibração&geraldo/vc/18.cameras.pdf · DistânciaFocal • do&representa&a distância&da lente&parao objeto& • di&representa&a distância&da lente&parao plano&

Simpli8icações  • do  >>  di  • plano  da  imagem  pode  ficar  localizado  sobre  a  distância  focal  

• Simplificação:  posiciona  o  plano  da  imagem  sobre  o  plano  da  lente  para  não  obter  imagens  inverIdas  •  inverte  o  sinal  de  f  

4  

Page 5: ModelodeCameras& eCalibração&geraldo/vc/18.cameras.pdf · DistânciaFocal • do&representa&a distância&da lente&parao objeto& • di&representa&a distância&da lente&parao plano&

Pinhole  

5  

plano de projeção

centro de projeção

Projeção cônica

caixa

filme

objeto pinhole

raios de luz

imagem

Câmera

“pinhole”

Page 6: ModelodeCameras& eCalibração&geraldo/vc/18.cameras.pdf · DistânciaFocal • do&representa&a distância&da lente&parao objeto& • di&representa&a distância&da lente&parao plano&

Notação  

6  ZYfy

ZXfx == ,

xc

yc

zc p’ ⎟

⎟⎟

⎜⎜⎜

=

ZYX

P

y'

x'

ZYfy

ZXfx −=−= ,

Modelo  Visão  

Page 7: ModelodeCameras& eCalibração&geraldo/vc/18.cameras.pdf · DistânciaFocal • do&representa&a distância&da lente&parao objeto& • di&representa&a distância&da lente&parao plano&

Notação  

7  

Page 8: ModelodeCameras& eCalibração&geraldo/vc/18.cameras.pdf · DistânciaFocal • do&representa&a distância&da lente&parao objeto& • di&representa&a distância&da lente&parao plano&

Como  relacionar  3D  -­‐>  2D?  • Coordenadas  homogêneas  

8  

Page 9: ModelodeCameras& eCalibração&geraldo/vc/18.cameras.pdf · DistânciaFocal • do&representa&a distância&da lente&parao objeto& • di&representa&a distância&da lente&parao plano&

Então  precisa  aplicar  projeção!  

9  

Page 10: ModelodeCameras& eCalibração&geraldo/vc/18.cameras.pdf · DistânciaFocal • do&representa&a distância&da lente&parao objeto& • di&representa&a distância&da lente&parao plano&

M  é  a  matriz  ideal  • Assume  que:  • tamanho  de  pixel  uniforme  • centro  óIco  em  (0,0)  • sem  distorções  • sem  rotações  • camera  em  (0,0,0)  

10  

Page 11: ModelodeCameras& eCalibração&geraldo/vc/18.cameras.pdf · DistânciaFocal • do&representa&a distância&da lente&parao objeto& • di&representa&a distância&da lente&parao plano&

Analisando:  decompondo  

11  K  é  conhecido  como  parâmetros  intrinsecos  da  câmera  

Page 12: ModelodeCameras& eCalibração&geraldo/vc/18.cameras.pdf · DistânciaFocal • do&representa&a distância&da lente&parao objeto& • di&representa&a distância&da lente&parao plano&

Incluindo  centro  variável  

12  

Page 13: ModelodeCameras& eCalibração&geraldo/vc/18.cameras.pdf · DistânciaFocal • do&representa&a distância&da lente&parao objeto& • di&representa&a distância&da lente&parao plano&

Pixels  retangulares  

13  

Page 14: ModelodeCameras& eCalibração&geraldo/vc/18.cameras.pdf · DistânciaFocal • do&representa&a distância&da lente&parao objeto& • di&representa&a distância&da lente&parao plano&

Minimizando  Distorção  

14  

Page 15: ModelodeCameras& eCalibração&geraldo/vc/18.cameras.pdf · DistânciaFocal • do&representa&a distância&da lente&parao objeto& • di&representa&a distância&da lente&parao plano&

Parâmetros  Intrinsecos  

15  

Page 16: ModelodeCameras& eCalibração&geraldo/vc/18.cameras.pdf · DistânciaFocal • do&representa&a distância&da lente&parao objeto& • di&representa&a distância&da lente&parao plano&

Parâmetros  Extrínsecos:  Rotação  e  Translação  

16  

Page 17: ModelodeCameras& eCalibração&geraldo/vc/18.cameras.pdf · DistânciaFocal • do&representa&a distância&da lente&parao objeto& • di&representa&a distância&da lente&parao plano&

Parâmetros  Extrínsecos  

17  

Page 18: ModelodeCameras& eCalibração&geraldo/vc/18.cameras.pdf · DistânciaFocal • do&representa&a distância&da lente&parao objeto& • di&representa&a distância&da lente&parao plano&

Como  estimar?  

• São  ao  todo  5+9+3  variáveis  • Simplificações  aplicáveis?  

18  

Page 19: ModelodeCameras& eCalibração&geraldo/vc/18.cameras.pdf · DistânciaFocal • do&representa&a distância&da lente&parao objeto& • di&representa&a distância&da lente&parao plano&

Projeção  ortográ8ica  • Aplicáveis  de  acordo  com  a  aplicação  • distância  infinita,  projeção  paralela  

19  

Page 20: ModelodeCameras& eCalibração&geraldo/vc/18.cameras.pdf · DistânciaFocal • do&representa&a distância&da lente&parao objeto& • di&representa&a distância&da lente&parao plano&

Projeção  Ortográ8ica  Escalada  • Dimensões  dos  objetos  são  pequenas  se  comparadas  com  a  distância  •   paralela  

20  

Page 21: ModelodeCameras& eCalibração&geraldo/vc/18.cameras.pdf · DistânciaFocal • do&representa&a distância&da lente&parao objeto& • di&representa&a distância&da lente&parao plano&

E  se  não  for  ortogonal?  • Calibração  de  câmera  •  Problema:  obter  os  parâmetros  extrínsecos  (R,  T)  e  intrínsecos  (K)  da  transformação  projeIva  de  câmera.  •  Dados:  n  pares  de  pontos  correspondentes  (Pi,  pi)  na  cena  e  na  imagem.  

 

21  

Page 22: ModelodeCameras& eCalibração&geraldo/vc/18.cameras.pdf · DistânciaFocal • do&representa&a distância&da lente&parao objeto& • di&representa&a distância&da lente&parao plano&

Calibração  de  câmeras  • Calibração  ↔  esImação  de  parâmetros  →  oImização  • Alguns  métodos:  Tsai,  Zhang  

22  

2,,

,,|)(|min iTRKi

TRKPfp −∑

pontos da cena

pontos da imagem

projeção (função não linear)

Page 23: ModelodeCameras& eCalibração&geraldo/vc/18.cameras.pdf · DistânciaFocal • do&representa&a distância&da lente&parao objeto& • di&representa&a distância&da lente&parao plano&

Calibração  com  Opecv  • Usa  uma  função  básica  com  o  padrão  de  um  tabuleiro  de  xadrez  (marcador)  • Necessita  de  várias  projeções  (Zhang)  

23  

Page 24: ModelodeCameras& eCalibração&geraldo/vc/18.cameras.pdf · DistânciaFocal • do&representa&a distância&da lente&parao objeto& • di&representa&a distância&da lente&parao plano&

Detectando  o  tabuleiro  vector<cv::Point2f>  imageCorners;  Size  boardSize(6,4);    

bool  found  =  findChessboardCorners(image,  boardSize,  imageCorners);    -­‐>  imagem  com  o  tabuleiro  num  ponto  de  vista  -­‐>  boardSize:  quantos  cantos  deseja  detectar  

24  

Page 25: ModelodeCameras& eCalibração&geraldo/vc/18.cameras.pdf · DistânciaFocal • do&representa&a distância&da lente&parao objeto& • di&representa&a distância&da lente&parao plano&

Detectando  o  tabuleiro  • drawChessboardCorners  (image,  boardSize,  imageCorners,  found)  

25  

Page 26: ModelodeCameras& eCalibração&geraldo/vc/18.cameras.pdf · DistânciaFocal • do&representa&a distância&da lente&parao objeto& • di&representa&a distância&da lente&parao plano&

Para  calibrar  • Deve  inserir  um  conjunto  de  imagens  como  esta  

• Duas  listas  1.  pontos  num  modelo  ideal  em  3D  2.  pontos  localizados  na  imagem  

• As  duas  configuram  a  correspondência  do  modelo  para  a  imagem  

26  

Page 27: ModelodeCameras& eCalibração&geraldo/vc/18.cameras.pdf · DistânciaFocal • do&representa&a distância&da lente&parao objeto& • di&representa&a distância&da lente&parao plano&

Calibrando  vector<Mat>  rvecs,  tvecs;    

calibrateCamera(    objectPoints,    //3D    imagePoints,    //  pontos  na  imagem    imageSize,        //  tamanho  da  imagem    cameraMatrix,  //  output  parâmetros  intrinsecos    distCoeffs,      //  output  matriz  de  distorção    rvecs,  tvecs,  //  parâmetros  extrínsecos    flag);                //    

27  

Page 28: ModelodeCameras& eCalibração&geraldo/vc/18.cameras.pdf · DistânciaFocal • do&representa&a distância&da lente&parao objeto& • di&representa&a distância&da lente&parao plano&

Reduzindo  distorção  initUndistortRec9fyMap(  

 cameraMatrix,    //  parâmetros  intrinsecos    distCoeffs,  //  parâmetros  de  distorção    cv::Mat(),    //  opcional    cv::Mat(),    //  opcional  

                       image.size(),    //  tamanho  da  imagem  distorcida                          CV_32FC1,            //  Ipo  de  saida                          map1,  map2);      //  funções  de  mapeamento  para  x  e  y    

remap(image,  undistorted,  map1,  map2,                    cv::INTER_LINEAR);  //  Ipo  de  interpolação  

28  

Page 29: ModelodeCameras& eCalibração&geraldo/vc/18.cameras.pdf · DistânciaFocal • do&representa&a distância&da lente&parao objeto& • di&representa&a distância&da lente&parao plano&

29  

Page 30: ModelodeCameras& eCalibração&geraldo/vc/18.cameras.pdf · DistânciaFocal • do&representa&a distância&da lente&parao objeto& • di&representa&a distância&da lente&parao plano&

Outras  abordagens  –  Use  keydetector  

30  

Page 31: ModelodeCameras& eCalibração&geraldo/vc/18.cameras.pdf · DistânciaFocal • do&representa&a distância&da lente&parao objeto& • di&representa&a distância&da lente&parao plano&

Some  o  Opengl    

31