14 #if !defined(INCLUDED_AILIA_POSE_ESTIMATOR)
15 #define INCLUDED_AILIA_POSE_ESTIMATOR
32 struct AILIAPoseEstimator;
45 #define AILIA_POSE_ESTIMATOR_ALGORITHM_ACCULUS_POSE (0)
53 #define AILIA_POSE_ESTIMATOR_ALGORITHM_ACCULUS_FACE (1)
61 #define AILIA_POSE_ESTIMATOR_ALGORITHM_ACCULUS_UPPOSE (2)
69 #define AILIA_POSE_ESTIMATOR_ALGORITHM_ACCULUS_UPPOSE_FPGA (3)
77 #define AILIA_POSE_ESTIMATOR_ALGORITHM_ACCULUS_HAND (5)
85 #define AILIA_POSE_ESTIMATOR_ALGORITHM_OPEN_POSE (10)
93 #define AILIA_POSE_ESTIMATOR_ALGORITHM_LW_HUMAN_POSE (11)
101 #define AILIA_POSE_ESTIMATOR_ALGORITHM_OPEN_POSE_SINGLE_SCALE (12)
104 #define AILIA_POSE_ESTIMATOR_POSE_KEYPOINT_NOSE (0)
105 #define AILIA_POSE_ESTIMATOR_POSE_KEYPOINT_EYE_LEFT (1)
106 #define AILIA_POSE_ESTIMATOR_POSE_KEYPOINT_EYE_RIGHT (2)
107 #define AILIA_POSE_ESTIMATOR_POSE_KEYPOINT_EAR_LEFT (3)
108 #define AILIA_POSE_ESTIMATOR_POSE_KEYPOINT_EAR_RIGHT (4)
109 #define AILIA_POSE_ESTIMATOR_POSE_KEYPOINT_SHOULDER_LEFT (5)
110 #define AILIA_POSE_ESTIMATOR_POSE_KEYPOINT_SHOULDER_RIGHT (6)
111 #define AILIA_POSE_ESTIMATOR_POSE_KEYPOINT_ELBOW_LEFT (7)
112 #define AILIA_POSE_ESTIMATOR_POSE_KEYPOINT_ELBOW_RIGHT (8)
113 #define AILIA_POSE_ESTIMATOR_POSE_KEYPOINT_WRIST_LEFT (9)
114 #define AILIA_POSE_ESTIMATOR_POSE_KEYPOINT_WRIST_RIGHT (10)
115 #define AILIA_POSE_ESTIMATOR_POSE_KEYPOINT_HIP_LEFT (11)
116 #define AILIA_POSE_ESTIMATOR_POSE_KEYPOINT_HIP_RIGHT (12)
117 #define AILIA_POSE_ESTIMATOR_POSE_KEYPOINT_KNEE_LEFT (13)
118 #define AILIA_POSE_ESTIMATOR_POSE_KEYPOINT_KNEE_RIGHT (14)
119 #define AILIA_POSE_ESTIMATOR_POSE_KEYPOINT_ANKLE_LEFT (15)
120 #define AILIA_POSE_ESTIMATOR_POSE_KEYPOINT_ANKLE_RIGHT (16)
121 #define AILIA_POSE_ESTIMATOR_POSE_KEYPOINT_SHOULDER_CENTER (17)
122 #define AILIA_POSE_ESTIMATOR_POSE_KEYPOINT_BODY_CENTER (18)
130 #define AILIA_POSE_ESTIMATOR_POSE_KEYPOINT_CNT (19)
140 #define AILIA_POSE_ESTIMATOR_FACE_KEYPOINT_CNT (68)
143 #define AILIA_POSE_ESTIMATOR_UPPOSE_KEYPOINT_NOSE (0)
144 #define AILIA_POSE_ESTIMATOR_UPPOSE_KEYPOINT_EYE_LEFT (1)
145 #define AILIA_POSE_ESTIMATOR_UPPOSE_KEYPOINT_EYE_RIGHT (2)
146 #define AILIA_POSE_ESTIMATOR_UPPOSE_KEYPOINT_EAR_LEFT (3)
147 #define AILIA_POSE_ESTIMATOR_UPPOSE_KEYPOINT_EAR_RIGHT (4)
148 #define AILIA_POSE_ESTIMATOR_UPPOSE_KEYPOINT_SHOULDER_LEFT (5)
149 #define AILIA_POSE_ESTIMATOR_UPPOSE_KEYPOINT_SHOULDER_RIGHT (6)
150 #define AILIA_POSE_ESTIMATOR_UPPOSE_KEYPOINT_ELBOW_LEFT (7)
151 #define AILIA_POSE_ESTIMATOR_UPPOSE_KEYPOINT_ELBOW_RIGHT (8)
152 #define AILIA_POSE_ESTIMATOR_UPPOSE_KEYPOINT_WRIST_LEFT (9)
153 #define AILIA_POSE_ESTIMATOR_UPPOSE_KEYPOINT_WRIST_RIGHT (10)
154 #define AILIA_POSE_ESTIMATOR_UPPOSE_KEYPOINT_HIP_LEFT (11)
155 #define AILIA_POSE_ESTIMATOR_UPPOSE_KEYPOINT_HIP_RIGHT (12)
156 #define AILIA_POSE_ESTIMATOR_UPPOSE_KEYPOINT_SHOULDER_CENTER (13)
157 #define AILIA_POSE_ESTIMATOR_UPPOSE_KEYPOINT_BODY_CENTER (14)
165 #define AILIA_POSE_ESTIMATOR_UPPOSE_KEYPOINT_CNT (15)
175 #define AILIA_POSE_ESTIMATOR_HAND_KEYPOINT_CNT (21)
230 #define AILIA_POSE_ESTIMATOR_OBJECT_POSE_VERSION (1)
283 #define AILIA_POSE_ESTIMATOR_OBJECT_FACE_VERSION (1)
310 #define AILIA_POSE_ESTIMATOR_OBJECT_UPPOSE_VERSION (1)
363 #define AILIA_POSE_ESTIMATOR_OBJECT_HAND_VERSION (1)
462 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);
#define AILIA_API
Definition: ailia.h:28
#define AILIA_POSE_ESTIMATOR_FACE_KEYPOINT_CNT
Definition: ailia_pose_estimator.h:140
int AILIA_API ailiaPoseEstimatorSetThreshold(struct AILIAPoseEstimator *pose_estimator, float threshold)
Set the detection threshold.
int AILIA_API ailiaPoseEstimatorGetObjectCount(struct AILIAPoseEstimator *pose_estimator, unsigned int *obj_count)
Gets the number of detection results.
struct _AILIAPoseEstimatorKeypoint AILIAPoseEstimatorKeypoint
#define AILIA_POSE_ESTIMATOR_POSE_KEYPOINT_CNT
Definition: ailia_pose_estimator.h:130
#define AILIA_POSE_ESTIMATOR_HAND_KEYPOINT_CNT
Definition: ailia_pose_estimator.h:175
#define AILIA_POSE_ESTIMATOR_UPPOSE_KEYPOINT_CNT
Definition: ailia_pose_estimator.h:165
int AILIA_API ailiaPoseEstimatorGetObjectUpPose(struct AILIAPoseEstimator *pose_estimator, AILIAPoseEstimatorObjectUpPose *obj, unsigned int obj_idx, unsigned int version)
Gets the results of the human up pose estimation.
int AILIA_API ailiaCreatePoseEstimator(struct AILIAPoseEstimator **pose_estimator, struct AILIANetwork *net, unsigned int algorithm)
Creates a estimator instance.
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)
Performs human pose estimation and human face landmarks extraction.
int AILIA_API ailiaPoseEstimatorGetObjectFace(struct AILIAPoseEstimator *pose_estimator, AILIAPoseEstimatorObjectFace *obj, unsigned int obj_idx, unsigned int version)
Gets the results of the human face landmarks extraction.
struct _AILIAPoseEstimatorObjectUpPose AILIAPoseEstimatorObjectUpPose
int AILIA_API ailiaPoseEstimatorGetObjectPose(struct AILIAPoseEstimator *pose_estimator, AILIAPoseEstimatorObjectPose *obj, unsigned int obj_idx, unsigned int version)
Gets the results of the human pose estimation.
struct _AILIAPoseEstimatorObjectPose AILIAPoseEstimatorObjectPose
int AILIA_API ailiaPoseEstimatorGetObjectHand(struct AILIAPoseEstimator *pose_estimator, AILIAPoseEstimatorObjectHand *obj, unsigned int obj_idx, unsigned int version)
Gets the results of the human hand estimation.
struct _AILIAPoseEstimatorObjectFace AILIAPoseEstimatorObjectFace
void AILIA_API ailiaDestroyPoseEstimator(struct AILIAPoseEstimator *pose_estimator)
Destroys the estimator instance.
struct _AILIAPoseEstimatorObjectHand AILIAPoseEstimatorObjectHand
Definition: ailia_pose_estimator.h:177
float score
Definition: ailia_pose_estimator.h:211
int interpolated
Definition: ailia_pose_estimator.h:220
float z_local
Definition: ailia_pose_estimator.h:202
float y
Definition: ailia_pose_estimator.h:193
float x
Definition: ailia_pose_estimator.h:185
Definition: ailia_pose_estimator.h:284
float total_score
Definition: ailia_pose_estimator.h:300
AILIAPoseEstimatorKeypoint points[AILIA_POSE_ESTIMATOR_FACE_KEYPOINT_CNT]
Definition: ailia_pose_estimator.h:292
Definition: ailia_pose_estimator.h:364
float total_score
Definition: ailia_pose_estimator.h:380
AILIAPoseEstimatorKeypoint points[AILIA_POSE_ESTIMATOR_HAND_KEYPOINT_CNT]
Definition: ailia_pose_estimator.h:372
Definition: ailia_pose_estimator.h:231
AILIAPoseEstimatorKeypoint points[AILIA_POSE_ESTIMATOR_POSE_KEYPOINT_CNT]
Definition: ailia_pose_estimator.h:239
float angle[3]
Definition: ailia_pose_estimator.h:273
int id
Definition: ailia_pose_estimator.h:263
int num_valid_points
Definition: ailia_pose_estimator.h:255
float total_score
Definition: ailia_pose_estimator.h:247
Definition: ailia_pose_estimator.h:311
int id
Definition: ailia_pose_estimator.h:343
float total_score
Definition: ailia_pose_estimator.h:327
int num_valid_points
Definition: ailia_pose_estimator.h:335
float angle[3]
Definition: ailia_pose_estimator.h:353
AILIAPoseEstimatorKeypoint points[AILIA_POSE_ESTIMATOR_UPPOSE_KEYPOINT_CNT]
Definition: ailia_pose_estimator.h:319