作者提出了两个在语义分割之中的问题:
所以作者提出了Smoonth NetWork去解决类内特征不一致的问题,Border Network去解决分辨相邻块有相同外表但是标签不同的问题。
同时考虑两个决定性的因素: 多尺度的特征图和有全文信息的特征图
但多尺度的特征图的引入,对于一定规模的东西,特征会有不同的程度的区别,而有一些会导致预测错误的标签。(去选择有用的特征)
可以看到中间就是resnet101,左边的是Border Nework,右边的是Smooth Network,一个为自顶向下,一个为自顶向上
组成
基础部分: Resnet 根据特征图的大小不同,将特征图分为了5个level(Conv, layer 1,layer 2,layer 3,layer 4)
在低等级之中空间信息更好,但是对于语义的一致性效果更差,因为较小的感受野和没有空间信息的指导
总的来说就是 低等级的给予更多的空间信息,高等级给予更多的语义信息
分析
大部分现有的方法将语义分割视为一个密集的识别任务,但是这样通常会忽略显式的类间关系建模(空洞卷积,全局卷积)
这些方法只总结了邻近区域的特征而没有考虑他们不同的表示
意思是随着越来越多的全局信息被聚集到一起,这样有着相同外表的物体将会很容易归到同一类。
明确语义边界,用这个来指导特征的学习非常重要。这样能够放大这两侧的特征变化,让网络更容易分辨两个特征,所以加入了语义边界损失去放大类间的区别。
低等级的特征有更多的内容信息,高等级的有更多语义信息,而我们需要的语义边界需要更多的语义信息,所以Border Network设计为一个自顶向下的结构
这样能同时获得低等级特征的具体边缘信息和高等级特征的语义信息,网络的监督信号通过传统的算法如Canny等实现(代码里面好像根本没看到…)
损失函数
F L ( p k ) = − ( 1 − p k ) γ l o g p k FL(p_k) = -(1-p_k)^{\gamma}logp_k FL(pk)=−(1−pk)γlogpk
p k = Σ y t r u e × p p r e d p_k =\Sigma y_{true}\times p_{pred} pk=Σytrue×ppred(通道维度)
这个说实在没懂是什么意思,感觉和论文原文提到的边缘计算没有什么太大关系?(可能是非官方代码实现有问题)
而且从结果看似乎提升不大,感觉这个提升似乎只是多了一层深监督差不多的功能.