微光环境下基于R-CNN优化算法的交通道路图像识别
2022-01-18滕碧红
滕 碧 红
(闽西职业技术学院 信息与制造学院, 福建 龙岩 364021 )
0 前 言
交通道路图像及标识一般包含路况信息、限速信息、行驶信息等重要的道路交通信息。准确识别交通道路图像及标识,对于规范驾驶员的安全驾驶行为、降低交通事故发生率具有重要意义[1-2]。在夜间环境、重度雾霾等微光环境下,由于可视范围窄、能见度低,对前方路况和道路交通的标识效果会大受影响[3-4],发生交通事故的风险也随之升高。近年来,图像处理技术的快速发展及应用,在提高交通道路图像和交通标识的识别效率方面起到了很大作用[5-6]。赵春丽等人提出了一种基于均衡直方图的图像增强技术,该技术适用于微光条件和复杂的交通场景,可均衡化处理交通图像细节,增强图像的局部信息[7]。但该算法的实现,首先需要对每个图像的像素进行处理,算法复杂且耗时过长,不利于大规模的推广应用。冯相辉提出了一种基于同态滤波的图像识别与增强算法,可以强化图像高频部分的处理效果,在降低噪声的同时提高图像局部细节的对比度和能见度[8]。但该算法同样存在计算量大的问题,且面对复杂的含噪道路交通图像时实际降噪效果难以达到预期。随着人工智能和机器学习算法的不断发展与成熟[9],目前可以应用人工智能算法、机器学习算法和神经网络算法等多种方法对低照度图像进行增强处理[10]。人工智能、机器学习及神经网络算法,一方面具有强大的图像数据处理能力,另一方面还具有较强的适用性和实际应用价值。
本次研究,是以现有的机器学习、深度学习及神经网络算法为基础,探讨一种基于R-CNN(Region-CNN,候选区域卷积神经网络)算法的交通道路图像识别方法,利用候选框提取图像相关信息,并基于回归器不断地修正目标,从而改善图像的清晰度和对比度,使微光环境下的车辆安全行驶系数得到提高。
1 交通道路图像的预处理
现有基于机器学习或深度学习的图像识别算法存在以下主要问题:首先,滑动窗口的选择缺乏针对性,会造成过多的数据冗余,加大了算法的复杂度和冗余度;其次,在提取图像特征时无法随着微光图像的特征变化而变换对策。而R-CNN算法是基于经典深度学习算法、卷积神经网络算法的优化算法,主要利用所采集图像的多重特征来强化图像的识别与检测效果,其基本算法结构如图1所示。首先,将目标图像划分为若干个候选区,对候选图像进行层级分组;然后,基于候选区图像的相似度对图像进行合并,并精确提取图像中的细节特征;最后,再利用分类回归分析算法进行特征分类,实现对目标交通图像的识别。
图1 R-CNN算法结构
对原始交通道路图像或交通标识图像进行预处理,是R-CNN算法的第一个重要步骤。在微光环境下,交通图像的亮度、清晰度均有所减弱,因此必须进行图像增强处理,但图像灰度增强以后易导致图像维数下降。为保持原有图像的梯度信息不变,采用加权法对于原始微光图像进行灰度化处理,从而增强图像的亮度并突出其原有细节。在微光环境下,采集的交通图像易受拍摄距离或角度等因素的影响而产生畸变,因此还应对交通图像尺寸进行归一化处理,以保证后续图像特征提取的准确性。在此,基于双三次插值方法纠正交通道路图像尺寸的变化,纠正过程如图2所示。
图2 交通道路图像的双三次插值法纠正过程
双三次插值,是指对目标像素点周边16个点值进行加权平均,以纠正原图像尺寸的偏差。像素点(i+a,j+b)的像素值计算如下:
g(i+a,j+b)=P1×P2×P3
(1)
P1=ω(1+a)·ω(a)·ω(1-a)·
ω(2+a)
(2)
(3)
P3=ω(1+b)·ω(b)·ω(1-b)·
ω(2-b)
(4)
式中:g为取值函数。
当采集到的交通道路图像数量较多时,为便于进行图像特征提取,需要对全部像素点作进一步的聚类处理。在采集和筛选图像的同时,对全部样本进行细化分类,并确定聚类中心。图像数据集Z中总共包含N个图像样本,表示为:
Z={zi,i=1,2,…,N}
(5)
式中zi∈RN(R为实数集)。均值聚类是对数据集Z中的样本进行聚类,使聚类后提取到的样本特征更相近。当全部交通图像的样本划分完毕后,每个单元Uj(j=1,2,…,k)都存在一个新的聚类中心cj,表示为:
(6)
根据单元Uj内每个像素点到聚类中心单元cj的欧式距离计算相似性,公式如下:
(7)
式中s为相似性函数。聚类中心单元的数量越多,图像像素相似性的计算结果就越准确,也越有助于提取交通道路图像的细节特征,但其相应的计算成本也会越高。
2 交通图像识别
完成预处理后,将图像数据集划分成若干候选区域,再利用R-CNN算法提取每个候选区的图像数据特征,判断检测目标是否在识别区域范围内。图像像素的筛选与检索流程如图3所示。
经典R-CNN算法流程中,需对每个候选区域都进行一次卷积,算法代价大、耗时长。为了提高效率,本次研究基于共享方案对经典R-CNN算法进行了优化。RPN(区域生成网络)是优化R-CNN算法的核心,通过滑动窗口实现卷积层的共享。窗口共享过程如图4所示。
图3 图像像素的筛选与检索流程
图4 R-CNN的共享滑动窗口结构
在推荐候选区的过程中,滑动窗口中间的锚点与不同形状的矩形锚框窗口的中心点相对应,利用滑窗共享CNN卷积层的一些功能,使交通道路图像像素的偏移量与畸变情况得到了改善,并使个别区域的亮度得到了增强。微观环境下交通图像的识别与检测,其效果更多地取决于图像子集特征的提取质量与特征融合效果。R-CNN优化算法模型的卷积层主要用于提取交通图像的特征,其内部由大量的卷积核构成,以不断卷积迭代的方式提取图像分块及图像子集的特征。通过原始图像的预处理及像素聚类分析,使图像中相近或关联密切的像素趋于集中,大幅降低了特征提取的难度和算法的复杂度。其中窗口与分块权值的共享机制,可避免算法的计算代价过高。
车辆运动中采集到的图像集具有实时性,在微观环境下采集的交通图像和标识经处理后仍可能畸变或失真。为此,在优化R-CNN算法的同时,引入了HOG(方向梯度直方图)算子用于辅助卷积层实现图像特征提取。首先,通过HOG算子将采集到的交通图像进一步细化成块,用于描述交通图像的局部梯度特征;然后,描述单位像素的水平梯度值gx(x,y)和垂直梯度值gy(x,y),并进一步计算出图像像素的大小梯度值f(x,y)和角度梯度值α(x,y):
(8)
计算每个块的梯度值时,按照权重比例顺序连接形成图像梯度直方图的特征项。在优化的算法模型中,随着数据复杂度的提高和网络层次的加深,输出特征的表达也趋于抽象和复杂,而浅层的信息有可能丢失。
以交通标识图像为例,其中小目标图像在整个图像数据集中所占的比例较大,需要对提取的特征进行多层融合以提高数据检测和识别的精度。由于提取的交通图像特征之间具有互补性,因此特征融合可以改善算法的性能。在此,选用级联融合的方式,将最终的融合结果作为RNP的数据输入项。融合后提取的数据特征,相对于单层提取方式获取的数据特征更加完整,可用于不同尺度对象的监测。优化算法模型中卷积层的前馈计算逻辑路径是自下而上,对于图像的像素目标而言,在相对较大的特征块上提取特征或其他操作,可以获得更多关于小目标的准确信息。
分类回归修正,是指对特征提取与融合后的交通图像作进一步的修正和完善,通常特征融合后的预测框和图像目标区会存在一定误差,基于边界回归修正和调整可使最终处理后的图像与真实交通道路场景更契合。特征融合后交通图像的大小为m×n,用p和q分别表示边界框的类别数和预测框数,利用坐标位置预测法对图像的位置进行最后的修正,预测框的坐标o和实际框的坐标o′表示如下:
o={opx,oqy,om,on}
o′={o′px,o′qy,o′m,o′n}
(9)
(10)
再对检测框依据分类置信度的大小重新排序,重复公式(10)的偏差求解方法,直到完成全部检测,使预测框与实际框的偏差值达到最小。
3 实验与分析
3.1 实验设计
在实验室的仿真环境下,模拟道路交通的微光环境,并应用Matlab仿真软件和Python 3.5.1编程软件搭建实验环境,实验操作系统为Windows 10专业版。仿真实验中选用的硬件如下:Intel Core i9处理器,处理器最高主频为3.6 GHz,系统运行内存16 GiB,显卡选用NVIDIA RTX 3080TiB,内存为12 GiB。实验所用数据集包含从GTSRB数据集中选出的部分交通道路图像数据,共包括3个大类中的14种小交通标识,图片总数量为5 400张。交通图像数据集的数量分布情况如图5所示。
图5 14种交通标识数据集的分布情况
3.2 实验结果分析
在微光仿真环境下,对14种交通标识图像数据集进行检测与识别,统计本次优化的R-CNN算法识别结果的准确率(见表1)。
当图像数据集的规模较小时(如第9组、第11组、第13组、第14组),两种传统算法也可以保持较高的图像识别准确率;当样本数量增加时,两种传统算法的处理性能下降,算法的识别准确率和算法的识别效率同步降低,耗时增加。3种算法的检测训练时间统计数据如表2所示。
表1 交通标识图像识别结果的准确率对比
表2 交通标识图像识别的耗时对比
以神经网络为基础的R-CNN算法在处理大规模复杂数据集时,具有较为明显的优势。这主要得益于卷积层的数据处理性能及共享滑动窗口的性能。与传统的交通图像检测与识别算法相比,优化的R-CNN算法耗时更少、效率更高,但其数据训练中会出现轻微的梯度损失。 R-CNN算法损失梯度值随着数据集规模的扩大而出现了上升的趋势,但仍保持在临界值以下(见图6),算法的识别和检测性能不会受到影响。
在夜间高速公路微光场景下,交通标识图像的亮度、对比度的增强效果如图7所示。
图7 3种算法的图像识别增强效果对比
在R-CNN算法下,图像的亮度和对比度得到显著增强,即使在微观环境下,也能够清晰地识别出高速公路的警示标识和导向标识。而在两种传统识别算法下,图像的对比度和亮度均较弱,画面较暗,无法清晰地识别出前方的障碍。
4 结 语
微光环境下对交通道路图像及标识的准确识别,很大程度上影响了车辆行驶的安全性。本次研究是在深度学习算法、卷积神经网络算法的基础上,提出一种优化的R-CNN交通图像识别算法。优化后的R-CNN算法,其优势在于利用滑动窗口共享卷积层,提高了数据训练的效率;同时,还可能修正图像预测框与实际框之间的偏差,使交通标识图像的特征融合度达到较好水平。