Date of Award
Master of Applied Science (MASc)
Electrical and Computer Engineering
Optical flow is a well known technique for the measurement of motion in images. Although it has many applications, calculating the optical flow remains computationally expensive and challenging to use in time-critical tasks. This thesis describes an accelerated approach to optical flow computation using foveation and parallel processing on a Graphics Processing Unit (GPU). Foveation reduces the amount of image data to process by mimicking the variable resolution structure of the human visual system. The resulting image data is processed in parallel on a 240 processor GPU to achieve high frame rates on high resolution images. The newly introduced Compute Unified Device Architecture (CUDA) framework is utilized to create an efficient mapping of optical flow and foveation algorithms to the GPU.
The performance and error of the algorithm is characterized using synthetic and real data. The non-foveated optical flow algorithm is found to perform up to 100× faster than a CPU implementation. Foveated optical flow is found to give an additional performance gain of up to 27× over non-foveated optical flow with a corresponding increase in angular error. The results are shown to match or outperform FPGA and non-CUDA GPU implementations. Finally, the application of the described system to real-time control of a robot arm is demonstrated.
Kuchnio, Peter, "Accelerated Optical Flow Computation using Foveated Vision and Compute Unified Device Architecture" (2009). Open Access Dissertations and Theses. Paper 4196.
McMaster University Library