目标检测中的Feature Alignment问题

最近面试中遇到了这个问题,自己答得不好。因此又重新调研了这一块内容并做个记录,可能理解不全面,欢迎各位批评指正。

目标检测中的Feature Alignment问题主要分为:

1.分类与回归特征不匹配问题,即分类与回归部分所需要的特征不同,当前使用共享全连接层或者卷积层的操作会带来特征冲突问题。

2.Anchor与特征不对齐问题,主要包含两个:
1)feature map上的同一个点同时对应了大小不同的多个anchor,这里存在一个对齐的问题,可以使用FPN结构缓解;

2)回归后的Anchor相对于原始位置已经发生了较大变化,但是分类和回归仍然使用原始位置特征进行预测,这也是特征对不齐的问题。

一、Two-Stage算法:

目标检测中的Feature Alignment问题_第1张图片
两阶段算法主要包含:第一阶段是特征提取和proposal生成,主要是RPN网络;第二阶段是对候选框进行进一步筛选、精修和细分类,主要是ROI Pooling/Align等网络。

针对问题1分类与回归特征不匹配问题,解决方案有:

论文:Double-Head RCNN: Rethinking Classification and Localization for Object Detection:
目标检测中的Feature Alignment问题_第2张图片
(a)(b)图可以看出,传统的回归和分类放在最后阶段,利用两个全连接分支或者两个卷积分支来预测,但是分类和回归是共享一个头部特征的。
©(d)图可以看出Double-Head直接从ROI Align之后就将两个人任务分开了,分类分支采用全连接层,回归分支采用卷积层,尽可能减少二者共享的特征部分。而Double-Head-Ext方案则是让两个分支都能预测类别和位置。对于回归和分类使用不同特征进行预测,有效缓解了分类与回归特征冲突问题。

针对问题2.Anchor与特征不对齐问题,解决方案有(实际上通过RPN阶段的粗回归加上ROIAlign操作,两阶段算法已经大大缓解了这个问题):

论文:Region Proposal by Guided Anchoring:
目标检测中的Feature Alignment问题_第3张图片
算法解决的是anchor的设计需要解决形状对齐和特征一致性的问题。作者分析了同一层的特征图上每个点的感受野一致,但是预测到的anchor尺寸却不同,那么基于不同大小的anchor来做的分类任务却基于相同的特征感受野,这显然是存在anchor与特征不对齐的问题。所以本文算法是先预测anchor的长宽,利用deform-conv为每个anchor分配了新的特征区域,其中deform-conv中的offset直接采用预测得到的anchor长宽,这样进行特征区域调整来对齐。

二、One-Stage算法:

针对问题1.分类与回归特征不匹配问题,一阶段算法由于考虑其效率性,目前还没有相关改进方案。
针对问题2.Anchor与特征不对齐问题,一阶段算法由于没有RPN阶段和ROIAlign操作,因此Anchor与特征不对齐问题更加严重,解决方案有:

论文:AlignDet:Revisiting Feature Alignment for One-stage Object Detection
目标检测中的Feature Alignment问题_第4张图片
该算法是针对RefineDet的改进版,RefineDet算法融合了一阶段算法和两阶段算法的优点。作者首先以Faster-RCNN和RetinaNet为实验,发现一阶段算法不用FPN结构后精度下降了12个点,而两阶段算法只下降了2点,因此一阶段算法中的特征不对齐问题比较严重,两阶段算法得益于其RPN阶段粗回归和ROIAlign操作,大大缓解了这个问题。
目标检测中的Feature Alignment问题_第5张图片
作者提出了ROIConv代替了ROIAlign操作,成功应用在一阶段算法中。其中DPM是先预测出框的四个位置坐标,然后降预测得到的基于anchor偏移量直接赋参数给ROIConv对特征图进行特征对齐,最后ADM再次进行精细分类和回归操作。

你可能感兴趣的:(目标检测中的Feature Alignment问题)