# Object detection and display with Neural Processing SDK
Source: [https://docs.qualcomm.com/doc/80-70022-50/topic/single-camera-stream-with-object-detection-and-display-with-mobilenet-v2-ssd.html](https://docs.qualcomm.com/doc/80-70022-50/topic/single-camera-stream-with-object-detection-and-display-with-mobilenet-v2-ssd.html)
The use cases implement a yolox.dlc object detection model with
Qualcomm Neural Processing SDK to identify an object from a camera stream. The use case is
to overlay or compose the bounding boxes over the detected objects, and the display the
results.
Download [YOLOX](https://aihub.qualcomm.com/iot/models/yolox?searchTerm=yolox%29) Qualcomm AI runtime w8a8 precision model
from AI hub. The YOLOX model uses the YOLOv8 postprocessing module.
## Use qtivoverlay plugin to apply bounding box overlay
Run the use case on the target
device:
gst-launch-1.0 -e \
qtiqmmfsrc name=camsrc ! video/x-raw,format=NV12_Q08C,width=1280,height=720,framerate=30/1 ! queue ! tee name=split \
split. ! queue ! qtimetamux name=metamux ! queue ! qtivoverlay ! queue ! waylandsink fullscreen=true sync=false \
split. ! queue ! qtimlvconverter ! queue ! qtimlsnpe delegate=dsp model=/etc/models/yolox-yolo-x-w8a8.dlc layers="" ! queue ! \
qtimlpostprocess settings="{\"confidence\": 70.0}" results=5 module=yolov8 labels=/etc/labels/yolox.json ! text/x-raw ! queue ! metamux.Copy to clipboard
To stop the use case, use CTRL + C.
The following figure shows the flow of the use case execution:
- Identify an object in a scene from a video stream coming through camera
source.
- Overlay the bounding boxes over the detected objects using overlaylib.
- Display the results on a local display.
Figure : Pipeline for bounding box overlay
The following table provides the sequential processing stages of the pipeline
execution:
| Process | Description |
| --- | --- |
| [qtiqmmfsrc](https://docs.qualcomm.com/doc/80-70022-50/topic/qtiqmmfsrc.html) |
Collects the video stream (source) and creates two copies of the source:
One stream is sent to qtimetamux plugin to retain the video stream.
The other stream is sent to an ML inferencing pipeline.
Weston renders the video stream and bounding boxes generated for the objects in that scene on a local display device.
|
## Use qtivcomposer to mix original frame with bounding box mask
Run the use case on the target
device:
gst-launch-1.0 -e --gst-debug=2 \
qtiqmmfsrc name=camsrc ! video/x-raw,format=NV12_Q08C,width=1280,height=720,framerate=30/1 ! queue ! tee name=split \
split. ! queue ! qtivcomposer name=mixer sink_1::dimensions="<1920,1080>" ! queue ! waylandsink fullscreen=true sync=false \
split. ! queue ! qtimlvconverter ! queue ! qtimlsnpe delegate=dsp model=/etc/models/yolox-yolo-x-w8a8.dlc layers="" ! queue ! \
qtimlpostprocess settings="{\"confidence\": 70.0}" results=5 module=yolov8 labels=/etc/labels/yolox.json ! video/x-raw,width=640,height=360 ! queue ! mixer.Copy to clipboard
To stop the use case, use CTRL + C.
The following figure shows the flow of the use case execution:
1. Identifies object scenes in the scene from a video stream, which is coming
through a camera source.
2. Composes the following using qtivcomposer:
1. Bounding boxes over objects detected.
2. Original video stream.
3. Display the results.
Figure : Pipeline for bounding box mask with qtivcomposer
The following table provides the sequential processing stages of the pipeline
execution:
| Process | Description |
| --- | --- |
| [qtiqmmfsrc](https://docs.qualcomm.com/doc/80-70022-50/topic/qtiqmmfsrc.html) |
Collects the video stream (source) and creates two copies of the source:
One stream is sent to qtivcomposer plugin to retain the video stream.
The other stream is sent to an ML inferencing pipeline.
Weston displays the following on a local display device:
The video stream is captured from the camera.
The bounding boxes are drawn over the allowed number of objects identified in that scene.
|
## Known issue
The current model in AI hub isn't giving the expected output. The issue will be fixed
in a future release.
**Parent Topic:** [Qualcomm Neural Processing SDK use cases](https://docs.qualcomm.com/doc/80-70022-50/topic/qualcomm-neural-processing-sdk-use-cases.html)
Last Published: Feb 20, 2026
[Previous Topic
Image classification and encode with Neural Processing SDK](https://docs.qualcomm.com/bundle/publicresource/80-70022-50/topics/single-camera-stream-with-image-classification-and-encode-with-mobilenet-v1.md) [Next Topic
Object detection and encode with Neural Processing SDK](https://docs.qualcomm.com/bundle/publicresource/80-70022-50/topics/single-camera-stream-with-object-detection-and-encode-with-mobilenet-v2-ssd.md)