You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

AD_dsxw_test24.py 6.1 kB

2 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168
  1. _base_ = '../cascade_rcnn/cascade_rcnn_x101_64x4d_fpn_20e_coco.py'
  2. model = dict(
  3. backbone=dict(
  4. _delete_=True,
  5. type='HRNet',
  6. extra=dict(
  7. stage1=dict(
  8. num_modules=1,
  9. num_branches=1,
  10. block='BOTTLENECK',
  11. num_blocks=(4, ),
  12. num_channels=(64, )),
  13. stage2=dict(
  14. num_modules=1,
  15. num_branches=2,
  16. block='BASIC',
  17. num_blocks=(4, 4),
  18. num_channels=(32, 64)),
  19. stage3=dict(
  20. num_modules=4,
  21. num_branches=3,
  22. block='BASIC',
  23. num_blocks=(4, 4, 4),
  24. num_channels=(32, 64, 128)),
  25. stage4=dict(
  26. num_modules=3,
  27. num_branches=4,
  28. block='BASIC',
  29. num_blocks=(4, 4, 4, 4),
  30. num_channels=(32, 64, 128, 256))),
  31. init_cfg=dict(
  32. type='Pretrained', checkpoint='open-mmlab://msra/hrnetv2_w32')),
  33. neck=dict(
  34. _delete_=True,
  35. type='HRFPN',
  36. in_channels=[32, 64, 128, 256],
  37. out_channels=256,
  38. num_outs=5),
  39. roi_head=dict(
  40. bbox_head=[
  41. dict(
  42. type='Shared2FCBBoxHead',
  43. in_channels=256,
  44. fc_out_channels=1024,
  45. roi_feat_size=7,
  46. num_classes=11,
  47. bbox_coder=dict(
  48. type='DeltaXYWHBBoxCoder',
  49. target_means=[0., 0., 0., 0.],
  50. target_stds=[0.1, 0.1, 0.2, 0.2]),
  51. reg_class_agnostic=True,
  52. loss_cls=dict(
  53. type='CrossEntropyLoss',
  54. use_sigmoid=False,
  55. loss_weight=1.0),
  56. loss_bbox=dict(type='SmoothL1Loss', beta=1.0,
  57. loss_weight=1.0)),
  58. dict(
  59. type='Shared2FCBBoxHead',
  60. in_channels=256,
  61. fc_out_channels=1024,
  62. roi_feat_size=7,
  63. num_classes=11,
  64. bbox_coder=dict(
  65. type='DeltaXYWHBBoxCoder',
  66. target_means=[0., 0., 0., 0.],
  67. target_stds=[0.05, 0.05, 0.1, 0.1]),
  68. reg_class_agnostic=True,
  69. loss_cls=dict(
  70. type='CrossEntropyLoss',
  71. use_sigmoid=False,
  72. loss_weight=1.0),
  73. loss_bbox=dict(type='SmoothL1Loss', beta=1.0,
  74. loss_weight=1.0)),
  75. dict(
  76. type='Shared2FCBBoxHead',
  77. in_channels=256,
  78. fc_out_channels=1024,
  79. roi_feat_size=7,
  80. num_classes=11,
  81. bbox_coder=dict(
  82. type='DeltaXYWHBBoxCoder',
  83. target_means=[0., 0., 0., 0.],
  84. target_stds=[0.033, 0.033, 0.067, 0.067]),
  85. reg_class_agnostic=True,
  86. loss_cls=dict(
  87. type='CrossEntropyLoss',
  88. use_sigmoid=False,
  89. loss_weight=1.0),
  90. loss_bbox=dict(type='SmoothL1Loss', beta=1.0, loss_weight=1.0))
  91. ]))
  92. dataset_type = 'CocoDataset'
  93. classes = ('yiwei','loujian','celi','libei','fantie','lianxi','duojian','shunjian','shaoxi','jiahan','yiwu')
  94. img_norm_cfg = dict(
  95. mean=[123.675, 116.28, 103.53], std=[58.395, 57.12, 57.375], to_rgb=True)
  96. train_pipeline = [
  97. dict(type='LoadImageFromFile'),
  98. dict(type='LoadAnnotations', with_bbox=True),
  99. dict(
  100. type='Resize',
  101. img_scale=[(400, 400), (500, 500)],
  102. multiscale_mode='value',
  103. keep_ratio=True),
  104. dict(type='RandomFlip', flip_ratio=[0.2,0.2,0.2], direction=['horizontal', 'vertical', 'diagonal']),
  105. dict(type='BrightnessTransform', level=5, prob=0.5),
  106. dict(type='ContrastTransform', level=5, prob=0.5),
  107. dict(type='RandomShift', shift_ratio=0.5),
  108. dict(type='MinIoURandomCrop', min_ious=(0.5, 0.7, 0.9), min_crop_size=0.8),
  109. dict(type='Normalize', **img_norm_cfg),
  110. dict(type='Pad', size_divisor=32),
  111. dict(type='DefaultFormatBundle'),
  112. dict(type='Collect', keys=['img', 'gt_bboxes', 'gt_labels']),
  113. ]
  114. test_pipeline = [
  115. dict(type='LoadImageFromFile'),
  116. dict(
  117. type='MultiScaleFlipAug',
  118. img_scale=[(400, 400)],
  119. flip=False,
  120. transforms=[
  121. dict(type='Resize', keep_ratio=True),
  122. dict(type='RandomFlip'),
  123. dict(type='Normalize', **img_norm_cfg),
  124. dict(type='Pad', size_divisor=32),
  125. dict(type='ImageToTensor', keys=['img']),
  126. dict(type='Collect', keys=['img']),
  127. ])
  128. ]
  129. data = dict(
  130. samples_per_gpu=16,
  131. workers_per_gpu=8,
  132. train=dict(
  133. type=dataset_type,
  134. img_prefix='/home/shanwei-luo/userdata/datasets/dsxw_dataset_v5/dsxw_train/images/',
  135. classes=classes,
  136. ann_file='/home/shanwei-luo/userdata/datasets/dsxw_dataset_v5/dsxw_train/annotations/train.json',
  137. pipeline=train_pipeline),
  138. val=dict(
  139. type=dataset_type,
  140. img_prefix='/home/shanwei-luo/userdata/datasets/dsxw_dataset_v5/dsxw_test/images/',
  141. classes=classes,
  142. ann_file='/home/shanwei-luo/userdata/datasets/dsxw_dataset_v5/dsxw_test/annotations/test.json',
  143. pipeline=test_pipeline),
  144. test=dict(
  145. type=dataset_type,
  146. img_prefix='/home/shanwei-luo/userdata/datasets/dsxw_dataset_v5/dsxw_test/images/',
  147. classes=classes,
  148. ann_file='/home/shanwei-luo/userdata/datasets/dsxw_dataset_v5/dsxw_test/annotations/test.json',
  149. pipeline=test_pipeline))
  150. # optimizer
  151. optimizer = dict(type='SGD', lr=0.01, momentum=0.9, weight_decay=0.0001)
  152. optimizer_config = dict(grad_clip=None)
  153. # learning policy
  154. lr_config = dict(
  155. policy='CosineAnnealing',
  156. warmup='linear',
  157. warmup_iters=3000,
  158. warmup_ratio=1.0 / 10,
  159. min_lr_ratio=1e-5)
  160. runner = dict(type='EpochBasedRunner', max_epochs=60)
  161. evaluation = dict(interval=5, metric='bbox')

No Description

Contributors (1)