Structs

Public-facing structs for Edge Impulse C++ SDK.

ei_impulse_result_classification_t

struct ei_impulse_result_classification_t 

Holds the output of inference, anomaly results, and timing information.

ei_impulse_result_t holds the output of run_classifier(). If object detection is enabled, then the output results is a pointer to an array of bounding boxes of size bounding_boxes_count, as given by ei_impulse_result_bounding_box_t. Otherwise, results are stored as an array of classification scores, as given by ei_impulse_result_classification_t.

If anomaly detection is enabled (e.g. EI_CLASSIFIER_HAS_ANOMALY == 1), then the anomaly score will be stored as a floating point value in anomaly.

Timing information is stored in an ei_impulse_result_timing_t struct.

Source: classifier/ei_classifier_types.h

Example: standalone inferencing main.cpp

MemberDescription

public const char * label

Label of the detected object

public float value

Value of the detected object

ei_impulse_visual_ad_result_t

struct ei_impulse_visual_ad_result_t 

Holds the output of visual anomaly detection (FOMO-AD)

If visual anomaly detection is enabled (e.g. EI_CLASSIFIER_HAS_VISUAL_ANOMALY == 1), then the output results will be a pointer to an array of grid cells of size visual_ad_count, as given by ei_impulse_result_bounding_box_t.

The visual anomaly detection result is stored in visual_ad_result, which contains the mean and max values of the grid cells.

Source: classifier/ei_classifier_types.h

Example: standalone inferencing main.cpp

MemberDescription

public float mean_value

Mean value of the grid cells

public float max_value

Max value of the grid cells

ei_impulse_result_bounding_box_t

struct ei_impulse_result_bounding_box_t 

Holds information for a single bounding box.

If object detection is enabled (i.e. EI_CLASSIFIER_OBJECT_DETECTION == 1), then inference results will be one or more bounding boxes. The bounding boxes with the highest confidence scores (assuming those scores are equal to or greater than EI_CLASSIFIER_OBJECT_DETECTION_THRESHOLD), given by the value member, are returned from inference. The total number of bounding boxes returned will be at least EI_CLASSIFIER_OBJECT_DETECTION_COUNT. The exact number of bounding boxes is stored in bounding_boxes_count field of [ei_impulse_result_t]/C++ Inference SDK Library/structs/ei_impulse_result_t.md).

A bounding box is a rectangle that ideally surrounds the identified object. The (x, y) coordinates in the struct identify the top-left corner of the box. label is the predicted class wit