基于卷积神经网络的行人检测方法

2022-04-15 04:06叶正喆苍岩
应用科技 2022年2期
关键词:置信度分类器尺度

叶正喆,苍岩

哈尔滨工程大学 信息与通信工程学院,黑龙江 哈尔滨 150001

在计算机视觉与目标检测领域中,行人检测始终都是近些年来的研究热点之一。行人检测主要是利用图像处理和机器学习的方法来对图像中的行人进行定位[1-2],准确地预测出每个行人的大致位置。一个较为准确的行人检测模型也是后续如追踪、重识别、检索等图像智能分析的先验条件之一[3-4]。随着目标检测技术的高速发展,目前常用的行人检测算法在对简单场景下的行人已经能取得较好的检测效果,但在现实生活如街道、商场这类大量人群聚集的场景下,行人检测的性能仍然有着较大的提升空间[5]。

相比于简单场景下的行人检测,复杂场景下的行人检测有着行人遮挡、行人尺度不一等难点和挑战。其中遮挡问题也一直都是行人检测领域中的难点与重点[6],而遮挡又可分为行人间的类内遮挡和非目标物体对行人的遮挡。行人间的类内遮挡即多个行人互相遮挡,非目标行人会对目标行人产生遮挡,同时目标行人间的检测框会相互抑制,导致目标行人的后处理阈值敏感[7];非目标物体对行人的遮挡则是车辆、路障等非检测目标会对行人产生遮挡现象,使得人体部分特征损失从而产生漏检现象[8]。而行人尺度不一的问题则是人体的外观差异较大,且同一个场景下的行人可能会呈现出站立、行走、骑车等不同的姿态[9],同时一张图像中,近视角与远视角行人的大小差异也较大,这些都给行人检测带来了巨大挑战。针对行人遮挡问题,Zhang 等[10]提出OR-CNN算法,通过对Faster R-CNN 算法损失函数的改进以及对目标候选框的二次分类操作,提高了遮挡行人的检测效果;Pang 等[11]则提出mask-guided attention network(MGAN)算法,从引导注意力机制的角度提高了遮挡行人的检测效果。针对行人小尺度的问题,Liu 等[12]提出ALFNet 算法,用多段渐进的定位思想改善了多尺度行人的检测效果;同时Liu 等[13]又提出无锚点检测网络center and scale prediction(CSP),将行人检测问题转换成了高级语义特征检测,其主要思想是先对输入图像进行中心点热力图预测和目标尺寸预测,然后提取两者的坐标信息并将其映射为目标检测框,在一定程度上提高了小尺度行人的检测效果。

CSP 网络与CornerNet[14]、CenterNet[15]等网络同属于近年来热门的无锚点目标检测算法,利用特征图信息来进行相应的分类以及位置回归。相比于传统的基于锚点框架的行人检测算法,CSP 算法对不同的数据集都具有较强的鲁棒性[13],对小尺度的行人目标也较少产生漏检现象,但同时该算法对遮挡下的行人没有针对性的设计。因此,本文通过在CSP 网络的特征提取模块与检测头模块中加入CBAM[16],用以强调目标区域的特征图,并在检测头模块后添加基于分数融合机制的分类器模块,提出AS-CSP 行人检测网络,进一步解决小尺度行人和遮挡行人的检测问题。本文首先介绍AS-CSP 网络的总体结构,而后详细介绍CBAM 模块以及分类器模块,最后通过实验对AS-CSP 算法的各个模块进行定量和定性分析。

1 行人检测网络

本文加深了CSP 行人检测网络的特征提取骨干网络,同时引入卷积块注意力模块CBAM 来增强小尺度行人中心点的特征表达;针对行人类内遮挡的问题添加了基于分数融合机制的分类器模块,最终得到一种能提高通用行人、小尺度行人以及遮挡行人检测效果的行人检测算法AS-CSP。

1.1 行人检测网络结构

本文提出的行人检测算法AS-CSP 整体结构如图1 所示。输入的待检测图像X进入特征提取模块,由基于ResNet-101 的特征提取网络进行L2 归一化和反卷积后,融合出相应尺寸的特征图F1,从而将不同分辨率的特征映射连接成一个,F1经过CBAM 被重新定义,定义后的新特征图将增加其中小尺度行人的特征表达,新特征图进入检测头模块,由预测的中心热力图和尺寸图得到初步的检测结果后,经过基于分数融合公式的分类器模块得到最终的行人检测结果。

图1 本文提出的行人检测整体流程

1.2 注意力机制模块

为了进一步解决小尺度行人漏检、错检的问题,本文从特征图入手,希望能够得到更多的高层语义信息来进行后续模块的设计。本文的改进思路是将CSP 采用的主干网络由ResNet-50 加深为ResNet-101。特征骨干网络的加深使得更改后的网络结构可以提取到更多的高级语义特征,从而增加对细节的关注。同时,图像中远视角下的行人尺度较小,而卷积块注意力模块CBAM 是一种强调目标区域并且能降低背景部分值的特征图重建机制,通过增强行人尤其是远视角小尺度行人中心点特征的表达,使得改进后的行人检测网络更关注行人的中心点特征并抑制其他不重要特征。因此,本文将该模块加入到CSP 的主干网络的特征提取模块和检测头模块之间,为特征提取模块输出的特征图创建一个特征映射,该特征映射可以赋予中心点更高的权重。本算法中卷积块注意力模块的嵌入位置为ResNet-101 第一层卷积和最后一层卷积的残差模块中,因为这样可以不用改变ResNet-101 中间的网络结构,在之后的训练中也可以继续使用原有的预训练参数。添加后的新残差模块如图2 所示,其中蓝色部分为CBAM的内部结构以及添加位置。

图2 添加CBAM 后的ResNet 残差模块

CBAM 可分为通道注意力模块和空间注意力模块,其中通道注意力模块主要对输入特征图中的种类进行关注,空间注意力模块则更偏向于关注输入特征图的位置信息,CBAM 将从这2 个模块分别计算注意力特征图,2 个模块的计算公式如式(1)和式(2)所示。

1.3 分类器模块

行人检测领域中的另一大难点就是遮挡行人的漏检现象。遮挡就是背景或其他行人会对待检测行人的某些部位进行掩盖,使得检测器无法将其判定为常规意义的行人,从而产生漏检、误检现象。这一问题的实质是行人检测时,检测框对于行人的置信度不够高以及对背景的置信度不够低,引起的检测头模块对行人和背景的区分度不够高。因此本文在上一节得到网络模型中添加基于分数融合机制(score fusion, SF)的分类器模块,将原网络初步分类回归产生的较为精确的行人检测框作为候选框进行二次分类,并利用分数融合公式对检测分数进行更新,得到AS-CSP 算法网络,从而可以在一定程度上解决目前存在的遮挡行人漏检问题以及行人置信度不精确问题。

分类器模块的主要网络结构如图3 所示,其中A-CSP 为添加了卷积块注意力机制的CSP 算法。该模块借鉴了Faster R-CNN 网络的分类层[17],在该模块中,将AS-CSP 网络中经由特征提取模块和卷积注意力机制模块重新定义的特征图作为输入,经过一个3×3×256 的卷积层形成新的特征图,接着再将由AS-CSP 网络生成的行人检测框与新的特征图一起作为输入,连接一个1 通道的1×1 卷积网络进行二次分类,而后再通过分数融合公式对行人置信度进行更改,最后保留一定阈值以上的行人检测框,即可得到最终的检测结果。其中对行人检测的二次分类可视作为一个简单的二分类问题,并且将上一步中含行人检测框的标签设为1,不含行人检测框的标签则设为0,之后可以忽略掉不含行人的检测框并得到含行人检测框的新的行人置信度分数。而分数融合机制的流程如图4 所示。

图3 分类器模块结构图

图4 分数融合机制的流程

分数融合机制则是对行人的置信度分数进行更新,即利用AS-CSP 网络中检测头模块和分类器模块得到的分数来达到提高行人置信度分数、降低背景置信度分数的目的。SF 的具体规则为:当分类器模块以高于某一阈值的值将目标判定为行人时,适当提高其检测分数;反之当分类器模块以低于某一阈值的值将目标判定为背景时,则相应地降低其检测分数;其他情况下,置信度分数则为两者的均值。分数融合计算公式为

