fast-rcnn_r50_fpn.py 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. # model settings
  2. model = dict(
  3. type='FastRCNN',
  4. data_preprocessor=dict(
  5. type='DetDataPreprocessor',
  6. mean=[123.675, 116.28, 103.53],
  7. std=[58.395, 57.12, 57.375],
  8. bgr_to_rgb=True,
  9. pad_size_divisor=32),
  10. backbone=dict(
  11. type='ResNet',
  12. depth=50,
  13. num_stages=4,
  14. out_indices=(0, 1, 2, 3),
  15. frozen_stages=1,
  16. norm_cfg=dict(type='BN', requires_grad=True),
  17. norm_eval=True,
  18. style='pytorch',
  19. init_cfg=dict(type='Pretrained', checkpoint='torchvision://resnet50')),
  20. neck=dict(
  21. type='FPN',
  22. in_channels=[256, 512, 1024, 2048],
  23. out_channels=256,
  24. num_outs=5),
  25. roi_head=dict(
  26. type='StandardRoIHead',
  27. bbox_roi_extractor=dict(
  28. type='SingleRoIExtractor',
  29. roi_layer=dict(type='RoIAlign', output_size=7, sampling_ratio=0),
  30. out_channels=256,
  31. featmap_strides=[4, 8, 16, 32]),
  32. bbox_head=dict(
  33. type='Shared2FCBBoxHead',
  34. in_channels=256,
  35. fc_out_channels=1024,
  36. roi_feat_size=7,
  37. num_classes=80,
  38. bbox_coder=dict(
  39. type='DeltaXYWHBBoxCoder',
  40. target_means=[0., 0., 0., 0.],
  41. target_stds=[0.1, 0.1, 0.2, 0.2]),
  42. reg_class_agnostic=False,
  43. loss_cls=dict(
  44. type='CrossEntropyLoss', use_sigmoid=False, loss_weight=1.0),
  45. loss_bbox=dict(type='L1Loss', loss_weight=1.0))),
  46. # model training and testing settings
  47. train_cfg=dict(
  48. rcnn=dict(
  49. assigner=dict(
  50. type='MaxIoUAssigner',
  51. pos_iou_thr=0.5,
  52. neg_iou_thr=0.5,
  53. min_pos_iou=0.5,
  54. match_low_quality=False,
  55. ignore_iof_thr=-1),
  56. sampler=dict(
  57. type='RandomSampler',
  58. num=512,
  59. pos_fraction=0.25,
  60. neg_pos_ub=-1,
  61. add_gt_as_proposals=True),
  62. pos_weight=-1,
  63. debug=False)),
  64. test_cfg=dict(
  65. rcnn=dict(
  66. score_thr=0.05,
  67. nms=dict(type='nms', iou_threshold=0.5),
  68. max_per_img=100)))