文章目录
List
- Cascade R-CNN
- Combine Cascade R-CNN and Mask R-CNN——Cascade Mask R-CNN
- Hybrid Task Cascade for Instance Segmentation
Preview
目前,目前实例分割可以分成两个大类:(1)基于检测;(2)基于分割
- 基于检测:产生bounding box或者是region proposal,并利用这些bounding box来预测mask,如DeepMask, SharpMask, Instance-FCN,近段时间,就有继承了Instance-FCN的FCIS,以及Mask R-CNN,PANet, MaskLab。
- 基于分割:首先是获取像素级分割map,再去识别具体的个体目标。这方面工作目前还有许多跟传统方法相结合的地方,似乎没有基于检测的流行。
现在对于目标检测,有比较主流的分法是one-stage和two-stage,但是现在有一个分支就是multi-stage for finetune,这里之所以说是fintune,是因为这里multi-stage说的是级联的结构,一般是在头部进行几次级联结构,而且是为了对上一步的检测结果进行更加精炼的修正。
Multi-stage Object Detection
目标检测最开始应该是2016年开始的,摘抄自论文Hybrid Task Cascade for Instance segmentation],但实际上级联进行迭代修正的做法很早就出现,早在2010年的关于人脸的一些算法就有出现,应该还有更早的:
- AttractioNet:引入了一个
Attend&refine module
来对bounding box的定位进行迭代的更新 - CRAFT:将级联的结构整合进RPN和head里
- CC-Net:chained cascade network for object detection:略
- IoUNet:没有很明确的表达了级联结构,但是对bounding box refine做得很好
- Cascade R-CNN :略
AttractioNet(2016)
网络的核心组件是基于CNN的category-agnostic
目标位置修正模块,用来产生精确稳定的bounding box,还有一点,就是这个方法还可以对unseen categories
(应该指的是数据集未指定的类别)进行定位。在当时,在coco2014以及VOC2007达到SOTA。以下是论文中算法的代码部分,由其中的反复迭代进行Attend & Refine
来看,已经有了级联的意思了。
需要注意的几点:
- 以下的
ObjectnessScoring
是对框与预标定的目标的贴近程度来打分,而非类别信息。(可以对比IoUNet) seed boxes
是需要通过算法选出来的,但不是使用滑动窗口,这里有提到选seed boxes
的方法类似于Cracking Bing(这里不做重点关注),目的是尽量少的初始框却要将所有区域进行有效的覆盖。
上图似乎有些步骤没表达出来:
CRAFT:CRAFT Objects from Images(2016)
这个时候R-CNN系列都已经出来了,论文里有引用。再说一下论文题目的含义:Cascade Region proposal-network And FasT-rcnn
,即级联的RPN和fast R-CNN,也就是开始说的在RPN和head部分进行级联操作。数据集是PASCAL VOC 07/12 and ILSVRC
这是论文里给出一个对比图。
- RPN:论文之所以要在RPN使用级联结构,是因为单独做了RPN处的实验,结论就是如果是有比较极端的
scale, ratio
的目标,或者是those usually immersed in object clutters, are also difficult to be distinguished from background, 如植物