王玲敏,段 军,2,辛立伟
1.内蒙古科技大学 信息工程学院,内蒙古 包头014010
2.内蒙古科技大学 矿业研究院,内蒙古 包头014010
3.包头市联方信息自动化有限责任公司,内蒙古 包头014010
佩戴安全帽对于煤矿行业、钢铁制造业以及建筑行业等高危行业来说是保障工作人员人身安全的一项重要措施,佩戴安全帽可以及时高效地保护施工人员的头部,防止或降低因施工现场坍塌或高空坠物对头部的损害。在各种复杂的施工场景下,施工人员时常因某种原因而不按相关的规定佩戴安全帽,这样不但会对工人的人身安全造成威胁而且也会影响施工场地的监管工作的顺利开展。传统的对工人佩戴安全帽的监管措施大部分是基于人工监管,但是随着监控时长的增加和监控范围的增大,传统的监管方式会使人极易变得视觉疲劳而导致误判,也会耗费大量的物力以及人力资源,不能够满足目前针对高危行业安全管理的要求。
国内外许多学者使用基于机器学习的安全帽检测方法,如刘晓慧等人[1]利用安全帽与头发的色差进而来判断是否佩戴安全帽;李琪瑞等人[2]提出了如何定位头部区域和计算安全帽的颜色特征来检测安全帽;Rubaiyat等人[3]利用方向梯度直方图(histogram of oriented gradient,HOG)找到人在图像中的位置,然后利用颜色特征以及圆形霍夫变换(circle hough transform,CHT)设计出安全帽特征,最后判定是否佩戴安全帽;Chiverton等人[4]提出首先检测出行人,然后再提取头部HOG、SIFT等特征来检测安全帽。以上传统的安全帽检测方法都是通过手动选取特征进行分类检测,并且特征计算量大检查速度慢、精度不高,而且检测环境相对简单,无法适应目前复杂多变的施工场景。
近年来,随着深度学习目标检测技术的持续发展,国内外研究人员逐渐将深度学习技术应用于安全帽的检测中。基于深度学习技术的目标检测算法主要分为基于候选框的两阶段(two-stage)检测算法和基于回归的一阶段(one-stage)检测算法。基于两阶段的检测方法主要包括:RCNN[5]、SPP-NET[6]、Fast-RCNN[7]、Faster-RCNN[8]、Mask R-CNN[9]等。基于单阶段的检测方法包括YOLO[10-13]系列算法和SSD算法[14]。基于两阶段的目标检测算法虽然精度高,但是检测速度相对较慢。与两阶段目标检测算法相比,一阶段目标检测算法通过网络一次前向推断得到目标位置和分类结果,检测速度远大于两阶段的检测算法。徐守坤等人[15]使用Faster RCNN 检测方法,进行多尺度锚框和增加锚点数量来训练网络,并加入在线困难样本挖掘(online hard example mining,OHEM)[16]算法检测安全帽;施辉等人[17]在YOLOv3 中通过添加特征金字塔来进行多尺度结构的训练,从而获得不同尺度的特征层,进而来预测工人和安全帽的位置。以上深度学习的检测方法虽然在精度和速度上略优于一般的检测方法,但是在检测小目标和密集目标方面还是有不足之处。
针对以上问题本文选用目前优秀的YOLOv5 目标检测算法作为改进前的目标检测算法,该算法与传统检测方法相比,精度和速度有所提高,具有很强的实时性,但是对于小目标和密集目标的检测仍有不足之处。本文将对YOLOv5检测算法进行改进,使其在小目标和密集目标检测方面取得更好的效果。
YOLOv5目标检测算法是Ultralytics公司于2020年发布的,是基于Python 框架的一个轻量级检测模型,根据模型的大小,YOLOv5有4个版本,分别为YOLOv5s、YOLOv5m、YOLOv5l、YOLOv5x,这4个版本的权重、模型的宽度和深度是依次增加的。本文将使用YOLOv5s检测模型。
YOLOv5 自发行以来,一直都在更新迭代版本,本文改进的是v5.0 版本,该版本实现了YOLOv5-P6 模型和重新训练的YOLOv5-P5 模型。YOLOv5-P5 模型(与v4.0版本相同的架构),包括3个输出层P3、P4、P5,步长幅度分别为8、16、32。YOLOv5-P6 模型包括4 个输出层P3、P4、P5、P6,步长幅度分别为8、16、32、64。综合考量,本文选取YOLOv5-P5 作为基准实验模型,以其为baseline 进行模型优化。YOLOv5 的网络模型分为4 个部分,包括输入端、主干网络(Backbone)、Neck 模块和输出端。其网络结构如图1所示。
图1 YOLOv5网络结构Fig.1 YOLOv5 network structure
YOLOv5 的输入端主要包括马赛克(Mosaic)数据增强、自适应计算锚框和自适应缩放图像三个部分。马赛克数据增强是在模型训练阶段使用的,将四张图片按照随机缩放、随机裁剪和随机排布的方式进行拼接,可以增加数据集中小目标的数量,从而提升模型对小目标物体的检测能力。其结果如图2 所示。在模型训练的过程中,YOLOv5 会根据参数启动自适应锚框计算功能,自适应地计算不同类别训练集中的最佳锚框值,并且网络在原始锚框的基础上输出预测框,然后将预测框和真实框进行对比计算两者的差值,再反向更新迭代网络参数,如图3所示为预测结果图。因模型原始锚框效果很好,故本文使用的原始锚框为[10,13,16,30,33,23]、[30,61,62,45,59,119]、[116,90,156,198,373,326]。自适应缩放图片是将原图片缩放到统一标准的尺寸,再送入到网络中进行检测。图2中图片四周的灰色边框是自适应缩放图片的结果。
图2 Mosaic数据增强效果图Fig.2 Mosaic data enhancement effect picture
模型的Backbone 主要由Focus、C3(改进后的BottleneckCSP)和空间金字塔池化(spatial pyramid pooling,SPP)模块组成。Focus 是一种对feature map的切片操作,把图片的宽度w和高度h的信息整合到c维度,具体来说是将距离为2 的四个位置堆叠到一个通道上去,因此高h和宽w都缩小为原来的1/2,通道数c则会增加4 倍,其具体过程如图4 所示。Focus 模块设计主要用于降低FLOPS(每秒浮点运算次数)和提高检测速度。YOLOv5-P5 模型的创新之处在于PyTorch1.7 中新支持的SiLU()激活函数替换了先前版本中使用的LeakyReLU()和Hardswish()激活函数,并且删减了之前版本中BottleneckCSP 的部分Conv 模块。改进之前版本的BottleneckCSP 模块和改进后的BottleneckCSP(C3)模块对比图如图5 所示。SPP 模块使用组合的3 个多尺度最大池化层,几乎可以在没有降低速度的情况下提升感受野,有助于解决锚框和特征层的对齐问题。
图4 Focus切片操作Fig.4 Focus slice operation
图5 BottleneckCSP和C3模块结构图Fig.5 BottleneckCSP and C3 module structure diagram
该模块采用特征金字塔结构(feature pyramid networks,FPN)+路径聚合网络结构(path aggregation network,PAN)[18]的结构,可以加强网络对不同缩放尺度对象特征融合的能力。FPN 主要是通过融合高低层特征提升对小目标物体的检测效果。PAN 在FPN 的基础上增加了一个自下向上方向的路径,使底层的定位信息更好地传递到顶层中,两者结合可以从不同的主干层对不同的检测层进行特征聚合,利用该结构可以进一步提高对密集目标的检测性能。
输出端采用GIOU函数作为边界框的损失函数,在目标检测后处理过程中,使用非极大值抑制(non maximum suppression,NMS)来对多目标框进行筛选,增强了多目标和遮挡目标的检测能力。
对于图像中存在的小目标来说,所占像素少,并且易受背景因素等影响,原Yolov5模型算法在进行卷积采样时容易丢失小目标的特征信息,对小目标的检测效果不是很好,故本文引入坐标注意力机制,其目的是为了告诉模型更加需要关注哪些内容和哪些位置,对于小目标和密集目标来说,可以有效地提取其特征信息,进一步提高检测的准确率。
坐标注意力机制(coordinate attention,CA)[19]是将位置信息加入到了通道注意力当中,使网络可以在更大区域上进行注意。为了缓解以往注意力机制如SENet[20]、CBAM[21]等提出的二维全局池化造成的位置信息丢失,该注意力机制将通道注意分解为两个平行的一维特征编码过程,分别在两个方向上聚合特征。一个方向得到远程依赖关系,另外一个方向得到准确的位置信息。对生成的特征图进行编码以形成一对方向感知和位置敏感的特征。
如图6 所示,CA 通过精准的位置信息编码通道关系和长程依赖关系,主要包括两个步骤:坐标信息嵌入(coordinate information embedding)和坐标注意力生成(coordinate attention generation)。一个CA模块可以看作是一个用来增强特征表示能力的计算单元它可以将任何中间张量X=[x1,x2,…,xc]∈RC×H×W作为输入并输出一个有增强表示能力的同样尺寸的输出Y=[y1,y2,…,yc]。其中C为通道数,h和w分别为输入图片的高和宽。
图6 CA模块结构Fig.6 CA module structure
对于坐标信息嵌入来说,为了促进注意力模块可以获取精准位置信息的空间长距离依赖关系,CA 模块将全局池化分为一对一维特征编码操作。对于输入的特征图X,维度为C×H×W,先使用大小为(H,1) 和(1,W)的池化核分别沿水平方向坐标和竖直方向的坐标对每个通道进行编码,也就是高度为h的第c个通道与宽度为w的第c个通道的输出,输出公式如式(1)、(2)所示:
以上公式沿着两个方向进行特征聚合,返回一对方向感知注意力特征Zh和Zw,这有助于网络更加准确地定位所要检测的目标。
对于坐标注意力生成来说,级联之前模块先生成两个特征层,然后使用一个共享的1×1卷积进行变换F1,其公式(3)如下所示:
其中,f∈RC/r×(H+W)是对空间信息在水平方向和竖直方向的中间特征图,r表示下采样比例,设置为16用来控制模块的大小,整体性能和计算量最平衡。[·,·]表示沿空间维度的连接操作,δ表示非线性激活函数。然后,沿空间维度将f切分成两个单独的张量fh∈RC/r×H和fw∈RC/r×W再利用两个1×1 卷积Fh和Fw将特征图fh和fw变换到和输入X同样的通道数,得到结果如公式(4)、(5):
最后,对gh和gw进行拓展,作为注意力权重,CA模块的最终输出可以表述如公式(6)所示:
Coordinate Attention 是一个简单灵活即插即用的模块,并且是一种新颖的移动网络注意力机制,可以在不带来任何额外开销的前提下,提升网络的精度。原作者是将其模块运用到EfficientNet 和MobileNet 中去,分别取得了很好的效果。基于此思想,本文将其模块加入到YOLOv5 模型中的Backbone 中,将原算法特征提取网络中的10 层网络变为13 层网络。其检测结果对比如图7所示,(a)表示YOLOv5模型结果,在正下方漏检一个目标安全帽,(b)表示添加注意力机制后的结果,正下方准确检测出了安全帽。可见注意力机制可以更大范围地让网络模型注意到小目标,提高网络的检测能力。
图7 添加注意力机制效果图Fig.7 Adding attention mechanism effect picture
BiFPN(bidirectional feature pyramid network)加权双向(自顶向下+自底向上)特征金字塔网络结构[22]是由谷歌大脑团队提出来的一种全新的特征融合方式。BiFPN 的思想是高效的双向跨尺度连接和加权特征融合,也就是基于路径增强的思想,如图8,首先进行自顶向下的特征融合,然后再进行自底向上的特征融合。
图8(a)为FPN结构,该结构建立了一条自上而下的通路,进行特征融合,接着用融合后的具有更高语义信息的特征层进行预测,但是由于这种结构会受到单向信息流的限制。
图8 FPN、PANet和BiFPN结构Fig.8 FPN,PANet and BiFPN structure
为了解决这个问题,Liu 等人提出了图8(b)的PAN结构,该结构是在FPN的基础上再建立一条自下而上的通路,将底层的位置信息传到预测特征层中,使预测特征层既有顶层的语义信息又有底层的位置信息,这样可以大大提高目标检测的精度。
BiFPN 是在PAN 的基础上进行改进的。结构如图8(c)所示。双向跨尺度连接:首先是删除了只有一个输入的节点,该节点无特征融合且贡献度很小,将该节点删除之后没有很大影响而且会简化网络;然后是在原始输入节点和输出节点之间增加了一条边,是为了在不消耗更多成本的情况下可以融合更多的特征;最后,将自顶向下和自底向上的路径融合到一个模块中,以便可以重复堆叠,以实现更高层次的特征融合。加权特征融合:BiFPN 使用的是快速归一化融合,直接用权值除以所有权值加和来进行归一化,同时将权值归一化到[0,1]之间,提高了计算速度。如式(7)所示:
其中,用激活函数ReLU 来确保权重wi≥0,该权值由网络训练得到,Ii表示输入的特征。由于标量权重是无界的,会导致训练不稳定,所以使用softmax来进行归一化。改进后的网络将主干网络中提取出的三种不同尺度的特征P3、P4、P7作为BiFPN的输入,进行跨尺度连接和加权特征融合,最后设置20×20、40×40、80×80三种不同尺度的特征分辨率的预测分支。其中部分权值为([0.499 98,0.499 98]),([0.333 32,0.333 32,0.333 32]),([0.499 98,0.499 98]);([0.500 00,0.500 00]),([0.333 25,0.333 25,0.333 25]),([0.500 00,0.500 00])。以节点P6为例,其形成的两个融合特征过程如下所示:
基于以上优点,本文将YOLOv5 结构中的PAN 模块替换成BiFPN,来加强特征融合,提高检测速度。
YOLOv5模型的损失函数包括分类损失函数(classification loss)、定位损失(localization loss)和目标置信度损失(confidence loss)。YOLOv5 采用了BECLogits损失函数计算objectness score的损失,class probability score 采用二元交叉熵损失函数(BCEclsloss),bounding box则采用了GIOU Loss作为损失函数[23]。GIOU Loss公式如式(10)所示:
其中,B={x,y,w,h}为预测框的大小Bgt={xgt,ygt,wgt,hgt}为真实框大小,C为B和Bgt的最小区域面积。当真实框与预测框距离越远时,C的值也越大,C减去预测框与真实框面积的值也越大,最后趋于1。
尽管GIoU解决了IoU的梯度问题,但是GIoU很不稳定并且收敛很慢,所以本文选用CIoU[24]作为bounding box回归的损失函数,CIoU Loss公式如式(11)所示:
其中,ρ(·)代表预测框与目标框两个中心点的欧式距离,C是最小包围两个边界框的对角线长度,b和bgt分别表示B和Bgt的中心点,α是权重函数,ν用来衡量anchor 框和目标框之间的长宽比的相似性,公式如式(12)、(13)所示:
YOLOv5 目标检测算法是一个比较优秀的检测算法,本身就具有很好的工程实用性,就目前研究来看还是有可以改动的空间。根据前面章节的理论分析与研究,可以得到引入注意力机制的YOLOv5 算法YOLOv5-CB(YOLOv5-CoordinateBiFPN),其模型结构如表1所示。
表1 YOLOv5-CB网络整体结构Table 1 Structure of YOLOv5-CB network
表中的from 列表示输入来自哪一层,列中-1 表示来自上一层的输出,params 列表示参数的大小,module为子模块,arguments表示模块参数的信息,包括输入通道数、输出通道数、卷积核大小、步长信息等。
模型训练算法
输入:安全帽数据集以及标记文件;
初始化参数:动量值、权重衰减系数、批量大小、学习率、迭代次数、余弦退火超参数、学习率动量、预热学习率、损失函数系数;
数据预处理:将图片标签的.xml格式转化为.txt文件;
图片预处理:调整图片饱和度、透明度,图像缩放、剪切,上下翻转、左右翻转、Mosaic处理、图像混叠处理等;
1.数据集准备,将数据集划分为训练集和验证集;
2.加载模型配置文件以及初始化参数,将输入的数据进行预处理;
3.网络模型的加载,对输入的图片进行特征的提取和物体定位分类;
4.随着训练次数的不断增加,将使用SGD进行网络参数的更新优化;
5.在验证集上计算模型的mAP,并判断模型的性能是否是最佳的,若为最佳模型则保存此最佳模型;
6.训练迭代次数结束后,将获得最佳模型和最近一次训练模型。
输出:本阶段训练中的最优模型
实验的整体流程图如图9 所示,首先是准备数据集,该数据集包含网上公开的数据集和实地拍摄的数据进行整理融合,进行安全帽佩戴图片筛选和标记,然后将自制的数据集划分为训练集、测试集和验证集。之后的流程步骤按照3.1 节中描述的算法进行训练,进而得到最优的检测模型,接着对测试集数据进行测试得到最终结果。
图9 整体流程图Fig.9 Overall flow chart
本文实验的操作系统为Windows10,CPU 型号为Intel®Core™i7-10700 CPU @ 2.90 GHz,运行内存为32 GB。GPU 型号为NVIDIA Quadro P4000,显存大小为8 GB,内存大小为24 GB。该YOLOv5 模型是基于Pytorch 深度学习框架,编程语言为Python,使用CUDA11.3.1和CUDNN8.2.1对GPU进行加速。参数设置如表2所示。
表2 参数设置Table 2 Parameter setting
本文使用的数据集由Roboflow网站提供的公开安全帽数据集和真实场景中视频帧获得的图片组成,覆盖了矿井、工地、炼钢厂等场景,增加了许多小目标和密集目标的数量,可以提高对小目标和密集目标的检测率。图片经过筛选、清洗以及标注等步骤获取,最终得到的数据集包括7 035 张图片,按照8∶2 的比例将数据集分为训练集和测试集,其中训练集5 628 张图片,测试集1 407 张图片。数据集包括两类:一类是佩戴安全帽的人(helmet),另外一类是未佩戴安全帽的人(head)。如图10所示为数据集的分析可视化结果图,其中(a)为数据集物体类别的分布,(b)为物体中心点位置分布图,横纵坐标表示中心点的位置,(c)为物体大小分布图,横坐标width和纵坐标height代表物体的宽和高。
图10 数据集分析Fig.10 Data set analysis
4.3.1 数据集标记
该公开数据集是PASCAL VOC 格式的xml 文件,需要将其转换成YOLO 格式的txt 标记文件,具体公式如下所示:
其中,xmax、xmin、ymax、ymin分别表示xml文件中标记物体所在位置的左上角坐标以及右下角坐标的值。dw、dh表示图片的高和宽。
4.3.2 Focal loss
如图8 所示,类别间的样本不均衡,这可能会导致模型过拟合问题,使模型的泛化能力较差。为了解决这个问题,YOLOv5-CB 引入了Focal loss 函数[25],Focal loss 主要是为了解决目标检测中正样本和负样本之间比例失衡问题,如式(18)所示:
其中,α∈[0,1]为平衡因子,用来平衡正负样本比例不均,y′∈[0,1]表示标签为1 的类的模型估计概率,γ∈[0,5]可以调节简单样本权重降低的速率。在该模型中,将参数γ设置为1.5,可以有效地缓解类间不平衡问题。
本文实验使用召回率(Recall)、精确度(Precision)、平均精度AP(average precision)、平均精度均值mAP(mean average precision)来评价检测模型准确性。在介绍这些指标之前先介绍以下概念:TP(true positives)是指被分配正确的正样本;TN(true negatives)为正确分配的负样本;FP(false positives)指的是被错误分配的正样本;FN(false negatives)指的是被错误分类的负样本。
精确度:表示是分类器判定是正类并且是真正类的部分占所有分类器判定是正类的比例。如式(19)所示:
召回率:表示是正类并且确实是正类的部分占所有确实是正类的比例。如式(20)所示:
平均精度AP:指的是以召回率Recall为横轴,以精确度Precision为纵轴组成的曲线,曲线围成的面积就是AP。如式(21)所示:
平均精度均值mAP:数据集中所有类别的平均精度的均值。如式(22)所示:
其中,m表示测试集中的样本个数。
YOLOv5 模型和改进YOLOv5 模型(YOLOv5-CB)训练过程中,均使用相同的数据集和相同的参数设置,根据训练过程中保存的日志文件来绘制出如图11所示的两个模型训练Loss对比曲线图。
图11 依次表示Box_Loss、Cls_Loss 和Obj_Loss,由图可以看出YOLOv5-CB 模型相比于YOLOv5 模型来说收敛较快、损失值更小,说明将原损失函数修改之后提高了网络的收敛能力。
4.5.1 对比实验
对比实验是为了更好地展现改进模型的优势,该实验是将YOLOv5-CB 与Faster-RCNN、SSD、YOLOv3、YOLOv4以及YOLOv5模型进行对比,模型使用相同的安全帽数据集来进行训练、验证,如表3 所示为各个模型在mAP、Recall和推理时间方面的对比结果。
由表3可知,YOLOv5检测算法中的YOLOv5s模型比起两阶段的Faster-RCNN以及一阶段的SSD、YOLOv3和YOLOv4 来说是轻量级的网络模型,YOLOv5-CB 模型比YOLOv5 模型的权重仅仅多1.7 MB,虽然在推理时间上比YOLOv5s慢了2 ms,但是平均精度和召回率分别比YOLOv5s 提高了5.1 和5.6 个百分点。YOLOv5m在平均精度和召回率方面都比YOLOv5-CB 稍微优越一些,但是其权重大约是YOLOv5-CB模型权重的3倍,推理速度也略低于YOLOv5-CB。YOLOv5-CB 在平均精度和召回率方面都远高于YOLOv3、YOLOv4 和SSD模型。相比于Faster-RCNN,YOLOv5-CB 的平均精度和召回率都与之相差不大,但是推理每帧视频的平均时长比Faster-RCNN快164 ms,达到了实时检测的要求。
表3 实验对比结果Table 3 Experimental comparison results
4.5.2 消融实验
该消融对比实验是为了验证各个改进模块的优化作用,实验结果如表4所示,其中改进1表示在主干网络加入注意力机制,改进2 表示修改原网络的金字塔结构,改进3表示损失函数的修改。从表中的数据可以看出,加入注意力机制后,平均精度提高了0.6 个百分点,但是速度降低了1 ms;修改金字塔结构平均精度提高了2.2个百分点,速度降低1 ms;损失函数修改后虽然精度没有提高多少,但是推理时间比YOLOv5快了2 ms。将这三个改进共同加入模型之中,平均精度提高了5.1个百分点,这对于小目标和密集目标的检测有大大的提升。
表4 消融实验结果Table 4 Ablation experimental results
为了更好地验证YOLOv5-CB 模型的可行性,在测试集中选取部分图片进行测试,如图12为YOLOv5-CB模型和YOLOv5 模型在不同施工场景下的检测结果对比图,图12 中(a)表示对遮挡目标的检测,左图为YOLOv5 模型的检测结果图,右图为YOLOv5-CB 模型的检测结果图,可以看到左图漏检了被遮挡的目标,而右图则检测出了被遮挡的目标。(b)为对交叉密集目标的检测,左图中出现了对物体的误检,将人的手误检为安全帽,右图则检测正常并且精度高于左图检测的精度。(c)是对远距离小目标的检测,左图对远处的小目标没有检测出来,相反右图准确地检测出远处的小目标。(d)是在光照不均匀的场景下对目标的检测,佩戴安全帽的工人在强光下,远处的未佩戴安全帽的人员在弱光下,左图未识别到弱光下面的人的头部,右图准确地识别出处于弱光下的头部。(e)是矿井人员在井下施工的场景,光线较弱,左图出现了漏检而右图则准确地检测到每个目标。综上所述,YOLOv5-CB 模型相比于YOLOv5 模型在性能方面表现出了更好的优越性,YOLOv5模型在复杂多样的检测场景下性能较差,在对小目标和密集目标的检测方面出现了漏检、误检的情况,并且相比于YOLOv5-CB 模型目标定位精度偏低。而YOLOv5-CB模型对小目标和密集目标的检测效果要优于YOLOv5模型,对复杂的施工场景有很好的鲁棒性,从而表现出了更优越的性能以及更准确的定位精度。
图12 不同施工场景下模型检测结果对比Fig.12 Comparison of model test results under different construction scenarios
针对目前对安全帽的检测算法出现的对小目标、密集目标漏检误检且检测准确率低的情况,本文提出了一种基于YOLOv5 模型的改进算法YOLOv5-CB 模型。该改进主要是通过在YOLOv5 的主干提取网络加入注意力机制、修改特征金字塔、改进损失函数等来提高模型对小目标和密集目标的检测能力,进而增强模型的泛化能力和鲁棒性。实验结果表明,YOLOv5-CB 模型相比于YOLOv5 模型,在小目标、密集目标的检测效果上要优于YOLOv5 模型,并且能够获得很好的检测精度,满足在复杂施工场景下对安全帽佩戴检测的准确性需求。该模型具有很好的泛化能力,也可以适应于其他类型目标的检测中。下一步的研究重点是面对各自复杂多变的环境天气,在保证速度的精度的前提下,对模型进一步的优化,使之达到更好的检测效果。