APP下载

锚点机制在目标检测领域的发展综述

2022-04-13伏轩仪张銮景梁文科毕方明房卫东

计算机与生活 2022年4期
关键词:锚点关键点样本

伏轩仪,张銮景,梁文科,毕方明+,房卫东

1.中国矿业大学 计算机科学与技术学院,江苏 徐州221116

2.中国赛宝(山东)实验室,济南250013

3.中国科学院 上海微系统与信息技术研究所 无线传感网与通信重点实验室,上海200050

目标检测是计算机视觉和图像处理领域的基础问题,为解决自动驾驶、姿态估计等下游视觉任务提供技术保障。目标检测算法识别图像中目标的类别和位置,结合目标分类和定位两个任务。图像中的目标存在形变、遮挡、尺度变化大等特殊情况,给目标检测任务增加难度,目标检测的发展就是完善检测算法以应对特殊情况造成的检测性能下降。目标检测算法分为三个步骤:特征提取、生成候选区域与候选区域分类。在传统的目标检测模型中,使用滑动窗口提取特征,设计基于人工设计的特征算子描述图像,使用分类器对特征进行分类。滑动窗口缺乏针对性,导致计算冗余。基于底层视觉特征设计的特征算子难以匹配复杂的图像特征,存在单一性、适应能力差等问题。2012 年AlexNet在ImageNet竞赛中以超过第二名10.9 个百分点的绝对优势一举夺冠,引发深度学习的研究热潮。基于深度学习的目标检测技术使用卷积神经网络替代手工提取特征,大幅提升检测精度和计算效率,推动目标检测的新发展。

目前目标检测方面已有综述从时间先后顺序,一阶段、二阶段分类等方面总结梳理,与现有综述不同,本文围绕锚点机制在目标检测中的影响展开,介绍anchor机制的原理和优化anchor设置的目标检测模型,同时重点关注新近无锚点算法的发展,探索两类算法的本质区别,在主流数据集上对比典型算法的性能表现,便于本方向相关研究者参考和借鉴。

1 anchor原理及优化设置

1.1 anchor原理

anchors 是在数据集中识别到目标的候选框组合,考虑到目标大小和尺寸不同,在设置anchor 时选择一定的尺寸和宽高比以适配目标。anchor 与传统目标检测中的滑动窗口不同,滑动窗口尺寸单一,无法识别不同尺度大小的目标;anchor 有针对地设计尺度和宽高比例参数,提高目标检测的灵活度。Faster R-CNN提出anchor 机制以来,锚定方法(anchorbased)成为各种目标检测模型的指导思想。图1 展示Faster R-CNN 中anchor 设置情况,其中三种颜色代表的尺度分别为128×128、256×256、512×512,颜色相同的anchor宽高比分别为1∶1、1∶2、2∶1。

图1 Faster R-CNN 中的锚点示意图Fig.1 Schematic diagram of anchors in Faster R-CNN

1.2 anchor的问题和对应优化

基于anchor 的检测架构将目标边界检测为多个锚框,预测每个锚框的偏移量和类别。在训练过程中,网络的输出值都是相对锚点框的偏移量,值域范围较小,容易收敛,减小训练难度。因此anchor 机制广泛应用于先进的深度学习检测器中。一些检测器不存在以anchor 命名的候选框,但使用了类似的思想,例如文献[20]中的默认框(default boxes),文献[21]中的先验框(priors)以及文献[16]中的网格(grid cell)等。与传统检测方法相比,基于深度学习的anchor-based 模型能够提升检测精度。但研究人员从中发现,anchor-based 系列模型存在以下三方面的问题:

(1)anchor 的尺寸需要精心设计,大量预定义的参数对模型的预测能力有一定影响,超参数的手工调制影响模型的鲁棒性。超参数的设置与数据集相关,需要根据数据集的特点重新设计锚点框的超参数,因此限制了模型的泛化能力。

(2)anchor-based 方法本质上是对图像进行密集采样,DSSD中设置超过4 万个anchor,RetinaNet超过10 万。数量众多的anchor 对交并比的计算增加了显存的消耗。

(3)anchor 中的大部分为仅包含背景信息的负样本,最终只有一小部分与真实目标重合,加剧了正负样本不平衡的问题,模型的分类能力会被负样本所主导。

