Skip to content

lcybuzz/Personal-Instance-Segmentation-Paper-Record

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 

Repository files navigation

Personal-Instance-Segmentation-Paper-Record

Under construction!

Table of Contents

Rank

  • Deep Learning Methods
    • ★★★
      [Mask R-CNN]
    • ★★
      [MNC], [InstanceFCN], [Dynamically Instantiated Network], [FCIS], [PANet]

    • [MPA], [DWT], [BAIS], [MaskLab], [InstanceCut], [SGN], [PGN][Monocular Object], [DeepMask], [SharpMask], [Box2Pixel], [MS R-CNN]

Deep Learning Methods

SDS

[Paper] Simultaneous Detection and Segmentation
[Year] ECCV 2014 
[Authors] Bharath Hariharan, Pablo Arbelaez, Ross Girshick, Jitendra Malik
[Pages] https://www2.eecs.berkeley.edu/Research/Projects/CS/vision/shape/sds/
[Description]

Hypercolumns

[Paper] Hypercolumns for Object Segmentation and Fine-grained Localization
[Year] CVPR 2015 Oral
[Authors] Bharath Hariharan, Pablo Arbelaez, Ross Girshick
[Pages] https://github.com/bharath272/sds
[Description]

CFM

[Paper] Convolutional Feature Masking for Joint Object and Stuff Segmentation
[Year] CVPR 2015 
[Authors] Jifeng Dai, Kaiming He, Jian Sun
[Pages]
[Description]

Monocular Object Instance Segmentation and Depth Ordering with CNNs ☆

[Paper] Monocular Object Instance Segmentation and Depth Ordering with CNNs
[Year] ICCV 2015 
[Authors] Ziyu Zhang, Alexander Schwing, Sanja Fidler, Raquel Urtasun
[Pages]
[Description]

  1. 大致浏览, 主要用于城市道路实例分割, 基于patch和MRF.

DeepMask ★

[Paper] Learning to segment object candidates
[Year] NIPS 2015 
[Authors] Pedro O. Pinheiro, Tsung-Yi Lin, Ronan Collobert, Piotr Dollàr
[Pages]
[Description]

  1. 大致浏览. DL做instance segmentation较早的一篇paper, 目前因性能有效基本无法使用.
  2. 网络分为两支, 一支预测segmentation mask, 另一支预测该patch是目标的概率. 结果是category agnostic的

SharpMask ★

[Paper] Learning to Refine Object Segments
[Year] ECCV 2016 Spotlight
[Authors] Pedro O. Pinheiro, Tsung-Yi Lin, Ronan Collobert, Piotr Dollàr
[Pages]
[Description]

  1. 大致浏览, 基于DeepMask做了改进, 目前因性能有效基本无法使用.
  2. segmentation一支采用类似encoder-decoder的结构, 融合高分辨和低分辨率的特征图, 以利用low level特征的空间信息和high level的全局目标信息.

MNC ★★

[Paper] Instance-aware Semantic Segmentation via Multi-task Network Cascades
[Year] CVPR 2016 Oral
[Authors] Jifeng Dai, Kaiming He, Jian Sun
[Pages] https://github.com/daijifeng001/MNC
[Description]

  1. 模型包含三个网络: differentiating instances, estimating masks, categorizing objects. 代码之后可以详细研究一下.
  2. 区分实例, 即得到每个instance的不分类别的bounding box, 类似RPN,
  3. 预测mask, 即得出每个bbox中的二值mask. bbox经过ROI Warp到固定尺寸, 用2个全连接层完成每个像素的二值分类.
  4. 分类, 即根据bbox和mask得到当前instance的类别. 此处对于输入特征考虑了两种选择, 一是直接将bbox的特征作为输入, 二是将bbox的特征与mask做点乘, 只输出mask部分的特征其余位置置零.
  5. 设计了5层的级联网络, 上述的三个步骤即为stage 1, 2, 3, 接下来以前面得到的class和bbox组成proposal, 再次进行mask预测和分类, 即重复stage 2和3.

InstanceFCN ★★

[Paper] Instace-sensitive Fully Convolutional Networks
[Year] ECCV 2016
[Authors] Jifeng Dai, Kaiming He, Yi Li, Shaoqing Ren, Jian Sun
[Pages]
[Description]

  1. DL用于Instance-segmentation较早的一篇paper. 在FCN的基础上提出instance-sensitive的InstanceFCN, 通过将每个pixel相对于某instance的relative position进行assemble, 得到output instance candidate.
  2. Instance-sensitive score maps: 将FCN的"each output pixel is a classifier of an object category"改造成"each output pixel is a classifier of relative positions of instances". Instance assembling module: 将每个sliding window划分成k x k的网格, 对应于k^2个relative position. 相同网格中的像素取对应于相同位置的score map进行assemble.
  3. 优点: InstanceFCN具有local coherence的优点, 且没有任何high-dimensional layer. 缺点: inference时将输入进行多尺度缩放来处理multi-scale问题, 感觉有点简单粗暴; 模型的输出只能分辨每个instance mask, 但不能得出每个instance的类别.
  4. 没有找到开源代码, 对training和inference的具体实现没仔细研究.

