From 2262514f8fd5fc27d6a727a1a86eee7cd3c26f58 Mon Sep 17 00:00:00 2001
From: computervisiondeveloper <github@felipetambasco.com>
Date: Wed, 25 Jan 2023 11:57:27 -0300
Subject: [PATCH] Edit data creation to improve robustness.

---
 create_dataset.py       | 15 +++++++++++++--
 inference_classifier.py |  9 +++++++--
 2 files changed, 20 insertions(+), 4 deletions(-)

diff --git a/create_dataset.py b/create_dataset.py
index 8437abc..cf3aebd 100644
--- a/create_dataset.py
+++ b/create_dataset.py
@@ -19,6 +19,10 @@ labels = []
 for dir_ in os.listdir(DATA_DIR):
     for img_path in os.listdir(os.path.join(DATA_DIR, dir_)):
         data_aux = []
+
+        x_ = []
+        y_ = []
+
         img = cv2.imread(os.path.join(DATA_DIR, dir_, img_path))
         img_rgb = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
 
@@ -28,8 +32,15 @@ for dir_ in os.listdir(DATA_DIR):
                 for i in range(len(hand_landmarks.landmark)):
                     x = hand_landmarks.landmark[i].x
                     y = hand_landmarks.landmark[i].y
-                    data_aux.append(x)
-                    data_aux.append(y)
+
+                    x_.append(x)
+                    y_.append(y)
+
+                for i in range(len(hand_landmarks.landmark)):
+                    x = hand_landmarks.landmark[i].x
+                    y = hand_landmarks.landmark[i].y
+                    data_aux.append(x - min(x_))
+                    data_aux.append(y - min(y_))
 
             data.append(data_aux)
             labels.append(dir_)
diff --git a/inference_classifier.py b/inference_classifier.py
index b876853..ce32236 100644
--- a/inference_classifier.py
+++ b/inference_classifier.py
@@ -42,11 +42,16 @@ while True:
             for i in range(len(hand_landmarks.landmark)):
                 x = hand_landmarks.landmark[i].x
                 y = hand_landmarks.landmark[i].y
-                data_aux.append(x)
-                data_aux.append(y)
+
                 x_.append(x)
                 y_.append(y)
 
+            for i in range(len(hand_landmarks.landmark)):
+                x = hand_landmarks.landmark[i].x
+                y = hand_landmarks.landmark[i].y
+                data_aux.append(x - min(x_))
+                data_aux.append(y - min(y_))
+
         x1 = int(min(x_) * W) - 10
         y1 = int(min(y_) * H) - 10
 
-- 
GitLab