论文:ICNet for Real-Time Semantic Segmentation on High-Resolution Images
官网:https://hszhao.github.io/projects/icnet/
Github: https://github.com/hszhao/ICNet
ICNet即图片级联网络(image cascade network),是一款主打实时性的语义分割网络。
主要贡献:
- 提出了实时的语义风格框架ICNet,通过融合底层语义信息和高层细节信息进行优化。
- 对于每一个级联的不同尺度的特征都进行loss优化,有助于提高分割结果
- 相比其他分割网络,ICNet获得了5倍的加速和5倍的内存消耗减少。可以在1024*2048的分辨率下达到30fps。
速度分析:
假设,输入图像为V,输出图像为U,卷积核为K,则最终卷积核的计算量为O
语义分割的几种网络结构对比:
(a)FCN+skip connection
(b)编码+解码结构,像SegNet,DeconvNet,UNet,ENet,LRR,RefineNet
(c)多尺度预测融合的结构,像DeepLab-MSC,PSPNet-MSC
(d)ICNet结构
网络结构:
网络的cascade结构,需要同时输入原图(high resolution),1/2原图(medium resolution),1/4原图(low resolution),这3个不同分辨率的图片。每一个级联模块都进行3次下采样操作,都会进行loss的计算。最终,编码部分下采样3次,解码部分上采样1次。网络部分最终输出的大小为原图的1/4,最终经过上采样操作,还原回原图的尺寸。
其中CCF模块表示级联特征融合模块(cascade feature fusion),具体结构如下图。
其中,上采样操作使用upsample实现。相比反卷积操作,upsample+dilated conv可以使用相同的卷积核大小,收获更大的感受野。比如7*7的deconvolution和upsample+3*3 的dilated conv具有相同的感受野。
损失函数:
基于加权的softmax cross entropy,其中λ1,λ2,λ3,分别为0.4,0.4,1.0。
实验结果:
总结:
ICNet是一个实时的语义分割框架,精度远好于ENet,速度比ENet略慢。