Examples
The following examples should give you an idea of how use the software on your own data. All computation times are measured on a standard portable PC (Thinkpad Lenovo T61P, 4GB RAM, Windows XP). They include computation of the distance field, regularisation, and remeshing.
Facescan
A face scanned with a 3dMD cranial scanner. A 2-pod setup is used so
the front of the head is visible. The raw 3dMD data and the used script
can be downloaded
here. Please
acknowledge
Rasmus R. Paulsen if your are using this data.
Computation time |
116 seconds |
Input points |
71647 |
Output Triangles |
64414 |
The used command line:
"C:\program files\MRFSurface\MRFSurface.exe" -t 1 -i facescan.txt -o facescan_MRF.vtk
Facescan 2
A face scanned with a 3dMD cranial scanner. A 2-pod setup is used so
only one side of the head is visible. The raw 3dMD data and the used
script can be downloaded
here. Please
acknowledge
Rasmus R. Paulsen
and
Tron Darvann
if your are using this data.
Computation time |
170 seconds |
Input points |
82235 |
Output Triangles |
75815 |
The used command line:
"C:\program files\MRFSurface\MRFSurface.exe" -t 1 -i facescan2.txt -o facescan2_MRF.vtk
Facescan 3
A face scanned with a 3dMD cranial scanner. A 2-pod setup is used so
only one side of the head is visible. The raw 3dMD data and the used
script can be downloaded
here. Please
acknowledge
Rasmus R. Paulsen if your are using this data.
Computation time |
132 seconds |
Input points |
67275 |
Output Triangles |
62620 |
The used command line:
"C:\program files\MRFSurface\MRFSurface.exe" -t 1 -i facescan3.txt -o facescan3_MRF.vtk
Child
A child scanned with a 3dMD cranial scanner. Parts of the father
holding the child is also scanned and there is a big hole under the
chin. The result of using the command line below is that only the face
of the child is kept and the hole under the chin is filled. The raw 3dMD
data and the used script can be downloaded
here. Please acknowledge
Andreas Bærentzen if your are using this data.
Computation time |
68 seconds |
Input points |
49592 |
Output Triangles |
25020 |
The used command line:
"C:\program files\MRFSurface\MRFSurface.exe" -l -t 1 -i child.txt -o child.vtk
Synthetic Data
A synthetic dataset containing points with normals sampled on open
cylinders and open spheres. The purpose of this dataset is to
demonstrate the behaviour of the surface reconstruction in regions where
no reliable samples exist. The algorithm has been tested with type 2,
meaning that the original normals are used and no points are removed as
noise. The top image is showing the result when the Laplacian prior is
used and the bottom when the membrane prior is used. The
data and the used script can be downloaded
here.
Computation time (Laplacian) |
210 seconds |
Computation time (membrane) |
237 seconds |
Input points |
47538 |
Output Triangles (Laplacian) |
225044 |
Output Triangles (membrane) |
213412 |
The used command line:
"C:\program files\MRFSurface\MRFSurface.exe" -t 2 -p 0 -i ComplexShape.vtk -o ComplexShape_prior0.vtk
"C:\program files\MRFSurface\MRFSurface.exe" -t 2 -p 1 -i ComplexShape.vtk -o ComplexShape_prior1.vtk
Skull
A plastic skull scanned with a prototype structured light scanner built
by Vesselin Perfanov and
Henrik
Aanæs. An approximate camera position is provided to estimate
approximate normals. The membrane prior turned out to give the most
satisfactory result. The data and the used script file is available
here. Please acknowledge Vesselin Perfanov and
Henrik Aanæs if you use the
data.
Computation time |
540 seconds |
Input points |
179670 |
Output Triangles |
213382 |
The used command line:
"C:\program files\MRFSurface\MRFSurface.exe" -t 1 -p 1 -i Skull_export.csv -o Skull_MRF.vtk -v SkullCam.txt
Here
SkullCam.txt contains the world coordinates of the camera (X Y Z).
Mannequin head
A plastic mannequin head scanned with a prototype structured light
scanner built by
Oline Vinter
Olesen. An approximate camera position is provided to estimate
approximate normals. The data and the used script file is available
here. Please acknowledge
Oline
Vinter Olesen and
Rasmus R.
Paulsen if you use the data.
Computation time |
105 seconds |
Input points |
55008 |
Output Triangles |
50939 |
The used command line:
"C:\program files\MRFSurface\MRFSurface.exe" -t 1 -i ScanOutput.dat -o ProtoScan_MRF.vtk -v Camera.txt
Here
Camera.txt contains the world coordinates of the camera (X Y Z).
Earscan
A laser scanned ear impression. A modern hearing aid is normally custom
made to each hearing aid user. Today most hearing aids are produced
based on laser scans of silicon ear impressions. The current scan is
acquired using a 3Shape scanner. It contains a few non-manifold edges.
In this case, MRFSurface removes the non-manifold edges and remesh the
model. The data and scripts can be downloaded
here.
Computation time |
47 seconds |
Input points |
18189 |
Output Triangles |
25525 |
The used command line:
"C:\program files\MRFSurface\MRFSurface.exe" -t 3 -i EarScan.stl -o EarScan_MRF.vtk
Stanford Bunny
The Stanford bunny. Original data can be found
here. This data
has already been processed so it can be considered noise free. In this
case MRFSurface acts more like a remesher than a surface reconstructor.
As seen the output triangles are homogenous. We force the computation of
normals (by vtkPolyDataNormals) but do not use the PCA based method or
the connected component analysis.
Computation time |
60 seconds |
Input points |
35947 |
Output Triangles |
40612 |
The used command line:
"C:\program files\MRFSurface\MRFSurface.exe" -t 3 -c 0 -n 0 -i bun_zipper.ply -o bunny_MRF.vtk
Stanford Dragon
The Stanford dragon. Original data can be found
here. This data
has already been processed so it can be considered (nearly) noise free.
In this case MRFSurface acts more like a remesher than a surface
reconstructor. As seen the output triangles are homogenous. We force the
computation of normals (by vtkPolyDataNormals) and are also using the
PCA based method and connected component analysis.
Computation time |
910 seconds |
Input points |
437645 |
Output Triangles |
401370 |
The used command line:
"C:\program files\MRFSurface\MRFSurface.exe" -t 3 -i dragon_vrip.ply -o dragon_MRF.vtk
House of Cards
One frame from the music video
House of Cards by Radiohead. The data is very noisy since it was created using a largescale-lidar (and I suspect noise is also added for artistic purposes). However, the algorithm is still able to extract something that looks like the face of Thom Yorke. There is something wrong with scaling though. The data and some code can be downloaded
here. To get an estimate of the normals and artificial camera has been placed far out the Z-axis. This is done by creating a
HocCam.txt file with the numbers 0 0 2000.
Computation time |
35 seconds |
Input points |
12048 |
Output Triangles |
7901 |
The used command line:
"C:\program files\MRFSurface\MRFSurface.exe" -t 1 -i 676.csv -o HOC_MRF.vtk -v HocCam.txt
Human Ear - Alignment and Reconstruction
Combined alignment and reconstruction of the surface of a human ear. The Input data is five scans from different angles of the ear. The scanner used is a 3dMD cranial scanner i a 2-POD configuration. The five sub-scans are represented as surface patches, so their normals can be used in the combined reconstruction. We therefore use the input type 2 (-t 2). Since the data is quite noise we use a rather large neighbour size (-D 25) to get a smooth reconstruction. The file names of the input files are stored in the input text file (EarFiles.txt). The output is an entire directory (alignedEar) with several reconstructed surfaces, including the surface at multiple scales. The data and scripts can be downloaded
here.
Computation time |
Approx. 3 minutes |
Input points |
20117 from 5 scans |
Output Triangles |
17816 |
The used command line:
"C:\Program Files\MRFSurface\MRFSurface.exe" -i EarFiles.txt -o alignedEar -a -t 2 -D 25
Mannequin head - Alignment and Reconstruction
A plastic mannequin head scanned with a prototype structured light
scanner built by
Oline Vinter
Olesen. Several scans have been taken and is aligned and a surface is reconstructed. Since the scans contains a large number of points we limit the used number of points (-m 70000). Experiments showed that a neighbour size of 10 samples was suitable both for normal estimation and distance estimation (-N 10 -D 10). The data and the used script file is available
here. Please acknowledge
Oline Vinter Olesen and
Rasmus R.
Paulsen if you use the data.
Computation time |
Approx. 5 minutes |
Input points |
550000, 70000 used |
Output Triangles |
17360 |
The used command line:
C:\rrplocal\bin\rrp\MRFSurface\release\MRFSurface.exe -i FaceSurfaceFiles.txt -o FaceSurface -a -t 1 -m 70000 -N 10 -D 10
Here
FaceSurfaceFiles.txt contains the file names of the input surfaces.