1.准备数据集 利用labelimg 工具得到图片和对应的xml文件
然后将数据及利用编程得到train,trainval,val,test等txt文件,其中存储的是图片的名字没有后缀的,例如图片名字为1.jpg则其中存储的是1,每个图片存储一行
2.将数据集放入一个文件夹中例如~/data/VOCdevkit文件夹 然后在该文件夹下创建几个文件夹如下:
cd data/VOCdevkit
mkdir mydata
cd mydata
mkdir Annotations
mkdir ImageSets
mkdir JPEGImages
cd ImageSets
mkdir Layout
mkdir Main
mkdir Segmentation
将准备的图片数据移动到JPEGImages中,将xml文件移动到Annotations文件夹下
将上面得到的所有txt文本文件存储在Main文件夹下
数据准备完毕
3.进行数据转化
将caffe-ssd下的data下的VOC0712中的3个文件(create_list.sh,create_data.sh,labelmap_voc.prototxt)复制下来然后在data目录下创建个文件夹命名为mydata,放入mydata文件夹下然后修改其中的文件
修改create_list.sh
for name in VOC2007 VOC2012:
修改至
for name in mydata: #mydata为上面创建的文件夹名字,里面存储的是数据图片和xml等文件夹
修改create_data.sh 修改其中的路径即可
至于最后一个prototxt文件表示的是类别标签 然后根据需要进行修改即可
然后在caffe-ssd/examples/下创建个mydata用来存储lmdb数据
然后执行
1.create_list.sh
2.create_data.sh
至此创建lmdb数据结束
4.训练数据
修改caffe-ssd/examples/ssd/ssd_pascal.py文件将其中的 类别 一些文件名称 还有测试图片数目修改即可
然后执行该Python文件即可训练