APP下载

基于信息融合的移动端违章压线检测系统设计*

2022-01-18于润润姜晓燕朱凯赢蒋光好

传感器与微系统 2021年12期
关键词:压线剪枝违章

于润润, 姜晓燕, 朱凯赢, 蒋光好, 周 伟, 吴 益

(上海工程技术大学 电子电气工程学院,上海 201620)

0 引 言

移动端违章压线检测是指使用移动设备采集车辆行驶视频数据,并针对行驶车辆碾压实线的行为进行检测,对智能交通系统具有重要意义。已有的违章压线检测研究使用的大部分方法为传统检测方法,并且是针对于固定摄像头的监控区域。文献[1]使用一定先验知识划定感兴趣区,使用边缘检测和Hough变换拟合出车道线,用判断车道线区域是否有车辆来判定是否压线。文献[2]使用连续图像帧间的灰度平均差计算得到黄线残缺信息,并设置残缺长度阈值来判断是否有车辆违章压线。此类方法在不同天气下会出现较大误差。设备只能安装在固定位置,监督固定区域,无法做到行驶车辆的互相监督。

文献[3]使用图像分割技术进行移动端压线检测,首先分割出视频中车辆和车道线,使用前后轮位置估计判断车辆姿态,结合车道线的轮廓,判定是否有压线行为。此方法由于训练集中没有将实虚线分别标注,不能判断是否为违章压线;由于需要对车辆和车道线轮廓进行高精度分割,在实际应用中泛化能力不强。由于多分割任务的使用,运行速度慢。

为克服上述问题,本文将目标检测和语义分割方法与传统方法相结合,对模型进行模型剪枝[4],在保证精度的情况下减少神经网络模型的参数,加快系统运行速度。使用空间卷积模块和像素统计的方法对存在遮挡下的车道线分割结果进行补全,优化车道线分割结果。提出一种新的基于像素统计的方法来区分车道线中的实线和虚线。

1 系统总体设计

整个系统设计如图1所示。1)使用模型剪枝技术精简车辆检测网络,使用空间卷积模块和基于像素统计的传统后处理方法提高车道线分割结果。2)使用两种特定感兴趣区域和像素统计(水平投影)方法区分车道线实虚线。

图1 系统设计框图

2 信息采集

2.1 车辆检测

基于深度学习的车辆目标检测[5],通常是针对车辆数据的特点对常用的目标检测模型进行微调,使模型对车量的检测更准确。目标检测算法可分为一步法[6,7]和两步法[8,9]。以YOLOv3[8]为代表的一步法,图片经过特征提取网络将像素空间信息映射到高维特征空间,得到高维空间下的特征信息。进行目标边界框的回归时,使用FPN结构,进行特征图的多尺度信息融合,使网络可以更好地检测小物体。将特征图划分为网格区域,每个网格会预测3个边界框,三张特征图所预测出的边界框会一起进行非极大值抑制,得到网络最终预测结果。在网络计算时,边界框会得到4个值:tx,ty,tw,th,其中tx,ty并不是边界框的真实图像坐标,而是相对于网格顶点cx,cy的相对偏移量,tw,th是预设边界框宽高pw,ph的缩放比例。由计算关系

bx=σ(tx)+cx,by=σ(ty)+cy,bw=pwetw,bh=pheth

(1)

可得预测边界框的结果bx,by,bw,bh。bx,by为边界框的顶点坐标,bw,bh为边界框的长和宽。用车辆数据对预训练好的YOLOv3模型的参数进行微调,使模型进一步学习车辆的特征。

YOLOv3网络参数为246.4 MB,运行时需要花费大量的时间,内存消耗大,不利于模型在移动端的部署。因此,模型需要压缩剪枝,在保证精度的前提下,轻量化模型。剪枝策略选择通道剪枝,在训练期间,为了使模型参数稀疏化,在网络的BN(batch normalization)层对系数施加L1正则约束。设定BN层中的缩放因子γ为通道重要性衡量因子,γ越大对应的网络通道越重要,在剪枝时删除掉γ过小的通道。在进行模型剪枝时,γ添加到目标函数中,剪枝和训练同时进行。

在进行模型剪枝时,在损失函数中加入缩放因子γ,整个损失函数为

(2)

第一项是模型预测所产生的损失,第二项是剪枝项。其中g(γ)=|γ|,|·|是L1范数,让缩放因子进行稀疏化。λ系数权衡两项损失,设置为1×10-5。网络剪枝后参数数量和γ的阈值有关,在不损失精度的条件下选择阈值为0.003。模型剪枝前后对比结果见表1。

表1 模型剪枝前后对比结果

2.2 车道线分割

2.2.1 基于空间卷积的车道线分割

在车道线检测方面,文献[10]提出暗通道优先和Hough变换的雾天车道线识别算法。LaneNet[11]使用了U型架构和多任务网络设计,将网络作为二分类任务去分割车道线,使用了聚类损失函数,将不同车道线的像素嵌入到不同的聚类族中。SCNN[12]提出了一种空间卷积层模块,通过每个特征层上特征点间的信息交互,加强空间特征的提取。该方法使用四种卷积核分别对应上、下、左、右四个特征点的信息交互,但网络加深,训练预测速度下降,并且多卷积核的累加,有概率丢失重要特征信息,导致车道线分割中细节部分效果差。本文创新性地设计了更轻量的空间卷积结构,不再使用4个方向的卷积核,而只使用向下和向左的卷积核进行特征加强。对于多个卷积层叠加导致重要细节丢失的问题,将轻量空间卷积模块凝练成为注意力机制,让网络特征图使用空间卷积模块进行自校正。结构如图2。

