Superquadrics Toolbox

Version 1.0.3 (787 KB) von Weixiao Liu
A toolbox containing functions and algorithms for plotting and visualization, even-spaced points sampling, and fitting of superquadrics.
51 Downloads
Aktualisiert 15 Feb 2023

Lizenz anzeigen

This MATLAB toolbox provide a probablistic algorithm (EMS) for robust and accurate superquadric recovery from point clouds, together with several useful utility functions and algorithms related to superquadrics.
Introduction to the EMS:
An algorithm to recover a superquadric surface/primitive from a given point cloud, with good robustness to noise and outliers, accuracy and efficiency. Superquadrics are a family of geometric primitives with a rich shape vocabulary, including cuboids, cylinders, ellipsoids, octahedra and their intermediates. The superquadric recovered from a point cloud provides a concise, volumetric, and geometrically meaningful interpretation of objects and environment. It can work as a low-level volumetric abstraction, from which higher level tasks, e.g., motion planning, collision detection and robot-environment interaction, can be built up.
  • The EMS algorithm is located in EMS_matlab/src/EMS.m.
  • The multi-superquadric extension is located in EMS_matlab/src/Hierarchical_EMS.m.
  • Implementation demos are included in the /example_scripts.
Other classical methods and utility functions are located in EMS_matlab/src/utilities, where
  • superquadricsFitting.m summarized the least square superquadric recovery methods, based on different objective functions (implicit function[1], radial distance[2]).
  • robust_fitting.m is an implementation of the robust fitting algorithm proposed in [3].
  • numerical_fitting.m is an implementation of the numerical stable recovery method proposed in [4].
  • showSuperquadrics.m is for visualization of superquadrics meshes. Note that one can choose to visualize a tapered superquadric in its option.
  • sphericalProduct_sampling.m is an algorithm to sample points almost uniformly spaced on the surface of a given superquadric.
For any further implementation details, you are welcomed to visit https://github.com/bmlklwx/EMS-superquadric_fitting and start an issue.
If you find this package usefule, please cite:
------------------------------------------------------------------------------------------------------------------
W. Liu, Y. Wu, S. Ruan, G. S. Chirikjian, Robust and Accurate Superquadric Recovery: a Probabilistic Approach, 2022 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), New Orleans, LA, USA, 2022, pp. 2666-2675.
------------------------------------------------------------------------------------------------------------------
Reference:
[1] F. Solina and R. Bajcsy. Recovery of parametric models fromr ange images: the case for superquadrics with global defomations. IEEE Transactions on Pattern Analysis and Machine Intelligence, 12(2):131–147, 1990
[2] A. D. Gross and T. E. Boult. Error of fit measures for recovering parametric solids. In Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV), pages 690–694, 1988
[3] Y. Hu and W. G. Wee. Robust 3D part extraction from range images with deformable superquadric models. In Signal Processing, Sensor Fusion, and Target Recognition IV, volume 2484, pages 524 – 535. International Society for Optics and Photonics, SPIE, 1995
[4] N. Vaskevicius and A. Birk. Revisiting superquadric fitting: A numerically stable formulation. IEEE Transactions on Pattern Analysis and Machine Intelligence, 41(1):220–233, 2019

Zitieren als

Weixiao Liu (2024). Superquadrics Toolbox (https://www.mathworks.com/matlabcentral/fileexchange/111745-superquadrics-toolbox), MATLAB Central File Exchange. Abgerufen .

W. Liu, Y. Wu, S. Ruan, G. Chirikjian, Robust and Accurate Superquadric Recovery: a Probabilistic Approach, CVPR 2022

Kompatibilität der MATLAB-Version
Erstellt mit R2022a
Kompatibel mit allen Versionen
Plattform-Kompatibilität
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Veröffentlicht Versionshinweise
1.0.3

fix a dependence

1.0.2

edit readme

1.0.1

Adding references.

1.0.0