ADAS 中红外场景下的行人车辆检测技术研究

2023-11-27 14:00胡培帅王维强
农业装备与车辆工程 2023年11期
关键词:行人红外车辆

胡培帅,王维强

(430065 湖北省 武汉市 武汉科技大学 汽车与交通工程学院)

0 引言

随着社会的发展,人们对于智能汽车的需求日益提升。高级驾驶辅助系统(ADAS)是智能汽车的重要组成部分,其中行人车辆检测是关键环节,它通过传感器检测车辆行驶过程中遇到的行人和车辆,帮助驾驶员发现危险,提高驾驶的安全性。ADAS 对行人和车辆的检测一般分为2 个步骤,首先传感器采集实时图像,然后通过算法对图像进行识别和分类[1]。

随着深度学习的飞速发展,目标检测技术取得一定的进步。Li 等[2]通过对Fast R-CNN 的改进,采用多尺度方法进行行人检测;Nguyen 等[3]通过在Fast R-CNN 上使用感知池化,有效提高了车辆检测的精度。但是,以上方法在雾天、雪天、雨天或者夜间等恶劣环境时,会出现误检、漏检等问题。

红外光可以将景物、行人、车辆的红外辐射温度差异转换为灰度值,进而转换为红外图像[4],可以应对各种恶劣环境天气。图1 为在恶劣天气下,可见光摄像机和红外摄像机在夜间拍摄的图像,很明显红外图像更利于识别。

图1 可见光摄像机与红外摄像机在夜间拍摄图像对比Fig.1 Comparison of images taken at night by visible camera and infrared camera

红外道路场景下的行人车辆目标检测对ADAS在复杂多变环境下的目标识别有一定的补充效果,但仍然存在诸多问题,如:目标尺寸小时,由于像素比较小,难以识别;目标的尺度变化大时,相同目标的识别尺度可能不同;目标之间有遮挡时,存在误检、漏检现象等。此外,红外道路场景的图像噪点多、对比度差、边缘较模糊、缺少颜色特征等,目标检测效果也不十分理想。

本文针对当前红外道路场景检测及算法存在的行人、机动车漏检和误检等问题,提出一种改进算法。针对红外道路场景的特性,使用算法对采集的图像进行预处理,充分挖掘行人、机动车辆和非机动车辆在红外场景下的关键特征点;针对红外道路场景的特性,对YOLOv5 网络的激活函数、损失函数进行相应的改进,在主干网络的末端采用Transformer 模块,并增加了一层160×160 的检测层,加强红外场景下的车辆、行人等特征的提取能力,提高模型的鲁棒性。

1 红外场景下的行人、车辆算法优化

1.1 红外图像预处理

首先对图像采用CLAHE 图像增强算法,然后对输出的图像采用BM3D 算法进行降噪处理,所得的图像具有更高的图像对比度,如图2 所示。

图2 CLAHE 算法增强图像对比Fig.2 Image contrast after CLAHE algorithm enhancement

红外图像经过CLAHE 增强算法后,其目标检测特征对比度明显提升,但其增强后的图像仍具有一些噪点,因此需对增强后的图像采用BM3D 算法进行降噪处理。BM3D 算法是将空间域和变换域相结合的一种降噪算法,通过相似判定找到与参考块相近的块,然后将相似块组合为三维群组,并对其进行滤波处理。降噪处理后的图像如图3 所示,相较于原图,其特征对比更为明显,更利于目标检测。

图3 红外图像算法增强后图像对比Fig.3 Image contrast after infrared image algorithm enhancement

1.2 YOLOv5s 算法的改进

YOLOv5s 算法是基于深度学习的目标检测,是继He 等[5]提出SPPNet,Girshick[6]提出 Fast RCNN 之后,由Redmon 等[7]提出的单阶段目标检测算法。YOLOv5 具有4 个主要组件:Input、Backbone、Neck、Head。其中Input 表示输入的图像,将被转换为张量;Backbone 是YOLOv5s 网络中的骨干网络,可以有效地提取图像的特征;Neck网络是检测层,采用多尺度检测;Head 是输出层,主要通过提取到的特征进行预测。

YOLOv5s 算法针对不同检测尺寸的目标设置不同尺寸的预置检测框进行训练,提高了各尺寸目标检测的准确度。但是,在红外道路场景下,由于小目标之间存在遮挡,容易出现漏检、误检等问题。

本文针对YOLOv5s在红外场景下检测的缺陷,对其激活函数和损失函数进行优化,在主干网络末采用Transformer 模块,并在检测层上将原3 层检测增加为4 层,增强了YOLOv5s 算法在红外图像上的特征提取,提高了检测准确度。改进后网络结构如图4 所示。

图4 改进后的YOLOv5s 网络结构Fig.4 The improved YOLOv5s network structure

1.2.1 激活函数

在YOLOv5s 算法的激活函数中,Conv 卷积结构由卷积层、批标准化层(batch normalization,BN)和激活函数层组成。激活函数可以增加神经网络模型的非线性变化,抑制非必要的特征输出,增强特征信息的表达。YOLOv5s 使用的原始的激活函数为SiLU,也被称为Swish,其函数表达式为

SiLU 函数具有无上界、有下界、平滑、非单调的特性。但对于红外图像上的行人车辆检测,还需要激活函数具备更高的准确率,因此需要对YOLOv5s 的Conv 层的激活函数进行改进,使用Mish 激活函数,其函数表达式为

Mish 函数及其导数的图像如图5 所示,从图5 可以清晰地看出,Mish 激活函数是一种自正则化的非单调激活函数,具有更加平滑的特性,与SiLU 激活函数相比,其信息输入进网络中的梯度更深,准确性更高,泛化性更好。

