# Semantic segmentation

Before executing the pipeline command for a model, make sure to follow the required [Prerequisites](https://docs.qualcomm.com/doc/80-70017-15B/topic/ai-hub-qualcomm-im-sdk.html#prerequisites).

Run the following command to ensure result is displayed on connected display:

export XDG_RUNTIME_DIR=/dev/socket/weston && export WAYLAND_DISPLAY=wayland-1
    Copy to clipboard

## DeepLabV3-Plus\_MobileNet-Quantized

- Model: [deeplabv3_plus_mobilenet_quantized.tflite](https://aihub.qualcomm.com/iot/models/deeplabv3_plus_mobilenet_quantized)
- Label: [voc_labels.txt](https://github.com/quic/ai-hub-models/blob/main/qai_hub_models/labels/voc_labels.txt)

gst-launch-1.0 -e --gst-debug=2 \
    filesrc location=/opt/video.mp4 ! qtdemux ! queue ! h264parse ! v4l2h264dec capture-io-mode=5 output-io-mode=5 ! queue ! tee name=split \
    split. ! queue ! qtivcomposer name=mixer sink_1::alpha=0.5 ! queue ! waylandsink sync=true fullscreen=true \
    split. ! queue ! qtimlvconverter ! queue ! qtimltflite delegate=external external-delegate-path=libQnnTFLiteDelegate.so \
    external-delegate-options="QNNExternalDelegate,backend_type=htp;" model=/opt/deeplabv3_plus_mobilenet_quantized.tflite ! queue ! \
    qtimlvsegmentation module=deeplab-argmax labels=/opt/voc_labels.txt \
    constants="deeplab,q-offsets=<92.0>,q-scales=<0.04518842324614525>;" ! video/x-raw,format=BGRA,width=256,height=144 ! queue ! mixer.
    Copy to clipboard

## FCN-Resnet50-Quantized

- Model: [FCN-ResNet50-Quantized.tflite](https://aihub.qualcomm.com/iot/models/fcn_resnet50_quantized)
- Label: [voc_labels.txt](https://github.com/quic/ai-hub-models/blob/main/qai_hub_models/labels/voc_labels.txt)

Note

This pipeline is currently not supported on QCS6490.

gst-launch-1.0 -e --gst-debug=2 \
    filesrc location=/opt/video.mp4 ! qtdemux ! queue ! h264parse ! v4l2h264dec capture-io-mode=5 output-io-mode=5 ! queue ! tee name=split \
    split. ! queue ! qtivcomposer name=mixer sink_1::alpha=0.5 ! queue ! waylandsink sync=true fullscreen=true \
    split. ! queue ! qtimlvconverter ! queue ! qtimltflite delegate=external external-delegate-path=libQnnTFLiteDelegate.so \
    external-delegate-options="QNNExternalDelegate,backend_type=htp;" model=/opt/fcn_resnet50_quantized.tflite ! queue ! \
    qtimlvsegmentation module=deeplab-argmax labels=/opt/voc_labels.txt constants="fcnresnet,q-offsets=<70.0>,q-scales=<0.08319790661334991>;" ! \
    video/x-raw,format=BGRA,width=256,height=144 ! queue ! mixer.
    Copy to clipboard

## FFNet-40S-Quantized

- Model: [ffnet_40s_quantized.tflite](https://aihub.qualcomm.com/iot/models/ffnet_40s_quantized)
- Label: [voc_labels.txt](https://github.com/quic/ai-hub-models/blob/main/qai_hub_models/labels/voc_labels.txt)

gst-launch-1.0 -e --gst-debug=2 \
    filesrc location=/opt/video.mp4 ! qtdemux ! queue ! h264parse ! v4l2h264dec capture-io-mode=5 output-io-mode=5 ! queue ! tee name=split \
    split. ! queue ! qtivcomposer name=mixer sink_1::alpha=0.5 ! queue ! waylandsink sync=true fullscreen=true \
    split. ! queue ! qtimlvconverter ! queue ! qtimltflite delegate=external external-delegate-path=libQnnTFLiteDelegate.so \
    external-delegate-options="QNNExternalDelegate,backend_type=htp;" model=/opt/ffnet_40s_quantized.tflite ! queue ! \
    qtimlvsegmentation module=deeplab-argmax labels=/opt/voc_labels.txt constants="ffnet,q-offsets=<178.0>,q-scales=<0.31378185749053955>;" ! \
    video/x-raw,format=BGRA,width=256,height=144 ! queue ! mixer.
    Copy to clipboard

## FFNet-54S-Quantized

- Model: [ffnet_54s_quantized.tflite](https://aihub.qualcomm.com/iot/models/ffnet_54s_quantized)
- Label: [voc_labels.txt](https://github.com/quic/ai-hub-models/blob/main/qai_hub_models/labels/voc_labels.txt)

gst-launch-1.0 -e --gst-debug=2 \
    filesrc location=/opt/video.mp4 ! qtdemux ! queue ! h264parse ! v4l2h264dec capture-io-mode=5 output-io-mode=5 ! queue ! tee name=split \
    split. ! queue ! qtivcomposer name=mixer sink_1::alpha=0.5 ! queue ! waylandsink sync=true fullscreen=true \
    split. ! queue ! qtimlvconverter ! queue ! qtimltflite delegate=external external-delegate-path=libQnnTFLiteDelegate.so \
    external-delegate-options="QNNExternalDelegate,backend_type=htp;" model=/opt/ffnet_54s_quantized.tflite ! queue ! \
    qtimlvsegmentation module=deeplab-argmax labels=/opt/voc_labels.txt constants="ffnet,q-offsets=<178.0>,q-scales=<0.2929433584213257>;" ! \
    video/x-raw,format=BGRA,width=256,height=144 ! queue ! mixer.
    Copy to clipboard

## FFNet-78S-Quantized

- Model: [ffnet_78s_quantized.tflite](https://aihub.qualcomm.com/iot/models/ffnet_78s_quantized)
- Label: [voc_labels.txt](https://github.com/quic/ai-hub-models/blob/main/qai_hub_models/labels/voc_labels.txt)

gst-launch-1.0 -e --gst-debug=2 \
    filesrc location=/opt/video.mp4 ! qtdemux ! queue ! h264parse ! v4l2h264dec capture-io-mode=5 output-io-mode=5 ! queue ! tee name=split \
    split. ! queue ! qtivcomposer name=mixer sink_1::alpha=0.5 ! queue ! waylandsink sync=true fullscreen=true \
    split. ! queue ! qtimlvconverter ! queue ! qtimltflite delegate=external external-delegate-path=libQnnTFLiteDelegate.so \
    external-delegate-options="QNNExternalDelegate,backend_type=htp;" model=/opt/ffnet_78s_quantized.tflite ! queue ! \
    qtimlvsegmentation module=deeplab-argmax labels=/opt/voc_labels.txt constants="ffnet,q-offsets=<171.0>,q-scales=<0.3849360942840576>;" ! \
    video/x-raw,format=BGRA,width=256,height=144 ! queue ! mixer.
    Copy to clipboard

Last Published: Jan 21, 2026

[Previous Topic
Yolo-nas-Quantized](https://docs.qualcomm.com/bundle/publicresource/80-70017-15B/topics/object-detection.md) [Next Topic
Super resolution](https://docs.qualcomm.com/bundle/publicresource/80-70017-15B/topics/super-resolution.md)