720 likes | 873 Views
Range data. Marc Pollefeys COMP 256. Some slides and illustrations from J. Ponce, …. Tentative class schedule. Final project. Presentation: Tuesday 2-5pm, starts in SN011, then demos (make your own arrangements, preferably G-lab) Papers: due Friday (Saturday is ok, but not later!).
E N D
Range data Marc Pollefeys COMP 256 Some slides and illustrations from J. Ponce, …
Final project • Presentation: Tuesday 2-5pm, starts in SN011, then demos (make your own arrangements, preferably G-lab) • Papers: due Friday (Saturday is ok, but not later!)
RANGE DATA • Active Range Sensors • Segmentation • Elements of Analytical Differential Geometry • Registration and Model Acquisition • Quaternions • Object Recognition Reading: Chapter 21.
Active Range Sensors • Triangulation-based sensors • Time-of-flight sensors • New Technologies Courtesy of D. Huber and M. Hebert.
Structured light • Single grid projection • Binary code • A desktop scanner
Principle deformation+connectivity of pattern 3D Shape Proesmans and Van Gool, ICPR96…
Acquisition setup Proesmans and Van Gool, ICPR96…
Calibration Proesmans and Van Gool, ICPR96…
Image with projected grid Proesmans and Van Gool, ICPR96…
Line detectors Proesmans and Van Gool, ICPR96…
Linking Proesmans and Van Gool, ICPR96…
Initial grid Proesmans and Van Gool, ICPR96…
Corrected grid sub-pixel refinement of grid Proesmans and Van Gool, ICPR96…
Depth computation Proesmans and Van Gool, ICPR96…
Removing lines Proesmans and Van Gool, ICPR96…
Texture estimation Proesmans and Van Gool, ICPR96…
3D Reconstruction Proesmans and Van Gool, ICPR96…
Dionysos Proesmans and Van Gool, ICPR96…
Theatre mask Proesmans and Van Gool, ICPR96…
Capital Proesmans and Van Gool, ICPR96…
Coded planes • Structured light: • Use projector as a camera • Figure out correspondences by coding light pattern • Only need to code 1D (but not parallel with epipolar lines!) B. Curless
More range sensors DeltaSphere Z-cam
Real-time system Koninckx and Van Gool
1 • Unit surface normal: N = (xux xv) | xuxxv | • First fundamental form: • I( t, t ) = Eu’2 + 2Fu’v’+Gv’2 { E=xu.xu F=xu.xv G=xv.xv • Second fundamental form: • II( t, t ) = eu’2 + 2fu’v’+gv’2 { e= –N.xuu f = –N.xuv g= –N.xvv II( t, t ) eg – f 2 t = K = I( t, t ) EG – F 2 Elements of Analytical Differential Geometry • Parametric surface: x : UR2E3 • Normal and Gaussian curvatures:
h • In this case • N= ( –hu , –hv , 1)T • E = 1+hu2; F = huhv,; G = 1+hv2 • e = ; f = ; g = 1 v (1+hu2+hv2)1/2 –huv –huu –hvv u (1+hu2+hv2)1/2 (1+hu2+hv2)1/2 (1+hu2+hv2)1/2 huuhvv–huv2 And the Gaussian curvature is: K = . (1+hu2+hv2)2 Example: Monge Patches x ( u, v ) = (u, v, h( u, v ))
N v u h(u,v) ¼ – ½ (1u2 +2v2) Taylor expansion of order 2 Example: Local Surface Parameterization • u,v axes = principal directions • h axis = surface normal • In this case: • h(0,0)=hu(0,0)=hv(0,0)=0 • N=(0,0,1)T • huv(0,0)=0, 1= – huu(0,0), 2= – hvv(0,0)
{ k1x+h when x<0, k2x+c+h when x>0. z= Step Model And, since z’’=0 in x:
{ k1x+h when x<0, k2x+h when x>0. z= Roof Model And has a maximum value inversely proportional to in a point x located at a distance proportional to from the origin.
Computing the Principal Directions and Curvatures • Adaptive smoothing • Finite-difference masks Reprinted from “Describing Surfaces,” by J.M. Brady, J. Ponce, A. Yuille and H. Asada, Proc. International Symposium on Robotics Research, H. Hanafusa and H. Inoue (eds.), MIT Press (1985). 1985 MIT.
Scale-Space Matching Reprinted from “Toward a Surface Primal Sketch,” By J. Ponce and J.M. Brady, in Three-Dimensional Machine Vision, T. Kanade (ed.), Kluwer Academic Publishers (1987). 1987 Kluwer Academic Publishers.
Segmentation into Planes via Region Growing (Faugeras & Hebert, 1986) Idea: Iteratively merge the pair of planar regions minimizing the average distance to the plane best fitting them. Reprinted from “The Representation, Recognition and Locating of 3D Objects,” by O.D. Faugeras and M. Hebert, the International Journal of Robotics Research, 5(3):27-52 (1986). 1986 Sage Publications. Reprinted by permission of Sage Publications.
Conjugate: q = a + ) q ´a– • Norm: | q |2´ q q = q q = a2 + | |2 Quaternions q is aquaternion, a 2R is itsrealpart, and 2R3 is itsimaginarypart. q = a + Operations on quaternions: • Sum of quaternions: ( a+ ) + ( b+ ) ´ ( a+b ) + (+ ) • Multiplication by a scalar: ( a+ ) ´ ( a+ ) • Quaternion product: • ( a+ ) ( b+ ) ´ ( a b – ¢ ) + ( a + b + £ ) Note:| qq’|= |q| |q’|
Quaternions and Rotations • Let R denote the rotation of angle about the unit vector u. • Define q = cos /2 + sin /2 u. • Then for any vector , R = q q. Reciprocally, if q = a + ( b, c, d )T is a unit quaternion, the corresponding rotation matrix is:
The Iterative Closest Point Registration Algorithm (Besl and McKay, 1992) • Key points: • finding the closest-point pairs (k-d trees, caching); • estimating the rigid transformation (quaternions).
n n E = | xi’ – R xi – t |2 . E = | yi’ – R yi |2 i=1 i=1 n ( xi’ – R xi – t ) . At a minimum: 0 = E/t = –2 Or.. t = x’ – R x. i=1 If yi = xi –x and yi’ = xi’ –x’, the error is (at a minimum): n n = | yi’ q – qyi |2 = | yi’ – q yi q|2|q|2 i=1 i=1 0 yiT-yi’T yi’-yi [yi+yi’]£ Or.. E = AiTAi with Ai = Linear least squares !! Using Quaternions to Estimate a Rigid Transformation Problem: Find the rotation matrix R and the vector t that minimize
ICP Registration Results Reprinted from “A Method for Registration of 3D Shapes,” by P.J. Besl and N.D. McKay, IEEE Trans. on Pattern Analysis and Machine Intelligence, 14(2):238-256 (1992). 1992 IEEE.
Initial alignment? • Mostly open problem • A possible approach using bitangents (Vanden Wyngaerd and Van Gool)