【图像分割论文阅读】ICNet for Real-Time Semantic Segmentation on High-Resolution Images


title


文章由香港中文大学、腾讯优图实验室、SenseTime研究院联合完成,发表于2018ECCV
论文地址:ICNet for Real-Time Semantic Segmentation on High-Resolution Images


背景

这篇文章聚焦于具有挑战性的实时图像分割任务。实际的应用中如何减少像素级的标签预测时的大量冗余计算仍然十分困难的。作者提出一种Image cascade network,ICNet图像级联网络,通过综合多分辨率支路以及合适的标签指导信息解决这个问题。
作者开篇指出:相较于高质量的语义分割任务所取得的非凡成就,研究如何使语义分割任务在不过多牺牲精度的前提下使它更快却已落在后头。但是对于许多实际问题在评估系统性能的时候确实非常关键的,如自动驾驶、人机交互、在线视频处理甚至是移动计算等领域。
文章中有一些图片非常实在,信息量非常大。如图:

inference comparison
作者在实验中发现,处理一张resolution=1024 X 2048的图像,使用精度很高的模型如ResNet38PSPNet,在Nvidia TitianX GPU上需要大约1s中。上图横坐标代表每秒能够处理的图片张数,纵坐标代表分割精度,对于当下现存的模型,如精度较高的模型。如PSPNet、ResNet38虽然精度高,但是处理速度不够高;另一方面,处理图像的速度较高的模型,如SegNet、ENet、SQ等,它们的分割精确的在60%以下,相对来说精度在实时分割任务中很低。而作者本文提出的方法ICNet能够在保持30+fps处理速度的前提下得到高达70%+分割精确度的效果。模型是准确度和效率之间的权衡

本文的贡献在于:
  • 提出ICNet模型,有效整合了低分辨率和高分辨率的语义信息。
  • 通过级联特征融合以及级联标签指导,能够以较低的计算开销重建并优化分割预测。
  • 推理速度提升5倍,存储开销减少5倍。对于高分辨率1024*208大小分辨率的图片,处理速度高达30FPS+并取得高精度的分割结果。
相关研究

作者从三个角度分析图像分割任务:

  • 高质量的语义分割:
    主要是以FCN为基础模型,通过使用dilated convolution提升感受野,如deepLab系列。编解码器结构整合高层次的语义信息以及低层的空间信息,主要有SegNet、DeconvNet等。也有不少人通过整合多尺度的特征信息提升分割精确度。此外,通过CRF、MRF等概率图模型作为后处理手段提升边框的精细程度。凡此种种,还有许多…
  • 高效语义分割:
    主要是指在处理速度上的高效。包含目标检测领域中的典型模型。如YOLO系列、SSD,指出图像分割领域的发展滞后。其中ENet以丢失精度的前提下,提升了图像的处理速度。
    视频语义分割:
    视频的每一帧中包含许多减少计算开销的冗余信息。常用的模型有:ClockLock、FSO、NetWrap等方法。[没看过这方面的论文,所以不赘述]

模型设计

PSPNet的时间开销

首先阐明本文中使用的baseline=PSPNet。作者通过分析PSPNet模型各阶段的处理时间提出了自己的方法。如下图:running times

可以看到的是,PSPNet模型中第五阶段的运行时间开销是第四阶段的4倍,这两个阶段的特征图大小均为原始图像大小的1/8.。出现上图的原因是第五阶段中的input-channel以及倍增了kernel数,使得该阶段的卷积核数量为第四阶段的4倍。作者分析模型的时间复杂度为:
complexity
作者实验中通过调整下采样输入、下采样特征、以及模型压缩试图缩减PSPNet的运行速度。

网络框架ICnet
整体过程

注意到上图中有三个通道组成了cascade image input,自顶而下分别是低分辨率、中分辨率、高分辨率图像,分别由原始图像经过1/4、1/2、1下采样得到。
1)从上到下第一个通道,将原始图像下采样得到的1/4大小的图像输入PSPNet中经过下采样率=8的网络后得到大小为原始图像的1/32大小的特征图。
2)从上到下第二个通道,将原始图像下采样得到的1/2大小的图像输入PSPNet中经过下采样率=8的网络后得到大小为原始图像的1/16大小的特征图。
3)从上到下第一个通道,将原始图像输入PSPNet中经过下采样率=8的网络后得到大小为原始图像的1/8大小的特征图。

注意到第一层得到的原始图像1/32大小的特征图以及1/16大小的label guidance输入到CFF模块中;以及第二层得到的原始图像1/16大小的特征图以及1/8大小的label guidance输入到CFF模块中.最后的第三层中经过的二个CFF得到的特征图经过经过系数为2的上采样后得到原始分辨率1/4大小的特征图,此时参考大小为1/4label guidance之后以系数为4进行上采样得到最终结果。这里的CFF = csacade-feature-fusion,意为级联特征融合。

整个模型中只有最上层的通道,也就是低分辨率的输入大大减少了计算量。而高分辨率的输入是为了重建以及修正模糊边界以及丢失的细节信息。

cascade-feature-fusion,CFF

CFF模块用以整合级联特征。级联融合单元和级联标签指导策略将中高分辨率特征融合,逐步细化粗粒度语义图。CFF
对F1层代表的是上一层得到的特征图,F2代表本层CFF操作前得到的特征图。这里CFF的内部操作是对上一层的大的特征图进行采样率为2的上采样,然后使用kernel=3x3,d=2的空洞卷积,然后于本层的特征图融合作为CFF模块的输出;另一方面,利用这个上层特征图和label guidance进行一个softmax操作,生成loss值,指导网络学习过程。其中loss定义如下:
loss


实验

作者在三个数据集上验证了其方法的有效性。包含Cityscapes、Cam Vid、COCO-Stuff。其中三个数据集中的图像分辨率为:
Cityscapes = 1024x2048;Cam Vid = 720x960;COCO-Stuff = 640x640., λ 1 = λ 2 = 0.4 , λ 3 = 1 \lambda_1=\lambda_2=0.4,\lambda_3=1 λ1=λ2=0.4,λ3=1实验环境:MaxWell TitianX GPU、CUDA 7.5、CUDNN V5

intuitive speedup

作者通过尝试着通过输入降采样、分辨率降采样以及模型压缩三种方式减少PSPNet-50处理时间。

  • 输入降采样:
    作者采用了三种降采样系数,0.25、0.5、1。得到的结果如下图,输入下采样系数高的话,速度快但是得到的特征图稀疏并且丢失了许多小而重要的信息。如,降采样率为4时,丢失了图中的交通灯、人群。
    diff scale
  • 特征图下采样
    feature map downsampling
    对特征图降采样时,纵然会加速运行速度,但是mIoU下降很明显。另外,即使是对特征图进行1:32的降采样,其推理速度也仅仅是131ms,这还不够。
级联支路

下图对比使用不同级联支路在各项指标上得到的结果。其中sub4、sub24、sub124分别代表使用低、低中、低中高分辨率支路的预测结果。
级联支路

级联结构

作者分析级联过程中的具体操作,包括卷积核、CFF单元、cascade label guidance的作用,如下:cascade point

方法对比

与其他方法的比较;
comparison
起始最开始的图已经反映出了ICNet的效果.

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值