MPA ★

[Paper] Multi-scale Patch Aggregation (MPA) for Simultaneous Detection and Segmentation
[Year] CVPR 2016 Oral 
[Authors] Shu Liu, Xiaojuan Qi, Jianping Shi, Hong Zhang, Jiaya Jia
[Pages]
[Description]

  1. 粗读, 提出了一种基于patch的instance segmentation方法, 其中patch对应的是目标的一部分, 而不是整个目标.
  2. 经过若干层特征提取后(VGG16), 在feature map上提取四个尺度的patch, 类似于ROI pooling那一套, 再将patch align到相同尺寸, 分别送入分类和分割两支, 得到label和segmentation mask. patch的真值是根据一系列规则确定的.
  3. 得到patch的label和mask后, 对相同尺度的patch在水平和竖直方向进行aggregate, 聚合相同label的patch的mask.
  4. 几点疑问: 密集取patch送入后面的两个网络是否会造成inference速度很慢? 四个尺度的path且没经过坐标修正, 鲁棒性够强吗? mask预测一支对于部分目标能很好地分割吗, 会不会存在混淆(比如patch里包括的是两个人的衣服, 能否准确把其中的一件衣服分为前景)

Reversible Recursive Instance-Level Object Segmentation

[Paper] Reversible Recursive Instance-Level Object Segmentation
[Year] CVPR 2016  
[Authors] Xiaodan Liang, Yunchao Wei, Xiaohui Shen, Zequn Jie, Jiashi Feng, Liang Lin, Shuicheng Yan
[Pages]
[Description] <Br

MultiPathNet

[Paper] A MultiPath Network for Object Detection
[Year] BMVC 2016 
[Authors] Sergey Zagoruyko, Adam Lerer, Tsung-Yi Lin, Pedro O. Pinheiro
[Pages] https://github.com/facebookresearch/multipathnet
[Description]

Dynamically Instantiated Network ★★

[Paper] Pixelwise Instance Segmentation with a Dynamically Instantiated Network
[Year] CVPR 2017
[Authors] Anurag Arnab, Philip Torr
[Pages] http://www.robots.ox.ac.uk/~aarnab/instances_dynamic_network.html
[Description]

  1. 粗读. 本篇paper的思路比较新奇, 在全图上做segmentation和detection, 再用instance CRF区分instance, 整个模型可用类似CRFasRNN的思路端到端完成.
  2. semantic segmentation部分用semantic CRF.
  3. Instance CRF的unary potential包括三部分, box term, global term和shape term. 其中box term和global term是根据detection和segmentation共同确定的, shape term是根据预先定义的shape exemplar决定的. Pairwise term是一densely-connected Gaussian potentials.
  4. loss采用cross entropy loss. 这里groundtruth和prediction的对应是根据最大IoU得到的.

FCIS ★★

[Paper] Fully Convolutional Instance-aware Semantic Segmentation
[Year] CVPR 2017 Spotlight
[Authors] Yi Li, Haozhi Qi, Jifeng Dai, Xiangyang Ji, Yichen Wei  
[Pages] https://github.com/msracver/FCIS
[Description]

  1. 基于InstanceFCN中position sensitive score map的概念, 提出了end to end的可区分类别的实例分割方法.
  2. backbone为resnet-101,从conv4开始分为两支, RPN一支产生ROI, 另一支产生2K^2(C+1)个位置敏感score map. 之后对每个ROI进行根据K*K个相对位置进行assemble, 每类输出ROI inside 和ROI outside两个score map. 根据inside和outside score map的大小组合可以得到一个pixel的两个信息: 1.它是否位于某个目标的相应位置上; 2.它是否属于该目标分割的前景. 最后通过max和softmax操作得到ROI的类别和segmentation mask.
  3. 个人总结, 这种encode K*K的相对位置的策略有几个好处, 1.对位置敏感, 这正是instance任务需要的; 2.对ROI的偏移有一定程度的鲁棒性; 3.可以使需要对每个ROI分别进行的subnetwork变得更小, 节省时间.

DWT ★

[Paper] Deep Watershed Transformation for Instance Segmentation
[Year] CVPR 2017
[Authors] Min Bai, Raquel Urtasun
[Pages] https://github.com/min2209/dwt
[Description]

  1. 用分水岭的思想做instance segmentation,分Direction Network和Watershed Transform Network两个阶段
  2. Direction Network:计算pixel到最近边界的距离变换的单位梯度
  3. Watershed Transform Network:以前一阶段得到的梯度为输入,计算16个Bin能量的概率,Bin 0表示边界部分的能量
  4. 边界部分有相同的能量,避免over segmentation问题
  5. 实验部分,计算confidence score没看懂,可以再研究一下
  6. 能量Bin的划分,每个能量在算loss权重部分没看懂

