一种基于卷积神经网络的交通标志识别方法和系统与流程

文档序号:20876131发布日期:2020-05-26 16:33阅读:237来源:国知局
一种基于卷积神经网络的交通标志识别方法和系统与流程

本发明涉及机器视觉领域,具体涉及一种基于卷积神经网络的交通标志识别方法和系统。



背景技术:

随着人们生活的进步,车辆已经是人们不可或缺的交通工具,但是由于汽车的保有量急剧增加,导致交通堵塞,事故频繁的发生,因此提高汽车智能化的行驶安全性能已是自动驾驶车辆的首要任务。随着车辆智能化技术发展,无人驾驶车辆技术成为了自动驾驶系统的重要研究领域。

自动驾驶车辆和驾驶员辅助系统普遍是依靠车载摄像头摄取的图像进行检测识别,再通过系统的一系列运算反馈给车辆做出正确的动作。摄像头收集图片时,车辆都是在运动状态下完成的,再加上室外交通环境复杂,识别图像中的物体要比一般静止的图片难度更大。主要困难体现在运动模糊、光照多变复杂、硬件问题、角度倾斜、外物遮掩等。

近年来随着卷积神经网络理论及应用的开发,诸多图像分类方法都已不再需要人工进行提取,而是把图像传输入神经网络中,让神经网络自主学习,自行提取图像的多个特征,之后在通过分类器进行图像的识别分类。



技术实现要素:

本申请提供了一种基于卷积神经网络的交通标志识别方法和系统,应用于环境复杂的交通标志识别,针对交通标志图像所处环境的多变,拍摄角度不同,运动模糊,光照强度多变等情况下无法进行快速、准确的分类问题。

为达到以上目的,本发明采取的技术方案是:

一种基于卷积神经网络的交通标志识别方法,其包括如下步骤:

s1:获取若干交通标志图像,各所述交通标志图像预设所属类别;

s2:对若干由所述交通标志图像组成的训练数据集和测试数据集进行预处理;

s3:构建卷积神经网络;

s4:将所述训练数据集输入到已构建的卷积神经网络中,通过反向传播算法、改进网络内部参数,进行连续多次的迭代训练,以便生成交通标志识别模型;

s5:将所述测试数据集输入到所述交通标志识别模型中,输出所述交通标示图像识别分类结果。

进一步地,所述s2中,对所述交通标志图像进行预处理,包括步骤:

s21:对所述交通标志图像进行图像裁剪;

s22:将裁剪后的所述交通标志图像进行标准化处理;

s23:将标准化处理后的所述交通标志图像进行尺寸归一化处理;

s24:输出预处理后用作所述卷积神经网络输入图像的所述交通标志图像。

进一步地,在所述s22中,所述交通标志图像的标准化处理的运算公式采用:

其中,μ为图像的均值,x为图像矩阵,σ为标准方差,p为图像的像素数。

进一步地,在所述s3中,所述卷积神经网络中包括用于模型训练的依次连接的输入层、第一卷积层、第二池化层、第三卷积模块组、第四池化层、第五卷积层、第六池化层、第七卷积层、第八全连接层、输出层;

其中,所述第三卷积模块组包括三个分支,包括第一分支、第二分支以及第三分支;

所述第一分支包括第一分支第一卷积层、第一分支第二卷积层;

所述第二分支包括第二分支第一卷积层、第二分支第二卷积层;

所述第三分支包括第三分支卷积层;

通过预设的卷积参数,进行卷积处理的各层在获取上层的图像进行卷积处理后,得到的特征图像的数量呈梯度上升趋势;

通过预设的池化参数,进行池化处理的各层在获取上层的图像进行池化处理后,得到的特征图像的尺寸呈梯度下降趋势;

所述第八全连接层预设有若干神经元,各所述神经元连接所述输出层,用于输出分类结果。

进一步地,所述卷积神经网络中用于池化处理的各层采用最大池化方式进行池化处理。

进一步地,所述卷积神经网络中预设有多种卷积处理方式,其中,

所述第五卷积层、第七卷积层采用valid填充方式进行卷积运算;

