ObjectDetection Class

ObjectDetection Class

ObjectDetectionResult Class

Description
A class used to represent and retrieve data related to objects recognized by an object detection neural network.

Syntax
class ObjectDetectionResult

Members

Public Constructors  
ObjectDetectionResult::ObjectDetectionResult Constructs an ObjectDetectionResult object.
Public Methods  
ObjectDetectionResult::type Get type index of recognized object.
ObjectDetectionResult::name Get name of recognized object.
ObjectDetectionResult::score Get confidence score of recognized object.
ObjectDetectionResult::xMin Get x coordinate of the top left corner of the bounding box containing the recognized object.
ObjectDetectionResult::xMax Get x coordinate of the bottom right corner of the bounding box containing the recognized object.
ObjectDetectionResult::yMin Get y coordinate of the top left corner of the bounding box containing the recognized object.
ObjectDetectionResult::yMax Get y coordinate of the bottom right corner of the bounding box containing the recognized object.

NNObjectDetection Class

Description
A class used to configure, run, and retrieve results of an object detection neural network model.

Syntax
class NNObjectDetection

Members

Public Constructors  
NNObjectDetection::NNObjectDetection Constructs an NNObjectDetection object.
Public Methods  
NNObjectDetection::configVideo Configure input video stream parameters.
NNObjectDetection::configRegionOfInterest Configure object detection region of interest.
NNObjectDetection::configThreshold Configure object detection threshold.
NNObjectDetection::begin Start object detection process on input video.
NNObjectDetection::end Stop object detection process on input video.
NNObjectDetection::setResultCallback Set a callback function to receive object detection results.
NNObjectDetection::getResultCount Get number of object detection results.
NNObjectDetection::getResult Get object detection results.

ObjectDetectionResult::type

Description
Get type index of recognized object, corresponding to the object category in the COCO image dataset.

Syntax
int type(void);

Parameters
NA

Returns
An integer indicating the category of the recognized object.

