yjh0410 2 жил өмнө
parent
commit
c38fd5537f

+ 21 - 0
config/__init__.py

@@ -32,6 +32,13 @@ from .data_config.transform_config import (
     yolox_huge_trans_config,
     # SSD-Style
     ssd_trans_config,
+    # YOLOvx-Style
+    yolovx_pico_trans_config,
+    yolovx_nano_trans_config,
+    yolovx_small_trans_config,
+    yolovx_medium_trans_config,
+    yolovx_large_trans_config,
+    yolovx_huge_trans_config,
 )
 
 def build_trans_config(trans_config='ssd'):
@@ -70,6 +77,20 @@ def build_trans_config(trans_config='ssd'):
     elif trans_config == 'yolox_huge':
         cfg = yolox_huge_trans_config
 
+    # YOLOvx-style transform 
+    elif trans_config == 'yolovx_pico':
+        cfg = yolovx_pico_trans_config
+    elif trans_config == 'yolovx_nano':
+        cfg = yolovx_nano_trans_config
+    elif trans_config == 'yolovx_small':
+        cfg = yolovx_small_trans_config
+    elif trans_config == 'yolovx_medium':
+        cfg = yolovx_medium_trans_config
+    elif trans_config == 'yolovx_large':
+        cfg = yolovx_large_trans_config
+    elif trans_config == 'yolovx_huge':
+        cfg = yolovx_huge_trans_config
+
     return cfg
 
 

+ 131 - 16
config/data_config/transform_config.py

