APP下载

基于YOLOv5网络的径赛人体目标检测

2022-04-24邹有成

现代计算机 2022年4期
关键词:精度图像函数

邹有成

(湖南师范大学工程与设计学院,长沙 410081)

0 引言

目前,国际田联规定在国际A、B 类比赛中,必须使用电动计时系统。只有电动计时判读出的成绩才能被认可。我国在《田径径赛规则》中明确指出, 凡举行国内一、二、三类比赛,均应使用全自动电子计时装置。在径赛比赛中,运动成绩的确认,靠以往的手工计时是无法满足要求的。尤其在大型的体育赛会中,对运动成绩的准确、公证的裁定是非常重要的。

国际田径比赛中的成绩判读主要还是依靠线阵CCD 与人工配合来完成,它是由高速线阵CCD 相机在运动员过线那一刻进行图像采集,通过电脑将采集的图像与计时生成判读图片,最后由电计时裁判员判定运动员的比赛成绩,由于跑道拍摄清晰度的问题,需要通过道次裁判员提供道次来确定运动员成绩。

现有的图像分析终点计时系统都是基于线阵CCD 与图像处理技术配合人工来进行成绩判读。线阵CCD 结合图像处理的终点计时系统系统虽然精度足够高,但是在遇到一天内比赛量巨大的场景时,例如体育高考,每天需要进行上百次的人工判读,高强度的工作容易造成判读员的疲劳,进而造成比赛成绩误判。本文希望通过目标检测技术来完成对径赛运动员的识别,并研究提高跑道上遮挡的人体目标的检测精度。方便后续展开对径赛全自动判读的研究。

目标检测任务已经发展了近十年,简单场景下的人体目标检测技术已经较为成熟,但对遮挡的人体目标检测还处在研究阶段。2016年,江鸥通过分析目标检测算法中的HOG 特征提取与构建特征金字塔等手段改进模型,更好的解决了行人检测中的遮挡问题。2018 年,李宗明等使用Faster RCNN 和相似性度量的行人目标检测在改进非极大值抑制和硬阈值筛选后,提升了模型对重叠行人的检测精度,降低了漏检误检的概率。2019 年,周小又通过对数据集中遮挡行人的可见区域分,设计出了一种多感受野的行人部位检测网络,减小了对遮挡行人的漏检率。2021 年,邹梓吟等提出一种基于注意力机制的特征提取增强检测算法,通过添加注意力模块学习特征通道间关系和特征图空间信息与利用距离交并比损失函数(DIO-ULoss)设计检测器的损失函数的方法提高了对遮挡行人的检测精度。

与行人检测对视野范围内所有目标都感兴趣不同,径赛目标检测只对跑道上的运动员感兴趣,模型需要能够检测出跑道上的运动员,并且能够剔除跑道外的无关人员的干扰。

要想利用机器替代人工完成径赛的全自动判读,模型对遮挡目标检测能力的提升就是最为重要的一环,本文将以提高对遮挡运动员的检测精度为目的,从网络模型、非极大值抑制算法、数据集等方面展开研究。首先在专用场地拍摄运动员冲刺画面,对图片进行预处理,通过数据增强的手段,将数据集中运动员部分身体进行遮挡,获取大量的差异性数据,并标注制作成数据集。通过改变网络模型结构,增强模型对遮挡小目标的注意力;再修改非极大值抑制算法(non-maximum suppression,NMS),提高模型对遮挡目标锚框的容忍度。实验表明,改进后的YOLOv5算法对跑道中的遮挡运动员目标检测滤明显提升,能够满足实际场景下的检测需求。

1 总体设计方案

本次实验主要是研究专用于径赛人体目标检测的YOLOv5模型。首先利用高速摄像机在专业田径赛场拍摄了81 段视频,将比赛视频按照每五帧提取一张的采样率提取出2195 张图像,利用数据增强技术对数据集进行扩充,最后得到5485 张可用图像,利用labelimg 对图像中的运动员进行标记,并且按照训2∶1∶1 的比例划分训练集、测试集、验证集,将划分好的数据集上传到GoogleDrive 网盘,并在colab 服务器上进行训练。最后利用输出的YOLOv5s模型(命名为best.pt,下文称之为改进后YOLOv5 径赛检测模型)对实际径赛拍摄图像进行检测。

