FPGA-efficient optical flow computation for real-time vision-based applications

Optical flow is an essential image processing algorithm that can be used to acquire motion information of objects in the environment. For example, an automotive vehicle can use the optical flow to determine the motion of the objects in the road scene (such as vehicles and pedestrians) to avoid colli...

Full description

Saved in:
Bibliographic Details
Main Author: Chen, Yu Hang
Other Authors: Lam Siew Kei
Format: Final Year Project
Language:English
Published: 2017
Subjects:
Online Access:http://hdl.handle.net/10356/70090
Tags: Add Tag
No Tags, Be the first to tag this record!
Institution: Nanyang Technological University
Language: English
id sg-ntu-dr.10356-70090
record_format dspace
spelling sg-ntu-dr.10356-700902023-03-03T20:27:59Z FPGA-efficient optical flow computation for real-time vision-based applications Chen, Yu Hang Lam Siew Kei School of Computer Science and Engineering DRNTU::Engineering::Computer science and engineering Optical flow is an essential image processing algorithm that can be used to acquire motion information of objects in the environment. For example, an automotive vehicle can use the optical flow to determine the motion of the objects in the road scene (such as vehicles and pedestrians) to avoid collision. Today there are increasing number of image processing applications on embedded systems (e.g. smart phones, wearable devices, etc.) many of which runs on stand-alone power source such as batteries. Implementing the optical flow algorithm on battery operated embedded platforms poses a significant challenge in meeting speed and power consumption requirements as the algorithm consists of many complex mathematical operations and requires large memory accesses. This provides the motivation for this project to develop hardware efficient strategies for the optical flow algorithm. In this study, the hardware-based optical flow algorithm was introduced and implemented on FPGA. There are many algorithms used to determine the optical flow of the objects including Horn and Schunck and Lucas Kanade method. In this report, we focus on the Iterative Lucas Kanade method, which is a method introduced by the Lucas Kanade. The software-based iterative Lucas Kanade optical flow algorithm was implemented in MATLAB for algorithm verification. Due to limited time given for the project, only one iteration and one pyramid level of Lucas Kanade optical flow algorithm was investigated for hardware implementation. A Java version of the optical flow algorithm was written for verifying the results of the Verilog implementation. Several challenges were encountered and resolved during the hardware design of the optical flow algorithm. The first Verilog design of the Lucas Kanade optical flow could not be implemented on the De2i-150 development board, which was the targeted board in this study, due to limited SDRAM access capabilities. This led to a second Verilog design of the optical flow algorithm to overcome this limitation by using block memories of the FPGA instead of the external SDRAM. The final implementation of the optical flow was successfully ported and demonstrated on the FPGA platform. Bachelor of Engineering (Computer Engineering) 2017-04-11T05:11:24Z 2017-04-11T05:11:24Z 2017 Final Year Project (FYP) http://hdl.handle.net/10356/70090 en Nanyang Technological University 54 p. application/pdf
institution Nanyang Technological University
building NTU Library
continent Asia
country Singapore
Singapore
content_provider NTU Library
collection DR-NTU
language English
topic DRNTU::Engineering::Computer science and engineering
spellingShingle DRNTU::Engineering::Computer science and engineering
Chen, Yu Hang
FPGA-efficient optical flow computation for real-time vision-based applications
description Optical flow is an essential image processing algorithm that can be used to acquire motion information of objects in the environment. For example, an automotive vehicle can use the optical flow to determine the motion of the objects in the road scene (such as vehicles and pedestrians) to avoid collision. Today there are increasing number of image processing applications on embedded systems (e.g. smart phones, wearable devices, etc.) many of which runs on stand-alone power source such as batteries. Implementing the optical flow algorithm on battery operated embedded platforms poses a significant challenge in meeting speed and power consumption requirements as the algorithm consists of many complex mathematical operations and requires large memory accesses. This provides the motivation for this project to develop hardware efficient strategies for the optical flow algorithm. In this study, the hardware-based optical flow algorithm was introduced and implemented on FPGA. There are many algorithms used to determine the optical flow of the objects including Horn and Schunck and Lucas Kanade method. In this report, we focus on the Iterative Lucas Kanade method, which is a method introduced by the Lucas Kanade. The software-based iterative Lucas Kanade optical flow algorithm was implemented in MATLAB for algorithm verification. Due to limited time given for the project, only one iteration and one pyramid level of Lucas Kanade optical flow algorithm was investigated for hardware implementation. A Java version of the optical flow algorithm was written for verifying the results of the Verilog implementation. Several challenges were encountered and resolved during the hardware design of the optical flow algorithm. The first Verilog design of the Lucas Kanade optical flow could not be implemented on the De2i-150 development board, which was the targeted board in this study, due to limited SDRAM access capabilities. This led to a second Verilog design of the optical flow algorithm to overcome this limitation by using block memories of the FPGA instead of the external SDRAM. The final implementation of the optical flow was successfully ported and demonstrated on the FPGA platform.
author2 Lam Siew Kei
author_facet Lam Siew Kei
Chen, Yu Hang
format Final Year Project
author Chen, Yu Hang
author_sort Chen, Yu Hang
title FPGA-efficient optical flow computation for real-time vision-based applications
title_short FPGA-efficient optical flow computation for real-time vision-based applications
title_full FPGA-efficient optical flow computation for real-time vision-based applications
title_fullStr FPGA-efficient optical flow computation for real-time vision-based applications
title_full_unstemmed FPGA-efficient optical flow computation for real-time vision-based applications
title_sort fpga-efficient optical flow computation for real-time vision-based applications
publishDate 2017
url http://hdl.handle.net/10356/70090
_version_ 1759856763608236032