caffe+ubuntu+MobileNet-SSD训练UAV数据集

首先说下环境:ubuntu16.04,cuda9,cudnn7.5,python2.7.12,opencv2.14

caffe框架

数据集已经转好为IMDB格式:https://blog.csdn.net/zxmyoung/article/details/108469964

利用MobileNetSSD进行训练

由于VOC数据集是21类(加上背景),而这里只有7类(加上背景),因此,我们需要重新生成训练、测试和运行网络文件,这里就要用到gen_model.sh脚本,它会调用template文件夹中的模板,按照我们指定的参数,生成所需的训练网络模型。这个脚本的用法usage:    CLASSNUM 对应label的个数 + backgroud =7

./gen_model.sh CLASSNUM

caffe+ubuntu+MobileNet-SSD训练UAV数据集_第1张图片

执行之后,得到examples文件夹,里面的3个prototxt就是从模板生成的正式网络定义,根据作者设置,其中的deploy文件是已经合并过bn层的,需要后面配套使用。

caffe+ubuntu+MobileNet-SSD训练UAV数据集_第2张图片

 

将在example中生成的MyDataSet文件里面的两个数据集超链接全部复制到MobileNetSSD中去,并且将名字改成如下图所示的名称。

 caffe+ubuntu+MobileNet-SSD训练UAV数据集_第3张图片

caffe+ubuntu+MobileNet-SSD训练UAV数据集_第4张图片

修改超参数、指定预训练模型,开始model训练
按照自身要求修改solver_test.prototxt和solver_train.prototxt中的超参数;(新手可以不动)

其中test_iter=测试集图片数量(869)/batchsize;初始学习率不宜太高,否则基础权重破坏比较严重;优化算法是RMSProp,可能对收敛有好处,不要改成SGD,也是为了保护权重。

caffe+ubuntu+MobileNet-SSD训练UAV数据集_第5张图片

 然后,修改预训练模型为:

caffe+ubuntu+MobileNet-SSD训练UAV数据集_第6张图片

开始训练了:

在/home/zhai/experiment/caffe-ssd-master/caffe/examples/MobileNet-SSD-UAV下 修改并运行train.sh脚本,中途可以不断调节参数。训练结束后,运行test.sh脚本,测试网络的精度值。

sh train.sh

caffe+ubuntu+MobileNet-SSD训练UAV数据集_第7张图片

待补充。。。。。

 

 

 

你可能感兴趣的:(目标检测-实验,caffe)