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.
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.