transform_config.py 8.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322
  1. # Transform config
  2. # ----------------------- YOLOv5-Style Transform -----------------------
  3. yolov5_x_trans_config = {
  4. 'aug_type': 'yolov5',
  5. 'use_ablu': True,
  6. # Basic Augment
  7. 'affine_params': {
  8. 'degrees': 0.0,
  9. 'translate': 0.2,
  10. 'scale': [0.1, 2.0],
  11. 'shear': 0.0,
  12. 'perspective': 0.0,
  13. 'hsv_h': 0.015,
  14. 'hsv_s': 0.7,
  15. 'hsv_v': 0.4,
  16. },
  17. # Mosaic & Mixup
  18. 'mosaic_keep_ratio': True,
  19. 'mosaic_prob': 1.0,
  20. 'mixup_prob': 0.2,
  21. 'mosaic_type': 'yolov5',
  22. 'mixup_type': 'yolov5',
  23. 'mixup_scale': [0.5, 1.5] # "mixup_scale" is not used for YOLOv5MixUp, just for YOLOXMixup
  24. }
  25. yolov5_l_trans_config = {
  26. 'aug_type': 'yolov5',
  27. 'use_ablu': True,
  28. # Basic Augment
  29. 'affine_params': {
  30. 'degrees': 0.0,
  31. 'translate': 0.2,
  32. 'scale': [0.1, 2.0],
  33. 'shear': 0.0,
  34. 'perspective': 0.0,
  35. 'hsv_h': 0.015,
  36. 'hsv_s': 0.7,
  37. 'hsv_v': 0.4,
  38. },
  39. # Mosaic & Mixup
  40. 'mosaic_keep_ratio': True,
  41. 'mosaic_prob': 1.0,
  42. 'mixup_prob': 0.15,
  43. 'mosaic_type': 'yolov5',
  44. 'mixup_type': 'yolov5',
  45. 'mixup_scale': [0.5, 1.5] # "mixup_scale" is not used for YOLOv5MixUp, just for YOLOXMixup
  46. }
  47. yolov5_m_trans_config = {
  48. 'aug_type': 'yolov5',
  49. 'use_ablu': True,
  50. # Basic Augment
  51. 'affine_params': {
  52. 'degrees': 0.0,
  53. 'translate': 0.2,
  54. 'scale': [0.1, 2.0],
  55. 'shear': 0.0,
  56. 'perspective': 0.0,
  57. 'hsv_h': 0.015,
  58. 'hsv_s': 0.7,
  59. 'hsv_v': 0.4,
  60. },
  61. # Mosaic & Mixup
  62. 'mosaic_keep_ratio': True,
  63. 'mosaic_prob': 1.0,
  64. 'mixup_prob': 0.10,
  65. 'mosaic_type': 'yolov5',
  66. 'mixup_type': 'yolov5',
  67. 'mixup_scale': [0.5, 1.5] # "mixup_scale" is not used for YOLOv5MixUp, just for YOLOXMixup
  68. }
  69. yolov5_s_trans_config = {
  70. 'aug_type': 'yolov5',
  71. 'use_ablu': True,
  72. # Basic Augment
  73. 'affine_params': {
  74. 'degrees': 0.0,
  75. 'translate': 0.2,
  76. 'scale': [0.1, 2.0],
  77. 'shear': 0.0,
  78. 'perspective': 0.0,
  79. 'hsv_h': 0.015,
  80. 'hsv_s': 0.7,
  81. 'hsv_v': 0.4,
  82. },
  83. # Mosaic & Mixup
  84. 'mosaic_keep_ratio': True,
  85. 'mosaic_prob': 1.0,
  86. 'mixup_prob': 0.0,
  87. 'mosaic_type': 'yolov5',
  88. 'mixup_type': 'yolov5',
  89. 'mixup_scale': [0.5, 1.5] # "mixup_scale" is not used for YOLOv5MixUp, just for YOLOXMixup
  90. }
  91. yolov5_n_trans_config = {
  92. 'aug_type': 'yolov5',
  93. 'use_ablu': True,
  94. # Basic Augment
  95. 'affine_params': {
  96. 'degrees': 0.0,
  97. 'translate': 0.1,
  98. 'scale': [0.5, 1.5],
  99. 'shear': 0.0,
  100. 'perspective': 0.0,
  101. 'hsv_h': 0.015,
  102. 'hsv_s': 0.7,
  103. 'hsv_v': 0.4,
  104. },
  105. # Mosaic & Mixup
  106. 'mosaic_keep_ratio': True,
  107. 'mosaic_prob': 1.0,
  108. 'mixup_prob': 0.0,
  109. 'mosaic_type': 'yolov5',
  110. 'mixup_type': 'yolov5',
  111. 'mixup_scale': [0.5, 1.5] # "mixup_scale" is not used for YOLOv5MixUp, just for YOLOXMixup
  112. }
  113. yolov5_p_trans_config = {
  114. 'aug_type': 'yolov5',
  115. 'use_ablu': True,
  116. # Basic Augment
  117. 'affine_params': {
  118. 'degrees': 0.0,
  119. 'translate': 0.1,
  120. 'scale': [0.5, 1.5],
  121. 'shear': 0.0,
  122. 'perspective': 0.0,
  123. 'hsv_h': 0.015,
  124. 'hsv_s': 0.7,
  125. 'hsv_v': 0.4,
  126. },
  127. # Mosaic & Mixup
  128. 'mosaic_keep_ratio': True,
  129. 'mosaic_prob': 0.5,
  130. 'mixup_prob': 0.0,
  131. 'mosaic_type': 'yolov5',
  132. 'mixup_type': 'yolov5',
  133. 'mixup_scale': [0.5, 1.5] # "mixup_scale" is not used for YOLOv5MixUp, just for YOLOXMixup
  134. }
  135. # ----------------------- YOLOX-Style Transform -----------------------
  136. yolox_x_trans_config = {
  137. 'aug_type': 'yolov5',
  138. 'use_ablu': False,
  139. # Basic Augment
  140. 'affine_params': {
  141. 'degrees': 10.0,
  142. 'translate': 0.1,
  143. 'scale': [0.1, 2.0],
  144. 'shear': 2.0,
  145. 'perspective': 0.0,
  146. 'hsv_h': 0.015,
  147. 'hsv_s': 0.7,
  148. 'hsv_v': 0.4,
  149. },
  150. # Mosaic & Mixup
  151. 'mosaic_keep_ratio': True,
  152. 'mosaic_prob': 1.0,
  153. 'mixup_prob': 1.0,
  154. 'mosaic_type': 'yolov5',
  155. 'mixup_type': 'yolox',
  156. 'mixup_scale': [0.5, 1.5] # "mixup_scale" is not used for YOLOv5MixUp, just for YOLOXMixup
  157. }
  158. yolox_l_trans_config = {
  159. 'aug_type': 'yolov5',
  160. 'use_ablu': False,
  161. # Basic Augment
  162. 'affine_params': {
  163. 'degrees': 10.0,
  164. 'translate': 0.1,
  165. 'scale': [0.1, 2.0],
  166. 'shear': 2.0,
  167. 'perspective': 0.0,
  168. 'hsv_h': 0.015,
  169. 'hsv_s': 0.7,
  170. 'hsv_v': 0.4,
  171. },
  172. # Mosaic & Mixup
  173. 'mosaic_keep_ratio': True,
  174. 'mosaic_prob': 1.0,
  175. 'mixup_prob': 1.0,
  176. 'mosaic_type': 'yolov5',
  177. 'mixup_type': 'yolox',
  178. 'mixup_scale': [0.5, 1.5] # "mixup_scale" is not used for YOLOv5MixUp, just for YOLOXMixup
  179. }
  180. yolox_m_trans_config = {
  181. 'aug_type': 'yolov5',
  182. 'use_ablu': False,
  183. # Basic Augment
  184. 'affine_params': {
  185. 'degrees': 10.0,
  186. 'translate': 0.1,
  187. 'scale': [0.1, 2.0],
  188. 'shear': 2.0,
  189. 'perspective': 0.0,
  190. 'hsv_h': 0.015,
  191. 'hsv_s': 0.7,
  192. 'hsv_v': 0.4,
  193. },
  194. # Mosaic & Mixup
  195. 'mosaic_keep_ratio': True,
  196. 'mosaic_prob': 1.0,
  197. 'mixup_prob': 1.0,
  198. 'mosaic_type': 'yolov5',
  199. 'mixup_type': 'yolox',
  200. 'mixup_scale': [0.5, 1.5] # "mixup_scale" is not used for YOLOv5MixUp, just for YOLOXMixup
  201. }
  202. yolox_s_trans_config = {
  203. 'aug_type': 'yolov5',
  204. 'use_ablu': False,
  205. # Basic Augment
  206. 'affine_params': {
  207. 'degrees': 10.0,
  208. 'translate': 0.1,
  209. 'scale': [0.1, 2.0],
  210. 'shear': 2.0,
  211. 'perspective': 0.0,
  212. 'hsv_h': 0.015,
  213. 'hsv_s': 0.7,
  214. 'hsv_v': 0.4,
  215. },
  216. # Mosaic & Mixup
  217. 'mosaic_keep_ratio': True,
  218. 'mosaic_prob': 1.0,
  219. 'mixup_prob': 1.0,
  220. 'mosaic_type': 'yolov5',
  221. 'mixup_type': 'yolox',
  222. 'mixup_scale': [0.5, 1.5] # "mixup_scale" is not used for YOLOv5MixUp, just for YOLOXMixup
  223. }
  224. yolox_n_trans_config = {
  225. 'aug_type': 'yolov5',
  226. 'use_ablu': False,
  227. # Basic Augment
  228. 'affine_params': {
  229. 'degrees': 10.0,
  230. 'translate': 0.1,
  231. 'scale': [0.1, 2.0],
  232. 'shear': 2.0,
  233. 'perspective': 0.0,
  234. 'hsv_h': 0.015,
  235. 'hsv_s': 0.7,
  236. 'hsv_v': 0.4,
  237. },
  238. # Mosaic & Mixup
  239. 'mosaic_keep_ratio': True,
  240. 'mosaic_prob': 1.0,
  241. 'mixup_prob': 0.5,
  242. 'mosaic_type': 'yolov5',
  243. 'mixup_type': 'yolox',
  244. 'mixup_scale': [0.5, 1.5] # "mixup_scale" is not used for YOLOv5MixUp, just for YOLOXMixup
  245. }
  246. yolox_p_trans_config = {
  247. 'aug_type': 'yolov5',
  248. 'use_ablu': False,
  249. # Basic Augment
  250. 'affine_params': {
  251. 'degrees': 10.0,
  252. 'translate': 0.1,
  253. 'scale': [0.1, 2.0],
  254. 'shear': 2.0,
  255. 'perspective': 0.0,
  256. 'hsv_h': 0.015,
  257. 'hsv_s': 0.7,
  258. 'hsv_v': 0.4,
  259. },
  260. # Mosaic & Mixup
  261. 'mosaic_keep_ratio': True,
  262. 'mosaic_prob': 0.5,
  263. 'mixup_prob': 0.0,
  264. 'mosaic_type': 'yolov5',
  265. 'mixup_type': 'yolox',
  266. 'mixup_scale': [0.5, 1.5] # "mixup_scale" is not used for YOLOv5MixUp, just for YOLOXMixup
  267. }
  268. # ----------------------- SSD-Style Transform -----------------------
  269. ssd_trans_config = {
  270. 'aug_type': 'ssd',
  271. 'use_ablu': False,
  272. # Mosaic & Mixup are not used for SSD-style augmentation
  273. 'mosaic_keep_ratio': False,
  274. 'mosaic_prob': 0.0,
  275. 'mixup_prob': 0.0,
  276. 'mosaic_type': 'yolov5',
  277. 'mixup_type': 'yolov5',
  278. 'mixup_scale': [0.5, 1.5] # "mixup_scale" is not used for YOLOv5MixUp, just for YOLOXMixup
  279. }
  280. # ----------------------- SSD-Style Transform -----------------------
  281. rtdetr_base_trans_config = {
  282. 'aug_type': 'rtdetr',
  283. 'use_ablu': True,
  284. 'pixel_mean': [123.675, 116.28, 103.53], # IN-1K statistics
  285. 'pixel_std': [58.395, 57.12, 57.375], # IN-1K statistics
  286. # Basic Augment
  287. 'affine_params': {
  288. 'degrees': 0.0,
  289. 'translate': 0.2,
  290. 'scale': [0.1, 2.0],
  291. 'shear': 0.0,
  292. 'perspective': 0.0,
  293. 'hsv_h': 0.015,
  294. 'hsv_s': 0.7,
  295. 'hsv_v': 0.4,
  296. },
  297. # Mosaic & Mixup
  298. 'mosaic_keep_ratio': False,
  299. 'mosaic_prob': 0.0,
  300. 'mixup_prob': 0.0,
  301. 'mosaic_type': 'yolov5',
  302. 'mixup_type': 'yolov5',
  303. 'mixup_scale': [0.5, 1.5] # "mixup_scale" is not used for YOLOv5MixUp, just for YOLOXMixup
  304. }