针对anchor存在的问题,一些方法从尺度、角度、数量等方面增加anchor 的种类,达到优化anchor 设置的目的。在尺度方面,Cai等在不同的特征层设计不同尺度的检测器。低层的卷积网络感受野较小,用于小目标的检测,而高层的卷积网络适用于检测大目标,改善Faster R-CNN 目标大小和模板不匹配的问题。Zhu 等提出一种生成anchor 的新策略,基于步长缩减anchor,用于检测小目标的高分辨率特征图感受野较小,为防止漏检小目标,应当缩减anchor生成的步长(srtide)。另外在训练时随机抖动以增加anchor 与目标的重合度,提升人脸检测对小目标的检测性能。在数量方面,Ke 等提出一种多锚点学习的方法,基于交并比筛选一部分优质的anchor,构造属于目标的锚点袋(anchor bag),再结合分类和定位分数评估anchor bag 中的正样本,使用正样本优化训练损失。无论是尺度还是数量的增加,都进一步增加计算复杂度以及内存开销,并不能取得理想的效果。另一类思路引入可形变卷积以解决目标形状差异大的问题,提高检测器的灵活性。但由于需要学习额外的偏移量,参数量大,增加训练难度,依然是以牺牲效率为代价换取精度的提升。

基于增加anchor 种类的优化方法仍然依靠先验知识,许多学者针对anchor 的先验性提出质疑,指出基于人工先验知识设计anchor 尺寸是检测效果不佳的主要原因。Yang 等提出一种不依靠先验知识的MetaAnchor。根据一些预设的anchor 结合图像的特征隐式学习锚点框函数以预测目标,将人工先验知识转化为可学习的参数形式。MetaAnchor 对anchor的设定和目标的分布更加鲁棒,适用于任何基于anchor 的目标检测框架,有效缩减不同数据集之间边界框分布的差异。Ma 等设计的检测模型AABO(adaptive anchor box optimization)指出,每更换一个使用场景时,需要手工调整anchor的配置以适应新域的特性和分布。AABO 设计一种自适应的特征金字塔搜索空间,结合贝叶斯优化和子采样方法优点的超参数优化方法,有效为特定数据集确定最优的anchor 配置。与其他工作的区别在于,AABO 学习到的anchor 配置在整个数据集上共享。anchor 的提出是基于多尺度检测的需求,但如何独立于先验知识,使anchor 能够主动学习特征,需要借助迁移学习等方面的技术进一步改进。

2 基于关键点的anchor-free模型

基于关键点的anchor-free 模型主要分为两种思路,一类对特定位置的关键点分组,另一类结合中心关键点进行回归预测。基于关键点分组的anchorfree 模型从特征图中检测特定关键点,根据对关键点的匹配生成高质量的检测框,减少预设锚框存在的特征不匹配、计算冗余等问题。此类模型有基于角点的CornerNet及其优化版本CornerNet-Lite,基于极值点的ExtremeNet等。结合中心关键点的anchor-free 模型在特征图的每个位置输出其为目标中心点的概率、回归目标尺度、偏移量等信息进行边框的预测。此类模型有Objects as Points及系列工作等。本章综述基于关键点的anchor-free 模型主要思想和检测框架,针对不同模型的优点和存在的问题进行详尽分析。

2.1 基于特定关键点的anchor-free模型

Law 等提出了一种基于关键点分组的目标检测方法CornerNet,算法受到Newell 等用于多人姿态估计的关联嵌入法启发,使用左上角和右下角配对构造的预测框检测目标,检测结构如图2 所示。CornerNet使用单个卷积神经网络Hourglass-104 输出的一系列特征图分别输入两个分支模块,预测左上角点(top-left corners)和右下角点(bottom-right corners)。在图2 中,每个分支模块包含一个角点池化(corner pooling)层和3 个输出:热力图(heatmaps)、嵌入向量(embeddings)和偏移预测(offsets)。输出两组heatmap代表不同种类角点的位置,embedding 对角点进行分组,分组依据是向量之间的距离差异。为了生成的预测框更紧密贴合目标,网络还预测偏移量(offsets),以轻微调整角点的位置。

图2 CornerNet检测结构Fig.2 CornerNet detection framework

与其他视觉任务中的池化操作不同,角点池化试图将特征图的最大激活值从目标内部转移到边界。如图3 所示,以左上角点池化(top-left corner pooling)为例:垂直方向自下而上提取特征图的最大值,水平方向从右向左提取最大值,然后求和得到输出结果,数值计算过程如图。Corner Pooling 使用两个独立的特征图分别在两个方向上检测最大激活值,降低2 路信号的相关性,加强单个方向上的边缘信息,从而提高检测性能。

