【图像分割模型】用BRNN做分割—ReSeg

栏目: 数据库 · 发布时间: 5年前

内容简介:这是专栏《图像分割模型》的第9篇文章。在这里,我们将共同探索解决分割问题的主流网络结构和设计思想。尽管许多人都知道RNN在处理上下文上多优于CNN,但如何将RNN用于分割任务还是值得讨论一下。本文我们就来聊聊用BRNN做分割的ReSeg。作者 | 孙叔桥

这是专栏《图像分割模型》的第9篇文章。在这里,我们将共同探索解决分割问题的主流网络结构和设计思想。

尽管许多人都知道RNN在处理上下文上多优于CNN,但如何将RNN用于分割任务还是值得讨论一下。本文我们就来聊聊用BRNN做分割的ReSeg。

作者 | 孙叔桥

编辑 | 言有三

本期论文

ReSeg: A Recurrent Neural Network-based Model for Semantic Segmentation

1 简单说说BRNN

(1) 什么是循环神经网络

不同于卷积神经网络(CNN,Convolutional Neural Network)通常以图块(patches)为输入,循环神经网络(RNN,Recurrent Neural Network)的输入是序列形式的。即使在处理图像时,通常也需要对图像矩阵进行展开(flatten)操作,再应用RNN。 输入序列数据后,RNN在序列的演进方向递归所有节点,并将其定向链式连接。

下图是一个简单的RNN单元示意图:

【图像分割模型】用BRNN做分割—ReSeg

(2) 为什么要用RNN

尽管CNN在处理多维数据(如图像)时的表现相当不错,但是其需要依赖人工指定的核函数来完成计算,因此在处理上下文信息的时候受到了限制。 相反,RNN本身拓扑结构的设计,使得其能够利用内部记忆处理任意时序的输入序列,从而在长短时间间隔序列的处理上比CNN更具优势。

(3) 什么是BRNN

BRNN是双向循环神经网络(Bi-directional RNN)的缩写,属于循环神经网络的一种。基础RNN只能依据之前时刻的时序信息来预测下一时刻的输出,但是有些问题中需要联系上之前和未来状态,共同进行预测。BRNN由两个方向不同的RNN堆叠而成,同时处理过去和未来信息。下图是BRNN的示意图:

【图像分割模型】用BRNN做分割—ReSeg

2 ReSeg:用BRNN做分割

ReSeg是基于图像分割模型ReNet提出的。因此,我们首先来看一下ReNet。下图是ReNet的运算示意图:

【图像分割模型】用BRNN做分割—ReSeg

如图所示,ReNet由两层顺序排列的RNN构成。在给定输入图像(或前层)特征后,ReNet对展开结果分别按列、按行扫描。每个扫描过程由两个相反方向的RNN运算单元实现。具体公式如下:

【图像分割模型】用BRNN做分割—ReSeg

其中f代表RNN,I为图像子块行数(图像被分割成IxJ块),o是结果,z为之前的状态,p为子图块内的像素点。

给定输入图像后,ReSeg首先用预训练好的VGG-16提取图像的特征,随后开始应用基于SeNet的网络结构进行分割任务。具体网络结构如下图所示:

【图像分割模型】用BRNN做分割—ReSeg

从网络结构可以看出,ReSeg应用了3次串联的完整ReNet模块,空间分辨率在这个过程中逐渐减小。这么做的目的是,将VGG-16提取的特征进行进一步的处理,从而得到对输入图像更复杂的特征描述。

特征提取结束后,特征图对输入图像的空间分辨率下降为1/8,因此需要恢复空间分辨率以得到稠密的分割结果。因此,在所有ReNet模块结束后,ReSeg应用了若干层由反卷积组成的上采样层,将特征图的空间分辨率恢复成原始输入图像的空间分辨率。

最后,简单应用softmax实现分割。

3 实验结果

ReSeg的实验用到了三个数据库,分别是Weizmann Horses、Oxford Flowers和CamVid。其中,前两个数据库比CamVid要容易一些,因此这里只讨论CamVid下ReSeg的表现,感兴趣的读者可以移步原文看ReSeg在其他数据库下的实验结果。

下表是ReSeg在CamVid数据库下对不同类别的分割结果以及与其他算法的效果比较。

【图像分割模型】用BRNN做分割—ReSeg

下图是ReSeg在CamVid下的分割结果图:

【图像分割模型】用BRNN做分割—ReSeg

从左到右:输入、真值、ReSeg结果、带类别平衡的ReSeg结果

本专栏作者维护的深度学习图像分割星球上线了,欢迎大家参与学习与讨论

【图像分割模型】用BRNN做分割—ReSeg

总结

尽管ReNet和ReSeg的提出时间较早,分割效果相比较state-of-the-art算法也略有不足。但是,其提供的模型设计与卷积操作上的思路是非常新颖的,同时也巧妙地用GRU解决了RNN梯度消失问题,因此对于分割任务的网络设计具有一定的启发性作用。

下期我们继续RNN的讨论,看看如何在ReNet的基础上处理长程上下文信息下的分割问题。下回见!

今晚直播

【图像分割模型】用BRNN做分割—ReSeg

今日看图猜技术

【图像分割模型】用BRNN做分割—ReSeg

有三AI生态

【图像分割模型】用BRNN做分割—ReSeg

更多精彩内容请关注知乎专栏《有三AI学院》

【图像分割模型】用BRNN做分割—ReSeg

转载文章请后台联系

侵权必究

【图像分割模型】用BRNN做分割—ReSeg


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Ajax实战

Ajax实战

Dave Crane Eric Pascarello / 李锟(网名dlee) / 人民邮电出版社 / 2006年4月 / 69

本书是目前 Ajax 领域最为全面深入的一本著作,其中不仅有对于基础知识的介绍,还有对于 Ajax 开发中重大的体系架构问题的深入探讨,总结了大量 Ajax 开发中的设计模式,并讨论了框架、安全性与性能等等。书中提供了几个典型的例子,兼顾各种开发平台,这些例子的代码稍作修改就可以直接应用于项目开发之中,代码源文件可以从图灵网站下载。本书内容广泛且深入,同时适用于各个层次的 Web 应用开发人员。一起来看看 《Ajax实战》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试