A cascaded pipeline chains two vvas_xinfer elements so that a first model
(for example, an object detector) produces metadata and a second model (for
example, a classifier) runs on each detected region of interest. The first
config sets infer-config inference-level to 1; the second sets it
to 2 so that the second vvas_xinfer consumes the detection tree from the
first. Both stages in the reference workflow use the VART runtime with internal
hardware pre-processing (PPE) inside vvas_xinfer. For metadata layout,
ROI handling, and the attach-ppe-outbuf option, see the multi-level cascaded
inference description in vvas_xinfer.
The following pipeline runs (YOLOX INT8 at level 1, ResNet50 INT8 at level 2)
filesrc and rawvideoparse feed
BGR frames, two vvas_xinfer instances load `yoloxm_int8_vart_zerocopy.json and
resnet50_int8_l2.json, then vvas_xmetaconvert and vvas_xoverlay render
results before the sink.
gst-launch-1.0 -v \
filesrc location=<INPUT>.bgr ! \
rawvideoparse format=bgr width=<INPUT_WIDTH> height=<INPUT_HEIGHT> framerate=30/1 ! \
queue ! \
vvas_xinfer batch-timeout=0 config-file=/etc/vvas/configs/infer/yoloxm_int8_vart_zerocopy.json ! queue ! \
vvas_xinfer batch-timeout=0 config-file=/etc/vvas/configs/infer/resnet50_int8_l2.json ! queue ! \
vvas_xmetaconvert config-location=/etc/vvas/configs/metaconvert/metaconvert_config.json ! \
vvas_xoverlay ! queue ! \
fpsdisplaysink text-overlay=false sync=false \
video-sink="filesink async=false location=<OUTPUT>.bgr" -v