AILIA 骨格検出・顔特徴点検出ライブラリ
[詳解]
#include "ailia.h"
#include "ailia_format.h"
[ソースコード]
|
int AILIA_API | ailiaCreatePoseEstimator (struct AILIAPoseEstimator **pose_estimator, struct AILIANetwork *net, unsigned int algorithm) |
| 検出オブジェクトを作成します。 [詳解]
|
|
void AILIA_API | ailiaDestroyPoseEstimator (struct AILIAPoseEstimator *pose_estimator) |
| 検出オブジェクトを破棄します。 [詳解]
|
|
int AILIA_API | ailiaPoseEstimatorSetThreshold (struct AILIAPoseEstimator *pose_estimator, float threshold) |
| 検出閾値を設定します。 [詳解]
|
|
int AILIA_API | ailiaPoseEstimatorCompute (struct AILIAPoseEstimator *pose_estimator, const void *src, unsigned int src_stride, unsigned int src_width, unsigned int src_height, unsigned int src_format) |
| 骨格検出・顔特徴点検出を行います。 [詳解]
|
|
int AILIA_API | ailiaPoseEstimatorGetObjectCount (struct AILIAPoseEstimator *pose_estimator, unsigned int *obj_count) |
| 検出結果の数を取得します。 [詳解]
|
|
int AILIA_API | ailiaPoseEstimatorGetObjectPose (struct AILIAPoseEstimator *pose_estimator, AILIAPoseEstimatorObjectPose *obj, unsigned int obj_idx, unsigned int version) |
| 骨格検出結果を取得します。 [詳解]
|
|
int AILIA_API | ailiaPoseEstimatorGetObjectFace (struct AILIAPoseEstimator *pose_estimator, AILIAPoseEstimatorObjectFace *obj, unsigned int obj_idx, unsigned int version) |
| 顔特徴点検出結果を取得します。 [詳解]
|
|
int AILIA_API | ailiaPoseEstimatorGetObjectUpPose (struct AILIAPoseEstimator *pose_estimator, AILIAPoseEstimatorObjectUpPose *obj, unsigned int obj_idx, unsigned int version) |
| UpPose 認識結果を取得します。 [詳解]
|
|
int AILIA_API | ailiaPoseEstimatorGetObjectHand (struct AILIAPoseEstimator *pose_estimator, AILIAPoseEstimatorObjectHand *obj, unsigned int obj_idx, unsigned int version) |
| Hand 認識結果を取得します。 [詳解]
|
|
AILIA 骨格検出・顔特徴点検出ライブラリ
- 著作権所有
- AXELL CORPORATION, ax Inc.
- 日付
- 2021/07/28
◆ AILIA_POSE_ESTIMATOR_ALGORITHM_ACCULUS_FACE
#define AILIA_POSE_ESTIMATOR_ALGORITHM_ACCULUS_FACE (1) |
◆ AILIA_POSE_ESTIMATOR_ALGORITHM_ACCULUS_HAND
#define AILIA_POSE_ESTIMATOR_ALGORITHM_ACCULUS_HAND (5) |
◆ AILIA_POSE_ESTIMATOR_ALGORITHM_ACCULUS_POSE
#define AILIA_POSE_ESTIMATOR_ALGORITHM_ACCULUS_POSE (0) |
◆ AILIA_POSE_ESTIMATOR_ALGORITHM_ACCULUS_UPPOSE
#define AILIA_POSE_ESTIMATOR_ALGORITHM_ACCULUS_UPPOSE (2) |
◆ AILIA_POSE_ESTIMATOR_ALGORITHM_ACCULUS_UPPOSE_FPGA
#define AILIA_POSE_ESTIMATOR_ALGORITHM_ACCULUS_UPPOSE_FPGA (3) |
◆ AILIA_POSE_ESTIMATOR_ALGORITHM_LW_HUMAN_POSE
#define AILIA_POSE_ESTIMATOR_ALGORITHM_LW_HUMAN_POSE (11) |
◆ AILIA_POSE_ESTIMATOR_ALGORITHM_OPEN_POSE
#define AILIA_POSE_ESTIMATOR_ALGORITHM_OPEN_POSE (10) |
◆ AILIA_POSE_ESTIMATOR_ALGORITHM_OPEN_POSE_SINGLE_SCALE
#define AILIA_POSE_ESTIMATOR_ALGORITHM_OPEN_POSE_SINGLE_SCALE (12) |
◆ AILIA_POSE_ESTIMATOR_FACE_KEYPOINT_CNT
#define AILIA_POSE_ESTIMATOR_FACE_KEYPOINT_CNT (68) |
◆ AILIA_POSE_ESTIMATOR_HAND_KEYPOINT_CNT
#define AILIA_POSE_ESTIMATOR_HAND_KEYPOINT_CNT (21) |
◆ AILIA_POSE_ESTIMATOR_OBJECT_FACE_VERSION
#define AILIA_POSE_ESTIMATOR_OBJECT_FACE_VERSION (1) |
◆ AILIA_POSE_ESTIMATOR_OBJECT_HAND_VERSION
#define AILIA_POSE_ESTIMATOR_OBJECT_HAND_VERSION (1) |
◆ AILIA_POSE_ESTIMATOR_OBJECT_POSE_VERSION
#define AILIA_POSE_ESTIMATOR_OBJECT_POSE_VERSION (1) |
◆ AILIA_POSE_ESTIMATOR_OBJECT_UPPOSE_VERSION
#define AILIA_POSE_ESTIMATOR_OBJECT_UPPOSE_VERSION (1) |
◆ AILIA_POSE_ESTIMATOR_POSE_KEYPOINT_ANKLE_LEFT
#define AILIA_POSE_ESTIMATOR_POSE_KEYPOINT_ANKLE_LEFT (15) |
◆ AILIA_POSE_ESTIMATOR_POSE_KEYPOINT_ANKLE_RIGHT
#define AILIA_POSE_ESTIMATOR_POSE_KEYPOINT_ANKLE_RIGHT (16) |
◆ AILIA_POSE_ESTIMATOR_POSE_KEYPOINT_BODY_CENTER
#define AILIA_POSE_ESTIMATOR_POSE_KEYPOINT_BODY_CENTER (18) |
◆ AILIA_POSE_ESTIMATOR_POSE_KEYPOINT_CNT
#define AILIA_POSE_ESTIMATOR_POSE_KEYPOINT_CNT (19) |
◆ AILIA_POSE_ESTIMATOR_POSE_KEYPOINT_EAR_LEFT
#define AILIA_POSE_ESTIMATOR_POSE_KEYPOINT_EAR_LEFT (3) |
◆ AILIA_POSE_ESTIMATOR_POSE_KEYPOINT_EAR_RIGHT
#define AILIA_POSE_ESTIMATOR_POSE_KEYPOINT_EAR_RIGHT (4) |
◆ AILIA_POSE_ESTIMATOR_POSE_KEYPOINT_ELBOW_LEFT
#define AILIA_POSE_ESTIMATOR_POSE_KEYPOINT_ELBOW_LEFT (7) |
◆ AILIA_POSE_ESTIMATOR_POSE_KEYPOINT_ELBOW_RIGHT
#define AILIA_POSE_ESTIMATOR_POSE_KEYPOINT_ELBOW_RIGHT (8) |
◆ AILIA_POSE_ESTIMATOR_POSE_KEYPOINT_EYE_LEFT
#define AILIA_POSE_ESTIMATOR_POSE_KEYPOINT_EYE_LEFT (1) |
◆ AILIA_POSE_ESTIMATOR_POSE_KEYPOINT_EYE_RIGHT
#define AILIA_POSE_ESTIMATOR_POSE_KEYPOINT_EYE_RIGHT (2) |
◆ AILIA_POSE_ESTIMATOR_POSE_KEYPOINT_HIP_LEFT
#define AILIA_POSE_ESTIMATOR_POSE_KEYPOINT_HIP_LEFT (11) |
◆ AILIA_POSE_ESTIMATOR_POSE_KEYPOINT_HIP_RIGHT
#define AILIA_POSE_ESTIMATOR_POSE_KEYPOINT_HIP_RIGHT (12) |
◆ AILIA_POSE_ESTIMATOR_POSE_KEYPOINT_KNEE_LEFT
#define AILIA_POSE_ESTIMATOR_POSE_KEYPOINT_KNEE_LEFT (13) |
◆ AILIA_POSE_ESTIMATOR_POSE_KEYPOINT_KNEE_RIGHT
#define AILIA_POSE_ESTIMATOR_POSE_KEYPOINT_KNEE_RIGHT (14) |
◆ AILIA_POSE_ESTIMATOR_POSE_KEYPOINT_NOSE
#define AILIA_POSE_ESTIMATOR_POSE_KEYPOINT_NOSE (0) |
◆ AILIA_POSE_ESTIMATOR_POSE_KEYPOINT_SHOULDER_CENTER
#define AILIA_POSE_ESTIMATOR_POSE_KEYPOINT_SHOULDER_CENTER (17) |
◆ AILIA_POSE_ESTIMATOR_POSE_KEYPOINT_SHOULDER_LEFT
#define AILIA_POSE_ESTIMATOR_POSE_KEYPOINT_SHOULDER_LEFT (5) |
◆ AILIA_POSE_ESTIMATOR_POSE_KEYPOINT_SHOULDER_RIGHT
#define AILIA_POSE_ESTIMATOR_POSE_KEYPOINT_SHOULDER_RIGHT (6) |
◆ AILIA_POSE_ESTIMATOR_POSE_KEYPOINT_WRIST_LEFT
#define AILIA_POSE_ESTIMATOR_POSE_KEYPOINT_WRIST_LEFT (9) |
◆ AILIA_POSE_ESTIMATOR_POSE_KEYPOINT_WRIST_RIGHT
#define AILIA_POSE_ESTIMATOR_POSE_KEYPOINT_WRIST_RIGHT (10) |
◆ AILIA_POSE_ESTIMATOR_UPPOSE_KEYPOINT_BODY_CENTER
#define AILIA_POSE_ESTIMATOR_UPPOSE_KEYPOINT_BODY_CENTER (14) |
◆ AILIA_POSE_ESTIMATOR_UPPOSE_KEYPOINT_CNT
#define AILIA_POSE_ESTIMATOR_UPPOSE_KEYPOINT_CNT (15) |
◆ AILIA_POSE_ESTIMATOR_UPPOSE_KEYPOINT_EAR_LEFT
#define AILIA_POSE_ESTIMATOR_UPPOSE_KEYPOINT_EAR_LEFT (3) |
◆ AILIA_POSE_ESTIMATOR_UPPOSE_KEYPOINT_EAR_RIGHT
#define AILIA_POSE_ESTIMATOR_UPPOSE_KEYPOINT_EAR_RIGHT (4) |
◆ AILIA_POSE_ESTIMATOR_UPPOSE_KEYPOINT_ELBOW_LEFT
#define AILIA_POSE_ESTIMATOR_UPPOSE_KEYPOINT_ELBOW_LEFT (7) |
◆ AILIA_POSE_ESTIMATOR_UPPOSE_KEYPOINT_ELBOW_RIGHT
#define AILIA_POSE_ESTIMATOR_UPPOSE_KEYPOINT_ELBOW_RIGHT (8) |
◆ AILIA_POSE_ESTIMATOR_UPPOSE_KEYPOINT_EYE_LEFT
#define AILIA_POSE_ESTIMATOR_UPPOSE_KEYPOINT_EYE_LEFT (1) |
◆ AILIA_POSE_ESTIMATOR_UPPOSE_KEYPOINT_EYE_RIGHT
#define AILIA_POSE_ESTIMATOR_UPPOSE_KEYPOINT_EYE_RIGHT (2) |
◆ AILIA_POSE_ESTIMATOR_UPPOSE_KEYPOINT_HIP_LEFT
#define AILIA_POSE_ESTIMATOR_UPPOSE_KEYPOINT_HIP_LEFT (11) |
◆ AILIA_POSE_ESTIMATOR_UPPOSE_KEYPOINT_HIP_RIGHT
#define AILIA_POSE_ESTIMATOR_UPPOSE_KEYPOINT_HIP_RIGHT (12) |
◆ AILIA_POSE_ESTIMATOR_UPPOSE_KEYPOINT_NOSE
#define AILIA_POSE_ESTIMATOR_UPPOSE_KEYPOINT_NOSE (0) |
◆ AILIA_POSE_ESTIMATOR_UPPOSE_KEYPOINT_SHOULDER_CENTER
#define AILIA_POSE_ESTIMATOR_UPPOSE_KEYPOINT_SHOULDER_CENTER (13) |
◆ AILIA_POSE_ESTIMATOR_UPPOSE_KEYPOINT_SHOULDER_LEFT
#define AILIA_POSE_ESTIMATOR_UPPOSE_KEYPOINT_SHOULDER_LEFT (5) |
◆ AILIA_POSE_ESTIMATOR_UPPOSE_KEYPOINT_SHOULDER_RIGHT
#define AILIA_POSE_ESTIMATOR_UPPOSE_KEYPOINT_SHOULDER_RIGHT (6) |
◆ AILIA_POSE_ESTIMATOR_UPPOSE_KEYPOINT_WRIST_LEFT
#define AILIA_POSE_ESTIMATOR_UPPOSE_KEYPOINT_WRIST_LEFT (9) |
◆ AILIA_POSE_ESTIMATOR_UPPOSE_KEYPOINT_WRIST_RIGHT
#define AILIA_POSE_ESTIMATOR_UPPOSE_KEYPOINT_WRIST_RIGHT (10) |
◆ AILIAPoseEstimatorKeypoint
◆ AILIAPoseEstimatorObjectFace
◆ AILIAPoseEstimatorObjectHand
◆ AILIAPoseEstimatorObjectPose
◆ AILIAPoseEstimatorObjectUpPose
◆ ailiaCreatePoseEstimator()
int AILIA_API ailiaCreatePoseEstimator |
( |
struct AILIAPoseEstimator ** |
pose_estimator, |
|
|
struct AILIANetwork * |
net, |
|
|
unsigned int |
algorithm |
|
) |
| |
検出オブジェクトを作成します。
- 引数
-
pose_estimator | 検出オブジェクトポインタ |
net | ネットワークオブジェクトポインタ |
algorithm | 検出アルゴリズム (AILIA_POSE_ESTIMATOR_ALGORITHM_*) |
- 戻り値
- 成功した場合は AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。
caffemodelとprototxtを読み込んだAILIANetworkから検出オブジェクトを作成します。
◆ ailiaDestroyPoseEstimator()
void AILIA_API ailiaDestroyPoseEstimator |
( |
struct AILIAPoseEstimator * |
pose_estimator | ) |
|
検出オブジェクトを破棄します。
- 引数
-
pose_estimator | 検出オブジェクトポインタ |
◆ ailiaPoseEstimatorCompute()
int AILIA_API ailiaPoseEstimatorCompute |
( |
struct AILIAPoseEstimator * |
pose_estimator, |
|
|
const void * |
src, |
|
|
unsigned int |
src_stride, |
|
|
unsigned int |
src_width, |
|
|
unsigned int |
src_height, |
|
|
unsigned int |
src_format |
|
) |
| |
骨格検出・顔特徴点検出を行います。
- 引数
-
pose_estimator | 検出オブジェクトポインタ |
src | 画像データ(32bpp) |
src_stride | 1ラインのバイト数 |
src_width | 画像幅 |
src_height | 画像高さ |
src_format | 画像形式 (AILIA_IMAGE_FORMAT_*) |
- 戻り値
- 成功した場合は AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。
◆ ailiaPoseEstimatorGetObjectCount()
int AILIA_API ailiaPoseEstimatorGetObjectCount |
( |
struct AILIAPoseEstimator * |
pose_estimator, |
|
|
unsigned int * |
obj_count |
|
) |
| |
検出結果の数を取得します。
- 引数
-
pose_estimator | 検出オブジェクトポインタ |
obj_count | オブジェクト数 顔特徴点の場合は1または0となります。 |
- 戻り値
- 成功した場合は AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。
◆ ailiaPoseEstimatorGetObjectFace()
顔特徴点検出結果を取得します。
- 引数
-
pose_estimator | 検出オブジェクトポインタ |
obj | オブジェクト情報 |
obj_idx | オブジェクトインデックス 必ず 0 を指定してください。 |
version | AILIA_POSE_ESTIMATOR_OBJECT_FACE_VERSION |
- 戻り値
- 成功した場合は AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。
◆ ailiaPoseEstimatorGetObjectHand()
Hand 認識結果を取得します。
- 引数
-
pose_estimator | 検出オブジェクトポインタ |
obj | オブジェクト情報 |
obj_idx | オブジェクトインデックス 必ず 0 を指定してください。 |
version | AILIA_POSE_ESTIMATOR_OBJECT_HAND_VERSION |
- 戻り値
- 成功した場合は AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。
◆ ailiaPoseEstimatorGetObjectPose()
骨格検出結果を取得します。
- 引数
-
pose_estimator | 検出オブジェクトポインタ |
obj | オブジェクト情報 |
obj_idx | オブジェクトインデックス |
version | AILIA_POSE_ESTIMATOR_OBJECT_POSE_VERSION |
- 戻り値
- 成功した場合は AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。
◆ ailiaPoseEstimatorGetObjectUpPose()
UpPose 認識結果を取得します。
- 引数
-
pose_estimator | 検出オブジェクトポインタ |
obj | オブジェクト情報 |
obj_idx | オブジェクトインデックス |
version | AILIA_POSE_ESTIMATOR_OBJECT_POSE_VERSION |
- 戻り値
- 成功した場合は AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。
◆ ailiaPoseEstimatorSetThreshold()
int AILIA_API ailiaPoseEstimatorSetThreshold |
( |
struct AILIAPoseEstimator * |
pose_estimator, |
|
|
float |
threshold |
|
) |
| |
検出閾値を設定します。
- 引数
-
pose_estimator | 検出オブジェクトポインタ |
threshold | 検出閾値 0.0以上1.0以下の値で、値が小さいほど検出しやすくなります。 |
- 戻り値
- 成功した場合は AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。