在 ECCV 2020 上,商汤自动驾驶团队提出了一种新型基于解耦优化思路的语义分割模型。现有的语义分割方法要么通过对全局上下文信息建模来提高目标对象的内部一致性,要么通过多尺度特征融合来对目标对象的边界细节进行优化。我们提出了一种新的语义分割方法,本文认为性能强的语义分割方法需要明确地建模目标对象的主体和边缘,这对图像的高频和低频信息。
为此,本文首先通过 warp 图像特征来学习 flow field 使目标对象主体部分更加一致。在解耦监督下,通过对不同部分像素进行显式采样,进一步优化产生的主体特征和残余边缘特征。我们的实验表明,所提出的具有各种基准或主干网络的框架可有更好的目标对象内部一致性和边缘部分。
我们提出的方法在包括 Cityscapes、CamVid、KIITI 和 BDD 在内的四个主要道路场景语义分割数据集上实现了 SOTA 的结果,同时保持了较高的推理效率。我们的方法仅使用精细标注的数据就可以在 Cityscapes 数据集上达到 83.7 mIoU。
目前现有的语义分割模型主要面临的挑战主要分为两个部分:第一是建模物体内部语义信息的一致性,第二个是如何尽可能保留细节信息,提升边缘分割的效果。针对第一个问题,目前主流的方法都是去建模更好的上下文信息。
比如 PSPnet、Deeplab 系列,还有近期比较火的基于 non-local 模型的一些网络 CCnet 和 EMAnet,以及近期使用 Graph Convolution Network 建模上下文的 DGMNet。针对第二个问题,现有的一些解决方案是把较低层特征经过融合的方式来提升小物体和边缘的分割效果。比如 Gated-SCNN 和 GFFnet。
那么我们在思考是否有一种统一的方法来同时做到这两件事情。在传统的图像处理方式中,一张自然图片可以被分解成高低频率项,其中低频项中包括粗糙的模糊化的信息,而高频项中包含更多细节信息,比如边缘。我们进一步对分割的监督 mask 进行如此操作,可以观察到相同的现象,边缘信息可以通过对把原始的主体部分减去得到,并且更加明显。在理想情况下,我们的分割特征应该接近输出的监督 mask。
因此,我们提出了一些通过解耦语义分割特征的方法来提升语义分割的效果。我们的方法大体分为三步,第一步是生成主体特征部分,这里我们提出了学习流场来插值生成主体部分的模型,第二步是得到边缘的特征,这里我们采用减法操作得到锐化的边缘特征,第三步,我们针对上述的两个特征进行优化,前者使用边缘松弛优化,后者使用边缘的监督,再把优化后的特征进行相加得到最终的特征表示。
这里我们给出详细的方法介绍。图 2 展示了整个网络架构,我们的最好的模型是基于最新模型 Deeplabv3 +。在这里,仅将带空洞卷积的 ResNet 用作主干网络。这里我们所提出的模块被插入到 ASPP 模块之后。解耦损失函数分别附加在解耦模块的末尾。
主体生成模块负责为同一对象内的像素生成更一致的特征表示。因为物体内部的像素彼此相似,而沿边界的像素则显示出差异,因此可以显式地学习主体和边缘特征表示,为此,我们采用学习流场的方式,并使用 flow field 对原始特征图进行 warp 以获得显式的主体特征表示。该模块包含两个部分:flow field 生成和特征差值。
主体生成模块旨在聚集对象内部的上下文信息并为每个对象形成清晰的主体对象。边缘保留模块用来保留更多的边缘信息,学习到更好的边缘特征。这两个模块采用不同的损失函数进行监督训练。
我们首先进行了对于我们提出的模型各个组件 ablation study。Tab1(a)证明我们在 FCN 不同 backbone 的 baseline 上的有效性。
Tab1(b)显示出了我们提出的 Decoupled Supervision 的有效性。Tab1(c)证明了我们提出的使用流场进行插值的策略的有效性以及降采样的有效性。Tab1(d)我们对比了现有的一些其他方法,证明了我们方法取得了更好的结果,比如采用 DCN 来生成主体特征的策略。Tab3 和 Tab5 显示了我们方法在多个道路场景的数据集上取得很好的效果。
在这项研究中,我们提出一个新颖的语义分割框架。我们通过把语义分割的特征进行解耦操作,进而让每个部分单独由不同的监督信号进行监督,因此我们实现同时提升分割物体的内部一致性和边缘部分。并且我们的模块十分轻量级,可以做到即插即用,可以用于优化任何基于 FCN 的语义分割模型。我们的方法在 4 个主流的道路场景的语义分割数据集上面取得领先的效果。