Presentation is loading. Please wait.

Presentation is loading. Please wait.

Object Detection with Superquadrics

Similar presentations


Presentation on theme: "Object Detection with Superquadrics"— Presentation transcript:

1 Object Detection with Superquadrics
Facoltà di Ingegneria Object Detection with Superquadrics Presenter: Ilya Afanasyev Trento, 2010 14/12/2010

2 A superquadric surface can be defined by the 3D vector:
Superquadrics (SQ) Superquadrics are a family of parametric shapes, which are used as primitives for shape representation and play the role of prototypical parts and can be further deformed and glued together into realistic looking models. A superquadric surface can be defined by the 3D vector: - are parameters of shape squareness; - define the superquadric sizes. 14/12/2010

3 Creation of SQ surface x y z r(η,ω) Vector r(η,ω) sweeps out a closed surface in space when η,ω change in the given intervals: a1 a2 a3 η ω η,ω – independent parameters (latitude and longitude angles) of vector r(η,ω) expressed in spherical coordinates. 14/12/2010

4 Parametric equation of SQ
Superquadrics can model a large set of standard building blocks, like spheres, cylinders, parallelepipeds and shapes in between. Modeling capabilities of SQ can be enhanced by tapering, bending and making cavities. The parametric equation of a superquadric surface: - are parameters of shape squareness; - define the superquadric sizes. 14/12/2010

5 2nd way for creation of SQ surface
x y z Use the parametric equation in Cartesian coordinates, considering x’ z’ f(x,y,z) = 1 -a1 ≤ x ≤ a1 z=NaN y=a2 x=a1 -a2 ≤ y ≤ a2 y’ x,y – independent parameters (Cartesian coordinates of SQ), which are used to obtain z coordinate. 14/12/2010

6 Warning: complex numbers in SQ equation
1. If ε1 or ε2 < 1 and cos or sin of angles ω or η < 0, then vector r(η,ω) has complex values. To escape them, it should be used absolute values of the vector components, taking into account the sign of sin or cos for further SQ surface reconstruction. 2. Analogically if x or y < 1 and ε1 > 1, the function f(x,y,z) willl have the complex values of z. To overcome it, use the f(x,y,z) in power of exponent ε1. f(x,y,z)ε1 = 1 14/12/2010

7 Samples of SQ, depending on ε1 or ε2
ε2 = 0.1 ε2 = 1 ε2 = 2 [1] ε1 = 0.1 ε1 = 1 ε1 = 2 14/12/2010

8 Applications with SQ Reconstruction of complex object [2]
14/12/2010 Reconstruction of complex object [3]

9 Applications with SQ Reconstruction of multiple objects [5]
14/12/2010 Reconstruction of multiple objects [5]

10 What are we trying to achieve?
To build the robust algorithm of recovery of pallets surface by Superquadrics with the real 3D data from a rangefinder (possibly, without segmentation). Develop a robust algorithm of recovery of simulated SQ objects (excluding noise). Test it with real 3D data. Build a superquadric model of the europallet. Take 3D data of pallet from rangefinder. Fit the superquadric model of the europallet to real 3D data by the algorithm. 14/12/2010

11 Idea of work with SQ simulation
1. Create SQ with known parameters a1, a2, a3, ε1, ε2. 2. Get representation of SQ in points (like “Cloud of points”). 3. Rotate and translate SQ according to “viewpoint of interest”. 4. Get the silhouette of SQ (visible part of SQ from viewpoint). 5. Add the noise to SQ silhouette to obtain more realistic model. 6. Detect the orientation and location of SQ, using the known model of SQ and detection algorithm (based on solving a system of nonlinear equation). 1. 2. 3. 4. 5. 6. Azimuth, Elevation, Distance ??? 14/12/2010

12 Rotation and translation of SQ
Elevation Azimuth x y z zW xW yW T – transformation matrix. n – amounts of points in SQ surface. SQ – coordinates of points of SQ surface. Pw – coordinates of points of rotated SQ surface. xW, yW, zW – world system of coordinates (with center in viewpoint). Warning: Standard MATLAB function: viewmtx is useless for rotation and translation purposes. 14/12/2010

