1 / 105

Visão estéreo - correspondência e reconstrução -

Visão estéreo - correspondência e reconstrução -. Reconstrução da forma. Captura de movimento. Basic principle to recover position from stereo images: Triangulation. Requires correspondence and camera calibration. Mapa de profundiade. Disparidade x Profundidade. T.

nash
Télécharger la présentation

Visão estéreo - correspondência e reconstrução -

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Visão estéreo- correspondência e reconstrução -

  2. Reconstrução da forma

  3. Captura de movimento

  4. Basic principle to recover position from stereo images: Triangulation • Requires correspondence and camera calibration

  5. Mapa de profundiade Disparidade x Profundidade

  6. T Profundidade versus disparidade P Z xr xl cl cr f ol or x x z z

  7. Uso do mapa de profundidade Cesar Palomo Larry Zitnick

  8. Time slice, bullet-time or frozen time effects

  9. Correpondência por semelhança Sum of Square Differences – SSD ou Correlação

  10. Correspondênciapor vizinhança correlacionada

  11. y0+v x0+u Semelhança de duas regiões WW(SSD – Sum of Squared Difference) y0 x0

  12. constante constante Semelhança de duas regiões WW(correlação)

  13. Semelhança de duas regiões WW(Normalização) Normalizando:

  14. - Correspondence between points • With characteristics 

  15. - Correspondence problems: Oclusion 

  16. - Correspondence problem: lack of characterists  Ostridge egg on a Chinese checker board 

  17. Correspondência com luz estruturada Estéreo Ativo

  18. Taxonomy of active range acquisition methods CT Transmissive Sonar Non-contact Non-optical Microwave radar Reflective Shape from focus Shape from shading Active shape acquisition Passive Shape from silhouettes Slices … Destructive Optical Radar Contact Triangulation Active Non destructive Active depth from defocus Active stereo CMM … Asla Sá et al, Coded Structure Light for 3D-Photograpy: an Overview, Revista de Informática Teórica e Aplicada, Volume IX, Número 2, Porto Alegre, 2002 Brian Curless. New Methods for Surface Reconstruction from Range Images. PhDDissertation. Stanford University. 1997

  19. Active stereo solution • Use a light source to mark corresponding points uncalibrated light source calibrated light source One point at the time: long capture process. 

  20. Active stereo: capturing many points • Use of a digital projector as a structured light source • Pattern with several elements in a way where each element can be identified univocally point coding: prone to errors stripes: more robust

  21. problem: all transitions occur in the same place! Methods for light coding: temporal codification • Project, in sequence, a series of slides that code in the image a binary number. • n slides for 2n stripes. Two ilumination levels. • Static scene. Code one axis. can be also 111 or 001! slide1 slide2 slide3 code Posdamer, J. L. Altschuler, M. D. Surface Measurement by Space-Encoded Projected Beam Systems. Comput. Graphics Image Process. 18, pp. 1-17, 1982.

  22. Código de Gray  código binário • Código binário 1 bit: 0 1 2 bits: 00 01 10 11 3 bits: 000 001 010 011 100 101 110 111 • Código de Gray 1 bit: 0 1 2 bits: 00 01 11 10 3 bits: 000 001 011 010 110 111 101 100 ordem invertida

  23. Código de Gray  código binário • Código binário Código de Gray

  24. transitions occur in different places Robust temporal codification: Gray coding Inokuchi, Seiji. Sato, Kosuki. Matsuda, Fumio. Range Imaging for 3D Object Recognition. Proc. Int. Conf. on Pattern Recognition, pp.806-808, 1984.

  25. Example of Gray coding needs too many slides! 

  26. http://community.middlebury.edu/~schar/papers/structlight/p1.htmlhttp://community.middlebury.edu/~schar/papers/structlight/p1.html A 10-bit horizontal Gray-code sequence.

  27. Color Gray coding  reduces the number of slides by 3 better yet…

  28. (b,s)-BCSL Coding 20 Sá, Asla Medeiros. Medeiros, Esdras Soares. Carvalho, Paulo Cezar Pinto. Velho, Luiz. Coded Structured Light for 3D-Photography: an Overview.Revista de Informática Teórica e Aplicada, Vol. 9, No. 2, outubro 2002

  29. A practical difficulty in the border detection • example with the monochrome Gray code

  30. 5 1 60 40 41 0 21 0 0 0 18 16 Edge detection • Projecting positive and negative slides is a robust way to recover edges.

  31. 32rgb-BCSL coding (+) (-) slide 1 slide 2

  32. ambient light reflection factors projected light  negative slide  positive slide Recovering colored codes

  33. Implementação do BCSL //A função getBcslStripeCode retorna o código de transição de faixa conforme a seqüência de cores fornecida. //Observe a ordem em que as cores devem ser passadas: // Primeiro as cores da imagem 1 e depois da imagem 2 // Primeiro a faixa da esquerda e depois a faixa da direita // //O código das cores e das bases é conforme a tabela abaixo. //Padrão 3_2 //base 3 //1 - vermelho //2 - verde //3 - azul //Padrão 4_2 //base 4 //1 - vermelho //2 - verde //3 - azul //4 - magenta //Padrão 6_2 //base 6 //1 - vermelho //2 - verde //3 - azul //4 - ciano //5 - magenta //6 - amarelo int getBcslStripeCode(int base, int colorLeft1, int colorRight1,int colorLeft2, int colorRight2);

  34. int matrix3_2[4*9]={ 0, 3, 6, 9, 14, 17, 19, 11, 28, 34, 22, 24, 26, 29, 18, 21, 1, 31, 33, 35, 15, 4, 8, 13, 16, 23, 32, 12, 27, 5, 7, 25, 2, 10, 20, 30 }; …. int getBcslStripeCode(int base, int colorLeft1, int colorRight1,int colorLeft2, int colorRight2) { int aux1, aux2,linha,coluna; colorLeft2--; colorRight2--; colorLeft1--; colorRight1--; linha = (colorLeft1 * base) + colorLeft2; aux1 = (colorRight2 - colorLeft2); aux2 = (colorRight1 - colorLeft1); aux1 = (aux1>0)?(aux1-1):((base-1)+aux1); aux2 = (aux2>0)?(aux2-1):((base-1)+aux2); coluna = ((aux2) * (base-1)) + (aux1); switch(base){ case 3: return matrix3_2[linha *4+coluna]; break; case 4: return matrix4_2[linha *9 +coluna]; break; case 6: return matrix6_2[linha *25 +coluna]; break; default: printf("Error: invalid BCSL base\n"); return -1; } } teoria pode ser complicada mas a implementação é muito simples!

  35. Geometria Epipolar Correspondência pela Geometria das Câmeras

  36. Epipolar Geometry ctd.

  37. Pl Linha epipolar Pr ycr pl pr xcr er el zcr Linha epipolar Geometria Epipolar: notação P ycl xcl Or Ol zcl

  38. Example: converging cameras

  39. Example: motion parallel with image plane

  40. Example: forward motion e’ e

  41. ycr ycl xcr xcl zcr zcl Geometria Epipolar: relações básicas P

  42. Produto Vetorialforma de lembrar

  43. Matriz do produto vetorial

  44. Produto misto (revistado) h

  45. P Pr Pl pr pl er el eyer eye l ycr ycl xcr xcl zcr zcl Matriz Essencial Matriz essencial

  46. Rotação de a para b (left to right)

  47. Vetor do eye de b em a ycl xcl eye l zcl Z w ycr Y w xcr eye r zcr X w

  48. Matriz essencial (código C) Matrix epiEssencialMatrix( Matrix Ra, Vector eye_a, Matrix Rb, Vector eye_b) { Matrix Rba = algMult(Rb,algTransp(Ra)); Vector eye = algMult(Ra,algSub(eye_b,eye_a); Matrix S = algVectorProductMatrix(eye); Matrix E = algMult(Rba,S); return E; }

  49. ycr ycl xcr xcl zcr zcl Matriz Essencial P Pr Pl pr pl er el Or T Ol

More Related