1. 下载源码地址:https://github.com/dBeker/Faster-RCNN-TensorFlow-Python3,下载预训练模型VGG16网络和其他你感兴趣的网络,下载地址: https://github.com/tensorflow/models/tree/master/research/slim#pre-trained-models.
在data文件夹下新建imagenet_weights文件夹,将下载好的网络放到此文件夹下。注意要将vgg_16.ckpt重命名为vgg16.ckpt
2.制作voc数据集,放在Faster-RCNN-TensorFlow-Python3-master\data\VOCdevkit2007文件夹下
3.修改参数并训练
3.1 训练之前修改lib/config/config.py下的代码,在第30行的max_iters中将40000修改成10000,能节省点时间。(‘snapshot_iterations’, 1000, “Iteration to take snapshot”),将5000改成1000,batch_size根据GPU修改
3.2在...\lib\datasets目录下,有pascal_voc.py文件,这个是必须要更改的,代码中 self._classes要来指定识别的类别,在33行修改:将代码中的类别替换为自己数据集的类别(不要更改'__background__'!!例如我需要分类的类别为card1,则选择一个原有类别更换为“card1”)
3.3 修改完参数后运行Faster-RCNN-TensorFlow-Python3.5-master\train.py即可训练。
训练结果被保存到了Faster-RCNN-TensorFlow-Python3.5-master\default\voc_2007_trainval\default
注:如果要再次进行训练,需要把Faster-RCNN-TensorFlow-Python3.5-master\default\voc_2007_trainval\default和Faster-RCNN-TensorFlow-Python3.5-master\output\vgg16\voc_2007_trainval\default路径下之前训练产生的模型和data/cache路径下的cache删掉
3.4 训练过程中出错:报错No module named ‘lib.utils.cython_bbox’
解决流程
3.4.1 修改Faster-RCNN-TensorFlow-Python3\data/coco/PythonAPI/setup.py文件:在第15行加上
,
Extension( 'lib.utils.cython_bbox',
sources=['../../../lib/utils/bbox.c','../../../lib/utils/bbox.pyx'],
include_dirs = [np.get_include(), '/lib/utils'],
extra_compile_args=[], )
3.4.2. 由于没有bbox.c和blob.py文件。所以要先在Faster-RCNN-TensorFlow-Python3\lib\utils执行
python setup.py build_ext --inplace
生成cython_bbox.c和cython_bbox.pyx,然后将这两个改名为bbox.c和bbox.pyx。
3.4.3. 再在./data/coco/PythonAPI下面运行
python setup.py build_ext --inplace
python setup.py build_ext install
4. 测试并可视化训练loss
4.1 首先进入demo.py文件,修改几处代码:
1)39行的vgg16_faster_rcnn_iter_70000.ckpt修改为vgg16_faster_rcnn_iter_20000.ckpt
2)由于本文是复现VGG16模型,所以将demo.py的第104行原来默认的res101,改成我们现在用的vgg16。
![]()
3)106行的default='pascal_voc_0712’改为pascal_voc

本文详细介绍使用Faster RCNN模型结合TensorFlow框架进行目标检测的全过程,涵盖数据准备、模型训练、损失可视化及评估指标计算等关键步骤。
最低0.47元/天 解锁文章
860

被折叠的 条评论
为什么被折叠?



