SIFT DESCRIPTOR K Wasif Mrityunjay
INTRODUCTION 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
INPUT OUTPUT Input: Key point, Orientation, Sigma, Gradient Magnitude (16*16), Gradient Orientation(16*16) Output: Key point, Orientation, Sigma, Descriptors
GPU Implementation 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
FLOW 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
ISSUES Divergence of threads Less Threads per block are being utilized Generalizing will effect the performance Shared Memory Expensive Operations used
RESULTS Key Points Time (ms) V340 Our Code 1) ) ) )
GRAPHS
REFRENCES 1) 2) 3) 4)
THANK YOU