APP下载

基于YOLO的雾天行人实时检测方法

2019-12-06刘志涛何自芬张印辉

软件 2019年10期
关键词:雾天图像增强

刘志涛 何自芬 张印辉

摘  要: 运用YOLO(You Only Look Once)目标检测算法解决行车过程中汽车智能驾驶系统中对于行人目标的检测问题。针对雾天交通环境下,YOLO算法受天气影响检测精度不高的问题,运用图像去雾技术对数据进行预处理,并训练出了针对雾天环境下适用于行人检测的网络模型。实验结果表明,使用单尺度的Retinex去雾算法训练得到的网络结构YOLO-SSR降低了漏检率和误检率,提高了定位准确性使得精度由77.05%提高到80.27%,并通过对视频进行取帧处理的方法解决单尺度Retinex算法针对视频检测速度慢的问题使其满足实际需求。

关键词: 雾天;行人检测;图像增强;YOLO v3

中图分类号: TP391. 41    文獻标识码: A    DOI:10.3969/j.issn.1003-6970.2019.10.013

本文著录格式:刘志涛,何自芬,张印辉. 基于YOLO的雾天行人实时检测方法[J]. 软件,2019,40(10):5357

Real-time Pedestrian Detection Method in Foggy Sky Based on YOLO

LIU Zhi-tao, HE Zi-fen*, ZHANG Yin-hui

(Faculty of Mechanical and Electrical Engineering, Kunming University of Science and Technology, Kunming 650500, China)

【Abstract】: YOLO (You Only Look Once) target detection algorithm is used to solve the problem of pedestrian target detection in vehicle intelligent driving system. In order to solve the problem of low accuracy of YOLO algorithm in foggy traffic environment, image de-fogging technology is used to preprocess data and a network model suitable for pedestrian detection in foggy environment is trained. The experimental results show that YOLO-SSR, a network structure trained by single-scale Retinex defogging algorithm, reduces the rate of missed detection and false detection, improves the accuracy of location from 77.05% to 80.27% and solves the problem of slow detection speed of single-scale Retinex algorithm by taking single frame image processing of video in order to make that method meet the actual needs.

【Key words】: Foggy weather; Pedestrian detection; Image enhancement; YOLOv3

0  引言

随着近几年来人们生活水平和出行需求的提高,汽车的需求量不断增加。而伴随着车辆数量的逐年增长,交通事故的发生频率也随之增长,由于空气污染问题越来越严峻,雾天雾霾等天气原因成为造成交通事故的主要原因之一。现有的采像设备缺少解决相关问题的能力,为了有效对驾驶员进行事故提前预警,减少交通事故的发生,智能驾驶系统的研究成为大趋势。

在智能驾驶系统中,目标的实时检测又是其中重要的一环。近几年来R-CNN[1]、Fast R-CNN[2]、Faster R-CNN[3]、YOLO[4]、SSD[5][12]、YOLOv2[6]、YOLOv3[7]等目标实时监测方法的提出使得检测精度和检测速度不断提高,其中YOLOv3因其快速而又准确的检测性成为关注的焦点。

近几年来,随着深度学习的不断发展,应用在目标识别及模型预测等方面的方法[8-10]不断被推出,但很少有方法会直接考虑特殊天气对图像的影响,本文针对雾天图片存在图像退化严重,对比度低,细节信息有损失等原因,造成使用YOLOv3检测雾天照片中行人目标的精度不高问题,建立了雾天环境下行人的数据库,采用单尺度Retinex去雾算法对图像进行预处理[11],以提高图像对比度,增强行人在图像中的细节表现,然后采用最新的YOLO V3 深度学习模型对行人进行识别。对于实时性问题,本文采用从视频中取单帧图片进行去雾并识别,满足实际需求。

1  行人检测系统技术路线

为提高雾天行人识别的准确率,首先进行预处理。通过对行车记录仪视频取帧及图像去雾处理,如图1所示,通过对测试视频取帧处理得到相应的图片,避免因为去雾处理整段视频而无法满足实时性的问题,然后通过图像去雾算法处理图片,增强其细节信息,使YOLOv3对图像的识别准确率提高。

