参考文档
- https://blog.csdn.net/weixin_35653315/article/details/71028523 Pascal VOC 数据集介绍
- https://blog.csdn.net/zhangjunbob/article/details/52769381 PASCAL VOC数据集分析
- https://blog.csdn.net/yiweibian/article/details/70208706 Mxnet(3)-SSD训练自己的数据
安装依赖库
因为ssd例程python代码依赖于cv2、matplotlib和numpy等模块,所以需要先安装这些模块
sudo apt-get install python-opencv python-matplotlib python-numpy
准备训练集
选定需要检测的目标类型:
- [x] bicycle
- [x] tricycle
- [x] motorbike
- [x] car
- [x] bus
- [x] minibus
- [x] truck
- [ ] person
- [ ] car-back
- [ ] bus-back
- [ ] minibus-back
- [ ] truck-back
- [ ] van-back
检测场景:
- [x] 停车场
检测方向:
- [x] 车头
#!/bin/bash
# 读取所有图片文件,并保存文件列表到文本文件中
rm test.txt -rf
rm trainval_temp.txt -rf
rm trainval.txt -rf
find ../../JPEGImages -name *.jpg | cut -d '/' -f4 | cut -d '.' -f1 >> trainval_temp.txt
# 进行图片列表随机排序
shuf trainval_temp.txt -o trainval.txt
# 截取部分图片保存到测试集列表文件中
head -1000 trainval.txt >> test.txt
sed -i '1,1000d' trainval.txt
rm trainval_temp.txt -rf
创建软链接到ssd/data目录
ln -s /opt/xyl/data/ /opt/xyl/incubator-mxnet/example/ssd/data/VOCdevkit
修改tools/prepare_pascal.sh
修改目标检测的分类类别
对应文件在mxnet-path/example/ssd/dataset/names/pascal_voc.names,内容和上面训练集的类别对应:
bicycle
tricycle
motorbike
car
bus
minibus
truck
生成rec数据文件
进行训练
转换训练模型到部署模型
cd /opt/xyl/incubator-mxnet/example/ssd
python deploy.py --epoch 240 --network=resnet50 --num-class=7
注意:deploy.py的参数需要根据自己的训练情况进行设置