# Customize reference application

It uses a custom-trained YoloV8 model as an example.

The eSDK (extensible SDK) needs to be setup to develop
application/plugin code. See
[Compile application: Qualcomm IM SDK](https://docs.qualcomm.com/doc/80-70017-15B/topic/compile-application-qualcomm-im-sdk.html) for
instructions on setting up the eSDK and downloading and compiling the
source code.

See [Develop your own application](https://docs.qualcomm.com/doc/80-70017-15B/topic/develop-your-own-application.html) for instructions on
how to download the source code and compile custom reference apps.

Follow the instructions to
[Download model files for Qualcomm Neural Processing SDK](https://docs.qualcomm.com/doc/80-70017-15B/topic/default-reference-app.html#download-model-files-for-qualcomm-neural-processing-sdk)
before proceeding to the next steps.

## Example 1: Custom trained YoloV8 TFLite model

Qualcomm IM SDK reference applications use the YoloV8 model for
object detection. This example explains how you can try a
custom trained YoloV8 variant.

Use the following steps to run your own custom-trained YoloV8 model
with the current reference application.

1. Replace the existing model with your new model in the reference app.
2. Modify the label files with custom labels.
3. Run the reference application with the modified model.

### Modify labels for a custom YoloV8 model

When using Qualcomm IM SDK and its reference apps, the apps expect
labels in a specific format. You need to update `<label_name>`,
`<hex_value_for_label_id>`, and `<hex_value_for_color>` values
for each label within this labels file.

The format of each label within the labels file should follow the
template shown below.

(structure)"<label_name>,id=(guint)<hex_value_for_label_id>,color=(guint)<hex_value_for_color>;"
    Copy to clipboard

For example:

(structure)"person,id=(guint)0x0,color=(guint)0x00FF00FF;"
    (structure)"bicycle,id=(guint)0x1,color=(guint)0x00FF00FF;"
    (structure)"car,id=(guint)0x2,color=(guint)0x0000FFFF;"
    (structure)"motorcycle,id=(guint)0x3,color=(guint)0x00FF00FF;"
    Copy to clipboard

To run object detection models using the TFLite runtime, specify the
custom trained model along with your custom label files in the
command-line parameter and run the following commands.

1. Copy the model to the device.

scp yolov8_custom.tflite root@<IP address of the target device>:/opt/
        Copy to clipboard
2. Copy the labels to the device.

scp yolov8_custom.labels root@<IP address of the target device>:/opt/
        Copy to clipboard

3. Sign in to the device.

ssh root@<IP address of the target device>
        Copy to clipboard
4. Modify the `/opt/config_detection.json` file as shown.

{
        "file-path": "/opt/video.mp4",
        "ml-framework": "tflite",
        "yolo-model-type": "yolov8",
        "model": "/opt/yolov8_custom.tflite",
        "labels": "/opt/yolov8_custom.labels",
        "constants": "<constants for custom YOLOv8 model>",
        "threshold": 40,
        "runtime": "dsp"
        }
        Copy to clipboard
5. Run the sample application.

gst-ai-object-detection --config-file=/opt/config_detection.json
        Copy to clipboard

### Notes

- To display the available help options, run the following command:

gst-ai-object-detection -h
        Copy to clipboard
- To stop the use case, press <kbd class="kbd compound docutils literal notranslate"><kbd class="kbd docutils literal notranslate">CTRL</kbd>+<kbd class="kbd docutils literal notranslate">C</kbd></kbd>.

Last Published: Jan 21, 2026

[Previous Topic
Notes](https://docs.qualcomm.com/bundle/publicresource/80-70017-15B/topics/default-reference-app.md) [Next Topic
Develop your own application](https://docs.qualcomm.com/bundle/publicresource/80-70017-15B/topics/develop-your-own-application.md)