一种基于多尺度的行人检测方法与流程

专利2022-05-09  21


本发明涉及计算机视觉图像处理领域,特别是一种基于多尺度的行人检测方法。



背景技术:

近年来,计算机视觉技术在深度学习的支持下取得了飞速的发展,吸引了众多研究者投身其中。成千上万的科研人员尽管关注的焦点各不相同,但是最终的目标是一样的:让技术为人服务,或者说解放生产力,或者说提高生活质量。既然技术是为人服务的,因此与“人”相关的研究就显得不可或缺。无论是在学术界还是产业界,与“人”相关的研究都起着主导作用。

行人检测作为人类行为分析、步态识别、智能视频监控和自动驾驶等许多现实任务的第一步和最基本的一步,在过去的十几年中受到了广泛的关注。然而,尽管深度卷积神经网络(deepconvolutionalneuralnetworks,cnns)在通用目标检测方面已经取得了很大的进展,得到了较好的效果,但是通用目标检测的重要分支之一的行人检测,却是一个长期以来难以解决的问题。从重要性来讲,行人检测是行人追踪、自动驾驶、安防监控等任务的前提。虽然只有“人”这一单一类别,但我们仍然面临很多挑战,比如检测场景的多样性,行人姿态的复杂性,以及待检测目标可能被遮挡等等。

行人检测在智能监控和安防领域发挥着重大作用,为了防止财产安全和安放部署等,大部分公众场所都装备了监控设备。但是,尽管如此,监控设备中出现的大量行人数据时,仅仅依据专人的查看,会导致以下问题的出现,一方面长时间的监控信息,人与计算机相比,肯定会出现疲惫而导致的信息错误或者遗漏,另一方面有限的处理信息的能力,不能充分将监控信息充分利用。然而人工处理问题的不足,可以通过行人检测的相关技术很好的弥补,既节省了人力也可在遇到紧急状况时及时做出预警。

行人检测技术同时也是无人驾驶领域所要攻克完善的一个重要难题。从无人驾驶技术开始发展,行人检测就一直作为一个亟待解决和完善的问题困扰着众多的研究者。尽管2005年以来行人检测进入了一个快速的发展阶段,但是依旧存在着许多问题有待解决,主要还是两方面,即速度与准确性还不能达到一个权衡。近年来,以谷歌为首的自动驾驶技术研发,正如火如荼地进行着,这也迫切需要能对行人进行有效的快速的检测方法的出现,以保证自动驾驶期间对行人的安全不会产生威胁。因此,行人检测问题的解决能从根本上优化现有的无人驾驶技术。

行人检测(pedestriandetection)是利用计算机视觉技术判断图像或者视频序列中是否存在行人并给予精确定位。该技术可与行人跟踪、行人重识别等技术结合,应用于人工智能系统、车辆辅助驾驶系统、智能机器人、智能视频监控、人体行为分析、智能交通等领域。由于行人兼具刚性和柔性的特性,外观易受穿着、尺度、遮挡、姿态和视角等影响,使得行人检测成为计算机视觉领域中一个既具有研究价值又极具挑战性的热门课题。

小目标是行人检测中一个非常普遍的问题,尤其是在自动驾驶或者监控场景中,当行人目标距离摄像头较远时,对现有算法而言非常具有挑战性。作为通用目标检测中的一个特定问题,现有基于cnn的行人检测方法,依然来源于通用目标检测方法(如fasterr-cnn,ssd),该类方法采用铺设目标候选框的方式完成,称其为anchor-based方法。然而,anchor-based方法存在三个问题:一是需要根据特定数据集人工选定特定的锚点框以更好地匹配行人目标,二是需要人工设定阈值来定义正负样本,三是训练过程中存在基于数据集标注的偏差,尤其对于困难样本和小目标,行人框中的能够提供给网络模型学习到的目标信息本身就十分稀少,这种偏差使得检测器更加难以胜任对困难样本和小目标的检测。



技术实现要素:

本发明所要解决的技术问题是克服现有技术的不足而提供一种基于多尺度的行人检测方法,针对弱小目标检测,本发明是一种从多尺度角度出发,引入多尺度特征融合和多尺度感受野rpn的两阶段行人检测方法,构建一个通用的多尺度模型,使其可以提升网络对于小目标行人特征的学习能力,提高对于小目标行人的检测精度,降低漏检。

本发明为解决上述技术问题采用以下技术方案:

根据本发明提出的一种基于多尺度的行人检测方法,包括以下步骤:

步骤1、获得行人数据集,行人数据集包括citypersons行人数据集和caltech行人数据集;

步骤2、搭建行人检测模型,行人检测模块包括多尺度特征融合模型和rpn网络,行人检测模型具体如下:

(1)构建多尺度特征融合模型,构建过程具体如下:

将行人数据集输入至第一部分卷积网络,第一部分卷积网络、第二部分卷积网络、第三部分卷积网络、第四部分卷积网络和第五部分卷积网络是依次顺序连接的,其中,

第一部分卷积网络,用于提取行人数据集的特征图fm1并将其输出至第二部分卷积网络;

第二部分卷积网络,用于再次提取行人数据集的特征图fm2,并将特征图fm2输出至第三部分卷积网络;

第三部分卷积网络,用于对特征图fm2进行3个3×3的卷积层运算以及1个2×2的最大池化层处理,得到特征图fm3输入至第四部分卷积网络;

第四部分卷积网络,用于对fm3进行3个3×3的卷积层运算以及1个2×2的最大池化层处理,得到特征图fm4输入至第四层卷积网络;

第五部分卷积网络,用于对fm4进行3个3×3的卷积层运算以及1个2×2的最大池化层处理,得到特征图fm5;

将第五部分卷积网络得到的输出fm5先经过1×1卷积,改变fm5的通道数,得到的输出记为m5;

将m5通过2倍上采样,得到上采样后的m5;将fm4经过1×1卷积后得到的特征图与上采样后的m5相加,得到的结果记为m4;

m4通过2倍上采样,得到上采样后的m4;将fm3经过1×1卷积后得到的特征图与上采样后的m4相加,得到的结果记为m3;

将得到的m3通过4倍下采样得到的结果记为m3、m4通过2倍下采样得到的结果记为m4;

最后将m3、m4和m5相加输出结果特征图送入rpn网络;

(2)rpn网络用于通过多尺度感受的野滑窗生成候选区域;具体如下:

rpn网络,用于采用5种不同大小的滑动窗口来生成候选区域,分别通过1×1、3×3、5×5、7×7和9×9卷积实现,最后再将得到的不同感受野大小的候选区域形成的结果进行合并;

步骤3、在行人检测模型构建好的基础上,将行人数据集输入至行人检测模型中,具体方案如下:使用citypersons行人数据集对搭建好的行人检测模型进行预训练,得到由该数据集训练的行人检测模型,在此模型基础上,通过在caltech行人数据集上进行调整,得到经过caltech行人数据集训练的行人检测模型,通过训练好的行人检测模型实现行人检测。

作为本发明所述的一种基于多尺度的行人检测方法进一步优化方案,步骤3的行人检测模型训练中,利用pytorch深度学习框架搭建上述的行人检测模型,优化函数设为adam算法,基础学习率设为5e-3,e为自然底数,量化rpn网络的尺度,将rpn网络的高宽比划分成[0.5,0.65,0.8,0.95,1.1,1.25,1.4,1.55,1.7,1.85,2],以此产生更多的锚点框;通过误差反向传播来修正行人检测模型参数,直至行人检测模型收敛,保存行人检测模型收敛后的参数。

作为本发明所述的一种基于多尺度的行人检测方法进一步优化方案,步骤1中,citypersons行人数据集是cityscapes数据集的子集,citypersons行人数据集中标注了human类别的内容,human类别的内容包括行人类,骑手类。

作为本发明所述的一种基于多尺度的行人检测方法进一步优化方案,步骤1中,caltech行人数据集是通过以下方式获得的:将行人视频数据集,经过逐帧抽取以及格式转换得到单帧图片数据集,单帧图片数据集就是caltech行人数据集。

作为本发明所述的一种基于多尺度的行人检测方法进一步优化方案,步骤1中,citypersons行人数据集和caltech行人数据集保存为voc格式。

作为本发明所述的一种基于多尺度的行人检测方法进一步优化方案,fm5的通道数d=256。

作为本发明所述的一种基于多尺度的行人检测方法进一步优化方案,将fm4经过1×1卷积后得到的特征图与上采样后的m5相加,是指:将fm4经过1×1卷积后得到的特征图和通过上采样后的m5的相同位置的像素值相加,fm4经过1×1卷积后得到的特征图和通过上采样后的m5的尺度相同均为16×16。

