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.
近期下载者:
相关文件:
收藏者: