前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >空洞卷积与DeeplabV2实现图像语义分割的测试(tensorflow)

空洞卷积与DeeplabV2实现图像语义分割的测试(tensorflow)

作者头像
sparkexpert
发布2018-01-09 11:26:16
1.3K0
发布2018-01-09 11:26:16
举报
文章被收录于专栏:大数据智能实战

图像语义分割是对图像像素级理解的基础,也是图像处理的高阶操作。自从深度学习出来之后,已经有了不少的基于卷积网络的图像语义分割模型,如从全卷积网络到大型卷积核:深度学习的语义分割全指南这篇文章介绍了非常多的模型。

本篇博客只对空洞卷积进行多尺度背景聚合(Multi-Scale Context Aggregation by Dilated Convolutions)和DeepLab2(DeepLab + ResNet)两篇来进行测试。毕竟在介绍DeepLab2的时候需要用到空洞卷积。

(1)空洞卷积

空洞卷积的原理如图所示,仔细看了下原理,才知道在传统的CNN中,正常都会采用pooling池化来达到降维的目的,这种在图像语义分割中会产生一定的副作用,如经典的FCN在第3-5的featuremap(特征层)上进行语义分割,由于经过池化后的特征层上像素尺寸比较低,即使通过上采样,featuremap上的精度也会损失。因此空洞卷积的目的是:不要池化层,毕竟池化之后正常会减少像素的信息而导致信息损失。同时在某个卷积操作后进行如图所示的操作,从而可以扩大感知的视野,再采用这样大视野的新的featuremap操作从而来实现更加精确的语义分割。在Dilated Convolutions文章指出dilated convolution既可以以指数的速度扩大感受野且不会降低特征的分辨率和大小。dilated convolution感受野指数级计算的公式如下:F^(i+1)=(2^(i+2) − 1)×(2^(i+2) − 1)。

  对该模型进行测试,以实时路面某个监控场景来例,其语义分割结果如下所示,可以发现对汽车和行人的监控场景还不错。

上面的图场景比较复杂,分割结果也相对较差,主要里面的三轮面包车可能在Camvid这个训练集里面没有,导致没有识别的缘故。

(2) DeepLab2

DeepLab: Semantic Image Segmentation with Deep Convolutional Nets, Atrous Convolution, and Fully Connected CRFs。其流程图如下所示:

可以看出,DeepLab2使用了带孔/空洞卷积,金字塔型的空洞池化(ASPP)和全连接 CRF等多项技术的结合。

其中空洞卷积见第1部分,而SPP是一种空间金字塔分辨率的方式,从而来实现多个尺度的featuremap,从而可以实现对多种不同尺度图像对象的语义分割。

   DeepLab2的测试结果如下:

(1)论文原图的测试,可以发现分割精度还不错。

(2)路上行人的分割。

可以发现,对于远景的超市门口的人的分割还是不够。。。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017年07月20日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档