Acquistion of localization confidence for accurate object detection

时间:2024-04-14 12:54:27

Acquistion of localization confidence for accurate object detection

 

NMS组件

IoU(intersection-over-union),表示交并比。

非极大值抑制:剔除同一个目标上的重叠建议框,最终一个目标保留一个得分最高的建议框。

步骤如下:

假设进行非极大值抑制的输入为2000x20的矩阵,2000表示该图像上框的个数,20表示类别数

1.对2000*20维矩阵中每列按从大到小进行排序(每列表示一类,共20类,同一类可能有多个目标)

2.从每列最大的得分建议框开始,分别与该列后面的得分建议框进行Iou计算,若Iou>阈值,则剔除得分较小的建议框,否则认为图像中同一类别有多个目标

3.从每列次大的得分建议框开始,重复2

4.重复3直至遍历完所有的建议框

Acquistion of localization confidence for accurate object detection

Acquistion of localization confidence for accurate object detection

 

在目标检测算法的最后都会通过NMS算法来移除重复预测框,移除的依据是预测框的分类得分(softmax层的概率输出),但是这种依据并不能很好的表征预测框的准确性,换句话说,对于同一个ground truth而言,分类得分高的预测框并不定比分类得分低的预测框好,有些和ground truth坐标更接近的框在nms阶段被过滤掉了。(nms以分类得分为导向确实不是一个非常好的指标)

 

IOU-Net: 预测检测框和ground truth的IOU

  1. 提出IOU-guided NMS,在NMS阶段引入回归得分(Localization confidence)作为排序指标而不是采用传统的分类得分
  2. 提出optimization-based bbox refinement 替换传统的regression-based方法
  3. Precise ROI Pooling

Acquistion of localization confidence for accurate object detection

 

Acquistion of localization confidence for accurate object detection

a. 说明了用预测框的分类得分作为NMS的依据的缺点

红色框和绿色框都是对同一个ground truth的预测,红色框的分类得分高于绿色框,只要两框得问IoU高于NMS设定的阈值,那么绿色框就会被过滤掉,但是每一个object中绿色框的classification score都是要高于分类得分(这个回归得分是作者自己定义的)。

b.  说明了传统的基于回归目标的框位置迭代回归存在的缺点

 

实验证明:

在NMS阶段引入localization confoidence作为排序指标而不是采用传统的分类得分指标

 

从a中可以看出IOU值和分类得分之间没有明显的正相关,但是从b中可以看出IOU值和回归得分之间有明显的正相关。皮尔逊相关系数,0.217,0.617.

这说明用分类得到作为依据判断一个预测框是否准确预测对ground truth是不合理的。

因此作为提出了IoU-guided NMS,也就是NMS操作以预测的IOU为依据而不是传统的以预测框的分裂得分为依据来解决这个问题。

 

Acquistion of localization confidence for accurate object detection

Parameter-NMS and Soft-NMS

 

当IOU为0.9时,no-nms的框是很多的,有nms的框少了一半,说明nms容易误将部分高质量的预测框过滤掉,不过去掉的打不跟框也是冗余的框,所以并不好界定去掉的这一半框都是应该保留的,采用IoU-Guided nms对应的黄色比蓝色还是要多一点

Acquistion of localization confidence for accurate object detection

 

Optimization-based refine 预测框

多级联几个回归之路不断refine预测框从而达到更加准确的预测结果?

Cascade RCNN中直接采用模型级联方式进行预测框的refine,模型的数量也不要超过2个

Acquistion of localization confidence for accurate object detection

Acquistion of localization confidence for accurate object detection

在FPN中嵌入了IOU预测支路,IOU预测支路的监督信息就是ground truth和预测框的IOU值,该支路在结构设计上和FPN网络原来的回归和分类支路类似,另外将ROI pooling替换成PrRoi pooling.

 

Acquistion of localization confidence for accurate object detection

把分类得分换成预测iou