所述第一卷积层、第三卷积模块组采用same填充方式进行卷积运算。

进一步地,所述卷积神经网络中用于卷积处理的各层中预设有激活函数;所述激活函数采用relu激活函数,所述relu激活函数的表达式为:f(x)=max(0,x),其中,x表示各卷积层的输出。

进一步地,所述卷积神经网络中进行卷积处理的各层的卷积核初始化方法采用高斯初始化方法,其中,所述高斯初始化方法的表达式为:

其中,a为relu激活函数的负半轴斜率,nl为输入的维数,即nl=卷积核边长2*通道数。

进一步地,所述卷积神经网络中的所述输出层通过softmax函数获取图像所属类别的概率,并选择概率最大值的分类为最后分类结果,所述softmax函数的表达式为:

其中,n表示图像分类的个数,ck为输出属于第k类。

为达到以上目的,本发明采取的另一技术方案是:

一种基于卷积神经网络的交通标志识别系统,所述系统包括:采集模块、预处理模块、构建模块、训练模块、识别模块,

所述采集模块用于获取若干交通标志图像,各所述交通标志图像预设所属类别;

所述预处理模块用于对若干由所述交通标志图像组成的训练数据集和测试数据集进行预处理;

所述构建模块用于构建卷积神经网络;

所述训练模块用于将所述训练数据集输入到已构建的卷积神经网络中,通过反向传播算法、改进网络内部参数,进行连续多次的迭代训练,以便生成交通标志识别模型;

所述识别模块用于将所述测试数据集输入到所述交通标志识别模型中,输出所述交通标示图像识别分类结果。

一种交通标志识别装置,包括处理器、存储器,所述处理器在执行存储于存储器上的计算机程序时,用于实现如前文所述的基于卷积神经网络的交通标志识别方法。

一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,用于实现如如前文所述的基于卷积神经网络的交通标志识别方法。

相比现有技术,本发明具有的有益效果:

本发明针对车载环境中取得的交通标志图像进行识别,能够取得较高的准确率,同时网络模型的训练时间相对较短,有效的解决了识别时间长、过拟合的难题。

附图说明

图1为本发明的一种基于卷积神经网络训练和测试过程的示意图。;

图2为本发明的一种交通标志图像的预处理过程示意图;

图3为本发明的一种基于卷积神经网络结构示意图。

具体实施方式

为了便于理解本发明,下面通过具体实施方式结合附图对本发明作进一步详细说明。

附图中给出了本发明的较佳实施方式。图1为本发明的一种基于卷积神经网络训练和测试过程的示意图;图2为本发明的一种交通标志图像的预处理过程示意图;图3为本发明的一种基于卷积神经网络结构示意图。除非另有定义,本文所使用的所有的技术和科学术语与所属于本发明的技术领域的技术人员通常理解的含义相同。

参照附图,本申请提供了一种基于卷积神经网络的交通标志识别方法,该方法应用于环境复杂的交通标志识别,针对交通标志图像所处环境的多变性,拍摄角度不同,运动模糊,光照强度多变等情况下进行快速、准确的分类。

为实现上述目的,参考图1,本次发明所设计的一种基于卷积神经网络的交通标志识别方法,该方法包括步骤:

s1:获取若干交通标志图像;

s2:对若干由交通标志图像组成的训练数据集和测试数据集进行预处理;

s3:构建卷积神经网络;

s4:将训练数据集输入到已构建的卷积神经网络中,通过反向传播算法、改进网络内部参数,进行连续多次的迭代训练,以获取交通标志识别模型;

s5:将测试数据集输入到交通标志识别模型中,输出交通标示图像识别分类结果。

在步骤s1中,获取若干交通标志图像,包括模拟在自然环境下行驶车辆采集的交通标志图像,在一种实施例中,包括在各个环境中、不同拍摄角度、各种行驶状态下、各种光照强度下的交通标志图像等,并且根据不同情况进行快速准确的分类。

