CN117542082A - 一种基于YOLOv7的行人检测方法 - Google Patents

一种基于YOLOv7的行人检测方法 Download PDF

Info

Publication number
CN117542082A
CN117542082A CN202311602425.5A CN202311602425A CN117542082A CN 117542082 A CN117542082 A CN 117542082A CN 202311602425 A CN202311602425 A CN 202311602425A CN 117542082 A CN117542082 A CN 117542082A
Authority
CN
China
Prior art keywords
frame
network
yolov7
prediction
feature map
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202311602425.5A
Other languages
English (en)
Inventor
吕文涛
娄翔飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Sci Tech University ZSTU
Original Assignee
Zhejiang Sci Tech University ZSTU
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhejiang Sci Tech University ZSTU filed Critical Zhejiang Sci Tech University ZSTU
Priority to CN202311602425.5A priority Critical patent/CN117542082A/zh
Publication of CN117542082A publication Critical patent/CN117542082A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/103Static body considered as a whole, e.g. static pedestrian or occupant recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/25Determination of region of interest [ROI] or a volume of interest [VOI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/443Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
    • G06V10/449Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
    • G06V10/451Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
    • G06V10/454Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/52Scale-space analysis, e.g. wavelet analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/762Arrangements for image or video recognition or understanding using pattern recognition or machine learning using clustering, e.g. of similar faces in social networks
    • G06V10/763Non-hierarchical techniques, e.g. based on statistics of modelling distributions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/80Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level
    • G06V10/806Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level of extracted features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/07Target detection

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Human Computer Interaction (AREA)
  • Image Analysis (AREA)

Abstract

本发明基于YOLOv7的行人检测方法,包括:S1、采集行人图像数据集;S2、对行人图像数据集进行增强处理;S3、数据集划分为训练集、验证集和测试集;S4、对训练集图像的目标GT框进行聚类,得到先验框;S5、从训练集中随机选择图像,输入YOLOv7,获得预测特征图;S6、先验框均匀分布到预测特征图上,根据预测特征图上的锚点信息对先验框进行调整;S7、利用S6的预测框与GT框,计算网络损失值,更新YOLOv7网络的参数,以最小化损失函数;S8、重复S5到S7,统计验证集中行人类别的平均精度AP值;直到AP值稳定;S9、使用训练完成的YOLOv7网络对测试集图像进行预测,产生特征图上的预测框;根据特征图和原图之间的比例关系,将预测框映射到对应的原图上,以定位行人目标。

Description

一种基于YOLOv7的行人检测方法
技术领域
本发明属于行人检测技术领域,具体涉及一种基于改进YOLOv7的密集行人检测方法。
背景技术
行人检测不仅在智能交通、辅助驾驶领域发挥着重要的作用,而且为行人跌倒检测、人体行为预测等研究提供理论基础和技术支撑。基于计算机视觉的行人检测技术在无人驾驶、辅助驾驶中起到了决定性的作用,该技术可在行车过程中通过成像设备获取车辆周围的图像数据,给出图像序列中行人目标的准确定位,提高了辅助驾驶的安全性,保障了驾驶员及行人的生命安全。在实际应用中,各类行人检测***需要高实时性、强鲁棒性,这是行人检测技术的难点,也使其成为目标检测领域的研究热点。但现实场景的行人检测通常存在目标重叠、相互遮挡或是尺度不一的问题,导致了检测结果较差。因此,亟需设计一种高效的自动化密集行人检测方法。
针对上述现状,本发明提出了一种改进的密集行人检测方法,该方法基于YOLO(You Only Look Once)神经网络的架构。YOLO是一种广泛应用的目标检测算法,它的主要特点是实现了实时目标检测,但在高密度行人区域的性能仍有提升空间。而本发明方法引入一系列创新技术,旨在提高YOLO网络在密集行人环境下的检测准确性和效率。
发明内容
本发明提出了一种基于YOLOv7的密集行人检测方法,该方法通过在网络的特定位置引入了特征过滤净化模块和采用基于深度可分离卷积的高效检测头等结构,解决了在密集行人检测任务中存在的复杂背景干扰和相互遮挡等问题。本发明进行行人图像的目标检测,相较于现有的先进检测模型在检测精度和效率指标上都具有较大的优势,很好地满足了实际场景中的实时性要求。
本发明采取如下技术方案:
基于YOLOv7的行人检测方法,其包括如下步骤:
S1、采集行人图像数据集。作为本步骤的优选,每张图像都伴随一个TXT格式的标注文件,这个标注文件包含了对图像中每个行人目标的类别和位置的详细标注信息,包括行人所在的位置坐标和类别(c,x1,y1,x2,y2)。
S2、为了增加数据集的多样性和提高模型的鲁棒性,采集到的行人图像数据集经过Mosaic数据增强处理,以生成行人图像的增强版本。作为本步骤的优选,Mosaic数据增强包括旋转、缩放、镜像翻转、亮度调整等操作,以增加训练数据的多样性。
S3、增强后的数据集按照预设的比例被划分为训练集、验证集和测试集。这种划分有助于评估和验证模型的性能,并确保数据集的合理使用。
S4、在训练集中,对所有图像的目标GT框进行聚类,以得到K个先验框。这些先验框将用于模型训练和检测过程中。本步骤优选使用Kmeans++聚类算法对所有图像的目标GT框进行聚类。
S5、从训练集中随机选择X张图像,将它们输入YOLOv7网络,以获得N个预测特征图,用于目标检测。
S6、K个先验框按照尺度均匀分布到N个预测特征图上,然后根据预测特征图上的锚点信息对相应的先验框进行调整,以生成所有的预测框。这些预测框将用于行人检测任务。
S7、利用步骤S6中得到的预测框与对应图片的GT框,计算网络损失值。然后,采用梯度下降法来更新YOLOv7网络的参数,以最小化损失函数,从而优化模型的性能,使其能够准确地检测行人目标。
S8、重复步骤S5到S7,直到所有训练集中的图片都输入网络一次,这构成了一个训练周期(epoch)。在每个训练周期结束后,使用参数更新后的YOLOv7网络对验证集中的每张图像进行预测,并统计输出验证集中行人类别的平均精度(Average Precision,AP)值。AP值是一种衡量模型性能的指标,用于评估行人检测的准确度,直到所统计的AP值稳定在某个预定的值或在连续若干个训练周期内没有显著改进。这时,可以确定训练完成,得到了一个经过充分训练的YOLOv7网络。
S9、使用训练完成的YOLOv7网络对测试集中的所有图像进行预测。这将产生特征图上的预测框。然后,根据特征图和原图之间的比例关系,将这些预测框映射到对应的原图上,以准确定位行人目标。该步骤用于在实际应用中对行人进行检测和定位。
作为优选方案,步骤S1中,所得到数据集具体为:包括多张640x640像素的图像以及对应的标签文件,标签文件采用txt格式,记录图像的目标位置信息和类别信息;每个标签文件的格式为(c,x1,y1,x2,y2),其中,c表示标注框内所含物体的类别,x1和y1分别表示标注框左上角顶点的x坐标和y坐标,x2和y2表示标注框右下角顶点的x坐标和y坐标。
作为优选方案,在步骤S1中,类别和位置的标注被称为Ground Truth(GT),这些标注将作为模型训练的真实目标框。这有助于模型了解目标的真实位置和类别,以进行有效的训练。作为优选方案,在步骤S2中,使用Mosaic数据增强来扩充行人数据集:随机选择四张训练集中的图像,将四张图像进行随机裁剪,然后拼接成一张新的图像,生成新的训练数据。这种方法有助于增加训练数据的多样性和复杂性。
作为优选方案,在步骤S2中,使用Mosaic数据增强策略有助于生成多样性更强的训练样本,提高模型的鲁棒性和泛化能力。
作为优选方案,在步骤S3中,训练集、验证集和测试集的划分比例为8:1:1,这种比例有助于充分训练模型,同时也提供了合适的验证和测试数据,以评估模型性能。为了管理这些数据集,生成train.txt、val.txt、test.txt文件,用于保存对应的图像列表。这些文件有助于指导模型在不同数据集上的训练和评估。
作为优选方案,步骤S4中,根据训练集中的标签文件的位置信息,来计算目标的宽度和高度,从而进行聚类;标签文件的格式为(c,x1,y1,x2,y2),其中,c表示标注框内物体的类别,x1和y1表示标注框的左上角顶点坐标,x2和y2表示标注框的右下角顶点坐标,标注框称为Ground Truth(GT)框;使用K-means++聚类算法根据宽度和高度对GT框进行聚类,得到K个聚类中心坐标,中心坐标用作K个先验框的宽度和高度,以适应不同尺寸的目标。
作为优选方案,在步骤S4中,使用Kmeans++算法对训练集中的所有GT框进行聚类。每个GT框包含了(class,xmin,ymin,xmax,ymax)信息,其中,class表示行人类别,xmin、ymin表示左上角顶点坐标,xmax、ymax表示右下角顶点坐标。
步骤S4中的聚类过程:采用K-means++聚类方法,根据GT框的宽和高进行聚类,以得到K个聚类中心坐标,这些中心坐标将作为锚框的宽高。通常,K值选取为9,以适应不同尺寸的目标,为模型提供了多尺度的锚框。
步骤S4中,得到的3个不同尺度的训练集网络输出特征图的尺度分别为20×20、40×40、80×80,对于每一个训练集网络输出特征图,分配3个尺寸的先验框。
作为优选方案,S5、从训练集中随机选择X张图像,将它们输入YOLOv7网络。网络的主干部分用于提取图像特征,生成不同尺度的有效特征图。随后,特征聚合模块对这些有效特征图进行进一步融合,以得到不同尺度的融合特征图。最后,对融合特征图的通道进行调整,以获得N个预测特征图,用于目标检测。
作为优选方案,步骤S5中具体包含如下步骤:
S5.1、随机选取训练集中X张图像输入到YOLOv7的主干网络CSPDarknet-53中进行逐级特征提取,从中取出最深层的三个含有不同尺度和通道数的有效特征图,所述主干网络CSPDarknet-53包括依次相连的ELAN模块和MP模块,同时进行下采样,输出三个不同尺度的特征层(按照尺度从小到大分别称为M5、M4、M3),将其输入特征过滤净化模块FFPM以过滤跨层冲突,输出L5、L4、L3三个不同尺度的特征图。将FFPM模块***主干网络提取特征之后,加强特征融合。
S5.2、将步骤S5.1中得到的三个有效特征图(按照尺度从小到大分别称为L5、L4、L3),输入FFPM模块和路径聚合网络PANet进行进一步融合,经过自上至下和自下至上的融合充分混合了深层和浅层的特征,对于特征融合模块的每层输出特征图P5、P4、P3,它们的尺度和输入特征图L5、L4、L3保持一致。在FFPM融合多尺度特征之后***MSFE模块,进一步优化级联融合后的特征,并为浅层特征提供丰富的指导信息。所述FFPM结构中在浅层引入Coordianate Attention(CA)模块与降维后的浅层特征相融合。将FFPM输出的三个特征层输入PANet中进行进一步融合。
S5.3、将PANet输出的三个融合特征图的通道数通过轻量化自适应尺度引导头(adaptive scale guidance head,ASGH)调整为num_anchor*(5+num_class),以获取N个输出特征图,其中num_anchor表示在预测特征图的每个锚点上预设先验框数目,num_class表示预测类别数目。
在ASGH中,使用更轻量化的5×5深度可分离卷积来替换参数量巨大的3×3卷积核,并在其中根据Selective-and-Kernel(SK)注意力机制进行改进,来选择对最终预测更有利的特征。
作为优选方案,步骤S5.2中,特征融合过程具体包括以下步骤:
S5.2.1、将M5特征图经过SPPCSPC模块,得到特征图K5,将K5进行上采样并和M4特征图进行融合,将融合结果输入ELAN-W模块,以得到特征图K4;
S5.2.2、将K4进行上采样并和M3特征图进行融合,将融合结果输入ELAN-W模块,以得到最浅层输出特征图P3;
S5.2.3、将P3特征图输入MP模块进行下采样,并与K4特征图进行融合,将融合结果输入ELAN-W模块,以得到中间层输出特征图P4;
S5.2.4、将P4特征图输入MP模块进行下采样,并与K5特征图进行融合,将融合结果输入ELAN-W模块,以得到最深层输出特征图P5;
S5.2.5、对于得到的特征图P3、P4、P5,输入自适应尺度引导头ASGH进行预测。
作为优选方案,在步骤S6中,将9个先验框按照尺寸大小平均分配至3个不同尺度的输出特征图,每个尺度的网络输出特征图被划分为不同数量的网格单元,以网格中心位置为基准;对于每个网格单元,根据其中心位置和所分配的先验框的尺寸,生成相应的候选框或预测框。
在步骤S6中,首先,对步骤S4中生成的K个先验框按照尺度大小进行排序。然后,这些先验框均匀分配到步骤S5中生成的N个预测特征图上。每个预测特征图被划分为H×W的网格,其中每个网格单元中心称为锚点。在每个锚点上,覆盖属于对应特征图的K/N个先验框。这为每个锚点提供了多个不同尺寸和宽高比的先验框。
作为优选方案,步在步骤S6中,根据预测特征图上锚点对应的先验框,进行进一步调整以得到预测框。每个预测特征图上的锚点对应一个num_anchor*(5+num_class)长度的向量。通过对这个向量进行维度拆分,得到每个先验框的5+num_class长度的一维调整向量。其中前5个值分别代表对应先验框的宽高、中心点坐标的调整信息和边框置信度。通过这些调整信息,先验框的位置和大小得到相应的调整,形成了预测框。
步骤S6中,网络输出特征图包括位置和尺度调整信息、分类置信度、边框置信度;根据调整信息中的偏移信息与宽高调整信息对相应先验框进行调整得到预测框。
作为优选方案,根据网络输出特征图、预测框以及GT框计算网络损失值,具体为:根据预测框及GT框计算交并比损失,根据网络输出特征图中包含的每个预测框的分类置信度、边框置信度计算分类置信度损失、边框置信度损失,并将交并比损失、分类置信度损失、边框置信度损失以预设比例加权求和以得到网络整体损失,进行反向传播优化网络参数。
在步骤S7中,首先,基于GT框的位置信息找到对应的先验框,然后将GT框及其类别标签信息转换为5+num_class长度的向量。接下来,将这个向量与预测特征图上每个先验框的向量进行比较,以计算损失值。这通常包括对位置信息的均方差损失(如边界框坐标的损失)、置信度损失(用于表示是否存在目标)以及类别损失(用于类别分类)。损失值用于指导梯度下降法来更新模型参数,以优化行人检测模型的性能。
作为优选方案,在步骤S8中,将整个训练集的图像都输入一次网络进行前向传播和反向传播,这构成一个epoch。在每个epoch结束后,使用参数更新完成的网络对验证集中的每张图像进行预测。基于每张图像的预测和Ground Truth(GT)标签,统计验证集中各个类别的平均精度(AP)指标。AP是一种用于评估模型性能的指标,特别适用于目标检测任务。
作为优选方案,在步骤S8中,通过观察连续多轮AP值不变或者出现下降趋势来判断网络是否已经收敛。如果AP值趋于稳定或下降,可以认为模型已经收敛。这是一个重要的标志,表示模型已经在训练数据上取得了较好的性能,不再需要进一步的训练。
步骤S8中,进行YOLOv7网络模型训练,具体包括以下步骤:
S8.1、使用Python 3.7和深度学习框架PyTorch 1.8,并利用CUDA加速计算;
S8.2、设置初始学习率为0.001,学习率调整策略为余弦退火衰减;
S8.3、设置每批输入网络的图像数量为16;
S8.4、使用Kaiming方法对网络权重进行初始化;在每个训练周期结束后,计算整体损失,并持续进行迭代训练,直到验证集的平均精确度均值AP指标稳定在设定值时停止训练。
作为优选方案,步骤S9中,从所有调整后的测试集预测框中得到最终预测框具体包括以下步骤:
S9.1、对所有调整后的预测框按照置信度得分进行排序,这有助于找到最可信的预测框;
S9.2、使用非极大值抑制方法(NMS)去除冗余框,以得到最终的预测框。NMS有助于去除那些高度重叠的框,只保留最具代表性的框。
作为优选方案,在步骤S9中,对于测试集中的每张图像,网络输出对应的N个预测特征图。然后,在每个预测特征图上,根据每个锚点对应的调整向量对先验框进行调整,从而得到每张图像的所有预测框。接着,使用非极大值抑制(NMS)来去除冗余的框,以得到特征图上的最终预测框。最后,根据比例关系将特征图上的预测框映射到原始图像的尺度上,以定位行人目标。
本发明的有益效果是:
(1)、本发明对YOLOv7进行了改进,本发明设计了一种聚合的特征过滤净化模块(FFPM)。首先对颈部预输入的多尺度特征进行新的级联融合,有效地过滤了跨层冲突;然后,受多尺度卷积注意力模块MSCA的启发,设计了多尺度特征增强模块(MSFE),进一步优化级联融合后的特征,并为浅层特征提供丰富指导信息;接着,引入了CoordianateAttention(CA)模块与降维后的浅层特征相融合,它不仅保留了行人目标的空间位置信息,还进一步增强特征。
(2)、针对原检测头复杂度高、感受野尺度固定的问题,本发明提出了一种轻量化的自适应尺度引导头(ASGH),它能够动态地调整其感受野大小以适应不同尺度的行人目标。
(3)、对于网络的预测头部分,本发明使用了更轻量化的5×5深度可分离卷积来替换参数量巨大的3×3卷积核,并根据Selective-and-Kernel(SK)注意力机制进行了改进,来选择对最终预测更有利的特征。通过此技术手段,实现了模型精度和速度的双双提升。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明优选实施例一种基于改进YOLOv7的密集行人检测方法的流程图;
图2是本发明优选实施例所改进的YOLOv7结构示意图;
图3是本发明优选实施例特征过滤净化模块FFPM示意图;
图4是本发明优选实施例多尺度特征增强模块MSFE示意图;
图5是本发明优选实施例ASGH结构示意图;
图6是本发明优选实施例改进YOLOv7在行人数据集上的AP值示意图。
具体实施方式
以下通过特定的具体实施例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
如图1所示,本实施例提供了一种基于改进YOLOv7的密集行人检测方法,图1为该方法的流程示意图。参照图2,其为改进YOLOv7的网络结构示意图,对该图像按照本实施例方法的流程进行处理,下面详细说明本实施例所述方法对于提高检测精度的效果。
本实施例一种基于改进YOLOv7的密集行人检测方法,具体包括如下步骤:
S1、首先,采集行人图像数据集,每张图像都伴随一个TXT格式的标注文件。这个标注文件包含了对图像中每个行人目标的类别和位置的详细标注信息,包括行人所在的位置坐标和类别;
S2、为了增加数据集的多样性和提高模型的鲁棒性,采集到的行人图像数据集经过数据增强处理,以生成行人图像的增强版本。数据增强包括旋转、缩放、镜像翻转、亮度调整等操作,以增加训练数据的多样性;
S3、增强后的数据集按照预设的比例被划分为训练集、验证集和测试集。这种划分有助于评估和验证模型的性能,并确保数据集的合理使用;
S4、在训练集中,使用Kmeans++聚类算法对所有图像的目标GT框进行聚类,以得到K个先验框。这些先验框将用于模型训练和检测过程中;
S5、从训练集中随机选择X张图像,将它们输入YOLOv7网络。网络的主干部分用于提取图像特征,生成不同尺度的有效特征图。随后,特征聚合模块对这些有效特征图进行进一步融合,以得到不同尺度的融合特征图。最后,对融合特征图的通道进行调整,以获得N个预测特征图,用于目标检测;
S6、K个先验框按照尺度均匀分布到N个预测特征图上,然后根据预测特征图上的锚点信息对相应的先验框进行调整,以生成所有的预测框。这些预测框将用于行人检测任务;
S7、利用步骤S6中得到的预测框与对应图片的GT框,计算网络损失值。然后,采用梯度下降法来更新YOLOv7网络的参数,以最小化损失函数,从而优化模型的性能,使其能够准确地检测行人目标;
S8、重复步骤S5到S7,直到所有训练集中的图片都输入网络一次,这构成了一个训练周期(epoch)。在每个训练周期结束后,使用参数更新后的YOLOv7网络对验证集中的每张图像进行预测,并统计输出验证集中行人目标的平均精度(Average Precision,AP)值。AP值是一种衡量模型性能的指标,用于评估行人检测的准确度;直到所统计的AP值稳定在某个预定的值或在连续若干个训练周期内没有显著改进。这时,可以确定训练完成,得到了一个经过充分训练的YOLOv7网络;
S9、使用训练完成的YOLOv7网络对测试集中的所有图像进行预测。这将产生特征图上的预测框。然后,根据特征图和原图之间的比例关系,将这些预测框映射到对应的原图上,以准确定位行人目标。这步骤用于在实际应用中对行人进行检测和定位。
下面对每一步骤做更详细的描述。
步骤S1中,所得到数据集具体为:包括多张640x640像素的图像以及对应的标签文件。标签文件采用txt格式,记录了图像中的目标位置信息和类别信息。每个标签文件的格式为(c,x1,y1,x2,y2),其中,c表示标注框内所含的行人类别,x1和y1分别表示标注框左上角顶点的x坐标和y坐标,x2和y2表示标注框右下角顶点的x坐标和y坐标。这些标注框被称为Ground Truth(GT),即真实目标框。
在步骤S2中,使用Mosaic数据增强来扩充行人数据集。具体而言,随机选择四张训练集中的图像,将这四张图像进行随机裁剪,然后将它们拼接成一张新的图像,以生成新的训练数据。这种方法有助于增加训练数据的多样性和复杂性。
在步骤S3中,将训练集、验证集和测试集的划分比例设定为8:1:1。为了管理这些数据集,生成了train.txt、val.txt、test.txt文件,用于保存对应的图像列表。这些文件有助于指导模型在不同数据集上的训练和评估。
步骤S4中,根据训练集中的标签文件,具体是标签文件中的位置信息,来计算目标的宽度和高度,从而进行聚类。标签文件的格式为(c,x1,y1,x2,y2),其中,c表示标注框内的行人类别,x1和y1表示标注框的左上角顶点坐标,x2和y2表示标注框的右下角顶点坐标。这些标注框被称为Ground Truth(GT),也就是真实框。使用K-means++聚类算法来根据宽度和高度对这些GT框进行聚类,得到K个聚类中心坐标,这些中心坐标将用作K个先验框的宽度和高度,以适应不同尺寸的目标。
a)K-means++算法首先在预设初始先验框时,先随机选定一个真实框的宽高值作为第一个先验框。
b)在同一平面计算所有真实框的宽高与当前已有先验框的IoU,然后计算每个真实框被选为下一个先验框的概率。其中,真实框与已有先验框IoU值越小,则有更大的概率被选为下一个先验框。
c)重复执行步骤b),直到得出K个先验框。
d)计算出所有真实框与K个锚框之间的IoU,将与先验框IoU值最大的真实框归到其所属簇中。通过计算每个簇中所有真实框宽高的平均值,得到最适合的先验框。
e)重复执行步骤d),直到所有先验框的宽高不再变化或变化幅度很小,即生成最优结果。
步骤S5具体包括以下步骤:
S5.1、随机选取训练集中X张图像输入到YOLOv7的主干网络CSPDarknet-53中进行逐级特征提取,从中取出最深层的三个含有不同尺度和通道数的有效特征图,所述主干网络CSPDarknet-53包括依次相连的ELAN模块和MP模块,并同时进行下采样,输出三个不同尺度的特征层(按照尺度从小到大分别称为M5、M4、M3),将其输入特征过滤净化模块FFPM以过滤跨层冲突。
S5.2、将主干网络提取的三个不同尺度的有效特征图通过改进的FFPM和PANet进行进一步融合,输出特征图和主干网络输出特征图尺度相对应(分别为上述的20×20、40×40、80×80),其中改进的FFPM首先进行了多尺度的级联融合增加了层间特征的交互,过滤了噪声以及冗余的背景信息。然后,设计了多尺度特征增强模块(MSFE),进一步优化级联融合后的特征,并为浅层特征提供更丰富的语义信息,以帮助区分行人目标和复杂背景。此外,还引入了Coordinate Attention(CA)模块,通过将位置信息嵌入到通道注意力中,并与降维后的浅层特征相融合,进一步提高了网络的空间定位能力。PANet表示双向FPN结构,SPP为空间金字塔池化,CSP为跨阶段局部结构。
S5.3、通过轻量化的ASGH将融合特征图的通道数调整为num_anchor*(5+num_class),输出N个预测特征图。其中轻量化的ASGH是我们通过将原本YOLO Head中的3×3卷积改进为的深度可分离卷积,num_anchor表示每个网格上的先验框数目,num_class表示类别数目。
步骤S5.2中,特征融合过程具体包括以下步骤:
S5.2.1、将M5特征图经过SPPCSPC模块,得到特征图K5,将K5进行上采样并和M4特征图进行融合,将融合结果输入ELAN-W模块,以得到特征图K4;
S5.2.2、将K4进行上采样并和M3特征图进行融合,将融合结果输入ELAN-W模块,以得到最浅层输出特征图P3;
S5.2.3、将P3特征图输入MP模块进行下采样,并与K4特征图进行融合,将融合结果输入ELAN-W模块,以得到中间层输出特征图P4;
S5.2.4、将P4特征图输入MP模块进行下采样,并与K5特征图进行融合,将融合结果输入ELAN-W模块,以得到最深层输出特征图P5;
S5.2.5、对于得到的特征图P3、P4、P5,输入自适应尺度引导头ASGH进行预测。
锚框分配和调整:在步骤S6中,将9个先验框按照它们的尺寸大小顺序进行平均分配至3个不同尺度的输出特征图。每个尺度的网络输出特征图被划分为不同数量的网格单元,通常是以网格中心位置为基准。对于每个网格单元,根据其中心位置和所分配的先验框的尺寸,生成相应的候选框或预测框。
在步骤S4中,得到的3个不同尺度的训练集网络输出特征图的尺度分别为20×20、40×40、80×80。对于每一个训练集网络输出特征图,分配3个尺寸的先验框。如,对于20×20尺度的训练集网络输出特征图,因其感受野最大,所以分配其最大的3个尺寸的先验框。同理对于40×40尺度的输出特征图,分配较大的3个尺寸的先验框。对于80×80尺度的训练集网络输出特征图,分配最小的3个先验框。
步骤S6中,网络输出特征图包括位置和尺度调整信息、分类置信度、边框置信度;并且,从模型的输出中获取偏移信息和宽高调整信息,将这些信息应用于先验框,通常通过将偏移信息加到先验框的坐标上,将宽高调整信息应用于先验框的宽高上,得到调整后的框即为预测框。
步骤S7中,根据网络输出特征图、预测框以及相应GT框计算网络整体损失,具体为:
LIoU=1-IoU
Llocal=(x-x*)2+(y-y*)2+(h-h*)2+(w-w*)2
yi=Softmax(xi)
Loss=0.1LIoU+0.05Llocal+0.125Lclass
其中,x、y、h、w分别代表边框的左上角坐标以及宽高,代表类别真实值(0或1),yi代表行人类别的概率。根据预测框及相应GT框计算交并比损失(Intersection overUnion,IoU),根据网络输出特征图中包含的每个预测框的分类置信度、边框置信度计算分类置信度损失、边框置信度损失,并将交并比损失、分类置信度损失、边框置信度损失以预设比例加权求和以得到网络整体损失,并进行反向传播来优化网络参数。
所述步骤S8中,进行YOLO v7网络模型训练,具体包括以下步骤:
A:在网络环境配置方面,使用了Python 3.7和深度学习框架PyTorch 1.8,并利用CUDA来加速计算,以提高训练速度;
B:设置初始学习率为0.001,学习率调整策略为余弦退火衰减;
C:设置每批输入网络的图像数量为16,这是每次模型更新时输入的数据量;
D:使用Kaiming初始化方法对网络权重进行初始化,并没有使用预训练的权重。在每个训练周期结束后,计算整体损失,并持续进行迭代训练,直到验证集的平均精确度均值(AP)指标稳定在某个值时停止训练。
步骤S9中,从所有调整后的测试集预测框中得到最终预测框具体包括以下步骤:
S9.1、对所有调整后的预测框按照置信度得分进行排序,这有助于找到最可信的预测框;
S9.2、使用非极大值抑制(NMS)方法去除冗余框,以得到最终的预测框。NMS有助于去除那些高度重叠的框,只保留最具代表性的框;
为了验证所提方法的性能,使用改进的YOLOv7网络对测试集中的图像进行预测。计算平均精确度均值(AP)、类别准确率(Precision)和召回率(Recall)。本发明方法在对密集行人的实时检测中取得了较高的准确性。
本发明的有益效果是:
(1)、本发明对YOLOv7进行改进,设计了一种聚合的特征过滤净化模块(FFPM)。首先对颈部预输入的多尺度特征进行新的级联融合,有效地过滤了跨层冲突;然后,受多尺度卷积注意力模块MSCA的启发,设计了多尺度特征增强模块(MSFE),进一步优化级联融合后的特征,并为浅层特征提供丰富指导信息;接着,引入了Coordianate Attention(CA)模块与降维后的浅层特征相融合,它不仅保留了行人目标的空间位置信息,还进一步增强特征。
(2)、针对原检测头复杂度高、感受野尺度固定的问题,本发明提出了一种轻量化的自适应尺度引导头(ASGH),它能够动态地调整其感受野大小以适应不同尺度的行人目标。
(3)、对于网络的预测头部分,本发明使用了更轻量化的5×5深度可分离卷积来替换参数量巨大的3×3卷积核,并在其中根据Selective-and-Kernel(SK)注意力机制进行了改进,来选择对最终预测更有利的特征。通过这样的做法,实现了模型精度和速度的双双提升。
综上,本发明公开了一种基于YOLO v7改进算法的密集行人检测方法,首先,采集行人数据集,对行人数据集使用Mosaic数据增强,按照8:1:1的比例划分为训练集、验证集、测试集;然后,使用K-means++聚类方法根据数据集的标签文件中的GT框的宽和高进行聚类,得到的K个聚类中心坐标作为锚框的宽高,K值一般取为9。本发明设计了一种聚合的特征过滤净化模块(FFPM),首先,对颈部预输入的多尺度特征进行新的级联融合,有效地过滤了跨层冲突;然后,受多尺度卷积注意力模块MSCA的启发,设计了多尺度特征增强模块(MSFE),进一步优化级联融合后的特征,并为浅层特征提供丰富指导信息;接着,本发明引入了Coordianate Attention(CA)模块与降维后的浅层特征相融合,它不仅保留了行人目标的空间位置信息,还进一步增强特征。针对原检测头复杂度高、感受野尺度固定的问题,本发明提出了一种轻量化的自适应尺度引导头(ASGH),它能够动态地调整其感受野大小以适应不同尺度的行人目标。对于网络的预测头部分,本发明使用了更轻量化的深度可分离卷积来替换参数量巨大的3×3卷积核,并在其中根据Selective-and-Kernel(SK)注意力机制进行改进,来选择对最终预测更有利的特征。通过此技术手段,实现了模型精度和速度的双双提升。
以上所述的实施例仅仅是对本发明的优选实施方式进行描述,并非对本发明的范围进行限定,在不脱离本发明设计精神的前提下,本领域普通技术人员对本发明的技术方案作出的各种变形和改进,均应落入本发明的保护范围内。