2 实验

2.1 行人检测数据集

本文采用的数据集是CityPersons 数据集,该数据集是目前流行的行人检测数据集,是城市街景数据集CityScapes 的一个子集,它有行人框、可见行人框和语义分割图三种标注标签,且部分图片中有很多相互遮挡的行人,相比其他数据集更加具有多样性。此外,CityPersons 数据集的Reasonable 测试子集可用于评估算法对通用行人检测性能,人体可见比例在0.65 以上;而Heavy-Occlusion 测试子集则主要用于评估算法对遮挡行人的检测效果,人体可见比例在0.2~0.65;同时还有特别标注的Small 测试子集可用于评估算法对小尺度行人的检测性能。

2.2 行人检测对比实验

2.2.1 实验环境和设置

本文的整体环境配置参数如下:操作系统,Ubuntu 18.04;显卡,NVIDIA GTX 2080;内存,16 GB;CPU,I7-8700K;框架,PyTorch。其中实验在基于深度学习框架PyTorch 中实现,PyTorch 也是深度学习模型常用的研发框架。同时模型训练时的输入图片分辨率大小为640 ×1 280,并选用Adam 算法作为模型的优化算法。在测试中,只将最终置信度大于0.5 的检测框识别为有效行人目标。

2.2.2 行人检测评价指标

式中:NTP、NFN分别表示实际类别和预测类别都为正类的样本数、实际类别为正类预测类别为负类的样本数。

式中k=1,2,…,8。

2.2.3 小尺度行人对比实验

为了评估本文提出的算法在小尺度行人检测上的性能,同时为了证明卷积注意力机制模块设置的合理性,本文设置了小尺度行人的对比实验。该实验选用的数据集是CityPersons 数据集的验证子集,同时在CityPersons-Reasonable 上验证通用行人的检测性能,在CityPersons-Small 上验证小尺度行人的检测性能,并使用对数平均漏检率以及 MR-FPPI曲线作为算法的评价指标。

同时为了充分检验算法的性能,本次实验选用了在小尺度行人上有优异检测效果的ALFNet[12]和CSP[13]算法作为对照算法,其中ALFNet、CSP 算法选用其原文文献中的检测结果,而本文提出的AS-CSP 算法则使用CityPersons 数据集的train 子集作为训练集重新进行行人检测的模型训练。该算法在训练中使用一个2080 显卡来训练模型,且模型的主干是在ImageNet 上预训练的ResNet-101,并使用了Adma 来优化模型。其中输入图像的批数为8 张,学习率为 2×10-4,训练的轮次数设定为150 次,每轮迭代2 000 次。训练的损失函数(Loss)曲线如图5 所示。

图5 AS-CSP 算法训练时的Loss 曲线

而小尺度行人对比实验的实验结果如表1 所示。由表1 可以看出,本文提出的A-CSP 算法在通用行人场景和小尺度行人场景下的检测性能都略优于CSP 算法以及其他常用行人检测算法,因为卷积块注意力模块会在特征提取时使检测器更加注重小尺度行人的特征,从而证明了该算法在小尺度行人检测中的优越性,也证明了卷积块注意力模块设置的合理性。图6 为待检测图像在经过AS-CSP 算法中CBAM 前后的特征图。通过对比这2 张图,我们可以看到图6(a)还有一些背景的轮廓信息,图6(b)则降低了部分背景的特征值而增加了行人中心特征点的表达。

表1 小尺度行人对比实验 %

图6 特征图

同时,图7 和图8 分别为CSP 算法与ASCSP 算法对同一图片的小尺度行人的可视化检测结果。由可视化检测结果可知,本文提出的ASCSP 算法在小尺度行人的检测性能上优于原CSP 算法,部分远视角的小尺度行人能被ASCSP 算法检测出来,这得益于卷积块注意力机制模块对小尺度行人特征表达的提升。

图7 CSP 算法对小尺度行人的检测效果

图8 AS-CSP 算法对小尺度行人的检测效果

2.2.4 遮挡行人对比实验

