Windows/Linux/Arm_Linux 用のAPIは、以下の解説をご参照ください。
st_handle_t
機能:引数やデータの保存に必要なハンドルです。対応する解放引数の呼び出し、メモリの解放及びリサイクルを行う必要があります。
定義:
typedef void *st_handle_t;
st_result_t
機能:戻されたエラーコードを表示します。
定義:
typedef int st_result_t;
struct stid_detection_result
機能:顔枠情報を取得できます。
定義:
typedef struct stid_detection_result {
cv_rect32i_t rect; ///< Result rect
float score; ///< スコア
int label; ///< ラベル
int orientation; ///< 向き
unsigned int reserved1;
unsigned int reserved2;
} stid_detection_result_t;
struct stid_landmarks
機能:顔特徴点情報を取得できます。
定義:
typedef struct stid_landmarks {
cv_point3D32f *points_array; ///< 特徴点をアレイします
unsigned char *points_available; ///< 利用可能な特徴点を表記します。 point_count =ユニット個数情報を含み、 point_array に対応しています。1 は利用可能な特徴点を示し、0 は遮られている特徴点を示しています。
int points_count; ///< 特徴点の数を示しています。
int label; ///< トラッキング結果を取得します。
float alignment_score; ///< 特徴点の位置のスコアを示しています。
float label_score;
void* extra_info; ///< 特徴点の中間情報
float* points_score;
unsigned int reserved1;
unsigned int reserved2;
} stid_landmarks_t;
struct stid_target
機能:トラッキングの結果を取得できます。
定義:
typedef struct stid_target {
stid_detection_result_t detect_result; ///< 顔枠
stid_landmarks_t landmarks; ///< 特徴点
int id; ///< 顔ID を示しています。顔をトラッキングする際、トラッキングする顔が変化した場合、1 を加算します (トラッキングする顔が変化していることを示し、同じ人物であるかどうかは判断できません)。
} stid_target_t;
stid_pose
機能:ポーズの角度情報を取得できます。
定義:
typedef struct stid_pose{
float yaw; ///< Y 軸角度を示します
float pitch; ///< X 軸角度を示します
float roll; ///< Z 軸角度を示します
} stid_pose_t;
stid_face_quality
機能:顔写真品質の情報を取得できます。
定義:
typedef struct stid_face_quality {
float distance2center; ///< [0,1]. max(1 - 五官中心から画像中心への距離 / 画像の短辺の距離, 0)
float size; ///< [0,1]. 五官が画像に占める面積 / 画像の面積
float occlusion; ///< [0,1]. 遮られていない五官の面積/五官の面積
float brightness; ///< [-1,1]. 明るさがスコアに正比例します
float sharpness; ///< [0,1]. シャープネスがスコアに正比例します
float mouth_open; ///< [0,1]. 開いている口の角度を計算します。口の開き具合がスコアに反比例します
float missing; ///< [0,1]. 五官が画像中に占める面積/五官の面積
} stid_face_quality_t;
stid_attribute_category_t
機能:顔属性情報構造体。
カテゴリーが「mask」の場合、value値は 0:nomask、1:mask
定義:
typedef struct stid_attribute_category_t {
char category[STID_COMMON_MAX_LABEL_LENGTH]; ///< 属性種別名
int value; ///< 属性結果値
} stid_attribute_category_t;
stid_attribute_list
機能:顔属性の一覧です。
定義:
typedef struct stid_attribute_list{
stid_attribute_category_t* attribute_category_array; ///> 顔属性情報の配列
int attribute_category_count; ///> 顔属性の数
}stid_attribute_list_t;
Config (detect)
機能:顔認識モードを示します。
定義:
#define STID_FACEPRO_DETECTOR_CONFIG_LARGE_FACE 0x00000000 // 大顔認識モード
#define STID_FACEPRO_DETECTOR_CONFIG_SMALL_FACE 0x00000200 // 小顔認識モード
#define STID_FACEPRO_DETECTOR_CONFIG_ANY_FACE 0x00000400 // 大小顔認識モード、認識速度が比較的遅い
config (track)
機能:非同期の顔トラッキングを使用できます(遅い認識モデル、かつリアルタイムプレビューが必要の場合での利用を推奨)。
定義:
#define STID_FACEPRO_TRACKING_CONFIG_ASYNC (0x00010000)
config (track)
機能:顔トラッキングモードを示します。
定義:
#define STID_FACEPRO_TRACKING_CONFIG_LARGE_FACE 0x00000000 // 大顔認識モード
#define STID_FACEPRO_TRACKING_CONFIG_SMALL_FACE 0x00000200 // 小顔認識モード
config (track)
機能:顔をトラッキングするターゲット数Nを設定できます。
設定範囲:1~32。初期値N=1。検知されたN個の顔をトラッキングします。
顔の数がNを下回った場合、顔の認識を開始します。値N=1の場合、1つの顔をトラッキングします。
定義:
#define STID_FACEPRO_DETECTION_OPTION_TYPE_LIMIT (0x0001)
機能:顔写真の品質計算標識位置を取得できます。
定義:
#define STID_FACEPRO_QUALITY_FLAG_DISTANCE2CENTER (1 << 2)
#define STID_FACEPRO_QUALITY_FLAG_SIZE (1 << 3)
#define STID_FACEPRO_QUALITY_FLAG_OCCLUSION (1 << 4)
#define STID_FACEPRO_QUALITY_FLAG_BRIGHTNESS (1 << 5)
#define STID_FACEPRO_QUALITY_FLAG_SHARPNESS (1 << 6)
#define STID_FACEPRO_QUALITY_FLAG_MOUTH (1 << 7)
#define STID_FACEPRO_QUALITY_FLAG_MISSING (1 << 10)
#define STID_FACEPRO_QUALITY_FLAG_ALL (0xffffffff)