2 YOLOv5s网络模型

YOLOv5 作为YOLO(you only look once)系列最新版本的检测模型,无论是检测速度还是检测精度都有了较为明显的提升。实验结果表明,YOLOv5 的表现要优于谷歌开源的目标检测框架EfficientDet。相较于上一代在darknet架构下的YOLOv4模型244 MB 的大小,YOLOv5s 模型的仅有14 MB,缩小近乎95%,当然更小的模型意味着更快的检测速度,YOLOv5在Tesla P100 的加持下能够实现140 FPS 的快速检测。

YOLOv5 提供四种不同的模型,四中模型的配置文件一致,只在层深与宽度上做区分,越深的模型占用了更大的存储空间带来了更高度精度,但同时也降低了运行速度,本实验权衡实际精度要求与算力限制选用了最为精简的YOLOv5s作为预训练模型。

YOLOv5s 作为YOLOv5 中最简洁的一个模型,与其他Yolov5 模型一样,其网络结构分为四个部分,分别是输入(input)、主干网络(backbone)、颈部(neck)、预测(prediction)。网络结构参考图1。

图1 YOLOv5s网络结构

2.1 输入(input)

Input 部分运用Mosaic 数据增强方式,自适应图片缩放,自适应计算锚框。

Mosaic 能够提高小目标的检测效果,利用四张图片,随机裁剪、随机缩放、随机布局的方式拼接图片,效果参考图2。同样,拼接的图片也能够丰富数据集。不仅如此,拼接四张图片还能够一次性计算四张图片的数据,减小了Mini-batch 的大小,使得单GPU 训练的效果提高。

图2 Mosaic数据增强

2.2 主干网络(backbone)

Backbone 包含Focus 结构、CSP(cross stagepartial connections,跨阶段局部网络)结构、SPP(spatial pyramid pooling,空间金字塔池化模块)结构。Focus结构中最重要的就是4次切片操作,切片操作图释参考图3。

图3 切片操作

4×4×3 的图像经由切片操作之后变成了2×2×12 的特征图。参考Focus 的结构(图4),输入为608×608×3 在经过Focus 结构切片后将变成304×304×12 的特征图,再经过一个32 卷积核的卷积算法后将变为304×304×32的特征图。

图4 Focus结构

网络结构中CSP 结构有两种,一种是应用于主干网络Backbone 中的CSP1_X,另一种则是应用于Neck中的CSP2_X。

Backbone 中还加入了SPP,参考图5,经过并列的三个Maxpool 进行下采样,将结果与其初始特征相加,从而增强网络对多尺度特征融合能力。

图5 SPP结构

2.3 颈部(neck)

Neck 中 包 含FPN+PAN 结 构FPN(Feature Pyramid Networks)是从上而下的,通过将高层特征上采样和底层特征融合得到新的特征图来进行预测。PAN(Path Aggregation Network)则是在FPN的基础上又加了从下到上的融合。

2.4 预测(prediction)

在YOLOv5 中,loss 在训练中起到了决定性的作用,同时,YOLOv5 的loss 又与大部分传统的方法不同,它是基于网格的。在网格上生成相应的锚框和其对应的cls(classification loss)以及obj(objectness),同 时,box loss 还 采 用 了CIoU(Complete Intersection over Union)的方式来进行回归,很好的提高了回归的速度。并且针对传统YOLO 中正样本不足的情况。它还采用了,它还利用了一种样本扩充的策略,很大的提高了其最终的检测精度。

3 改进YOLOv5模型

3.1 更改激活函数

原始YOLOv5 网络结构中混合使用Leaky Relu 与Hardswish 激活函数,本文将网络中所有激活函数替换为SiLU 激活函数,简化了体系结构,SiLU 激活函数其实是Swish[e]激活函数在pytorch 中的名字,公式如(1)所示,其中()=1/(1+exp(-6))为sigmoid 函数,SiLU 的设计受到了LSTM和高速网络中gating(控制)的sigmoid 函数使用的启发。我们使用相同的gating 值来简化gating 机制,这称为self-gating(自控)。

