object_detection_on_firmware

object_detection_on_firmware

 

Table of contents


 

Introduction


This explanation assumes that the i-PRO camera application development environment has been completed.
If you are not ready to build the development environment, please refer to here to complete it.

Also, in this tutorial, the SDK installation directory is described as ${SDK_DIR}.

Operation overview


object_detection_on_firmware is a sample app that uses the camera firmware built-in AI ​​model to detect objects (people face/head/whole body, bike, and car) and draws the object name and bounding box.

Camera firmware built-in AI model is also used in i-PRO's extension software, but i-PRO does not guarantee the detection accuracy and processing performance. i-PRO does not support individual inquiries for these matters. Please check the operation using the partner's app or this sample app before using.

Python application on CV52 camera does not support this object detection API and sample application.

External libraries required for operation


No special mention.

 

Directory path of the sample app


The C/C++ source code is stored below.

${SDK_DIR}/src/adamapp/object_detection_on_firmware

The Python source code is stored below.

${SDK_DIR}/src/adamapp-py/object_detection_on_firmware

 

How to build the sample app (C/C++)


This article describes how to build it as AdamApp.
If you want to build it as Container AdamApp, see below.

Development tutorial (Container AdamApp) - Technology Partner FAQ (En) - Confluence

Load the build environment settings file in the SDK installation directory.

$ cd ${SDK_DIR} $ source setup_env.sh ipro-ambaCV2X

Set the build environment according to each environment.
Here, specify ipro-ambaCV2X.

 

make.

$ cd src/adamapp/yuv_yolov5_app $ make

It is successful if the .ext file is created in ${SDK_DIR}/src/adamapp/object_detection_on_firmware.

 

Install it on the camera (eg, you can install from the green frame in the image below). Select the created .ext file and install it.
Open the app screen (red frame button in the image below).

 

If the image of the camera is displayed, it is successful.

 

How to build the sample app (Python)


This article describes how to build it as AdamApp.
If you want to build it as Container AdamApp, see below.

Development tutorial (Container AdamApp) - Technology Partner FAQ (En) - Confluence

Load the build environment settings file in the SDK installation directory.

$ cd ${SDK_DIR} $ source setup_env.sh ipro-ambaCV2X

Set the build environment according to each environment.
Here, specify ipro-ambaCV2X.

 

make.

$ cd src/adamapp-py/object_detection_on_firmware $ make

It is successful if the .ext file is created in ${SDK_DIR}/src/adamapp-py/object_detection_on_firmware.

 

Install it on the camera (eg, you can install from the green frame in the image below). Select the created .ext file and install it.
Open the app screen (red frame button in the image below).

 

If the image of the camera is displayed, it is successful.

 

How to use the sample app


Take a picture of some model with your camera. In the example below, you can see the detected objects name, bounding box and detection score.

20250312-135600.png

 

Appendix


How to change preferences

This application has some preferneces which a user is able to change.
When changing some preferneces, push "AppPrefs" button in "ADAM OPERATION UI" html page.

THRESH-FACE:
The threshold for determining whether it is a face.

THRESH-HEAD:
The threshold for determining whether it is a head.

THRESH-BODY:
The threshold for determining whether it is a whole body.

THRESH-BIKE:
The threshold for determining whether it is a bike.

THRESH-CAR:
The threshold for determining whether it is a car.

 

Port in use

This application uses 8088 port for websocket communication.