root / rgbdslam / external / siftgpu / README.txt @ 9240aaa3
History | View | Annotate | Download (2.41 KB)
1 |
A GPU implementation of David Lowe's Scale Invariant Feature Transform |
---|---|
2 |
|
3 |
Changchang wu |
4 |
|
5 |
http://cs.unc.edu/~ccwu |
6 |
|
7 |
University of North Carolina at Chapel Hill |
8 |
|
9 |
|
10 |
|
11 |
|
12 |
1. SIFT |
13 |
|
14 |
SIFTGPU is an implementation of SIFT for GPU. SiftGPU uses GPU to process pixels and features |
15 |
parallely in Gaussian pyramid construction, DoG keypoint detection and descriptor generation |
16 |
for SIFT. Compact feature list is efficiently build through a GPU/CPU mixed reduction. |
17 |
|
18 |
SIFTGPU is inspired by Andrea Vedaldi's sift++ and Sudipta N Sinha et al's GPU-SIFT. Many |
19 |
parameters of sift++ ( for example, number of octaves,number of DOG levels, edge threshold, |
20 |
etc) are available in SiftGPU. |
21 |
|
22 |
|
23 |
SIFTGPU also includes a GPU exhaustive/guided sift matcher SiftMatchGPU. It basically multiplies |
24 |
the descriptor matrix on GPU and find closest feature matches on GPU. GLSL/CUDA/CG implementations |
25 |
are all provided. |
26 |
|
27 |
NEW: The latest SIFTGPU also enables you to use Multi-GPUs and GPUS on different computers. |
28 |
Check doc/manual.pdf for more information. You can modify some marcros definition in |
29 |
SimpleSIFT.cpp and speed.cpp to enable the testing of the new functions. |
30 |
|
31 |
|
32 |
2. Requirements |
33 |
|
34 |
The default implemntation uses GLSL, and it requires a GPU that has large memory and supports |
35 |
dynamic branching. For nVidia graphic cards, you can optionally use CG(require fp40) or |
36 |
CUDA implementation. You can try different implementations and to find out the fastest one |
37 |
for different image sizes and parameters. |
38 |
|
39 |
The GLSL version may not work on ATI now. They did compile sucessfully with ATI Catalyst 8.9, |
40 |
but not any more with 9.x versions. |
41 |
|
42 |
SiftGPU uses DevIl Image library, GLEW and GLUT. You'll need to make sure your system has |
43 |
all the dependening libraries. SiftGPU should be able to run on any operation system that supports |
44 |
the above libraries |
45 |
|
46 |
For windows system visual studio solution are provided as VC/SiftGPU.dsw, VC/SiftGPU.sln and |
47 |
VC/SiftGPU_CUDA_Enabled.sln. Linux/Mac makefile is in folder Linux of the package. |
48 |
|
49 |
|
50 |
3. Helps |
51 |
|
52 |
Use -help to get parameter information. Check /doc/manual.pdf for samples and explanations. |
53 |
In the vc workspace, there is a project called SimpleSIF that gives an example of simple |
54 |
SiftGPU usage. There are more examples of different ways of using SiftGPU in manual.pdf |
55 |
|
56 |
|
57 |
Check /doc/manual.pdf for help on the viewer. |
58 |
|