基于计算机视觉的高速路面状态检测方法
2023-11-08陈善继刘鹏宇白岩冰
陈善继,刘鹏宇,白岩冰,王 涛,袁 静
(1.青海民族大学 物理与电子信息工程学院,青海 西宁 810007; 2.北京工业大学 信息学部,北京 100124;3.先进信息网络北京实验室,北京 100124; 4.计算智能与智能系统北京市重点实验室,北京 100124)
在路面状态监测任务中,对路面状态的检测方法主要有基于埋入式的路面状态传感器、车载路面状态检测车和基于视觉信息的路面状态检测。相对于前两者,基于视觉信息的路面状态检测具有快速、准确、成本低、覆盖面积广等优势。随着计算机硬件计算能力的不断发展,应用智能分析模型代替传统路面检测方法识别路面状态、对危险路面做出判断并发出预警是交通监管行业响应“智慧交通”发展趋势的迫切需求。
基于视觉信息进行高速公路路面状态检测的技术研究仍处于起步阶段,其本质是以构建图片分类器的方式对不同的路面状态图片进行分类。如何基于监测设备的回传视频流来实现路面区域的分割、利用图片状态分类器对不同路面状态进行准确分类是当前首先要解决的技术问题。同时,由于公路两侧的树木、灯杆等干扰物常常会在路面上形成阴影,因此消除阴影对路面状态检测结果的影响是提高路面状态识别准确率的前提。
本文根据交通监管部门的实际需求,结合我国《公路交通气象观测站网建设暂行技术要求》[1],提出了一种基于计算机视觉的高速公路路面状态检测方法,实现对不同状态路面的分类。以下主要从基于学习的路面区域分割、路面阴影消除、路面状态分类3部分阐述本文提出的路面状态检测算法。
1 相关研究
1.1 基于学习的路面区域分割
可用于路面区域分割任务的图像分割技术可以分为语义分割技术和实例分割技术。文献[2]提出的全卷积神经网络(Fully Convolutional Networks,FCN)与经典的卷积神经网络(Convolutional Neural Networks,CNN)结构不同,FCN的网络结构不采用全连接层,而是以卷积层代替全连接层来实现像素的逐点预测,且对输入图像的大小无限制,因此该网络结构具有更强的泛化性能和较高的分割精度,能够为后续各种语义分割网络的构建提供新的思路。文献[3]提出的U-Net网络在医学图像的分割任务上取得了良好的表现。该网络结构在编码器和解码器之间使用了跳跃连接的网络构建思想,使得网络训练所需的训练样本更少,同时能够实现更加精准的分割。文献[4]提出了第一个无卷积模型的实例分割方法(ReSTR),其利用Transformer Encoder[5]独立地提取视觉和语言特征,并分别将特征平行输入到多模融合编码器,以捕捉这两种模态之间的细微关系,最后利用从粗到细分割的高效解码器提升预测图的分辨率,实现对目标物体的精确分割。文献[6]提出了一种基于端到端轮廓的实例分割方法(E2EC)。其首先生成一个热图来定位实例中心,然后通过基于中心点特征回归初始偏移量来学习初始轮廓。初始轮廓首先由一个全局变形模块进行变形,然后演化为粗轮廓,最后变形模块将粗轮廓变形到最终轮廓。
考虑到本文所述的路面图像分割任务要尽量减少路面以外的无关信息,降低对后续阴影消除任务的影响,因此提取路面图像后采用语义分割即可实现路面分割任务,无须采用实例分割进行同类间的划分。
1.2 路面阴影消除
目前,路面阴影消除方法主要分为非生成式对抗网络方法和生成式对抗网络方法。非生成式对抗网络以文献[7]~文献[9]为代表。文献[7]提出了一种基于配对区域的新方法,基于数据的方法通过训练数据来进行分类器学习,根据分类结果创建分割曲线,并利用此曲线来进行阴影区域和非阴影区域的划分标记。文献[8]构建了一种用于阴影去除的内容嵌入式深度网络模型结构,此网络结构通过3个提取特征的子网络来进行图像的高级语义信息、中级外观信息和局部图像细节信息的提取与融合,从而完成阴影遮罩的层预测,实现全自动端对端的图像阴影去除。文献[9]通过预测阴影图片的曝光参数,并对预测后的图片进行抖动,再将其输入一个融合网络进行学习,网络对抖动后的图片进行参数自动融合,得到无阴影的图片。生成式对抗网络以文献[10]和文献[11]为代表。文献[10]提出了一种叠加条件生成对抗网络(Stacked Conditional Generative Adversarial Network,ST-CGAN)模型,此网络模型利用信息联合学习的方法来实现阴影的检测与去除。ST-CGAN包含两个生成器:生成器G1基于输入的阴影图像生成相应的阴影遮罩图;生成器G2对输入的阴影图像和G1生成的阴影遮罩图进行叠加操作,实现阴影去除,输出去除阴影后的图像。文献[11]提出了一种利用条件生成对抗网络的方法进行图像的阴影消除。该方法首先利用背景估计网络来提取含阴影图像的背景颜色,再将含阴影图像和提取的背景颜色输入一个条件生成对抗网络中,来完成对图像阴影的消除。
本文所述的待消除的高速公路路面阴影在混合路面状态下,利用非生成式对抗网络的方法极易造成阴影消除不彻底的情况,并且难以实现阴影的实时消除。而生成式对抗网络则可以弥补以上不足,有利于本文所述路面阴影消除任务的实现。
1.3 路面状态分类
路面状态分类的方法主要分为传统方法和卷积神经网络方法。传统方法以文献[12]~文献[14]为代表。文献[12]对不同路面状态样本提取RGB、YUV和HIS三种色彩空间下的特征值组成特征向量,基于改进的BP(Back Propagation)神经网络对路面状态分类器进行训练,统计分类准确率达到85%以上。文献[13]提出了一种对不同路面样本分别提取颜色、纹理特征训练SVM(Support Vector Machine,支持向量机)分类器进行路面状态判别的方法。文献[14]通过提取路面图像颜色与纹理特征,基于朴素贝叶斯模型设计了路面状态识别分类器,由于手工提取特征的方式对路面状态描述的局限性且其数据集规模较小,因此识别准确率不能满足实际需求。卷积神经网络方法以文献[15]~文献[17]为代表。文献[15]基于图神经网络的图分类方法,通过卷积的方式对这些图进行多次特征变换,然后在此基础上进行池化操作,将图的规模缩小,多次重复这个过程,最终得到整个图的表示,从而进行分类。文献[16]提出了一种在EfficientNet[17]模型的深层结构中引入双注意力机制的办法,实现了对干燥、微湿、潮湿、积水和积雪这5种不同路面的分类。
总体而言,基于传统方法提取路面特征训练路面状态分类器的方法受算法原理限制,准确率往往难以满足实际需求。卷积神经网络方法因全面的特征提取方式与高精度的分类性能较传统方法性能更优。但现有方法对于复杂高速公路路况和路面分类实际需求而言,其准确性仍有待提升。
2 整体架构
根据上述研究,本文第一步自主构建了干燥、积雪、积水、结冰4种状态的路面状态数据集;第二步通过利用U-Net网络结合Attention模块,对路面区域进行分割提取;第三步采用基于循环生成对抗网络的路面阴影消除算法,对提取的路面区域进行阴影消除;第四步构建基于残差结构的路面状态分类器,实现了对干燥、积雪、积水和结冰4种不同路面的准确分类。本文的整体框架如图1所示。
图1 高速公路路面状态检测算法整体框架
3 模型设计
3.1 U-Net网络结合Attention模块的图像分割提取算法
鉴于注意力机制在目标分类、语义理解等领域展现出了优异的性能,因此,科学地利用注意力机制的优势并与语义分割网络相结合为提升高速公路路面区域的分割精度提供了很好的思路。
对路面区域做普通的卷积运算是将空间、通道特征混合在一起的提取路面特征的方式,这样提取的特征相对混乱,引入注意力机制能够关注于某个维度进而在提取路面区域的特征时更有针对性。本文引用文献[18]提出的具有双通道残差结构的卷积块注意力机制模块(Convolutional Block Attention Module,CBAM),构建了如图2所示的残差双注意力机制模块。
图2 残差双注意力机制模块
残差双注意力机制模块首先将输入的特征图在通道注意力机制中分别进行一个空间的全局平均池化和最大池化,将结果分别送入一个共享的两层神经网络。将得到的2个特征相加后经过Sigmoid激活函数得到通道注意力机制的权重系数,将权重系数与原始输入的特征相乘即可得到缩放后的新特征。然后在空间注意力机制中,将特征图依次进行最大池化与平均池化,把结果拼接后进行卷积运算,经过Sigmoid激活函数得到空间注意力机制的权重系数,将权重系数与输入的特征相乘即可得到经过CBAM后的特征。接着在通道注意力机制中依据特征图中每个通道的贡献进行特征重组,在空间注意力机制中依据特征图中不同像素位置的贡献进行特征重组,结合残差模块的设计思想将输出的结果与输入的特征图进行连接。并且残差双注意力机制模块的注意力机制可对空间、通道的特征进行更有针对性的表达,同时其内置的残差机制可以对路面的特征重复利用,具备更加关注目标区域的特点。最后将语义分割网络中在路面区域分割任务中表现最好的U-Net网络与残差双注意力机制模块融合,形成本文提出的U-Net结合Attention模块的算法,该算法整体的网络结构如图3所示。
图3 U-Net网络结合Attention模块的图像分割提取算法结构图
3.2 基于循环生成对抗网络的路面阴影消除
随着生成对抗网络的不断发展,为了对生成样本的内容进行更加有目的性的约束,不断有学者提出生成效果更真实的网络结构CycleGAN[19],相比原始的生成对抗网络,这种巧妙的网络结构设计在多项图像生成任务上都取得了令人满意的效果。
本文基于循环生成对抗网络所构建的阴影消除网络结构包含A、B两个子网络模块,首先将含有阴影的路面图片经过模块A处理,生成消除阴影覆盖的路面图片,将此图片经由模块B处理,生成含有指定位置的路面阴影图片,使得两部分结构形成闭环回路,整体架构如图4所示。
图4 网络整体架构图
整个模型由两个生成对抗网络构成,其中模块A实现从含有阴影覆盖的路面图片到无阴影路面图片的转换,它由生成器Gs、生成器Gf和判别器Df构成,其模型结构如图5(a)所示;模块B实现从无阴影的路面图片到有阴影路面图片的转换,它由生成器Gs、生成器Gf和判别器Ds构成,其模型结构如图5(b)所示。
图5 模块结构图
由阴影—无阴影—阴影方向的正向循环和无阴影—阴影—无阴影方向的反向循环组合构成了模型的整个训练过程。在正向循环中一张含有阴影的路面图片Is与标记出阴影区域的二值化图M一起经过生成器Gf得到一张重建的无阴影路面图片Ifg,再与同样的阴影标记图片M一起经过生成器Gs得到重建的路面阴影图片Isg。在反向循环中一张无阴影的正常路面图片If与标记出阴影区域的二值化图M一起经过生成器Gs得到一张重建的含指定阴影区域的路面图片Isg,再与同样的阴影标记图片M一起经过生成器Gf得到重建的去除掉阴影的路面图片Ifg。本文通过循环一致性约束Is与Isg、If与Ifg尽量接近来间接使得原始图片与生成器生成的图片风格保持一致。这样,就基于非成对阴影路面数据实现了网络中部分内容损失的计算,该项损失函数称为循环一致性损失(路面数据经由正向循环和反向循环后与输入的初始值相比产生的损失值)。循环一致性损失可以对路面无阴影图片重建质量产生良好的约束作用。
3.3 基于残差结构的路面状态分类器构建
传统卷积网络为了不断提升网络的分类精度,不断增加卷积层中的滤波器数目提升输出通道数、不断加深网络的层数,网络拟合能力越来越强,但网络训练误差却也伴随着通道的加深而变大。实际上,以增加输出通道数、堆叠网络层深度为手段去提升分类精度是无法起到实质作用的,相反,随着网络深度的加深会在梯度的反向传播中引起梯度复乘,导致梯度越来越小,直至消失,最后,网络的训练误差也就越来越大。
残差结构以前馈神经网络为基础,增加一个跳跃式的连接从而绕过原始结构中的一部分。CNN中残差模块的引入改变了网络整体的学习内容,使以往学习一个完整的网络输出的情况改为学习网络输入与输出之间的残差。使用残差函数将两条路径向整合再交由激活函数做非线性处理,最后形成一个完整的残差网络模块。由于残差结构是输出减去输入,因此要求输出与输入部分的维度相同。残差网络中定义输入端引出支线将上一层网络的输出连接到下层网络中的连接方式为跳跃连接[20]。在一个残差网络模块中,为了增加网络的非线性表达能力会使得这种跳跃结构跳跃两层甚至更多层,借此拟合更加复杂的输出函数。本文构建的路面状态分类器所用的残差结构如图6所示,由两个输出通道数一致的3×3卷积网络堆叠而成。
图6 残差结构
由残差神经网络构成的路面状态分类器,识别不同路面状态的输出类别由其最后的全连接层来完成。全连接层处于网络整体的尾部,与人工神经网络中的全连接方式相似,这样可以使得参数量和总体的计算量相比人工神经网络中的神经元减少了许多。全连接层中的神经元与其前一层的全部神经元相连,全连接层中的神经元不同于卷积层中神经元权值相互共享的机制,相互间权值不等。在残差结构尾部接入全连接层时会采用点积的方式进行权值转换并将前面残差结构输出的多维向量矩阵转化为单列向量,向量的维度即待分类的路面4种状态。通过引入Softmax算法将特征图像向量转化为不同类别的概率数值向量。Softmax算法计算的结果为4种路面状态中的最大概率值所对应的类别,也即该路面经过分类器所得分类结果。其计算过程为
(1)
式中:P(y=i|x|)为输入的待检测路面x在分类器中判定属于第i类路面状态的概率;k=4,为本文待检测的4种路面状态。最后构建的用于训练路面状态数据集进行不同状态识别的分类器结构如表1所示。
表1 分类器结构
4 实验结果与分析
4.1 数据集
由于目前并没有统一公开的应用于不同路面状态识别研究的路面数据集,针对文献[1]中所要求的路面状态中的干燥、积雪、积水和结冰4种状态,构建了一套包含上述4种状态的路面状态数据集,样本图分别对应图7(a)干燥路面、图7(b)积雪路面、图7(c)积水路面、图7(d)结冰路面。参考高清视频技术在高速公路监控系统中的应用探讨标准[21]中监控图像1080P的像素点尺寸,通过在不同路面状态下的高速交通监控视频,采取截图划分路面小块及手持相机等方式采集4种路面状态样本共1 876幅、大小为不同路面状态下的120像素×120像素的路面区域小块,包含不同天气情况和不同角度下的干燥、积雪、积水和结冰4种路面。为克服各类别间数据不均衡、容易发生过拟合的问题,利用数据增强技术对原始数据集进行扩增。本实验采取水平翻转、垂直翻转、固定角度旋转、平移和随机高斯噪声处理5种方式对不同类别的路面状态数据进行了不定向的数据增强处理,增强后的数据集的数据量为原数据集的2倍。经过数据增强后的数据集构成如表2所示。
表2 增强后的路面数据集
图7 4种路面状态样本
4.2 实验结果与分析
本实验在Ubuntu18.04操作系统下以PyCharm为操作平台,基于PyTorch深度学习框架,结合OpenCV2.4.9进行,编程语言为Python3.6.6。
4.2.1 路面分割结果与分析
本文通过采用U-Net结合Attention模块的图像分割提取算法进行路面的分割,可以准确地将高速公路路面分割出来,远远优于传统的语义分割算法。对高速公路监控视频静态背景进行路面区域分割,结果如图8所示,其中图8(a)、图8(c)分别为单一路面状态、混合路面状态的待分割原图,图8(b)、图8(d)依次为应用本文所述方法对其进行分割的结果。
图8 基于本文所提方法的路面分割结果
本文采用像素准确率(Pixel Accuracy,PA)、平均交并比(Mean Intersection over Union,MIoU)作为模型的评价方法和准则,计算公式如式(2)和式(3)所示。利用这两个准则对本文构建的基于注意力机制的语义分割网络以及其他语义分割网络的分割效果算法进行评价,分割效果对比如表3所示。
表3 语义分割网络效果对比
(2)
(3)
在PPA中定义有k+1个类(包括一个空类),pij表示本属于类i但被预测为类j的像素数量,pji表示本属于类j但被预测为类i的像素数量,pii表示真正的类i的像素数量。
MIoU为语义分割的标准度量,主要以真实值与预测值两类集合的交集与并集之比作为衡量数据。对每一类预测的结果的预测值和真实值进行交集和并集计算,再计算交集和并集的比值即交并比,最后根据类别数求交并比的平均值。将数据集分别通过FCN、原始U-Net和U-Net结合Attention共3种语义分割网络经上述评价方式进行计算,最后PA与MIoU的统计结果如表3所示。
对实验结果进行分析可知,在U-Net语义分割网络的基础上设计加入的残差注意力机制对实验结果有一定的积极作用,与原始U-Net语义分割网络分割效果相比,PA和MIoU均有所提升,可以实现从高速公路监控视频静态背景中对路面区域的分割,证明了本文所述方法在高速公路路面状态检测任务中具有实际意义。
4.2.2 路面阴影消除结果与分析
对比应用深度学习进行阴影消除的方法,本文采用均方根误差(Root Mean Squared Error,RMSE)来对消除阴影后的路面进行评价,其定义为
(4)
式中:SMSE为均方误差(Mean Squared Error,MSE),计算式为
(5)
式中:I(i,j)与k(i,j)分别为标准图像的像素点与待评价的阴影消除图像的像素点;mn为图像的像素点总和。RMSE值越小,消除阴影的效果越好。
将本文构建的阴影消除模型作用于公开数据集(主要包括SRD[22]、ISTD[23]),并与其他阴影消除算法进行对比,通过上述评价方式进行计算,统计结果如表4所示。
表4 不同阴影消除算法对比
本文提出的阴影消除算法对比传统的阴影消除算法有明显的优势,图像质量上综合表现更佳,同时对比基于生成对抗网络消除阴影的其他阴影消除模型,将本文生成的模型应用于公开的数据集,从统计结果中可知本文基于循环生成对抗网络实现的阴影消除方法可以对路面阴影进行有效消除。不同状态路面下的实验结果如图9所示。
4.2.3 分类器结果与分析
在进行训练参数设置时,设定每批数据量大小为4,学习率为0.001,迭代次数默认为100次,在训练过程中加入了Early Stop机制,使得验证损失在连续迭代5次后都没有减小时就停止训练。在进行网络层权重冻结时,将除最后的用于输出一层以外所有层的参数都进行冻结 (即设置参数不可更新),然后再逐步向前一层解冻,对每次训练结果中的最佳准确率进行保存,参照训练集和测试集的分类准确率作为评估指标,同时将这种部分参数冻结的训练方法应用于不同的卷积神经网络分类模型对分类效果同步进行评估。单类的准确率P和总体准确率Pmacro的计算式为
(6)
(7)
式中:TP(True Positive,真正)为被模型正确分类的正样本;FP(False Positive,假正)被模型错误分类的负样本;n为4种路面状态数目。在训练过程中,每迭代1次训练样本会检测1次准确率,并根据准确率的变化趋势决定是否进行下次迭代。最终利用新模型在验证集中检测准确率。对比实验分为两组,第一组对当前学者针对路面状态分类问题所用的方法与本文方法进行对比,检测结果如表5所示;第二组对本文搭建的残差神经网络与基于不同的卷积神经网络结构分别进行不同层数的权重冻结,保留最佳准确率的参数进行训练效果对比,主要与分类检测任务中最流行且效果较好的Inception 3、Vgg19和Vgg16这3个网络进行检测效果的对比,检测结果如表6所示。可见本文基于残差网络结构训练的路面状态分类器分类准确率最高,模型体量最小,并能将最优的参数模型进行保存。
表5 相关论文所提方法分类准确率
表6 不同卷积神经网络分类准确率
采用本文所训练的路面状态分类器对甘肃省某高速公路路段、吉林省某高速公路路段下的不同路面状态进行识别,在经由视频背景提取、路面区域分割后,依据模型训练集中的像素尺寸(120像素×120像素)对路面进行划分,首先对所划分不同路面状态的小块数目进行分类别统计,然后加载模型进行分类,以式(6)所定义的准确率对测试视频小块下的分类结果进行计算,结果如表7所示。
表7 路面状态分类结果
注:甘肃省某高速路段监控视频,共21段视频,每段视频平均时长6 min,分别包含了不同地点的高速公路路面(夏季积水、干燥为主);吉林省某高速路段监控视频,共35段,每段视频平均时长4 min,分别包含不同地点的高速公路路面(冬季积雪、冰面为主)。
5 结束语
本文提出的路面区域分割算法将融合空间注意力机制与通道注意力机制的Attention模块与U-Net网络相结合,增强了应用语义分割模型对路面区域进行分割的准确性。阴影消除方法在路面阴影检测的基础上,将检测到的阴影二值图与待消除阴影的路面一起输入预先训练好的阴影消除模型,对路面中被阴影覆盖的区域进行重建与恢复。路面状态分类器基于残差结构组建,对所构建的数据集进行训练以得到最优的分类模型,证明了基于残差结构训练所得路面状态分类器相比其他分类方法而言,分类效果更佳,并使用多种数据集和实际高速公路监控视频予以验证。