关闭

Faster RCNN 模型训练及检测

标签: 深度学习
445人阅读 评论(0) 收藏 举报
分类:
本文针对faster rcnn下的模型训练及检测。所用网络VGG16/faster_rcnn_alt_opt, 数据集pascal voc2007 .
(友情提示:若要修改某文件里的信息,最好将原文件重命名备份,以免修改后出现问题导致无法复原。)

一 更改类别(选做)
1 打开主目录(YOURS/Downloads/py-faster-rcnn,下同)下 models/pascal_voc/VGG16/faster_rcnn_alt_opt 文件夹里的若干文件,更改类别数。详细步骤可参考http://blog.csdn.net/u013078356/article/details/50987845#reply

2 打开 lib/datasets/pascal_voc.py, 修改self._classes 中的标签信息。此标签名称应与样本.xml文件中的标签名称一致。


二 准备数据集(选做)
1 在 data/VOCdevkit2007/VOC2007 文件夹中,将原有的文件重命名用以备份。然后将含有样本标记信息的.xml文件放入新建的Annotations文件夹,将含有trainval和test样本名称(写成一列,名称后加一个空格,不带后缀,不留空行)的trainval.txt和test.txt文件放入新建的ImageSets/Main文件夹,将所有的图片放入新建的JPEGImages文件夹。

2 以上3个文件夹的样本信息必须对应,例如.txt文件里的样本应能在其他两个文件夹中找到对应的.xml文件及图片。

3 总样本数量越多越好,trainval 和 test 的样本比例和谐即可。
 

三 执行训练
1 删除 data/cache 文件夹中的.pkl缓存文件。

2 在 data/faster_rcnn_models 文件夹下准备预训练模型。一般直接用作者论文中的模型 VGG16_faster_rcnn_final.caffemodel(10月4 2015)。当然也可以用之前自己训练过的效果较好的模型。

3 修改 tools 文件夹中的 train_faster_rcnn_alt_opt.py .一般只更改迭代次数 max_iters .

4 运行训练。在主目录下打开终端,将 train_faster_rcnn_alt_opt.py 中说明部分runCommand下的一段运行命令复制到终端并按Enter执行训练。运行命令中的--weights模型名称应与三2中准备的模型名称一致。


四 保存模型
1 等待至训练完成,模型保存于 output/faster_rcnn_alt_opt/voc_2007_trainval 文件夹中,其中VGG16_faster_rcnn_final.caffemodel 即为本次训练的最终模型。

2 将 voc_2007_trainval 文件夹重命名,以避免下次训练结果将其覆盖。


五 执行检测
1 将四1中生成的VGG16_faster_rcnn_final.caffemodel 模型重命名(后缀不变)后,复制到data/faster_rcnn_models 文件夹下,用以检测调用。

2 在 data 文件夹中新建 demo_XXXX 文件夹,并放入待检测的图片。

3 在 tools 文件夹中复制一个demo.py文件并重命名为例如 demo_XXXX.py等。

4 打开 demo_XXXX.py文件,修改 CLASSES 中的类别标签,此标签应与样本.xml文件中的标签一致。
修改 NETS 中VGG16下的检测模型,此模型名称应与1中准备的模型名称一致!
修改 NETS 中VGG16下的检测模型,此模型名称应与1中准备的模型名称一致!
修改 NETS 中VGG16下的检测模型,此模型名称应与1中准备的模型名称一致!
修改 im_file 中的存放待检测图片的文件夹名称:demo_XXXX.
修改 im_names 中的待检测图片名称。

5 运行检测。在主目录下打开终端,运行命令 “ tools/demo_XXXX.py --gpu 0 --net vgg16 ”并按Enter执行检测。


友情提示:若有执行训练或检测的历史,部分步骤可以省略。记得对历史文件(夹)的重命名以免结果被覆盖。




0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:5265次
    • 积分:144
    • 等级:
    • 排名:千里之外
    • 原创:7篇
    • 转载:3篇
    • 译文:0篇
    • 评论:0条
    文章分类