摘要:
针对传统的人体姿态识别在实际应用过程中存在的诸多问题,如应用场景单一、目标物体背景复杂以及目标被遮挡识别精度差等,本文提出了一种基于Yolo-Pose的人体姿态估计算法。具体的改进过程分为4个部分。
首先,在Yolo-Pose模型的Backbone部分,引入了轻量级GhostNet模块,以降低模型的参数量和减少算力需求,使其更适宜在无人机上部署。
其次,在Neck部分引入ACmix注意力机制,在模型对目标进行判断和定位的任务中提高了检测速度。
接着,在Head部分关键点的优化上,通过坐标注意力机制,大幅提高了关键点定位的精度。
最后,本文改进了损失函数和置信度函数,以提高模型的鲁棒性。
数据:
图像分辨率为5280×2970像素,也采集了600张图片。两者共采集了1200张图片,并以 8:1 :1的比例划分训练集、测试集和验证集。
网络模型:
Yolov5网络模型 Notes:CBS由Conv、Batch Normalization和SiLU激活函数三部分组成。C3的作用是特征提取和特征融合。
名词解释:
1、CBS:是一个常见的组合,通常在卷积神经网络中使用卷积层(Convolutional Layer)进行特征提取,然后通过批量归一化(Batch Normalization)标准化输入,再通过SiLU激活函数增加非线性特性,
2、C3结构是YOLOv5和YOLOv8中使用的一种改进的卷积模块,用于高效提取特征。C3模块结合了残差连接和跨层特征传递的思想,能够更好地捕获图像的多尺度特征,并减少信息丢失。
结构:(1)残差连接(2)Bottleneck模块,每个Bottleneck模块包括卷积层、批量归一化和非线性激活函数(如SiLU),它的作用是减少计算量,保持信息流动性,同时有效提取特征。(3)CSPNet,CSP结构会将输入的特征图分成两部分,其中一部分直接通过残差块,另一部分则跳过这些块。最后将这两部分特征图拼接在一起。(4)通道拼接
3、SPPF:SPPF模块用于在不同尺度上提取特征,保留更多的空间信息。将SPPF放在Backbone中可以帮助模型从不同的空间层次获取特征,增强检测能力。【SPP是空间金字塔池化的缩写,】
4、下采样:是CNN中常用的一种操作,主要目的是减少输入特征图的空间尺寸(即宽高),从而降低计算复杂度,并保留重要的特征以便后续的处理。【在YOLO等目标检测模型的Backbone部分,下采样被广泛用于逐步减小输入特征图的大小。比如,使用步长为2的卷积操作或池化操作,以减少特征图尺寸的同时提取更高层次的特征。】
5、GhostNet:是一种高效的卷积神经网络架构,核心思想是生成更多的特征图,同时减少计算量。
6、ACmix注意力机制,具体例子,在目标检测中,ACmix通过增强对重要特征的响应,提高了模型对目标物体的定位能力。例如,可以通过将ACmix嵌入YOLO或Faster R-CNN等目标检测网络中,改善检测框的生成和物体分类的准确性。
7、非极大值抑制(NMS):是一种常用于目标检测和图像分割任务中的后处理技术。它的主要目的是从候选检测框中去除冗余的、重叠度较高的框,以提高检测结果的准确性和可读性。尽管NMS在许多任务中表现出色,但在物体密集的场景中可能会出现信息丢失的问题,因此需要谨慎选择其参数,并结合其他变体来优化检测结果。
8、Warm-up策略:是一种在训练深度学习模型时常用的技术,旨在帮助模型更好地收敛并提高训练的稳定性。这个策略特别适用于使用学习率调度的场景,通常在训练的初期阶段对学习率进行逐渐增加的调整。