# Detect objects

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

## 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/qualcomm/ai-hub-models/tree/main/src/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/qualcomm/ai-hub-models/tree/main/src/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: May 14, 2026

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