于存江,张广宇
(长春大学电子信息工程学院 吉林 长春 130000)
在某种程度上,深度学习可以理解为对于神经网络结构的加深,其也是通过自主学习功能,实现对数据进行处理的过程,尤其是在高维数据处理中。在深度学习网络模型中,其中间层不止一个,通过将深度学习的特征和分类器进行整合,简化网络模型结构,从而获取低层的特征向量,通过不断对模型进行训练,从而实现模型的优化。当前在图像检测和复杂控制领域中,都得到了良好的应用和发展。
对于深入研究,需要联合运用计算机软件系统。当前,国内外关于深度学习的框架软件中,较为常见的有Caffe和Pytorch等。通过对比各学习框架的优缺点,得出Caffe深度学习框架具有明显的优势,其具有扩展性能佳、计算效率高、开放性好等特征,因此在该领域得到了广泛的应用。
Caffe是由著名学者贾扬清开发的,其主要运用了C++语言,能够实现与MATLAB的互通连接,同时能够提供包括Python等软件的接口,通过对图像实现可视化的操作,充分训练和利用CPU,对于强化其图像识别、处理能力有着理想的效果。本文的研究中,综合运用Caffe深度学习框架实现课题研究。
无论是单特征还是多特征融合的检测方法,都具有鲁棒性差、操作复杂等缺点,为了能够进一步解决这个问题,本文提出了基于深度学习的检测方法,能够很好地解决上述问题。在深度学习领域中,Faster R-CNN是该领域的一个重要方法,当前情况下已经获得了较多的研究成果,基于此,本文采用该方法完成对交通标志进行检测的目的。
Fukushimal(1984)提出了神经感知机,这种方式的提出被认为是CNN的首次构建,其实现了神经元部分连接和分层结构模型的建立。LeCun课题组(1989)对CNN模型进行了优化和改进,其融合了手写识别技术,取得了一定的科研成果。目前,CNN已经在实际生活中得到了越来越广泛的应用,特别是在计算机视觉领域中,其特有的优点和性能都得到了充分的发挥和利用。
在深度学习领域中,CNN是最为常用的,其具体的构成主要包含3个部分,见图1。其中输入层的构建通常为特征映射获取的数据或图片;全连接层主要包含两个功能,一个功能是卷积,另一个功能是池化,前者主要目的是对特征值进行卷积运算,后者主要是对特征值进行提取和转换,从而降低预检测数据的维度;输出层的构建主要是一些结构简单的分类器。
图1 CNN结构图
通常情况下,调整待检测图像相应尺寸像素块,经过求和处理之后,缩小其特征。然后采用池化处理,将数据结果的维度进行有效降低,从而简化计算过程,减少拟合现象的发生频率。
CNN模型,对神经网络中的共享权值和局部连接都产生了较好的效果,不仅简化了计算过程,也在较大程度上提升了训练速度,在输入特征值和输出特征值之间的关系并未确定的前提下,也能够实现对样本的高效训练,从而确定高维数据之间的关系。
本文采用Faster R-CNN算法。在获取到待测的目标图像后,CNN首先完成特征向量的提取,通过对特征进行卷积和池化处理,从而获取高维图像特征,将其用于对检测网络和RPN网络的共享环境中;RPN网络通过对共享特征的有效利用,从而确定交通标志的具体位置;检测网络则是通过对交通标志的具体位置进行微调操作,从而提升检测的准确度,然后获取最终的检测结果,并对检测结果进行分类。见图2。
图2 Faster R-CNN结构图
在对交通标志检测和识别时,能否对待测样本的特征进行准确提取,会对检测和识别的最终结果产生重要影响,综合过去的研究成果,大多数采用的提取方法为人工进行设计的,其中比较常见的特征提取方法,如加速鲁棒特征和方向梯度直方图等。但是在对图像进行特征提取的过程中,对其进行有效的设计和优化,通常需要耗费大量的时间和精力,其所设计的提取方法的特征好坏,会对实际检测结果产生较大影响。
与传统特征方法相比,CNN摒弃了传统方法的不足,具有较为突出的优点,CNN算法在获取交通标志图像信号后,能够通过对图像信号进行卷积和池化处理的方式,从而自动获取图像特征,在一定程度上提升了获取图像的效率。此外,还通过对权值进行共享,简化了数据构建的过程,获取了图像的高维特征,对于图像特征的提取结果进行了优化。
由于在对交通标志检测时,待检测的交通标志通常较小,如果网络太深,在进行提取的过程中,就会使得原始图像目标中的位置信息遭到破坏。因此,在对待测目标的特征提取进行网络选择时,以Faster R-CNN的基本原理作为基础,最终确定了ZF网络的选择,不仅对网络层数较深的缺点进行了优化,也进一步提升了待测目标的检测效果。
采用传统方法对图像进行检测时,通常会设置一个滑窗,通过滑窗滑动实现对待测目标的扫描工作,当滑窗进入到待测目标的待测范围内,通过检测分类器就能够实现对检测目标的准确检测。但是采用传统的检测方法具有一定的时差性,此外检测效果不佳。
为了解决上述问题,采用RPN网络,其特征是能够完成对于候选区数据信息的生成,其内部结构采用全连接,Faster R-CNN算法过程中的关键环节。其工作原理为,在ZF中生成一个滑窗,其大小为3×3,提取高维并输入到256维区域中,再次输入到全连接层中,即可确定目标位置参数。
本文通过Faster R-CNN算法实现对交通标志的检测,其特征是能够改善传统检测方法检测速度慢、占用内存多等问题。
Faster R-CNN算法在实际应用过程中,其步骤可以简化描述为:
(1)随意待检测图像作为输入参数。
(2)预处理待检测图像,借助CNN提取图像特征,然后借助RPN网络共享卷积特征,从而构建完成建议区域,在锚点界定过程中引入了Softmax,以鉴定是否为预设目标。
(3)对判断后的锚点进行回归修正处理,从而对目标区域进行精准确定,然后对卷积特征和目标区域进行整合,进而得到目标区域特征图。
(4)分析目标区域特征,借助网络全连接层的针对性检测,完成类别判断,并多次进行回归修正,以确保目标位置数据的有效性和准确性。
(5)分类和输出检测结果。
Faster R-CNN识别模型的检测算法具体流程,见图3。
图3 检测算法流程
获取训练数据后,构建训练模型,优化网络参数,使得其能够对交通检测标志中的小目标检测达到良好效果,通过离线训练的方式得到模型结构,输入待测图像数据,以获得检测结果[1-2]。
Faster R-CNN算法模型主要包含两种训练方式,近似联合方式和交替优化方式。不过这里我们需要强调的是,虽然两种方法在效果上没有本质差异,但是前者从本质上来说是端到端的方式,与交替优化相比,其对于硬件系统的要求较低,能够在一定程度上提升训练效率。
在网络训练过程中,反向传播是一种利用率较高的方法,其不仅能够使得检测效果更好,也能够在一定程度上优化模型参数。
采用随机梯度下降算法实现检测,能够减少计算过程,在训练样本数量较大时,能够提升训练的响应速度,节省训练时间,同时能够实现在线更新。
对参数进行更新处理:(1)输入需要训练的样本数据;(2)借助高斯分布赋予初始数值;(3)以训练参数和样本为基础,不断向前传播以生成输出值;(4)分析预测结果和实际结果的差异,从而获取参数梯度数值;(5)调整学习效率,以误差极小化更新参数;(6)重复3到5,直到收敛。
在传统CNN检测方法的基础上,选取了Faster R-CNN算法模型对其进行了优化。首先阐述了该算法的基本原理,本文采用Faster R-CNN检测算法,是基于深度学习原理,其具备检测速度快、检测准确性高等优点,与传统检测方式相比,该算法无论是在检测效果上,还是鲁棒性能上,都得到了进一步的提高[3]。