This project was my Bachelor’s thesis, developed in collaboration with Sina Shiry. The goal was to design a real-time object detection and tracking system using FPGA technology.
The system processes a video frame received through an HDMI input, applies two-color filtering to detect a specified color range, and determines the distance of the detected object from the camera. The object’s position is also identified and displayed on a LED panel and marked on the VGA output frame. Additionally, the detected distance is transmitted via a UART port. All these operations are performed in real time, ensuring high-speed processing for each frame.
This research contributes to the field of real-time image processing for embedded systems, which is crucial for security-sensitive applications. Many traditional image processing approaches lack one or more of the following essential properties:
Our system aims to achieve all three properties while maintaining a reasonable cost and an independent operational structure.
The core of the system was designed using High-Level Synthesis (HLS) and implemented on an FPGA-based embedded system.
The system scans each pixel in the incoming frame and compares it with a predefined color range.
Marked pixels indicate the detected object.
Distance calculation is performed based on object size and frame analysis.
FPGA Platform: ZYNQ-7000 SoC
Software Tools: Vivado, SDK, OpenCV, MATLAB
Programming Languages: C, C++, HLS, Python (for MATLAB & OpenCV processing)
The algorithm was first implemented in MATLAB for verification.
Then, it was optimized using OpenCV.
Finally, it was synthesized into hardware using HLS and Vivado.
A comparative study of different platforms and parallel timing execution was conducted.
Real-time image processing demands high-speed computation with low power consumption and security. Traditional CPU-based solutions face challenges such as:
Alternative FPGA solutions (e.g., Spartan-6) offer speed and security but lack flexibility in software programming and require complex hardware setups for additional I/O protocol support. The ZYNQ-7000 SoC was chosen as the best fit for its balance between:
This project showcases an efficient, high-performance approach to real-time object detection using FPGA-based embedded systems, offering a viable solution for applications requiring speed, security, and flexibility.