当剔除一个预测框时,会计算被剔除框的分类得分和之前计算的最高分类得分的最高值,保留最高的分类得分,返回的是IOU最大的预测框对应下的最大的分类得分。

 

Acquistion of localization confidence for accurate object detection

Acquistion of localization confidence for accurate object detection

ROI pooling:预测得到的ROI先除以stride先量化取整得到坐标值为整数值的ROI,然后将ROI划分为k*k个bin,每个bin取均值

ROI align:红色点是周围绿色点线性插值得到,包括了绿色点的加权信息,再对四个红色点取均值

PrRoi pooling:认为所有绿色点都是插值得到,积分除以bin的面积

 

two-stage中并行的输出两个任务:cls score + bbox offset,调整好bbox位置后,再做NMS剔除冗余bbox

经典的NMS做法是:将所有输出的output_bbox按cls score划分(如pascal voc分20个类,也即将output_bbox按照其对应的cls score划分为21个集合,1个bg类),再在每个集合内根据各个bbox的cls score做降序排列,在逐步根据cls score和iou情况,剔除冗余bbox。

(比如iou阈值0.5,那么0.5以上的所有值全部保留下来,内部进行一个iou计算,保留下面之后按照score顺序给拍了个排)

但是使用cls score衡量bbox质量并进一步来剔除冗余bbox就不太合适了,bbox的定位质量本身和Iou关联更高的

 

Bbox reg: 对每个bbox输出偏移向量,通过对该偏移向量来调整bbox的位置

 

Abstract:bbox reg + NMS来确定定位目标,使用cls score作为定位准确度的衡量指标,没有一个score专业用于表示bbox定位准确与否的依据,这就导致了迭代若干轮bbox reg和nms,bbox定位不准确。

通过Iou bbox和gt bbox的定位精确度得分,并将之作为nms中提出冗余bbox的依据

将Iou score作为优化目标,多次迭代不影响bbox refine的精度

IOUNet高性能组件

 

1.将前景目标从背景中揪出来,并为这些proposals指定正确的类别标签

 

2.通过最大化pred bbox与gt bbox的Iou,求得pred bbox和gt bbox的偏移向量,在基于该偏移向量refine bbox

以上两步操作得到的bbox存在大量冗余,一般使用nms后处理操作筛选

PrROI pooling使得可以通过梯度下降的方式解决Iou score的优化问题

ResNet-50 + FPN

Delving into object localization

2.1 Misaligned classification and localization accuracy

NMS用于剔除图像中的冗余bbox,标准NMS的具体做法为:(和代码的思路一模一样)

1 将所有输出的output_bbox按cls score划分(如pascal voc分20个类,也即将output_bbox按照其对应的cls score划分为21个集合,1个bg类);

2 在每个集合内根据各个bbox的cls score做降序排列,得到一个降序的list_k;

3 从list_k中top1 cls score开始,计算该bbox_x与list中其他bbox_y的IoU,若IoU大于阈值T,则剔除该bbox_y,最终保留bbox_x,从list_k中取出;

4 选择list_k中top2 cls score(步骤3取出top 1 bbox_x后,原list_k中的top 2就相当于现list_k中的top 1了,理解这么个意思就行),重复3中的迭代操作,直至list_k中所有bbox都完成筛选;

5 对每个list_k,重复3、4中的迭代操作,直至所有list_k都完成筛选;

Bbox定位精度与cls Score不正相关的原因如下:

在目标检测中我们通过bboxgtIou来区分正负样本,在训练阶段,当一个pred box与任意一个gt boxIou大于阈值时,该pred bbox可以认为是正样本,但这种操作并不会带来pred bbox的高精度,比如bboxcls score高了,但是其定位精度并不一定高

2.2 Non-monotonic bounding box regression

Bbox-based方法将目标定位表示bbox reg任务,本质上就是学习一个转换函数,使得pred bbox尽量接近gt bbox,bbox reg已经成为目标检测的标配