@@ -117,6 +117,132 @@ yolov5_pico_trans_config = {
 
 # ----------------------- YOLOX-Style Transform -----------------------
 yolox_huge_trans_config = {
+    'aug_type': 'yolov5',
+    # Basic Augment
+    'degrees': 10.0,
+    'translate': 0.1,
+    'scale': 0.9,
+    'shear': 2.0,
+    'perspective': 0.0,
+    'hsv_h': 0.015,
+    'hsv_s': 0.7,
+    'hsv_v': 0.4,
+    # Mosaic & Mixup
+    'mosaic_prob': 1.0,
+    'mixup_prob': 1.0,
+    'mosaic_type': 'yolov5_mosaic',
+    'mixup_type': 'yolox_mixup',
+    'mixup_scale': [0.5, 1.5]
+}
+
+yolox_large_trans_config = {
+    'aug_type': 'yolov5',
+    # Basic Augment
+    'degrees': 10.0,
+    'translate': 0.1,
+    'scale': 0.9,
+    'shear': 2.0,
+    'perspective': 0.0,
+    'hsv_h': 0.015,
+    'hsv_s': 0.7,
+    'hsv_v': 0.4,
+    # Mosaic & Mixup
+    'mosaic_prob': 1.0,
+    'mixup_prob': 1.0,
+    'mosaic_type': 'yolov5_mosaic',
+    'mixup_type': 'yolox_mixup',
+    'mixup_scale': [0.5, 1.5]   # "mixup_scale" is not used for YOLOv5MixUp
+}
+
+yolox_medium_trans_config = {
+    'aug_type': 'yolov5',
+    # Basic Augment
+    'degrees': 10.0,
+    'translate': 0.1,
+    'scale': 0.9,
+    'shear': 2.0,
+    'perspective': 0.0,
+    'hsv_h': 0.015,
+    'hsv_s': 0.7,
+    'hsv_v': 0.4,
+    # Mosaic & Mixup
+    'mosaic_prob': 1.0,
+    'mixup_prob': 1.0,
+    'mosaic_type': 'yolov5_mosaic',
+    'mixup_type': 'yolox_mixup',
+    'mixup_scale': [0.5, 1.5]   # "mixup_scale" is not used for YOLOv5MixUp
+}
+
+yolox_small_trans_config = {
+    'aug_type': 'yolov5',
+    # Basic Augment
+    'degrees': 10.0,
+    'translate': 0.1,
+    'scale': 0.9,
+    'shear': 2.0,
+    'perspective': 0.0,
+    'hsv_h': 0.015,
+    'hsv_s': 0.7,
+    'hsv_v': 0.4,
+    # Mosaic & Mixup
+    'mosaic_prob': 1.0,
+    'mixup_prob': 1.0,
+    'mosaic_type': 'yolov5_mosaic',
+    'mixup_type': 'yolox_mixup',
+    'mixup_scale': [0.5, 1.5]   # "mixup_scale" is not used for YOLOv5MixUp
+}
+
+yolox_nano_trans_config = {
+    'aug_type': 'yolov5',
+    # Basic Augment
+    'degrees': 10.0,
+    'translate': 0.1,
+    'scale': 0.9,
+    'shear': 2.0,
+    'perspective': 0.0,
+    'hsv_h': 0.015,
+    'hsv_s': 0.7,
+    'hsv_v': 0.4,
+    # Mosaic & Mixup
+    'mosaic_prob': 1.0,
+    'mixup_prob': 0.0,
+    'mosaic_type': 'yolov5_mosaic',
+    'mixup_type': 'yolox_mixup',
+    'mixup_scale': [0.5, 1.5]   # "mixup_scale" is not used for YOLOv5MixUp
+}
+
+yolox_pico_trans_config = {
+    'aug_type': 'yolov5',
+    # Basic Augment
+    'degrees': 10.0,
+    'translate': 0.1,
+    'scale': 0.9,
+    'shear': 2.0,
+    'perspective': 0.0,
+    'hsv_h': 0.015,
+    'hsv_s': 0.7,
+    'hsv_v': 0.4,
+    # Mosaic & Mixup
+    'mosaic_prob': 0.5,
+    'mixup_prob': 0.0,
+    'mosaic_type': 'yolov5_mosaic',
+    'mixup_type': 'yolox_mixup',
+    'mixup_scale': [0.5, 1.5]   # "mixup_scale" is not used for YOLOv5MixUp
+}
+
+# ----------------------- SSD-Style Transform -----------------------
+ssd_trans_config = {
+    'aug_type': 'ssd',
+    # Mosaic & Mixup are not used for SSD-style augmentation
+    'mosaic_prob': 0.,
+    'mixup_prob': 0.,
+    'mosaic_type': 'yolov5_mosaic',
+    'mixup_type': 'yolov5_mixup',
+    'mixup_scale': [0.5, 1.5]
+}
+
+# ----------------------- YOLOX's Transform without Rotation -----------------------
+yolovx_huge_trans_config = {
     'aug_type': 'yolov5',
     # Basic Augment
     'degrees': 0.0,
@@ -135,7 +261,7 @@ yolox_huge_trans_config = {
     'mixup_scale': [0.5, 1.5]   # "mixup_scale" is not used for YOLOv5MixUp
 }
 
-yolox_large_trans_config = {
+yolovx_large_trans_config = {
     'aug_type': 'yolov5',
     # Basic Augment
     'degrees': 0.0,
@@ -154,7 +280,7 @@ yolox_large_trans_config = {
     'mixup_scale': [0.5, 1.5]   # "mixup_scale" is not used for YOLOv5MixUp
 }
 
-yolox_medium_trans_config = {
+yolovx_medium_trans_config = {
     'aug_type': 'yolov5',
     # Basic Augment
     'degrees': 0.0,
@@ -173,7 +299,7 @@ yolox_medium_trans_config = {
     'mixup_scale': [0.5, 1.5]   # "mixup_scale" is not used for YOLOv5MixUp
 }
 
-yolox_small_trans_config = {
+yolovx_small_trans_config = {
     'aug_type': 'yolov5',
     # Basic Augment
     'degrees': 0.0,
@@ -192,7 +318,7 @@ yolox_small_trans_config = {
     'mixup_scale': [0.5, 1.5]   # "mixup_scale" is not used for YOLOv5MixUp
 }
 
-yolox_nano_trans_config = {
+yolovx_nano_trans_config = {
     'aug_type': 'yolov5',
     # Basic Augment
     'degrees': 0.0,
@@ -211,7 +337,7 @@ yolox_nano_trans_config = {
     'mixup_scale': [0.5, 1.5]   # "mixup_scale" is not used for YOLOv5MixUp
 }
 
-yolox_pico_trans_config = {
+yolovx_pico_trans_config = {
     'aug_type': 'yolov5',
     # Basic Augment
     'degrees': 0.0,
@@ -229,14 +355,3 @@ yolox_pico_trans_config = {
     'mixup_type': 'yolox_mixup',
     'mixup_scale': [0.5, 1.5]   # "mixup_scale" is not used for YOLOv5MixUp
 }
-
-# ----------------------- SSD-Style Transform -----------------------
-ssd_trans_config = {
-    'aug_type': 'ssd',
-    # Mosaic & Mixup are not used for SSD-style augmentation
-    'mosaic_prob': 0.,
-    'mixup_prob': 0.,
-    'mosaic_type': 'yolov5_mosaic',
-    'mixup_type': 'yolov5_mixup',
-    'mixup_scale': [0.5, 1.5]
-}

+ 7 - 7
config/model_config/yolovx_config.py

@@ -41,7 +41,7 @@ yolovx_cfg = {
         # ---------------- Train config ----------------
         ## Input
         'multi_scale': [0.5, 1.25],   # 320 -> 800
-        'trans_type': 'yolox_pico',
+        'trans_type': 'yolovx_pico',
         # ---------------- Assignment config ----------------
         ## Matcher
         'matcher': {'center_sampling_radius': 2.5,
@@ -95,7 +95,7 @@ yolovx_cfg = {
         # ---------------- Train config ----------------
         ## Input
         'multi_scale': [0.5, 1.25],   # 320 -> 800
-        'trans_type': 'yolox_nano',
+        'trans_type': 'yolovx_nano',
         # ---------------- Assignment config ----------------
         ## Matcher
         'matcher': {'center_sampling_radius': 2.5,
@@ -149,7 +149,7 @@ yolovx_cfg = {
         # ---------------- Train config ----------------
         ## Input
         'multi_scale': [0.5, 1.25],   # 320 -> 800
-        'trans_type': 'yolox_nano',
+        'trans_type': 'yolovx_nano',
         # ---------------- Assignment config ----------------
         ## Matcher
         'matcher': {'center_sampling_radius': 2.5,
@@ -203,7 +203,7 @@ yolovx_cfg = {
         # ---------------- Train config ----------------
         ## Input
         'multi_scale': [0.5, 1.25],   # 320 -> 800
-        'trans_type': 'yolox_small',
+        'trans_type': 'yolovx_small',
         # ---------------- Assignment config ----------------
         ## Matcher
         'matcher': {'center_sampling_radius': 2.5,
@@ -257,7 +257,7 @@ yolovx_cfg = {
         # ---------------- Train config ----------------
         ## Input
         'multi_scale': [0.5, 1.25],   # 320 -> 800
-        'trans_type': 'yolox_medium',
+        'trans_type': 'yolovx_medium',
         # ---------------- Assignment config ----------------
         ## Matcher
         'matcher': {'center_sampling_radius': 2.5,
@@ -311,7 +311,7 @@ yolovx_cfg = {
         # ---------------- Train config ----------------
         ## Input
         'multi_scale': [0.5, 1.25],   # 320 -> 800
-        'trans_type': 'yolox_large',
+        'trans_type': 'yolovx_large',
         # ---------------- Assignment config ----------------
         ## Matcher
         'matcher': {'center_sampling_radius': 2.5,
@@ -365,7 +365,7 @@ yolovx_cfg = {
         # ---------------- Train config ----------------
         ## Input
         'multi_scale': [0.5, 1.25],   # 320 -> 800
-        'trans_type': 'yolox_huge',
+        'trans_type': 'yolovx_huge',
         # ---------------- Assignment config ----------------
         ## Matcher
         'matcher': {'center_sampling_radius': 2.5,