Example Code
Example: ObjectDetectionCallback
(https://github.com/ambiot/ambpro2_arduino/blob/dev/Arduino_package/hardware/libraries/NeuralNetwork/examples/ObjectDetectionCallback/ObjectDetectionCallback.ino)

Notes and Warnings
“NNObjectDetection.h” must be included to use the class function.
Object categories can be obtained from the “ObjectClassList.h” file (https://github.com/ambiot/ambpro2_arduino/blob/dev/Arduino_package/hardware/libraries/NeuralNetwork/examples/ObjectDetectionCallback/ObjectClassList.h).

ObjectDetectionResult::name

Description
Get name of recognized object.

Syntax
const char* name(void);

Parameters
NA

Returns
A pointer to a character array containing the category name of the recognized object.

Example Code
Example: ObjectDetectionCallback
(https://github.com/ambiot/ambpro2_arduino/blob/dev/Arduino_package/hardware/libraries/NeuralNetwork/examples/ObjectDetectionCallback/ObjectDetectionCallback.ino)

Notes and Warnings
Notes and Warnings
“NNObjectDetection.h” must be included to use the class function.
Object categories can be obtained from the “ObjectClassList.h” file (https://github.com/ambiot/ambpro2_arduino/blob/dev/Arduino_package/hardware/libraries/NeuralNetwork/examples/ObjectDetectionCallback/ObjectClassList.h).

ObjectDetectionResult::score

Description
Get confidence score of recognized object.

Syntax
int score(void);

Parameters
NA

Returns
An integer ranging from 0 to 100 representing the confidence of the recognized object category.

Example Code
Example: ObjectDetectionCallback
(https://github.com/ambiot/ambpro2_arduino/blob/dev/Arduino_package/hardware/libraries/NeuralNetwork/examples/ObjectDetectionCallback/ObjectDetectionCallback.ino)

Notes and Warnings
“NNObjectDetection.h” must be included to use the class function.

ObjectDetectionResult::xMin

Description
Get x coordinate of the top left corner of the bounding box containing the recognized object.

Syntax
float xMin(void);

Parameters
NA

Returns
A float ranging from 0.00 to 1.00, with 0.00 indicating the left edge of the input video frame and 1.00 indicating the right edge of the input video frame.

Example Code
Example: ObjectDetectionCallback
(https://github.com/ambiot/ambpro2_arduino/blob/dev/Arduino_package/hardware/libraries/NeuralNetwork/examples/ObjectDetectionCallback/ObjectDetectionCallback.ino)

Notes and Warnings
“NNObjectDetection.h” must be included to use the class function.

ObjectDetectionResult::xMax

Description
Get x coordinate of the bottom right corner of the bounding box containing the recognized object.

Syntax
float xMax(void);

Parameters
NA

Returns
A float ranging from 0.00 to 1.00, with 0.00 indicating the left edge of the input video frame and 1.00 indicating the right edge of the input video frame.

Example Code
Example: ObjectDetectionCallback
(https://github.com/ambiot/ambpro2_arduino/blob/dev/Arduino_package/hardware/libraries/NeuralNetwork/examples/ObjectDetectionCallback/ObjectDetectionCallback.ino)

Notes and Warnings
“NNObjectDetection.h” must be included to use the class function.

ObjectDetectionResult::yMin

Description
Get y coordinate of the top left corner of the bounding box containing the recognized object.

Syntax
float yMin(void);

Parameters
NA

Returns
A float ranging from 0.00 to 1.00, with 0.00 indicating the top edge of the input video frame and 1.00 indicating the bottom edge of the input video frame.

Example Code
Example: ObjectDetectionCallback
(https://github.com/ambiot/ambpro2_arduino/blob/dev/Arduino_package/hardware/libraries/NeuralNetwork/examples/ObjectDetectionCallback/ObjectDetectionCallback.ino)

Notes and Warnings
“NNObjectDetection.h” must be included to use the class function.

ObjectDetectionResult::yMax

Description
Get y coordinate of the bottom right corner of the bounding box containing the recognized object.

Syntax
float yMax(void);

Parameters
NA

Returns
A float ranging from 0.00 to 1.00, with 0.00 indicating the top edge of the input video frame and 1.00 indicating the bottom edge of the input video frame.

Example Code
Example: ObjectDetectionCallback
(https://github.com/ambiot/ambpro2_arduino/blob/dev/Arduino_package/hardware/libraries/NeuralNetwork/examples/ObjectDetectionCallback/ObjectDetectionCallback.ino)

Notes and Warnings
“NNObjectDetection.h” must be included to use the class function.

NNObjectDetection::configVideo

Description
Configure input video stream parameters.

Syntax
void configVideo(VideoSetting& config);

Parameters
config: VideoSetting class object containing desired video configuration.

Returns
NA

Example Code
Example: ObjectDetectionCallback
(https://github.com/ambiot/ambpro2_arduino/blob/dev/Arduino_package/hardware/libraries/NeuralNetwork/examples/ObjectDetectionCallback/ObjectDetectionCallback.ino)

Notes and Warnings
“NNObjectDetection.h” must be included to use the class function.
The object detection model requires that the input video stream uses the RGB format, which is only available on video stream channel 3. The input video stream needs to be configured before object detection can begin.

NNObjectDetection::configRegionOfInterest

Description
Configure object detection region of interest. Object detection will only be performed on the image frame within the region of interest.

Syntax
void configRegionOfInterest(int xmin, int xmax, int ymin, int ymax);

Parameters
xmin: left boundary of region of interest, expressed in units of pixel.
xmax: right boundary of region of interest, expressed in units of pixel.
ymin: top boundary of region of interest, expressed in units of pixel.
ymax: bottom boundary of region of interest, expressed in units of pixel.

Returns
NA

Example Code
NA

Notes and Warnings
“NNObjectDetection.h” must be included to use the class function.

NNObjectDetection::configThreshold

Description
Configure object detection threshold.

Syntax
void configThreshold(float confidence_threshold, float nms_threshold);

Parameters
confidence_threshold: Object detection confidence threshold. Default value of 0.5.
nms_threshold: Non-Maximal Suppression threshold. Default value of 0.3. Affects the selection of appropriate and accurate bounding boxes. A smaller value results in less accurate bounding boxes.

Returns
NA

Example Code
NA

Notes and Warnings
“NNObjectDetection.h” must be included to use the class function.

NNObjectDetection::begin

Description
Start object detection process on input video.

Syntax
void begin(void);

Parameters
NA

Returns
NA

Example Code
Example: ObjectDetectionCallback
(https://github.com/ambiot/ambpro2_arduino/blob/dev/Arduino_package/hardware/libraries/NeuralNetwork/examples/ObjectDetectionCallback/ObjectDetectionCallback.ino)

Notes and Warnings
“NNObjectDetection.h” must be included to use the class function.

NNObjectDetection::end

Description
Stop object detection process on input video.

Syntax
void end(void);

Parameters
NA

Returns
NA

Example Code
NA

Notes and Warnings
“NNObjectDetection.h” must be included to use the class function.

NNObjectDetection::setResultCallback

Description
Set a callback function to receive object detection results.

Syntax
void setResultCallback(void (*od_callback)(std::vector));

Parameters
od_callback: A callback function that accepts a vector of ObjectDetectionResult class objects as argument and returns void.

Returns
NA

Example Code
Example: ObjectDetectionCallback
(https://github.com/ambiot/ambpro2_arduino/blob/dev/Arduino_package/hardware/libraries/NeuralNetwork/examples/ObjectDetectionCallback/ObjectDetectionCallback.ino)

Notes and Warnings
“NNObjectDetection.h” must be included to use the class function. The callback function will be called with the latest results once per iteration.

NNObjectDetection::getResultCount

Description
Get number of object detection results.

Syntax
uint16_t getResultCount(void);

Parameters
NA

Returns
The number of detected objects in the most recent set of results, as an unsigned integer.

Example Code
NA

Notes and Warnings
“NNObjectDetection.h” must be included to use the class function.

NNObjectDetection::getResult

Description
Get object detection results.

Syntax
ObjectDetectionResult getResult(uint16_t index);
std::vector getResult(void);

Parameters
index: index of specific object detection result to retrieve

Returns
If no index is specified, the function returns all detected objects contained in a vector of ObjectDetectionResult class objects.
If an index is specified, the function returns the specific detected object contained in a ObjectDetectionResult class object.

Example Code
Example: ObjectDetectionLoop
(https://github.com/ambiot/ambpro2_arduino/blob/dev/Arduino_package/hardware/libraries/NeuralNetwork/examples/ObjectDetectionLoop/ObjectDetectionLoop.ino)

Notes and Warnings
“NNObjectDetection.h” must be included to use the class function.