13 Rotation and translation of SQ
Elevation Azimuth x y z zW xW yW px T SQ Pw 14/12/2010 az,el,px,py,pz,x,y,z – are given; xW,yW,zW – should be found.

14 Getting the silhouette of SQ
1) Calculate x’,y’,z’ (R’,Az’,El’) coordinates of every point of line laid between center of world coordinate system and point of interest from rotated SQ. yw xw p2 p’ p” Az’ El’ (x’; y’) p1 zw p’ – lays outside SQ; p’’ – lays inside SQ. 14/12/2010

15 Getting the silhouette of SQ
2) To recover the real x,y,z coordinates of every point of rotated SQ (rotate and translate it back): Elevation Azimuth x y z zW xW yW Silhouette (visible part of SQ from viewpoint) P(x;y;z) T – transformation matrix; SQ – non-rotated point of SQ silhouette; P’w – rotated point of SQ silhouette. 14/12/2010

16 Getting the silhouette of SQ
x y z zW xW yW Silhouette p1 p2 3) Calculation of inside-outside function f(x,y,z)ε1. 4) If all points of a line from the “SQ point of interest” to the world coordinate center lay outside – this point of SQ is visible, otherwise – invisible. p1 – is the point of SQ silhouette; p2 – is not. - the point is on the surface of SQ. - the point is outside SQ. - the point is inside SQ. 14/12/2010

17 Adding the noise to SQ silhouette
To build the robust algorithm of recovery of SQ surface it is necessary to take into account the noise, which can exist in the real data (from a rangefinder). 1) The algorithm should be robust to outlets. To simulate the outlets, we can add to SQ silhouette some points obtained by uniform distribution. outliers 2) Also the algorithm should process the SQ surface points, which cab be slightly deviated from real positions of SQ surface. We can create the deviation of mean values of z-coordinate for points of SQ surface according to law of normal distribution for small standard deviation (for example, σ=0.5). silhouette Noised silhouette 14/12/2010

18 Algorithm of Recovery of SQ surface from silhouette
Elevation Azimuth x y z zW xW yW Silhouette P(x’;y’;z’) To detect az,el from silhouette of rotated SQ, the given points should rotated and translated back to SQ coordinate system. T – transformation matrix. SQ – non-rotated points of SQ silhouette. P’w – rotated points of T SQ P’w 14/12/2010 ε1, ε2,a1-a3, xW,yW,zW – are given; Az,El,ω,η,px,py,pz – should be found.

19 Algorithm of Recovery of SQ surface from silhouette
x y z zW xW yW Silhouette To solve this system of nonlinear equations, when silhouette consists n ≥10 points, use MATLAB fsolve function (from Optimization toolbox) with Levenverg-Marquardt method. px dist Future improvement of the algorithm deal with adding the new variable: px, using the parameter dist for initial estimates x0. T SQ P’w Variables py=0; pz=0. 14/12/2010 ε1, ε2,a1-a3,py,pz,xW,yW,zW – are given; Az,El,ω,η, px – should be found.

20 Algorithm of Recovery of SQ surface from silhouette
zw’ zw xs z1s zs P1 z1w ys η yw’ zcw ω Elevation xw’ Azimuth ycw xcw y1w yw xw x1w 14/12/2010

21 Links Grazie per attenzione!!
Solina F. and Bajcsy R. Recovery of parametric models from range images: The case for superquadrics with global deformations. // IEEE Transactions on Pattern Analysis and Machine Intelligence PAMI-12(2): , 1990. Chella A. and Pirrone R. A Neural Architecture for Segmentation and Modeling of Range Data. // 10 pages. Leonardis A., Jaklic A., and Solina F. Superquadrics for Segmenting and Modeling Range Data. // IEEE Transactions On Pattern Analysis And Machine Intelligence, vol. 19, no. 11, 1997. Bhabhrawala T., Krovi V., Mendel F. and Govindaraju V. Extended Superquadrics. // Technical Report. New York, pages. Jaklic Ales, Leonardis Ales, Solina Franc. Segmentation and Recovery of Superquadrics. // Computational imaging and vision 20, Kluwer, Dordrecht, 2000. Grazie per attenzione!! 14/12/2010


Download ppt "Object Detection with Superquadrics"

Similar presentations


Ads by Google