图3 左上角点池化数值计算过程Fig.3 Numerical procedure of top-left corner pooling

CornerNet 仅使用两个角点预测目标缺乏物体内部信息,仅基于距离对角点进行匹配而导致多个相似目标被检测为同一目标,检测的准确性有待提升。另一方面,每张图片的推理耗时1.147 s,难以满足交互实时性要求。原团队进一步的后续工作CornerNet-Lite提出两种轻量级的CornerNet 变种:CornerNet-Saccade 首先获取可能出现目标的初步位置及其尺寸,使用类似人眼扫视的注意机制,有重点地处理图像中的像素点;CornerNet-Squeeze 引入新的紧凑骨干架构,将SqueezeNet 与堆叠沙漏网络整合在一起,并应用于物体检测。这两种变体共同解决了有效目标检测中的两个关键用例:在不牺牲精度的情况下提高效率以及提高实时检测的准确性。遗憾的是,CornerNet-Saccade 与CornerNet-Squeeze结合的效果不理想,主要由于CornerNet-Saccade 需要强大的主干网络来生成足够准确的特征图,而CornerNet-Squeeze 则是减弱了主干网络的表达能力进行加速,两种变体只能各自解决单方面的问题,存在局限性。

ExtremeNet将目标检测定义为完全基于外观信息的关键点估计问题,提出一种目标检测的新思路:使用标准的关键点估计网络检测上下左右4 个关键点以及中心点,根据几何关系对5 个关键点分组。作者认为CornerNet 中提出的角点(corner point)只不过是另一种形式的包围框,且角点大部分位于目标的外部。但是本文提出的极点(extreme point)是位于物体上的,因此在视觉上是可区分的,具有一致的局部外观特征。另外,与CornerNet 使用关联嵌入法(associative embedding)不同,本文的分类方法完全基于几何外观信息,避免隐式的特征学习。ExtremeNet沿用了CornerNet 网络结构和损失函数,对关键点的分组方法与CornerNet 不同,且关键点个数增加至5个。显然增加关键点能够包含更多的信息,但同时增加了计算开销。通过暴力枚举极点对所有结果进行罗列,算法复杂度较高。在产生4 个方向极点的基础上进一步计算几何中心,后处理过程繁琐。在极点的匹配过程中,容易产生假阳性(false-positive)样本,影响检测效果。

在锚定方法(anchor-based)引导的检测中,列举大量可能存在目标的anchor,是一种自上而下的检测思路。以上基于特定关键点的anchor-free 模型开启了真正意义上自底向上的目标检测时代,对关键点的定义和组合方式提出优化。基于关键点检测思路的发展致力于加入更多关键点提供特征信息,自ExtremeNet 开始,关键点不仅限于角点,更多后续工作开始聚焦目标中心点对检测效果的影响。将关键点检测分解为更细致的任务,获取到更多信息以及分解任务间的关联性可能会对网络产生好的影响。

2.2 结合中心点回归预测的anchor-free模型

Objects as Points由ExtremeNet作者提出,因为完全基于中心点进行检测,作者在论文中以CenterNet指代检测器。CenterNet 将目标建模为一个中心关键点,在中心点位置回归出目标的尺寸、姿态等其他信息。针对CornerNet、ExtremeNet依赖关键点分组后处理步骤降低了检测速度的问题,CenterNet 提供了一种更为简洁的思路,即提取每个目标的中心点,无需对多个关键点分组。与锚定(anchor-based)算法相似,CenterNet 将中心点类比于一个单独且形状未知的锚点。又因为这种锚点只和位置有关,不存在锚点重叠的问题,无需人为设置阈值来进行前景和背景的区分。在检测过程的设计方面,CenterNet 没有对关键点进行后处理分组,从而大大减少了网络参数量和计算量。

同时期的另一种CenterNet-Triplets在CornerNet的基础上发展而来,旨在解决CornerNet 存在错误的角点配对问题。作者将左上角、右下角和中心点结合为三联体(Triplets),在角点的基础上增加一个关键点来探索候选框靠近几何中心位置的信息。对于角点构造的预测边框,如果同类别物体的中心关键点也包含在该候选框的中心区域,则保留该检测框,否则舍弃。基于三联体关键点的CenterNet 结合物体内部信息,对角点的预测做后处理矫正。CenterNet-Triplets仍然停留在结合中心关键点矫正匹配的阶段,粗略看来整合了角点和中心点的信息,大部分工作建立在ConerNet的基础上完成。CenterNet-Objects as Points完全基于中心点,没有后处理步骤,模型结构简单。且该方法容易扩展到姿态识别等其他与关键点检测相关的任务中,具有启发性意义。

