代码是从github下载下来修改的,地址:https://github.com/luuuyi/RefineDet.PyTorch
方便起见便按照VOC数据格式修改,并修改代码中关于VOC数据使用的地方。
1、将自己的数据制作成VOC格式,可参考:https://blog.csdn.net/qq_40806289/article/details/89668840
2、/data/config.py
2.1 修改HOME=‘自己的数据集路径’
2.2 修改voc数据训练(为了方便查看改动,用红色字体标注)
voc = {
'300': {
'num_classes': 27(类别数+1),
'lr_steps': (80000, 100000, 120000),
'max_iter': 120000,
'feature_maps': [38, 19, 10, 5, 3, 1],
'min_dim': 300,
'steps': [8, 16, 32, 64, 100, 300],
'min_sizes': [30, 60, 111, 162, 213, 264],
'max_sizes': [60, 111, 162, 213, 264, 315],
'aspect_ratios': [[2], [2, 3], [2, 3], [2, 3], [2], [2]],
'variance': [0.1, 0.2],
'clip': True,
'name': 'VOC_300',
},
'512': {
'num_classes': 27(类别数+1),
'lr_steps': (80000, 100000, 120000),
'max_iter': 120000,
'feature_maps': [64, 32, 16, 8, 4, 2, 1],
'min_dim': 512,
'steps': [8, 16, 32, 64, 128, 256, 512],
'min_sizes': [20, 51, 133, 215, 296, 378, 460],
'max_sizes': [51, 133, 215, 296, 378, 460, 542],
'aspect_ratios': [[2], [2, 3], [2, 3], [2, 3], [2, 3], [2], [2]],
'variance': [0.1, 0.2],
'clip': True,
'name': 'VOC_512',
}
}
3 /data/voc0712.py
3.1
修改类别 Line:20
VOC_CLASSES = (
自己的类别(无background)
)
3.2 修改 image_sets='trainval'
3.3
修改
for line in open(osp.join(root, 'ImageSets', 'Main', image_sets + '.txt')):
self.ids.append((root, line.strip()))
3.4
修改#VOC_ROOT = osp.join(HOME, "datasets/VOCdevkit/")
VOC_ROOT = HOME
4
/models/refinedet.py
self.cfg = (coco_refinedet, voc_refinedet)[num_classes == 自己的类别数+1]
def build_refinedet(phase, size=320, num_classes=自己的类别数+1):