作为本发明所述的一种基于多尺度的行人检测方法进一步优化方案,m3、m4和m5相加,是指将m3、m4和m5的相同位置的像素值相加,特征图大小相同均为16×16。

本发明采用以上技术方案与现有技术相比,具有以下技术效果:

本发明不仅提升了对于小目标行人的检测精度,降低漏检,而且提高了检测模型的定位精确性和鲁棒性。

附图说明

图1是本发明框架流程示意图。

图2是fasterr-cnn目标检测方法结构图。

图3是多尺度特征融合模块示意图。

图4是多尺度感受野rpn示意图。

图5a是adaptfasterr-cnn方法的检测效果。

图5b是本发明方法的检测效果。

图5c是adaptfasterr-cnn方法的检测效果。

图5d是本发明方法的检测效果。

具体实施方式

为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对本发明进行详细描述。

(1)获得行人数据集

行人数据集采用的是citypersons行人数据集和caltech行人数据集。citypersons数据集是cityscapes数据集的子集,citypersons的标注文件只标注了其中的human类别,即person、rider。训练集总共包括2975张图像其中行人19654个、验证集500张图像其中行人3938个。caltech行人数据集原先是视频数据集,经过逐帧抽取以及格式转换得到单帧图片数据集,训练集包括122187张图像。将上述两个行人数据集保存为voc格式,方便训练使用。

(2)构建多尺度特征融合模型

如图2所示为fasterr-cnn的网络结构,图3是多尺度特征融合模块示意图。

在此基础上进行改进。

多尺度特征融合模型包括fasterr-cnn中的骨干网络的部分,分别是:第一部分卷积网络、第二部分卷积网络、第三部分卷积网络、第四部分卷积网络和第五部分卷积网络且依次顺序连接;其中,

如图1所示,第一部分卷积网络,用于提取行人数据集的特征图fm1并将其输出至第二部分卷积网络;

第二部分卷积网络,用于再次提取行人数据集的特征图fm2,并将特征图fm2输出至第三部分卷积网络;

第三部分卷积网络,用于对特征图fm2进行3个3×3的卷积层运算以及1个2×2的最大池化层处理,得到特征图fm3输入至第四部分卷积网络;

第四部分卷积网络,用于对fm3进行3个3×3的卷积层运算以及1个2×2的最大池化层处理,得到特征图fm4输入至第四层卷积网络;

第五部分卷积网络,用于对fm4进行3个3×3的卷积层运算以及1个2×2的最大池化层处理,得到特征图fm5;

将第五部分卷积网络得到的输出fm5先经过1×1卷积,改变fm5的通道数,得到的输出记为m5;

将m5通过2倍上采样,得到上采样后的m5;将fm4经过1×1卷积后得到的特征图与上采样后的m5相加,得到的结果记为m4;

m4通过2倍上采样,得到上采样后的m4;将fm3经过1×1卷积后得到的特征图与上采样后的m4相加,得到的结果记为m3;

将得到的m3通过4倍下采样得到的结果记为m3、m4通过2倍下采样得到的结果记为m4;

最后将m3、m4和m5相加输出结果特征图送入rpn网络;

(3)多尺度感受野滑窗生成候选区域

通常情况下,原始的rpn网络生成候选区域,是通过骨干网络(vgg16、resnet、res2net等)输出的最后一层特征图生成候选区域,使用的是固定大小为3x3的滑动窗口。考虑到真实场景下,因为距离摄像头的远近以及遮挡等造成的行人大小的多变情况,不能仅仅使用一种大小的滑窗来获得候选区域,不同大小的行人目标可以使用不同尺度的感受野滑窗,来取得相对应的候选区域。如图4所示,与原先的检测方法对比,本发明中提出了在rpn阶段使用5种不同大小的滑动窗口来生成候选区域,分别通过1×1、3×3、5×5、7×7和9×9卷积实现,各个不同大小的滑动窗口对应生成的每个特征图上像素点的感受野如下(以骨干网络为vgg16为例):

[1]1×1:对应于,196×196

[2]3×3:对应于,228×228

[3]5×5:对应于,260×260

[4]7×7:对应于,292×292

[5]9×9:对应于,324×324

[1]-[5]感受野的计算方法采用的是自顶向下的方式:对于普通卷积,我们将其感受野表示后可以得到一个结论,假设感受野初始大小为1,对于每一层来说,该层的感受野与上一层有一种线性关系。其与每个层的步长和卷积核尺寸有关,与padding值没有关系,感受野只是表示两者的映射关系,与原始图的大小无关。公式如下:

