fastmatch

所属分类:模式识别(视觉/语音等)
开发工具:Visual C++
文件大小:225KB
下载次数:442
上传日期:2007-09-25 10:00:57
上 传 者wwzzgg
说明:  一种快速的图像匹配算法,能够识别复杂背景下的小目标
(A fast image matching algorithm, to identify the complexity of the context of the small target)

文件列表:
65520778SiftGPU-0[1].5.261 (0, 2007-09-25)
65520778SiftGPU-0[1].5.261\notice.txt (819, 2007-06-02)
65520778SiftGPU-0[1].5.261\source (0, 2007-06-02)
65520778SiftGPU-0[1].5.261\source\bin (0, 2007-08-01)
65520778SiftGPU-0[1].5.261\source\lib (0, 2007-06-02)
65520778SiftGPU-0[1].5.261\source\lib\cg.lib (91636, 2007-05-21)
65520778SiftGPU-0[1].5.261\source\lib\cgGL.lib (21254, 2007-05-21)
65520778SiftGPU-0[1].5.261\source\lib\DevIL.exp (17093, 2007-05-11)
65520778SiftGPU-0[1].5.261\source\lib\DevIL.lib (28050, 2007-05-11)
65520778SiftGPU-0[1].5.261\source\lib\glew32.lib (279300, 2007-05-11)
65520778SiftGPU-0[1].5.261\source\lib\glew32s.lib (690534, 2007-05-11)
65520778SiftGPU-0[1].5.261\source\lib\glut.def (2290, 2007-05-11)
65520778SiftGPU-0[1].5.261\source\lib\glut.lib (79654, 2007-05-11)
65520778SiftGPU-0[1].5.261\source\lib\glut32.lib (79898, 2007-05-11)
65520778SiftGPU-0[1].5.261\source\lib\imdebug.lib (1922, 2007-05-11)
65520778SiftGPU-0[1].5.261\source\lib\SIFTGPU.exp (1137, 2007-05-11)
65520778SiftGPU-0[1].5.261\source\src (0, 2007-07-09)
65520778SiftGPU-0[1].5.261\source\src\FrameBufferObject.cpp (2994, 2007-07-09)
65520778SiftGPU-0[1].5.261\source\src\FrameBufferObject.h (1646, 2007-06-02)
65520778SiftGPU-0[1].5.261\source\src\GlobalUtil.cpp (10477, 2007-07-31)
65520778SiftGPU-0[1].5.261\source\src\GlobalUtil.h (3331, 2007-07-31)
65520778SiftGPU-0[1].5.261\source\src\GLTexImage.cpp (28400, 2007-08-01)
65520778SiftGPU-0[1].5.261\source\src\GLTexImage.h (3470, 2007-07-31)
65520778SiftGPU-0[1].5.261\source\src\gs_types.h (1304, 2007-06-02)
65520778SiftGPU-0[1].5.261\source\src\ProgramCG.cpp (78257, 2007-07-31)
65520778SiftGPU-0[1].5.261\source\src\ProgramCG.h (4958, 2007-07-31)
65520778SiftGPU-0[1].5.261\source\src\ProgramGLSL.cpp (36362, 2007-07-31)
65520778SiftGPU-0[1].5.261\source\src\ProgramGLSL.h (4797, 2007-07-31)
65520778SiftGPU-0[1].5.261\source\src\ProgramGPU.cpp (5183, 2007-08-01)
65520778SiftGPU-0[1].5.261\source\src\ProgramGPU.h (7481, 2007-08-01)
65520778SiftGPU-0[1].5.261\source\src\ShaderMan.cpp (9341, 2007-08-01)
65520778SiftGPU-0[1].5.261\source\src\ShaderMan.h (3694, 2007-07-31)
65520778SiftGPU-0[1].5.261\source\src\SiftGPU.cpp (26177, 2007-08-01)
65520778SiftGPU-0[1].5.261\source\src\SiftGPU.h (7141, 2007-07-31)
65520778SiftGPU-0[1].5.261\source\src\SiftPyramid.cpp (49443, 2007-08-01)
65520778SiftGPU-0[1].5.261\source\src\SiftPyramid.h (6464, 2007-07-31)
65520778SiftGPU-0[1].5.261\source\VC (0, 2007-08-01)
65520778SiftGPU-0[1].5.261\source\VC\SiftGPU.dsp (6374, 2007-06-02)
... ...

A GPU implementation of David Lowe's Scale Invariant Feature Transform Changchang wu http://cs.unc.edu/~ccwu University of North Carolina at Chapel Hill 1. SIFT SiftGPU is an implementation of SIFT for GPU. It does pyramid construction, keypoint detection and descriptor generation on GPU. Subpixel/subscale localization is also implemented in the latest version. Not only can SiftGPU process pixels/features paralelly with GPU, but also this implementation 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. SiftGPU is nice for large images. After processing the first image, all the texture will be allocated, and some are well cached. Then processing new images with same dimensions will be very efficient. We tried processing pgm image sequence of size 2048*1365 on nVidia 8800 GTX. It is slow in the first round, but it gets a speed of about 4hz after! 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 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. The document is not very detailed yet, but a more extensive version will come up later. Check /doc/manual.doc for help on the viewer. History 0.5.261 Added a new feature for using existing memories for processing smaller images Added new functions to let user control the allocation pyramid momory Fixed a bug with sub-pixel localization (sorry for this) 0.5.256 Added linux makefile Added a new feature for allocating seperate processing memories for multiple images. 0.5.250 New keypoint detection code capable of sub-pixel/sub-scale localization Changed code for easy Linux porting. Thank Martin Schneider for his help on this Changed some default values of the parameters. Improved SIFT visualization. 0.5.236 Fixed an important bug in orientation computation Successfully tested on many image matching experiments Changed the command line -m to default 2 orientations 0.5.232 Fixed a sift output bug Fixed a NaN bug in descriptor generation Fixed a bug that some images are flipped 0.5.224 Fixed a memory leak bug on FBO Added one more demo for processing ***0*480 image sequence Smalled change to interface, so that image data can be specified like OpenGL textures 0.5.220 Added more examples to manual. Added more comments about the siftgpu interface Added one more input interface Fixed bug of crash on image size change 0.5.208 First release

近期下载者

相关文件


收藏者