Description: SiftGPU is an implementation of SIFT [1] for GPU. SiftGPU processes pixels parallely to build Gaussian pyramids and detect DoG Keypoints. Based on GPU list generation[3], SiftGPU then uses a GPU/CPU mixed method to efficiently build compact keypoint lists. Finally keypoints are processed parallely to get their orientations and descriptors.
SiftGPU is inspired by Andrea Vedaldi s sift++[2] and Sudipta N Sinha et al s GPU-SIFT[4] . Many parameters of sift++ ( for example, number of octaves, number of DOG levels, edge threshold, etc) are also available in SiftGPU. The shader programs are dynamically generated according to the parameters that user specified.
SiftGPU also includes a GPU exhaustive/guided sift matcher SiftMatchGPU. It basically multiplies the descriptor matrix on GPU and find closest feature matches on GPU. Both GLSL and CUDA implementations are provided.
To Search:
File list (Check if you may need any files):
SiftGPU
.......\bin
.......\...\DevIL.dll
.......\...\glew32.dll
.......\...\SIFTGPU.dll
.......\...\SimpleSIFT.exe
.......\...\speed.exe
.......\...\TestWin.exe
.......\data
.......\....\1600.jpg
.......\....\640-1.jpg
.......\....\640-2.jpg
.......\....\640-3.jpg
.......\....\640-4.jpg
.......\....\640-5.jpg
.......\....\800-1.jpg
.......\....\800-2.jpg
.......\....\800-3.jpg
.......\....\800-4.jpg
.......\....\box.pgm
.......\....\list640.txt
.......\....\listx.txt
.......\....\Thumbs.db
.......\demos
.......\.....\demo1.bat
.......\.....\demo2.bat
.......\.....\demo3.bat
.......\.....\evaluation-box.bat
.......\.....\instructions.txt
.......\doc
.......\...\evaluation
.......\...\..........\box.pgm
.......\...\..........\box.siftgpu
.......\...\..........\evaluation.jpg
.......\...\manual.pdf
.......\...\speed_v311.jpg
.......\...\speed_v340_v2.jpg
.......\...\statistics.pdf
.......\History.txt
.......\include
.......\.......\GL
.......\.......\..\glew.h
.......\.......\..\glut.h
.......\.......\..\wglew.h
.......\.......\IL
.......\.......\..\COPYING
.......\.......\..\il.h
.......\lib
.......\...\DevIL.lib
.......\...\glew32.lib
.......\...\glew32s.lib
.......\...\glut32.lib
.......\...\SIFTGPU.exp
.......\...\SIFTGPU.lib
.......\...\TestBase.lib
.......\linux
.......\.....\bin
.......\.....\Instruction.txt
.......\.....\makefile
.......\mac
.......\...\use linux folder.txt
.......\Notes On CUDA.txt
.......\Notes on OpenGL.txt
.......\notice.txt
.......\README.txt
.......\speed_and_accuracy.txt
.......\src
.......\...\ServerSiftGPU
.......\...\.............\server.cpp
.......\...\.............\ServerSiftGPU.cpp
.......\...\.............\ServerSiftGPU.h
.......\...\SiftGPU
.......\...\.......\CLTexImage.cpp
.......\...\.......\CLTexImage.h
.......\...\.......\CuTexImage.cpp
.......\...\.......\CuTexImage.h
.......\...\.......\FrameBufferObject.cpp
.......\...\.......\FrameBufferObject.h
.......\...\.......\GlobalUtil.cpp
.......\...\.......\GlobalUtil.h
.......\...\.......\GLTexImage.cpp
.......\...\.......\GLTexImage.h
.......\...\.......\LiteWindow.h
.......\...\.......\ProgramCG.cpp
.......\...\.......\ProgramCG.h
.......\...\.......\ProgramCL.cpp
.......\...\.......\ProgramCL.h
.......\...\.......\ProgramCU.cu
.......\...\.......\ProgramCU.h
.......\...\.......\ProgramGLSL.cpp
.......\...\.......\ProgramGLSL.h
.......\...\.......\ProgramGPU.cpp
.......\...\.......\ProgramGPU.h
.......\...\.......\PyramidCL.cpp
.......\...\.......\PyramidCL.h
.......\...\.......\PyramidCU.cpp
.......\...\.......\PyramidCU.h
.......\...\.......\PyramidGL.cpp
.......\...\.......\PyramidGL.h
.......\...\.......\ShaderMan.cpp