在步骤s2中,对若干由交通标志图像组成的训练数据集和测试数据集进行预处理;进一步地,包括对训练数据集和测试数据集中的各个交通标志图像进行预处理;根据不同情况,本实施例中,可根据不同情况将交通标志图像划分为包括多类的交通标志图像的训练数据集和测试数据集。进一步地,对训练数据集和测试数据集中的各个交通标志图像进行预处理,使训练数据集和测试数据集中的各个交通标志图像处理为尺寸统一的三通道彩色图像。

本实施例中,参考图2,对各个交通标志图像进行预处理,包括步骤:

s21:对交通标志图像进行图像裁剪;

s22:将裁剪后的交通标志图像进行标准化处理;

s23:将标准化处理后的交通标志图像进行尺寸归一化处理;

s24:输出预处理后用作卷积神经网络输入图像的交通标志图像。

其中,在步骤s22中,各交通标志图像的标准化处理的运算公式采用:

其中,μ为图像的均值,x为图像矩阵,σ为标准方差,p为图像的像素数。

进一步地,

其中,adjusted_stddev为调整样本标准偏差。

在步骤s3中,卷积神经网络中包括用于模型训练的依次连接的输入层、第一卷积层、第二池化层、第三卷积模块组、第四池化层、第五卷积层、第六池化层、第七卷积层、第八全连接层、输出层。

其中,第三卷积模块组包括三个分支,包括第一分支、第二分支以及第三分支;第一分支包括第一分支第一卷积层、第一分支第二卷积层;第二分支包括第二分支第一卷积层、第二分支第二卷积层;第三分支包括第三分支卷积层。

其中,通过预设的卷积参数,进行卷积处理的各层在获取上层的图像进行卷积处理后,得到的特征图像的数量呈梯度上升趋势。通过预设侧池化参数,进行池化处理的各层在获取上层的图像进行池化处理后,得到的特征图像的尺寸呈梯度下降趋势。第八全连接层预设有若干神经元,各神经元连接输出层,用于输出分类结果。

本实施例中的卷积神经网络中用于池化处理的各层采用最大池化方式进行池化处理,进一步地,第二池化层、第四池化层以及第六池化层采用最大池化方式处理。

本实施例中的卷积神经网络中预设有多种卷积处理方式,其中,第五卷积层、第七卷积层采用valid填充方式进行卷积运算;第一卷积层、第三卷积模块组采用same填充方式进行卷积运算,进一步地,第一卷积层、第一分支第一卷积层、第一分支第二卷积层、第二分支第一卷积层、第二分支第二卷积层、第三分支卷积层采用same填充方式进行卷积运算。

卷积神经网络中用于卷积处理的各层中预设有激活函数,常见的激活函数包括sigmod激活函数、tanh激活函数、elu激活函数、relu激活函数等。本实施例中的激活函数采用relu激活函数,其中,relu激活函数的表达式为:f(x)=max(0,x),其中,x表示各卷积层的输出。

进一步地,sigmod激活函数、tanh激活函数、elu激活函数等函数,计算激活函数时,计算量大,反向传播求误差梯度时,求导涉及除法,计算量相对大,而采用relu激活函数,relu激活函数会使一部分神经元的输出为0,这样就造成了网络的稀疏性,并且减少了参数的相互依存关系,缓解了过拟合问题的发生,整个过程的计算量节省很多。

卷积神经网络中进行卷积处理的各层的卷积核初始化方法采用高斯初始化方法,本实施例中的高斯初始化方法的表达式为:

其中,a为relu的负半轴斜率,nl为输入的维数,即nl=卷积核边长2*通道数。

在神经网络的训练中如果将权重全部初始化为0,则第一遍前向传播过程中,所有隐藏层神经元的激活函数值都相同,导致深层神经元可有可无,造成对称权重现象,因此,本实施例中,采用最简单常用的高斯分布初始化权重能够达到训练效果。

卷积神经网络中的输出层通过softmax函数获取图像所属类别的概率,并选择概率最大值的分类为最后分类结果。本实施例中的softmax函数的表达式为:

其中,n表示图像分类的个数,表示输出属于第k类。

参考图3,以下通过设置具体参数,进行通过卷积神经网络的模型训练的详细描述。