图5 Mish 函数及导数Fig.5 Mish functions and derivatives

1.2.2 损失函数改进

在YOLOv5s 网络的损失函数中,边框损失函数尤为重要,采用CIoU_Loss(Complete Intersection over Union Loss)形式[8]。CIoU 损失函数考虑了预测框和目标框之间的重叠度、中心距、纵横比等因素,但是未考虑预测框与目标框之间方向的匹配性。针对此问题,本文采用了SIoU_Loss,从所需回归之间的向量角度,重新定义距离损失,加快网络的收敛速度。SIoU Loss 由4 个cost 函数组成:Angle cost、Distance cost、Shape cost 和IoU cost。

Angle cost 函数计算了角度成本对损失函数的贡献,如图6 所示,当时,α将最小化,否则最小化。Angle cost 函数表达式为

图6 计算角度成本对损失函数贡献Fig.6 Scheme for calculation of angle cost contribution to loss function

Distance cost 函数表达式为

Shape cost 函数表达式为

IoU cost 函数表达式为

最后的SIoU_Loss 总体回归损失函数为

1.2.3 Transformer 模块

在正常行驶过程中,行人与车辆会相互遮挡,在YOLOv5s 模型中借鉴使用Transformer 模块,可以有效地提高遮挡条件下行人、车辆检测的精准度。Transformer 特征提取结构分为2 部分,分别为编码器和解码器。对于图像目标识别而言,并不需要解码器。Transformer 编码器具有2 个主要模块:多头注意力机制模块(multi-head attention)和前馈神经网络(MLP)。在Transformer 编码器中,多头注意力机制模块后使用了LN(LayerForm)层,前馈神经网络后使用了DP(Dropout)层,可以有效防止网络出现过拟合的现象并提高了网络的特征融合能力。Transformer 模块如图7 所示。

Transformer 网络中的多头注意力机制可以更好地处理大批量输入的信息,其表达式为

式中:Q——查询向量;K——键向量;V——值向量;dk——输入数据维度。

与其他注意力机制相比,多头注意力机制运算能力更高,适用性更广,表达式为

1.2.4 增加检测层

原有YOLOv5s 算法的检测层只有3 个,尺度为20×20、40×40、80×80,在ADAS 中检测红外图像下的行人车辆时,会出现图像中小目标特征丢失的漏检现象。为解决此问题,本文在YOLOv5s 网络检测层基础上,增加一层160×160 的检测层,对主干网络输入的小目标特征信息的特征层进行上采样和下采样,提高其对小目标特征的敏感性。

2 实验及结果分析

2.1 实验环境

本文使用云平台,其计算机CPU 为AMD EPYC 7302,64 G 运行内存,显卡GPU 为NVIDIA GeForce RTX 3090,24 GB 显存。操作系统为Ubuntu 20.04。此次实验使用的深度学习框架PyTorch 1.10.0,实验环境 为Python 3.9,GPU 加速为CUDA 11.3 和CUDNN 8.2.1。

2.2 实验数据集介绍

为实现在真实的红外图像下夜间道路场景的行人车辆检测,采用了FLIR 热红外数据集。FLIR热红外数据集由FLIR 公司推出,包含了14 000 张图像,其中10 000 张来自于短视频片段,4 000 张来自于一段140 s 视频。运用LabelImg 图像标注工具对FLIR 数据集的行人和车辆进行标注,随机采取70%的图像样本作为训练集,20%的图像样本作为测试集,10%的图像样本作为验证集。FLIR数据集图像如图8 所示。

2.3 实验设计与结果分析

为验证本文算法的精准度,对算法进行模型训练,模型训练参数配置如表1 所示。

表1 模型训练参数配置Tab.1 Model training parameter configuration

本实验的性能评价指标采用准确率(Precision)、召回率(Recall)、平均精度均值(mAP)衡量。准确率和召回率计算公式为

式中:TP——模型检测正确的目标并分类为对应类别的数目;FN——模型漏检的目标数。

原YOLOv5s 算法与改进后YOLOv5s 算法道路检测对比如图9 所示。由图9 可见,改进后的算法检测精度更高,可以检测出漏检的车辆。

图9 道路行人车辆检测结果Fig.9 Road pedestrian vehicle detection results

在FLIR 数据集上分别使用常用的图像处理算法YOLOv3、YOLOv4、YOLOv5s、本文改进后YOLOv5s 算法进行实验,得到测试结果如表2 所示。

表2 算法测试结果对比Tab.2 Comparison of algorithm test results

由表2 可见,本文改进算法相较于YOLOv5s算法mAP提高6.16%,相较于常用的YOLOv3、YOLOv4 在召回率、准确率和mAP指标均有较大的提升,损失函数图像如图10 所示。

图10 Loss 曲线Fig.10 Loss curve

3 结论

本文针对ADAS 系统在夜间等恶劣天气下目标检测中存在的缺陷,提出使用红外传感器来进行目标检测。主要结论如下:

(1)对红外图像采用CLAHE 图像增强算法,并对输出的图像采用BM3D 算法进行降噪处理,所得的图像具有较好的检测目标的对比度;

(2)对YOLOv5 的激活函数和损失函数进行了优化,并在主干网络末采用了Transformer 模块,有效地减少了漏检、误检等问题;

(3)通过模型训练和实验对比,本文改进的新型算法相较于原YOLOv5 算法在平均精度均值(mAP)上提升了6.16%。

猜你喜欢
行人红外车辆
网红外卖
闪亮的中国红外『芯』
毒舌出没,行人避让
TS系列红外传感器在嵌入式控制系统中的应用
路不为寻找者而设
车辆
我是行人
冬天路滑 远离车辆
基于快速递推模糊2-划分熵图割的红外图像分割
提高车辆响应的转向辅助控制系统