Project

General

Profile

Statistics
| Branch: | Revision:

root / rgbdslam / external / siftgpu / History.txt @ 9240aaa3

History | View | Annotate | Download (9.31 KB)

1 9240aaa3 Alex
0.5.370
2
	
3
	Automatic switch from OpenGL to CUDA when OpenGL is not supported (Useful for X)
4
	Dropped indirect data transfer path CPU->GL->CUDA 
5
	    (CUDA part not requiring OpenGL at all, but restrictive on input type)
6
	New parameter -mind (mininum working dimension) for performance tweak
7
	    (By default it is 16; Gaussian octaves smaller than this will be skipped)
8
	    (Small dimensions are ineffecient for GPU because many processes are on idle)
9
	Added a function to compute SIFT for any rectangle (not only square!)
10
	    (Email me if you are interested in using it)
11
	
12
	Dropped all CG implementation to simplify maintance
13
	Added a partial OpenCL implementation (half speed of CUDA/GLSL)
14
	Added macro SIFTGPU_NO_DEVIL to allow droping DevIL depencency
15
	Fixed minor bug in makefile
16
	Removed reference to MAX_PATH in SiftGPU.h. It is dangerrous..since they can be redefined. 
17
18
0.5.360 
19
	Added demo MultiThreadSIFT to demonstrate using Multi-GPU with Multi-Threading.
20
	Improved CUDA performance on frequent image size changes
21
	Skipped unacessary gradient/dog computation when using keypoint list on a same image
22
	Added x64 projects to VisualStudio solution
23
	Provided three different ways to limit the number of feautres -tc1 -tc2 -tc3
24
		(to keep either the highest levels or the lowest levels)
25
	Fixed a bug with -tc introduced in V360Beta (2/26/10)
26
	Fixed a bug in CUDA-implementation when the first several octaves are skipped (2/28/10)
27
	Let RunSIFT return 0 when errors are found in CUDA (previously ignored)
28
	Added option -winpos for Win32 to select device according Monitor
29
	Added option -display for X window to select GPU according to Display
30
	Modified option -cuda [device_index] to select GPU device.
31
	Added Wrapper ServerSiftGPU to allow run multiple SiftGPU on multiple GPUs 
32
	Added option -tc to set a soft limit for the number of returned features. 
33
	Changed OpenGL context creation. The core library no longer requires GLUT.	
34
	Removed calles to std in file ProgramCU.cu to avoid possible compiling errors. 
35
	Reorganized the file structure of the code package.     
36
	Fixed some linux makefile issue and linux compilation issue.	
37
	Fixed linux name mangling problem for dynamic library loading.
38
0.5.345
39
	New Linux makefile. CG, CUDA and sse parameters can now be changed easily in makefile.
40
	CG-based SiftGPU is now disabled by default to reduce dependencies. 
41
	Made more parameters changable after initizlization (check manual for details)
42
	Changed the way of handling out-of-boundary user-specified keypoints.
43
	Changed the timing function from clock to gettimeofday for Linux (Thanks to Pilet)
44
	Fixed a bug in saving binary format(Thanks to Dekker)
45
	Fixed linux makefile for CUDA-SIFTGPU (Thanks to Planna)
46
	Fixed a conversion bug for 64-bit system introduced in V340 (Thanks to Plana and Wang)
47
0.5.340
48
	Added (-glsl -pack -m -s) to default setting. (You can change back to CG by -cg)
49
	Updated libraries (CG 2.1, GLEW 1.5, DEVIL 1.77)
50
	Used SSE to speed up descriptor normalization	
51
	Improved speed of the OpenGL-based SiftMatchGPU. (1.5x)
52
	Added GLSL and CUDA implementation of SiftMatchGPU
53
	Added the packed glsl implementation. It might be slightly faster than cg.
54
	Added a CUDA-based SiftGPU implementation(use -cuda to turn it on)
55
	Cleaned up the GLSL code to follow the GLSL standard more strictly.
56
	Tested many of the GLSL shaders in GPU ShaderAnalyzer 1.5.
57
	Added option -fastmath to specify -fastmath to cg compiler(yet no big difference).
58
	Increased the threshold to fix the bug in guided matching when F is NULL
59
	Fixed a bug in orientation for -m2p (missing a ";" in shader code)
60
	Changed interface to handle all OpenGL pixel data (Previous only float and unsigned char). 
61
	Kept only the fastest verion of descriptor generation code, and dropped others. 
62
0.5.320
63
	Fixed a bug (Wrong texture size may be assigned when image size changes)
64
	Fixed a bug (Descriptor storage size may be not updated when image size changes)
65
0.5.319
66
	Fixed a bug (Setkeypoint before specifying image was not working in previous versoins)
67
0.5.318
68
	Changed interface to process keypoints WITHOUT known orientations
69
	Added interface to specifiy float image data
70
	Overloaded new operator of SiftGPU and SiftMatchGPU to fix a possible heap corruption on deallocation
71
0.5.317
72
	Fixed a bug in processing user-specified keypoints
73
	Updated the .def file for the released package
74
0.5.316
75
	Fixed a bug of insufficient buffer allocation in very rare cases. (Thanks to Zheng)
