实例分割
概述
- 自上而下:首先通过目标检测,再对检测框进行语义分割
- 自下而上:首先进行语义分割,再用聚类、度量学习进行实例间的区分
简介
双阶段的Mask R-CNN
结构:
基础网络采用ResNet-FPN结构。
利用RoI Align代替ROI pooling。(ROI pooling中有取整操作,这对像素的分类不友好,RoI Align去掉取整,采用双线性插值,获得多个点。)
在原先分类和回归的基础上增加了一个Mask分支,用于语义分割。
缺陷
对框的精度要求高。
对非方正物体不友好。
YOLACT
结构:
- backbone:Resnet101 + FPN
- 通过Protonet网络,为每张图片生成K个原型掩模
- 通过Prediction Head 预测掩模系数
- 通过掩模系数和原型掩模进行线性组合生成实例Mask
PolarMask
结构:
backbone + FPN
把fcos的Bbox分支替换为mask分支(channal=36,相当于36根射线的长度)
使用Polar Centerness 替换 fcos中的bbox centerness
优点:
anchor free 和bbox free
全卷积网络
SOLO
结构:
- backbone + FPN
- Category Branch:预测物体的语义类别(SXSXC),采用的损失函数是focal loss
- Mask Branch:预测物体的mask,采用CoordConv,归一化(x,y)坐标到[-1,1],然后和输入特征concat。
- CoordConv:在featuremap 后面增加了两个通道,一个用来表示x坐标,一个用来表示y坐标
损失函数:
- focal loss
- DICE loss
实验结果:
RDSNet
结构:
- backbone + FPN
- 双流结构:目标流和像素流
- 目标辅助实例分割
- 掩模辅助目标检测
损失函数:
实验结果:
PointRend
特点:
- 资源消耗低
- 精确度提高
- 抗锯齿
- 模块可拓展
核心思想:
- 1.在粗糙的Mask上选取若干个点(一般选取边缘的点,因为边缘的点最容易出错)
- 2.融合这些点的高层特征和低层特征。
- 3.经过MLP得到新的预测。
损失函数:
- 交叉熵损失函数
实验结果:
BlendMask
结构:
- 检测网络:图中橙色部分,采用的是FCOS
- 掩码分支1:图中的BOttom Module,用于预测得分图
- 掩码分支2:图中的Boxes Attns,用于预测实例注意力的顶部模块
- 掩码分支3:图中的Blender,用于将得分和注意力融合的模块
实验结果:
CoCo数据集上的表现