付志强, 赵红光, 李 阳, 周国栋, 王 滨
(聊城中通轻型客车有限公司, 山东 聊城 252000)
行人是交通环境的重要参与者,也是最容易受到交通伤害的群体。因此一直以来,行人检测是智能汽车环境感知的重点和难点。得益于计算机技术的发展,在良好的交通环境中,行人检测技术已经具备很高的水平,以机器学习[1-2]和深度学习[3-5]为代表的算法具有很高的实时性和准确性。但在夜间和雾天、雨雪天等恶劣天气下的行人检测,可见光相机、毫米波雷达、激光雷达等传感器的工作性能会受到较大的影响。
可见光相机在光照较差的环境中无法获取清晰的行人特征,雾天空气中的悬浮颗粒也会极大地限制相机性能[6]。常用的毫米波雷达对行人检测能力较弱,一般不用于行人检测。激光雷达测量精度高,其工作性能不受光照强度的影响,能很好地解决夜间行人检测问题,但是当遇上雾天和雨雪天,激光雷达的激光线束很容易受到干扰,对行人的探测能力相对不足[7-8]。
红外相机通过收集环境中的热辐射生成可见图像,对夜间和雾天、雨雪天等恶劣天气具有很强的适应性。路上行人的温度一般比周围环境高,在红外相机图像中呈现明亮的灰度特征和纹理特征,如图1所示。
图1 红外相机夜间成像
因此,红外相机与其他传感器相比更适合解决恶劣天气的行人检测问题。为了实现红外热成像行人检测,研究人员尝试采用了形态学[9]、机器学习、深度学习等方法[10-12],取得了一系列不错的效果,但是仍然存在一些问题。首先,交通环境复杂多样,行人目标容易受到干扰,快速锁定行人ROI(感兴趣区域)难度很大。另外,基于深度学习的目标检测模型发展迅速,早期模型的性能已经无法满足行人检测对于实时性和准确性需求。
为了解决上述问题,本文提出一种基于YOLO V4的红外热成像行人检测方法,主要特点有:
1) 采用视觉显著性原理快速提取行人检测的红外热图像ROI,减少后续图像处理的计算量。并利用自适应图像增强算法对ROI的图像进行了细节增强,增强行人检测的精度。
2) 选取最新的YOLO V4模型作为行人检测的基本模型,并采用迁移学习对模型进行参数优化和再训练,大大提高了模型的训练和检测效率。
视觉显著性检测要求模型能够高效、快捷地排除冗余信息并加快对图像内容的理解,该技术被广泛应用在图像重定向、图像分类、图像分割、图像检索等领域。本文采用视觉显著性原理对行人ROI进行快速定位,大大减少了背景的干扰,减少了图像的计算量,提高了后续行人检测的效率。
目前,视觉显著的定义和计算方法很多。其中文献[13]提出了一种基于随机矩阵区域采样的视觉显著算法,效果如图2(b)所示。通过该方法能够较好地实现行人ROI的提取,效果如图2(c)所示。
(a) 原始图像
为了提高ROI的成像品质,突出行人的纹理细节和灰度特征,本文采用自适应对比度增强算法对行人ROI的图像进行处理。
ROI图像可分为低频和高频两个部分。自适应对比度增强算法的核心就是增强代表细节的高频部分。假设红外热图像某一点的像素坐标为x(i,j),那么以(i,j)为中心,窗口大小为(2n+1)×(2n+1)的区域内,其局部均值和方差可以表示为
式中:均值mx可以近似认为是图像的背景部分,也就是图像的低频部分信息;x(i,j)-mx(i,j)为图像中的高频细节部分。
定义f(i,j)表示x(i,j)增强后的像素值,则自适应对比度增强算法便可以表示如下:
f(i,j)=mx(i,j)+G(i,j)[x(i,j)-mx(i,j)]
其中增益G(i,j)是一个大于1的常数。红外热图像经过自适应对比度增强前后对比结果如图3所示。从图3看出,相比其他算法,自适应对比度增强算法更能有效地优化和凸显行人在红外热图像中的细节和灰度特征,滤掉了很多不必要的环境信息,极大地提高了行人检测的精度。
(a) 原始图像
上一部分通过显著视觉技术大致找到了行人的ROI,但是没有精确定位行人位置。下面使用YOLO V4算法对ROI中的行人进行精确定位。YOLO V4模型是YOLO系列目标检测算法的第4个版本,由Alexey等人于2020年4月提出。YOLO V4作为一种通用的目标检测算法其性能优越,如图4所示。在训练阶段模型采用了多种数据增强算法(Mosaic、cmBN、SAT对抗训练),大大增强了目标检测的鲁棒性和准确性。另外,对许多SOTA目标检测算法的训练技巧进行了验证和修改,让模型对GPU训练更加高效。
图4 不同目标检测模型性能对比
从图4可以看出,YOLO V4较好地兼顾了实时性和准确性,在COCO数据的测试中,模型对所有物体检测实时性的平均精度在42%以上时,其实时性超过70 FPS,完全满足智能汽车对于实时性和准确性的要求。
本文选择YOLO V4模型对提取的ROI图像中的行人进行建模和训练。为了提高模型的训练速度,加速训练过程的收敛,在模型训练时采用迁移学习的方法,训练流程如图5所示。
图5 迁移学习YOLO V4模型训练流程
迁移学习是通过从已学习的相关任务中转移知识来改进新的学习任务,有利于提高模型的训练速度。当训练样本一定时,可以提高模型的精度,大大降低训练对于样本数量的依赖。主要包括以下几个步骤:
1) 训练样本采集与标注。采用实车实验收集不同道路环境的红外热成像样本,其中包括夜间图像 5 000张,雾天4 600张,雨雪天5 400张。采用labelimg工具对行人目标进行标注,标注行人目标共 48 432个。
2) 加载预训练模型,修改配置文件。从Guthub下载YOLO V4的预训练模型的权重YOLO V4.conv.137和配置文件,删掉配置文件voc-ball.names原有的20类目标,修改为person 1类目标。进入YOLO V4-voc.cfg文件将batch设置为16,class设置为1,filters设置为18,其中filters =(classes+5)×3。
3) 参数设置与模型训练。训练过程采用sgdm算法迭代优化,最大训练周期设置为25,初始学习率为10-3,每经过5次迭代学习率降为原来的0.5倍。
从图6可以看出,随着模型训练次数的增加,模型的损失值不断减小,准确率不断提高,整个模型趋于收敛,模型精度也满足要求。
图6 YOLO V4训练过程
为了验证模型的性能,选取了不同恶劣环境的红外热图像对模型进行测试,部分测试结果如下:图7(a)、(c)、(e)为可见光相机图像,图7(b)、(d)、(f)为相应的红外检测图像。很显然,相对于可见光相机,红外图像具有很好的检测效果。
(a) 夜间可见光相机图像
用于测试的实验图片共计150张,其中包含行人目标483人,模型有效行人检测452人,检测准确率为93.6%;误检测目标17个,误检率为3.5%;漏检目标14个,漏检率为2.9%,目标检测速度为41 FPS。不同方法的效果对比见表1。
表1 不同方法对比结果
为了提高智能汽车恶劣天气行人检测的效率,本文提出了一种基于YOLO V4迁移学习的红外热成像行人检测方法。在未来的研究中,可以通过增加不同位置和规格的红外相机实现车辆全视角的行人检测,提高智能汽车行驶安全性。