论文阅读(详细):ERFNet: Efficient Residual Factorized ConvNet for Real-Time Semantic Segmentation

ERFNET文章链接

https://github.com/lilingge/ERF_net_tensorlfow

由于该文成果被用于商业了,所以原始的基于pytorch实现的代码被作者隐藏了,所以复现了基于tensorflow的代码,上传在了github上,网络自己调参,预训练,微调,在cityscapes数据集上,1024x2048大小的图像在1080TI上做inference 大约在0.1s左右。

本文对于现在来说,属于比较早的一篇实时的语义分割网络,即使在目前新网络新方法层出不穷的情况下,依然占有自己的一席之地,模型并不复杂但却十分好用,文章被发表在2017年 IEEE的ITS上,还获得了最佳学生论文奖.目前很多文章真实的复现效果并没有达到文章中给的数据那样,效果总是差强人意甚至有的根本不能看,例如一篇2019年CVPR的,基于轻量级网络shufflenet_v2的实时分割网络

《An efficient solution for semantic segmentation: ShuffleNet V2 with atrous separable convolutions》

https://arxiv.org/abs/1902.07476

速度是很快(实测在1080Ti上 360x640 约173FPS),但是精度不太好,比文章说的效果差了不少,文章感觉写的也比较水。


背景

语义分割能够解决自动驾驶领域很多的感知任务需求,自动驾驶需要在感知任务中采用复杂的解决方案,如识别道路,车辆,行人,交通标志等。但是当前的模型结构复杂,计算开销较大使之不适合应用于ITS领域的应用。近年在分类任务上的精度不断增加,但是很难应用于真实应用(在真实环境中受设备算力限制)。此外,能够满足实时分割任务的网络,却牺牲了过多的精度。本文作者结合residual network,factorized convolution,dilated convolution提出一种新的网络结构,实现最高的效率和准确性之间的平衡。

模型

模型沿用了Encoder-Decoder的结构。

详细的网络结构如下:

整个网络包含23层,其中1-16层为Encoder, 17-23层为Decoder。

 

Downsampler block受另一个实时语义分割网络Enet的设计,其实本文不少灵感也来自于Enet

例如在初始图像输入1024X512X3,左边经过3X3卷积,步长strides = 2, 得到16 channels, 

右边经过MaxPooling 得到3 channels,经过concat操作后得到16channels,最终图像变为 512X256X16,

然后使用Relu函数激活传入下一层。

优点在于从输入图像一开始就进行了减少输入图像尺寸的操作,本身视觉信息就存在大量冗余,这样节省了大量的计算。

 

 

Non-bottleneck-1D (Non-bt-1D) 受ResNet, factorized convolution影响,分析了ResNet中 Non-bottleneck 参数量多,精度高,Bottleneck 参数量稍少,精度稍低的特点。 选择将factorized convolution应用于Non-bottleneck,使精度和参数量获得一个平衡得到Non-bottleneck-1D。

Non-bottleneck-1D中交错使用了dilated convolution,来获取更多的上下文信息进入下一层。

结果

在cityscapes数据集上效果:

C = 19类的每类的meanIU

 

平均IU

FPS

 

本人复现的可视化结果:

 

 

 

 

 

 

 

  • 5
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值