Scanalyze GPU for Windows 7 Graphics and 3D Vision using CUDA

Dear all,

This is a release of GPU Scanalyze 64bit for Windows 7 (I am stressing that you should have a 64bit Windows 7 OS and have downloaded the 64bit CUDA Toolkit Version 4 or above). Scanalyze is an application for registering meshes using ICP and has been developed at Stanford University under the supervision of Prof. Marc Levoy. The bottleneck of ICP is finding the pairs that are close with each other between the two meshes.
I am using for the time being (and I think will be using) Lawrence Cayton RBC in GPU for finding these pairs.

Download it in your CUDA enabled Windows 7 64bit PC and use it either as a hobby or professionally (yes it is a Professional registration tool since it is in 64bit) for small to very large datasets. I have tested it registering two 25 Millions of Points datasets and it works (the larger the mesh, the less sampling rate you should use).

Use : Unzip (rather unrar :-) the application and go into ScanalyzeGPU64bit/scanalyze and double click scanalyze.bat.

Important note : [i]In order to run the ICP process of GPUScanalyze you should have sufficient GPU memory. For this reason I have put at the lower right end two meters of the form CPU:xxx / GPU:xxx
The first meter indicates how much memory ScanalyzeGPU occupies on the CPU side (Host side) and the GPU meter tells you how much remaining GPU memory you have for CUDA purposes. If the GPU meter is very low ICP might not run, ICP is not performed in this case.

Here is a video of how to register meshes :

Scanalyze GPU Video Demo

The above registration is just a demo, it needed more culling in order to be precise.
Also since Lawrence RBC is extremely fast even on a million point data set sampling, use the maximum in iterations (20).

Just to show an example I have reconstructed Stanford’s dragon.

First comes the registration step where the scans provided by Stanford are aligned using GPUScanalyze :

This session involved the registration of 50+ range views and I did not find any trouble, thus the process is error proof.
Here are the data (ply file) of the aligned data set : Dragon aligned

Next I have used Poisson surface reconstruction on the aligned data set and got this very smooth result :

Here are the data (ply file) of the reconstructed 3D object : Dragon reconstructed

If you use it for commercial, educational purposes please mention that Scanalyze was created in Stanford University and if you like my name.

Scanalyze GPU Download link : ScanalyzeGPU64bit


If the program produces an assertion fault inspite of having installed the most recent graphics driver maybe you should do a clean install meaning uninstalling the driver and installing it again, it is not a Software issue, it is Nvidia’s and Windows 7 issue…unfortunately I can’t help you on this.

1/11/2011 : Problem solved the assertion on some machine fails and on some machine succeeds but this has no effect luckily to Scanalyze, so erased it.

Update :The 64bit version of Scanalyze has been used by the Zamani Project to reconstruct a site on the island [font=“arial, sans-serif”]Songo Mnara, an island off the [/font][font=“arial, sans-serif”]coast of Tanzania. The scans consisted of billion of points which only a 64bit program can handle and this is questionable. Scanalyze can cope but it had to be ported on 64 bit which I did after a lot of effort. The speed can be boosted by using also the GPU, using a low sampling rate, we should not forget that modern cards don’t exceed 3GB of GDDR5 memory. So ICP must be fed with a sampling so as not exceed its memory limits. I am certain that with the new GTX-680 the process of registration should be very fast. Also Scanalyze64 can run on Windows 8. So it is Windows 8 ready.[/font]

[font=“arial, sans-serif”]I am inserting images of their registration. All rights belong to the [/font]Zamani Project[font=“arial, sans-serif”]. Maybe if you contact them they can make the data available under a license for Academic purposes. There a lot of issues that can arise from these pictures like fitting surfaces, clearing noise etc. [/font]

[font=“arial, sans-serif”]Also you might have in your repository a session of scans of a large building that is huge and you could not create a full registration due to memory limitations. Nowdays it is easy to build a system with 12GB of DDR3 memory and acquire an NVIDIA card with 3GB of GDDR5 memory. These pictures serves a purpose that Scanalyze can cope with huge data. [/font]

[font=“arial, sans-serif”]If you want to use the code (if commercially you have to talk with Stanford not me) there is a link on my web page with the code for 64 bit, its easy to find it.[/font]

[font=“arial, sans-serif”]

[/font][font=“arial, sans-serif”]


I need to stress also that you need a strong graphics NVIDIA card if you plan using it for huge models, GTX-480 upwards. The processor of the card approaches 100% utilization.