YOLOV5s行人识别改进 引入CoT模块及SIOU损失函数

1. 项目背景及意义

近年来,深度学习算法不断取得了突破性进展,这也推动了人工智能技术的不断进步。机器视觉作为其中的重要一环,在不同领域也焕发出了强烈的生机。行人目标检测是机器视觉的一项重要课题,早就已经引起了国内外学者广泛的研究。在现实生活中,行人检测在车站、商场等场所的人流量检测、汽车的自动驾驶技术、智能交通、健身房辅助教学、电影拍摄中动作捕捉等多种场景中被广泛应用。

然而,行人检测通常伴随着遮挡,对于复杂场景,例如地铁、高铁站等流量极其大的地方,一般的行人检测技术效果将会大打折扣。在一段由街头拍摄的视频中,至少有70%在银行、商店、火车站和机场等场景,行人行为都很有限制[1]。在这些复杂场景中,充满了行人相互重叠、相互遮挡的现象,而且传统的行人检测算法速度不够快,用于实时处理的效果也不够优秀。这一系列的问题导致行人检测领域需要不断地进行算法优化以满足现实的需求。

针对这样一种情况,利用深度学习算法对于行人检测算法进一步进行改进和优化,达到能够满足实时处理且精确度较高的效果,不仅能够推动人工智能技术的发展,还能够为商场和景区等人流密度较大的公共场所以及智能安防领域提供有效的信息支撑[2]。这将促进自动驾驶、智能生活等领域的成熟和进步,更好地满足人们的生活需求,为各领域提供更加可靠的技术,从而使得整个社会都将能够前进一大步。

2.项目技术介绍

2.1 CoT模块

具有自注意力的 Transformer 引发了自然语言处理领域的革命,然后研究者们尝试将自注意力机制与计算机视觉任务相结合并且取得了具有竞争力的结果。CoT[3]模块是一种用于增强Transformer结构的模块,它利用二维特征图中输入key之间的上下文来提高Transformer的性能。在传统的Transformer结构中,每个位置的key和value只能通过全局的self-attention机制来进行交互,这可能会导致信息传递的效率不高。CoT模块通过引入上下文信息,使得每个位置的key和value可以直接与其周围的位置进行交互,从而提高了信息传递的效率和性能。其结构如下图1所示。YOLOV5s行人识别改进 引入CoT模块及SIOU损失函数_第1张图片

图1 CoT结构

与CoT模块相比,自注意力机制是Transformer中常用的一种机制,它可以通过计算每个位置与所有其他位置的相关性来实现位置之间的交互。然而,自注意力机制在处理大规模特征图时可能会面临计算复杂度高的问题,而且可能无法充分利用局部信息。

在yolov5中,CoT模块可以应用于特征提取网络中,用于增强Transformer结构,提高目标检测的性能。通过引入CoT模块,可以使得特征提取网络能够更好地利用输入特征图中位置之间的上下文信息,从而提高目标检测的准确性和效率。此外,在黑暗中,传统的目标检测技术可能会受到光线不足的影响,导致检测的准确性和可靠性下降。CoT模块则可以通过对目标的中心点进行定位和识别,从而在黑暗中实现更加可靠的目标检测。

2.2 SIOU损失函数

YOLOv5s中采用的CIOU[4]损失函数更加注重目标的形状和长宽比例。CIOU损失函数在计算损失时考虑了目标框的中心点距离、宽高比例和角度距离等因素,这使得它在处理倾斜目标和小目标时具有更好的性能。但是,在处理遮挡和重叠目标时,CIOU损失函数可能会出现较大的误差,导致模型的预测结果不准确。

而SIOU[5]损失函数是一种用于目标检测模型训练的损失函数,它可以帮助模型更准确地预测目标的位置和大小。SIOU损失函数的优点在于它能够更好地处理目标之间的遮挡和重叠。在计算损失时,SIOU损失函数考虑了预测框和真实框的交集和并集的体积,并且使用了一个平滑因子来减少损失函数的震荡。这样可以使得模型更加稳定,减少训练过程中的噪声干扰。

因此,本文在选择损失函数时。考虑到实际要解决的遮挡和重叠问题,选择了SIOU损失函数。

2.3 数据集构造

目前已经有很多已经标注好的目标检测数据集,常用的目标检测数据集有COCO、VOC、cityperson等,本文所用的是CrowdHuman数据集,它是专门用于行人检测的数据集。CrowdHuman 数据集数据量比较大,见下表1。本文采用其中的15000张训练集图像以及4370张验证集图像。训练集和验证集中共有 470K 个实例,平均来说,约每张图片中含20多个人,图片中的场景十分丰富,有光影、遮挡等各种影响因素。每个人类实例都用头部框、可见部位边界框和全身边界框,如下图2所示。

表1 CrowdHuamn数据集

数据集

数量

你可能感兴趣的:(YOLO,人工智能,计算机视觉,神经网络,python,目标检测,视觉检测)