首页 > 其他分享 >三分支网络——目前目标检测性能最佳网络框架

三分支网络——目前目标检测性能最佳网络框架

时间:2022-10-07 16:37:24浏览次数:84  
标签:框架 检测 尺度 网络 目标 Anchor 分支


三分支网络——目前目标检测性能最佳网络框架_ide

三分支网络——目前目标检测性能最佳网络框架_ide_02

三分支网络——目前目标检测性能最佳网络框架_目标检测_03

尺度变化是目标检测中的关键挑战之一。今天要说的这个技术就特别厉害,在目标检测领域中,目前是性能最强的一个框架。下面让我们一起去见证下它的优势所在。

本次介绍的算法框架:

Scale-Aware Trident Networks for Object Detection

下载地址:​​https://arxiv.org/abs/1901.01892​


三分支网络——目前目标检测性能最佳网络框架_数据集_04

在该网络框架中,首先进行了一个控制实验,以研究感受野对不同尺度目标检测的影响。根据勘探实验的结果,提出了一种新的三分支网络(Triddnet),该网络的目标是生成具有均匀代表性的标度特征图。

等下~今天主角是Trident Network,但是其是借鉴了CVPR一篇文章中的Multi-Scale思想,所以接下来我还是有必要带大家了解下那片高质量文章及其框架,那就是——SNIP。那我们开始梳理下SNIP是如何目标检测的。

论文链接:​​https://arxiv.org/abs/1711.08189​​ 

三分支网络——目前目标检测性能最佳网络框架_ide_05

这个框架研究点是目标检测中的小目标的问题。小目标检测一直是目标检测中的难题,如果自己实践过的小伙伴应该都知道,数据集中small类的AP基本都是最低的,主要原因如下:

  • CNN网络提取的语义化特征和分辨率之间的矛盾;
  • 目前的目标检测都采用了Faster RCNN的Anchor思想,就算小目标在Anchor范围内,也会因为面积小而导致IoU过低。

三分支网络——目前目标检测性能最佳网络框架_目标检测_06

从上图可以看到,COCO数据集中90%的样本例子的大小都在0.472以下,和ImageNet差别非常大。

  • 说明了类似COCO这样的数据集中存在着大量的小物体;
  • 也说明了ImageNet预训练的模型在迁移到样本大小差异较大的COCO数据集中,很可能产生一定的domain-shift偏差。

于是,就由生了这样的动机

  • 现在目标检测为了提高对小目标的效果,都采用upsample的方法,这个仁者见智吧,那能不能直接用低分辨率的图像不做upsample来训练网络?
  • 能不能通过挑选样本的方式来增加网络效果的,如upsample调整了大小以后,只用64x64~256x256的Ground Truth来训练?用所有的GT来训练真的会更好吗?

实际上,现在有很多针对小目标的措施和改良,如下:

  • 最常见的是Upsample来Rezie网络输入图像的大小;
  • 用dilated/strous等这类特殊的卷积来提高检测器对分辨率的敏感度;
  • 用FPN这种把浅层特征和深层特征融合的,或者最后在预测的时候,用浅层特征和深层特征一起预测;
  • 有比较直接的在浅层和深层的Feature Map上直接各自独立做预测的,这个就是我们常说的尺度问题。

三分支网络——目前目标检测性能最佳网络框架_数据集_07

主要思路:

在训练和反向传播更新参数时,只考虑哪些在指定的尺度范围内的目标,由此提出了一种特别的多尺度训练方法,即SNIP(Scale Normalization for Image Pyramids)。 

如上图所示,在训练时划分了三类尺度,对应三种不同分辨率的图像。每个分辨率下的RoI都有其指定范围,如果GT的box大小在这个范围内,就被标记做valid,否则就被标记为invalid。

在生成Anchor并给Anchor分配label的时候,检查该Anchor是否和某个invalid GT box的overlap超过0.3,若存在,则该Anchor会被视作invalid Anchor;若不存在,则会被视作valid Anchor。

这些invalie anchor在train的时候都会被无效化,也不会加入到反向传播的过程中从而对参数产生影响,相当于在每个分辨率上,只对大小合适的目标进行训练,这就符合了该网络框架设计的初衷。相应的,在inference时候,如果区域面积在那个分辨率的指定范围外,也同样会被抛弃,最后,在进行Rescale和NMS等操作。

仔细阅读后,你会发现该框架考虑了很多细节元素:

  • 用的是Deformable RFCN detector,而不是常见的卷积,根据自己的需要作出一定的改变 ;
  • 网络结构是Dual path networks(DPN)和ResNet-101,由于需要内存很大,为了适应GPU内存,对图像进行了采样,具体方法是选取一个1000x1000的包含最多目标的区域作为子图像,然后重复该步骤直到所有目标都被选取 ;
  • 为了提升RPN的效果,尝试了使用7个尺度,连接conv4和conv5的输出;
  •  从功能上来讲,对每一层金字塔图像,分别检测不同尺寸的目标,金字塔图像越大,检测的目标尺寸越小;
  • 从网络结构上来讲,3个分支进行参数共享,故网络结构完全一致,区别在于目标尺寸的超参数不同。

实验结果

三分支网络——目前目标检测性能最佳网络框架_数据集_08

MS表示multi-scale

三分支网络——目前目标检测性能最佳网络框架_数据集_09

三分支网络——目前目标检测性能最佳网络框架_数据集_10


今天貌似讲多了,那我们下期认真讲解Trident Network,大家记得关注哦!

三分支网络——目前目标检测性能最佳网络框架_ide_11

三分支网络——目前目标检测性能最佳网络框架_数据集_12






三分支网络——目前目标检测性能最佳网络框架_数据集_13


标签:框架,检测,尺度,网络,目标,Anchor,分支
From: https://blog.51cto.com/u_15726357/5734557

相关文章