当前位置:网站首页>【交通标志识别】基于matlab GUI YCbCr特征提取+BP神经网络交通标志识别【含Matlab源码 1869期】
【交通标志识别】基于matlab GUI YCbCr特征提取+BP神经网络交通标志识别【含Matlab源码 1869期】
2022-06-11 00:46:00 【海神之光】
一、BP神经网络交通标志识别简介
1 引言 (Introduction)
交通标志识别是图像处理和模式识别领域的一个研究热点, 广泛应用于无人驾驶汽车、车载导航等领域, 具有很强的实际应用价值。虽然交通标志的图形结构较为简单, 但对自然环境下的交通标志进行识别, 面临着遮挡、噪声、光照多变性、形状失真等多方面的严峻挑战, 因此交通标志识别是模式识别领域的重点研究内容之一。
2 机器学习方法简述 (Three kinds of machine learning methods)
2.1 BP神经网络
BP神经网络是一种按误差逆传播学习算法训练的多层前馈网络, 能学习和存贮大量的输入—输出模式映射关系, 是目前应用最为广泛的神经网络模型之一。
BP神经网络的学习过程由信号的正向传播与误差的反向传播两个过程组成。正向传播的方向为输入层→隐层→输出层, 每层神经元的状态只影响下一层神经元, 在输出层获得响应, 若实际输出与期望输出不符, 则进入误差反向传播阶段。误差反向传播阶段是从输出层经过隐层向输入层反传, 并逐层修正权值, 不断提高正确率。两个过程的交替进行, 是网络误差函数达到最小值, 从而完成信息提取和记忆过程。
3 BP神经网络识别交通标志
(1) 图像预处理
预处理的目的是提高图像对比度, 增强有用信息。本实验的预处理操作是灰度转换 (自适应阈值法) 及二值化。
(2) 特征提取
特征提取是通过降维获得最能反映样本本质的低维特征。本实验采用粗网格特征提取。首先采用最临近插值法将样本缩放至70×50, 再将样本划分成10×10大小的网格, 统计每个网格中像素值, 形成35维的特征向量。
(3) BP神经网络的设计
BP算法可应用于四层或更多的前馈网络, 却更易陷入局部极小点而不收敛, 因此选用三层BP网络, 同时选用有动量因子介入的训练方法, 避免陷入局部极小值。
对于激励函数的选择, 通常采用对数S函数、双曲正切S函数及线性函数。MATLAB中提供三种传递函数与上述激励函数相对应:logsog函数、tansig函数和线性purelin函数。鉴于本文实验输出, 选用tansig函数。
迄今为止, 对隐含层节点数目的选择仍无法用完备的理论解决, 但是要在满足精度要求下尽可能紧凑神经网络的结, 即尽可能减少隐层节点数。一般情况下, 隐层结点个数根据具体训练结果确定。
对于训练函数的选择, 本文采用traingdx函数, 是在动量法的基础上集合自适应学习速率法, 自动调节学习率, 能够有效缩短训练时间。
设置本实验的最大迭代次数1000, 期望目标1e-5, 动量因子0.95。
二、部分源代码
function varargout = Traffic_Iden(varargin)
% TRAFFIC_IDEN MATLAB code for Traffic_Iden.fig
% TRAFFIC_IDEN, by itself, creates a new TRAFFIC_IDEN or raises the existing
% singleton*.
%
% H = TRAFFIC_IDEN returns the handle to a new TRAFFIC_IDEN or the handle to
% the existing singleton*.
%
% TRAFFIC_IDEN('CALLBACK',hObject,eventData,handles,...) calls the local
% function named CALLBACK in TRAFFIC_IDEN.M with the given input arguments.
%
% TRAFFIC_IDEN('Property','Value',...) creates a new TRAFFIC_IDEN or raises the
% existing singleton*. Starting from the left, property value pairs are
% applied to the GUI before Traffic_Iden_OpeningFcn gets called. An
% unrecognized property name or invalid value makes property application
% stop. All inputs are passed to Traffic_Iden_OpeningFcn via varargin.
%
% *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one
% instance to run (singleton)".
%
% See also: GUIDE, GUIDATA, GUIHANDLES
% Edit the above text to modify the response to help Traffic_Iden
% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @Traffic_Iden_OpeningFcn, ...
'gui_OutputFcn', @Traffic_Iden_OutputFcn, ...
'gui_LayoutFcn', [] , ...
'gui_Callback', []);
if nargin && ischar(varargin{
1})
gui_State.gui_Callback = str2func(varargin{
1});
end
if nargout
[varargout{
1:nargout}] = gui_mainfcn(gui_State, varargin{
:});
else
gui_mainfcn(gui_State, varargin{
:});
end
% End initialization code - DO NOT EDIT
三、运行结果


