Advertisement

Deep Watershed Transform for Instance Segmentation阅读笔记

阅读量:

论文链接:https://arxiv.org/abs/1611.08303

简介

文章属于将原图和语义分割图作为输入的方法,使用语义分割图来筛选图像中相关前景区域。文章结合了传统的分水岭算法和深度学习算法,生成能量图,能量图中的每一个实例对应一个能量盆地,然后,文章再单个能级执行切割,以直接生成与实例对应的组件。文章方法有几个关键优势:它可以轻松地进行端到端的训练,并生成非常快速和准确的估算;文章方法不依赖于诸如RNN的迭代策略,无论实例数量,都具有恒定时间。
文章方法以两倍多的性能超越了在Cityscapes数据集实例分割任务的最佳模型。

实例分割相关工作

解决实例分割问题对机器人操纵或场景识别以及自动驾驶大有裨益。目前的一些实例分割方法大都使用复杂的管道如:物体提议[1,2,3]、条件随机场(CRF)[4,5]、RNN[6,7,8]或者模式匹配[9,28]。具体如下:
基于提议
[12]生成物体分割提议,并将它们合并成实例。[13]基于同样的思想,使用CNN和非极大值抑制选择提议区域。[14]进一步提出多物体提议解决了模糊场景下的物体支离。[3]使用深度堆叠神经网络提议实例边框,细化实例掩模并且分类实例类别。[1,2]使用深度CNNs生成分割提议,进一步细化成更好的分割边界。除此之外,[15]使用修改的R-CNN模型提议实例边界框,进一步获得实例分割。
深度结构模型(模式匹配)
[9]使用CNNs提取图片特征,为存在于实例中的每一个像素分配一个扇区标签,每一个实例周围有八个扇区。进而使用模式匹配机制联合实例中心提议和像素组成最终实例。
循环网络
[6]使用CNN进行特征提取,然后使用RNN为逐个实例生成标签。
CNN
[16]使用一个CNN产生多输出,同时预测实例数目、对应边框坐标和每个像素的类别得分,之后,将这些信息聚集,生成实例标签。除此之外,[17]提出了深度卷积神经网络,它学习目标的潜在形状,并且通过执行多个不受约束的推测步骤细化实例区域同时忽略其周围不属于该实例的像素。
提议+递归
[18]提出了一个全新的递归细化提议区域的方法。

分水岭变换

思想
分水岭变换是数学形态学的一种成熟算法,其思想直观:将灰度图像看成是地形图,凹凸不平具有许多盆地,从每个盆地底部开始灌水,并保证不同盆地间的水相互隔离,就能将图片分割成不同区域。与求梯度方法结合后,图片中的盆地对应的是灰度值变化较小(较为相同)的部分,而盆地间的高地分界对应着灰度变化较大的部分,即盆地对应实例,高地分界代表实例边界。其一维能量如图2第一行所示。
在这里插入图片描述
缺点
从图2能看到,传统分水岭变换方法,由于图像中存在许多小的能量波动,这易导致过分割,直观看图中第1,2,3部分应属同一实例。
文章对策
为了解决上述问题,文章使用反馈神经网络学习分水岭变换能量图,学得的能量图中,每个盆地对应单个实例,所有的山脊在能量图中处于同一高度,即具有相同能量。因此使用单个阈值就能实现分割,这能有效避免过分割,目标效果如图2第二行所示。

然而,从头学习能量图十分复杂,因此文章定义了一个中间任务,即学习能量下降的方向,然后将学得的方向信息传给下一部分网络层,从而得到最终的能量图。也可以将这种方法看作是对于每个实例,学习其中每个像素与该实例中距离该像素最近的边界之间的距离。图4示例了输入、中间结果和输出。
在这里插入图片描述

文章方法

