主页:dextr
参考代码:DEXTR-PyTorch
1. 概述
导读:这篇文章算是交互式分割种比较具有典型的了,在这篇文章中提出了一种使用极点作为引导,从而实现目标区域分割的方法。添加的引导不区分正负样本属性,只是去定义目标的边界,因而会在对应输入的卷积上添加1个channel就可以了。刚接触交互式分割的同学可以看看这篇文章,但是其也存在一些痛点问题。
文章的方法使用极点的形式作为引导,框出目标大致出现的位置,从而进行分割,其在一些图片上的结果见下图所示:
但是这样的方法在实际的过程中却存在下面的一些不足:
- 1)极点在选择的时候也是很费劲的,需要去贴合目标的边界;
- 2)对于一些包含/形状奇异的目标交互起来困难;
- 3)文章虽然给出了使用额外第五个点的策略,但是整体上样本并不区分正负,妨碍交互式分割精度更进一步提升;
2. 方法设计
2.1 方法的pipline
文章的pipline比较简单,与传统的分割网络没有太大的差别,其使用的是ResNet-101(ImageNet Pretrained),之后添加PSP模块和解码单元,从而实现目标像素点的预测。其整体结构见下图所示:
文章的方法在输入进网络的时候会在裕度范围对目标进行剪裁,之后送入到网络进行预测。由于剪裁之后正负样本像素的比例变得异常,因而文章在原始交叉上的基础上给类别添加平衡因子,从而得到Balanced Cross Entropy Loss,为:
L = ∑ j ∈ Y w y j C ( y j , y j ^ ) L=\sum_{j\in Y}w_{y_j}C(y_j,\hat{y_j}) L