yolox_x_8xb4-80e_crowdhuman-mot20train_test-mot20test.py 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. _base_ = ['./yolox_x_8xb4-80e_crowdhuman-mot17halftrain_test-mot17halfval.py']
  2. data_root = 'data/MOT20/'
  3. img_scale = (1600, 896) # width, height
  4. # model settings
  5. model = dict(
  6. data_preprocessor=dict(batch_augments=[
  7. dict(type='BatchSyncRandomResize', random_size_range=(640, 1152))
  8. ]))
  9. train_pipeline = [
  10. dict(
  11. type='Mosaic',
  12. img_scale=img_scale,
  13. pad_val=114.0,
  14. bbox_clip_border=True),
  15. dict(
  16. type='RandomAffine',
  17. scaling_ratio_range=(0.1, 2),
  18. border=(-img_scale[0] // 2, -img_scale[1] // 2),
  19. bbox_clip_border=True),
  20. dict(
  21. type='MixUp',
  22. img_scale=img_scale,
  23. ratio_range=(0.8, 1.6),
  24. pad_val=114.0,
  25. bbox_clip_border=True),
  26. dict(type='YOLOXHSVRandomAug'),
  27. dict(type='RandomFlip', prob=0.5),
  28. dict(
  29. type='Resize',
  30. scale=img_scale,
  31. keep_ratio=True,
  32. clip_object_border=True),
  33. dict(type='Pad', size_divisor=32, pad_val=dict(img=(114.0, 114.0, 114.0))),
  34. dict(type='FilterAnnotations', min_gt_bbox_wh=(1, 1), keep_empty=False),
  35. dict(type='PackDetInputs')
  36. ]
  37. test_pipeline = [
  38. dict(type='LoadImageFromFile', backend_args=_base_.backend_args),
  39. dict(type='Resize', scale=img_scale, keep_ratio=True),
  40. dict(type='Pad', size_divisor=32, pad_val=dict(img=(114.0, 114.0, 114.0))),
  41. dict(type='LoadAnnotations', with_bbox=True),
  42. dict(
  43. type='PackDetInputs',
  44. meta_keys=('img_id', 'img_path', 'ori_shape', 'img_shape',
  45. 'scale_factor'))
  46. ]
  47. train_dataloader = dict(
  48. dataset=dict(
  49. type='MultiImageMixDataset',
  50. dataset=dict(
  51. type='ConcatDataset',
  52. datasets=[
  53. dict(
  54. type='CocoDataset',
  55. data_root=data_root,
  56. ann_file='annotations/train_cocoformat.json',
  57. data_prefix=dict(img='train'),
  58. filter_cfg=dict(filter_empty_gt=True, min_size=32),
  59. metainfo=dict(classes=('pedestrian', )),
  60. pipeline=[
  61. dict(
  62. type='LoadImageFromFile',
  63. backend_args=_base_.backend_args),
  64. dict(type='LoadAnnotations', with_bbox=True),
  65. ]),
  66. dict(
  67. type='CocoDataset',
  68. data_root='data/crowdhuman',
  69. ann_file='annotations/crowdhuman_train.json',
  70. data_prefix=dict(img='train'),
  71. filter_cfg=dict(filter_empty_gt=True, min_size=32),
  72. metainfo=dict(classes=('pedestrian', )),
  73. pipeline=[
  74. dict(
  75. type='LoadImageFromFile',
  76. backend_args=_base_.backend_args),
  77. dict(type='LoadAnnotations', with_bbox=True),
  78. ]),
  79. dict(
  80. type='CocoDataset',
  81. data_root='data/crowdhuman',
  82. ann_file='annotations/crowdhuman_val.json',
  83. data_prefix=dict(img='val'),
  84. filter_cfg=dict(filter_empty_gt=True, min_size=32),
  85. metainfo=dict(classes=('pedestrian', )),
  86. pipeline=[
  87. dict(
  88. type='LoadImageFromFile',
  89. backend_args=_base_.backend_args),
  90. dict(type='LoadAnnotations', with_bbox=True),
  91. ]),
  92. ]),
  93. pipeline=train_pipeline))
  94. val_dataloader = dict(
  95. dataset=dict(
  96. data_root='data/MOT17', ann_file='annotations/train_cocoformat.json'))
  97. test_dataloader = val_dataloader
  98. # evaluator
  99. val_evaluator = dict(ann_file='data/MOT17/annotations/train_cocoformat.json')
  100. test_evaluator = val_evaluator