mv_machine_learning: face_iris: add face and eye position sandbox/inki.dae/open_lab_demo
authorInki Dae <inki.dae@samsung.com>
Tue, 20 Dec 2022 23:08:16 +0000 (08:08 +0900)
committerInki Dae <inki.dae@samsung.com>
Tue, 20 Dec 2022 23:08:16 +0000 (08:08 +0900)
Change-Id: I0dd0655917f3e5bf8e5dcdd57675bfee6213c205
Signed-off-by: Inki Dae <inki.dae@samsung.com>
include/mv_face_iris_type_internal.h
mv_machine_learning/face_iris/include/face_iris_type.h
mv_machine_learning/face_iris/src/mv_face_iris_open.cpp

index 5691157bdaff701baefa5840b573c3903b3e3651..54c316be45fb7ba498abf96fae92dea59c6795b4 100644 (file)
@@ -74,6 +74,10 @@ typedef struct {
     fvec3 joint[FACE_KEY_NUM];
     eye_region_t    eye_rgn[2];
     fvec2           eye_pos[2][4];
+       unsigned int input_image_absolute_x;
+       unsigned int input_image_absolute_y;
+       unsigned int input_image_w;
+       unsigned int input_image_h;
 } face_landmark_result_s;
 
 typedef struct {
@@ -84,6 +88,10 @@ typedef struct {
        unsigned int input_tensor_height;
        float scale_w;
        float scale_h;
+       unsigned int input_image_absolute_x;
+       unsigned int input_image_absolute_y;
+       unsigned int input_image_w;
+       unsigned int input_image_h;
 } face_iris_result_s;
 
 typedef struct {
index eabdb902e6ad5c35c785273d0060f1e3b08f3185..9406a6d716fafccfea28f1df8a81228075a179a7 100644 (file)
@@ -103,6 +103,10 @@ struct face_landmark_result_s {
     fvec3 joint[FACE_KEY_NUM];
     eye_region_t    eye_rgn[2];
     fvec2           eye_pos[2][4];
+       unsigned int input_image_absolute_x;
+       unsigned int input_image_absolute_y;
+       unsigned int input_image_w;
+       unsigned int input_image_h;
 };
 
 struct face_iris_result_s {
@@ -113,6 +117,10 @@ struct face_iris_result_s {
        unsigned int input_tensor_height;
        float scale_w;
        float scale_h;
+       unsigned int input_image_absolute_x;
+       unsigned int input_image_absolute_y;
+       unsigned int input_image_w;
+       unsigned int input_image_h;
 };
 
 struct face_iris_s {
index 3f75c75f3ae6ea49f4a6a0694fa578c7804d7f5e..b5c1d07a960009f0a7dbdfd102651a422c86751e 100644 (file)
@@ -300,6 +300,10 @@ int mv_face_iris_inference_open(mv_face_iris_h handle, mv_source_h source)
                        landmark_task->perform();
 
                        face_landmark_result_s &landmark_result = landmark_task->getOutput();
+                       landmark_result.input_image_absolute_x = face_x[face_id];
+                       landmark_result.input_image_absolute_y = face_y[face_id];
+                       landmark_result.input_image_w = face_w[face_id];
+                       landmark_result.input_image_h = face_h[face_id];
                        g_iris_result.landmark[face_id] = landmark_result;
                }
 
@@ -372,6 +376,10 @@ int mv_face_iris_inference_open(mv_face_iris_h handle, mv_source_h source)
                                iris_result.input_tensor_height = 64;
                                iris_result.scale_w = eye_w / 64.0f;
                                iris_result.scale_h = eye_h / 64.0f;
+                               iris_result.input_image_absolute_x = face_x[face_id] + eye_x;
+                               iris_result.input_image_absolute_y = face_y[face_id] + eye_y;
+                               iris_result.input_image_w = eye_w;
+                               iris_result.input_image_h = eye_h;
                                g_iris_result.iris[face_id][eye_id] = iris_result;
                        }
                }