使用pascal voc训练测试faster rcnn

本文详细介绍了如何使用Faster R-CNN进行目标检测的训练和测试过程,包括环境配置、数据集下载、预训练模型获取、训练及测试命令等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前提:已经配置好了faster rcnn运行环境。如果还没有,请参考:https://mp.youkuaiyun.com/console/editor/html/105133096

faster rcnn可以使用不同的backbone(基础网络/分类网络)例如:VGG16,ZF,VGG_CNN_M_1024。这里以VGG_CNN_M_1024为例。

训练faster rcnn也有不同的训练模式,例如:faster_rcnn_alt_opt,faster_rcnn_end2end。这里以faster_rcnn_end2end为例。

 

一、下载数据

在终端输入:

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

二、

在py-faster-rcnn-master/data目录下将(1)中下载的三个压缩包解压。解压后,data文件夹中有VOCdevkit文件夹,VOCdevkit文件夹中主要包含VOC2007和VOCcode。

解压命令:

tar xvf VOCtrainval_06-Nov-2007.tar
tar xvf VOCtest_06-Nov-2007.tar
tar xvf VOCdevkit_08-Jun-2007.tar

三、建立软连接

cd到py-faster-rcnn-master/data目录下:

sudo ln -s VOCdevkit VOCdevkit2007

四、下载预训练好的ImageNet模型

cd到py-faster-rcnn-master目录下:

./data/scripts/fetch_imagenet_models.sh

下载后,在data文件夹中会有一个imagenet_models文件夹。(如果没有,找到imagenet_models文件夹,将其放到data中)

注:下载pre-trained ImageNet models时,最好不要在终端上下载,因为需要外网,所以终端下载可能会出错。你可以连接外网,手动下载https://dl.dropboxusercontent.com/s/gstw7122padlf0l/imagenet_models.tgz?dl=0

五、训练+测试

【如果进行过一次训练,在下次训练之前一定要把以下文件删除】

(1)output文件夹

(2)py-faster-rcnn/data/cache中的文件

(3)py-faster-rcnn/data/VOCdevkit2007软链接中的annotations_cache文件

开始训练测试!

cd到py-faster-rcnn-master目录下:

./experiments/scripts/faster_rcnn_end2end.sh 0 VGG_CNN_M_1024 pascal_voc

执行以上命令,会进行训练,训练结束后会自动进行测试。

你也可以训练和测试分开进行:

(1)训练:

cd到py-faster-rcnn-master目录下:

./tools/train_net.py  
--gpu ${GPU_ID}   
--solver models/${PT_DIR}/${NET}/faster_rcnn_end2end/solver.prototxt   
--weights data/imagenet_models/${NET}.v2.caffemodel 
--imdb ${TRAIN_IMDB} # voc_2007_trianval
--iters ${ITERS}  # 迭代次数
--cfg experiments/cfgs/faster_rcnn_end2end.yml 

(以上命令只是一个模子,需要大家根据自己的情况自行填写完整)

(2)测试:

cd到py-faster-rcnn-master目录下:

./tools/test_net.py
--gpu 0
--def models/pascal_voc/VGG_CNN_M_1024/faster_rcnn_end2end/test.prototxt
--net output/foobar/voc_2007_trainval/vgg_cnn_m_1024_faster_rcnn_iter_70000.caffemodel
--imdb voc_2007_test
--cfg experiments/cfgs/faster_rcnn_end2end.yml

(以上命令只是针对我自己的一个例子,具体的命令你需要根据自己的情况自行修改参数路径)

 

以上命令行参数,如果你嫌麻烦,可以提前在

~/py-faster-rcnn-master/experiments/scripts/faster_rcnn_end2end.sh

文件中进行设置。

另外,一些超参数在

~/py-faster-rcnn-master/py-faster-rcnn-master/models/pascal_voc/VGG_CNN_M_1024/faster_rcnn_end2end/solver.prototxt

文件中可以自行修改。

 

参考博客:

https://www.cnblogs.com/elitphil/p/11547429.html

https://blog.youkuaiyun.com/meccaendless/article/details/79569104

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值