# Detect objects

Before running the pipeline command for a model, follow the required [Prerequisites](https://docs.qualcomm.com/doc/80-70029-15B/topic/use-ai-hub-models-with-gstreamer.html#prerequisites).

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

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

## Yolo-V7

YoloV7 is a machine learning model that predicts bounding boxes and classes of objects in an image.

This model is post-training quantized to int8 using samples from the COCO dataset.

The AI Hub model is based on [this implementation of Yolo-v7](https://github.com/WongKinYiu/yolov7/).

- Model: [yolov7](https://github.com/quic/ai-hub-models/tree/main/qai_hub_models/models/yolov7)
- Label: [yolov7.json](https://github.com/quic/sample-apps-for-qualcomm-linux/blob/main/qualcomm-linux/artifacts/json_labels/yolov7.json)

gst-launch-1.0 -e --gst-debug=2 \
    filesrc location=/etc/media/video.mp4 ! qtdemux ! queue ! h264parse ! v4l2h264dec capture-io-mode=4 output-io-mode=4 ! video/x-raw,format=NV12 ! queue ! tee name=split \
    split. ! queue ! qtivcomposer name=mixer ! queue ! waylandsink fullscreen=true \
    split. ! queue ! qtimlvconverter ! queue ! qtimltflite delegate=external external-delegate-path=libQnnTFLiteDelegate.so \
    external-delegate-options="QNNExternalDelegate,backend_type=htp;" model=/etc/models/Yolo-v7-Quantized.tflite ! queue ! \
    qtimlpostprocess settings="{\"confidence\": 50.0}" results=10 module=yolov8 labels=/etc/labels/yolov7.json ! \
    video/x-raw,format=BGRA,width=640,height=360 ! queue ! mixer.
    Copy to clipboard

## Yolov8-Detection

Ultralytics Yolov8 is a machine learning model that predicts bounding boxes and classes of objects in an image.

This model is post-training quantized to int8 using samples from the COCO dataset.

The AI Hub model is based on [this implementation of YOLOv8-Detection-Quantized](https://github.com/ultralytics/ultralytics/tree/main/ultralytics/models/yolo/detect).

- Model: [YOLOv8-Detection](https://github.com/quic/ai-hub-models/tree/main/qai_hub_models/models/yolov8_det)
- Label: [yolov8.json](https://github.com/quic/sample-apps-for-qualcomm-linux/blob/main/qualcomm-linux/artifacts/json_labels/yolov8.json)

gst-launch-1.0 -e --gst-debug=2 \
    filesrc location=/etc/media/video.mp4 ! qtdemux ! queue ! h264parse ! v4l2h264dec capture-io-mode=4 output-io-mode=4 ! video/x-raw,format=NV12 ! queue ! tee name=split \
    split. ! queue ! qtivcomposer name=mixer ! queue ! waylandsink fullscreen=true \
    split. ! queue ! qtimlvconverter ! queue ! qtimltflite delegate=external external-delegate-path=libQnnTFLiteDelegate.so \
    external-delegate-options="QNNExternalDelegate,backend_type=htp,htp_device_id=(string)0,htp_performance_mode=(string)2,htp_precision=(string)1;" model=/etc/models/YOLOv8-Detection-Quantized.tflite ! queue ! \
    qtimlpostprocess settings="{\"confidence\": 50.0}" results=10 module=yolov8 labels=/etc/labels/yolov8.json ! \
    video/x-raw,format=BGRA,width=640,height=360 ! queue ! mixer.
    Copy to clipboard

Note

Adding `htp_device_id=(string)0,htp_performance_mode=(string)2,htp_precision=(string)1` to the `external-delegate-options` in the above command allows the model to be run in
High Performance mode on HTP.

High Performance mode can be enabled for all other pipelines in the same way.

Last Published: Apr 02, 2026

[Previous Topic
Classify images](https://docs.qualcomm.com/bundle/publicresource/80-70029-15B/topics/image-classification.md) [Next Topic
Apply semantic segmentation to frames of a video](https://docs.qualcomm.com/bundle/publicresource/80-70029-15B/topics/semantic-segmentation.md)