FPGA IP core video tracking
The FPGA IP core T-COR-32 implements the algorithm of automatic tracking of objects in video and calculation of their motion parameters. The core ensures a stable tracking of small-sized and low-contrast objects of any type against a complex background. In case of object loss (tracking collapse), the IP core performs prediction of the tracked object trajectory up to its automatic re-capture or tracking reset if the corresponding criteria are fulfilled. The IP core is a stand-alone module easily integrable into projects based on field-programmable gate arrays (FGPA) and application-specific integrated circuits (ASIC). The core interfaces are universalized for connection to IP cores of other manufacturers.support C++ compilers (C++11 standard) has been achieved. The library is compiled from source codes and can be used with any type of processor (x86, ARM, RISC-V, etc.). The library can also be delivered in C language for use in real-time operating systems. The library does not create any computational streams and does not contain any code executed in the background. The frame is processed by calling the appropriate method of the RfDeinterlacer class and is completed by returning control from the method to the calling computational flow.
TARGET PLATFORMS AND COMPATIBILITY
FPGA IP core T-COR-32 is compatible with FPGA Altera and Xilinx. The IP core does not use FPGA-dependent modules. The kernel is developed in the Verilog language.
- High processing speed. One video frame processing time: for rectangle 128x128 pixels – 25 ms; for rectangle 128x64 pixels – 13 ms; for rectangle 64x64 pixels – 6,5 ms.
- Objects tracking from 8x8 pixels to 128x128 pixels and more. Object part tracking.
- Tracking of objects of very low contrast (from 10%) on a complex background in terms of interference.
- Any type objects and any shape objects tracking. Adaptation to change the shape and size of the object.
- Overlapped objects tracking (up to 50% of the objects area). Automatic detection of loss tracking.
- Dynamic objects tracking (up to 52 pixels offset in any direction per one frame).
- Calculate the position and size of the object in the tracking rectangle. Ability to change parameters without reset.
- The ability to build both single-channel and multi-channel systems (several kernel instances).
- The discreteness of the calculation of the coordinates and speed of the object is not lower than 1/256 pixels (pixels / frame).
- Stable tracking with continuous change in the brightness of the object. Adapt to changing background.