针对雾天市区汽车行驶车速规定,市区能见度50 m以下为不高于30 km/h,车载行车记录仪一般为30帧/s即30 ms显示一帧图像,通过车载摄像连接视频采集卡使用OpenCV读取处理,设定当前一帧图像中没人时系统隔1 s取下一帧图像,前一帧图像有人时间隔30 ms取下一帧图像。

本文所采用的去雾算法分别是单尺度Retinex算法、暗通道去雾算法、多尺度Retinex算法,在处理图像为416×416大小时,三种算法的平均处理时间如表1所示。因此三种算法满足取帧设定。

2  图像去雾

2.1  去雾算法

本文选用的图像去雾算法有:单尺度Retinex算法(SSR)[13]、暗通道去雾算法[14]、多尺度Retinex算法(DSSR)[15],其中单尺度Retinex算法和多尺度Retinex算法是基于图像处理的增强方法,暗通道去雾算法是基于物理模型的复原方法。

2.2  单尺度Retinex算法

Retinex算法将图像理解为入射图像和反射图像的乘积。L(x, y)表示入射光图像,直接决定了图像中像素所能达到的动态范围,R(x, y)表示物体的反射性质图像,即图像的内在属性,S(x, y)表示人眼所能接收到的反射光图像。Retinex算法的基本思想就是在原始图像中,通过某种方法取出或者降低入射图像的影响,从而尽量保留物体本质的反射属性图像。

单尺度Retinex算法的公式为:

r(x, y)为输出图像,*为卷积符号,F(x, y)为中心环绕函数,可以表示为

(4)

C表示为高斯环绕尺度,λ是一个尺度,它的取值满足下面条件:

(5)

单尺度Retinex算法的实现流程可以概括如下:

(1)读取原图S(x, y),若为灰度图则将图像每个像素的灰度值由整数值转换为浮点数,并转换到对数域;若输入是彩色图像,将图像的每个颜色分类处理,将每个分量的像素值由整数值转换为浮点数,并转换到对数域中,方便后面的数据计算。

(2)输入尺度C;在离散条件下,积分转换为求和,进一步确定参数λ的值;

(3)根据前面的公式,计算得到r(x, y);如果是彩色图像,则每个通道均有一个

(4)将r(x, y)从对数域转换到实数域得到输出图像R(x, y);

(5)对R(x, y)线性拉伸并以相应的格式输出显示;

中心环绕函数F(x, y)采用低通函数,能够在算法中估计出照射图像所对应的原始图像的低频部分。从原始图像中除去低频照射部分,就会留下原始图像所对应的高频部分,而在人类的视觉系统中,人眼对边缘部分的高频信息相当敏感。

2.3  去雾效果对比

本论文采用单尺度Retinex算法,暗通道去雾算法和多尺度Retinex算法对图像进行增强,增强效果如下图2所示,可以看出对比度方面单尺度Retinex算法和多尺度Retinex算法表现更好。

3  YOLO网络模型的训练

3.1  YOLO网络结构

YOLO网络模型是Redmon等人在2015年提出,它实现了端到端并在每个神经网络上通过候选

框预测,输出每个候选框所预测的类别概率和坐标,使用阈值筛选掉概率低的候选框,然后通过非极大值抑制去除冗余候选框,得到最终结果。

2018年3月Redmon改进YOLO模型,通过优化和吸收SSD,Faster RCNN等目标检测算法的优点,提出YOLOv3模型。YOLOv3在YOLOv2的基础上进行了一些应用性的改进,包括多尺度检测,多标签

分类等,并使用基于残差神经网络改进的Darknet53网络作为特征提取器,使得YOLO系列方法不擅长检测小物体的缺陷得到了改善,目前YOLOv3成为最优秀的目标检测算法之一。

