论文地址:Learning a Discriminative Feature Network for Semantic Segmentation
这是CVPR2018上的一篇poster,来自Face++
文中提出了一个encoder-decoder的网络框架Discriminative Feature Network (DFN)来进行语义分割
其中DFN包含两个子网络,Smooth Network用于解决intra-class inconsistency(类内矛盾,如Figure1第一行),Border Network用于解决inter-class indistinction(类间模糊,如Figure1第二行)
Smooth Network
intra-class inconsistency主要源于对于context的缺乏,因此本文提出了使用golbal average pooling来得到global context,但是global context只能得到叫高维的语义信息,对于恢复空间信息没有帮助。
所以本文又使用了多尺度感受野和context来修复空间信息。
Channel attention block:
相当于SENet中对于每个channel的权重进行学习,跟之前的权重学习的方法不同的情况在于,这个通道学习的过程使用的特征来自于低维和高维,将高低维的特征concate到一起,然后进行每个channel权重的学习,最后将这个权重乘到低维的特征上
Refinement residual block:
先使用1*1卷积将channel数增加到512,然后进行一个典型的residual block
Border network
在分割问题上,不同类别的物体会有相似的外表,尤其是当他们在空间上相邻的时候更难分割,因此需要加大特征的不同,在本文中就使用了semantic boundary来指导特征学习
这个网络就是对每个类别的边界进行分割,只得到分割出物体的边缘信息,训练样本是在GT上使用传统的边缘检测算法如canny得到的
loss:,其中pk为类别为k的概率
Network Architecture
最终网络结构就如图所示,分为两个部分:Smooth network用来得到语义分割的结果使用softmax loss,Border Network用于得到每个类别的边缘结果使用FocalLoss,最后两个loss使用权重相乘后相加是最终loss