Dong 等提出的CentripetalNet 针对关联嵌入法匹配关键点的导致的误检做出优化改进。文章指出,基于物体的外观信息产生嵌入向量的做法缺乏鲁棒性。同类别的物体具有相同的外观,这时物体的角点所对应的嵌入向量十分相似,使得网络的训练难度较大,出现错误的关键点匹配对。CentripetalNet以CenterNet为基线,提出新的关键点分组方法,结合物体的外观和关键点的位置信息。CentripetalNet使用基于向心位移(centripetal shift)的角点配对方法,以及一种能够更好地预测向心偏移的交叉星形可变形卷积模块。图4 依次展示了CornerNet、CenterNet-Triplets、CentripetalNet的部分检测效果图,在同类型的相似物体高度集中场景中,前两者出现了将多个目标识别为同一目标的情况,如第一种场景中的球员,第二种场景中的滑雪运动员。CentripetalNet成功移除错误的角点配对导致的误检,与CenterNet-Triplets相比,CentripetalNet的效果提升主要来自大中型目标,如第三种场景中,CentripetalNet对人体目标的识别效果更加精确。

图4 改进关键点匹配系列模型检测效果对比Fig.4 Detection results comparison of key point matching series models

另一种结合中心点的预测模型并不区分正负样本,使用类似语义分割的思想,使用全卷积网络逐像素预测。早期工作中,DenseBox首先提出:(1)直接对是否为某类中心点进行判别;(2)在中心点处直接回归相关的几何参数。以此为启发,FCOS(fully convolutional one-stage)额外预测了每个位置上的中心置信度(centerness),抑制偏离中心过远的误检。FCOS 仅凭借非极大抑制进行后处理,模型更加简单灵活,可以扩展到其他计算机视觉任务中。检测流程如图5 所示:

图5 FCOS 网络的检测结构Fig.5 Fully convolutional one-stage object detection framework

(1)输入图片,经过骨干网络进行特征提取,结合特征金字塔获得不同尺度的最终特征图。

(2)在特征图上逐像素点进行分类和回归。确定每个点所属物体类别,根据每个点到物体4 个边界的距离确定包围框(bounding box)。

(3)引入中心置信度分支,预测一个像素到对应边框中心的偏差,降低低质量预测框的权重,减少非极大抑制后处理计算负担。

其中中心置信度(centerness)分支的主要作用是筛选远离目标中心的低质量bounding box。增加一个与分类平行的分支用以预测中心置信度。中心置信度描述的是某一位置到该位置到其所属目标中心的距离。设定第个卷积块的输出特征图为F,算法将F上一点(,)映射到原始的输入图片位置并回归。在进行正负样本判断时,若(,)落入真值标签(ground truth)边界范围内即视为正样本,与anchorbased 模型相比大量增加正样本的数量,帮助模型有效学习。正样本位置的回归目标可表示为:

中心置信度的取值范围是(0,1),通过二元交叉熵损失训练。测试时,最终分数由中心置信度预测结果和分类分数乘积得到。中心置信度降低远离目标中心的bounding box 得分,结合非极大抑制后处理滤除低质量边框,进而提高检测效果。FCOS 在实验分析中与anchor-based 模型对比了样例总数和内存占用情况,样例总数减少了90%,内存占用减少了67%,但缺乏实时性指标的对比。逐像素密集检测相当于在每个像素点铺设anchor,对检测速度会产生影响。中心置信度的可解释性有待进一步增强,需要从几何理论等方面给出理论支撑。

现阶段anchor-free 的主要检测范式可以分为以上两类,对特定位置的关键点分组和结合中心关键点进行回归预测。最先提出基于关键点目标检测的CornerNet引领了定义特定关键点的检测思路,此方向的优化工作针对关键点的选取与组合方式。增加关键点个数是细分检测任务的表现形式,获取到更多信息以及分解任务间的关联性可能会对网络产生好的影响。关键点组合存在繁琐的后处理过程,导致计算复杂度居高不下,推理时间缓慢,催生了轻量化的CornerNet-Lite。结合中心点回归预测的anchorfree 模型中,Objects as Points直接检测中心关键点进而回归其他属性,实现端到端的高效检测。FCOS则在目标检测中引入语义分割的思想,融合中心度过滤低质量检测,不仅提供了一阶段anchor-free 检测的新思路,加强与其他视觉任务的关联性,也可用于两阶段目标检测的感兴趣区域网络(region proposal network,RPN)提升性能。

3 其他类型的anchor-free模型

CenterNet的作者团队发表于2021 年的最新研究成果提出,目标检测、实例分割和姿态估计都是对位置敏感的视觉识别任务,并设计一个统一的框架称为位置敏感网络(location-sensitive network,LSNet)。文章认为,不同的视觉任务本质上都是识别物体,不同之处在于表征物体的形式:目标检测用包围框,实例分割用mask,姿态估计用关键点。作者设计一个统一的框架将预测目标与真实的目标联系起来,以一个anchor 点和指向关键点的个向量作为检测框架。在目标检测任务中,1 个anchor 点和指向极值点的4 个向量确定目标框;在实例分割任务中,1 个anchor 点和指向轮廓点的个向量确定mask;在人体姿态估计任务中,1 个anchor 点和指向17 个关键点的向量确定pose。

LSNet 分为两个阶段:第一阶段从特征金字塔(feature pyramid networks,FPN)的头部预测一个anchor 点并与一组landmark 联系起来;第二阶段组合landmark 描述目标对象的几何形状。为了准确定位目标,使用ATSS(adaptive training sample selection)分配器为目标分配尽可能多的anchor点,并在预测的landmark 上使用可形变卷积提取特征。考虑到目标检测中的损失函数IoU loss 只能基于矩形框回归优化,难以运用到实例分割任务中的多边形和姿态估计中的离散关键点,作者提出一种新的损失函数Cross-IoU Loss。Cross-IoU Loss 对anchor 点到landmark 的每个向量计算交并比,将二维的交并比压缩到一维,从垂直和水平两个方向分解计算向量与真值标签的重合程度。LSNet 拓展了anchor-free 方法应用于视觉识别的边界,充分证明使用关键点定义和定位目标是一个值得研究的方向。

Zhang 等人开发的一阶段目标检测模型VarifocalNet(VFNet)是一种感知交并比的密集目标检测器。作者在文章中指出高性能密集目标检测器的关键在于对候选检测目标进行排序筛选,之前的研究工作使用分类得分或将分类得分与定位得分相乘,两个不可靠的预测相乘可能会导致候选目标的排名变差,损害检测性能。文章提出感知交并比的分类得分(IoU-aware classification score,IACS)同时表示物体的存在置信度和定位精度,设计了一种新的高效星型边界框表示法,以及变焦损失Varifocal loss训练检测器。VFNet 以FCOS+ATSS 作为基础,作者深入理解每种技术的优点,并将它们组合到一个模型中。变焦损失Varifocal loss 借助调制因子平衡正负样本的权重,非对称地处理正负样本,与第4 章融合anchor-based 与anchor-free 的思想类似,重点关注有关正负样本选择的问题。

4 融合anchor-based 与anchor-free的方法

Zhu等指出,在与特征金字塔结合使用的anchorbased 检测模型RetinaNet中,基于人工经验规则,将anchor 离散化到不同的特征层,又根据目标和anchor的交并比选择最匹配的anchor 检测目标。这种选定特征层的算法,特征级别不一定是最适合目标的。基于特征选择的无锚点模块(feature selective anchorfree module,FSAF),在特征金字塔的每一层都分出一个anchor-free 分支,允许在任意层上进行编码和解码。在训练期间,动态地将每个目标分配到最合适的特征层,不设置anchor以限制特征层选择。作者在原有的RetinaNet 的基础上加入一个anchor-free 分支。该分支分为两个卷积层,分别负责分类和回归任务。以RetinaNet 主干网络的到特征层构造特征金字塔,图6 中展示了其中的三层,每层用来探测不同大小的目标。FSAF 模块根据目标内容选择最匹配的特征层,而不是仅仅根据目标框尺寸分配特征层。检测过程如图6 所示,目标输入到特征金字塔的所有层,然后求得所有anchor-free 分支损失函数的和,选择和最小的特征层来学习。在消融实验中,加入FSAF 模块后增加了6 ms 的计算时间,为ResNet-101 主干网络的RetinaNet 带来1.8 个百分点的精度提升。

图6 FSAF 网络的检测结构Fig.6 FSAF detection framework

一种主样本注意力策略(prime sample attention,PISA)提出,每个批次(batch)中的样本是非独立的,每个样本给予的关注度也不应完全相同。PISA对正负样本点权重一致性进行优化,使用层次局部排名重新定义样本的重要性,根据重要性为样本分配不同的损失权重,是后续研究一个具有潜力的起点。自PISA 开始,研究者们探索标签分配(label assign)问题对检测器的影响,在2.2 节中,FCOS也针对标签分配方面进行了优化,通过空间和尺度约束选择正负样本,以采样方式拟合anchor-based 与anchor-free 产生的性能差异,指出标签分配策略可以进一步提升目标检测器的上限,是anchor-based 与anchor-free 产生性能差异的根本原因。本章重点介绍围绕标签分配策略优化开展的工作,图7 展示本章介绍的基于标签分配优化的检测模型关系。

图7 基于标签分配优化的检测模型关系Fig.7 Relationship between detection models based on label assign optimization

FreeAnchor针对PISA 中发现的问题,设计了新的损失函数。为提高召回率,recall loss 确保每个实例有足够好的正样本。为保证精确度,precession loss 确保每个实例尽可能避免产生假阳性目标。论文抛弃以往根据IoU 硬性指定anchor 和GT 匹配关系的方法,提出FreeAnchor 方法来进行更自由的匹配。FreeAnchor 将检测算法的训练过程定义为最大似然估计的过程,除提升检测性能外,一个突出的表现是对长条状目标友好。

Zhang 等探 究anchor-based 和anchor-free的目标检测算法之间产生差异的根本原因。作者分别选择anchor-based/free 典型算法RetinaNet和FCOS 进行对比,将RetinaNet 铺设的anchor 数改为1 后发现相同的正负样本定义下的RetinaNet 和FCOS 性能几乎一样。由此指出anchor-based 与anchor-free 方法的主要区别在于对正负样本的选择,提出自适应训练样本选择(adaptive training sample selection,ATSS)。ATSS 根据统计学特征划分正负样本,具体方法如下:在每个金字塔特征图层中选择个检测框中心点和目标中心点距离最近的检测框作为候选正样本集。计算每个候选正样本与标注的目标检测框(ground truth,GT)的交并比D以及D的均值m和标准差v。以均值和方差的和作为筛选正样本的阈值。ATSS 仅有一个超参数,且在实验中证明在一定区间内的取值对检测性能的影响微乎其微。但作为一种自适应方法,对筛选阈值的确定还是依靠先验信息且缺乏对阈值设定的理论解释,调参痕迹较重。Zhu 等进一步改进此问题,将分配过程自动化,对于一个目标检测框,标记所有落入框内的样本为正样本,不落在框内的样本为负样本。由此设计AutoAssign 进一步提出根据数据集动态定义正负样本,公平对待每个位置的正负样本属性,通过正负样本的权重映射,动态调整每个位置的预测,运用在RetinaNet和FCOS上都能有稳定的性能提升。

表1 总结标签分配策略的几个维度及先验形式。现有的标签分配策略都利用中心先验(center prior),依赖于物体围绕框中心的分布方式。若数据的分布不符合中心先验,将不能取得良好的检测效果。标签分配分为尺度(scale)和空间(spatial)两个维度,AutoAssign 定义的权重对两个维度实现联合训练。目标检测的标签分配应该是连续的过程,没有真正意义上的正负样本之分,表1 中的大部分模型使用IoU 阈值定义正负样本使标签分配的过程离散化,不是一个合理的思路。如何设计连续的自适应标签分配,将是未来的研究重点。

表1 标签分配目标检测模型总结Table 1 Summary of label assign object detection models

5 性能对比

在第1~4 章中介绍了基于无锚点的各类目标检测算法,表2 对第2~4 章中列举的部分目标检测模型的原理、优缺点及使用范围进行总结。表3 在COCO数据集上使用平均检测精度及其变体对比检测性能,以是否基于anchor 划分为两部分。、、、、是基于COCO 数据集定义的检测精度评价指标,、用以评价不同的交并比阈值下的检测效果,50 与75 表示预测框与标注框的交并比大于50%和75%时才会被认为预测正确。、、分别表示模型预测不同大小尺度目标的AP,s(small)为area<322,m(medium)为322962,area 是分割掩码(segmentation mask)中的像素数量。模型的综合性能表现受主干网络、输入图像尺寸、硬件加速环境影响,权衡速度与精度,表3 列举每个模型最佳性能表现的检测指标。为公平起见,性能评价结果均基于COCO 数据集,论文中未具体描述的以“—”省略。

