Guarding and Star Decomposition Project


Wuyi, Xin Li, "Computing Optimal Guarding and Star Decomposition of 3D Models," SIGGRAPH 2011, Poster.

[Abstract | Poster | Video ]

We propose an optimization framework for computing guarding and star decomposition of 3D shapes/regions based on a progressive integer linear programming (PILP) scheme. The guarding (visibility coverage) problem and star decomposition in 3D have broad applications in graphics and robotics. Despite its importance, seeking their optimal solutions is highly challenging and little explored for general 3D models. Based on the intuition that shape skeleton possesses great visibility, we convert this optimal guarding to a set-covering problem. An efficient progressive integer linear programming (PILP) scheme is developed, on multi-resolutional shape tessellations and skeletons, to solve the optimal set of guarding points. These guarding points provide natural seeds for region growing in the computation of star decomposition of the model. We explore their applications of guarding and star decomposition in graphics (morphing, shape retrieval) and robotics (autonomous environment inspection).


Wuyi Yu, Xin Li, "Computing 3D Shape Guarding and Star Decomposition," Computer Graphics Forum (CGF), special issue of Pacific Graphics 2011.

[ Paper (to appear soon) | Slides (to appear soon) | Bibtex ]

This paper proposes an effective framework to compute the visibility guarding and star decomposition of 3D solid shapes. We propose a progressive integer linear programming algorithm to solve the optimal set of guarding points that can visibility cover the entire region; we also develop a constrained region growing scheme seeded on these guarding points to get the star decomposition. We demonstrate this guarding/decomposition framework can benefit graphics tasks such as shape interpolation and shape matching/retrieval.


Executable programs

[ Download Executable | Download Test Data ]

CODE DESCRIPTION
This program compute the guards for a given surface mesh and skeleton nodes.

Usage: Guarding.exe input_mesh.obj skeletons config guards.cm

input_mesh.obj: The file name of the triangle mesh in OBJ format.

skeletons: The skeleton file. Each line is a skeleton node, following the format: x y z, where x, y, z is the coordinate of the skeleton node.

config: The number of faces for each resolution mesh, A config with 2000 10000 20000 means that on three hiearchical levels: face number 2000, 10000, 20000 respectively the optimization will be computed.

guards.cm: The result guards. The format is the same as the skeletons.


Run the test data:

1. Download the executable and the test data, unzip them into the same directory;
2. run "Guarding.exe david.obj david.skc conf david.g";
3. daivd.g is the result.