FPGA & embedded visionUndergraduate project

Object Detection & Tracking on Zynq

An embedded-vision study taking object detection from MATLAB and OpenCV prototypes to an HLS core integrated on a Zynq platform.

My contribution

Undergraduate embedded-vision research and implementation

Project archive
Original ZYBO system concept: camera/video input, FPGA board, display and host link.
Original ZYBO system concept: camera/video input, FPGA board, display and host link.
ENGINEERING HIGHLIGHTS

What stands out.

  • MATLAB & C++ algorithm prototypes
  • HLS core & board integration
  • Three-implementation timing demonstration
Project overview

From the problem to the implementation.

The problem

Explore an implementation path for image processing that combines programmable logic with software-controlled interfaces.

The approach

  • Developed the algorithm in MATLAB and C++/OpenCV.
  • Created a processing core through the HLS workflow.
  • Integrated the design with Vivado and Xilinx SDK on the Zynq board.

What came together

An embedded-vision implementation workflow with a system concept diagram, original demonstrations and a Persian research report.

Project footage

See it in action

Sobel filter demonstration

Sobel-filter demonstration from the embedded-vision archive. Silent demonstration.

Open video

Target-colour frame search

Frame-search illustration of target-colour detection. Silent demonstration.

Open video

Implementation timing comparison

Side-by-side timing comparison of three implementations. Silent demonstration.

Open video
System view

How the system works

Camera/frame input

Video frames enter the embedded-vision path.

Target-colour logic

Pixel values are compared with a chosen colour range.

Software prototypes

MATLAB and C++/OpenCV versions establish the algorithmic workflow.

HLS core

The processing logic is expressed through the HLS development flow.

Zynq integration

Vivado and Xilinx SDK connect the core with the board-level design.

Visual output

The display shows the processed frame and marked target.

Technical notes

The detail behind the build

A vision algorithm on an embedded platform

My undergraduate work explored object detection and tracking on a Zynq-based platform. The project connects image-processing software with the tools needed to build and integrate programmable logic.

From software to an HLS core

The development path began with MATLAB, continued with a C++/OpenCV implementation and then moved into HLS. Vivado and Xilinx SDK were used to transfer the design into the board-level workflow.

Finding a target colour

For the colour-based detection step, pixels in an incoming frame are compared with a selected colour range and matching locations are marked. The frame-search demonstration makes this operation visible.

The board-level system

The concept diagram connects the camera/video path, ZYBO board, display and host interface. The platform uses a Zynq XC7Z010CLG400-1; the research also considered Spartan-6 and Raspberry Pi implementation options.

Different implementations, one question

The comparison recording presents the timing of three implementations side by side. The additional Sobel-filter and frame-search demonstrations show related parts of the vision-development process. Source code and the complete Persian report provide a route into the technical work.

Implementation

Software, hardware & tools.

Software

  • MATLAB & C++ algorithm development
  • Vivado HLS, Vivado & Xilinx SDK

Hardware

  • Zynq XC7Z010CLG400-1 / ZYBO
  • Camera/video interface
  • Display
  • Host connection
  • Spartan-6 and Raspberry Pi as comparison platforms

Technology stack

  • Zynq
  • HLS
  • Embedded vision
Continue the conversation

Working on a related challenge?

Get in touch about Python, embedded systems or a research opportunity.

Next project

Aerial Object Tracking

Computer vision