自动驾驶目标检测项目实战——基于Faster-RCNN的交通标志检测
目前目标检测算法有很多,流行的就有faster-rnn和yolov,本文使用了faster-rnn框架进行训练,效果还不错,准确率,当然也可以使用更高版本的Yolov进行实战。本代码使用的是keras框架,本代码参考于代码:
https://github.com/arindam93/Traffic-Sign-Detection-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
基础代码准备
本工程基于开源代码进行修改:
https://github.com/miemie2013/Keras-DIOU-YOLOv3
环境
tensorflow==1.15.0
keras==2.3.1
其他看着来,缺什么pip install什么。
使用步骤
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文件夹里面:
识别结果:
好了,今天的学习到这里,保持下一个项目的学习与研究。
需要代码的同学私信。