深度学习与图像融合的行人检测算法研究

2024-03-25 06:39姜柏军钟明霞林昊昀
激光与红外 2024年2期
关键词:特征提取行人红外

姜柏军,钟明霞,林昊昀

(1.浙江商业职业技术学院,浙江 杭州 310053;2.首都师范大学数学科学学院,北京 100089)

1 引 言

随着中国经济迅速发展,人口众多和城市交通规划的不合理性逐步显现,我国的交通状况日益严重。这导致道路资源日益紧张,交通事故频发。根据资料数据[1],我国交通事故的致死率高达27.3 %,居全球之首。同时的调查结果[2]显示,在致死事故中,美国和欧洲国家的死亡人数主要集中在乘车人员,而在中国,超过60 %的死亡人数是行人、自行车等交通弱势群体。因为在中国的道路权益分配中,行人和自行车的权益受到机动车严重挤压,人车混合出行的模式导致行人的安全面临严峻挑战。除了各汽车制造商需要逐步建立行人保护安全开发体系外,利用车辆的智能辅助驾驶功能可以有效降低交通事故中的死亡人数[3]。当前,国内外学者主要关注基于两类图像进行行人检测与跟踪的研究:可见光图像和红外图像。然而,可见光摄像头难以应对恶劣天气条件下(如黑夜、弱光、烟雾、雾和蒸汽等)的交通环境。为弥补可见光摄像头的不足,本文提出在汽车传感器套件中加入红外热像仪,把可见光图像和红外图像进行融合,图像融合技术目前也广泛应用于行人目标识别中。将图像融合技术应用于自动驾驶中,可以提升行人的安全性,填补视觉盲区,提供更多决策信息,预防事故和碰撞,同时改善驾驶体验。通过将红外图像的热能分布与可见光图像的视觉特征相结合,可以在夜间和低光条件下更精准地检测和跟踪道路上的障碍物,如行人、车辆等。红外图像与可见光图像的融合提供了更全面的感知能力,从而提升了自动驾驶系统的安全性和鲁棒性。

近年来,为了提升行人检测效果,伴随着新算法的涌现以及硬件的升级,利用深度学习从图像中提取特征并进行行人目标判断的技术逐渐增多,其中包括 R-CNN[4]、YOLO[5]、SSD[6]等几类主流框架。研究文献表明,可见光图像下的行人检测方法已经相对成熟,但目前涉及可见光和红外图像的行人检测方法尚处于初级阶段,需要克服诸多难题。这些难题主要集中在以下两个方面:(1)受白天和夜间光照变化的影响,可见光和红外图像融合特征在不同光照条件下表现出差异性。(2)目前,基于深度卷积神经网络的行人检测模型常常表现出较高的检测率,但其效率相对较低,未能同时保障实时性和准确性,难以满足辅助驾驶实时检测的需求。当前行人目标检测算法在特定情况下面临着挑战,例如夜间、低能见度和复杂背景等,这些环境条件的影响可能导致行人目标检测的准确性下降,因此需要更为强大的方法来应对上述问题。

2 双模态特征提取与融合

为了克服热成像的局限性,并提高道路目标识别的准确性和可靠性,可以采用图像融合技术。图像融合通过将热图像与可见光图像进行融合,结合它们的优势,从而产生一个融合图像,使得图像中既包含了热能信息,又保留了可见光的颜色和纹理信息。因为单一可见光或红外图像分类器在全天候驾驶环境中无法有效识别在白天和夜间光照环境下存在差异性的行人特征而导致出现漏检情况,本文在基于区域生成网络的可见光与红外图像行人目标检测器的基础上,进行可见光与红外图像双模态特征融合,以优化深度卷积神经网络分类性能,提高行人检测准确率。首先采用双模态区域生成网络即双路深度卷积神经网络分别对可见光图像和红外图像进行特征提取,提取得到的可见光特征与红外特征通过级联融合后输入区域生成网络进行特征分类和回归。双路深度卷积神经网络,均由5个卷积层(Conv)和4个池化层(Pool)交替堆栈组成。如图1所示,可见光图像特征提取模块的卷积层从Convl-V到Conv5-V,池化层从Pooll-V到Pool4-V;红外图像特征提取模块的卷积层从Convl-I到Conv5-I,池化层从Pooll-I到Pool4-I;双模态区域生成网络特征融合模块采用级联融合层(Concat)将可见光特征与红外特征级联在一起,进过融合卷积层(Conv-F)进行融合特征学习后,输出可见光与红外融合特征。

图1 双模态区域生成网络特征提取与融合模块网络结构图

