100 likes | 522 Views
SIFT DESCRIPTOR. K Wasif 200807007 Mrityunjay 200807009. SIFT features are local and based on the appearance of the object at interesting points, and are invariant to image scale and rotation Aim: Evaluate descriptors for each key point Achieve fast computation performance on GPU.
E N D
SIFT DESCRIPTOR K Wasif 200807007Mrityunjay 200807009
SIFT features are local and based on the appearance of the object at interesting points, and are invariant to image scale and rotation Aim: Evaluate descriptors for each key point Achieve fast computation performance on GPU INTRODUCTION
Input: Key point, Orientation, Sigma, Gradient Magnitude (16*16), Gradient Orientation(16*16) Output: Key point, Orientation, Sigma, Descriptors INPUT OUTPUT
Each key point's descriptor evaluation is independent of other key points Pass gradient magnitude, gradient orientation, sigma for all key points in one pass Every row of blocks in a grid corresponds to a key point Every block in a row corresponds to 4*4 subregion of that row key point GPU Implementation
1) Grid Dimension (1024*16) 2) Block Dimension (4*4) 3) Gaussian Weight evaluation for each thread 4) Product of Gradient magnitude with weights 5) For each block create 8 orientation bins 6) Add the weighted magnitudes to bins based on gradient orientation. 7) Normalize the descriptor values when every block on the grid has finished its execution FLOW
Divergence of threads Less Threads per block are being utilized Generalizing will effect the performance Shared Memory Expensive Operations used ISSUES
Key Points Time (ms) V340 Our Code 1) 790 10.782 4.523 2)1085 12.57 6.23 3) 4096 25.15 11.87 4) 8232 42.23 20.567 RESULTS
1) http://vlfeat.org/download.html 2) http://www.cs.unc.edu/~ccwu/siftgpu/ 3) http://forums.nvidia.com/index.php?act=idx 4)http://wikipedia.org/sift REFRENCES