四、matlab版本及参考文献
1 matlab版本
2014a
2 参考文献
[1] 蔡利梅.MATLAB图像处理——理论、算法与实例分析[M].清华大学出版社,2020.
[2]杨丹,赵海滨,龙哲.MATLAB图像处理实例详解[M].清华大学出版社,2013.
[3]周品.MATLAB图像处理与图形用户界面设计[M].清华大学出版社,2013.
[4]刘成龙.精通MATLAB图像处理[M].清华大学出版社,2015.
[5]张兴国,刘晓磊,李靖,王环东.BP神经网络下的限速交通标志实时检测识别[J].西安电子科技大学学报. 2018,45(05)
[6]钟玲,于雅洁,张志佳,靳永超.交通标志识别算法的对比与分析[J].软件工程. 2016,19(01)
边栏推荐
- Leetcode linked list queue stack problem
- [VBA Script] extract the information and pending status of all annotations in the word document
- I was so excited about the college entrance examination in 2022
- 2021-07-18 ROS笔记-基础和通讯
- 1.5 Px4 vehicle selection
- 1.3 ROS 无人机简介
- [path planning] week 1: Path Planning open source code summary (ROS) version
- Leetcode 1094 car pooling (Analog)
- 1.2、ROS+PX4预备基础知识
- Leetcode divide and conquer method
猜你喜欢

threejs:两点坐标绘制贝赛尔曲线遇到的坑

SAS factor analysis (proc factor process, factor rotation and regression method for factor score function)

Leetcode 2054 two best non overlapping events
![[Li mu] how to read papers [intensive reading of papers]](/img/41/7e1ff1db2f7a848c8702c186c79fe5.jpg)
[Li mu] how to read papers [intensive reading of papers]

Leetcode search questions

关于概率统计中的排列组合

關於概率統計中的排列組合
![[leetcode] intersecting linked list](/img/e0/ee1b0503f92b42916d81fda02129ba.jpg)
[leetcode] intersecting linked list

threejs:流光效果封装

A brief history of neural network
随机推荐
Multipartfile and file interoperation tool classes
SAS principal component analysis (finding correlation matrix, eigenvalue, unit eigenvector, principal component expression, contribution rate and cumulative contribution rate, and data interpretation)
面试官:介绍一下你简历中的项目,细讲一点,附项目实战
ROS参数服务器
1.4px4 program download
1.3 introduction to ROS UAV
threejs:流光效果封装
Loki 学习总结(1)—— Loki 中小项目日志系统的不二之选
2021-2-14 gephi学习笔记
Tencent cloud database tdsql- a big guy talks about the past, present and future of basic software
【HaaS Hands-On】全新视频节目上线 创意案例我们一起上手做 第一期E01: 物联网工程师 和你一起上手做遥控机械臂
1.4PX4程序下载
Classic questions: 01 backpack, complete backpack, multiple backpack, two-dimensional cost Backpack
China-open-ssl编译的一些记录
[cloud native | kubernetes] actual combat of ingress case
SAS factor analysis (proc factor process, factor rotation and regression method for factor score function)
懒汉式单例模式
2021-02-27image processing of MATLAB
薪的测试开发程序员们,你为何要走?和产品相互残杀到天昏地暗......
[leetcode] reverse linked list II