最近在做训练的时候遇到了做训练集的问题,所以总结一下自己做数据集的思路与操作。ubuntu16.04.
一、VOC数据集格式:做检测的时候会遇到,每一个图中可能有几个目标,每个目标都有一个位置信息保存到xml文件中,如果想将此类数据做成lmdb格式,首先就是要标记图像,得到每一个图中目标的位置信息,标记的程序可以网上找到,标记的工作量还是很大的,这里讲做好xml文件之后怎么做成lmdb。
1、首先在github上下载一个caffe-ssd,然后编译caffe-ssd,这个编译的方法网上有很多,这里就不多说了。编译好之后在./data中输入指令下载VOC0712数据集:【因为下面的两个脚本还调用了其他的Python文件,所以还要 make pycaffe】
wget http://host.robots.ox.ac.uk/pascal/VOC/voc2012/VOCtrainval_11-May-2012.tar wget http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtrainval_06-Nov-2007.tar wget http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtest_06-Nov-2007.tar tar -xvf VOCtrainval_11-May-2012.tar tar -xvf VOCtrainval_06-Nov-2007.tar tar -xvf VOCtest_06-Nov-2007.tar
解压之后如下图所示,在VOCdevkit文件夹内有两个文件夹,VOC2007和VOC2012,第一个文件夹是我生成的lmdb文件。
2、创建lmdb格式的数据集
cd caffe ./data/VOC0712/create_list.sh ./data/VOC0712/create_data.sh
下面贴出来creat_list.sh的代码: