Pedestrian Fall Detection Algorithm Based on Improved YOLOv8
With the acceleration of social aging, pedestrian falling accidents have become a serious social problem. This article focuses on the research of pedestrian fall detection based on improved YOLOv8. In response to the shortcomings of the original YOLOv8 in pedestrian fall detection tasks, a YOLOv8-RFAConv-Diou-Inner-Focaler model is proposed. This model introduces attention mechanism in the convolutional layer through RFA Conv convolution operation, enhancing the attention to important features and improving the expression ability of features. Introducing the Diou loss function to address the shortcomings of traditional loss functions in target overlap and scale changes, as well as dynamically adjusting loss weights using the Inner Focaler loss function. Through experimental verification, the improved algorithm proposed in this paper has achieved significant performance improvement in pedestrian fall detection tasks, with an average accuracy improvement of 4.8% compared to the original algorithm (YOLOv8 algorithm).
Pedestrian Falling
自进入21世纪以来,老龄化问题日益严重,根据我国第七次人口普查数据
目前,深度学习在各个领域中正在广泛应用,针对检测摔倒YOLO系列算法表现非常出色,张靖
YOLOv8是YOLO系列目标检测算法的进阶版本,于2022年发布。作为YOLO系列算法的延续,YOLOv8继承了YOLOv5的优势,如实时性、简洁性和高效性,并在性能和易用性方面进行了全面升级。YOLOv8与YOLOv5相同,基于缩放系数提供了5个模型,分别为x、l、m、s、n,在5个模型中x模型为最大模型而n模型则为最小,本文将以YOLOv8n
YOLOv8采用了新的网络架构和训练策略,使其在多个目标检测数据集上取得了优异的性能。同时,它在处理小目标、密集目标和遮挡目标方面也有更好的表现。相比于之前的YOLO系列算法,YOLOv8的Backbone部分第一层卷积由原本的6 × 6卷积改为3 × 3卷积;并将C3结构换成了梯度流更丰富的C2f
空间注意力机制,作为一种提升卷积神经网络性能的有效手段已经被广泛应用。但是,它的局限性在于仅关注空间维度上的特征,而忽略了卷积核参数共享的问题。特别是在处理大尺寸卷积核时,空间注意力生成的注意力图所包含的信息是不充分的。因此,需要选用一种新的注意力机制来解决这个问题。本文选用感受野注意力(RFA),相比于传统的空间注意力机制,比如卷积块注意力模块(CBAM)
RFA的核心思想在于,它不仅强调了感受野内不同特征的重要性,还优先考虑了感受野空间特征。通过这种方式,RFA解决了卷积核参数共享的问题。感受野空间特征是根据卷积核的大小动态生成的,因此,RFA成为了卷积的一种固定组合,它依赖于卷积操作,同时通过RFA来提升性能。基于RFA,采用了一种新的卷积操作,称为感受野注意力卷积(RFA Conv)
在目标检测任务中,损失函数的选择对模型的性能有着直接的影响。YOLOv8所用的原始损失函数CIoU是一种在IoU损失的基础上进行改进的损失函数,它考虑了检测框的大小、重叠面积和中心点距离。然而,在实际应用中,CIoU损失函数仍存在一定的局限性。为了进一步提高检测框的定位精度,本文提出了一种新的损失函数,名为DIoU + Inner + Focaler损失函数。
其中DIoU
(1)
IoU是交并比, 是预测框中心b和真实框中心 之间的欧氏距离,c是能够同时包含预测框和真实框的最小闭包区域的边长。DIoU的取值范围在[−1, 1]之间,值越大表示预测框与真实框越接近,目标检测算法的性能越好。相比于CIoU,其考虑了预测框与真实框之间的中心点距离,有助于更快地收敛于目标位置。通过引入对角线长度,能够更好地处理不同尺度下的目标检测问题。除此之外,能够提供更有效的梯度信息,从而提高目标检测算法的训练效率。并能够有效解决IoU在目标框相互包含时的梯度消失问题,使得目标检测算法在训练过程中更加稳定。
Inner-IoU
(2)
(3)
(4)
和IoU损失一样Inner-IoU损失的取值范围为[0, 1]。因为辅助边框与实际边框仅存在尺度上的差异,所以损失函数计算方式相同。与IoU损失相比,当ratio小于1,辅助边框尺寸小于实际边框,其回归的有效范围小于IoU损失,但其梯度绝对值大于IoU损失所得的梯度,能够加速高IoU样本的收敛。与之相反,当ratio大于1,较大尺度的辅助边框扩大了回归的有效范围,对于低Iou的回归有所增益。因此,Inner-IoU损失更关注检测框与真实框之间的内部重叠程度,能够更准确地反映检测框的定位精度。对小目标检测具有更好的评估效果,因为小目标的检测框更容易受到背景噪声的影响,Inner-IoU能够有效降低这种影响。
Focal
(5)
其中, 是模型对于每个类别的预测概率, 是用于平衡正负样本权重的系数, 是调整难易样本权重的参数。
新的损失函数考虑了内部区域。其内部区域惩罚项的引入,使得损失函数能够更加关注预测框内部的像素,从而提高了定位精度。同时引入了Focaler惩罚项,提高模型对遮挡、小目标等难分类样本的检测能力并降低训练难度。在训练过程中,模型更容易找到合适的预测框,从而提高了检测精度和定位精度。DIoU + Inner + Focaler损失函数在训练过程中,通过优化中心点距离、内部区域和Focaler惩罚项,使得预测框在定位上更准确。这样的设计有助于模型更好地学习目标的精确位置,尤其是在处理小目标和遮挡场景时。此外,DIoU + Inner + Focaler损失函数在训练过程中的收敛速度也优于CIoU损失函数。
本文的数据集在网络上对于摔倒图片进行搜集初步为1428张图片,为了能够更好地识别和处理实际应用中可能遇到的各种变化和提高模型的性能,对原始数据进行图像增强,通过旋转,平移等操作扩增至8568张。
在本次实验中,所使用的操作系统为Linux Ubuntu 20.04.4 LTS,GPU选用RTX 3080 Ti,显存为12 G,选用PyTorch 2.1.2,选用Python 3.10 (Ubuntu22.04),以及Cuda 12.1,输入图像尺寸设置为640*640,训练时迭代次数为200次,Batch Size为16,学习率为0.01。
在经过目标检测实验后,本文所选用的评价指标为平均精度mAP和准确率P作为评价标准。
为了确认各个改进部分对YOLOv8n目标检测器的性能提升效果,进行了一系列的消融研究对比实验。结果如下
Model | Rfa conv | Inner-Focaler | DIoU | mAP |
模型1 | × | × | × | 78.4% |
模型2 | √ | × | × | 80.6% |
模型3 | √ | √ | × | 80.8% |
模型4 | √ | √ | √ | 83.2% |
本文对于摔倒检测所提出的YOLOv8-RFAConv-Diou-Inner-focaler检测算法,通过选取RFA Conv感受野注意力卷积,在不需要增加计算成本的前提下,将注意力从传统的空间特征转移到了感受野空间特征,并有效解决参数共享的问题。并引进Diou-Inner-Focaler损失函数,使整个模型对于预测框的描述更加准确,实现了提高定位精度和检测精度的任务,同时加快收敛速度。经实验该算法的检测能力达到83%,高于原始算法4.8%,可以有效识别摔倒行为。