表2 各类无锚点目标检测模型总结Table 2 Summary of various anchor-free object detection models

结合表2 与表3 可以得到以下几点信息:

表3 各类目标检测模型在COCO 数据集上的性能对比Table 3 Performance comparison of various object detection models on COCO dataset

(1)在anchor-free 方法中,CornerNet是最早提出的基于组合角点检测模型,检测精度达到42.1%,超过同时期基于锚框的检测算法。后续推出的CornerNet-Lite中,CornerNet-Squeeze设计了更加轻量的检测网络,计算速度达到约33 frame/s,相比CornerNet 提高了约6 倍,是目标检测模型在轻量化方面做出的重大改进,也表明轻量化是计算机视觉任务发展的迫切需求。基于检测特定关键点的anchor-free 模型发展趋势是以多样化的关键点提取到丰富的目标信息,但组合关键点的后处理步骤拖累检测速度,与结合中心关键点检测的方法相比速度较慢。

(2)Objects as Points与基于三联体关键点的CenterNet,聚焦中心关键点的作用,通过不同的方式充分利用中心点,提升了检测精度,表明中心区域对关键点分组的重要性。CentripetalNet 针对图像中相似物体的误检情况,进一步使用向心偏移提高小目标密集排列的检测效果,检测精度超过具有代表性的anchor-based 模型RetinaNet、SSD、YOLO v3。结合中心关键点的检测方法默认目标的分布围绕几何中心,对不符合此分布的目标(如长条状的行人)将产生不稳定的检测效果,鲁棒性较差。

(3)结合中心关键点回归预测的anchor-free 方法,都利用特征金字塔(FPN)进行多尺度目标检测。FCOS加入中心度分支剔除低质量检测框提升检测性能。融合anchor-based 与anchor-free 的检测器FSAF通过在线特征选择的方式,动态地为每个实例选择最合适的特征层,提升中小型目标的检测效果,表现为评价指标、有所提升。多尺度检测是提升检测效果的重要方法,但显著增加的内存开销和计算耗时是主要问题,下一步研究方向可以继续探讨构建“碎片式”图像金字塔解决计算耗时问题。

(4)融合anchor-based&free 的方法中,标签分配策略解决正负样本不平衡的问题,扩充有利于模型训练的正样本数量,避免超参数的引入,降低手工调参的成本。

(5)现阶段anchor-free 系列模型暂时没有性能上的突出表现,但仍存在思想上的优越性。基于关键点的检测可以借助语义分割等其他视觉任务的先进方法,拓展模型的使用范围。考虑到anchor的固有缺陷,可以认为anchor-free 的研究方向在未来仍旧值得继续探索。

6 特定场景下的优化

目标检测作为计算机视觉的一个研究热点,无锚点目标检测已逐渐成为其中的关键方法。借助无锚点目标检测模型处理图像,解决生产生活中的实际问题,涉及遥感图像处理、辅助医学临床诊断、智慧交通等其他多个领域。下面分不同领域来介绍无锚点目标检测的具体应用情况。

(1)遥感图像分辨率高,图像特征信息多种多样。在部分图像中只存在零星的物体,如果使用anchor-based 方法将存在大量的冗余anchor,且正负样本极不平衡。由于目标变化的尺度较大,难以统一调整anchor 的尺寸,anchor 回归效率较低,有必要应用anchor-free 检测模型提高检测效率。Liu 等将包围盒编码为矢量,在此基础上提出包含方向信息的ProjectIoU 引导预测。设计一种组合损失函数,其中ProjectIoU 监督方向信息,GIoU 监督尺寸信息。在检测头中使用TanhExp 替换激活函数提高检测速度,进一步影响无锚点检测方法在遥感目标检测领域的应用。蒋光峰等提出的RCNet使用中心关键点、旋转角以及宽高表征遥感目标。添加一个用于预测方向的分支,实现旋转中心点估计。RCNet使用DLA34 主干网在保持66.68%检测精度的同时实现了29.4 frame/s 的运行速度,适合计算资源紧张同时对运算时间有一定限制的平台。

