储 珺,林文杰,徐 鹏
(1. 南昌航空大学 软件学院,南昌 330063;2. 南昌航空大学 信息工程学院,南昌 330063;3. 九江市0901工程管理处,江西 九江 332000)
目标检测是计算机视觉的基本任务之一,旨在给定的任意图像上对含有语义信息的目标实例进行分类和定位。其在自动驾驶、人脸识别、行人检测、医疗检测等方面有着重要的应用。同时,目标检测也可以作为图像分割、图像描述、目标跟踪、动作识别等更复杂的计算机视觉任务的研究基础[1]。
传统目标检测算法首先通过目标无关的滑动窗口等方法生成大量冗余的目标候选框,采用手工设计的特征提取器提取候选框特征,然后再将这些特征送入到SVM[2]、AdaBoost[3]分类器中判断目标是否存在,最后对目标进行回归。这类算法产生大量冗余计算,而且手工设计的特征提取器的特征表达能力有限,分类结果鲁棒性较差,检测性能往往不够理想。
随着计算机硬件的计算能力的飞速提升以及大规模数据处理技术的广泛应用,深度神经以其强大的特征提取能力被广泛应用到模式识别的各个领域。相较于传统目标检测算法,深度目标检测器无论是精度还是泛化能力都更具优势,摒弃了复杂的目标候选框后其推理速度更是超越前者。特别是Faster R-CNN[4]网络的诞生,将传统目标检测算法的分段操作统一到深度网络框架之下,真正实现了目标检测任务的端到端训练以及一步推理,奠定了现代目标检测器的基础。
深度目标检测已经成为目标检测的一个主流研究方向,按照是否生成区域候选,深度目标检测器可以划分为二阶段目标检测器[4-10]和一阶段目标检测器[11-20]。二阶段目标检测器的检测流程与传统目标检测的流程类似,需要先生成候选区域,这一过程通常由RPN(Region Proposal Network) 实现;然后通过池化操作从候选区域提取出目标,进行分类和回归。由于候选区域是由网络生成的,具有不俗的定位精度,因此后续的回归操作相当于进一步微调了定位边界框,因此二阶段目标检测器具有更好的定位精度。一阶段目标检测器取消了区域候选生成操作,尽管这带来更为严重的样本失衡以及定位精度较差的问题,但也因此具有更快的运算速度,能满足实时性的要求,具有更好的应用前景。特别是FCOS[12],YoLo系列[13-14]等优秀工作的提出,使得一阶段目标检测器在检测性能上能够媲美甚至超过大部分二阶段目标检测器。
尽管深度目标检测器已经具备了很好的检测性能,但其本身包含了分类和回归两个目标完全不同的子任务,而现有的大部分目标检测算法中采用参数共享的检测网络实现分类和回归任务,导致现有的深度目标检测器性能提升出现瓶颈。深度目标检测器本质上是对于目标特征的处理函数,即接受目标的特征作为输入,产生相应的分类和定位输出。因此不难看出,分类任务和回归任务之间的冲突本质上是分类特征和回归特征之间的冲突,这种冲突源自于分类特征和回归特征的差异,其对检测性能所造成的影响称为特征不匹配问题。
本文首先分析特征不匹配问题的原因,指出特征不匹配问题对于网络的输出响应造成的影响,然后详细介绍现有的解决方案,最后给出对于此问题的思考和未来的发展方向,为日后的研究提供一个可供参考的研究路径。
首先从目标检测中分类和和回归任务的本质来描述特征不匹配问题。目标检测中的分类和回归任务可以描述为:
其中:φ表示仿射变换函数;pcls和preg分别表示分类特征和回归特征;Fc和Fr分别表示分类函数和回归函数。从式(1)、式(2)可以看出分类函数和回归函数对于输入的响应存在差别,也就是说分类任务和回归任务目标不一致。
深度目标检测器中分类和回归任务是通过对目标函数的优化来完成。目标检测的分类和回归任务的目标函数可以定义为:
其中:Lc和Lr分别表示分类目标函数和回归目标函数;fone_hot表示one-hot函数;c和Δb∗分别表示分类标签和回归标签。从式(3)、式(4)可以看出分类任务的输出是离散的,目标是寻找目标类别的决策边界;而回归任务的输出是连续的,目标是寻找真实目标框的最优拟合。因此,分类任务和回归任务的输出空间也是不一致的。
由上述分析可知目标检测的分类和回归任务在目标和网络的输出上都存在不一致。那么分类和回归任务的输入特征是否也存在这种不一致性?
为了更好地说明这个问题,分别对并联检测网络的分类特征和回归特征进行可视化,可视化结果如图1所示。其中:图1a中第一行表示分类置信度高但定位精度低的候选框会抑制分类置信度低但定位精度高的候选框;第二行表示分类特征和回归特征的联合分布以及密集预测策略,其中红色框均为真实目标框。图1b给出了并联检测网络输出的前一层的特征热图,热图中颜色越深的地方说明响应越强,可以看出分类特征和回归特征的分布有着非常明显的差异。分类特征更多聚集在真实目标中包含更多语义信息的显著区域,而回归特征则更多分布在真实目标框的边缘,也就是说分类任务和回归任务的输入特征确实是存在不一致性。
图1 特征不匹配问题
从上面的分析和实验结果都证明了目标检测中确实存在特征不匹配的问题,本文认为这种不匹配是由于分类任务和回归任务的监督目标的差异造成的。下面从网络的监督优化过程来分析这种特征不匹配产生的原因。
在分类任务中,目标是训练一个对真实标签具有最大激活值的检测器,而不关心它的真实类别,如常用的BCE (Binary Cross Entropy) 损失函数,标签与分类预测之间在计算损失时并没有明确的偏差,显然这并不是一个度量空间。这意味网络在训练过程中只需要学习让偏好类别的响应比其他类别高即可的推理模式。因此,随着训练的进行,为了更好的分类,网络会更加关注不变的核心特征。
在回归任务中,网络需要预测当前空间位置与目标空间位置的偏移量,得到准确的真实空间坐标。无论选择Smooth−L1还是IoULoss作为损失函数,显然都满足度量空间的约束。由于使用真实目标框作为回归目标,为了学习准确的距离度量,网络更注重边缘特征来确定目标与背景的边界,从而获得更精确的候选边界框。这就是分类特征和回归特征的本质区别。
另一方面,注意到图1c中分类和回归的响应峰值存在明显差异。这种差异显然与其各自特征分布相关,我们认为是由于特征分布的不对齐导致了响应分布的不一致。也就是说,解决特征不对齐问题需要兼顾特征不匹配以及响应不一致两个方面。接下来,将分别详细描述特征不匹配问题当前的解决方案以及响应不一致和特征不匹配问题的联系及其现有工作。
正如前面分析,特征不匹配是由于分类特征和回归特征的分布不一致造成的,参数共享的并联检测网络显然不能很好地编码这种差异,限制了网络的检测性能。因此,如何有效地分离分类特征和回归特征,成为目前解决特征不匹配问题的主要方法。
RetinaNet[21]是第一个提出用参数独立的并联检测网络代替共享检测网络。因为参数独立的分类网络和回归网络在各自的监督信号下可以分别对分类特征和回归特征进行编码,其特征表达的准确性要高于共享检测网络。但并联检测网络同时也意味着网络参数的增加,在深度神经网络中参数的增加在一定程度上能带来检测器性能的提升,因此并不能简单地把检测性能的提升简单地归结于并联检测网络对于冲突特征的分离,而且文中也没有具体分析对特征不匹配的原因。
Wu 等[22]采用并联检测网和共享检测网络的不同组合进行实验,进一步研究检测网络对分类和回归的影响。实验采用全连接子网络和卷积子网络以共享或者并联的方式,通过不同的排列组合构建了四组用于对照实验的检测网络 (如图2所示),分别进行训练后在测试集上测试其性能。不同检测网络在MS COCO[23]数据集上的检测性能如表1所示。
图2 Double-Head不同检测网络对照
表1 不同检测网络的性能
从图2a、图2c可以看出网络检测性能的提升与采用并联检测网络后网络参数增加无关,因为采用了并联检测网络(图2c)的性能要低于采用共享检测网络(图2a)。同样地从图2c、图2d可以看出目标检测中分类任务和回归任务确实存在不一致性。分别采用全连接网络和卷积网络用于分类与回归任务的监测性能要比卷积网络用于分类、全连接网络用于回归的AP高出6%。因为分类任务比回归任务更侧重于目标的语义信息,而卷积网络保留的空间结构信息更有助于目标的定位。在不考虑网络结构具体设计的前提下,图2d可以看作是参数独立的并联检测网络,图2a可以看作是参数共享的并联检测网络。
TSD认为尽管Double-Head采用并联检测网络有效地分离了来自于FPN的共享特征中的分类特征和回归特征,使得并联检测网络的分类和回归特征的编码更精确[24]。但是,文中认为其分类子网络和回归子网络的池化操作提取的目标特征来自于相同的目标候选区域,从空间上看2个子网络的特征仍然来自于相同的区域,也就是说两者的输入特征编码是相同的。因为RoIAlign操作不带参数,因此输入相同的情况下输出也是相同。所以作者认为分类特征和回归特征的冲突仍然存在,并提出了任务敏感的空间解耦操作(Task-aware Spatial Disentanglement,TSD)来解决这一问题。具体来说,就是引入可变形RoI池化替代RoIAlign操作,通过可变形RoI池化学习的偏移参数使分类子网络和回归子网络从目标候选区域的不同空间位置提取合适的特征,极大地增强了并联网络对于分类特征和回归特征的编码能力,将网络在MSCOCO val2017上的检测性能从36.1%提升到了38.2%。
不难看出,上述工作均在模型的检测网络中对来自主干网络的共享特征进行解耦操作,这说明目标检测中分类特征和回归特征的分布是不一致的,对分类特征和回归特征进行分离可以有效地缓解特征不匹配问题。
现代深度目标检测器为了提升召回率,通常采用密集预测策略,即网络在特征映射的每个空间位置上都进行预测。对于同一实例,将不可避免地会产生多个输出,如图1a。从图1c可以看出分类和回归在最高响应上存在明显差异,本文认为其很大程度是由于分类特征和回归特征的分布差异,造成置信度高但定位精度低的问题,即分类和回归响应不一致问题。对于这一问题的目前解决方法可以分为三类:基于不同重叠阈值的多区域候选网络的方法,增加额外的定位置信度分支的方法,联合预测分类和回归分布的方法。
基于锚框的方法[25-26]采用具有不同重叠阈值的多个区域候选网络来筛选出定位精度更高的样本,通过高重叠阈值的级联区域候选网络施加额外的分类损失提高这些样本的分类响应,增加推理时高置信度且高定位精度的样本的数量。这类似于门控机制,一般采用三层级联的方式[26],重叠阈值从低到高分别取0.5、0.75和0.95。样本的定位精度越高,施加的额外的分类损失也越大。不过,这种基于样本筛选机制的级联结构往往会增加模型的复杂度,网络在训练时难以收敛。
增加额外的定位置信度分支的方法[27-28]要简洁有效得多。当前大多数目标检测器采用分类置信度作为后处理中非极大值抑制选择最优预测边界框的度量。但正如前文所述,网络的分类响应和回归响应并不一致,因此使用分类置信度选择目标候选框并不一定是最好的定位结果。当前网络中缺少能够直接度量定位精度的结果,因此Jiang等[27]首次提出添加额外的定位置信度分支来预测定位精度的方法。定位置信度分支和分类分支类似,但预测结果是定位的精确度,用于替代分类置信度在极大值抑制操作中作为最好目标候选框选择的度量或者作为调整分类置信度的权重。因为仅仅增加一个额外的分支,无论是计算量还是参数数量都远小于级联区域候选网络的方法,训练复杂度也大大降低。
Li等[29]首次提出了预测分类和回归联合分布的方法,通过分类和回归的联合权重来调整样本的分类和回归的梯度更新权重;另一方面采用分类和回归的联合标签作为分类的优化目标,让分类的预测输出不仅包含类别信息,同时还包含定位的准确性度量。避免增加定位置信度预测分支所带来的计算增加,也可以解决定位置信度预测带来的误差问题。在这一方向上,Li 等[30]进一步提出的generalized focal loss (GFL) 分类损失,直接采用回归精度作为分类任务的训练标签,这是因为除了类别的通道信息外分类的真实目标并不能为分类和回归响应的平衡提供额外的有效信息。而定位精度的预测,显然能够更准确地描述当前样本的定位效果。
这一类工作开创了采用分类分支预测定位精度的全新研究方向,我们对它们进行总结并形式化如下:
其中:loci和clsi分别表示第i个样本的分类置信度和回归置信度(样本和真实目标之间的IoU);BCE(·)表示分类损失函数;α和γ是权重调节因子。f表示变换函数,用以调整分类置信度和定位精度的幅值。
当α的取值范围为(0,1)之间时,式7为Li[29]等人提出分类和回归的联合预测损失;当α设为1,变换函数f设为(clsi−loci)2,则为GFL[30]分类损失。
上述方法在一定程度上都可以视为利用样本和真实目标之间的IoU来调节分类预测,从而调整分类响应和回归响应之间的不一致性,但也可以看出这些方法还没有很好地和特征解耦操作相结合,进一步调整网络中的特征不匹配问题。
从上文可以看到,特征不匹配问题同时存在分类特征和回归特征空间分布不一致的问题以及两种特征空间分布差异带来分类响应和回归响应不一致的问题。这两个问题并不是相互独立,而是存在因果上的联系,但目前的解决方案没有将两个问题联系起来。基于上文的研究基础和分析,本文分析了特征不匹配问题未来的3个发展方向:
1) 结合特征解耦操作和响应对齐策略作为一个整体的解决方案。一方面目前的解耦操作仅停留在检测网络部分,而输入到FPN结构的特征中分类和回归的分布冲突仍然存在。另一方面当前的响应对齐策略通常采用IoU作为样本选择的度量,但在分类特征和回归特征分布存在差异的情况下,选择两个分布之间重合的高响应区域的样本显然是更好的策略。
2) 采用单一预测策略来替代目前广泛采用的密集采样策略。相对于特征分布不一致带来的分类和定位精度下降的问题,密集采样策略导致的置信度高但定位精度低的问题在目标检测器的性能评估上的影响显然更为显著。因此,如果令网络针对单个目标实例只产生一个目标预测将有效地降低响应不一致带来的影响。不过,由于网络参数的随机初始化,如何有效地确定真实目标的样本将会是一个挑战。
3) 引入Transformer[31]通过网络自身的学习自适应地分离分类特征和回归特征,利用可学习的注意力机制针对某个真实目标产生相应的单一的预测结果。在消除极大值抑制的工作上,近期基于Transformer的工作DETR[32]已经取得了相当不错的进展。但Transformer在小目标以及训练复杂度上仍然值得探索。
将深度神经网络引入到目标检测领域确实能够显著地提升模型的检测性能,尤其是现代深度目标检测器已经将传统目标检测的分段式训练和推理方式集成到了一个统一的框架下,极大提升了目标检测训练的便捷性和推理速度。但是深度神经网络带来的特征不匹配问题也越来越成为目标检测器性能提升的一个瓶颈。本文首先从目标检测器的分类和回归任务的本质分析了特征不匹配问题产生的原因,详细介绍了现有的解决方法,指出特征不匹配给密集预测策略带来的分类和回归响应不一致的影响以及在此问题上的解决方案,最后给出了特征不匹配问题解决的未来发展方向。