f(i,j-1)=(f(i,j)-1)*stride kernelsize

其中f(i,j)表示第i层对第j层的局部感受野,stride指步长,kernelsize指卷积核尺寸。

最后再将得到的不同感受野大小的候选区域形成的结果进行合并,相当于扩充了原先的候选区域的数量。感受野是卷积神经网络中对于卷积层输出特征图的像素点与原图像的映射关系,根据以上的设计,提升多尺度行人目标检测的准确率。

(4)损失函数

本发明中涉及到的损失函数均为分类损失和回归损失,公式如下:

分别介绍下两部分的损失:

1)分类损失

其中rpn网络产生的anchor只分为前景和背景,前景的标签为1,背景的标签为0。在训练过程中,会产生256个anchor,对应的就是公式中的ncls;pi为anchor预测为目标的概率;就是gt标签。

以上是两个类别(目标与非目标)的对数损失,是一个经典的交叉熵损失。

另外fastrcnn对应的是多分类(当训练的类别数大于2时)的交叉熵损失,但因为本发明是基于的行人类的目标检测问题,本发明运用的是二分类损失函数。

2)回归损失

其中ti={tx,ty,tw,th}是一个向量,表示生成的anchor,即rpn以及fastrcnn训练阶段对应的预测的回归偏移量;是是与ti维度相同的向量,表示生成的anchor,即rpn以及fastrcnn训练阶段对应的相对于gt实际的偏移量。

对于每一个anchor计算完部分后还要乘以p*,如上文所述,存在物体时(positive)设置p*为1,不存在物体(negative)时设置p*为0,意味着只有前景才计算损失,背景不计算损失。

(5)结果的评价指标

对于行人检测任务来说,评价指标采用的是mr-fppi(falsepositiveperimage)。fppi的基本含义:给定一定数目n的样本集,内含n张图像,每张图像内包含或不包含检测目标。missrate:丢失率=数据集中正例判为负例数目/数据集中检测到的正例数目 未检测到的正例数目(即全部gt的数量),与查全率recall的关系是:missrate=1–recall。

(1)准备实验需要的数据集

cityscapes已经提供了实例级别的标记。但是这些标记只提供了可见区域的像素。直接使用这些标记进行训练会有以下问题:1)候选区域的比例是不规则的,会影响回归候选框的归一化;2)没有对准每个行人,可能在水平和垂直方向上不是行人的中心;3)现有的数据集都是标记整个行人,而不只是可见区域。因此需要对这些行人进行重新标记,也就是citypersons行人数据集的由来。训练集总共包括2975张图像其中行人19654个、验证集500张图像其中行人3938个。

(2)训练模型

利用pytorch深度学习框架搭建上述的行人检测模型,通过配置文件进行模型训练的相关参数,优化函数设为adam算法,基础学习率设为5e-3,量化rpn的尺度,将默认的高宽比[0.5,1,2],划分成[0.5,0.65,0.8,0.95,1.1,1.25,1.4,1.55,1.7,1.85,2],以此产生更多的anchor框。将(1)准备的训练集送入到搭建的模型中,通过骨干网络以及组合的多特征融合网络提取共享特征,之后通过rpn模块生成候选区域。最后送入预测模块进行预测。通过误差反向传播来修正模型参数,直至模型收敛。保存模型收敛后的参数。

(3)实验结果

为了验证该行人目标检测模型的性能,本发明与shanshanzhang,rodrigobenensonandberntschiele等人发表于2017年ieee的文章“citypersons:adiversedatasetforpedestriandetection”进行了对比,该文章中的模型简称为adaptfasterr-cnn。本发明与adaptfasterr-cnn的区别是,本发明中引入了多尺度特征融合以及多尺度感受野的rpn模块。具体实验结果如表1所示。

表1

注:mro代表差错率,差错率数值越低,表明结果越好;δmr代表差错率的变化。

表1结果说明,本发明相比于adaptfasterr-cnn模型,性能指标略有提升,说明本发明不仅提升模型对于小目标的检测效果,还降低模型的漏检率。但是根据图5a、图5b、图5c和图5d中的可视化检测框的结果,依旧还是存在小部分漏检的行人目标,说明本发明在挖掘小目标行人检测这方面仍有提升空间。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围内。

转载请注明原文地址:https://doc.8miu.com/read-350387.html

最新回复(0)