|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#ifndef _EI_CLASSIFIER_MODEL_METADATA_H_ |
|
|
#define _EI_CLASSIFIER_MODEL_METADATA_H_ |
|
|
|
|
|
#include <stdint.h> |
|
|
#include <stdbool.h> |
|
|
|
|
|
#define EI_CLASSIFIER_NONE 255 |
|
|
#define EI_CLASSIFIER_UTENSOR 1 |
|
|
#define EI_CLASSIFIER_TFLITE 2 |
|
|
#define EI_CLASSIFIER_CUBEAI 3 |
|
|
#define EI_CLASSIFIER_TFLITE_FULL 4 |
|
|
#define EI_CLASSIFIER_TENSAIFLOW 5 |
|
|
#define EI_CLASSIFIER_TENSORRT 6 |
|
|
#define EI_CLASSIFIER_DRPAI 7 |
|
|
#define EI_CLASSIFIER_TFLITE_TIDL 8 |
|
|
#define EI_CLASSIFIER_AKIDA 9 |
|
|
#define EI_CLASSIFIER_SYNTIANT 10 |
|
|
#define EI_CLASSIFIER_ONNX_TIDL 11 |
|
|
#define EI_CLASSIFIER_MEMRYX 12 |
|
|
|
|
|
#define EI_CLASSIFIER_SENSOR_UNKNOWN -1 |
|
|
#define EI_CLASSIFIER_SENSOR_MICROPHONE 1 |
|
|
#define EI_CLASSIFIER_SENSOR_ACCELEROMETER 2 |
|
|
#define EI_CLASSIFIER_SENSOR_CAMERA 3 |
|
|
#define EI_CLASSIFIER_SENSOR_9DOF 4 |
|
|
#define EI_CLASSIFIER_SENSOR_ENVIRONMENTAL 5 |
|
|
#define EI_CLASSIFIER_SENSOR_FUSION 6 |
|
|
|
|
|
|
|
|
#define EI_CLASSIFIER_DATATYPE_FLOAT32 1 |
|
|
#define EI_CLASSIFIER_DATATYPE_UINT8 3 |
|
|
#define EI_CLASSIFIER_DATATYPE_INT8 9 |
|
|
|
|
|
#define EI_CLASSIFIER_PROJECT_ID 116394 |
|
|
#define EI_CLASSIFIER_PROJECT_OWNER "Louis Moreau" |
|
|
#define EI_CLASSIFIER_PROJECT_NAME "Face detection - FOMO - bigger dataset" |
|
|
#define EI_CLASSIFIER_PROJECT_DEPLOY_VERSION 106 |
|
|
#define EI_CLASSIFIER_NN_INPUT_FRAME_SIZE 27648 |
|
|
#define EI_CLASSIFIER_RAW_SAMPLE_COUNT 9216 |
|
|
#define EI_CLASSIFIER_RAW_SAMPLES_PER_FRAME 1 |
|
|
#define EI_CLASSIFIER_DSP_INPUT_FRAME_SIZE (EI_CLASSIFIER_RAW_SAMPLE_COUNT * EI_CLASSIFIER_RAW_SAMPLES_PER_FRAME) |
|
|
#define EI_CLASSIFIER_INPUT_WIDTH 96 |
|
|
#define EI_CLASSIFIER_INPUT_HEIGHT 96 |
|
|
#define EI_CLASSIFIER_INPUT_FRAMES 1 |
|
|
#define EI_CLASSIFIER_NN_OUTPUT_COUNT 288 |
|
|
#define EI_CLASSIFIER_INTERVAL_MS 1 |
|
|
#define EI_CLASSIFIER_LABEL_COUNT 1 |
|
|
#define EI_CLASSIFIER_HAS_ANOMALY 0 |
|
|
#define EI_CLASSIFIER_FREQUENCY 0 |
|
|
#define EI_CLASSIFIER_HAS_MODEL_VARIABLES 1 |
|
|
|
|
|
|
|
|
|
|
|
#define EI_CLASSIFIER_OBJECT_DETECTION 1 |
|
|
#define EI_CLASSIFIER_OBJECT_DETECTION_LAST_LAYER EI_CLASSIFIER_LAST_LAYER_FOMO |
|
|
#warning 'EI_CLASSFIER_OBJECT_DETECTION_COUNT' is used for the guaranteed minimum number of objects detected. To get all objects during inference use 'bounding_boxes_count' from the 'ei_impulse_result_t' struct instead. |
|
|
#define EI_CLASSIFIER_OBJECT_DETECTION_COUNT 10 |
|
|
#define EI_CLASSIFIER_OBJECT_DETECTION_THRESHOLD 0.5 |
|
|
#define EI_CLASSIFIER_TFLITE_OUTPUT_DATA_TENSOR 0 |
|
|
#define EI_CLASSIFIER_TFLITE_OUTPUT_LABELS_TENSOR 1 |
|
|
#define EI_CLASSIFIER_TFLITE_OUTPUT_SCORE_TENSOR 2 |
|
|
|
|
|
|
|
|
#define EI_CLASSIFIER_TFLITE_INPUT_DATATYPE EI_CLASSIFIER_DATATYPE_FLOAT32 |
|
|
#define EI_CLASSIFIER_TFLITE_OUTPUT_DATATYPE EI_CLASSIFIER_DATATYPE_FLOAT32 |
|
|
|
|
|
|
|
|
#define EI_CLASSIFIER_INFERENCING_ENGINE EI_CLASSIFIER_TFLITE |
|
|
|
|
|
#define EI_CLASSIFIER_QUANTIZATION_ENABLED 0 |
|
|
|
|
|
#define EI_CLASSIFIER_COMPILED 0 |
|
|
#define EI_CLASSIFIER_HAS_TFLITE_OPS_RESOLVER 0 |
|
|
|
|
|
#define EI_CLASSIFIER_LOAD_IMAGE_SCALING 0 |
|
|
|
|
|
|
|
|
#define EI_CLASSIFIER_HAS_FFT_INFO 1 |
|
|
#define EI_CLASSIFIER_LOAD_FFT_32 0 |
|
|
#define EI_CLASSIFIER_LOAD_FFT_64 0 |
|
|
#define EI_CLASSIFIER_LOAD_FFT_128 0 |
|
|
#define EI_CLASSIFIER_LOAD_FFT_256 0 |
|
|
#define EI_CLASSIFIER_LOAD_FFT_512 0 |
|
|
#define EI_CLASSIFIER_LOAD_FFT_1024 0 |
|
|
#define EI_CLASSIFIER_LOAD_FFT_2048 0 |
|
|
#define EI_CLASSIFIER_LOAD_FFT_4096 0 |
|
|
|
|
|
#define EI_DSP_PARAMS_GENERATED 1 |
|
|
|
|
|
|
|
|
#define EI_CLASSIFIER_SENSOR EI_CLASSIFIER_SENSOR_CAMERA |
|
|
#define EI_CLASSIFIER_FUSION_AXES_STRING "image" |
|
|
#define EI_CLASSIFIER_CALIBRATION_ENABLED 0 |
|
|
|
|
|
#ifndef EI_CLASSIFIER_SLICES_PER_MODEL_WINDOW |
|
|
#define EI_CLASSIFIER_SLICES_PER_MODEL_WINDOW 4 |
|
|
#endif |
|
|
#define EI_CLASSIFIER_SLICE_SIZE (EI_CLASSIFIER_RAW_SAMPLE_COUNT / EI_CLASSIFIER_SLICES_PER_MODEL_WINDOW) |
|
|
|
|
|
|
|
|
#if ((EI_CLASSIFIER_INFERENCING_ENGINE == EI_CLASSIFIER_TFLITE) || (EI_CLASSIFIER_INFERENCING_ENGINE == EI_CLASSIFIER_DRPAI)) && EI_CLASSIFIER_USE_FULL_TFLITE == 1 |
|
|
|
|
|
#if EI_CLASSIFIER_INFERENCING_ENGINE == EI_CLASSIFIER_TFLITE |
|
|
#undef EI_CLASSIFIER_INFERENCING_ENGINE |
|
|
#define EI_CLASSIFIER_INFERENCING_ENGINE EI_CLASSIFIER_TFLITE_FULL |
|
|
#endif |
|
|
|
|
|
#undef EI_CLASSIFIER_HAS_TFLITE_OPS_RESOLVER |
|
|
#define EI_CLASSIFIER_HAS_TFLITE_OPS_RESOLVER 0 |
|
|
|
|
|
#if EI_CLASSIFIER_COMPILED == 1 |
|
|
#error "Cannot use full TensorFlow Lite with EON" |
|
|
#endif |
|
|
#endif |
|
|
|
|
|
typedef struct { |
|
|
uint32_t block_id; |
|
|
uint16_t implementation_version; |
|
|
int axes; |
|
|
float scale_axes; |
|
|
bool average; |
|
|
bool minimum; |
|
|
bool maximum; |
|
|
bool rms; |
|
|
bool stdev; |
|
|
bool skewness; |
|
|
bool kurtosis; |
|
|
} ei_dsp_config_flatten_t; |
|
|
|
|
|
typedef struct { |
|
|
uint32_t block_id; |
|
|
uint16_t implementation_version; |
|
|
int axes; |
|
|
const char * channels; |
|
|
} ei_dsp_config_image_t; |
|
|
|
|
|
typedef struct { |
|
|
uint32_t block_id; |
|
|
uint16_t implementation_version; |
|
|
int axes; |
|
|
int num_cepstral; |
|
|
float frame_length; |
|
|
float frame_stride; |
|
|
int num_filters; |
|
|
int fft_length; |
|
|
int win_size; |
|
|
int low_frequency; |
|
|
int high_frequency; |
|
|
float pre_cof; |
|
|
int pre_shift; |
|
|
} ei_dsp_config_mfcc_t; |
|
|
|
|
|
typedef struct { |
|
|
uint32_t block_id; |
|
|
uint16_t implementation_version; |
|
|
int axes; |
|
|
float frame_length; |
|
|
float frame_stride; |
|
|
int num_filters; |
|
|
int fft_length; |
|
|
int low_frequency; |
|
|
int high_frequency; |
|
|
int win_size; |
|
|
int noise_floor_db; |
|
|
} ei_dsp_config_mfe_t; |
|
|
|
|
|
typedef struct { |
|
|
uint32_t block_id; |
|
|
uint16_t implementation_version; |
|
|
int axes; |
|
|
float scale_axes; |
|
|
} ei_dsp_config_raw_t; |
|
|
|
|
|
typedef struct { |
|
|
uint32_t block_id; |
|
|
uint16_t implementation_version; |
|
|
int axes; |
|
|
float scale_axes; |
|
|
int input_decimation_ratio; |
|
|
const char * filter_type; |
|
|
float filter_cutoff; |
|
|
int filter_order; |
|
|
const char * analysis_type; |
|
|
int fft_length; |
|
|
int spectral_peaks_count; |
|
|
float spectral_peaks_threshold; |
|
|
const char * spectral_power_edges; |
|
|
bool do_log; |
|
|
bool do_fft_overlap; |
|
|
int wavelet_level; |
|
|
const char * wavelet; |
|
|
bool extra_low_freq; |
|
|
} ei_dsp_config_spectral_analysis_t; |
|
|
|
|
|
typedef struct { |
|
|
uint32_t block_id; |
|
|
uint16_t implementation_version; |
|
|
int axes; |
|
|
float frame_length; |
|
|
float frame_stride; |
|
|
int fft_length; |
|
|
int noise_floor_db; |
|
|
bool show_axes; |
|
|
} ei_dsp_config_spectrogram_t; |
|
|
|
|
|
typedef struct { |
|
|
uint32_t block_id; |
|
|
uint16_t implementation_version; |
|
|
int axes; |
|
|
float frame_length; |
|
|
float frame_stride; |
|
|
int num_filters; |
|
|
int fft_length; |
|
|
int low_frequency; |
|
|
int high_frequency; |
|
|
float pre_cof; |
|
|
const char * extractor; |
|
|
} ei_dsp_config_audio_syntiant_t; |
|
|
|
|
|
typedef struct { |
|
|
uint32_t block_id; |
|
|
uint16_t implementation_version; |
|
|
int axes; |
|
|
bool scaling; |
|
|
} ei_dsp_config_imu_syntiant_t; |
|
|
|
|
|
#endif |
|
|
|