Statistics
| Branch: | Revision:

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