深度学习目标检测项目实战(二)—基于Faster-RCNN的交通标志检测

深度学习目标检测项目实战——基于Faster-RCNN的交通标志检测

目前目标检测算法有很多,流行的就有faster-rnn和yolov,本文使用了faster-rnn框架进行训练,效果还不错,准确率,当然也可以使用更高版本的Yolov进行实战。本代码使用的是keras框架,本代码参考于github开源的faster rcnn代码

Faster-RCNN

原理有很多大佬都写得很好,例如:
Faster-RCNN原理详解—该算法是其他算法的基础

Faster RCNN系列算法原理讲解(笔记)

数据集准备

https://drive.google.com/open?id=1qyMnM452ESdi5V_FOX9D_O1Q9S760SZh
使用越南交通标志数据集,不能翻墙的同学,我已整理了百度网盘下载:
链接:https://pan.baidu.com/s/1PUx1xkQWe_IVgP-p6PBJAA?pwd=n3nl
提取码:n3nl

基础代码准备
本工程基于开源代码进行修改。

环境

tensorflow==1.15.0
keras==2.3.1

前提是电脑或者服务器有cuda10.0,才能使用gpu训练,如果没有,只能安装tensorflow 1.14版本及以下,keras 2.2.4版本及以下。本人建议使用gpu训练。其他包缺什么pip什么即可,本人python使用3.6版本。

使用步骤

1.将数据集放在工程文件夹
在这里插入图片描述
可以看到已经有train和val的txt文件。

2.修改参数
这里的参数根据自己具体需要去修改,主要包括:
(1)train_frcnn.py里面的:
在这里插入图片描述
比如train_path,选择哪个模型(fcnet或vgg),还有迭代次数这些。
(2)config.py:
在这里插入图片描述
可以修改anchor的尺寸,比例。

3.训练
运行

python train_frcnn.py

4.训练完的结果:
在这里插入图片描述
hdf5保存权重偏置参数,pickle保存模型网络参数。损失如下:
在这里插入图片描述
准确率如下:
在这里插入图片描述
5.测试
在dataset/test_img里面放置需要检测的图片,几张都行
运行

python test_frcnn.py

结果保存在results_img文件夹里面:
在这里插入图片描述

识别结果:
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
好了,今天的学习到这里,保持下一个项目的学习与研究。

需要代码的同学私信。

猜你喜欢

转载自blog.csdn.net/weixin_39735688/article/details/129337916