|
|
|
# model settings
|
|
|
|
input_size = 300
|
|
|
|
model = dict(
|
|
|
|
type='SingleStageDetector',
|
|
|
|
backbone=dict(
|
|
|
|
type='SSDVGG',
|
|
|
|
depth=16,
|
|
|
|
with_last_pool=False,
|
|
|
|
ceil_mode=True,
|
|
|
|
out_indices=(3, 4),
|
|
|
|
out_feature_indices=(22, 34),
|
|
|
|
init_cfg=dict(
|
|
|
|
type='Pretrained', checkpoint='open-mmlab://vgg16_caffe')),
|
|
|
|
neck=dict(
|
|
|
|
type='SSDNeck',
|
|
|
|
in_channels=(512, 1024),
|
|
|
|
out_channels=(512, 1024, 512, 256, 256, 256),
|
|
|
|
level_strides=(2, 2, 1, 1),
|
|
|
|
level_paddings=(1, 1, 0, 0),
|
|
|
|
l2_norm_scale=20),
|
|
|
|
bbox_head=dict(
|
|
|
|
type='SSDHead',
|
|
|
|
in_channels=(512, 1024, 512, 256, 256, 256),
|
|
|
|
num_classes=80,
|
|
|
|
anchor_generator=dict(
|
|
|
|
type='SSDAnchorGenerator',
|
|
|
|
scale_major=False,
|
|
|
|
input_size=input_size,
|
|
|
|
basesize_ratio_range=(0.15, 0.9),
|
|
|
|
strides=[8, 16, 32, 64, 100, 300],
|
|
|
|
ratios=[[2], [2, 3], [2, 3], [2, 3], [2], [2]]),
|
|
|
|
bbox_coder=dict(
|
|
|
|
type='DeltaXYWHBBoxCoder',
|
|
|
|
target_means=[.0, .0, .0, .0],
|
|
|
|
target_stds=[0.1, 0.1, 0.2, 0.2])),
|
|
|
|
# model training and testing settings
|
|
|
|
train_cfg=dict(
|
|
|
|
assigner=dict(
|
|
|
|
type='MaxIoUAssigner',
|
|
|
|
pos_iou_thr=0.5,
|
|
|
|
neg_iou_thr=0.5,
|
|
|
|
min_pos_iou=0.,
|
|
|
|
ignore_iof_thr=-1,
|
|
|
|
gt_max_assign_all=False),
|
|
|
|
smoothl1_beta=1.,
|
|
|
|
allowed_border=-1,
|
|
|
|
pos_weight=-1,
|
|
|
|
neg_pos_ratio=3,
|
|
|
|
debug=False),
|
|
|
|
test_cfg=dict(
|
|
|
|
nms_pre=1000,
|
|
|
|
nms=dict(type='nms', iou_threshold=0.45),
|
|
|
|
min_bbox_size=0,
|
|
|
|
score_thr=0.02,
|
|
|
|
max_per_img=200))
|
|
|
|
cudnn_benchmark = True
|