双模态区域生成网络特征提取网络结构采用VGGl6深度卷积神经网络架构,所有的卷积层采用3×3卷积核,所有的池化层采用2×2池化核,具体的参数设计如表1所示。采用W和H分别表示可见光图像和长波红外图像的长宽像素值。此处,可见光和红外图像输入尺寸均W×H×3,特征融合模块输出的可见光与红外融合特征图尺寸为W/16×H/16×512。

表1 不同算法对比结果

3 改进的Faster RCNN算法

本文在Faster RCNN基础上,针对红外热成像技术[7]通过四种措施来提升Faster RCNN在汽车驾驶场景下的行人目标检测性能:①设计特征融合网络,并构建了一种感兴趣候选区域空间金字塔池化网络,以提高算法在汽车驾驶场景的行人目标检测性能;②通过聚类算法对训练数据集中真值框的宽高信息进行聚类,利用聚类结果优化锚设置,挖掘汽车驾驶场景下的先验知识来提升检测算法的检测效率;③采用在线案例挖掘技术优化模型训练;④对网络卷积层中的函数进行改进,并调整训练参数来提高系统分类性能。

3.1 改进网络结构

Faster RCNN算法中需要先设计特征提取网络,用于特征提取。针对基本算法中存在的问题主要是:①候选框选择机器耗时长;②候选框覆盖面广,重叠区域特征重复计算;③步骤多,过程复杂。原始RCNN重复使用深层卷积网络在2k个窗口上提取特征,特征提取非常耗时。我们在这里改进了RCNN的不足,采用空间金字塔池化网络(图2)中SPPNet将比较耗时的卷积计算对整幅图像只进行一次,之后使用SPP将窗口特征图池化为一个固定长度的特征表示。

图2 空间金字塔池化网络

对于上图中的网络,Image是输入图像就是候选区域,Crop/warp就是对候选区域进行提取,然后将图像resize到固定的大小。由于网络中加入这两个操作,使得候选区域会出现扭曲的情况。因此把固定大小的图像输入到卷积神经网中,尽可能特征提取,最后在FC层得到输出的特征向量。我们采用同一个卷积神经网,需要保证输入图像大小必须统一。这里把候选区域的提取安排在图像输入的下一个环节,根据不同的候选区域会都采用相同卷积来完成特征提取的过程,导致重复计算,也是RCNN网络存在的问题。重新优化在上图底部,加入spp层,对于不同尺寸提取不同维度的特征,它会将每一个卷积层的输出固定的通过SPP层得到一个21维特征,这个21维是对应每个feature map的,即对每一个通道数(channel),具体维数值21×c,就是通过SPP层产生固定的输出,再通过FC层计算。

3.2 模型训练

Faster RCNN是两个阶段的检测器,模型训练要分两个部分:一是训练RPN网络,二是训练后面的分类网络。为了能够说明模型训练过程,需要明确提及的两个网络。分别是:RPN网络(共享conv层+RPN特有层);Faster RCNN网络(共享conv层+Faster RCNN特有层)。训练的步骤过程如下:

①先用ImageNet的预训练权重初始化RPN网络的共享conv层,再训练RPN网络。训练完成,即更新了共享conv层和RPN特有层的权重;

②根据训练好的RPN网络获取proposals;

③再使用ImageNet的预训练权重初始化Faster RCNN网络的贡献conv层,然后训练Faster RCNN网络。随着训练完成,再次更新共享conv层和Faster RCNN特有层的权重;

④利用步骤③训练好的共享conv层和步骤①训练好的RPN特有层来初始化RPN网络,进行第二次训练RPN网络。这里固定共享conv层的权重,保持权重不变,只训练RPN特有层的权重;

⑤根据训练好的RPN网络获取proposals;

⑥继续使用步骤③训练好的共享conv层和步骤③训练好的Faster RCNN特有层来初始化Faster RCNN网络,再次训练Faster RCNN网络。在这里,固定conv层,只保留fine tune特有部分。模型训练过程如图3所示。

图3 模型训练步骤过程

3.3 改进函数

在卷积层候选框训练提取网络的时,把锚分为两类,选中目标的锚标记是正样本(positive),未选中目标的锚标记是负样本(negative)。正样本就是通过锚和真值相交的情况来定义,通过两种方式实现。对于每个真值,存在两种情况,所有锚与这个真值要么相交,要么不相交。相交方式中:和这个真值有最大交并比的那个错误标记为正样本;与这个真值的交并比在大于0.7时,那些锚也标记为正样本。负样本就是与所有真值的交并比在小于0.3时的锚。除了以上,其余的锚无需标记,在整个模型训练过程中不使用。

