SIFTGPU

所属分类:图形图像处理
开发工具:Visual C++
文件大小:7983KB
下载次数:124
上传日期:2008-04-15 22:44:06
上 传 者irsaimage
说明:  A GPU implementation of David Lowe s Scale Invariant Feature Transform compiled on graphics cards 需要显卡芯片支持fp40/vp40,如nvidia 7900, 8800或以上
(A GPU implementation of David Lowe s Scale Invariant Feature Transform compiled on graphics cards to support the needs of graphics chips fp40/vp40, such as the nvidia 7900, 8800 or more)

文件列表:
SIFTGPU (0, 2008-01-24)
SIFTGPU\!!!.txt (275, 2007-09-14)
SIFTGPU\History.txt (3069, 2007-09-21)
SIFTGPU\Include (0, 2008-01-24)
SIFTGPU\Include\Cg (0, 2008-01-24)
SIFTGPU\Include\Cg\cg.h (32790, 2007-05-21)
SIFTGPU\Include\Cg\cgGL.h (17654, 2007-05-21)
SIFTGPU\Include\Cg\cgGL_profiles.h (3703, 2007-05-21)
SIFTGPU\Include\Cg\cg_bindlocations.h (26792, 2007-05-21)
SIFTGPU\Include\Cg\cg_datatypes.h (13530, 2007-05-21)
SIFTGPU\Include\Cg\cg_enums.h (4452, 2007-05-21)
SIFTGPU\Include\Cg\cg_errors.h (10789, 2007-05-21)
SIFTGPU\Include\Cg\cg_profiles.h (4436, 2007-05-21)
SIFTGPU\Include\GL (0, 2008-01-24)
SIFTGPU\Include\GL\glew.h (531058, 2007-05-24)
SIFTGPU\Include\GL\glext.h (372373, 2007-03-29)
SIFTGPU\Include\GL\glut.h (21440, 2007-03-29)
SIFTGPU\Include\GL\glxext.h (32541, 2007-03-29)
SIFTGPU\Include\GL\wglew.h (42822, 2007-05-24)
SIFTGPU\Include\GL\wglext.h (27728, 2007-03-29)
SIFTGPU\Include\IL (0, 2008-01-24)
SIFTGPU\Include\IL\config.h.win (3197, 2007-03-29)
SIFTGPU\Include\IL\devil_internal_exports.h (6775, 2007-03-29)
SIFTGPU\Include\IL\il.h (19453, 2007-03-29)
SIFTGPU\Include\IL\ilu.h (6597, 2007-03-29)
SIFTGPU\Include\IL\ilut.h (12514, 2007-03-29)
SIFTGPU\Include\IL\ilu_region.h (593, 2007-03-29)
SIFTGPU\Include\imdebug (0, 2008-01-24)
SIFTGPU\Include\imdebug\imdbgdisplay.exe (671744, 2007-03-29)
SIFTGPU\Include\imdebug\imdebug.dll (73728, 2007-03-29)
SIFTGPU\Include\imdebug\imdebug.h (5141, 2007-03-29)
SIFTGPU\Include\imdebug\imdebug.lib (1922, 2007-03-29)
SIFTGPU\Include\imdebug\imdebuggl.h (9275, 2007-05-29)
SIFTGPU\notice.txt (819, 2007-06-02)
SIFTGPU\SiftGPU (0, 2008-01-24)
SIFTGPU\SIFTGPU Matlab Tutorial.docx.doc (501760, 2008-01-24)
SIFTGPU\SiftGPU\bin (0, 2008-01-24)
SIFTGPU\SiftGPU\bin\SIFTGPU.dll (368640, 2007-09-21)
SIFTGPU\SiftGPU\bin\SIFTGPU.exp (5592, 2007-09-21)
... ...

A GPU implementation of David Lowe's Scale Invariant Feature Transform compiled on graphics cards by Changchang wu (http://cs.unc.edu/~ccwu) and interfaced with matlab by Adam Chapman (http://www.mace.manchester.ac.uk) Matlab programs are inside the folder %\SIFTPGU\TestWin\src A tutorial is provided in a word document titled 'SIFTGPU Matlab Tutorial'. 1. SIFT SiftGPU is an implementation of SIFT for GPU. It does pyramid construction, keypoint detection and descriptor generation on GPU. Not only does SiftGPU process pixels/features paralelly with GPU, this implementation also reduces readback time by generating compact feature list with GPU algorithms SiftGPU borrows a lot from Andrea Vedaldi's sift++ . Many parameters of sift++ ( for example, number of octaves,number of DOG levels, edge threshold, etc) are available in SiftGPU. Shader programs are dynamically generated according to those parameters. 2. Hardware The entire functionality works fully only on hardware that supports cg profile fp40/vp40 or higher, for example, nvidia 7900, 8800. If your GPU does not support fp40/vp40, orientation computation of SIFT will be simplified, edge elimination will be ignored, and descriptor will be ignored. There are also some GPU parameters to play with. You can try to tune them to get the best performance for you GPU. 3. Environment Both VC6 workspace and VS2005 solution are provided: VC\SiftGPU.dsw and VC\SIftGPU.sln. Make sure you set necessary arguments when running the binaries in VC. Please use Release build in VC to get better performance. Linux makefile is now also provided. 4. Dependencies SiftGPU uses the CG (1.5 or 2.0), DevIl Image library, GLEW and GLUT. 5. Notes By default, (0, 0) is the corner of top-left pixel instead of the center of that. Use parameter "-loweo" to get the same coordinate system as Lowe's. SiftGPU need to allocate textures for storage initially or when any image that cannot fit in the allocated storage. It would be very effecient if you pre-resize all images to a same dimension, and process them with one SiftGPU instance because memeory is being resued. When processing image sequence with varing sizes, you can try use the maximum size to allocate storage for all the images , or you can try multiple pyramids Loading some images (.e.g jpg) may take a lot of time on decompressing, Please use binary pgm file instead of jpg to get better speed. SiftGPU may get slightly different result on different GPUs due to the difference in floating point precision. SiftGPU might be slow if your graphic card does not have enough memory. This is because virtual memory is automatically used when physical memory is running out. 6. Helps Use -help to get parameter information. Check /doc/manual.doc for samples and explanations. In the vc workspace, there is a project called SimpleSIF that gives an example of simple SiftGPU usage. There are more examples of different ways of using SiftGPU in manual.doc. Check /doc/manual.doc for help on the viewer.

近期下载者

相关文件


收藏者