transform_config.py 7.7 KB

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