Abolfazl Sajadi

Digital Systems Designer

Hardware Security Engineer

Electronics Engineer

Abolfazl Sajadi

Digital Systems Designer

Hardware Security Engineer

Electronics Engineer

Bachelor’s thesis

  • Categories: Bachelor's thesis
  • Supervisor: Dr. Mohammadreza Zakerhghighi
  • Grade: 19.75
  • Defense Date: 2016/08/30
See Demo

Detection and tracking of moving objects in public environments on the ZYNQ platform (real-time processing)

Overview

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.

Project Description

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.

Motivation & Importance

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:

  • High speed
  • High accuracy
  • Strong security

Our system aims to achieve all three properties while maintaining a reasonable cost and an independent operational structure.

 

Implementation

The core of the system was designed using High-Level Synthesis (HLS) and implemented on an FPGA-based embedded system.

  • Detection & Tracking Algorithm:

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.

  • Hardware & Software Tools:

FPGA Platform: ZYNQ-7000 SoC

Software Tools: Vivado, SDK, OpenCV, MATLAB

Programming Languages: C, C++, HLS, Python (for MATLAB & OpenCV processing)

  • Performance Evaluation:

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.

  •  

Why FPGA?

Real-time image processing demands high-speed computation with low power consumption and security. Traditional CPU-based solutions face challenges such as:

  • Lower security (Operating System vulnerabilities)
  • Higher power consumption
  • Larger form factors
  • Slower processing speeds

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:

  • High processing speed
  • Security
  • Low power consumption
  • Flexible software-hardware co-design

Demonstration

  • The next video shows how the system works in real-time.
  • Another video presents parallel timing comparisons of three different implementations of the algorithm.

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.


 

 

 

Supervisor: Dr. Mohammadreza Zakerhghighi