  Representing complex objects with basic geometric primitives has long been a
topic in computer vision. Primitive-based representations have the merits of
compactness and computational efficiency in higher-level tasks such as physics
simulation, collision checking, and robotic manipulation. Unlike previous works
which extract polygonal meshes from a signed distance function (SDF), in this
paper, we present a novel method, named Marching-Primitives, to obtain a
primitive-based abstraction directly from an SDF. Our method grows geometric
primitives (such as superquadrics) iteratively by analyzing the connectivity of
voxels while marching at different levels of signed distance. For each valid
connected volume of interest, we march on the scope of voxels from which a
primitive is able to be extracted in a probabilistic sense and simultaneously
solve for the parameters of the primitive to capture the underlying local
geometry. We evaluate the performance of our method on both synthetic and
real-world datasets. The results show that the proposed method outperforms the
state-of-the-art in terms of accuracy, and is directly generalizable among
different categories and scales. The code is open-sourced at
https://github.com/ChirikjianLab/Marching-Primitives.git.
