一种基于改进YOLOv4的遮挡行人实时检测方法

文档序号:29623721发布日期:2022-04-13 13:55阅读:575来源:国知局
一种基于改进YOLOv4的遮挡行人实时检测方法
一种基于改进yolov4的遮挡行人实时检测方法
技术领域
1.本发明属于计算机视觉技术领域,涉及一种针对复杂场景下对遮挡行人的检测方法。


背景技术:

2.随着深度学习的不断发展,引领着目标检测领域快速地发展。行人检测作为目标检测领域的一个重要方向,随着智能监控、智能交通等应用领域的发展,使得行人检测也逐渐成为计算机领域中一个具有重要研究价值和研究意义的课题。由于应用领域场景的需求,准确、实时的行人检测中是非常有必要的。
3.传统行人检测方法是建立在手工制作特征和浅层可训练架构上的,采用从目标检测器和场景分类器中结合量低水平图像特征和高水平语义信息来构建成复杂的系统。传统目标检测方法取得了一定的成果,但也暴露了其固有的弊端。传统的目标检测算法由于鲁棒性不好,泛化性差,繁杂的算法步骤导致检测效率慢、精度不高的检测方法已经难以满足人们对目标检测高性能效果的需求。随着深度学习在目标检测领域的发展,基于深度学习的目标检测已成为主流检测算法。主流的目标检测算法主要分为双阶段检测算法和单阶段检测算法。双阶段检测算法是以r-cnn为代表的基于候选区域的目标检测算法,主要包括r-cnn、fast r-cnn、faster r-cnn。该检测算法通常分为两步:第一步是从图像中提取建议框,并剔除一部分背景建议框,同时做一次位置修正;第二步是对每个建议框进行检测分类和位置修正。该类算法在一定程度上提升了目标检测的准确率,但在检测速度上不能达到实时检测。单阶段检测算法是以yolo、ssd系列为代表的基于回归分析的目标检测算法。该检测方法不再使用建议框进行“粗检测+精修”,而采用一步到位的方法得到结果,单阶段目标检测算法只进行一次前馈网络计算,因此在速度上有了很大提升。
4.通用的目标检测算法对于图像清晰、无遮挡行人的检测效果极佳。但对于图像分辨率较低、图像模糊以及存在遮挡情况下的行人仍然存在着较大的漏检、错检等情况。由于复杂场景下或者人流量较大的场景下,会出现遮挡情况导致有效特征提取困难,影响着最终检测效果。常见的遮挡分为类间遮挡和类内遮挡两种情况。类间遮挡是指目标行人被场景中的车辆、房子、树等一些背景物体所遮挡,类内遮挡是指行人间的相互遮挡。由于密集场景下存在着大量的遮挡情况,导致行人特征缺失、检测精确度大大降低。为了保证行人检测的准确度,降低漏检率和错检率,就需要提取更加充分有效的深层语义特征,这样势必会加深模型的网络结构,增加相应的计算量和参数量,大大降低了模型检测速度,导致模型无法进行实时、高效地检测。如果要保证检测速度,可以减少模型网络层数或复杂程度,从而减少参数量和计算量,提高相应的检测速度。但这样会导致有效特征提取不充分,丢失部分重要特征,导致漏检或错检。因此,亟需设计一种检测模型,即能够高效地去检测遮挡目标,同时又能够使模型的检测速度不降低,达到实时检测是具有重要的理论和实际意义。


技术实现要素:

5.有鉴于此,本发明的目的在于提供一种基于改进yolov4的遮挡行人实时检测方法,针对复杂场景下、存在大量遮挡情况下对行人检测,该检测方法具有较高的精确度和实时的检测速度。
6.为达到上述目的,本发明提供如下技术方案:
7.一种基于改进yolov4的遮挡行人实时检测方法,具体包括以下步骤:
8.s1:获取widerperson数据集,并将其划分为训练集、验证集和测试集,同时使用数据增强手段和图片拼接技术对数据集进行处理,使训练集更加充分广泛,丰富检测物体的背景信息;
9.s2:对widerperson数据集中标记的真实框使用k_means++算法进行聚类,获得12个聚类中心作为模型先验框中心点使用,生成最终的先验框。
10.由于本发明采用的数据集行人密度较高,使用模型原始的先验框,会导致先验框的设定与该数据集不搭配导致最终生成的预测框精确度较低。k_means++相比于k_means,它不是随机选取n个点作为聚类中心,而是随机选取有一个点,然后根据已经选取的k个点选取一个距离这k个点最远距离的点作为第k+1个点。相比于k_means聚类算法,k_means++聚类的中心点效果更好。
11.s3:利用主干特征网络融合通道注意力机制进行特征提取,增强主干特征提取网络的特征提取能力;
12.s4:利用空间金字塔spp模块对主干特征网络提取的特征图进行最大池化,并将池化后的结果进行合并,增强相应的感受野;
13.s5:将主干特征网络中大残差块获取的后四层特征图进行特征融合处理;
14.s6:将步骤s5特征融合后的四层特征图通过四个不同尺寸大小的yolo检测头进行结果预测,对目标位置和类别进行预测,利用损失函数训练模型;
15.s7:将模型训练生成的最优权重用于模型中,将测试集图片放入模型中进行测试,获得最终的检测结果。
16.进一步,步骤s1具体包括:将widerperson数据集划分为最终的训练集、验证集和测试集。widerperson有五个检测类别,删除掉不需要的类别,保留标签为pedestrians和partially这两个类别进行检测。pedestrians标签标注的主要是轻微遮挡的行人和无遮挡的行人,partially标签标记的是遮挡较为严重的行人,将最终两个类别合并为pedestrians标签进行检测。同时利于数据增强手段,将四张图片进行翻转、缩放、色域变换后进行拼接,增强数据集的全面性,丰富检测物体的背景,通过训练增强在复杂背景下提取特征的能力。将数据集格式转换为voc数据集格式,就是将txt标注格式转换为xml标注格式,按照前面的比例划分生成最终的train.txt、val.txt、test.txt。train.txt是训练集图片,val.txt是验证集图,test.txt是最终的测试集图片。
17.进一步,步骤s3具体包括:利用cspdarknet53主干特征提取网络对输入图片进行特征提取;其中,cspdarknet53主要由5个cspnet结构的大残差块即csp块堆叠而成,在每个csp块中加入通道注意力se(squeeze-and-excitation)模块;进行特征提取:从第二个csp块到第四个csp块获得的特征图对应为p2、p3、p4、p5。在主干网络中加入通道注意力模块,可以起到通过训练去提高有用特征通道的权重,抑制无用特征的权重,比如抑制背景信息
特征等。
18.进一步,步骤s4具体包括:将步骤3获得的特征图p5通过spp(spatial pyramid pooling)模块,利用四个不同尺度的池化层进行最大池化,将池化结构进行合并,通过不同尺度的池化和处理后,可以将不同大小的特征进行融合,显著提高目标感受野,同时也可以解决输入图像尺寸不统一的问题。
19.进一步,步骤s5具体包括:将步骤s4获得的特征图与p2、p3、p4,通过改进的panet网络进行特征的融合处理;其中,改进的panet网络是将panet中的五层堆叠卷积替换为res_c模块,res_c模块中引入cbam(convolutional block attention module)注意力机制和基本残差网络,同时将模块中3
×
3标准卷积替换为深度可分离卷积。
20.通过扩展panet结果可以使主干网络提取出的浅层特征更加合理的利用,防止图像下采样,浅层信息丢失问题;引入残差网络可以解决由于深层网络堆积导致训练困难,出现梯度弥散/爆炸问题,同时也就可以降低模型的参数量;引入深度可分离卷积相比于标准卷积,可以大幅度降低模型的参数量,提高模型的检测速度;引入cbam注意力机制可以弥补由于将深度可分离卷积替换标准卷积导致的特征提取能力下降问题,同时也可以在特征融合过程中通过通道注意力和空间注意力的耦合作用来提升有用特征的融合。
21.进一步,步骤s6中,四个不同尺寸大小的yolo检测头具体为:设输入图片尺寸n*n,通道数为3,各分支分别输出(m*m*(4+1+c)),n为输入图片尺寸,m为不同尺度的特征层预测的结果,4和1分别是预测框的坐标和置信度,c为检测类别。
22.进一步,步骤s6中,所述损失函数由回归损失、置信度损失和分类损失三部分构成;利用二元交叉熵损失计算置信度损失和分类损失;选择ciou作为回归损失,ciou损失函数的公式如下所示:
[0023][0024]
其中,l
ciou
表示ciou损失,ρ2(b,b
gt
)表示预测框和真实框的中心点的欧式距离,b表示预测框,b
gt
表示真实框,c表示能够同时包含预测框和真实框的最小闭包区域的对角线距离;α和v的公式如下所示:
[0025][0026][0027]
其中,w和h分别为预测框的宽度和高度,w
gt
和h
gt
分别为真实框的宽度和高度;v表示一个惩罚因子,用于测量长径比的一致性;α是一个用于权衡的参数;
[0028]
最终的损失函数如公式(4)所示:
[0029][0030]
其中,s
×
s表示输入被划分为s
×
s网格单元;n为每个网格单元中锚框的个数;表示如果在(i,j)处的标记框中有目标,其值为1,否者为0;表示如果在(i,j)处的标记框中没有目标,其值为1,否者为0;λ
coord
和λ
noobj
是惩罚因素;p(c)为对象属于c类的概率,表示对象不属于c类的概率,class表示要检测的目标类别;ci表示i网格单元格包含对象的置信度,表示i网格单元格没有包含对象的置信度。如果对象的中心点落在该网格单元格中,则否则当时,只计算置信度损失,其余两部分损失为0。
[0031]
进一步,步骤s7具体包括:将测试集图片放入训练好的模型中,获得预测结果参数后去调整先验框,然后将调整好的预测框根据设定的阈值进行非极大抑制,获得最终的预测结果,最后在检测图中画出预测框;利用步骤s6获得的预测结果和置信度,通过预测参数去调整先验框获得最终的预测框,然后根据置信度进行非极大抑制去除iou大于所设阈值的检测框。
[0032]
yolov4模型使用的是非极大抑制nms(non-maximum suppression),nms的思想思,先取一个置信度最大的候选框,然后将所有的其他候选框与此框进行交并比,获得交并比结果后与设定的阈值进行比较,如果大于阈值则删除这个候选框,如果小于则保留,后续继续取置信度最高的框进行比较。nms原理如下公式所示:
[0033][0034]
其中,si是置信度值,m为当前得分最高框,bi为待处理框,iou(m,bi)是当前得分最高框和待处理框的交并比,n
t
为设置的置信度阈值。本发明使用soft_nms替换nms,soft_nms的思想与nms的不同在于,将当前得分最高框和待处理框交并比后的结果如果大于设定的阈值。不要直接删除待处理框,而是在原始的置信度上进行加权处理,降低待处理框的置信度。其原理如下公式(6)所示:
[0035][0036]
相比于nms,soft_nms可以更加有效滤除重叠的框,有利于复杂场景下的行人检测,可以降低遮挡行人检测的漏检率。
[0037]
本发明的有益效果在于:
[0038]
1)本发明的主干网络中利用通道注意力(se)模块,更加有效提升主干特征网络的
特征提取能力。
[0039]
2)本发明扩展了panet网络结构,利用主干网络提取的四层特征层进行后续的融合处理,使得检测目标的浅层特征得到有效利用,同时通过四个检测头去检测物体,可以会更加有利于多尺度行人的检测。
[0040]
3)本发明在panet中将标准堆叠卷积替换为res_c模块,res_c模块中引入基本残差结构,可以防止网络层数过深导致梯度弥散/爆炸情况;引入cbam注意力机制,同时关注特征图的通道注意力和空间注意力,可以加强提取遮挡行人的有效特征,获得有用的浅层特征和深层语义特征;最后将模块中的3
×
3标准卷积替换为深度可分离卷积,可以大大降低模型大大参数量,提高模型的检测速度。
[0041]
4)本发明将nms替换为soft_nms可以有效降低由于目标遮挡严重,导致有用的目标检测框被滤除,使遮挡较为严重的目标被漏检的情况,提高最终的遮挡行人检测精确度。
[0042]
本发明的其他优点、目标和特征在某种程度上将在随后的说明书中进行阐述,并且在某种程度上,基于对下文的考察研究对本领域技术人员而言将是显而易见的,或者可以从本发明的实践中得到教导。本发明的目标和其他优点可以通过下面的说明书来实现和获得。
附图说明
[0043]
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作优选的详细描述,其中:
[0044]
图1为本发明基于改进yolov4的遮挡行人实时检测方法的流程图;
[0045]
图2为本发明改进的yolov4网络结构图;
[0046]
图3为本发明采用的se模块的结构图;
[0047]
图4为本发明采用的cbam模块结构图。
具体实施方式
[0048]
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
[0049]
请参阅图1~图4,图1所示为一种基于改进yolov4的遮挡行人实时检测方法,具体包括以下步骤:
[0050]
步骤1:将widerperson数据集划分为最终的训练集、验证集和测试集。widerperson数据集涉及多个场景,相比于其它公用数据集如caltech、kitti,该数据集不再局限于交通场景,场景更加拥挤,每张照片中存在着多个行人,遮挡情况更为严重。由于测试集的标注文件并没有公布,本次将原数据集的训练集和验证集进行整合,总计9000张图片。将9000张图片进行从新划分训练集、验证集和测试集,按照8:1:1的比例进行划分。widerperson有五个检测类别,删除掉不需要的类别,保留标签为pedestrians和partially
这两个类别进行检测。pedestrians标签标注的主要是轻微遮挡的行人和无遮挡的行人,partially标签标记的是遮挡较为严重的行人,将最终两个类别合并为pedestrians标签进行检测。同时利于数据增强手段,将四张图片进行翻转、缩放、色域变换后进行拼接,增强数据集的全面性,丰富检测物体的背景,通过训练增强在复杂背景下提取特征的能力。将数据集格式转换为voc数据集格式,就是将txt标注格式转换为xml标注格式,按照前面的比例划分生成最终的train.txt、val.txt、test.txt。train.txt是训练集图片,val.txt是验证集图,test.txt是最终的测试集图片。
[0051]
步骤2:利用k_means++算法对数据集中标记的目标框进行聚类,获得12个新的中心点,作为模型先验框中心点。最终通过k_means++聚类方法获得的12个聚类中心为:(4,10)、(8,17)、(9,30)、(11,43)、(17,57)、(20,75)、(25,37)、(32,124)、(45,163)、(57,189)、(65,229)(88,315)。
[0052]
步骤3:在主干特征网络cspdarknet53加入se注意力机制进行特征提取,通过以上操作,从而使训练达到更好的效果,更加有利于提取行人的有效特征。当输入是图片大小是416*416,通道数是3时,通过主干网络cspdarknet53获得的最后四层特征图p2、p3、p4、p5,尺寸分别为:(104,104,128)、(52,52,256)、(26,26,512)、(13,13,1024)。
[0053]
步骤4:将步骤3获得的p5特征图利用空间金字塔思想的spp模块使用1
×
1、3
×
3、5
×
5、9
×
9四个不同尺度的池化层进行最大池化处理,将处理后的结果进行通道合并。
[0054]
步骤5:将步骤4之后,将剩下几层特征图和步骤4获得的结果与p2、p3、p4特征图通过改进后的panet结构进行特征融合。
[0055]
步骤6:通过步骤5,最终获得4个不同尺度的特征图,最终通过4个yolo检测头进行预测。损失函数由回归损失、置信度损失和分类损失三部分构成。利用二元交叉熵损失计算置信度损失和分类损失。选择ciou作为回归损失,ciou损失函数如下公式所示:
[0056][0057]
其中,ρ2(b,b
gt
)表示预测框和真实框的中心点的欧式距离,b表示预测框,b
gt
表示真实框,c表示能够同时包含预测框和真实框的最小闭包区域的对角线距离。而α和ν的公式如下:
[0058][0059][0060]
其中,w和h分别为预测框的宽度和高度,w
gt
和h
gt
分别为真实框的宽度和高度。ν表示一个惩罚因子,用于测量长径比的一致性。α是一个用于权衡的参数。
[0061]
最终的损失函数如公式(4)所示:
precision),同时去测试相应的检测速度fps,并查看最终模型生成的权重参数量。最终改进后的结果与原模型yolov4进行比较如表2所示:
[0070]
表2原始yolov4与本发明改进的yolov4的对比效果
[0071][0072]
通过测试结果可知,本发明的改进模型不仅在精确度上有较大提升,同时参数量也大幅度下降,检测速度也有所提高。对于遮挡较为严重的情况,有着比较好的检测效果。
[0073]
最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1