RCNN,Fast RCNN:使用线性回归/全连接将selective search,edgeboxes得到的proposals做refine,使之更接近gt bbox.

Faster RCNN:基于RPN生成anchor,bbox回归器的参数可以做到end2end训练

DenseBoxes,unitBox:anchor-free,使用FCN处理目标大大尺度变化

Multi Region CNN,AttractioNet,Refinenet,craft:迭代的使用多次bbox reg来refinebbox,也成为iterative bbox reg

Faster RCNN:将bbox操作了两次,一次在RPN中,另一次在2nd-stage的Fast RCNN中

Group Recursive Learning: 提出group递归学习方法来迭代的refine bbox,通过考虑多个proposals间的全局依赖关系,来最小化pred bbox与gt bbox间的偏移量

G-CNN:在图像中生成多尺度的规则化网络,迭代的将网络中pred bbox逼近gt bbox

 

3.IoU-net

3.1 Learning to predict IoU

Iou predictor使用FPN网络中所提取的特征,为每个bbox进行IOU精准度预测,通过对图像中gt bbox做数据增强操作来生成bbox和gt labels,用于训练IoUNet,而非使用RPN中生成的proposals;

具体地,对训练集图像中的所有gt bbox,通过随机参数手动地调整这些gt bbox(manually transform them with a set of randomized parameters),生成candidate bbox集合,再从candidate bbox集合中剔除与gt bbox的IoU小于Ω_train = 0.5的低质量bbox,最后从剩余的candidate bbox集合中随机采样以生成训练集数据(如fig 5中Jittered RoIs);作者发现此套训练数据生成策略可以得到更好的训练结果,并使得IoUNet更加鲁棒;

对于RPN中生成的proposals,通过prRoI Pooling在RPN主干网的feature map上提取7 x 7 x 256维特征,再输入IoU predictor用于IoU score的预测;为了得到更好的性能,文中使用到了class-aware IoU predictors;---- 对类别敏感的IoU score预测,什么意思?意味着IoU predictor要输出21维的特征,每个维度分别表示一类预测结果;

IoU predictor与大部分RoI-based检测算法都是兼容的。因为IoU predictor的训练过程独立于具体的检测算法,因此即使改变输入数据的分布,也不会对IoU predictor的性能产生大的影响;3.4小节将具体介绍如何将IoU predictor集成至已有的目标检测算法(如RPN、FPN)中做到end2end的联合优化

Acquistion of localization confidence for accurate object detection

3.2 IoU-guided NMS

在NMS的pred bbox降序排序中,使用IOU score,而非cls score作为bbox的ranking ketword

之前选择cls score最高的后面所有的框做IOU,达到预测的就保留下来。

与gt bbox最高的IOU score的pred bbox保留,当pred bbox iou大于阈值的pred bbox时要更新bbox的cls score,当bbox_i剔除bbox_j,bbox_i的cls score si更新为si = max(si,sj),可以解释为cls score的聚类操作,对于匹配同一个gt bbox的多个pred bboxes集合,iounet选择得分最高的cls score作为最终的pred bbox的分类得分。

3.3 Bounding box refinement as am optimization procecdure

Bbox refine过程如下,找到最优的c*

Acquistion of localization confidence for accurate object detection

Box_det: pred bbox

Box_gt: 对应的 gt bbox

Transform: 转换函数,参数为c,将box_det转化为尽量靠近box_gt

Crit:转换的评估标准,衡量box_det与box_gt间的距离,如Fast RCNN中,使用bbox坐标log-scalesmooth-L1距离,UnitBox使用-IN(Iou)衡量两个bbox间的距离

将IoU score作为最终的优化目标,基于IoU score计算的梯度来迭代优化bbox坐标,使得pred box与gt bbox之间的IoU最大化,此外,预测得到的IoU score可以更客观的表示pred bbox的定位精准度。