Application API

APIs are specific to certain applications. User can add more

RGB Face Recognition

Start SFID mode

int kdp_start_sfid_mode(int dev_idx, uint32_t* img_size, float thresh, uint16_t width, uint16_t height, uint32_t format);

Face Recognition with User ID

int kdp_verify_user_id_generic(int dev_idx, uint16_t* user_id, char* img_buf, int buf_len, uint16_t* mask, char* res);

Face Recognition with Feature Map

int kdp_extract_feature_generic(int dev_idx, char* img_buf, int buf_len, uint16_t* mask, char* res);

Get Result Size

uint32_t kdp_get_res_size(bool fd, bool lm, bool fr, bool liveness);

Get FDR Result Mask

uint16_t kdp_get_res_mask(bool fd, bool lm, bool fr, bool liveness);

Start Register Mode

int kdp_start_reg_user_mode(int dev_idx, uint16_t usr_id, uint16_t img_idx);

Register New User

int kdp_register_user(int dev_idx, uint32_t user_id);

Delete User

int kdp_remove_user(int dev_idx, uint32_t user_id);

Compare Two Feature Map

float kdp_fm_compare(float *user_fm_a, float *user_fm_b, size_t fm_size);

Light Weight 3D Face Recognition

Start LW3D Mode

int kdp_start_lw3d_mode(int dev_idx, uint32_t* rgb_size, uint32_t* nir_size, float rgb_thresh, float nir_thresh, uint16_t rgb_width, uint16_t rgb_height, uint16_t nir_width, uint16_t nir_height, uint32_t rgb_fmt, uint32_t nir_fmt);

LW3D Inference with User ID

int kdp_verify_lw3D_image_generic(int dev_idx, uint16_t* user_id, char* img_buf, int buf_len, char* img_buf_nir, int buf_len_nir, uint16_t* mask, char* res);

LW3D Inference with User Feature Map

int kdp_extract_lw3D_feature_generic(int dev_idx, char* img_buf, int buf_len, char* img_buf_nir, int buf_len_nir, uint16_t* mask, char* res);

LW3D Result Mask

uint16_t kdp_get_lw3D_res_mask(bool fd, bool lm, bool fr, bool nir_fd, bool nir_lm, bool nir_fr, bool liveness);

LW3D Result Size

uint32_t kdp_get_lw3D_res_size(bool fd, bool lm, bool fr, bool nir_fd, bool nir_lm, bool nir_fr, bool liveness);