# Object detection and display with TFLite

Source: [https://docs.qualcomm.com/doc/80-70015-50/topic/single-camera-stream-with-object-detection-and-display.html](https://docs.qualcomm.com/doc/80-70015-50/topic/single-camera-stream-with-object-detection-and-display.html)

The use cases use a YOLOv5 TFLite model to identify the object in a scene and either
        overlay or compose the bounding boxes over the detected objects, and then display the
        results.

## Variant 1: Use qtioverlay plugin to apply bounding box overlay

Run the use case:

    setprop persist.overlay.use_c2d_blit 2Copy to clipboard

    gst-launch-1.0 -e --gst-debug=2 qtiqmmfsrc name=camsrc ! video/x-raw\(memory:GBM\),format=NV12,width=1280,height=720,framerate=30/1,compression=ubwc ! queue ! tee name=split split. ! queue ! qtimetamux name=metamux ! queue ! qtioverlay ! queue ! waylandsink fullscreen=true split. ! queue ! qtimlvconverter ! queue ! qtimltflite delegate=external external-delegate-path=libQnnTFLiteDelegate.so external-delegate-options="QNNExternalDelegate,backend_type=htp;" model=/opt/yolov5.tflite ! queue ! qtimlvdetection threshold=75.0 results=10 module=yolov5 labels=/opt/yolov5.labels constants="YoloV5,q-offsets=<3.0>,q-scales=<0.005047998391091824>;" ! text/x-raw ! queue ! metamux.Copy to clipboard

To stop the use case, press CTRL + C.

Figure : Pipeline for bounding box overlay
                
                ![](data:image/png;base64,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)

The 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. Overlays bounding boxes over the detected objects using overlaylib.
3. Displays the results.

The table provides the sequential processing stages of the pipeline execution:

| Process | Description |
| --- | --- |
| [qtiqmmfsrc](https://docs.qualcomm.com/doc/80-70015-50/topic/qtiqmmfsrc.html) | <ol class="ol" id="single-camera-stream-with-object-detection-and-display__ol_l2f_zgm_vbc"><br>                                    <li class="li">Collects the video stream (source) and creates two copies of<br>                                        the source:<ul class="ul" id="single-camera-stream-with-object-detection-and-display__ol_m2f_zgm_vbc"><br>                                            <li class="li">One stream is sent to <a href="https://docs.qualcomm.com/doc/80-70015-50/topic/qtimetamux.html">qtimetamux</a><br>                                                plugin to retain the video stream.</li><br><br>                                            <li class="li">The other stream is sent to an ML inferencing<br>                                                pipeline.</li><br><br>                                        </ul><br></li><br><br>                                </ol> |
| **Preprocessing** | **Preprocessing** |
| [qtimlvconverter](https://docs.qualcomm.com/doc/80-70015-50/topic/qtimlvconverter.html) | <ol class="ol" id="single-camera-stream-with-object-detection-and-display__ol_xsf_q5l_vbc"><br>                                    <li class="li">Receives the video stream on its sink pad.</li><br><br>                                    <li class="li">Performs preprocessing:<ul class="ul" id="single-camera-stream-with-object-detection-and-display__ul_ff2_twl_vbc"><br>                                            <li class="li">Color conversion</li><br><br>                                            <li class="li">Scaling down/up</li><br><br>                                            <li class="li">Normalization on the stream data when the model<br>                                                expects the floating point values as input</li><br><br>                                        </ul><br></li><br><br>                                    <li class="li">Converts the video stream to a tensor stream on its source<br>                                            pad.<p class="p">The object detection model uses this tensor<br>                                            stream for inferencing.</p><br></li><br><br>                                </ol> |
| **Inferencing** | **Inferencing** |
| [qtimltflite](https://docs.qualcomm.com/doc/80-70015-50/topic/qtimltflite.html) | <ol class="ol" id="single-camera-stream-with-object-detection-and-display__ol_ufn_2lm_vbc"><br>                                    <li class="li">Loads the object detection model.</li><br><br>                                    <li class="li">Modifies the graph for the chosen delegate.</li><br><br>                                    <li class="li">Receives the tensor stream on its sinkpad.</li><br><br>                                    <li class="li">Runs the inference and produces a tensor stream with the<br>                                        object detection results on its source pad.</li><br><br>                                </ol> |
| **Postprocessing** | **Postprocessing** |
| [qtimlvdetection](https://docs.qualcomm.com/doc/80-70015-50/topic/qtimlvdetection.html) | <ol class="ol"><br>                                    <li class="li"> Receives the inference tensors from object detection. </li><br><br>                                    <li class="li">Converts the inference tensors on its sinkpad into formats<br>                                        like video or text that the multimedia plugins can process<br>                                        later.</li><br><br>                                    <li class="li">Applies the threshold to the chosen number of results. </li><br><br>                                    <li class="li">Loads the corresponding modules for detection models. <p class="p">In<br>                                            this use case, qtimlvdetection does the following:<br>                                            </p><ol class="ol" type="a" id="single-camera-stream-with-object-detection-and-display__ol_jcd_wnk_5bc"><br>                                            <li class="li">Loads the YOLOv5 submodule. </li><br><br>                                            <li class="li">Produces results as structures of text.</li><br><br>                                            <li class="li">Sends them to the sinkpad of qtimetamux.</li><br><br>                                        </ol><br></li><br><br>                                </ol> |
| [qtimetamux](https://docs.qualcomm.com/doc/80-70015-50/topic/qtimetamux.html) | <ol class="ol" id="single-camera-stream-with-object-detection-and-display__ol_ll3_x5l_vbc"><br>                                    <li class="li">Receives video stream and text stream with bounding box<br>                                        results corresponding to the video stream on its<br>                                        sinkpads.</li><br><br>                                    <li class="li">Produces GST buffers with contents of video stream from its<br>                                        sink pad.</li><br><br>                                    <li class="li">Adds bounding boxes as GstVideoRegionOfInterest from data<br>                                        sinkpad to GST buffers meta (meta muxing) on its source<br>                                        pad.</li><br><br>                                </ol> |
| [qtioverlay](https://docs.qualcomm.com/doc/80-70015-50/topic/qtioverlay.html) | <ol class="ol" id="single-camera-stream-with-object-detection-and-display__ol_wst_y5l_vbc"><br>                                    <li class="li">Receives the multiplexed stream.</li><br><br>                                    <li class="li">Overlays the bounding boxes on the VideoFrame using CL. </li><br><br>                                    <li class="li">Produces GST buffers with overlays in its source pad.</li><br><br>                                </ol> |
| **Output** | **Output** |
| [Waylandsink](https://docs.qualcomm.com/doc/80-70015-50/topic/waylandsink.html) | <ol class="ol" id="single-camera-stream-with-object-detection-and-display__ol_dyv_1lm_vbc"><br>                                    <li class="li">Receives the video stream on its sinkpad.</li><br><br>                                    <li class="li">Submits the video stream to Weston. </li><br><br>                                    <li class="li">Weston renders the video stream and bounding boxes generated<br>                                        for the objects in that scene on a local display<br>                                        device.</li><br><br>                                </ol> |

## Variant 2: Use qtivcomposer to mix original frame with bounding box mask

Run the use
                case:

    gst-launch-1.0 -e --gst-debug=2 qtiqmmfsrc name=camsrc ! video/x-raw\(memory:GBM\),format=NV12,width=1280,height=720,framerate=30/1,compression=ubwc ! queue ! tee name=split split. ! queue ! qtivcomposer name=mixer sink_1::dimensions="<1920,1080>" ! queue ! waylandsink fullscreen=true split. ! queue ! qtimlvconverter ! queue ! qtimltflite delegate=external external-delegate-path=libQnnTFLiteDelegate.so external-delegate-options="QNNExternalDelegate,backend_type=htp;" model=/opt/yolov5.tflite ! queue ! qtimlvdetection threshold=75.0 results=10 module=yolov5 labels=/opt/yolov5.labels constants="YoloV5,q-offsets=<3.0>,q-scales=<0.005047998391091824>;" ! video/x-raw,format=BGRA,width=640,height=360 ! queue ! mixer.Copy to clipboard

To stop the use case, press CTRL + C.

Figure : Pipeline for bounding box mask with qtivcomposer
                
                ![](data:image/png;base64,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)

The 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. Displays the results.

The table provides the sequential processing stages of the pipeline execution:

| Process | Description |
| --- | --- |
| [qtiqmmfsrc](https://docs.qualcomm.com/doc/80-70015-50/topic/qtiqmmfsrc.html) | <ol class="ol" id="single-camera-stream-with-object-detection-and-display__ol_z2v_xlm_vbc"><br>                                    <li class="li">Collects the video stream (source) and creates two copies of<br>                                        the source:<ul class="ul" id="single-camera-stream-with-object-detection-and-display__ol_afv_xlm_vbc"><br>                                            <li class="li">One stream is sent to qtivcomposer plugin to retain<br>                                                the video stream.</li><br><br>                                            <li class="li">The other stream is sent to a ML inferencing<br>                                                pipeline.</li><br><br>                                        </ul><br></li><br><br>                                </ol> |
| **Preprocessing** | **Preprocessing** |
| [qtimlvconverter](https://docs.qualcomm.com/doc/80-70015-50/topic/qtimlvconverter.html) | <ol class="ol" id="single-camera-stream-with-object-detection-and-display__ol_bfv_xlm_vbc"><br>                                    <li class="li">Receives the video stream on its sink pad.</li><br><br>                                    <li class="li">Performs preprocessing:<ul class="ul" id="single-camera-stream-with-object-detection-and-display__ul_cfv_xlm_vbc"><br>                                            <li class="li">Color conversion</li><br><br>                                            <li class="li">Scaling down/up</li><br><br>                                            <li class="li">Normalization on the stream data when the model<br>                                                expects the floating point values as input</li><br><br>                                        </ul><br></li><br><br>                                    <li class="li">Converts the video stream to a tensor stream on its source<br>                                            pad.<p class="p">The object detection model uses this tensor<br>                                            stream for inferencing.</p><br></li><br><br>                                </ol> |
| **Inferencing** | **Inferencing** |
| [qtimltflite](https://docs.qualcomm.com/doc/80-70015-50/topic/qtimltflite.html) | <ol class="ol" id="single-camera-stream-with-object-detection-and-display__ol_dfv_xlm_vbc"><br>                                    <li class="li">Loads the object detection model.</li><br><br>                                    <li class="li">Modifies the graph for the chosen delegate.</li><br><br>                                    <li class="li">Receives the tensor stream on its sinkpad.</li><br><br>                                    <li class="li">Runs the inference and produces a tensor stream with the<br>                                        object detection results on its source pad.</li><br><br>                                </ol> |
| **Postprocessing** | **Postprocessing** |
| [qtimlvdetection](https://docs.qualcomm.com/doc/80-70015-50/topic/qtimlvdetection.html) | <ol class="ol" id="single-camera-stream-with-object-detection-and-display__ol_efv_xlm_vbc"><br>                                    <li class="li"> Receives the inference tensors from the object detection<br>                                        model. </li><br><br>                                    <li class="li">Converts the inference tensors on its sinkpad into formats<br>                                        like video or text that the multimedia plugins can process<br>                                        later.</li><br><br>                                    <li class="li">Applies the threshold to the chosen number of results. </li><br><br>                                    <li class="li">Loads the corresponding modules for detection models. <p class="p">In<br>                                            this use case, qtimlvdetection does the following:<br>                                            </p><ol class="ol" type="a" id="single-camera-stream-with-object-detection-and-display__ol_ffv_xlm_vbc"><br>                                            <li class="li">Loads the YOLOv5 submodule. </li><br><br>                                            <li class="li">Produces video frames with only bounding boxes that<br>                                                can be overlaid on objects.</li><br><br>                                            <li class="li">Sends them to the sinkpad of qtivcomposer.</li><br><br>                                        </ol><br></li><br><br>                                </ol> |
| [qtivcomposer](https://docs.qualcomm.com/doc/80-70015-50/topic/qtivcomposer.html) | <ol class="ol"><br>                                    <li class="li">Receives the original video stream and video stream with<br>                                        bounding boxes on its sinkpads.</li><br><br>                                    <li class="li">On its sourcepads, produces content that is composed of the<br>                                        video streams processed from its sinkpads.</li><br><br>                                </ol> |
| **Output** | **Output** |
| [Waylandsink](https://docs.qualcomm.com/doc/80-70015-50/topic/waylandsink.html) | <ol class="ol" id="single-camera-stream-with-object-detection-and-display__ol_ifv_xlm_vbc"><br>                                    <li class="li">Receives the video stream on its sinkpad.</li><br><br>                                    <li class="li">Submits the video stream to Weston. </li><br><br>                                    <li class="li">Weston displays the following on a local display device:<ol class="ol" type="a" id="single-camera-stream-with-object-detection-and-display__ol_nv1_xzm_vbc"><br>                                            <li class="li">The video stream is captured from the camera.</li><br><br>                                            <li class="li">The bounding boxes are drawn over the allowed number<br>                                                of objects identified in that scene.</li><br><br>                                        </ol><br></li><br><br>                                </ol> |

**Parent Topic:** [TensorFlow Lite use cases](https://docs.qualcomm.com/doc/80-70015-50/topic/tensorflow-lite-use-cases.html)

Last Published: Oct 27, 2025

[Previous Topic
Image classification and encode with TFLite](https://docs.qualcomm.com/bundle/publicresource/80-70015-50/topics/single-camera-stream-with-image-classification-and-encode.md) [Next Topic
Object detection and encode with TFLite](https://docs.qualcomm.com/bundle/publicresource/80-70015-50/topics/single-camera-stream-with-object-detection-and-encode.md)