Claims (10)

1.一种基于YOLOv7的行人检测方法,其特征在于,包括如下步骤:
S1、采集行人图像数据集,每张图像都伴随一个TXT格式的标注文件,包含行人所在的位置坐标和所属类别;
S2、对采集到的行人图像数据集经过数据增强处理;
S3、增强后的数据集按照预设的比例被划分为训练集、验证集和测试集;
S4、在训练集中,对所有图像的目标GT框进行聚类,以得到K个先验框;
S5、从训练集中随机选择X张图像,输入YOLOv7网络,获得N个预测特征图,用于目标检测;
S6、K个先验框按照尺度均匀分布到N个预测特征图上,根据预测特征图上的锚点信息对相应的先验框进行调整,以生成所有的预测框;
S7、利用步骤S6得到的预测框与对应图片的GT框,计算网络损失值;然后采用梯度下降法更新YOLOv7网络的参数,以最小化损失函数;
S8、重复步骤S5到S7,直到所有训练集中的图片都输入网络一次,构成一个训练周期;在每个训练周期结束后,使用参数更新后的YOLOv7网络对验证集中的每张图像进行预测,并统计输出验证集中行人类别的平均精度AP值;直到所统计的AP值稳定在预定的值或在连续若干个训练周期内没有显著改进,确定训练完成,得到了经过充分训练的YOLOv7网络;
S9、使用训练完成的YOLOv7网络对测试集中的所有图像进行预测,产生特征图上的预测框;根据特征图和原图之间的比例关系,将预测框映射到对应的原图上,以定位行人目标。
2.如权利要求1所述一种基于YOLOv7的行人检测方法,其特征在于,步骤S1中,所得到数据集具体为:包括多张640x640像素的图像以及对应的标签文件,标签文件采用txt格式,记录图像的目标位置信息和类别信息;每个标签文件的格式为(c,x1,y1,x2,y2),其中,c表示标注框内所含物体的类别,x1和y1分别表示标注框左上角顶点的x坐标和y坐标,x2和y2表示标注框右下角顶点的x坐标和y坐标。
3.如权利要求1所述一种基于YOLOv7的行人检测方法,其特征在于,在步骤S2中,使用Mosaic数据增强来扩充行人数据集:随机选择四张训练集中的图像,将四张图像进行随机裁剪,然后拼接成一张新的图像,生成新的训练数据。
4.如权利要求1所述一种基于YOLOv7的行人检测方法,其特征在于,在步骤S3中,将训练集、验证集和测试集的划分比例设定为8:1:1,生成train.txt、val.txt、test.txt文件,用于保存对应的图像列表。
5.如权利要求1所述一种基于YOLOv7的行人检测方法,其特征在于,步骤S4中,根据训练集中的标签文件的位置信息,来计算目标的宽度和高度,从而进行聚类;标签文件的格式为(c,x1,y1,x2,y2),其中,c表示标注框内物体的类别,x1和y1表示标注框的左上角顶点坐标,x2和y2表示标注框的右下角顶点坐标;使用K-means++聚类算法根据宽度和高度对GT框进行聚类,得到K个聚类中心坐标,中心坐标用作K个先验框的宽度和高度,以适应不同尺寸的目标。
6.如权利要求1-5任一项所述一种基于YOLOv7的行人检测方法,其特征在于,步骤S5具体包括以下步骤:
S5.1、随机选取训练集中X张图像输入YOLOv7的主干网络CSPDarknet-53中进行逐级特征提取,从中取出最深层的三个含有不同尺度和通道数的有效特征图,主干网络CSPDarknet-53包括依次相连的ELAN模块和MP模块,并进行下采样,输出三个不同尺度的特征层,按照尺度从小到大分别称为M5、M4、M3,输入特征过滤净化模块FFPM以过滤跨层冲突;
S5.2、将主干网络提取的三个不同尺度的有效特征图通过FFPM和路径聚合网络PANet进行融合,输出特征图和主干网络输出特征图尺度相对应,其中,FFPM首先进行多尺度的级联融合增加了层间特征的交互,过滤了噪声以及冗余的背景信息;然后,设计了多尺度特征增强模块MSFE,优化级联融合后的特征;再则,引入CA模块,通过将位置信息嵌入到通道注意力中,并与降维后的浅层特征相融合,提高网络的空间定位能力;PANet表示双向FPN结构,SPP为空间金字塔池化,CSP为跨阶段局部结构;
S5.3、通过轻量化的ASGH将融合特征图的通道数调整为num_anchor*(5+num_class),输出N个预测特征图;其中,轻量化的ASGH是通过将YOLO Head中的3×3卷积改进的深度可分离卷积,num_anchor表示每个网格上的先验框数目,num_classe表示类别数目。
7.如权利要求6所述一种基于YOLOv7的行人检测方法,其特征在于,步骤S5.2中,特征融合过程具体如下:
S5.2.1、将特征图M5经过SPPCSPC模块,得到特征图K5,将特征图K5进行上采样并和M4特征图M4进行融合,将融合结果输入ELAN-W模块,以得到特征图K4;
S5.2.2、将特征图K4进行上采样并和特征图M3进行融合,将融合结果输入ELAN-W模块,以得到最浅层输出特征图P3;
S5.2.3、将特征图P3特征图输入MP模块进行下采样,并与特征图K4进行融合,将融合结果输入ELAN-W模块,以得到中间层输出特征图P4;
S5.2.4、将特征图P4输入MP模块进行下采样,并与特征图K5进行融合,将融合结果输入ELAN-W模块,以得到最深层输出特征图P5;
S5.2.5、对于得到的特征图P3、P4、P5,输入自适应尺度引导头ASGH进行预测。
8.如权利要求1-5任一项所述一种基于YOLOv7的行人检测方法,其特征在于,在步骤S6中,将9个先验框按照尺寸大小平均分配至3个不同尺度的输出特征图,每个尺度的网络输出特征图被划分为不同数量的网格单元,以网格中心位置为基准;对于每个网格单元,根据其中心位置和所分配的先验框的尺寸,生成相应的候选框或预测框。
9.如权利要求8所述一种基于YOLOv7的行人检测方法,其特征在于,步骤S7中,根据步骤S6的网络输出特征图、预测框以及GT框计算网络损失值,具体为:
根据预测框及GT框计算交并比损失,根据网络输出特征图中包含的每个预测框的分类置信度、边框置信度计算分类置信度损失、边框置信度损失,并将交并比损失、分类置信度损失、边框置信度损失以预设比例加权求和以得到网络整体损失,进行反向传播优化网络参数。
10.如权利要求1-5任一项所述一种基于YOLOv7的行人检测方法,其特征在于,步骤S9中,从所有调整后的测试集预测框中得到最终预测框具体包括以下步骤:
S9.1、对所有调整后的预测框按照置信度得分进行排序;
S9.2、使用非极大值抑制方法去除冗余框,以得到最终的预测框。
CN202311602425.5A 2023-11-28 2023-11-28 一种基于YOLOv7的行人检测方法 Pending CN117542082A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311602425.5A CN117542082A (zh) 2023-11-28 2023-11-28 一种基于YOLOv7的行人检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311602425.5A CN117542082A (zh) 2023-11-28 2023-11-28 一种基于YOLOv7的行人检测方法

