基于改进深度网络的车辆乘员数量检测研究
2021-02-07金鑫,胡英
金 鑫,胡 英
(大连海事大学船舶电气工程学院,辽宁 大连 116026)
1 引 言
HOV(High-Occupancy Vehicle)车道又称多乘员车道、高载客率车道,指规定时间对多乘员车辆开放的车道,可以有效缓解交通拥堵问题,提高车道的出行效率[1]。但是目前国内HOV车道的执法主要通过交警现场人工排检来完成,执法效率较低,因此设计一套自动化的车辆乘员数量检测系统就显得十分必要。本文采用光谱红外技术与图像融合技术设计了一套多光谱红外成像系统,可以获得较为清晰的驾驶室内部空间图像,成像效果如图1所示。车内乘员数量可以通过目标检测算法来实现,在前期实验过程中发现,将乘员面部作为检测目标时检测效果相对较好,但目标尺寸较小,当汽车后排人员较多时容易发生遮挡,在预测过程中容易在NMS过程当做相同目标被滤除掉,同时受天气、曝光程度、光照等因素的影响,目标在成像效果上特征差异较大,因此在检测结果中经常出现漏报和误报。
图1 多光谱红外成像效果
近年来,国内外学者针外弱小多目标检测问题进行了深入研究,同时随着深度学习技术的成熟发展,红外目标检测精度已经有了很大的提升[2]。张骏等人[3]提出了一种基于U-Net[4]网络的消防红外图像的人体检测算法,通过该算法解决了人体姿态复杂、多障碍物遮蔽等情况下的目标识别,但是在多目标场景下检测效果还不够理想。李承昊等人[5]提出一种可变锚框候选区域网络的目标检测方法,通过注意力机制引导模块对Faster RCNN[6]的RPN进行改进,并且引入了一种置信因子的NMS算法,在增强候选框生成合理性的同时提高了检测精度,但是对于目标位置回归的精度并没有起到很好的引导作用,多目标聚集下效果仍然不够理想。
本文在总结现有研究的基础上,以Faster RCNN为基础,通过使用变形结构的卷积计算和ROI-Pooling来提高网络的泛化能力[7],引入KL损失函数[8]来改进目标框位置回归过程,同时采用了Soft-NMS与方差投票相结合的方式提高NMS过程的合理性,提高目标框定位精度,避免相邻目标间因目标框重叠度大而产生误检,多乘员检测的准确率得到明显提高。
2 Faster RCNN介绍
Faster RCNN网络将目标检测网络中特征提取、候选区域生成、目标分类、位置回归等四个步骤融合到一个深度网络中,实现了端到端的训练,算法结构如图2所示[9]。数据在经过特征提取后,首先经过RPN网络生成候选区域,接着判断候选区域内容是否为前景,如果内容是前景,则最后经过ROI-Pooling将其映射成固定尺寸的特征图进行目标分类和位置回归,否则放弃该候选框,RPN网络也会对候选框的几何坐标进行调整。所以相比于YOLO、SSD等算法而言,Faster RCNN是一个两步法的端到端训练,所以在实际表现中准确率会更高一些。
图2 Faster RCNN网络结构图
RPN网络通过卷积运算使得候选框生成的方式更加科学,可以有效地的将RPN网络和特征提取网络的权值进行共享,避免了对候选区域进行重复的卷积运算。在RPN网络的训练上,一般将与任意标注框的IOU值最大的或者与标注框的IOU值大于0.7的候选框分配正样本,为IOU值低于 0.3的候选框分配负样本,RPN的损失包括分类损失和位置回归损失,函数定义为:
(1)
3 模型的改进
3.1 变形卷积
卷积神经网络(CNN)是一种重要的深度学习计算,在图像分类、目标检测、语义分割等方面都有着很成功的应用。变形卷积是指通过将可学习的2D偏移参数添加到标准卷积中的网格采样位置,实现了采样网格的自由变形,使得根据目标尺寸、形状来自适应地确定卷积区域。卷积变形前后的效果如图3所示。从图中可以看出,变形后的卷积计算避免了对背景区域的无用计算,计算效率得到提高,特征单元的感受野也随之增大。
图3 采样网格的变换
卷积过程主要分为两个步骤:1)在输入特征图x上使用规则网格R进行采样;2)对采样值按权重加权求和。只要我们改变采样网格的规则性,便可实现变形卷积。规则网格R定义了感受野大小和扩张尺度。比如定义一个3×3的卷积核,扩张大小为1。
R={(-1,-1),(-1,0),…,(0,1),(1,1)}
对于输出特征图y上每个位置p0有:
y(p0)=∑pn∈Rw(pn)·X(p0+pn)
(2)
其中,pn是网格R中的位置。
在变形卷积中,标准的格子R用{Δpn|n=1,…,N}增加了偏移量,其中N=|R|,则此时公式(2)变成:
y(p0)=∑pn∈Rw(pn)·x(p0+pn+Δpn)
(3)
现在采样是在不规则、有偏移位置(pn+Δpn)上进行的。由于偏移量Δpn通常是小数,则公式(3)通过双线性差值变成:
x(p)=∑qG(q,p)·x(q)
(4)
其中,p表示任意小数位置(p=p0+pn+Δpn);q表示特征图x中所有整体空间位置;G代表双线性插值核。通过双线性插值变换便可以获取到变形后每一个采样网格单元对应的像素点。G是二维的,可表示成:
G(q,p)=g(qx,px)·g(qy,py)
(5)
其中,g(a,b)=max(0,1-|a-b|)。
如图4所示,某一通道数为N的特征图先经过一层卷积获得偏移量,卷积层的输出与输入的特征图具有相同的尺寸,但通道维数为2N,对应于x、y两个方向的偏移量。在训练期间,提取特征的卷积核与获得偏移量的卷积核参数同时学习。
图4 3×3的变形卷积过程
3.2 变形的ROI-Pooling
ROI-Pooling是RPN网络的中间环节,它可以将任意大小的候选目标区域缩放成固定尺寸特征。数据降维的池化过程会导致细节特征丢失,同时在完成候选目标区域和深层特征的映射时还会存在非整数倍的取整,使得采样网格是非均匀划分的,也会造成一定的细节特征丢失,对小目标的检测精度影响很大[10],对此本文展开了深入的研究。受变形卷积的启发,本文设计了一种变形的ROI-Pooling,过程与之相似,唯一有区别的是通过全连接层求取参数,这样是为了增强参数求取的针对性,将其与变形卷积学习过程区别开来,偏移量表示为{Δpij|0≤i,j 变形池化的过程如图5所示,偏移的采样方式使得可以将采样区域重点关注在目标上,使得完成映射的特征图尽可能多的保留目标特征,减少缩放过程的信息丢失,提高了位置回归和目标分类的特征质量。假设给定输入特征图x和大小为w×h的RoI,并且左上角为p0,ROI-Pooling将RoI划分为k×k(k为自由参数)个bin(粗实线框),并输出k×k特征图y。对于y的特征值: y(i,j)=fmaxpoolx(p0+p)p∈bin(i,j) (6) 其中,p代表采样区域,最终取得的y值为该采样区域的最大值。变形池化可以表示: y(i,j)=fmaxpoolx(p0+p+Δpij)p∈bin(i,j) (7) 图5 变形池化过程 在本节首先介绍了修改后边界框的预测方式。然后提出了KL Loss用于训练检测网络的定位置信度。最后,采用了Soft-NMS与方差投票结合的方式提高目标框回归的准确性。 本文与原Faster RCNN网络中位置预测方式不同,为了探索学习到的坐标方差与坐标位置的内在关系,本文在直接预测候选框坐标的同时预测和估计坐标预测的置信度来提升位置回归过程的准确性。本文采取预测其概率分布的形式,尽管分布可能很复杂,例如多元高斯分布或高斯混合分布,但在本文中,由于候选框的各个坐标相互独立,可以将其数学模型表示为: (8) 其中,xe是预测的边框位置。标准差σ代表预测的不确定度,当σ→0时,这意味着我们的网络对目标框位置预测的置信度很高,它是在原网络的基础上添加一个全连接层分支产生的,参考文献[8],可表示为如图6所示。 图6 改进后的网络结构 同样的,我们也需要为数据中真实目标框的概率分布建立一个数学函数,按照之前的分析,将式(8)取σ=0便转换为狄拉克三角函数; PD(x)=δ(x-xg) (9) 其中,xg代表标签中真实的坐标值。 KL又称KL散度、相对熵,是用来描述相同时间空间里某一概率分布像另一概率分布的拟合情况,当KL散度越小,两个概率分布的差异也就越小。在本文中为了捕捉目标框预测的不确定性,本文将高斯分布函数向狄拉克三角函数拟合的KL散度作为损失函数,通过训练使得KL散度最小。 用Lreg记为目标框的误差函数: Lreg=DKL(PD(x)‖Pe(x)) H(PD(x)) (10) (11) 因为σ在分母中,会在训练时存在梯度爆炸的现象。为了避免梯度爆炸,我们的网络实际上采用α=log(σ2)的方式,而不是直接预测σ,对于|xg-xe|>1,采用类似Smooth L1损失函数的形式,表示为: (12) 本小节采用了将Soft-NMS与方差投票结合的方式对目标框筛选、目标定位等过程做出改进,前者将NMS中IOU值较高的预测框重新赋值一个较低的分数,而不是直接滤除掉,避免删除堆叠目标。由于线性加权方式不是连续函数,这样会使得结果中分数出现间断,因此采用高斯加权的方式: (13) 式中,si为第i个目标框的分类得分;M表示为当前选定得分最高的目标框;bi为当前与M进行分值抑制计算的目标框;D为分值抑制计算完成的候选框集合。 方差投票是指根据学习到的有重叠边界框的方差对候选框位置进行权重分配,受Soft-NMS的启发,我们为较接近且不确定性较低的候选框分配较高的权重。设x为坐标,xi为第i个候选框的坐标。新坐标的计算如下: (14) subjecttoIOU(bi,b)>0 其中,σt是方差投票过程可手动调整的参数。在投票期间,两种类型的预测框将具有较低的权重:①已学习方差较高的候选框; ②与重新计算坐标的预测框交并比较小的候选框。类别分数不参与投票,分数较低的预测框可能具有较高的位置置信度。 实验部分首先从RPN网络的位置loss回归曲线、改进前后网络泛化能力、检测速度等方面作以分析,然后重点在多乘员、目标存在遮挡的情况下测试检测效果,并进行准确率统计做出定量分析,最后将其和改进前、其他主流的目标检测网络进行对比实验,并对实验结果进行总结。实验平台配置及相关训练参数如表1所示。 表1 实验平台配置及相关训练参数 RPN网络的训练效果将直接影响目标检测的准确率,同时为了验证损失函数改进的可行性,本文绘制了RPN网络改进前后的位置loss回归曲线,如图7所示。从图中可以看出,改进后的RPN网络在经过六千次迭代以后开始平稳收敛,训练过程相对平稳,证明损失函数改进可行。此外改进后网络训练误差的初始值明显降低,收敛速度更快,loss值收敛更加理想,这说明网络结构改进对网络整体性能的提升作用很大。 图7 RPN loss训练曲线对比 NMS改进主要是为了使网络能够更好应对在4+数量乘员情况下,因目标遮挡而造成的误报问题。一部分原因是目标遮挡会造成目标有效识别面积变小,还有一部分原因是原NMS中固定的IOU阈值很难准确适应重复目标的滤除需要。如图8所示,当阈值取为0.3时,原网络由于位置预测的不够准确使得重叠目的交并比过大,造成了目标漏报,当阈值增加到0.4时,又会造成重复目标框滤除效果不理想,造成误报。 图8 原网络测试效果 由于IOU阈值偏大会影响重复目标框的滤除效果,因此选取IOU=0.3。图9的实验结果表明,本文算法可以满足重叠目标的预测,目标框位置预测的精度更高,加入方差投票改进后,目标框标记的视觉效果更好,重叠区域变小,提高了在执法时人工复检过程中判断证据的可靠性。 图9 NMS改进效果(IOU=0.3) 首先测试模型的泛化能力,选取了一些典型的乘员目标特征差异较大的数据进行测试,特征差异主要表现在乘员脸部曝光程度、明暗差异、有口罩、手掌、帽子遮挡等等。改进前后的检测效果如图10所示。 由检测结果可以看出,当目标的曝光程度较高导致面部信息缺失严重时,改进后的网络也可以对乘员面部准确识别,并保持较高的识别分数。此外由于照片抓拍过程的不确定性,乘员面部容易被车窗、帽子、口罩等物体遮挡,也因此对网络的泛化能力提出了更高的要求。从实验中可以看出原网络可以实现对理想目标的准确识别,但当存在上述干扰时还不能很好的胜任检测任务,在目标存在外部遮挡导致同一类别目标特征的差异较大时,改进后的网络的可以很好的完成检测任务,这说明变形改进的网络计算可以尽可能多的保留目标细节特征,与预期设想基本相符,同时目标框的位置预测更加精准,避免了相邻目标发生重叠。 同时为了量化验证本文的改进效果,选取了多组数据,每组2500张图片,每类乘员数量(1~5)各500张,将改进后的网络和目前主流的YOLOv3、Mask RCNN等检测算法分别进行实验,记录各类乘员数量下检测的平均准确率和检测速度,统计结果如表2所示。 从表2中数据可以看出,本文模型在各类乘员数量下识别准确率较高,基本保证在80 %以上,检测的速度与改进前略微降低,但仍在可承受范围之内。与改进前相比,检测乘员越多,本文模型准确率提升幅度越大,说明本文的NMS改进能够很好应对多乘员情况下重叠目标的检测。YOLOv3是目前较为优秀的目标检测网络,但其算法计算的基础是针对正方形的图像输入,本文数据经过裁剪多余背景信息的预处理后图像多为长方形,压缩为正方形后再输入网络训练,这样会使得图像质量降低,网络预测的准确率不佳。Mask RCNN的实验结果表明实例分割的效果优于一般的目标检测算法,但是语义分割网络的加入使得网络整体的计算量增大,检测速度牺牲较大。基于以上分析总结得知,检测精度随乘员数量增加呈下降趋势,本文在3+数量上准确较改进前提高幅度更大,与其他算法相比综合检测精度、检测速度等指标,本文算法仍是最优选择。 表2 不同算法检测效果对比 结合已获得的多光谱红外图像,本文以Faster RCNN网络模型为基础,通过变形卷积网络结构、在RPN网络中目标特征图映射方式中提出变形的ROI-Pooling,以提高RPN网络中特征映射的质量,使其可以更多的保留目标的细节特征,网络模型的泛化能力得到明显的提高。在位置回归过程中,KL损失与方差投票相结合的改进方式,使得网络对于重叠目标的识别能力明显增强。本文算法可以很好应对在可能存在误报、漏报的情况下的目标识别。相比于改进之前,3+乘员数量检测准确率提升幅度更大,虽然4+数量乘员检测准确率还不能稳定居于80 %以上,但在4+数量乘员以上允许1~2名漏报的原则下,本文算法完全可以满足实际的执法和检测需求。但是在检测速度上相比于YOLOv3还有很大差距,提高各类数量乘员检测精度的同时提升检测速度将作为以后主要的研究方向。4 损失函数改进
4.1 函数计算基础
4.2 KL损失函数
4.3 NMS改进
5 实验分析
5.1 RPN网络训练过程
5.2 NMS改进实验
5.3 泛化能力测试
6 结 论