210 likes | 434 Views
Object Detection with Superquadrics. Facoltà di Ingegneria. Presenter: Ilya Afanasyev. Trento, 2010. Superquadrics (SQ).
E N D
Object Detection with Superquadrics Facoltà di Ingegneria • Presenter: Ilya Afanasyev • Trento, 2010
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.
Creation of SQ surface z a3 Vector r(η,ω)sweeps out a closed surface in space when η,ω change in the given intervals: r(η,ω) a2 η y a1 ω x η,ω– independent parameters (latitude and longitude angles) of vector r(η,ω) expressed in spherical coordinates.
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.
2nd way for creation of SQ surface z Use the parametric equation in Cartesian coordinates, considering f(x,y,z) = 1 z’ -a1 ≤x≤a1 -a2 ≤y≤a2 y=a2 y y’ x’ z=NaN x=a1 x x,y – independent parameters (Cartesian coordinates of SQ), which are used to obtain zcoordinate.
Warning: complex numbers in SQ equation 1. If ε1or ε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 xor y < 1 and ε1> 1, the functionf(x,y,z)willl have the complex values of z. To overcome it, use the f(x,y,z)in power ofexponent ε1. f(x,y,z)ε1 = 1 14/12/2010
Samples of SQ, depending on ε1 or ε2 ε2 = 0.1 ε2 = 1 ε2 = 2 ε1 = 1 ε1 = 2 ε1 = 0.1 [1]
Applications with SQ Reconstruction of complex object [2] Reconstruction of complex object [4] Reconstruction of complex object [3]
Applications with SQ Reconstruction of multiple objects [5] Reconstruction of multiple objects [5]
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 3D real 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.
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
Rotation and translation of SQ z zW xW yW Elevation y Azimuth 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). x Warning: Standard MATLAB function: viewmtx is useless for rotation and translation purposes. 14/12/2010
Rotation and translation of SQ z zW px xW yW Elevation y Azimuth T SQ Pw x az,el,px,py,pz,x,y,z – are given; xW,yW,zW– should be found. 14/12/2010
Getting the silhouette of SQ yw 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. El’ (x’; y’) Az’ p’ p1 xw p” p2 zw p’ – lays outside SQ; p’’ – lays inside SQ. 14/12/2010
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): z zW P(x;y;z) xW yW Elevation T – transformation matrix; SQ – non-rotated point of SQ silhouette; P’w – rotated point of SQ silhouette. y Azimuth Silhouette (visible part of SQ from viewpoint) x 14/12/2010
Getting the silhouette of SQ 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. z p1 zW xW yW p2 y Silhouette p1 – is the point of SQ silhouette; p2 – is not. x - the point is on the surface of SQ. - the point is outside SQ. - the point is inside SQ. 14/12/2010
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 silhouette 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). Noised silhouette 14/12/2010
Algorithm of Recovery of SQ surface from silhouette To detect az,el from silhouette of rotated SQ, the given points should rotated and translated back to SQ coordinate system. z P(x’;y’;z’) zW xW yW Elevation T – transformation matrix. SQ – non-rotated points of SQ silhouette. P’w – rotated points of SQ silhouette. y Azimuth P’w SQ T Silhouette x 14/12/2010 ε1, ε2,a1-a3,px,py,pz,xW,yW,zW – are given; Az,El,ω,η– should be found.
Algorithm of Recovery of SQ surface from 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. z px zW xW dist yW Future improvement of the algorithm deal with adding the new variable: px, using the parameter dist for initial estimates x0. y P’w SQ T Silhouette Variables x py=0; pz=0. 14/12/2010 ε1, ε2,a1-a3,py,pz,xW,yW,zW – are given; Az,El,ω,η, px– should be found.
Algorithm of Recovery of SQ surface from silhouette zw’ zw zs z1s P1 z1w ys η yw’ zcw ω Elevation Azimuth xw’ ycw xs xcw y1w yw xw x1w 14/12/2010
Links 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):131--147, 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, 2007. 93 pages. Jaklic Ales, Leonardis Ales, Solina Franc. Segmentation and Recovery of Superquadrics. // Computational imaging and vision 20, Kluwer, Dordrecht, 2000. Grazie per attenzione!!