图2 轻量空间卷积结构

特征进入空间卷积模块后,H×W×C被分割成为H个1×W×C的特征层,设定1×w×C的卷积层,其中满足w

2.2.2 遮挡下的车道线补全

在车道线被车辆遮挡时,遮挡部位的车道线是无法被分割出的,而车道线的分割结果对压线检测又至关重要。这里利用视频信息的连续特性,进行帧间车道线消失补全。当网络分割出车道线后,首先进行高斯滤波器配合Canny算子去边缘检测[13],为了减少误差率,使用形态学膨胀减少车道线分割结果的断点。使用基于全局可调阈值的方法判断是否有车道线被遮挡,首先使用两帧的像素值比较后,设定全局可调阈值来判断是否有丢失掉车道线情况存在,如果有丢失掉车道线发生就使用没有丢失掉车道线时的车道线检测结果。阈值的设定使用全局车道线像素点个数的2.6 %作为阈值,车道线补全效果如图3所示。

图3 车道线补全结果

3 违章压线判断模型

3.1 压线检测

融合车辆检测图和车道线分割图,并进行压线判断。如果车辆的特定点对应的出现在车道线分割结果上,就判断为出现压线行为。

3.2 违章检测

在判定违章压线时为了减小计算量,设定压线车辆左拐、右拐状态下的感兴趣区域。并且,为了适用于任何大小的视频输入,感兴趣区域的大小设置成输入视频图片尺寸的一定比例。考虑到车辆的影子对车道线的影响,将感兴趣区域向下移动一定的距离。获得左拐压线区域和/或右拐压线区域内中图像的原图,对其进行灰度化而转换为灰度图像,并且自适应灰度拉伸以适应不同天气和环境。进行二值化,留下车道线。确定压线帧中的感兴趣区域后,使用水平投影统计感兴趣区域图像中车道线像素点个数,当某一行的像素点个数大于车道线的宽度阈值时,就认为该行存在车道线,否则认为该行为不存在车道线的空白区域。

统计好感兴趣区域车道线情况后,就可以进行实虚线判断,如图4所示,感兴趣区域车道线共有三种图4(a),(b)是虚线,对应车道线的统计列表中存在大量非车道线位置。图4(c)是实线,对应整个列表中不存在非车道线位置。

图4 感兴趣区域内车道线类型判断

4 实验与结果分析

通过车载行车记录仪采集大量行驶视频,视频平均帧率为30帧/s。实验样本来源于2辆车的行车记录,试验车辆在安全路段进行违章压线得到违章样本,共21段总计797 s的视频,共计23 910帧图片,实验数据中包含了典型的行车环境。例如:晴天状态下的压实线和虚线;雨天状态下的压实线和虚线;夜间行驶等。并且为了验证设计的实用性,从网上下载了10段违章压线的视频来扩充测试数据集。在GPU为RTX 2080,8G内存的Ubuntu16.04操作系统上运行。

对于移动端车辆压线检测方法,文献[3]使用图像分割技术进行判断。对此方法和本文压线方法进行了对比实验。针对于不同天气、不同的车道线类型有了定量的结果,具体见表2。

表2 移动端车辆压线检测对比

由于文献[3]需要较深的分割网络精确分割车辆和车道线,所以推断时间长;训练数据是合成数据,在迁移到真实场景时,由于光照对比和实际照片细节部分模糊的问题,导致分割时,车辆和车道线边缘模糊,检测效果下降。本文采用目标检测和语义分割技术相结合的方法,不要求精确的车道线边缘分割,弱化分割任务的重要性。配合目标检测技术,在恶劣天气下可以较高精度地检测出压线行为。本设计提出了实虚线判别算法,可以在移动端检测车辆违章压线。通过分析检测结果和人工判断比较,违章压线的检测准确率达到了91 %,其中晴天状态下违章压线检测准确率达到95 %,满足实际需求。具体压线检测结果如图5所示。

图5 压线检测结果

5 结 论

本文提出了一种违章压线检测系统,利用深度学习算法和传统算法相结合,能够在不同天气下检测车辆违章压线。利用剪枝的目标检测算法可以在保证精度的情况下快速检测出车辆;轻量级空间卷积模块使得车道线分割网络能够提取到更具有结构信息的车道线特征,使用视频帧间信息去补全被遮挡的车道线,使得车道线分割结果满足实际需求;基于像素统计(水平投影)的办法在特定感兴趣区域判断实虚线。未来,尝试将车辆检测和车道线分割任务进行整合,可以使得整个系统更加精简,能够在更多的环境下搭建违章检测系统,让车主们进行互相监督,构建一个更好的交通系统。

猜你喜欢

压线剪枝违章
人到晚年宜“剪枝”
由“咬文嚼字”说一说反违章
铝合金窗压线受力分析
基于YOLOv4-Tiny模型剪枝算法
基于激活-熵的分层迭代剪枝策略的CNN模型压缩
哑口无言
包装纸箱模切压线的处理方法
剪枝
漫画违章
易撕胶带