为进一步探究AS-CSP 算法在遮挡行人场景下的检测性能,同时为了证明分类器模块设置的合理性,本文设置了遮挡行人的对比实验。本次实验同样选用CityPersons 数据集的验证子集作为测试集,但与小尺度行人对比实验不同的是,本次实验在CityPersons-Reasonable 上评估通用行人的检测性能,在CityPersons-Heavy-Occlusion 上评估遮挡行人的检测性能,且同样使用对数平均漏检率以及MR-FPPI 曲线作为算法的评价指标。不同于小尺度行人的对照组,本次实验选用了在遮挡行人上有优异表现的OR-CNN[10]、MGAN[11]等算法作为AS-CSP 算法在遮挡行人上的对照算法,用以评估AS-CSP 算法在遮挡行人上的检测性能,其中AS-CSP 算法的模型设置与2.2.3 节中设置一致,其他算法的检测结果则同样选用其原文文献中的结果。此外,在AS-CSP 算法的分类器模块中,行人阈值TH、 背景阈值TG分别设为0.5 分、0.1 分。遮挡行人的对比实验结果如表2 所示。

表2 遮挡行人对比实验 %

由表2 可以看出本:文提出的AS-CSP 算法在通用行人场景和遮挡行人场景下的检测性能都略优于原CSP 算法;同时也优于其他遮挡行人检测算法,证明了分类器模块设置的合理性以及ASCSP 算法在遮挡行人场景下的有效性。

而图9 为在普通行人和遮挡行人的情况下,AS-CSP 算法的各个模块进行检测时的置信度分数效果图。

图9 各模块置信度分数效果

由图9 可以看出AS-CSP 算法中分数融合公式的有效性,该公式可以提高行人尤其是遮挡行人的置信度分数,且最终的置信度分数又由2 个分类器进行综合判定,从而可以进一步提高检测器的行人检测性能。

2.2.5 AS-CSP 算法性能分析

AS-CSP 算法的网络层数相比CSP 算法有所增加,因此本文使用CityPersons 的测试集进行2 种算法的检测速度对比实验。该测试集有500 张图片。实验结果表明CSP 算法在对测试集进行检测时共需156 s,而本文提出的AS-CSP 需要173 s,检测时间略微增加,但平均一张图片的检测时间为0.35 s,仍然符合行人检测实时性的要求。而图10 和图11 分别为CSP 算法、AS-CSP 算法对该测试集部分图像的可视化检测结果。

图10 CSP 算法可视化检测结果

由上述可视化检测结果可以看出,CSP 算法对远距离小尺度行人的检测效果不好,同时在对重叠的行人检测时通常只能检测出一名行人;而改进后的AS-CSP 则能通过注意力机制模块解决远距离小尺度行人的漏检问题,且可以通过分类器模块对重叠行人进行分离而检测出多个行人,在遮挡行人和小尺度行人的检测效果上都优于CSP 算法。但本算法也存在着一定缺点,比如检测时行人的宽高比被固定设为0.41,这就导致了有些检测框无法将行人全身包括进去,如图11(c)最右边的行人所示。而能随行人特征而变化的行人宽高比也是未来值得研究的一个方向。

3 结论

本文针对行人的具体特征,对CSP 网络结构进行了修改,加深了其特征提取骨干网络,并引入了卷积块注意力模块和分类器模块,从注意力机制和分数融合的角度提高了CSP 网络对小尺度行人以及遮挡行人的检测效果,最终得到的ASCSP 算法对通用场景、小尺度场景以及遮挡场景下的行人都能进行有效的检测,有利于实际的应用。但同时该算法在行人宽高比的设定上仍有着研究和改动的空间,这也是未来所要探索的一个方向。

猜你喜欢
置信度分类器尺度
基于数据置信度衰减的多传感器区间估计融合方法
一种基于定位置信度预测的二阶段目标检测方法
学贯中西(6):阐述ML分类器的工作流程
基于朴素Bayes组合的简易集成分类器①
论社会进步的评价尺度
基于动态分类器集成系统的卷烟感官质量预测方法
一种自适应子融合集成多分类器方法
校核、验证与确认在红外辐射特性测量中的应用
宇宙的尺度
9