self-gating 的优点在于它只需要简单的标量输入,而普通的gating 则需要多个标量输入。这使得诸如SiLU 之类的self-gated 激活函数能够轻松替换以单个标量为输入的激活函数(例如ReLU),而无需更改隐藏容量或参数数量。

SiLU 具备无上界有下界、平滑、非单调的特性,它有助于防止慢速训练期间,梯度逐渐接近0 并导致饱和;并且SiLU 的平滑度在模型的优化和泛化中起了重要作用。

图6 Silu激活函数

3.2 改进非极大值抑制NMS

在目标检测的后处理过程中,针对很多目标框的筛选,通常需要NMS操作。

YOLOv5 采用了BECLogits 损失函数计算objectness score 的损失,class probability score 采 用了交叉熵损失函数(BCEclsloss),boUnding box采用了CIoU Loss。损失函数公式如下:

损失函数的发展经过了IoU(Intersection over Union), GIoU(Generalized Intersection over Union),DIoU(Distance Intersection over Union), CIoU(Complete Intersection over Union)四个阶段。IoU、GIoU、DIoU公式的图释分别参考图8—图10。

图8 IoU图释

图9 GIoU图释

图10 DIoU图释

在介绍CIoU 前得先了解IoU,IoU 的全称为交并比(Intersection over Union),通过这个名称我们大概可以猜到IoU 的计算方法。IoU 计算的是“预测的边框”和“真实的边框”的交集和并集的比值。

与只关注重叠区域不同,不仅关注重叠区域,还关注其他的非重合区域,能更好的反映两者的重合度。为能够包住的最小方框。

DIoU(Distance-IoU)要比GIoU 更加符合目标框回归的机制,将目标与锚框(anchor box)之间的距离,重叠率以及尺度都考虑进去,使得目标框回归变得更加稳定,不会像和一样出现训练过程中发散等问题。

其中,,b分别代表了预测框和真实框的中心点,且代表的是计算两个中心点间的欧式距离。代表的是能够同时包含预测框和真实框的最小闭包区域的对角线距离。后面一项即为惩罚因子。

由于bbox 回归三要素中的长宽比还没被考虑到计算中,在的基础上提出来,的惩罚项是在的惩罚项基础上加了一个影响因子,,这个因子把预测框长宽比拟合目标框的长宽比考虑进去。其中是用于做trade-off 的参数,是用来衡量长宽比一致性的参数。

原始YOLOv5 中使用CIoU_loss 作为边界框回归的损失,由于CIoU_Loss 中包含影响因子,涉及gt(groundtruth)d 的信息,但在测试推理时,是并没有groundtruth 信息的。考虑到径赛检测中,运动员经常会在画面上出现遮挡的情况,DIoU 可以作为标准,在抑制冗余检测框时不仅考虑重叠程度,而且考虑两个边界框中心点之间的距离,使其对有遮挡的情况具有更强的鲁棒性。故YOLOv5中边界框的回归调整为

4 数据集介绍

4.1 原始数据集

本次实验自制了一个径赛短跑数据集,画面内包括跑道、运动员、教练、足球场等事物,每张图像的分辨率大小为856×480,原始数据集共计2195张图像。原始数据集展示参考图11。

图11 原始数据集

4.2 数据增强

除YOLOv5 自带的Mosaic 数据增强外,为了提高对遮挡目标的鲁棒性,提高模型对局部特征的关注度,利用添加随机遮挡的手段丰富数据集中的遮挡类别。在图片上随机添加随机颜色的多边形遮挡块,使图像上身体部分信息缺失。经过随机遮挡处理后的图像参考图7。扩充后的数据集共计5485张。

图7 Silu激活函数一阶导数

图12 数据增强后的数据集

4.3 图像标注

数据集通过开源软件labelimg 进行标注,但只对进行短跑比赛的运动员标注,标签记为runner,画面中运动员如有遮挡或者粘连,将分别用不同的矩形框进行标注,确保模型能够在实际比赛中对重叠的目标精确识别。画面中教练等围观群众不算作模型识别范围,不予以标记。具体见图8。