BAIS ★

[Paper] Boundary-aware Instance Segmentation
[Year] CVPR 2017
[Authors] Zeeshan Hayder, Xuming He, Mathieu Salzmann
[Pages] https://vitalab.github.io/deep-learning/2017/08/22/boundary-aware.html
[Description]

  1. 提出一种基于距离变换的instance segmentation方法, 可以克服bounding box不准确的问题. 包括三部分: 提取bounding box, 预测object mask (OMN), object分类, 整个网络都是可微的, 可端到端训练;
  2. OMN基于目标内像素到其边界的距离变换, 设计网络得到K个boundary-aware object mask, 然后decode成完整的object mask;
  3. 仿照MNC, 采用multi-stage策略: 根据上一阶段得到的object mask, 对bounding box进行refine;
  4. 实验及一些具体实现没研究, 如object mask与bounding box feature是如何结合起来的等;

Instancecut ★

[Paper] Instancecut: From edges to instances with multicut
[Year] CVPR 2017
[Authors] Alexander Kirillov, Evgeny Levinkov, Bjoern Andres, Bogdan Savchynskyy, Carsten Rother
[Pages]
[Description]

  1. 粗读. 提出一种通过instanc-agnostic的segmentation和edge detection做instance segmentation的方法, .
  2. 分割和边缘检测使用的都是FCN, 其中边缘检测的网络为了得到sharp edge做了一些改动. 最后通过image partition block使用segmentation和edge的信息得到instance的分割结果, 为了加速是在superpixel上进行的, 这段没仔细看
  3. 此方法的一个很大缺点是不适用于不连续的instance, 此外其性能与soa相比还有很大差距. 这一类的方法虽然思路上比较新奇, 但实际应用上还是有很大局限性, 并且它们大多只在cityscape上进行实验, 可能是这种方法只对这种目标较小且形状较为简单的情况效果好?

Mask R-CNN ★★★

[Paper] Mask R-CNN
[Year] ICCV 2017
[Authors] Kaiming He, Georgia Gkioxari, Piotr Dollár, Ross Girshick
[Pages]
https://github.com/facebookresearch/Detectron
https://github.com/matterport/Mask_RCNN
[Description]

  1. 在Faster R-CNN基础上加入了Mask Head, 用于预测每个目标的mask.
  2. 骨干网络换成了ResNeXt+FPN, 根据ROI的尺寸选择从C2到C5的某个level中取feature作为Mask和Cls Head的输入.
  3. Mask Head为每个类别都预测一个mask, 最后取Cls Head中预测的概率最大的类别作为此目标分割结果, 这么做的好处是避免了类间竞争, 对instance segmentation任务来说能带来明显的性能提升.
  4. ROI Align代替ROI pooling, 用双线性插值计算相应位置的feature而不是简单地取整. 这可以大大减小feature的位置偏差, 对预测mask起重要作用.
  5. Mask R-CNN已集成到Deterctron中, 应掌握这个框架.

SGN ★

[Paper] SGN: Sequential grouping networks for instance segmentation
[Year] ICCV 2017
[Authors] Shu Liu, Jiaya Jia, Sanja Fidler, Raquel Urtasun
[Pages]
[Description]

  1. 大致浏览. 与现有的基于分割或检测的方法都不同, 把instance问题看作把许多由breakpoint分割的线段组合起来的问题, 思路有趣, 性能有限, 未开源.
  2. 由预测breakpoints, 组合breakpoints成线段, 把线组合成连通域, 融合被隔开的实例四部分, 每个阶段都由特别设计的规则和网络组成.

BlitzNet

[Paper] BlitzNet: A Real-Time Deep Network for Scene Understanding
[Year] ICCV 2017
[Authors] Nikita Dvornik, Konstantin Shmelkov, Julien Mairal, Cordelia Schmid
[Pages] http://thoth.inrialpes.fr/research/blitznet/
[Description]

PANet ★★

[Paper] Path Aggregation Network for Instance Segmentation
[Year] CVPR 2018 Spotlight
[Authors] Shu Liu, Lu Qi, Haifang Qin, Jianping Shi, Jiaya Jia
[Pages]
[Description]

  1. Mask R-CNN的改进, COCO 2017 Instance冠军. paper偏工程, 很多东西理论性不强, 但实际工程中可以借鉴
  2. 在FPN后面加了一Bottom-up Path Augmentation, 就是给高层特征加入底层语义信息.
  3. Adaptive Feature Pooling, 就是从每个level都取特征, 在后续网络的某个位置用MAX或SUM融合起来, box一支在fc1和fc2之间融合效果好, mask一支貌似没提到.
  4. mask一支加入了一全连接层, 并与原来的结果fuse起来. 道理说服力不强, 但从结果来看提升了效果.

