ICNet结构解读

本文介绍了一种创新的实时语义分割网络ICNet,它通过多重分辨率分支和级联特征融合单元,实现了在保持高精度的同时大幅降低计算成本,特别适用于自动驾驶等对实时性能敏感的应用。ICNet在Cityscapes、CamVid和COCO-Stuff数据集上展示了卓越的30fps高质量预测性能。

标题

ICNet for Real-Time Semantic Segmentation on High-Resolution Images
能处理高分辨率图像的实时语义分割网络——ICNet

Abstract

  1. 这篇文章关注的是实时语义分割的挑战。
  2. 实时语义分割在有很多实际应用但在减少计算上(因为要实时)有很大困难。
  3. 我们提出了在正确标签知道下包含多重分辨率分支图像级联网络(image cascade network, ICNet)来解决这个挑战。
  4. 我们提供了我们网络架构的深入分析而且介绍了级联特征融合单元(cascade feature fusion unit)来快速获取高质量的分割图像。我们的系统能使用单个GPU在有挑战的数据集(Cityscapes, CamVid和COCO-Stuff)上产生很准确的实时推测结果。
  5. 关键字:Real-Time实时, High-Resolution高分辨率, Semantic Segmentation语义分割

Introduction

作者大概介绍了一下语义分割和其重要性,大家对基于CNN的语义分割已经达成共识,作者用Fig. 1(a)来解释。

快速语义分割的现状(Status of Fast Semantic Segmentation)

和得到极大发展的高质量语义分割不同,快速但没有牺牲太多质量的语义分割没有得到太大的发展。作者认为快速语义分割很重要,因为它有更大的实用性,例如:自动驾驶,机器人互动,在线视频处理,甚至移动计算。在这些领域,计算时间在评判系统表现上是一个关键因素。
在这里插入图片描述
作者的实验表明ResNet38和PSPNet的高精度方法在Nvidia TitanX GPU上花了1秒钟来预测1024×2048的高分辨率图片。这些方法在Fig. 1(a)有展示,它们精度较高,速度较慢。最近的快速语义分割方法,例如ENet和SQ,则恰恰相反。

作者的关注和贡献(Our Focus and Contributions)

作者的方法很牛!
和原有架构不同,作者在速度和精确度这两个看似有冲突的因素上做出来了全面的考虑。作者先在语义分割框架的时间上做了深入的分析,然后做了广泛的实验来展示以前拍脑袋加速策略的不足。这两者就是开发ICNet的动机。作者再次强调ICNet厉害在高效且准确。它利用处理低分辨率图片的效率以及高分辨率图片的高质量。Idea是使低分辨率图像先通过全语义感知网络(full semantic perception network)来取得粗糙的语义预测图,然后提出级联特征融合单元(cascade feature fusion unit)和级联标签指导(cascade label guidance)策略整合中等和高分辨率特征,这逐渐提炼了粗糙的语义预测图。
主要贡献和表现统计如下:

  • 开发了ICNet,它高效利用低分辨率的语义信息和高分辨率的细节
  • 级联特征融合单元(cascade feature fusion unit)和级联标签指导(cascade label guidance)可以在计算开销比较低的情况下恢复和提炼语义预测。
  • ICNet的推测时间比原本快了5倍,减小内存消耗5倍。它可以在高分辨率的1024×2048在30 fps下实现高质量结果。它能在多种数据集包括Cityscapes, CamVid和COCO-Stuff上产生实时推测。

Image Cascade Network

Speed Analysis

