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

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

内容简介:这是专栏《图像分割模型》的第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


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

查看所有标签

猜你喜欢:

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

Java语言程序设计

Java语言程序设计

(美) Y. Daniel Liang / 李娜 / 机械工业出版社 / 2011-6 / 75.00元

本书是Java语言的经典教材,多年来畅销不衰。本书全面整合了Java 6的特性,采用“基础优先,问题驱动”的教学方式,循序渐进地介绍了程序设计基础、解决问题的方法、面向对象程序设计、图形用户界面设计、异常处理、I/O和递归等内容。此外,本书还全面且深入地覆盖了一些高级主题,包括算法和数据结构、多线程、网络、国际化、高级GUI等内容。 本书中文版由《Java语言程序设计:基础篇》和《Java语......一起来看看 《Java语言程序设计》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

在线进制转换器
在线进制转换器

各进制数互转换器

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具