Vitis Video Analytics SDK Release V3.0¶
Release Summary¶
Based on 2022.2 Tools
Based on Vitis AI 3.0 for Machine Learning
Based on GStreamer 1.18.5
- Embedded Platforms
Zynq UltraScale+ MPSoC
as well asVersal
based platforms
- PCIe/Data Center Platform
Alveo V70
What is new in this release?¶
- Added support for below mentioned models
Pose detection
Lane detection
Crowd detection
Added software resize and colorspace conversion support in
vvas_xabrscaler
plug-inAdded support for xmodel where user can use any model supported by Vitis AI and
vvas_xinfer
plug-in will perform the ML operation and returns the output tensor. User can perform his/her post-processing on the output tensor data. For more details, refer to vvas_xinferIn Embedded platform example designs Autologin has been disabled and user need to enter login and password for each boot. “root” is the default user name and users are required to set the new password at the time of fist login.
VVAS Tracker implementation uses Simd <https://github.com/ermig1979/Simd> library for high performance image processing operations. User has option to build VVAS with Simd library or not.
Other changes compared to previous release¶
vvas_xboundingbox
accel-sw-lib has been discontinued and removed from this release.vvas_xmetaconvert
andvvas_xoverlay
plug-ins can be used to implement the features supported byvvas_xboundingbox
and many more new features.vvas_xdpuinfer
accel-sw-lib has been discontinued and removed from this release.vvas_xinfer
plug-in shall be used for the inference requirements.JSON file schema and fields have been updated. Refer to the relavant section in this document to know details about the modifications. In case you were already using previous version of VVAS release, then please adapt your applications as per changes in this release.
vvas_xpreprocessor
accel-sw-lib has been discontinued and removed from this release. Pre-processing functionality can be achieved throughvvas_xabrscaler
plug-in. Preprocessing needed by Machine Learning can also be done byvvas_xinfer
plug-in.vvas_xvcudec
plug-in has been discontinued and removed from this release and insteadvvas_xvideodec
plug-in has been introduced for video decoding on PCIe platform. This plug-in will not work on Alveo U30 platform.vvas_xvcuenc
plug-in is not supported this release.vvas_xlookahead
plug-in is not supported in this release.v_multiscaler
kernel has been renamed toimage_processing
kernel to align with the features it supports.Support for Alveo U30 card has been discontinued and removed from this release
Encoding and transcoding support has been removed in PCIe platform.
GstInference metadata structure has been re-organized and hence it is not backward compatible with previous VVAS releases. In case you were already using previous version of VVAS release and GstInference metadata, then please adapt your applications as per changes in this release.
Features¶
Supports different input sources like Camera, RTP/RTSP streaming, file source etc.
Hardware accelerated H264/H265 Video Encoding/Decoding.
Vitis AI based inferencing for detection and classification
VVAS offers extensive support for popular AI model classes like Object Detection, Object Classification, Segmentation, Pose Detection etc. For complete list of supported classes of models, refer to model-class in infer-config section of vvas_xinfer
Hardware accelerated Resize and color space conversion
On-screen displaying bounding box around objects, text, circle. arrows, polygon etc.
HDMI Tx and Display Port interface for displaying the contents
Known Limitations¶
Image_processing kernel require minimum cropping width and height to be 16. In case the cropping width or height is less than 16, then cropping is not performed.
Due to the above limitation, during cascaded ML inferencing, in case the first stage ML inference generates objects with region of interest having width and/height less than 16, then the object is not cropped and the ML inference for that object in next stages will not be correct.
In case
Image Processing
kernel is being used for resize, scaling or cropping, then output resolution width must be multiple of 8*PPC (Pixel Per Clock).Image_processing
kernel can be configured to process 1, 2 or 4 Pixels Per Clock. Higher the PPC value, higher will be throughput. The kernel will always write the data in chunks of 8*PPC. In case the output width is not multiple of 8*PPC, then there may be some garbage data in the right side of the image, depending on the difference between the actual width and the 8*PPC aligned width.All inputs to the
vvas_xcompositor
shall have same frame rate otherwise the processing will be controlled by the slowest frame rate input stream.
For platform/example specific known limitations, refer to the example/application design.
Known Issues¶
Embedded Platforms¶
On zcu104 boards, Cascaded pipelines OR several ML instances running simultaneously OR few models need more processing power when running in performance mode are sending board into bad state and needs reboot to recover from it. The default value of IOUT_OC_FAULT_LIMIT on PMIC chip irps5401 is too low and that is causing the temperature fault limit getting crossed. Workaround is to increase this limit. But there is risk of board getting damaged if running for long time.