在卷积运算中,对输入特征图和输出特征图使用转换函数Φ\PhiΦ,输入特征图是V∈Rc×h×wV\in \mathbb{R}^{c\times h \times w}VRc×h×w,输出特征图是U∈Rc′×h′×w′U \in \mathbb{R}^{c' \times h' \times w'}URc×h×w,其中c,h,wc, h, wc,h,w分别代表输入特征图的通道数,高,宽,c′,h′,w′c', h', w'c,h,w分别代表输出特征图的通道数,高,宽。卷积运算Φ\PhiΦ的3D核 K∈Rc×k×kK \in \mathbb{R}^{c \times k \times k}KRc×k×k,其中kkk代表核的大小。因此,总的卷积运算次数O(Φ)O(\Phi)O(Φ)c′ck2h′w′c'ck^2h'w'cck2hw,又因为h′=h/s,w′=w/sh' = h/s, w'=w/sh=h/s,w=w/s,其中s是步长,所以最后推导出下面公式:
O(Φ)≈c′ck2hw/s2 O(\Phi)\approx c'ck^2hw/s^2 O(Φ)cck2hw/s2

Network Architecture

在这里插入图片描述
级联图片输入,对最上面的图使用最复杂的PSPNet50,对中间和下面的图使用轻量级的卷积网络。因为最上面的图的大小最小,就算使用最复杂的网络时间也不会很长,而且还能提取出比较多的特征;因为最下面的图的大小最大,使用轻量级的卷积网络比较快,再加上其本身语义信息就多,所以轻量级网络也能提取出很多东西。

Cascade Feature Fusion (CFF)

在这里插入图片描述
特征图F1:先做个2倍的upsampling,也就是双线性插值,然后分两支,左支用来跟label比较,在Cascade Label Guidance细讲;右支做了3×3的空洞卷积,为什么不做反卷积呢?因为空洞卷积与反卷积在相同计算量下相比空洞卷积的感受野更大,比如空洞卷积这里只用3×3就能达到反卷积7×7的效果。然后做了个Batch Norm
特征图F2:先做了1×1的卷积把通道数改成和F1一样,然后做Batch Norm
整合F1和F2产生新的F2’:将F1和F2的每一个值“求和”,再通过激活函数ReLu,得到新F2‘

Cascade Label Guidance

对结构中的每一个分支(不同大小的Input)用带有权重的softmax交叉熵损失函数算Loss,从而对每一个分支都能进行很好的训练。公式如下:
已知有T\mathcal{T}T个分支(例如T=3\mathcal{T}=3T=3)和N\mathcal{N}N个类别。在分支ttt中,预测的特征图Ft\mathcal{F}^tFt有大小为Yt×Xt\mathcal{Y}_t \times \mathcal{X}_tYt×Xt,在位置(n,y,xn,y,xn,y,x)的值为Fn,y,xt\mathcal{F}^t_{n,y,x}Fn,y,xt,对应的2D位置(y,xy,xy,x)的标签为n^\hat{n}n^
L=−∑t=1Tλt1YtXt∑y=1Yt∑x=1XtlogeFn^,y,xt∑Nn=1eeFn,y,xt\mathcal{L} = -\sum_{t=1}^{\mathcal{T}}\lambda_t\frac{1}{\mathcal{Y}_t\mathcal{X}_t}\sum_{y=1}^{\mathcal{Y}_t}\sum_{x=1}^{\mathcal{X}_t}log\frac{e^{\mathcal{F}^t_{\hat{n},y,x}}}{\sum^{\mathcal{N}_{n=1}e}e^{\mathcal{F}^t_{n,y,x}}}L=t=1TλtYtXt1y=1Ytx=1XtlogNn=1eeFn,y,xteFn^,y,xt

Structure Comparision and Analysis

在这里插入图片描述
通过跟别的网络架构的对比,体现ICNet的优越性。别的网络都是把高分辨率图片作为输入,并经过复杂的卷积神经网络,而ICNet是把低分辨率的图片扔进复杂的卷积神经网络,把高分辨率的图片扔进轻量级的神经网络。使用CFF和级联标签指导(cascade label guidance)整合中高分辨率的特征来逐渐提炼粗糙的低分辨率的语义图(CFF左分支跟label算loss做反向转播更新参数,CFF右分支融合低中高分辨率的特征图的特征,二者结合花费很少时间给出可靠的语义分割结果)。


对自己提问

(1) What did the authors try to accomplish? (作者想要实现什么?)
实现实时且精度尽可能高的语义分割模型。
(2) What were the key elements of the approach? (论文关键点是什么?)

  • Cascade Feature Fusion模块(我觉得Cascade Label Guidance已经融合在该模块中了)
  • 低,中高分辨率图片分别放进复杂的PSPNet,轻量级卷积网络中,从而达到高效

(3) What can you use yourself? (自己能如何使用?)
借鉴(2)中提到的思路,输入和模型可以是多层次的,不一定只能是一层。
(4) What other references do you want to follow? (有哪些参考是你想要跟进了解的?)
Related work中提到的一些技术,比如视频实时处理。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值