网络结构
文章网络结构如图3所示。
在这里插入图片描述
可以看到RGB图像和其语义分割图(文中使用PSPNet的语义分割结果)做输入,经过方向网络(DN)提取方向信息,再经过分水量变换网络得到最终的输出能量图。
方向网络(DN)
(1)语义分割图预处理
文中使用二值化的语义分割图做辅助,非关注区域置零,从而筛选出感兴趣前景区域。语义分割图作为原图的第四通道一起输入。由于在去均值之前,原RGB图像的每个通道的值是0-255,因此文章同样地缩放语义分割图像的编码,使得类标签在数值上等间隔,并且方差近似等于RGB通道中的值的方差。
(2)网络功能
通过DN得到的是实例中每个像素的能量下降方向,其方向信息用指向与该像素距离最近的边界的单位向量表示。之所以不直接使用角度表示能量下降方向,是为了避免如0度和360度虽数值差很大但实际相等的问题。
量相邻实例间的对称位置像素,具有方向相反的单位向量。所以,若错误连接两个实例间的像素,则会产生巨大的损失值,这种情况对于无论是极凹或细长形状的实例,都能够适用。这迫使网络学得的实例间边界更为精细。
(3)网络结构
DN的网络结构灵感源自VGG16,由于使用单位向量表示方法,则角度相差一点,也会造成数值上的巨大改变,因此,需要保证图像空间分辨率。因此文章使用VGG16网络的前13层,并将第3、4次池化修改为平均池化,去除第5次池化。为了保证分辨率,使用了语义分割技术中流行的多规模信息聚合方法,即分别对conv3和conv4的特征上采样到与fcn5相同尺寸,然后进行通道串联,再使用1*1卷积将信息进一步整合抽象,最后上采样到输入图像尺寸(分辨率)。
分水岭变换网络(WTN)
WTN以DN的输出为输入,最终输出K=16个等级的离散能量图,其中0代表背景像素,能量值越大代表越靠近实例中心。WTN是一个简单的CNN
结构却有着高精度、高空间分辨率的结果。
网络训练
首先预训练DN和WTN,然后端到端地训练整个网络。
(1)DN训练
在角域内将均方误差作为损失值:
在这里插入图片描述
使用均方误差相对使用cos距离计算误差来讲,对于大角度的误差,会产生更严重的惩罚。
DN使用图像和其真实语义分割图作为输入,输出与GT单位向量图对比计算loss。
(2)WTN训练
使用改进的交叉熵损失作为loss:
在这里插入图片描述
文章通过设置公式中的超参数,使loss对低能量(对应边界)的错误更为敏感,从而保证实例边界更为精细。
WTN使用GT语义分割图和GT单位向量图做输入,将输出与GT离散能量图(分水岭变换图)对比计算loss。
(3)端到端微调
将预训练的DN和WTN堆叠后,RGB图像和PSPNet生成的语义分割图作输入。
能量阈值分割和实例获取
实例分大小,对小实例(如人、自行车等),取能级1(实际与边界有0-2个像素的距离)作为分割阈值;对大实例(如卡车),取能级2(实际与边界有3-4个像素的距离)作为分割阈值。在此之后,使用圆形结构元件扩张实例,该圆形结构元件的半径等于切割能级处的最大腐蚀值,这抵消了非零阈值的边界侵蚀。在结果图像中标识连接的组件,直接产生建议的实例。通过基本的填孔进一步完善了这些建议,最后,删除小的虚假实例。

实验评估

Cityscapes数据集部分特点
文章在Cityscapes数据集实例分割任务上进行评估,与其他实例分割数据集不同,Cityscapes数据集中的图常常包含有碎片化的实例,并且实例规模变化巨大。Cityscapes数据集包含8种实例,虽然人、车两种实例的数量很多,但是其他6类实例的数目很少,极具挑战性。在评估指标上,文章除了使用AP还用了平均价全覆盖率(MWCov)。
(1)与最佳模型对比
在这里插入图片描述
(2)语义分割影响
在这里插入图片描述
使用更好的语义分割结果,能进一步提升实例分割效果。
(3)直观结果
在这里插入图片描述
除此之外,文章还比较说明了对于给予分割的方法,使用如MWCov这种公平方法的重要性。

方法缺陷