Publications (1)

Publication Number Publication Date
CN117542082A true CN117542082A (zh) 2024-02-09

Family

ID=89789770

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311602425.5A Pending CN117542082A (zh) 2023-11-28 2023-11-28 一种基于YOLOv7的行人检测方法

Country Status (1)

Country Link
CN (1) CN117542082A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117953350A (zh) * 2024-03-26 2024-04-30 杭州豪悦护理用品股份有限公司 基于改进的YOLOv7网络模型的纸尿裤图像检测方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117953350A (zh) * 2024-03-26 2024-04-30 杭州豪悦护理用品股份有限公司 基于改进的YOLOv7网络模型的纸尿裤图像检测方法
CN117953350B (zh) * 2024-03-26 2024-06-11 杭州豪悦护理用品股份有限公司 基于改进的YOLOv7网络模型的纸尿裤图像检测方法

Similar Documents

Publication Publication Date Title
CN110321923B (zh) 不同尺度感受野特征层融合的目标检测方法、***及介质
CN109614985B (zh) 一种基于密集连接特征金字塔网络的目标检测方法
CN110428428B (zh) 一种图像语义分割方法、电子设备和可读存储介质
CN108564097B (zh) 一种基于深度卷积神经网络的多尺度目标检测方法
CN110796168A (zh) 一种基于改进YOLOv3的车辆检测方法
CN111767882A (zh) 一种基于改进yolo模型的多模态行人检测方法
CN106845430A (zh) 基于加速区域卷积神经网络的行人检测与跟踪方法
CN111709285A (zh) 一种基于无人机的疫情防护监控方法、装置和存储介质
CN114359851A (zh) 无人驾驶目标检测方法、装置、设备及介质
CN111627050B (zh) 一种目标跟踪模型的训练方法和装置
CN113486764A (zh) 一种基于改进的YOLOv3的坑洼检测方法
CN110222767A (zh) 基于嵌套神经网络和栅格地图的三维点云分类方法
CN117542082A (zh) 一种基于YOLOv7的行人检测方法
CN116452937A (zh) 基于动态卷积与注意力机制的多模态特征目标检测方法
CN110084284A (zh) 基于区域卷积神经网络的目标检测与二级分类算法及装置
CN111199175A (zh) 一种目标检测网络模型的训练方法及装置
CN110008899A (zh) 一种可见光遥感图像候选目标提取与分类方法
CN113743505A (zh) 基于自注意力和特征融合的改进ssd目标检测方法
CN114565842A (zh) 基于Nvidia Jetson嵌入式硬件的无人机实时目标检测方法及***
CN115147745A (zh) 一种基于城市无人机图像的小目标检测方法
CN114241250A (zh) 一种级联回归目标检测方法、装置及计算机可读存储介质
CN104021395B (zh) 一种基于高阶偏最小二乘法的目标跟踪算法
CN116310688A (zh) 基于级联融合的目标检测模型及其构建方法、装置及应用
CN113657414B (zh) 一种物体识别方法
CN117710841A (zh) 一种无人机航拍图像的小目标检测方法、装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination