Image warping with OpenCL


Finally image warping is no longer painful. In previous projects warping images was the slowest component in the algorithm. In face tracking for instance a good 1/3 to 2/3 of the time was just warping them. OpenCL finally changes all of this. With just a hundred lines you can warp +12,000 images (each 48×48) in under 1 second! It could take up to a 1 sec to do 300 samples without GPU processing.

It is extremely easy to write OpenCL kernels (although there is room for improvement) and here is the warping kernel I have written.