像素级的标注任务,例如语义分割任务,在图像理解中扮演着重要的角色。作者提出一种新的卷积网络形式,结合了卷积神经网络(CNNs)和条件随机场(CRFs)。作者融合了CRF模型和CNN,使其能够end-to-end的方式,利用back-propagation训练整个网络,避免了后向处理的过程。
将CNN用于高层的视觉任务有着巨大的挑战。首先,传统的CNNs具有convolutional filters with large receptive fields,因此当产生像素级别的输出时,显得粗糙。第二,CNNs缺少平滑约束来使在相似像素之间达到标签一致性。
对于语义标签,CRF的主要想法是是将标签分配问题作为probabilistic inference 问题。CRF能够调解weak和coarse 像素级的label预测,产生sharp boundaries和fine-grained分割。
作者提出了如何将mean-field CRF inference作为Recurrent eural Network(RNN)的方法。下图是mean-field算法的每一个步骤。
1. Initialization
2. Message Passing
3. Weighting Filter Outputs
4. Compatibility Transform
5. Adding Unary Potentials
6. Normalization
其中mean-field 算法的每一次的迭代可以看作普通CNN层的堆叠。该方法等价于训练迭代mean-field inference 作为一个RNN.该模型结构叫做CRF-RNN。该CRF-RNN的参数和mean-field参数相同,其中在这里用代表。其中mean-field迭代算法对于dense CRF可以在10次迭代以下收敛。
每次迭代算法如下。
迭代的过程如下,类似于RNN。
整个架构
作者使用FCN-8s作为网络的第一部分,该FCN-8s基于VGG-16网络,但是被重新调整来应用于pixel-wise预测,而不是图像分类。在前向传播过程中,一旦计算从CNN阶段到了CRF-RNN阶段,数据需要进行T次的迭代。该网络的最后是softmax loss 层,直接连接CRF-RNN。
在Pascal VOC 2012数据集上进行训练和测试。通过下表的结果,可以看出,仅使用FCN-8s和将CRF作为后向处理的结果均不如直接end-to-end的策略。通过end-to-end的方法,在CRF-RNN的SGD训练过程中,CNN和CRF部分可以学习如何相互合作,来使网络产生更好的结果。
下表是与其他方法的对比结果。