无法处理支离实例
如图5中导数第3行所示。这是大多数自底向上的实例分割方法的共同缺陷。
未分割完全
第二个问题是两个共享遮挡边界的物体大部分但未完全被低能量线隔开的情况。 这可以在第11张图像中的最右边的车辆中看到。
文章估计若结合自顶向下的方法,则能更好地解决以上两个问题。
语义分割错误
由于使用语义分割模型生成语义分割图作输入,语义分割错误导致的实例分割错误不可避免,如最后一张图的卡车。
一种可能的解决方案可能是将语义分割用作软决策,或者共同推理语义和实例分割。
复杂场景错误
最后,一些非常复杂的场景,例如第二到第四个例子左边的一些人群,被模型错误地分开,并融合在一起。

结论

文章提出了一种简单的实例分割技术,结合分水岭变换,使用深度卷积神经网络和损失函数进行预训练和微调,文章方法可以生成改进的分水岭变换能量图,从而提取高质量实例。实验表明,在挑战CityScapes实例细分任务中,文章可以超越现有技术的表现。

参考论文

[1] P. O. Pinheiro, R. Collobert, and P. Dollr. Learning to seg- ment object candidates. In NIPS, 2015. 1, 2
[2] P.O.Pinheiro,T.-Y.Lin,R.Collobert,andP.Dollr.Learning to refine object segments. In ECCV, 2016. 1, 2
[3] J. Dai, K. He, and J. Sun. Instance-aware semantic segmen- tation via multi-task network cascades. In CVPR, 2016. 1, 2

[4] Z. Zhang, S. Fidler, and R. Urtasun. Instance-Level Segmen- tation with Deep Densely Connected MRFs. In CVPR, 2016.
[5] Z. Zhang, A. Schwing, S. Fidler, and R. Urtasun. Monocular object instance segmentation and depth ordering with cnns. In ICCV, 2015. 1, 2
[6] B. Romera-Paredes and P. H. S. Torr. Recurrent Instance Segmentation. In ECCV, 2016. 1, 2
[7] M. Ren and R. Zemel. End-to-end instance segmenta- tion and counting with recurrent attention. arXiv preprint arXiv:1605.09410, 2016. 1, 2
[8] A. Arnab and P. Torr. Bottom-up instance segmentation us- ing deep higher-order crfs. In BMVC, 2016. 1, 2

[9] P.Arbelaez,J.Pont-Tuset,J.Barron,F.Marques,andJ.Ma- lik. Multiscale Combinatorial Grouping. In CVPR, 2014. 2

[10] B. Hariharan, P. Arbelaez, R. Girshick, and J. Malik. Simul- taneous detection and segmentation. In ECCV, 2014. 2

[11] Y. Chen, X. Liu, and M. Yang. Bottom-up instance segmen- tation using deep higher-order crfs. In CVPR, 2015. 2

[12] S. Zagoruyko, A. Lerer, T.-Y. Lin, P. O. Pinheiro, S. Gross, S. Chintala, and P. Dolla ́r. A multipath network for object detection. In BMVC, 2016. 2
[13] B. Hariharan, P. Arbelaez, R. Girshick, and J. Malik. Simul- taneous detection and segmentation. In ECCV, 2014. 2

[14] Y. Chen, X. Liu, and M. Yang. Bottom-up instance segmen- tation using deep higher-order crfs. In CVPR, 2015. 2

[15] S. Zagoruyko, A. Lerer, T.-Y. Lin, P. O. Pinheiro, S. Gross, S. Chintala, and P. Dolla ́r. A multipath network for object detection. In BMVC, 2016. 2
[16] X. Liang, Y. Wei, X. Shen, J. Yang, L. Lin, and S. Yan. End-
to-end instance segmentation and counting with recurrent at-
tention. arXiv preprint arXiv:1509.02636, 2015. 2

[17] K. Li, B. Hariharan, and J. Malik. Iterative instance segmen-
tation. In CVPR, 2016. 2

[18] X. Liang, Y. Wei, X. Shen, Z. Jie, J. Feng, L. Lin, and S. Yan.
Reversible recursive instance-level object segmentation. In
CVPR, 2016. 2

全部评论 (0)

还没有任何评论哟~