Highly Parallel Algorithms for Visual Perception Guided Surface Remeshing
All rights about the program are reserved by Lianping Xing, Xiaoting Zhang, Charlie C.L. Wang and Kin-Chuen Hui at the Department of Mechanical and Automation Engineering, The Chinese University of Hong Kong. In no event shall the author be liable to any party for direct, indirect, special, incidental, or consequential damage arising out of the use of this program.
This program is developed by Visual Studio 2008 together with nVIDIA CUDA SDK 4.2 (Link to CUDA 4.2 download),
and an approximate-nearest-neighbour search library - ANN.dll is compiled from the source code provided by David M. Mount and Sunil Arya on the page: ANN Library.
- Step 1) Select menu "File->Import->OBJ Files" : import model
- --Our system can read data in .obj file formate.
- Step 2) Select menu "Snapshot->All views" : generate 2D images
- --The image snaps of an input model is first captured in six orthogonal views.
- Step 3) Select menu "Visual Extraction->Image space" : extract 2D image features
- --Select menu "Polygon Soup Model" : the perceptual features are then extracted in the image space for the polygon soup model.
Select menu "2-Manifold Model" : the perceptual features are then extracted in the image space for the orientable 2-manifold model.
- Step 4) Select menu "Visual Extraction->Mapping" : generate 3D saliencies
- --The perceptual features extracted in the image space are mapped back to R3 as saliency points.
- Step 5) Select menu "InitSamples" : generate initial samples
- --The model is first sampled dense points (more or less the number of the vertices of the model). Click "Initial Samples" button and execute the function.
- Step 6) Select menu "Rendering->Adaptive Saliency Map"" : build adaptive saliency field
- --Saliency field is generated and used to govern the adaptive sampling.
- Step 7) Select menu "Num of samples" : generate smaple points
- --Desired sample points are specified by the user and click "OK".
- Step 8) Select menu "Mesh Operation->Sampling->Adaptive sampling" : execute adaptive sampling
- --Specified sample points are generated according to the saliency field.
- Step 9) Select menu "Mesh Operation->AWLOP" : optimize sample points
- --The sample points are optimally positioned by AWLOP operators. Two parameters of AWLOP, h and u can be set, where the value ofu is in [0, 0.5) and h = factor*Lavg with Lavg being the average distance between data points to their k−nearest neighbors.Users can set the value of factor to be an integer. By default, it is set to be 2.0.
- Step 10) Select menu "Mesh Operation->Triangulation" : triangulate optimized sample points
- --Finally, by the optimized samples, a mesh connectivity can be easily reconstructed by using thecomputational geometry techniques (e.g., Tight CoCone). Copy "tcocone.exe" to folder "D:\tcocone".
- Step 11) Select menu "Mesh Operation->Toggle" : toggle results of sample points
- --The distribution of the initial samples, adaptively generated samples poins and optimized sample points by AWLOP can be interactively displayed.
For testing purposes, two models are provided:
Igea : A polygon soup model in OBJ file format.
Kitten : A two-manifold model in OBJ file format. This model is originally downloaded
from the AIM@SHAPE shape repository.