卷积神经网络通过进行模型训练获取交通标志识别模型,卷积神经网络中用于模型训练的各个处理层,包括依次连接的输入层、第一卷积层、第二池化层、第三卷积模块组、第四池化层、第五卷积层、第六池化层、第七卷积层、第八全连接层、输出层;其中第三卷积模块组包括三个分支,包括第一分支、第二分支以及第三分支,第一分支包括第一分支第一卷积层、第一分支第二卷积层;第二分支包括第二分支第一卷积层、第二分支第二卷积层;第三分支包括第三分支卷积层。

预设参数,在一种实施例中,将各个交通标志图像处理为像素值为48*48的rgb三通道的彩色图像,使得各个交通标志图像为可进行卷积神经网络图像输入的48*48的rgb三通道的彩色图像。其中,本实施例中,包括n类交通标志图像m张,进一步地,由交通标志图像组成的训练数据集x张、由交通标志图像组成的测试数据集y张,x<m,y<m。

本实施例中的卷积神经网络的模型训练的步骤包括:

步骤1:将由交通标志图像组成的训练数据集和测试数据集中的各个交通标志图像输入到输入层中,即输入的交通标志图像为48*48*3;

步骤2:第一卷积层获取输入层输入的各个交通标志图像,对各个交通标志图像进行特征提取。第一卷积层conv1中的卷积核尺寸为3*3,卷积核数量为16,经过卷积处理后各交通标志图像获取16个尺寸为48*48的交通标志图像的特征图像,即输出的特征图像为conv1:3*3*16。

步骤3:第二池化层获取第一卷积层提取的特征图片,包括16个尺寸为48*48的交通标志图像的特征图片,第二池化层maxpool1采用最大池化方式对特征图片进行池化处理,池化处理的尺寸为2*2,步长为2,经过池化处理后,提取出16个尺寸为24*24的交通标志图像的特征图片,即输出的特征图像maxpool1:2*2。

步骤3:第三卷积模块组包括三个分支,从步骤3中获取的16个尺寸为24*24的交通标志图像的特征图片分别经过第一分支、第二分支以及第三分支进行卷积处理。进一步地:

a、第一分支第一卷积层获取第二池化层提取的特征图片,包括16个24*24的交通标志图像的特征图片,第一分支第一卷积层conv2_1中的卷积核尺寸为3*3,卷积核数量为32个,即输出的特征图像conv2_1:3*3*32;第一分支第二卷积层conv2_2中的卷积核尺寸为3*3,卷积核数量为64,即输出的特征图像conv2_2:3*3*64。依次经过第一分支第一卷积层、第一分支第二卷积层卷积处理后,提取出64个尺寸为24*24的交通标志图像的特征图片。

b、第二分支第一卷积层获取第二池化层提取的特征图片,包括16个24*24的交通标志图像的特征图片,第二分支第一卷积层conv3_1中的卷积核尺寸为3*3,卷积核数量为32个,即输出的特征图像conv3_1:3*3*32;第一分支第二卷积层conv3_2中的卷积核尺寸为1*1,卷积核数量为16,即输出的特征图像conv3_2:1*1*16,依次经过第二分支第一卷积层、第二分支第二卷积层卷积处理后,提取出16个尺寸为24*24的交通标志图像的特征图片。

c、第三分支卷积层获取第二池化层提取的特征图片,包括16个24*24的交通标志图像的特征图片,第三分支卷积层conv4中的卷积核尺寸为1*1,卷积核数量为32,经过卷积处理后处32个尺寸为24*24的交通标志图像的特征图片,即输出的特征图像conv4:1*1*32。

d、经过a、b、c三个分支,进行三个分支的维度堆叠,运算提取出112个尺寸为24*24的交通标志图像的特征图片,即输出的特征图像conv5:1*1*112。

步骤4:第四池化层获取第三卷积模块组提取的特征图片,包括112个尺寸为24*24的交通标志图像的特征图片,第四池化层采用最大池化方式对特征图片进行池化处理,池化处理的尺寸为2*2,步长为2,经过池化处理后,提取出112个尺寸为12*12的交通标志图像的特征图片,即输出的特征图像maxpool2:2*2。

