参考: https://zhuanlan.zhihu.com/p/27794982

目前用于语义分割研究的两个最重要数据集是VOC2012和MSCOCO。

VOC2012:

http://host.robots.ox.ac.uk/pascal/VOC/voc2012/

MSCOCO:

http:///explore/

在深度学习应用到计算机视觉领域之前,研究人员一般使用纹理基元森林(TextonForest)或是随机森林(Random Forest)方法来构建用于语义分割的分类器。

卷积神经网络(CNN)不仅能很好地实现图像分类,而且在分割问题中也取得了很大的进展。

最初,图像块分类是常用的深度学习方法,即利用每个像素周围的图像块分别将各像素分成对应的类别。其中,使用图像块的主要原因是分类网络通常具有全连接层,其输入需为固定大小的图像块。

2014年,加州大学伯克利分校的Long等人提出的完全卷积网络(Fully Convolutional Networks),推广了原有的CNN结构,在不带有全连接层的情况下能进行密集预测。

这种结构的提出使得分割图谱可以生成任意大小的图像,且与图像块分类方法相比,也提高了处理速度。在后来,几乎所有关于语义分割的最新研究都采用了这种结构。

除了全连接层结构,在分割问题中很难使用CNN网络的另一个问题是存在池化层。池化层不仅能增大上层卷积核的感受野,而且能聚合背景同时丢弃部分位置信息。然而,语义分割方法需对类别图谱进行精确调整,因此需保留池化层中所舍弃的位置信息。

研究者提出了两个不同形式的结构来解决这个问题。

第一种方法是编码器-解码器(encoder-decoder)结构。其中,编码器使用池化层逐渐缩减输入数据的空间维度,而解码器通过反卷积层等网络层逐步恢复目标的细节和相应的空间维度。从编码器到解码器之间,通常存在直接的信息连接,来帮助解码器更好地恢复目标细节。在这种方法中,一种典型结构为U-Net网络。

经典语义分割网络 语义分割常用网络_卷积

第二种方法使用了称作空洞卷积的结构,且去除了池化层结构。

经典语义分割网络 语义分割常用网络_经典语义分割网络_02

△ 空洞卷积,当比率为1时,即为经典的卷积结构。

实现细节Segnet网络:

卷积神经网络CNN(4)—— SegNet