Detection and tracking of moving objects in public environments on the ZYNQ platform (real-time processing)
![Detection and tracking of moving objects in public environments on the ZYNQ platform (real-time processing)](https://sinashiry.com/wp-content/uploads/2022/10/object-detection.png)
Abstract
This research is a new idea for implementing real-time image processing algorithms on embedded systems. Sometimes image processing is used for security and sensitive systems. These systems have an urgent need for high accuracy and speed along with high security. In the usual methods for image processing, the user always sees the absence of at least one of these three principles.
The purpose of this research, in addition to implementing the three basic principles mentioned, will be the instant video processing with high quality and security, along with a reasonable price and independent operation.
To achieve the above goal, the implementation of the most basic issue of image processing, i.e. detection and tracking of an object in a public environment, will be done. For immediate and real-time processing, a different system with parallel operation is needed. By examining different platforms, the best option for implementing instant processing is systems based on FPGA chips, which, in addition to high speed, can provide features such as high flexibility in coding and optimal power consumption. SoC 7000-ZYNQ chip and Vivado software have been used for this purpose.
WHY ZYNQ?
In some applications, there is a need for very high speed processing, high security, low consumption, small volume and the ability to update the device. There are many options ahead, but none of them can be completely ZYNQ processor, for example, if a CPU and motherboard are used that can be programmed in the operating system environment, problems such as low security, high consumption, large volume, low speed, etc. is ahead
or the use of respray boards also violate speed and security issues. Also, the use of FPGAs such as SPARTAN6, despite having speed, security, small volume, etc., does not have the ability to execute any code, and programming some devices is very long or impossible in some cases due to hardware programming, and also due to lack of support. I/O protocols require a lot of manual additional circuits, which increases the circuit volume and code volume, consumes more, and lowers security. So it is necessary to have a device that has high speed, high security and low consumption volume and has a lot of software maneuverability so that more advanced and efficient devices can be provided.
How Green Objects is Finded?
The algorithm used is based on the fact that after receiving the relevant frame, the pixels are scanned from the beginning to the end and they are compared with the desired color range and the pixels that are desired are marked. The desired feature, i.e. the color of the object, was done.
Next video shows how it’s work.
Compares Results
Various platforms with access and purchase capabilities have been reviewed, which included various types of processors with variations in programming. Next, in the fourth chapter, the desired algorithm was introduced and implemented first in MATLAB software and then using the OpenCV library. And finally, by coding in HLS software, the desired core was made and using Vivado and SDK software, the desired process was transferred to the board.
Next video shows parallel timing in three different implementation of algorithm.
-
High Speed Object Detection
-
Less fault in Tracking
-
Using HLS future in project
-
Study and Compare more than 3 platform of implementation
-
Languages: VHDL, C++
-
IDEs: Vivado, Visual Studio, Matlab, Xilinx HLS, XSDK
-
PCB: Altium Designer
-
ZYNQ: XC7Z010CLG400-1
-
FPGA: Xilinx Spartan 6
-
SBC: Raspberry Pi
-
PCB (one layer)
Related links of Project:
- GitHub Repository
- Video of Running mode
- Research Full Document ( in Persian)