MaskLab ★

[Paper] MaskLab: Instance Segmentation by Refining Object Detection with Semantic and Direction Features
[Year] CVPR 2018
[Authors] Liang-Chieh Chen, Alexander Hermans, George Papandreou, Florian Schroff, Peng Wang, Hartwig Adam
[Pages]
[Description]

  1. Liang-Chieh Chen的xxLab系列又一弹, detection-based和segmentation-based结合做instance. 粗读, 和DeepLab一样还是偏工程的.
  2. 分为box detection, semantic segmentation logits和direction prediction logits三部分. box detection负责检测目标的bounding box和其类别; semantic segmentation负责得到整张图中的分割label map; direction prediction负责得到每个pixel相对于其所属instance中心的方向.
  3. 检测出某一目标的bbox和类别后, 从semantic和direction的feature中分别crop出相应区域, 将direction进行assemble, 做法与instanceFCN基本相同, 然后把semantic和direction的feature map concat起来完成最后的分割.
  4. 用了Hypercolumn, atrous, deform conv等多种技术, 目前看来效果不如mask r-cnn(20180721).

PGN ★

[Paper] Instance-level Human Parsing via Part Grouping Network
[Year] ECCV 2018 Oral
[Authors] Ke Gong, Xiaodan Liang, Yicheng Li, Yimin Chen, Ming Yang, Liang Lin
[Pages] https://github.com/Engineering-Course/CIHP_PGN
[Description]

  1. 分割+边缘检测做instance segmentation的一篇paper, 主要用于多人解析中, 在一般的实力分割数据集中不一定有非常好的效果.
  2. 分为backbone网络, segmentation branch, edge detection branch和refinement branch四部分. backbone为resnet101, 把最后三个block concat起来作为多尺度feature送入接下来的branch中; segmentation branch和edge detection branch结构钢相似, 都使用了pyramid pooling, 此外边缘检测部分还使用了deep supervision, 即将最后三个block的feature拉出来做ASPP后都去预测边缘; 最后, 分割和边缘检测的结构concat起来送入refinement branch得到最后的分割和边缘检测结果.
  3. instance partition部分, 首先水平和垂直地扫描, 根据edge确定属于同一instance的segments, 这些线段组成一连通图; 用BFS找到属于同一instance的pixel; 最后进行grouping, 去掉边缘检测的一些假边缘产生的小区域.
  4. 提出了CHIP多人解析数据集, 这个数据集标注的比较精细.

Learning to Segment Every Thing

[Paper] Learning to Segment Every Thing
[Year] CVPR 2018
[Authors] Ronghang Hu, Piotr Dollar, Kaiming He, Trevor Darrell, Ross Girshick
[Pages] http://ronghanghu.com/seg_every_thing/
[Description]

Box2Pixel ★

[Paper] Box2Pix: Single-Shot Instance Segmentation by Assigning Pixels to Object Boxes
[Year] IEEE Intelligent Vehicles Symposium (IV), 2018
[Authors] Jonas Uhrig, E. Rehder, B. Fröhlich, U. Franke, Thomas Brox
[Pages]
[Description]

  1. 粗读, 提出了一个用于街景的实例分割方案, 在cityscape和kitti上达到了10FPS的速度, 整体是偏工程的, trick很多.
  2. 基于GoogleNet V1, 完成了三个子任务: 基于SSD的目标检测, 语义分割, 预测center offset. Loss计算时使用了task uncertainty技巧; SSD的prior box是根据数据集特点手动定义的; SSD在对应预测框和真值时用了"相对坐标变化"来代替IoU, 能更好地利用bounding box.
  3. 一些具体实现没细看, 也没有代码供参考. 疑问: 网络是以原尺寸作为输入的?

MS R-CNN ★☆

[Paper] Mask Scoring R-CNN
[Year] CVPR 2019 Oral
[Authors] Zhaojin Huang, Lichao Huang, Yongchao Gong, Chang Huang, Xinggang Wang
[Pages] https://github.com/zjhuang22/maskscoring_rcnn
[Description]

  1. 创新点是提出了MaskIoU Head, 简单易行, 通用性强. 在Mask R-CNN的基础上进一步提升了性能.
  2. MaskIoU Head以ROI feature和Mask Head输出concat起来为输入, 输出Mask IoU, 使用回归的方式优化. 测试时只用Mask IoU去修正分类的分数.
  3. 做了大量ablation study, 如有需要, 可再细读.

Datasets

MSCOCO
Cityscapes

Leaderboards

Cityscapes

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published