(2)使用计算机视觉方法辅助医学临床诊断对疾病的早期诊断至关重要。海康威视公司提出的BMassDNet首次将FSAF结构应用于乳腺肿块检测中。乳腺肿块的检测困难主要在于肿块的异质性,使用特征提取网络的最后两层与底层特征结合,能够检测不同尺寸的肿块。加入FSAF 模块后,在灵敏度(true positive rate,TPR)基本持平的情况下,平均每张图片的假阳性比例(false positive per image,FPPI)降低0.141。BMassDNet 减轻医生的视觉疲劳同时有效提高检测精度,推动深度学习应用在医学领域的发展。矩形包围框在病理图像旋转时会发生角度变化,尤其在特定的医学图像如肺结节、肾小球的检测方面,无锚点的目标表示方法具有优越性。CircleNet针对球形生物医学目标进行优化,使用圆形包围框(bounding circle)来检测目标。与使用矩形包围框(bounding box)需要学习宽高两个维度相比,使用bounding circle 仅需学习半径一个维度。表4 对比了不同表征目标方法的旋转一致性,旋转一致性的计算方法是旋转后交并比大于0.5 的bounding box/circle数量除以bounding box/circle的总数量。

表4 旋转一致性对比Table 4 Comparison of rotation consistency results

实验结果表明,与矩形包围盒相比,圆形的表示方法在自由度更小的情况下并没有降低检测效果,在采集的活检扫描图像数据集上平均检测精度达到64.7%。

(3)在智慧交通领域内,华南理工大学提出的CircleDet借助站台门上方部署的摄像头截取视频检测地铁客流量。在俯拍视角的摄像头中,人的头部在大部分情况下表现为圆形,矩形包围框的表示并不适用。使用圆形表征目标降低了检测难度,减少预测输出,为设计更轻量的骨干网络提供条件。作者在DLA(deep layer aggregation)网络的特征图深度聚合阶段,将每个阶段的深度削减为1,结合修剪通道数量设计轻量化网络。CircleDet 在GPU 加速的情况下每帧检测时间为9 ms,在边缘设备仅依靠CPU 加速的情况下每帧检测时间为130 ms,满足实时性要求。

7 总结与展望

本文以基于深度学习的目标检测算法为背景,从anchor机制提出的背景和原理出发,分别回顾优化anchor 设置和基于无锚点(anchor-free)以及融合anchor-based/free 等方向的研究工作进展,其中重点对比总结了anchor-free 方向的研究工作,从定性和定量两个角度以列表形式总结。基于锚点机制在目标检测领域的发展现状,未来可以开展的工作包括以下几个方面:

(1)anchor-free 目标检测的一个重要手段是关键点检测,但在特殊场景的小目标检测中,关键点存在语义模糊性。例如遥感图像中码头的密集船只,地铁客流监控系统中出行高峰时段的行人目标,存在分布稠密、相互重叠的问题,有待进一步解决。

(2)当图像的输入尺寸过小时,能检测到的关键点数量有限;若图像输入尺寸大,将影响检测速度,在主干网络中使用轻量化卷积将成为新的研究热点。卷积作为深度学习的构成基础,将卷积轻量化可最大限度地提高网络计算效率,减少卷积间的冗余计算量,使模型在相同识别精度下,卷积在参数量或计算量上占比有所下降,使得模型便于在移动式视觉终端上使用。

(3)提出锚点机制的出发点是提供先验知识,解决目标尺度变化大的问题。但anchor-based 发展的障碍也正是因为先验知识并不能完全满足多尺度检测的需要,因此产生了anchor-free的研究方向。anchorbased 方法加入了人为先验分布,训练和回归的值域变化范围相对较小,anchor-free 摆脱先验知识的限制,导致其检测结果不稳定,需要设计更多的方法进行优化。

(4)在形式上,组合多个关键点的anchor-free 模型实际上使用类似anchor的矩形框检测,基于单个关键点的anchor-free 模型相当于在每个位置上都有一个anchor,始终没有真正打破anchor 的局限。值得一提的是,融合anchor-based 与anchor-free 的工作指出,正负样本的定义才是两类算法的本质区别,标签分配成为连接两类算法的桥梁,值得进一步探索。

猜你喜欢

锚点关键点样本
艺术史研究的锚点与视角
——《艺术史导论》评介
论建筑工程管理关键点
肉兔育肥抓好七个关键点
建筑设计中的防火技术关键点
用样本估计总体复习点拨
5G手机无法在室分NSA站点驻留案例分析
5G NSA锚点的选择策略
5G NSA组网下锚点站的选择策略优化
规划·样本
随机微分方程的样本Lyapunov二次型估计