mv_inference_pose_landmark_detect
mv_inference_pose_get_number_of_poses
mv_inference_pose_get_number_of_landmarks
+mv_inference_pose_get_label
mv_inference_pose_get_landmark
mv_pose_create
mv_pose_destroy
-Hips,9
-Neck,1
-Head,0
-LeftUpArm,6
-LeftLowArm,7
-LeftHand,8
-RightUpArm,3
-RightLowArm,4
-RightHand,5
-LeftUpLeg,13
-LeftLowLeg,14
-LeftFoot,15
-RightUpLeg,10
-RightLowLeg,11
-RightFoot,12
+Hips,10
+Neck,2
+Head,1
+LeftUpArm,7
+LeftLowArm,8
+LeftHand,9
+RightUpArm,4
+RightLowArm,5
+RightHand,6
+LeftUpLeg,14
+LeftLowLeg,15
+LeftFoot,16
+RightUpLeg,11
+RightLowLeg,12
+RightFoot,13
extern void utc_capi_media_vision_inference_pose_landmark_detect_cb2_startup(void);
extern void utc_capi_media_vision_inference_pose_landmark_detect_cb3_startup(void);
extern void utc_capi_media_vision_inference_pose_landmark_detect_cb4_startup(void);
+extern void utc_capi_media_vision_inference_pose_landmark_detect_cb5_startup(void);
extern int utc_mediavision_mv_create_source_p(void);
extern int utc_mediavision_mv_create_source_n(void);
extern int utc_mediavision_mv_inference_get_number_of_poses_n(void);
extern int utc_mediavision_mv_inference_get_number_of_landmarks_p(void);
extern int utc_mediavision_mv_inference_get_number_of_landmarks_n(void);
+extern int utc_mediavision_mv_inference_get_label_p(void);
+extern int utc_mediavision_mv_inference_get_label_n(void);
extern int utc_mediavision_mv_inference_get_landmark_p(void);
extern int utc_mediavision_mv_inference_get_landmark_n(void);
extern int utc_mediavision_mv_pose_create_p(void);
{"utc_mediavision_mv_inference_pose_landmark_detect_n2", utc_mediavision_mv_inference_pose_landmark_detect_n2,utc_capi_media_vision_inference_startup2,utc_capi_media_vision_inference_cleanup2},
{"utc_mediavision_mv_inference_get_number_of_poses_p", utc_mediavision_mv_inference_get_number_of_poses_p,utc_capi_media_vision_inference_pose_landmark_detect_cb1_startup,utc_capi_media_vision_inference_cleanup2},
{"utc_mediavision_mv_inference_get_number_of_poses_n", utc_mediavision_mv_inference_get_number_of_poses_n,utc_capi_media_vision_inference_pose_landmark_detect_cb1_startup,utc_capi_media_vision_inference_cleanup2},
+ {"utc_mediavision_mv_inference_get_label_p", utc_mediavision_mv_inference_get_label_p,utc_capi_media_vision_inference_pose_landmark_detect_cb5_startup,utc_capi_media_vision_inference_cleanup2},
+ {"utc_mediavision_mv_inference_get_label_n", utc_mediavision_mv_inference_get_label_n,utc_capi_media_vision_inference_startup2,utc_capi_media_vision_inference_cleanup2},
{"utc_mediavision_mv_inference_get_number_of_landmarks_p", utc_mediavision_mv_inference_get_number_of_landmarks_p,utc_capi_media_vision_inference_pose_landmark_detect_cb2_startup,utc_capi_media_vision_inference_cleanup2},
{"utc_mediavision_mv_inference_get_number_of_landmarks_n", utc_mediavision_mv_inference_get_number_of_landmarks_n,utc_capi_media_vision_inference_pose_landmark_detect_cb2_startup,utc_capi_media_vision_inference_cleanup2},
{"utc_mediavision_mv_inference_get_landmark_p", utc_mediavision_mv_inference_get_landmark_p,utc_capi_media_vision_inference_pose_landmark_detect_cb3_startup,utc_capi_media_vision_inference_cleanup2},
extern void utc_capi_media_vision_inference_pose_landmark_detect_cb2_startup(void);
extern void utc_capi_media_vision_inference_pose_landmark_detect_cb3_startup(void);
extern void utc_capi_media_vision_inference_pose_landmark_detect_cb4_startup(void);
+extern void utc_capi_media_vision_inference_pose_landmark_detect_cb5_startup(void);
extern int utc_mediavision_mv_create_source_p(void);
extern int utc_mediavision_mv_create_source_n(void);
extern int utc_mediavision_mv_inference_get_number_of_poses_n(void);
extern int utc_mediavision_mv_inference_get_number_of_landmarks_p(void);
extern int utc_mediavision_mv_inference_get_number_of_landmarks_n(void);
+extern int utc_mediavision_mv_inference_get_label_p(void);
+extern int utc_mediavision_mv_inference_get_label_n(void);
extern int utc_mediavision_mv_inference_get_landmark_p(void);
extern int utc_mediavision_mv_inference_get_landmark_n(void);
extern int utc_mediavision_mv_pose_create_p(void);
{"utc_mediavision_mv_inference_pose_landmark_detect_n2", utc_mediavision_mv_inference_pose_landmark_detect_n2,utc_capi_media_vision_inference_startup2,utc_capi_media_vision_inference_cleanup2},
{"utc_mediavision_mv_inference_get_number_of_poses_p", utc_mediavision_mv_inference_get_number_of_poses_p,utc_capi_media_vision_inference_pose_landmark_detect_cb1_startup,utc_capi_media_vision_inference_cleanup2},
{"utc_mediavision_mv_inference_get_number_of_poses_n", utc_mediavision_mv_inference_get_number_of_poses_n,utc_capi_media_vision_inference_pose_landmark_detect_cb1_startup,utc_capi_media_vision_inference_cleanup2},
+ {"utc_mediavision_mv_inference_get_label_p", utc_mediavision_mv_inference_get_label_p,utc_capi_media_vision_inference_pose_landmark_detect_cb5_startup,utc_capi_media_vision_inference_cleanup2},
+ {"utc_mediavision_mv_inference_get_label_n", utc_mediavision_mv_inference_get_label_n,utc_capi_media_vision_inference_startup2,utc_capi_media_vision_inference_cleanup2},
{"utc_mediavision_mv_inference_get_number_of_landmarks_p", utc_mediavision_mv_inference_get_number_of_landmarks_p,utc_capi_media_vision_inference_pose_landmark_detect_cb2_startup,utc_capi_media_vision_inference_cleanup2},
{"utc_mediavision_mv_inference_get_number_of_landmarks_n", utc_mediavision_mv_inference_get_number_of_landmarks_n,utc_capi_media_vision_inference_pose_landmark_detect_cb2_startup,utc_capi_media_vision_inference_cleanup2},
{"utc_mediavision_mv_inference_get_landmark_p", utc_mediavision_mv_inference_get_landmark_p,utc_capi_media_vision_inference_pose_landmark_detect_cb3_startup,utc_capi_media_vision_inference_cleanup2},
{NULL, NULL}
};
+
#endif // __TCT_CAPI-MEDIA-VISION-NATIVE_H__
extern void utc_capi_media_vision_inference_pose_landmark_detect_cb2_startup(void);
extern void utc_capi_media_vision_inference_pose_landmark_detect_cb3_startup(void);
extern void utc_capi_media_vision_inference_pose_landmark_detect_cb4_startup(void);
+extern void utc_capi_media_vision_inference_pose_landmark_detect_cb5_startup(void);
extern int utc_mediavision_mv_create_source_p(void);
extern int utc_mediavision_mv_create_source_n(void);
extern int utc_mediavision_mv_inference_get_number_of_poses_n(void);
extern int utc_mediavision_mv_inference_get_number_of_landmarks_p(void);
extern int utc_mediavision_mv_inference_get_number_of_landmarks_n(void);
+extern int utc_mediavision_mv_inference_get_label_p(void);
+extern int utc_mediavision_mv_inference_get_label_n(void);
extern int utc_mediavision_mv_inference_get_landmark_p(void);
extern int utc_mediavision_mv_inference_get_landmark_n(void);
extern int utc_mediavision_mv_pose_create_p(void);
{"utc_mediavision_mv_inference_pose_landmark_detect_n2", utc_mediavision_mv_inference_pose_landmark_detect_n2,utc_capi_media_vision_inference_startup2,utc_capi_media_vision_inference_cleanup2},
{"utc_mediavision_mv_inference_get_number_of_poses_p", utc_mediavision_mv_inference_get_number_of_poses_p,utc_capi_media_vision_inference_pose_landmark_detect_cb1_startup,utc_capi_media_vision_inference_cleanup2},
{"utc_mediavision_mv_inference_get_number_of_poses_n", utc_mediavision_mv_inference_get_number_of_poses_n,utc_capi_media_vision_inference_pose_landmark_detect_cb1_startup,utc_capi_media_vision_inference_cleanup2},
+ {"utc_mediavision_mv_inference_get_label_p", utc_mediavision_mv_inference_get_label_p,utc_capi_media_vision_inference_pose_landmark_detect_cb5_startup,utc_capi_media_vision_inference_cleanup2},
+ {"utc_mediavision_mv_inference_get_label_n", utc_mediavision_mv_inference_get_label_n,utc_capi_media_vision_inference_startup2,utc_capi_media_vision_inference_cleanup2},
{"utc_mediavision_mv_inference_get_number_of_landmarks_p", utc_mediavision_mv_inference_get_number_of_landmarks_p,utc_capi_media_vision_inference_pose_landmark_detect_cb2_startup,utc_capi_media_vision_inference_cleanup2},
{"utc_mediavision_mv_inference_get_number_of_landmarks_n", utc_mediavision_mv_inference_get_number_of_landmarks_n,utc_capi_media_vision_inference_pose_landmark_detect_cb2_startup,utc_capi_media_vision_inference_cleanup2},
{"utc_mediavision_mv_inference_get_landmark_p", utc_mediavision_mv_inference_get_landmark_p,utc_capi_media_vision_inference_pose_landmark_detect_cb3_startup,utc_capi_media_vision_inference_cleanup2},
extern void utc_capi_media_vision_inference_pose_landmark_detect_cb2_startup(void);
extern void utc_capi_media_vision_inference_pose_landmark_detect_cb3_startup(void);
extern void utc_capi_media_vision_inference_pose_landmark_detect_cb4_startup(void);
+extern void utc_capi_media_vision_inference_pose_landmark_detect_cb5_startup(void);
extern int utc_mediavision_mv_create_source_p(void);
extern int utc_mediavision_mv_create_source_n(void);
extern int utc_mediavision_mv_inference_get_number_of_poses_n(void);
extern int utc_mediavision_mv_inference_get_number_of_landmarks_p(void);
extern int utc_mediavision_mv_inference_get_number_of_landmarks_n(void);
+extern int utc_mediavision_mv_inference_get_label_p(void);
+extern int utc_mediavision_mv_inference_get_label_n(void);
extern int utc_mediavision_mv_inference_get_landmark_p(void);
extern int utc_mediavision_mv_inference_get_landmark_n(void);
extern int utc_mediavision_mv_pose_create_p(void);
{"utc_mediavision_mv_inference_pose_landmark_detect_n2", utc_mediavision_mv_inference_pose_landmark_detect_n2,utc_capi_media_vision_inference_startup2,utc_capi_media_vision_inference_cleanup2},
{"utc_mediavision_mv_inference_get_number_of_poses_p", utc_mediavision_mv_inference_get_number_of_poses_p,utc_capi_media_vision_inference_pose_landmark_detect_cb1_startup,utc_capi_media_vision_inference_cleanup2},
{"utc_mediavision_mv_inference_get_number_of_poses_n", utc_mediavision_mv_inference_get_number_of_poses_n,utc_capi_media_vision_inference_pose_landmark_detect_cb1_startup,utc_capi_media_vision_inference_cleanup2},
+ {"utc_mediavision_mv_inference_get_label_p", utc_mediavision_mv_inference_get_label_p,utc_capi_media_vision_inference_pose_landmark_detect_cb5_startup,utc_capi_media_vision_inference_cleanup2},
+ {"utc_mediavision_mv_inference_get_label_n", utc_mediavision_mv_inference_get_label_n,utc_capi_media_vision_inference_startup2,utc_capi_media_vision_inference_cleanup2},
{"utc_mediavision_mv_inference_get_number_of_landmarks_p", utc_mediavision_mv_inference_get_number_of_landmarks_p,utc_capi_media_vision_inference_pose_landmark_detect_cb2_startup,utc_capi_media_vision_inference_cleanup2},
{"utc_mediavision_mv_inference_get_number_of_landmarks_n", utc_mediavision_mv_inference_get_number_of_landmarks_n,utc_capi_media_vision_inference_pose_landmark_detect_cb2_startup,utc_capi_media_vision_inference_cleanup2},
{"utc_mediavision_mv_inference_get_landmark_p", utc_mediavision_mv_inference_get_landmark_p,utc_capi_media_vision_inference_pose_landmark_detect_cb3_startup,utc_capi_media_vision_inference_cleanup2},
{NULL, NULL}
};
+
#endif // __TCT_CAPI-MEDIA-VISION-NATIVE_H__
static int gPldResultErr;
static int gPldResultNumberOfPoses;
static int gPldResultNumberOfLandmarks;
+static int gPldResultLabel;
static float gPoseCompareScore;
#define IC_MODEL_FILENAME "ic_tflite_model.tflite"
static void _pld_detected_cb(mv_source_h source,
mv_inference_pose_result_h locations,
- int label,
void *user_data)
{
gIsPoseLandmarkDetectCallBackInvoked = true;
static void get_pose_landmark_detection_result_cb1(mv_source_h source,
mv_inference_pose_result_h result,
- int label,
void *user_data)
{
printf("Inside get_pose_landmark_detection_result_cb1\n");
static void get_pose_landmark_detection_result_cb2(mv_source_h source,
mv_inference_pose_result_h result,
- int label,
void *user_data)
{
printf("Inside get_pose_landmark_detection_result_cb2\n");
static void get_pose_landmark_detection_result_cb3(mv_source_h source,
mv_inference_pose_result_h result,
- int label,
void *user_data)
{
printf("Inside get_pose_landmark_detection_result_cb3\n");
return 0;
}
+static void get_pose_landmark_detection_result_cb5(mv_source_h source,
+ mv_inference_pose_result_h result,
+ void *user_data)
+{
+ printf("Inside get_pose_landmark_detection_result_cb5\n");
+ gIsPoseLandmarkDetectCallBackInvoked = true;
+
+ gPldResultErr = mv_inference_pose_get_number_of_poses(result, &gPldResultNumberOfPoses);
+ if (gPldResultErr != MEDIA_VISION_ERROR_NONE)
+ return;
+
+ if (gPldResultNumberOfPoses <= 0)
+ return;
+
+ gPldResultErr = mv_inference_pose_get_label(result, 0, &gPldResultLabel);
+ printf("Before retrun get_pose_landmark_detection_result_cb5\n");
+}
+
+/**
+ * @function utc_mediavision_mv_inference_pose_landmark_detect_cb5_startup
+ * @description Inference module UTC startup code for mv_inference_pose_get_label()
+ * @parameter NA
+ * @return NA
+ */
+void utc_capi_media_vision_inference_pose_landmark_detect_cb5_startup(void)
+{
+ printf("Inside utc_mediavision_mv_inference_pose_landmark_detect_cb5_startup\n");
+ utc_capi_media_vision_inference_startup2();
+
+ if (gStartupError != MEDIA_VISION_ERROR_NONE)
+ return;
+
+ char imageFilename[FILE_PATH_SIZE];
+ int ret = set_pose_landmark_detection_engine_config(gEngineConfigHandle);
+ if (ret != MEDIA_VISION_ERROR_NONE) {
+ printf("set_pose_landmark_detection_engine_config is failed\n");
+ return;
+ }
+
+ ret = mv_inference_configure(gInferenceHandle, gEngineConfigHandle);
+ if (ret != MEDIA_VISION_ERROR_NONE) {
+ printf("mv_inference_configure is failed\n");
+ return;
+ }
+
+ ret = mv_inference_prepare(gInferenceHandle);
+ if (ret != MEDIA_VISION_ERROR_NONE) {
+ printf("mv_inference_prepare is failed\n");
+ return;
+ }
+
+ snprintf(imageFilename, FILE_PATH_SIZE, "%s/images/%s", gInferenceExampleDir, "poseLandmark.jpg");
+ ret = load_image_to_media_source(imageFilename, gSourceHandle);
+ if (ret != MEDIA_VISION_ERROR_NONE) {
+ printf("load_image_to_media_source is failed\n");
+ return;
+ }
+
+ ret = mv_inference_pose_landmark_detect(gSourceHandle,
+ gInferenceHandle,
+ NULL,
+ get_pose_landmark_detection_result_cb5,
+ NULL);
+ if (ret != MEDIA_VISION_ERROR_NONE) {
+ printf("mv_inference_pose_landmark_detect is failed\n");
+ return;
+ }
+
+ printf("Before return utc_mediavision_mv_inference_pose_landmark_detect_cb5_startup\n");
+}
+
+/**
+ * @brief Positive test case of mv_inference_get_label()
+ * @testcase utc_mediavision_mv_inference_pose_get_label_p
+ * @since_tizen 6.0
+ * @description Get the label from a detected result
+ */
+int utc_mediavision_mv_inference_get_label_p(void)
+{
+ printf("Inside mv_inference_pose_get_label_p\n");
+
+ if (!isVisionSupported) {
+ assert_eq(gStartupError, MEDIA_VISION_ERROR_NOT_SUPPORTED);
+ return 0;
+ }
+
+ assert_eq(true, gIsPoseLandmarkDetectCallBackInvoked);
+ assert_eq(MEDIA_VISION_ERROR_NONE, gPldResultErr);
+ assert_gt(gPldResultNumberOfPoses, 0);
+ assert_lt(gPldResultLabel, 0);
+
+ printf("Before return mv_inference_pose_get_label_p\n");
+ return 0;
+}
+
+/**
+ * @brief Positive test case of mv_inference_get_label()
+ * @testcase utc_mediavision_mv_inference_pose_get_label_n
+ * @since_tizen 6.0
+ * @description Get the label from a detected result,
+ * but fail because handle is NULL
+ */
+int utc_mediavision_mv_inference_get_label_n(void)
+{
+ printf("Inside mv_inference_pose_get_label_n\n");
+
+ if (!isVisionSupported) {
+ assert_eq(gStartupError, MEDIA_VISION_ERROR_NOT_SUPPORTED);
+ return 0;
+ }
+
+ // handle is NULL
+ int ret = mv_inference_pose_get_label(NULL, 0, &gPldResultLabel);
+ assert_eq(MEDIA_VISION_ERROR_INVALID_PARAMETER, ret);
+
+ printf("Before return mv_inference_pose_get_label_nn");
+ return 0;
+}
+
/**
* @brief Positive test case of mv_pose_create_p()
* @testcase utc_mediavision_mv_pose_create_p
static void get_pose_landmark_detection_result_cb4(mv_source_h source,
mv_inference_pose_result_h result,
- int label,
void *user_data)
{
printf("Inside get_pose_landmark_detection_result_cb4\n");