1.下载VOC数据集
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
wget http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCdevkit_08-Jun-2007.tar
2.按照顺序解压VOC数据集,以防解压后格式错误
tar xvf VOCtrainval_06-Nov-2007.tar
tar xvf VOCtest_06-Nov-2007.tar
tar xvf VOCdevkit_08-Jun-2007.tar
3.解压后生成VOCdevkit目录,结构如下
$VOCdevkit/ # development kit
$VOCdevkit/VOCcode/ # VOC utility code
$VOCdevkit/VOC2007 # image sets, annotations, etc.
# ... and several other directories ...
4.在FRCN根路径下的data目录,创建VOCdevkit2007链接(快捷方式)
cd $FRCN_ROOT/data
ln -s $VOCdevkit VOCdevkit2007
5.下载预训练的VGG16网络.复制该网络文件到如下路径
mv VGG_imagenet.npy $FRCN_ROOT/data/pretrain_model/VGG_imagenet.npy
6.运行命令,训练模型测试模型
cd $FRCN_ROOT/experiments/scripts/faster_rcnn_end2end.sh $DEVICE $DEVICE_ID VGG16 pascal_voc
相关背景知识
-RCNN、Fast RCNN、Faster RCNN
1. RCNN到fast RCNN,再到faster RCNN,目标检测的四个基本步骤(候选区域生成,特征提取,分类,位置精修)终于被统一到一个深度网络框架之内。所有计算没有重复,完全在GPU中完成,大大提高了运行速度。
2.原始特征提取(上图灰色方框)包含若干层conv+relu,直接套用ImageNet上常见的分类网络即可。如本文步骤5,就是直接调用VGG16
3.VGG16: VGG16 的叫法来自于 网络包含 16 层卷积,包括 13层的卷积+3层的全连接,如下图:
4.详细的结构信息的阅读参考:VGG16深度学习入门:https://blog.csdn.net/Errors_In_Life/article/details/65950699
- VOC2007结构详解
- 文件存放内容如下:
- Annotations目录下放的是标注文件,xml格式,这是用于目标检测任务的一个总的标注集合,里面存放有大而全的xml文件;具体是在ImageSets/Main目录中去划分训练机、验证集、测试集;
- JPEGImages目录下是所有的jpg图片;
- ImageSets目录下有3个子目录:Layout, Main, Segmentation
- Main 目录下每一行都是同一文件名+后缀(train、val、trainval、test),分别对应来自JPEGImages的同名文件和对应来自Annotation里的标注文件