Efficient Computation of Shortest Path-Concavity for 3D Meshes
Introduction
This is the accompanying project page for the CVPR 2013 publication Efficient Computation of Shortest Path-Concavity for 3D Meshes.
Below we publish the source-code needed for computing the distribution of shortest path-concavity values on a 3D mesh.
Please cite our paper if you use our code or the models provided below.
@InProceedings{Zimmer_2013_CVPR,
author = {Henrik Zimmer and Marcel Campen and Leif Kobbelt},
title = {Efficient Computation of Shortest Path-Concavity for 3D Meshes},
journal = {The IEEE Conference on Computer Vision and Pattern Recognition (CVPR)},
month = {June},
year = {2013}
}
C++ Source Code
Information
The code is a Plugin for the geometry processing framework OpenFlipper which comes with several practical functions, e.g., to inspect different mesh properties, pre-process the mesh (remeshing algorithms) and to directly visualize the distribution (color-coded) of concavity values in one and the same program.
Note the main class in the package EfficientSPC.{hh, cc} is where the main computations take place.
Download Project
- 19.07.2013 Plugin-EfficientSPC.tar.gz, FindCGAL.cmake , FindTetGenLib.cmake
System Requirements
OpenFlipper can be build on any platform (Windows, Linux, MacOSX). Our project (Plugin-EfficientSPC) has however only been tested on Linux 64bit. For this plattform we also supply a build of TetGen v1.4.3.
- Download: libtetgen.so
Dependencies
- OpenFlipper (for Visualization, Framework)
- OpenMesh (integrated in OpenFlipper)
- TetGen (for the CDT)
- CGAL (for the Robust Hull)
- CMake (build system)
Compiling
The build process is simplifed by using the CMake build system, a Finder for OpenMesh is already shipped with OpenFlipper, download the two sample Finders for CGAL and TetGen (above) and place them in the OpenFlipper/cmake/ directory.
- adapt the paths in the FindTetGenLib.cmake to your installation of TetGen
- build OpenFlipper (let's assume that the build directory is $OPENFLIPPERBUILD)
- place (unpack) the Plugin-EfficientSPC directory in the OpenFlipper root directory (where the other Plugins are located)
- call cmake . in $OPENFLIPPERBUILD to make it aware of the new plugin
- call make in $OPENFLIPPERBUILD to build the new plugin
- start OpenFlipper: $OPENFLIPPERBUILD/Build/bin/OpenFlipper
Models & Data
We also supply the meshes we used for the retrieval results in the paper (originally coming from the McGill 3D Shape Benchmark). The full McGill set consists of 457 meshes, Lian et al. [12] only considered a 255 mesh subset which was "canonically" modified by the algorithm in [13], we further remeshed these meshes.
- Download: Remeshed full McGill (457 meshes) please cite our work if you use these meshes.
- Download: Remeshed canonical subset (255 meshes) (original source [13])
Feedback
We are grateful for feedback! Please send suggestions, patches, bug reports, questions and comments to us.
References
- [12] Z. Lian, A. Godil, P.L. Rosin, X. Sun. A New Convexity Measurement for 3D Meshes, IEEE International Conference on Computer Vision and Pattern Recognition (CVPR), pp. 119-126, 2012
- [13] Z. Lian*, A. Godil, J. Xiao. Feature-preserved 3D Canonical Form, International Journal of computer Vision, 2012(to appear)