# Object detection and classification
Source: [https://docs.qualcomm.com/doc/80-70022-50/topic/camera-ai-detection-overlay-composer-display.html](https://docs.qualcomm.com/doc/80-70022-50/topic/camera-ai-detection-overlay-composer-display.html)
The **gst-camera-two-stream-detection-and-classification-side-by-side.py**
application uses a YOLOX LiteRT model to detect and `inception_v3` to
classify objects in the scene displayed by the AI overlay composer.
Figure : Pipeline for object detection and classification
For information about the plugins used in this pipeline, see [Pipeline flow](https://docs.qualcomm.com/doc/80-70022-50/topic/camera-ai-detection-overlay-composer-display.html#camera-ai-detection-overlay-composer-display__section_l1h_cpk_bdc).
## Model files
Table : Models used for detection and classification
| Purpose | LiteRT model | Description |
| :--- | :--- | :--- |
| Object detection | YOLOX |
Identify the object in a scene from a camera stream.
Overlay the bounding boxes over the detected objects.
|
| Image classification | InceptionV3 |
Classify a scene from a camera stream.
Overlay the classification labels on the screen.
|
## Run the application on the target device
1. Ensure that you complete the [Prerequisites](https://docs.qualcomm.com/doc/80-70022-50/topic/prerequisites-for-python-sample-applications.html).
2. Run the detection and classification script on the target
device:
gst-camera-two-stream-detection-and-classification-side-by-side.pyCopy to clipboard
3. To display the available help options, run the following
command:
gst-camera-two-stream-detection-and-classification-side-by-side.py -hCopy to clipboard
Table : Default directories for model and label files for object detection and
classification python application
| Model and label files | Directory |
| :--- | :--- |
| Detection model | /etc/models/yolox\_quantized.tflite |
| Detection labels | /etc/labels/yolox.json |
| Classification model | /etc/models/inception\_v3\_quantized.tflite |
| Classification labels | /etc/labels/classification.json |
## Expected output
The images are shown side by side on the display.
## Pipeline flow
| Process | Description |
| --- | --- |
| [qtiqmmfsrc](https://docs.qualcomm.com/doc/80-70022-50/topic/qtiqmmfsrc.html) | Collects two video streams from the camera:
Stream for detection is split using tee and sent to the following:
qtimetamux to retain the video stream.
qtimlvconverter to convert the video stream to input tensors for the detection inference.
Stream for classification is split using tee and sent to the following:
qtimetamux to retain the video stream.
qtimlvconverter to convert the video stream to input tensors for the classification inference.
Weston renders the video stream on a local display device.
|
| | |
## Known issues
- Output labels are blurred.
- For camera use case, use a camera with 640 × 360 resolution support.
## Related information
- [Object detection](https://docs.qualcomm.com/doc/80-70022-50/topic/gst-ai-object-detection.html)
- [Image classification](https://docs.qualcomm.com/doc/80-70022-50/topic/gst-ai-classification.html)
**Parent Topic:** [Run Python-based applications](https://docs.qualcomm.com/doc/80-70022-50/topic/python-sample-applications.html)
Last Published: Feb 20, 2026
[Previous Topic
Decode JPEG images using Python](https://docs.qualcomm.com/bundle/publicresource/80-70022-50/topics/decode-jpeg-images-using-python.md) [Next Topic
Transform and encode a camera stream](https://docs.qualcomm.com/bundle/publicresource/80-70022-50/topics/camera-transform-downscale-and-rotate-encode.md)