全球计算机视觉三大顶会之一 ECCV 2018 (European Conference on Computer Vision)即将于9月8 -14日在德国慕尼黑拉开帷幕。届时,旷视首席科学家孙剑博士将带领团队远赴盛会,助力计算机视觉技术的交流与落地。而在此之前,旷视科技将陆续推出 ECCV 2018 接受论文系列解读。本文是第 2 篇解读,一个优化解决语义分割特征融合问题的新型框架——ExFuse。
论文名称:ExFuse: Enhancing Feature Fusion for Semantic Segmentation
论文链接:https://arxiv.org/abs/1804.03821
导语
计算机视觉领域有着三项最为基本的任务——分类,检测和分割,其中分割是指从像素层面识别出一张图像上所有物体的位置和分类,使得机器之眼对一张图像达到精确和充分的感知,这也是后续图像认知技术的重要一环。分割分为语义分割、实例分割和全景分割,其中语义分割最为基础,它为图像之中的每个像素做分类,而不涉及实例或背景的区分。
本文发现,当前语义分割方法直接融合高、低特征并不奏效,继而提出新架构 ExFuse,转而在低级特征引入语义信息,在高级特征嵌入空间信息,其性能超越 DeepLabv3,在 PASCAL VOC 2012 分割任务中夺得当前最优。
这一底层突破将在分割技术的适用领域带来新进展,比如自动驾驶,无人机,仓储机器人,医疗影像,无人超市、地理信息系统等。比如,旷视科技基于这一自身原创技术,进一步提升和完善了手机影像产品线,在人体扣像、手机打光、背景虚化等具体应用中不断提升用户体验,这也恰恰是旷视科技一直践行人工智能驱动的行业物联网构建者(AI+IoT)战略定位的证明。
背景
绝大多数当前最优的语义分割框架基于全卷积网络(Fully Convolutional Network/FCN)而设计。FCN 有一个典型的编码器-解码器结构——语义信息首先通过编码器嵌入特征图,接着解码器负责生成分割结果。
通常,编码器是一个预训练的卷积模型,提取图像特征;解码器包含多个上采样组件,复原分辨率。尽管编码器最顶层的特征图可以是高度语义的,其重建分割图精确细节的能力却因分辨率不足而受限,这在现代 backbone 模型中很常见。
为此,U-Net 被提出,并获得广泛应用,其核心思想是逐渐融合顶层的高级、低分辨率特征和底层的低级、高分辨率特征,这被认为有助于解码器生成高分辨率语义特征。虽然 U-Net 很成功,但是它的工作机制依然未知,有必要进一步探究。
设计思想
一般而言,低级特征和高级特征相铺相成。低级特征空间信息丰富,但是缺乏语义信息;高级特征则与之相反。假定存在一个极端实例,“纯”低级特征只编码低级概念比如点、线或者边缘。直观讲,高级特征与这些“纯”低级特征的融合意义不大,因为后者噪音太多,无法提供高分辨率的语义信息。
相反,如果低级特征包含更多的语义信息,比如,编码相对明确的语义框,接着融合会简单不少——良好的分割结果可通过对齐高级特征图和语义框而获得。
相似地,“纯”高级特征的空间信息也很少,不能充分利用低级特征;但是,通过嵌入额外的高分辨率特征,高级特征从而有机会通过对齐最近的低级语义框来实现自我优化。上述概念的图示请参见图 1。
图 1:低级特征与高级特征之间的融合
根据经验,低级特征与高级特征之间的语义和分辨率的重叠(overlap)对特征融合的效率而言至关重要。换言之,特征融合可通过把更多的语义信息引入低级特征,或者在高级特征中嵌入更多的空间信息而实现提升。
出于上述发现,本文提出一种新框架 ExFuse,试图通过弥补低级与高级特征图之间的语义与分辨率的差距来完善特征融合,其策略主要包含以下两个方面:
1)低级特征中引入更多语义信息,为此本文给出 3 个方法——卷积重排列(Layer Rearrangement/LR),多层语义监督(Semantic Supervision/SS) 和高级语义嵌入(Semantic Embedding Branch/SEB);
2)高级特征嵌入更多空间信息,为此本文给出 2 个全新方法——显式通道内嵌空间信息
(Explicit Channel Resolution Embedding/ECRE)和密集邻域预测(Densely Adjacent Prediction/DAP)。
上述每一方法都带来了显著提升,组合使用涨点高达 4%。本文在 PASCAL VOC 2012 语义分割任务上对 ExFuse 进行了评估,在 test set 中,mean IoU 值高达 87.9%,超过所有当前最佳方法。
方法
本文工作主要聚焦于 U-Net 分割架构的特征融合问题,并选择当前最优的 U-Net 架构之一——全局卷积网络(Global Convolutional Network/GCN)——作为主要的 backbone 分割架构(细节请见图 2)。
图 2:ExFuse 整体架构。实线框属于 GCN 组件,虚线框属于 ExFuse 组件。SS – semantic supervision。ECRE – explicit channel resolution embedding。SEB – semantic embedding branch。DAP – densely adjacent prediction。
本文对 GCN 特征融合的有效性作了评估,结果如表 1 所示。很明显,分割质量并没有随着不同层级特征的融合而提升,反而是快速达到饱和,这意味着高、低特征的融合在 GCN 中并不奏效。而 ExFuse 可以补足这一短板。
表 1:给定特征层级下的 GCN 分割结果,性能指标是 PASCAL VOC 2012 validation set mean IoU。
低级特征引入更多语义信息
该策略启发于这一事实:对于卷积神经网络来说,特征图与语义监督相似,倾向于编码更多语义信息,这已被一些可视化工作所证实。本文提出如下 3 个方法:
卷积重排列(LR)
为使低级特征(res-2 或者 res-3)“更接近于”监督,一个直接的办法是在早期而不是后期阶段(stage)安排更多的层。
实验表明,尽管新设计模型的 ImageNet 分类分值几乎没有变化,其分割性能却涨点 0.8%,这说明低级特征的质量也可提升。
多层语义监督(SS)
多层语义监督是指把辅助监督直接指派到编码器的早期阶段(见图 2),它主要专注于完善低级特征的质量,而不是提升 backbone 模型本身。图 3 展示了 SS 模块的架构细节。
图 3:SS 组件细节
实验表明,该方法可使分割结果涨点 1.1%,并且,本文发现,如果特征提取自辅助模块的第二个卷积层(图 3),还会获得更多提升(1.5%)(见表 3,对比 #1 与 #2),这论证了本文的直观观点:更接近于监督的特征图倾向于编码更多的语义信息。
高级语义嵌入(SEB)
如上所述,很多 U-Net 架构把低级特征作为上采样的高级特征的残差。但是,如果低级特征包含很少的语义信息,则并不足以复原语义分辨率。
图 4:SEB 设计图示。“×” 表示逐元素乘法
为克服这一问题,高级语义嵌入应运而生,其设计细节图 4 所示。SEB 用于 level 1-3 的特征,在实验中 SEB 带来了 0.7% 的涨点(表 3,对比 #3 和 #5)。
高级特征嵌入更多空间信息
在大多数特征提取网络中,高级特征往往包含较少空间信息,一个常用的解决方案是 dilated strategy,可以增大分辨率而无需再训练 backbone,但弊端是加大了网络的计算量。
本文摈弃这种“物理式”方法,转个方向,试图在通道之中编码更多的分辨率信息,具体有如下 2 个方法:
显式通道内嵌空间信息(ECRE)
一开始,本文尝试在第一个解卷积模块中添加额外的分割损失(见图 2 浅蓝色组件),但是性能并未出现任何提升。为此,本文采用一种无需调参的上采样方法——Sub-pixel Upsample——以替代原先的解卷积。
图 5:ECRE 设计图示
由于子像素上采样仅通过重塑空间和通道维度即可扩大特征图,辅助监督从而可以明确地影像特征。实验表明它可以带来 0.5% 的涨点(mIoU)。
密集邻域预测(DAP)
在图 2 中,空间定位 (i,j) 上的特征点主要负责相同位置的语义信息。为尽可能多地把空间信息编码进通道,本文提出一种全新的机制——密集邻域预测,可以预测邻近位置的结果,比如 (i-1,j+1) 。
图 6:DAP 设计图示
接着,为了获得最后的分割图, (i,j) 位置上的结果可通过平均相关值而获得。DAP 用于解码器的输出预测(见图 2)。实验结果表明,其为性能提升(mIoU)带来了 0.6% 的涨点。
实验结果
在没有借助任何 DenceCRF 后处理的情况下,ExFuse 框架最终在 PASCAL VOC 2012 test set 上的 mIoU 值为 87.9%,超越了当前所有最佳结果(见表 8)。公平起见,本文也使用标准 ResNet-101 做了评估,依然取得了 86.2% mIoU,优于相同条件下的 DeepLabv3。
表 8:ExFuse 在 PASCAL VOC 2012 test set 上的结果
图 7 可视化了基线 GCN 和 ExFuse 的一些代表性结果。很明显本文方法要优于基线。
图 7:ExFuse 在 PASCAL VOC 2012 validation set 上的分割结果实例。(b) 是 GCN(81.0% mIoU),(c) 是 ExFuse(85.4% mIoU)。
结论
在本文的工作中,作者首先指出当前的 U-Net 架构普遍存在特征融合低效的问题;接着,本文提出 ExFuse 框架,通过弥补高级的低分辨率特征与低级的高分辨率特征之间的差距以克服这一问题;最后,大幅的分割性能的提升证实存在更好的特征融合。另外,ExFuse 还在 PASCAL VOC 2012 test set 上取得了当前最优性能。
参考文献
1.Peng, C., Zhang, X., Yu, G., Luo, G., Sun, J.: Large kernel matters – improve semantic segmentation by global convolutional network. (2017)
2.Long, J., Shelhamer, E., Darrell, T.: Fully convolutional networks for semantic segmentation. In: Computer Vision and Pattern Recognition. (2015) 3431–3440