论文阅读《Semantic Instance Segmentation with a Discriminative Loss Function》


论文阅读笔记《Semantic Instance Segmentation with a Discriminative Loss Function》

1、Introduction

本文最重要的是提出一个判别损失函数,其鼓励网络将每个像素映射到特征空间中的点,使得属于同一实例的像素靠近在一起,而不同的实例以大幅度分离(文章中多次强调)。利用现有的网络并结合判别损失函数实现语义实例分割是和其他模型(依赖于object proposasl和RNN机制)最大的不同。

2、Related work

i) Proposal based:此类实例分割方法主要采用object proposal和classification两个stage,但是不能很好的处理遮挡(occlusions)的问题,而本文提出的模型全面地分析图像,可以很好地解决。

ii) Recurrent methods:使用LSTM类似的网络可以end-to-end地进行实例分割,并且损失函数需要使用匈牙利算法(Hungarian algorithm)来匹配候选检测和groundtruth,两大弊端,LSTM网络复杂,损失函数复杂。

iii) Clustering:基于聚类,训练网络以预测每个像素朝向其实例中心的方向,后处理使用模板匹配和proposal fusion的方法来从representation中提取每个实例。训练子网络来得到物体实例的数目。

iv) Other:结合语义分割模型和edge maps来提取实例(有点类似于Unet用于医学的细胞分割)。弊端是不能处理好存在遮挡的问题。

v) Loss function:从triplet loss获得启发,不同于优化图像之间的距离,本文在像素层面考虑,优化图像中每个像素之间的距离。

triplet loss :主要用来用于训练差异性较小的样本。比如选择一张图片作为anchor,Positive是跟anchor同一个人的,Negative是跟anchor不一样的人的,那我们希望通过学习使得anchor与positive的距离近一些,与negative的距离远一些。)

3、Method

i) Discriminative loss function
pixel embedding:用来聚类,简单理解是为了:相同(label)实例的嵌入应该靠近一起;而不同(label)实例应该远离。

loss定义了pull和push在类内(intra-cluster)和类间(inter-cluster)的实例,类内中loss定义为variance loss,类间loss定义为distance loss,另外定义了一个regularization loss。

总的loss为:α = β = 1 and γ = 0.001。具体loss请看原文。

ii) Post-processing
因此,我们可以对任何嵌入进行阈值选择,以选择属于同一群集的所有嵌入。 推理过程是选择一个未标记的像素,围绕其嵌入的阈值来查找属于同一实例的所有像素,并为它们分配所有相同的标签。

然后选择另一个还不属于某个实例的像素并重复,直到所有像素都被标记为止

4、Experiments

 论文实验结果:

论文数据实验结果:(图像大小是512*512)

 

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

github链接:https://github.com/Wizaron/instance-segmentation-pytorch


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM