该仓库基于Max deGroot与Ellis Brown的ssd.pytorch进行的,非常感谢他们无私的奉献。
- 数据集:原作者支持VOC、COCO,该仓库仅支持VOC,如果有时间,考虑将COCO加上。
- 网络:支持SSD300
大牛们写代码果然不拘小节,结构混乱依然不影响他们这么优秀。强迫症犯了,一周时间理解源码,一天内重构完成。哇,世界清爽了~
- 所有参数均可在config.py中设置
- 重新整理结构,并加入大量代码注释
| python版本 | pytorch版本 |
|---|---|
| 3.5 | 0.3.0 |
1、定义网络
2、封装数据集
3、工具类
4、主函数
- vgg16网络结构
下载VOC2007和VOC2012的数据集,并在utils/config.py中的voc_data_root配置数据集的根目录。
VOCdevkit
│
└───VOC2007
│ │ JPEGImages
│ │ ImageSets
│ │ Annotations
│ │ ...
│
└───VOC2012
│ │ JPEGImages
│ │ ImageSets
│ │ Annotations
│ │ ...
作用:使用VOC2007和2012的训练集+验证集 开始训练
1、开启Visdom(类似TnsorFlow的tensorboard,可视化工具)
# First install Python server and client
pip install visdom
# Start the server
python -m visdom.server
2、下载SSD的基础网络VGG16(去掉fc层)
下载地址:vgg16_reducedfc.pth
下载完成后将其放置在checkpoint文件夹下即可。也可通过配置config.py中basenet的路径。
3、开始训练
在main.py中将train()注释取消,其他方法注释掉,即可运行。
作用:VOC2007测试集,计算各分类AP及mAP
1、在config.py中load_model_path配置预训练模型的路径
预训练模型下载:ssd300_VOC_100000.pth
2、在main.py中将eval()注释取消,其他方法注释掉,即可运行。
功能:VOC2007测试集,将预测结果写入txt
1、在config.py中load_model_path配置预训练模型的路径
预训练模型下载:ssd300_VOC_100000.pth
2、在main.py中将test()注释取消,其他方法注释掉,即可运行。
功能:可视化一张预测图片
1、在config.py中load_model_path配置预训练模型的路径
预训练模型下载:ssd300_VOC_100000.pth 2、在main.py中将predict()注释取消,其他方法注释掉,即可运行。
-
本仓库作者 Mr.Li