根据正负样本的定义,给出RPN损失函数的公式(1)所示:

(1)

对于以上公式,实际由两部分组成。第一部分计算分类误差,第二部分计算回归误差。计算分类误差时,pi是一个anchor box值为正值的概率,p*i是anchor box的真实数据,取值为0或1,这里研究采用二分类log loss,∑对所有anchor box的log loss累加求和;计算回归误差时,ti表示预测的anchor box位置,t*i表示与anchor box相关的真实数据的位置,Lreg实际上是计算ti和t*i的位置差,也被称为平滑L1,在对所有的anchor box计算结果的误差累加求和时,仅仅计算正值类anchor box的累加和。关于系数部分,Ncls的取值为最小批次中anchor box的数量,即Ncls=256;Nreg为一张图对应的anchor的数量,数值约等于2400;为了确保函数两部分loss前的系数最大程度相同,设置λ=10。

4 实验结果与分析

为了验证实验效果,本文测试数据库采用2019年8月FLIR公司推出的免费用于算法训练的FLIR Thermal Starter 数据集V1.3。数据是由安装在车上的RGB相机和热成像相机获取的。数据集总共包含14452张红外图像,其中10228张来自多个短视频;4224张来自一个长为144 s的视频;数据集图像包括5种目标分类:行人、狗、机动车、自行车及其他车辆。该数据集使用MSCOCO labelvector进行标注,提供了带注释的热成像数据集和对应的无注释RGB图像(图4),数据集文件格式包括五种:(1)14位TIFF热图像(无AGC);(2)8位JPEG热图像(应用AGC),图像中未嵌入边界框;(3)8位JPEG热图像(应用AGC),图像中嵌入边界框便于查看;(4)RGB-8位JPEG图像;(5)注释:JSON(MSCOCO格式)。

图4 道路三种图像效果图

本文在改进的空间金字塔网络结构中,设计了6个anchor来覆盖整个输入的图片,anchor的长宽比例设置为[1∶1,1∶2]。通过大量的实验数据得出,采用这个参数设置算法效果相对最好。实验中,我们先对红外图像做了预处理,即红外图像和可见光图像做的融合处理,如图4所示。本文采用的算法实现道路行人目标识别的效果图,如图5所示。

图5 行人识别效果图

通过算法的设计在python程序中的实现,经过模型训练。我们做出如下分析:①比较2分类和3分类道路识别:3分类是背景,行人,骑自行车和骑摩托车的人,通过误差分析,行人和骑车的人经常混淆,然后说明了可以把行人和骑车的人合并在一起的理由,进行了2分类测试,效果显然比三分类好。②卷积通道调整:在测试识别过程中发现了一些顽固的反例,这些样本是由灯光反射或车辆灯光系统造成的。在训练和测试中为了减轻这些反例的影响,应用均值减去法对样本数据进行预处理。此外,为防止梯度爆炸,在训练过程中当测试损失率连续3代不再提高的时候将学习率减半。对比了卷积层滤波器个数为30~18,25~15,20~12时的2分类结果。得到个数为25~15时2分类结果最佳,测试准确率93.22 %,训练损失率为1.07 %。③使用自学习softmax分类器微调:准确率由93.22 %上升到94.49 %,平均识别时间为0.07 ms。

本文从FLIR Thermal Starter数据集中选择用于测试的实验红外热图像600张,其中包含行人、机动车、自行车等交通目标2101个,对数据集采用不同算法进行实验比较,模型检测精度和速度对比如下表1所示,实验证明,经过图像融合和改进后的模型分类精度更高,检测速度更快。

5 结 论

本文在研究典型的深度卷积神经网络算法用于行人目标检测时,以Faster RCNN算法为基础,采用空间金字塔池化网络、特征融合方式改进了网络中的函数,有效提高了汽车驾驶场景中应对环境条件差、目标距离汽车远近的尺度问题带来的目标检测的准确率、提高了锚点选择框在神经网络中的算法效率。理论分析和计算机程序实验数据可以说明,在道路中借助于红外图像,改进后的深度神经网络在行人检测中提高了有效性。因此,在汽车驾驶场景应用中,利用本算法可以更有效地检测行人目标。

猜你喜欢
特征提取行人红外
网红外卖
闪亮的中国红外『芯』
毒舌出没,行人避让
TS系列红外传感器在嵌入式控制系统中的应用
路不为寻找者而设
基于Daubechies(dbN)的飞行器音频特征提取
我是行人
Bagging RCSP脑电特征提取算法
基于快速递推模糊2-划分熵图割的红外图像分割
基于MED和循环域解调的多故障特征提取