实验所检测的目标只有人这一个类别,因此通过修改YOLOv3模型的输出类别数量,可以极大减少网络所预测张量的维度,使得每个尺度所预测的长度仅为18,从而减少不必要的运算量。

YOLOv3的网络结构图如图3所示。

3.2  行人检测网络的训练

本文使用的是AlexeyAB编写的Windows版本的darknet框架进行训练和测试。训练时用120张作为训练集对网络进行训练,共分为原图像,暗通道增强图像,单尺度Retinex图像多尺度Retinex图像四组,每组迭代10000次网络损失函数的输出如图4,0到2000次损失函数逐步下降,2000次之后损失函数保持稳定没有显著变化,在训练过程中设置每迭代100次输出一个模型,所以每组得到100个模型,通过对每组的100个模型进行校验,选取各组中表现最好的模型进行参数对比。

4  实验与分析

4.1  实验环境及数据集的建立

本次实验的电脑型号为联想81LE0007CD,内存为8G,处理器为Intel core i7-8750H,显卡为 NVIDIA GTX 1060,系统为 Windows 10,实现软件为 Microsoft visual studio 2017。

本文的图片来源于行车记录仪及Cosmin Ancuti等人D-HAZY数据集,总计有166张,其中120张作为训练集,测试集46张,训练样本及测试样本图片原始大小均为1280像素×720像素。

4.2  数据测试及比较

为了测试雾天行人检测效果,设计了三种去雾算法的效果对比实验。

首先将所有数据集的照片分别使用暗通道去雾、单尺度Retinex算法和多尺度Retinex算法处理,然后将数据集中的图像全部转化為416像素×416像素,为选取合适的模型,需要采用多指标对模型功能进行评判,常用的评判标准包括交并比IOU,准确率P,召回率R,F1分数与平均精度均值mAP。

計算公式为:

(9)

其中TP(真正),即网络预测的正样本中包含正样本的数量,FP(假正),即网络预测的正样本中包含负样本的数量,FN(假反),即未被网络预测的正样本数量,J(精度均值函数),即准确率P与召回率R所构成P-R曲线与横纵坐标所围成的面积,C为所检测目标类别的数量,K为类别序号。

本实验只需要检测人这一类目标,因此C取1。

目标预测正确与否的判断依据为IOU值——预测框与真实矩形框(Ground Truth Box)的交集与并集之比,IOU值大于50%属正确目标。本实验中使用两种交并比对模型进行衡量,一种是IOU=50,一种为IOU=75。取交并比IOU=75的原因为测试高交并比情况下,各种增强方法的检测能力,并且高交并比条件下精度越高对于定位的准确性越好。首先分别在原图训练模型,暗通道去雾模型,单尺度Retinex去雾算法模型,多尺度Retinex去雾算法模型中选取最优模型,选取采用的性能参数优先级为map>F1>R>P>mIOU。

通过比较在两种交并比情况下不同模型的各性能参数来进行最终选择。由表2和表3可以看出在IOU=50和IOU=75时单尺度Retinex去雾算法预处理后得到的模型mAP分别比原YOLO模型mAP高3.22%和4.24%其他参数F1、R、P、mIOU都有显著提高,相对于其他去雾算法,也有小幅提升,因此本文选取以单尺度Retinex去雾算法作为预处理方法。

4.3  效果对比

通过对比使用YOLOv3原模型、暗通道模型、多尺度Retinex模型和本文YOLO-SSR模型分别对同一张进行检测,效果如图5、图6、图7、图8所示,可以看出YOLOv3原模型在检测有雾这张图片时把图右后的摩托车误检为人,并且漏检了位于图片中上部的两个人。暗通道模型和多尺度Retinex模型同样讲图片中上部两人漏检,并且多尺度Retinex模型还存在将图片左数第二人漏检现象。而本文模型表现较好,完成了对图片中人的识别,没有出现漏检和误检现象。

5  结论

将Yolov3网络框架用于实时的驾驶视频目标检测,可以作为汽车智能驾驶系统中目标识别环节的新解决方案,本文训练得到的雾天环境下行人识别的模型解决了雾天环境下图像对比度小而造成的识别精度不高的问题,使用单尺度Retinex去雾算法预处理后的图像mAP比用YOLOv3原模型检测图像的mAP提高了3.22%。