步骤5:第五卷积层获取第四池化层提取的特征图片,包括112个尺寸为12*12的交通标志图像的特征图片,第五卷积层中的卷积核尺寸为3*3,卷积核数量为256,经过卷积处理后各交通标志图像提取出256个尺寸为10*10的交通标志图像的特征图像,即输出的特征图像conv6:3*3*256。

步骤6:第六池化层获取第五卷积层提取的特征图片,包括256个尺寸为10*10的交通标志图像的特征图片,第六池化层采用最大池化方式对特征图片进行池化处理,池化处理的尺寸为2*2,步长为2,经过池化处理后,提取出256个尺寸为5*5的交通标志图像的特征图片,即输出的特征图像maxpool3:2*2。

步骤7:第七卷积层获取第六池化层提取的特征图片,包括256个尺寸为5*5的交通标志图像的特征图片,第七卷积层中的卷积核尺寸为3*3,卷积核数量为512,经过卷积处理后各交通标志图像提取出512个尺寸为3*3的交通标志图像的特征图像,即输出的特征图像conv7:3*3*512。

步骤8:第八全连接层获取第七卷积层提取的特征图片,包括512个尺寸为3*3的交通标志图像的特征图像。第八全连接成中包含120个神经元,即fc1:120,各个神经元的节点连接到输出层。

步骤9:输出层softmax将各交通标志图像的特征图像输出分类结果。

本申请还提供了一种基于卷积神经网络的交通标志识别系统,该系统包括:采集模块、预处理模块、构建模块、训练模块、识别模块,采集模块用于获取若干交通标志图像;所述预处理模块用于对若干由所述交通标志图像组成的训练数据集和测试数据集进行预处理;所述构建模块用于构建卷积神经网络;所述训练模块用于将所述训练数据集输入到已构建的卷积神经网络中,通过反向传播算法、改进网络内部参数,进行连续多次的迭代训练,以获取交通标志识别模型;所述识别模块用于将所述测试数据集输入到所述交通标志识别模型中,输出所述交通标示图像识别分类结果。

作为本发明的一种实施例,提供了一种交通标志识别装置,交通标志识别装置包括:存储器,存储有计算机程序的程序指令;计算机程序的程序指令用于被处理器加载并执行以实现如前文的基于卷积神经网络的交通标志识别方法的步骤;处理器,用于加载并执行存储器上的程序指令,以实现前文的基于卷积神经网络的交通标志识别方法的步骤;其中,存储器可以包括易失性存储器(英文:volatilememory),例如随机存取存储器(英文:random-accessmemory,缩写:ram);存储器也可以包括非易失性存储器(英文:non-volatilememory),例如快闪存储器(英文:flashmemory),硬盘(英文:harddiskdrive,缩写:hdd)或固态硬盘(英文:solid-statedrive,缩写:ssd);存储器还可以包括上述种类的存储器的组合。其中,处理器可以是中央处理器(英文:centralprocessingunit,缩写:cpu),网络处理器(英文:networkprocessor,缩写:np)或者cpu和np的组合。其中,处理器还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(英文:application-specificintegratedcircuit,缩写:asic),可编程逻辑器件(英文:programmablelogicdevice,缩写:pld)或其组合。上述pld可以是复杂可编程逻辑器件(英文:complexprogrammablelogicdevice,缩写:cpld),现场可编程逻辑门阵列(英文:field-programmablegatearray,缩写:fpga),通用阵列逻辑(英文:genericarraylogic,缩写:gal)或其任意组合。

作为本发明的另一种实施例提供了一种可读存储介质,可读存储介质中存储有计算机程序的程序指令,计算机程序的程序指令用于被处理器加载并执行以实现如前文的基于卷积神经网络的交通标志识别方法的步骤。

以上应用了具体个例对本发明进行阐述,只是用于帮助理解本发明,并不用以限制本发明。对于本发明所属技术领域的技术人员,依据本发明的思想,还可以做出若干简单推演、变形或替换。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1