Single-Instance Inference - Single-Instance Inference - 6.3 English - XD056

Vitis Video Analytics SDK (VVAS) 6.3 User Guide (XD056)

Document_ID
XD056
Release_Date
2026-09-24
Version
6.3 English

ResNet50 INT8 with ONNX Runtime (internal pre-processing)

Note

  • Ensure model-path is set to point to your available model before running.

  • Replace INPUT and INPUT_WIDTH/INPUT_HEIGHT in all subsequent commands.

  • Make sure label-file-path is pointing to the appropriate label file for the model in test.

gst-launch-1.0 filesrc location=<INPUT>.nv12 \
! rawvideoparse format=nv12 width=<INPUT_WIDTH> height=<INPUT_HEIGHT> ! queue \
! vvas_xinfer config-file=/etc/vvas/configs/infer/resnet50_int8_onnxrt_intppe.json ! queue \
! vvas_xmetaconvert config-location=/etc/vvas/configs/metaconvert/metaconvert_config.json \
! vvas_xoverlay ! queue ! filesink location=out_resnet50_int8_onnx.nv12 -v

ResNet50 INT8 with VART zero-copy (internal pre-processing)

Note

  • Ensure model-path is set to point to your available model before running.

  • Replace INPUT and INPUT_WIDTH/INPUT_HEIGHT in all subsequent commands.

  • Make sure label-file-path is pointing to the appropriate label file for the model in test.

gst-launch-1.0 filesrc location=<INPUT>.nv12 \
! rawvideoparse format=nv12 width=<INPUT_WIDTH> height=<INPUT_HEIGHT> ! queue \
! vvas_xinfer config-file=/etc/vvas/configs/infer/resnet50_int8_vart_zerocopy_intppe.json ! queue \
! vvas_xmetaconvert config-location=/etc/vvas/configs/metaconvert/metaconvert_config.json \
! vvas_xoverlay ! queue ! filesink location=out_resnet50_int8_vart.nv12 -v

ResNet50 INT8 with VART zero-copy (external pre-processing)

Note

  • Ensure model-path is set to point to your available model before running.

  • Replace INPUT and INPUT_WIDTH/INPUT_HEIGHT in all subsequent commands.

  • label-file-path the label file will be available from VVAS source, make sure to point this to the correct location.

  • With external pre-processing for vvas_xinfer, we need to additionally use vvas_metaaffixer to pass on the inference result further down the pipeline. Refer to vvas_xmetaaffixer for more details.

gst-launch-1.0 filesrc location=<INPUT>.bgr \
! rawvideoparse format=bgr width=<INPUT_WIDTH> height=<INPUT_HEIGHT> \
! tee name=t ! queue \
! vvas_xabrscaler xclbin-location=/run/media/mmcblk0p1/x_plus_ml.xclbin alpha-r=123.675 alpha-g=116.280 alpha-b=103.530 beta-r=0.017124 beta-g=0.017507 beta-b=0.017429 \
! vvas_xinfer config-file=/etc/vvas/configs/infer/resnet50_int8_vart_zerocopy_extppe.json \
! ma1.sink_master vvas_xmetaaffixer name=ma1 ma1.src_master ! \
fakesink -v \
t. ! queue \
! ma1.sink_slave_0 ma1.src_slave_0 ! vvas_xmetaconvert config-location=/etc/vvas/configs/metaconvert/metaconvert_config.json \
! vvas_xoverlay ! queue \
! filesink location=out_resnet50_int8_vart.bgr

Segmentation model with ONNX Runtime (internal pre-processing)

The following example runs inference with a user-provided segmentation model and renders a colour-coded class overlay on the output frame.

Note

  • Ensure model-path is set to point to your compiled segmentation model before running.

  • Replace INPUT, INPUT_WIDTH, and INPUT_HEIGHT with your input file path and frame dimensions.

  • Make sure the classes array in the vvas_xmetaconvert configuration matches your model’s class set. The example configuration includes 21 classes.

gst-launch-1.0 filesrc location=<INPUT>.bgr \
! rawvideoparse format=bgr width=<INPUT_WIDTH> height=<INPUT_HEIGHT> ! queue \
! vvas_xinfer config-file=/etc/vvas/configs/infer/segmentation_onnxrt_intppe.json ! queue \
! vvas_xmetaconvert config-location=/etc/vvas/configs/metaconvert/metaconvert_segmentation.json \
! vvas_xoverlay ! queue ! filesink location=out_segmentation.bgr -v