由于对行人的识别精度只提高到80.27%对于满足实际应用还有一段距离,原因主要为行人的目标特征分布表现为水平方向密集、竖直方向稀疏,与YOLO检测模型对输入图片统一划为正方形栅格的机制不符,这是后续工作需要改进的重点。

参考文献

[1]Ross Girshick, Jeff Donahue, Trevor Darrell, Jitendra Malik Rich feature hierarchies for accurate object detection and semantic[C]. Proceedings of the IEEE conference on segmenta tion Computer Vision and Pattern Recognition 2014: 580-587

[2]Girshick R. Fast R-CNN[J]. Computer Science, arXiv preprint arXiv: 1504.08083, 2015.

[3]Ren, Shaoqing, et al. “Faster R-CNN: Towards real-time object detection with region proposal networks[C]. NIPS'15Proceedings of the 28th International Conference on Neural Information Processing Systems . MIT Press Cambridge. 2015: 91-99

[4]Redmon J, Divvala S, Girshick R, et al. You Only Look Once: Unified, Real-Time Object Detection[J]. arXiv preprint arXiv: 1506. 02640, 2015.

[5]Wei Liu, Dragomir Anguelov, Dumitru Erhan, Christian Szegedy, Scott Reed, Cheng-Yang Fu, Alexander C. Berg. SSD: Single Shot MultiBox Detector[J]. Computer Vision and Pattern Recognition,arXiv preprint arXiv: 1512. 02325, 2016.

[6]Redmon J, Farhadi A. YOLO9000: Better, Faster, Stron ger[C]//Proceedings of the IEEE conference on Computer Vision and Pattern Recognition Washington D. C., USA: IEEE Computer Society, 2017: 6517-6525.

[7]Redmon J, Farhadi A. Yolov3: An incremental improvement[J]. Computer Vision and Pattern Recognition, arXiv preprint arXiv: 1804. 02767, 2018.

[8]安大海, 蒋砚军. 基于BP 神经网络的人脸识别系统[J]. 软件, 2015, 36(12): 76-79.

[9]张晓明, 尹鸿峰. 基于卷积神经网络和语义信息的场景分类[J]. 软件, 2018, 39(01): 29-34.

[10]高伟, 黎英, 张金飞, 等. 城市交通高频路段预测模型研究[J]. 软件, 2018, 39(2): 81-87.

[11]段世杰, 黄华, 王鹏飞, 等. 一种单帧图像的快速去雾方法[J]. 软件, 2015, 36(5): 1-6.

[12]吴亚熙, 岑峰. 基于卷积神经网络的多层级目标检测方法[J]. 软件, 2018, 39(4): 164-169.

[13]Jobson D J, Rahman Zia-ur, Woodell G A. Properties and performance of a center /surround Retinex[J]. IEEE Trans on Image Processing, 1997, 6(3): 451- 462.

[14]He K M, Sun j, Tang X O Single image haze removal using dark channel prior[J]. IEEE Transacting on Pattern Analysis and Machine Intelligence, 2011, 33(12): 2341-2353.

[15]Li Tao, Vijayan Asari. Modified Luminance Based MSR for Fast and Efficient Image Enhancement[J]. IEEE Applied Imagery pattern Recognition, 2003, 4(3): 174-179.

猜你喜欢

雾天图像增强
一种基于轻量级深度网络的无参考光学遥感图像增强算法
图像增强技术在超跨声叶栅纹影试验中的应用
为什么在雾天不适宜进行晨练
水下视觉SLAM图像增强研究
虚拟内窥镜图像增强膝关节镜手术导航系统
微波辐射计对昆明雾天的监测及应用
基于图像增强的无人机侦察图像去雾方法
大雾天气
雾天高速公路交通安全风险评估
基于梯度信息的多尺度Retinex图像增强方法及应用