改进轻量型YOLOV4的目标监测系统
2022-10-17刘苏刚陈清平徐文刚
刘苏刚,蒋 刚+,朱 昊,陈清平,徐文刚,黄 璜
(1.成都理工大学 机电工程学院,四川 成都 610059; 2.成都陵川特种工业有限责任公司 科技管理部,四川 成都 610105)
0 引 言
随着科技的快速发展,对目标物体识别精度以及复杂环境下适应能力的要求不断提高,结合深度学习框架的目标监测系统成为了当前研究的热点。目前,基于深度学习的目标检测算法主要分为两大类别,一类是由Faster R-CNN[1]为代表的two-stage目标检测算法,该类算法拥有较高的识别精度但不能满足实时性的要求,无法较好地进行目标检测工程化应用,另一类是由SSD(single shot multibox detector)[2]、YOLO(you only look once)[3-5]系列为代表的one-stage目标检测算法,该类算法能够满足实时性的工程化应用条件。高杨等[6]提出多层特征融合算法,相较于Faster R-CNN牺牲了一定的检测速度换来了精度的提高。严开忠等[7]对YOLOV3进行改进,有效提升了目标检测速度,但导致精度降低。罗建华等[8]则通过改进YOLOV3,在不影响检测速度情况下提高道路目标检测精度。薛志峰等[9]将YOLOV3与STM32结合,实现手势交互的工程化应用,但交互过程受外界环境影响较大。
为了达到昏暗复杂环境下检测精度与速度的平衡,实现工程应用。本文在YOLOV4[10]轻量型目标检测算法上进行改进,融入图像增强算法,在满足目标检测速度要求的同时,提升了昏暗复杂环境下的目标检测精度,同时能解决目标漏检与误检问题。改进后的算法与zed双目相机结合,为监测系统的建立提供视觉支持,建立了针对昏暗复杂环境的智能化实时目标监测系统。
1 昏暗复杂环境下的目标监测系统整体架构
监测系统的建立分为多源数据采集阶段、图像处理阶段、数据决策阶段、工程实现阶段。监测系统整体架构如图1所示。
监测系统实时采集由zed双目相机所获取的图像深度点云数据以及目标检测信息,目标检测信息是由zed双目相机所获取的每帧图像通过进入昏暗复杂环境下目标检测模型进行目标识别得到。当数据采集完成后系统进行数据决策,建立MYSQL数据库连接及底层通信管道,发送决策指令实现智能化监测相关功能。
2 昏暗复杂环境下的目标检测
2.1 目标监测系统应用场景
监测系统在昏暗复杂环境下进行目标检测,图像增强算法将zed双目相机采集的每帧图像进行去噪、轮廓增强及对比度增强,让检测目标的细节信息更加丰富,帮助目标检测模型更好地进行目标识别,提高系统的鲁棒性与实用性。
2.2 昏暗复杂环境下图像增强算法
监测系统运动过程中,受外部复杂环境的干扰,图像获取会产生一定不可避免的噪声突变点,系统需进行噪声突变点的消除,本文采用中值滤波法进行噪声突变点的滤除。
本文是对彩色图像进行图像增强,彩色图像分为R、G、B这3个通道。令f(i,j) 为获取二维图像所对应的像素值,进行像素值归一化,使0≤f(i,j)≤255。 将监测系统实时传入的图像进行噪声突变点消除,即
fout=median(f1,f2,f3,…,f9)
(1)
式(1)中,采用3×3的运算区域,fout为滤波后得到的像素值,f1,f2,f3,…,f9为运算区域中排序好的像素值,通过median()函数取出中间值进行赋值操作,有效消除噪声突变点。
式(1)后,得到去噪后的图像信息。为了进一步加强目标物体的边缘轮廓,需进行相应目标边缘轮廓的增强,也就是图像的锐化操作。计算二维图像函数f(x,y) 的一阶偏导,用差分形式近似代替一阶偏导,可得
(2)
(3)
(4)
(5)
式(5)中,a=1,通过上式可以计算出此时边缘信息增强后的图像函数h(x,y), 使图像中目标物体轮廓更加清晰。
在昏暗复杂环境下,需对图像进行对比度增强,使该特定环境下未显示的目标细节信息呈现出来。本文采用直方图均衡化进行后续图像处理,处理的彩色图像为24位,每个单通道各占8位,因此单通道的灰度级为256种,统计图像数据中不同灰度级像素个数可得
Count(k)=mk
(6)
式(6)中,0≤k≤255,mk表示不同通道下,灰度级为k的像素总个数,Count(k)表示统计的灰度级为k的像素总个数,计算灰度级概率分布可得
(7)
通过式(7)可得到图像灰度级出现概率,然后进行相应累加概率计算可得
(8)
式(8)中,0≤n≤255,在这之后利用累加概率计算新的灰度级然后进行灰度级像素个数重新分配,可得新的映射灰度级
(9)
式(9)得到对比度增大后新的灰度级,进行灰度级k的像素与hk的像素映射,映射完成后,系统得到对比度增强后的图像信息。
监测系统实时传入的图像通过图像增强算法,能够实现噪声突变点去除、图像边缘信息增加及对比度增强,从而为监测系统后续的目标检测提供相应的图像数据支持。
2.3 YOLOV4-tiny目标检测算法
YOLOV4-tiny是相较于YOLOV4的一种轻量型目标检测算法。该目标检测算法为达到较高的目标检测速度,降低了骨架网络(CSPDarknet53-Tiny)复杂度,使骨架网络由3个CBL(conv batch normalization leaky rectified linear unit)结构以及由3个CSP(cross stage partial connections)[11]与池化层组成的CSP_body结构所构成。激活函数替换为LeakyRelu(leaky rectified linear unit)。从骨架网络中引入两个有效特征层进入FPN(feature pyramid networks)[12]结构后由YOLO-head输出最终结果。YOLOV4-tiny结构如图2所示。
2.4 目标检测改进算法
监测系统为提高目标检测精度,对YOLOV4-tiny目标检测模型进行了一定的改进。在YOLOV4-tiny目标检测算法的两层特征层的基础上增加两层更浅层特征层,将从骨架网络中获取到的四层有效特征层进行提取和叠加操作,使目标检测过程中更多目标特征被融合,从而达到增大感受野的同时保留图像更多的细节信息。通过改进FPN结构可以使监测系统在实际的目标检测过程中获取到更多的目标物体的特征,不丢失图像的一些细节信息,这样系统就能够比较好地判别目标物体的类别,提高目标物体的识别准确率。针对昏暗复杂环境,监测系统能够较大程度保留周围环境中目标的特征,使模型更好地满足实际工程的要求,FPN改进结构如图3所示。
为了能够进行昏暗复杂环境下的目标检测工作,在目标检测模型中引入特定图像增强算法。在目标检测前进行图像增强,有助于实际目标检测工作的进行,引入图像增强算法流程如图4所示。
监测系统通过将实时传入的每帧图像进行图像增强之后,主要达到以下3种效果,分别为①去除图像中噪声信息,防止不必要的外部环境强烈干扰,从而保证在图像获取过程中图像质量不受到影响;②增加目标物体相应的边缘信息,使目标物体的轮廓更加的清晰,有利于目标检测模型的特征提取;③暴露更多潜藏在昏暗复杂环境中图像的细节信息,使监测系统在不借助外部光照辅助的情况下能够正常地进行目标检测工作,有助于监测系统的检测视野不受到昏暗复杂环境的影响。通过以上3点能够达到在保持系统的鲁棒性的同时,提高系统的隐蔽性与安全性。
改进的目标检测算法为满足监测系统进行实时目标监测工程化应用的要求,保留了YOLOV4-tiny目标检测算法的原有的骨架网络,使系统本身能够达到较高的目标检测速度。为弥补原目标检测模型的目标检测精度不高的缺点,优化原有FPN网络结构,从而使改进后的算法模型达到目标检测过程中速度与精度的双向平衡。为让系统适应昏暗复杂环境,引入图像增强算法,使系统适应特定复杂环境的能力提高。昏暗复杂环境下目标检测算法流程如图5所示。
3 目标监测系统工程化应用
3.1 双目相机结合目标检测改进算法
监测系统在进行目标检测过程中,实时传入的每帧图像为系统的目标检测模型提供相应的数据支持。为了完成每帧图像的获取工作,将改进后的目标检测算法与zed双目相机进行相应的算法融合。zed双目相机采集到的每帧图像数据经过改进后的目标检测模型实现实时目标检测。zed双目相机与优化算法的融合流程如图6所示。
图6中,系统获取zed双目相机所捕捉的每帧图像,先进行相应尺寸变换,将图像转换为(416,416)的尺寸格式,以满足目标检测模型输入图像尺寸要求,之后图像通过颜色通道转换后再转为Image图像格式进入目标检测模型。当每帧图像传入模型之后还要进行相应的图像数据归一化以及维度顺序变换以满足目标检测模型对图像数据的特定要求。当图像识别完成,经颜色通道转换,利用OpenCV进行实时显示,进而观察优化算法与zed双目相机融合之后实时目标检测效果。
3.2 监测系统数据采集
监测系统利用zed双目相机获取图像的深度点云数据进行监测目标的距离与方位角的计算,从而完成相应的数据采集工作。
OLeft与ORight为zed双目相机左右相机的光心,本文将zed双目相机的左相机光心作为初始空间坐标原点,空间坐标为 (0,0,0), 令P点相对于左相机光心的空间坐标点为 (x,y,z), 空间P点对应左右相机的目标像素点为PLeft(xl,yl)、 PRight(xr,yr), zed双目相机的焦距d与左右相机的基线lbase都可由相机本身获取。本文根据视差测量法,利用三角形相似原理求解出空间P点的z的取值,如图7(a)所示
(10)
式(10)中dvisual=xl-xr, 通过相应x、y、z的等式关系,结合空间点P在左相机所对应的目标像素点,可分别求出x,y的取值
(11)
(12)
通过式(10)~式(12)分别求出x、y、z的取值。获取到的P(x,y,z) 坐标值,是P相对于左相机光心的坐标取值,在此完成对于监测目标空间点的三维重构,如图7(b)所示。
目标空间坐标点P相对于原点OLeft的取值分别为x、y、z,原点OLeft的三维空间坐标为 (0,0,0), 由此可计算空间坐标点P距zed双目相机的左相机原点OLeft的距离
(13)
空间点P的坐标点经过三维重建后,将空间点P(x,y,z) 映射到XOLeftY二维平面上,本文将X轴方向作为方位角计算的参考正方向,在XOLeftY二维平面内进行目标物体坐标方位角的求解,可得
(14)
通过式(14)计算出目标物体相对于坐标原点OLeft的方位角,方位角的取值范围0°≤angle_object≤360°。
昏暗复杂环境下,监测系统在混合路况场景进行智能化目标监测任务时,通过对目标空间点的三维重构求解出方位角和目标距离,从而完成相应的数据采集,为监测系统之后的数据决策提供相应的数据支持。
3.3 监测系统数据决策与自动控制
监测系统需将获取到的目标距离与方位角以及经过目标检测后的目标检测信息进行融合,经过数据决策后形成相应的决策指令实现智能化目标监测,决策控制流程如图8所示。
决策控制过程,主要实现预警信号收发、预警指示灯开闭、异常数据存储和智能避障功能,从而构建出一个智能化的监测系统。针对异常数据的存储,本文用到了MYSQL数据库作为异常数据存储的媒介,从而完成相应异常数据的存储,在异常数据存储之后,系统授权用户还能进行相关异常数据的共享,其它功能则是依靠底层STM32主控端与上层搭建相应的通信管道实现。系统为保证数据的完整性与安全性,将决策指令采用相应的通信协议通过通信管道下发底层,从而实现监测系统的自动控制。
4 系统实验结果与分析
监测系统进行分析的实验结果包括图像处理阶段中目标检测模型所得的实验结果以及由OpenCV实时显示监测系统的测试结果。通过以上实验结果分析确保监测系统能够完成昏暗复杂环境下目标监测的任务。
4.1 目标检测模型数据集
4.2 目标检测模型实验平台
训练平台采用的显卡为GeForce RTX 2080Ti,CPU为i9-10900X,操作系统为64位ubuntu 16.04。训练中batch_size设置为8,训练epoch设置为100,num_workers设置为4,输入图片尺寸格式为(416,416),CUDA为10.0.130。测试平台采用的配置为Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz 2.59 GHz,操作系统为Windows 10。训练与测试平台深度学习框架采用pytorch1.2.0,编程语言为Python。
4.3 目标检测模型测试效果分析
本文提出的目标检测改进算法模型与YOLOV4-tiny目标检测算法模型经100个epoch训练完成后,均处于稳定收敛状态。改进模型的total_loss:5.0675,val_loss:4.9257,均低于YOLOV4-tiny模型的total_loss:5.3310和val_loss:5.1688。改进的算法模型权重大小为26.8 MB,适合在硬件移植使用,具有较好的实用价值。
为解决昏暗复杂环境下的目标检测问题,本文提出了针对昏暗复杂环境的改进算法,该算法在该环境的实际测试过程中能够较好识别出目标物体,有效地解决该环境下的目标检测问题。本文为提高对比效果,将YOLOV4-tiny目标检测算法也与图像增强算法进行融合,各模型测试效果对比如图9所示。
通过图9测试效果对比可以看出在昏暗复杂环境下改进的算法模型相对于YOLOV4-tiny算法模型,目标检测精度有较大提升,相比于融合了图像增强的YOLOV4-tiny算法模型,目标检测精度也有一定提升。并且改进后的算法模型有效解决了目标检测过程中目标误检、漏检问题。测试结果表明改进后的算法模型适用于实际工程化应用。
4.4 目标检测模型评估
本文对目标检测模型进行模型评估过程中,将MAP(mean average precision)作为目标检测精度的评估指标,将FPS(frames per second)作为目标检测速度的评估指标。本文为全面分析改进算法模型性能,引入YOLOV4模型参与评估,保证评估数据的完整性。本文对各类别AP(average precision)值对比分析见表1。
表1 各类别AP值对比分析
通过表1可以看出,融合图像增强算法之后YOLOV4和YOLOV4-tiny算法模型相较与原来的算法模型,在一些类别的检测精度上都有一定程度的提升,改进的算法模型相较于YOLOV4-tiny算法模型在5种类别的AP值上都有较为显著的提升。
本文为进行目标检测的FPS评估,选用了测试集中100张测试图片。经测试,YOLOV4模型测试总用时为7.83 s,当融入图像增强算法后,总用时为8.69 s,YOLOV4-tiny模型测试总用时为4.57 s,当融入图像增强算法后,总用时为5.26 s,本文所提出的改进算法在测试过程中的总用时为5.55 s。
目标检测模型性能评估见表2。
表2 目标检测模型性能评估
在昏暗的复杂环境下,本文所提出的改进算法模型相较于YOLOV4-tiny目标检测模型的平均精度提升了14.79%,较融合了图像增强算法的YOLOV4-tiny平均精度提升了3.06%。改进算法模型的检测速度能达到18 FPS,比YOLOV4目标检测模型高出5 FPS,能满足实际工程应用中的实时性要求。
4.5 系统测试结果分析
监测系统底层中的STM32主控端的模块化代码编写采用C语言,经过实际的测试发现,能实现系统所需要的功能。在此基础上通过OpenCV进行实时显示监测系统测试结果,从而保证监测系统运行效果可视化。监测系统实物及测试效果如图10所示。
图10监测系统测试结果表明,监测系统有较好的识别精度以及决策控制能力,能够完成昏暗复杂环境下的目标检测任务,实现智能化目标监测。
5 结束语
本文为进行昏暗复杂环境下混合路况的目标检测,提出了一种基于YOLOV4-tiny的改进算法。该改进算法相较于改进前的YOLOV4-tiny算法模型既提高了监测系统在昏暗复杂环境下目标检测精度,又解决了目标误检与漏检问题,同时能保证系统的鲁棒性、隐蔽性与安全性,满足系统进行实时目标监测的工程化要求。本文将改进算法模型融入zed双目相机中,进行多源数据的采集工作,监测系统将获取到的数据经数据决策后,建立数据库连接与底层通信管道,能够实时进行异常数据存储及底层控制,进而实现昏暗复杂环境下混合路况的目标监测工程化。