76
	Added guided SIFT putative matching using homography or/and fundamental matrix
77
	Added function to change the feature number limitation for sift matching
78
0.5.315
79
	Added a cg-based sift matching implementation (Thanks to Zach)(see SimpleSIFT.cpp for example).
80
	Added optional output of the extremum type (maximum or minimum) of feature
81
	Added function to compute descriptors for user-specified keypoints
82
	Included xcode project and makefile(Thanks to Perfanov and Wittenhagen)
83
0.5.313
84
	Finished the GLSL implementation of SIFT (use -glsl to turn it on).
85
	Fixed a bug of crashing after many iterations on newer graphic card like GTX 280. (Thanks to Zheng)
86
0.5.312
87
	Fixed a bug introduced in V311(One texture size not updated for image size chaning with -pack)
88
	Fixed a bug introduced in V311(feature readback function is empty for -pack). (Thanks to Palomo)
89
0.5.311
90
	Fixed a bug in descriptor computation (it may cause error in descriptors of 10% of features)
91
	Implemented a packed SIFT implementation (use -pack to use it. 3x pyramid construction speed)
92
	Used GPU/CPU mixed list generation (2X compared with old method)
93
	Used only CPU for multi-orientation list generation (much faster than GPU)
94
	Changed parameter to avoid using dyamic array indexing by default.
95
	Implemented a new descriptor computation method(30% faster than the old one
96
	Evaluated the speed on GTX 280. (obtained 1.5x the speed of 8800 GTX)
97
	Dropped many unreferenced functions and also some old shaders.
98
	Changed some definition for better compiliation on Mac (Thanks to Wittenhagen)
99
	Changed SaveSIFT function to keep a little bit less fractional digits
100
	Combined the horizontal gradient and vertical gradient visualization to one.
101
0.5.302
102
	Updated cg, glew and glut libraries
103
	Added speed evaluation code 
104
	Added some debug code to write out floating point tiff images 
105
	Refactorized code a little bit, now it is having much less warnings 
106
0.5.293
107
	Changed gaussian weighting factor in orientation computation, now closer to Lowe's
108
	Minor bug fix on texture reallocation for too many features
109
	Added new feature to automatically down-sample images that are larger than user-defined size. 
110
0.5.288
111
	Added comparision with Lowe's SIFT on box.pgm(check /doc/evaluation for results)
112
	Fixed two bugs related to feature scale 
113
	Fixed a bug related to up-sampling
114
	Added a missing dog threshold test after subpixel localization. 
115
	Added new parameter for fixing the feature orientations
116
	Added export function to check how SiftGPU is supported by  current OpenGL context
117
	Changed some default parameter ( now it downloades result, and use verbose level 2 by default)
118
0.5.280
119
	Added an example of dyanmic loading of siftgpu library
120
	Fixed a serious bug of GetFeatureVector (orientation and scale are misordered previously)
121
	Fixed a bug in def file
122
	Fixed a bug in calling RunSIFT with pixel data. 
123
	Fixed some GLSL shader bugs
124
0.5.276
125
	Removed file "gs_types.h" and put the export definition in "siftgpu.h"
126
	Added high resolution timing for windows by using funciton timeGetTime
127
	Fixed some problems on arbfp1. Now it can run a limited demo again.
128
	Added parameter for changing the maximum allowed feature number of a level
129
0.5.267
130
	Corrected a neglected stricmp to _stricmp for linux compiliation
131
	Fixed a bug in function ResizePyramid which happens when image size changes in some way
132
	Added key input function to change verbose level for GUI mode
133
	
134
0.5.265
135
	Added display of fps information in console for sequential processing
136
	Added an optional step that converts RGB to Luminance before uploading to GPU
137
	Added a parameter "-p WxH" to specify the size for initializing the pyramids 
138
0.5.261
139
	Added a new feature for using existing memories for processing smaller images
140
	Added new functions to let user control the allocation pyramid momory
141
	Fixed a bug with sub-pixel localization 
142
143
0.5.256
144
	Added linux makefile 
145
	Added a new feature for allocating seperate processing memories for multiple images.
146
0.5.250 
147
	New keypoint detection code capable of sub-pixel/sub-scale localization
148
	Changed code for easy Linux porting. Thank Martin Schneider for his help on this 
149
	Changed some default values of the parameters. 
150
	Improved SIFT visualization. 
151
0.5.236 
152
	Fixed an important bug in orientation computation 
153
	Successfully tested on many image matching experiments 
154
	Changed the command line -m to default 2 orientations 
155
0.5.232 
156
	Fixed a sift output bug 
157
	Fixed a NaN bug in descriptor generation
158
	Fixed a bug that some images are flipped 
159
0.5.224          
160
	Fixed a memory leak bug on FBO 
161
	Added one more demo for processing 640*480 image sequence 
162
	Smalled change to interface, so that image data can be specified like OpenGL textures
163
0.5.220 
164
	Added more examples to manual. 
165
	Added more comments about the siftgpu interface 
166
	Added one more input interface 
167
	Fixed bug of crash on image size change 
168
0.5.208 
169
	First release