图13 运动员标注

5 模型训练与结果分析

5.1 YOLOv5模型训练

本实验对GPU 算力有一定要求,实验在Google colab 云端进行,通过网络挂载到远程服务器训练,使用CUDA(compute unified device architecture)并行计算架构运算平台。具体环境如表1所示

表1 实验运行环境

采取box loss 作为损失函数。参数设置如表2所示。

表2 训练参数设置

5.2 训练结果

训练周期epochs 设置为200,训练周期在190 轮的时候开始稳定,best.pt 选取训练中mAP值最高的模型,mAP@0.5 可以达到0.982,训练结果如图14、图15所示。

图14 损失函数

图15 平均精度mAP@0.5

不同训练周期的结果如表3所示。

表3 不同周期训练结果

不同目标检测模型检测结果对比如表4所示。

表4 不同目标检测模型检测结果对比

5.3 结果分析

下面三组图展示了三种模型的检测效果,左边紫色检测框为原版YOLOv5m 目标检测模型,中间玫红色检测框为原版YOLOv5s 目标检测模型,右边蓝色检测框为改进后的YOLOv5s径赛检测模型。原版YOLOv5m 与YOLOv5s为开源模型。径赛中出现的场景绝大多数可以归结为这三类,画面中只出现一个运动员的单人体目标检测,画面中出现多运动员的多目标检测和画面中运动员存在粘连重叠的遮挡情况。

单目标检测参考图16 中(a)、(b),可以发现,三个模型都检测出了运动员,带宽最深的YOLOv5m 检测效果最好,改进后YOLOv5s 径赛检测模型的锚框相比开源模型更加准确,但置信度相比开源模型略低一些。参考图16(b)会发现,自训练模型并没有将跑道之外的无关人员检测出来,是由于数据集标注时,为排除跑道之外的人员干扰,将所有跑道之外的无关人员不予标注。

图16 单目标检测

多目标检测参考图17 中(a)、(b),人物在存在间隔的情况下三个模型都能较好的检测出来运动员,且锚框对于边界的判断都较为准确,均无误检漏检情况出现。

图17 多目标检测

重叠遮挡多目标检测参考图18 中(a)、(b)可以发现,改进后YOLOv5s 模型在检测运动员存在粘连和遮挡的时候更能够清楚判断人物与边界,能够准确检测出重叠在后方的运动员。图18(a)中有4 名运动员,改进后YOLOv5 模型能够将跑道中运动员4 名全部检测出来,YOLOv5s 与YOLOv5m 均存在漏检情况,只检测出3 人;图18(b)同样是4 名运动员,改进后YOLOv5s 模 型全数检测,YOLOv5s 与YOLOv5m 漏检一名。由于本检测实验只对跑道上的运动员感兴趣,故自制数据集只对跑道中的运动员进行标注,对跑道外的人员不进行检测,从图18(b)中能看出,自制模型能够去除跑道之外无关人员的干扰,清楚的检测出在跑道中进行比赛的运动员。从检测结果来看,改进后YOLOv5径赛检测模型在遇到重叠遮挡情况时能够更好的检测出遮挡目标。

图18 重叠遮挡多目标检测

6 结语

为了提高径赛中遮挡人物的识别率,基于YOLOv5网络在自制径赛数据集上进行训练,得到改进后YOLOv5s 径赛检测模型。实验的结果表明,改进后YOLOv5径赛检测模型能够较好的检测在该场景下比赛的运动员,能够识别并较为精确的判定遮挡人物的边界。相较于原版YOLOv5s 模型,本模型在无遮挡检测精度提升2.4%,遮挡检测精度提升7.6%。经过分析,改进后的YOLOv5模型在径赛场地上有更好的检测效果。

猜你喜欢

精度图像函数
基于不同快速星历的GAMIT解算精度分析
A、B两点漂流记
近似边界精度信息熵的属性约简
电力系统短期负荷预测方法与预测精度
关于函数的一些补充知识
高中数学中二次函数应用举隅オ
无独有偶 曲径通幽
名人语录的极简图像表达
一次函数图像与性质的重难点讲析
趣味数独等4则