上期讲到图像分割(Image segmentation)根据某些规则把图片中的像素分为不同的部分(加不同的标签),它可分为:超像素、语义分割、实例分割、全景分割, 各有联系,又有区别。

这期我们就来讲讲语义分割(Semantic Segmantation), 语义分割是指将图像中的每一个像素都赋予一个类别标签,用不同的颜色表示。

一、语义分割的概念和基础

举例:在对于我们人来说,给出这一幅图,我们很容易知道图片中那部分是猫,那些部分是落叶,那计算机怎么是如何判别呢?

图像语义分割和图像分割的区别 图像处理语义分割_深度学习

因为对于计算机来讲这幅图是一堆像素点组成,那么对于计算机来说,只要找到图片中那些像素点属于猫,那些像素点属于落叶,这就是语义分割做的事情。

图像语义分割和图像分割的区别 图像处理语义分割_图像语义分割和图像分割的区别_02

对于这张图,语义分割要做的事情就是找到图片中那些像素点属于小朋友,那些像素点属于机车,右图就是进行语义分割之后的结果。

总的来说语义分割的工作就是对原图片中的每个像素点进行类别划分,在这里属于小朋友的像素点标绿色,机车的像素点标绿色,这就是两个不同的类。

二、语义分割SegNet的来源

Segnet模型由Vijat  Badrinarayanan, Alex Kendall, Roberto Cipolla在2015年发表, 在FCN的语义分割任务基础上,搭建编码器-解码器对称结构,实现端到端的像素级别图像分割。下图是 Segnet 网络架构,后面讲解。

图像语义分割和图像分割的区别 图像处理语义分割_深度学习_03

Segnet的模型框架和思路比较简单,应用了当年很火的VGG16框架,去掉全连接层,搭建对称模型,在2014年当时还没有兴起框架,基于Caffe实现端到端的像素级别网络模型是很难的,之后在MATLAB2016中,Sgenet成为内置的用于语义分割的深度学习算法。

2016年,Segnet研究组在原有网络框架基础上加入了跳跃连接,有了进一步的发展,但是后来新奇了各种规模更大层次更深的深度网络(以Resnet为主要框架)把Segnet碾压。

下图是SegNet论文原文:https://arxiv.org/abs/1511.00561,文末可获取。

图像语义分割和图像分割的区别 图像处理语义分割_人工智能_04

三、语义分割的模型架构

Segnet模型是一个比较基础的语义分割模型,在讲解其结构之前,我们先了解Convolutional Enconder-Decoder的结构,也就是卷积层编码与解码的过程,如下图所示:

图像语义分割和图像分割的区别 图像处理语义分割_深度学习_03

卷积层的编码与解码就是图像的Encoder和Decoder过程,编码Encoder的过程就是对我们Input的图片不断进行特征提取,这个过程中图片的长和宽不断的进行压缩,通道也会变得越来越大,这就是卷积神经网络的特点。 解码Decoder的过程就是对Enconder最终提取到的特征层进行长和宽的不断的放大,放大到和原图差不多的尺寸,再对每一个像素点进行分类,最终我们得到每个像素点所属的类是什么, 分类一般是使用Softmax函数。(压缩-》放大-》分类)

四、语义分割系统发展的基础

下面几个是对对计算机视觉领域做出重大贡献的标准深层网络,用于图像的特征提取,也就是SegNet的编码部分。

Alexnet: Toronto首创的Deep CNN,以84.6%的测试准确率赢得了2012年Imagenet竞赛。它由5个卷积层、最大池层、作为非线性的ReLUs、3个完全卷积层和dropout组成。

VGG-16这款牛津型号以92.7%的准确率赢得了2013年的Imagenet竞争。它使用第一层中具有小接收场的卷积层堆栈,而不是具有大接收场的少数层。

GoogLeNet:这GoogLeNet赢得了2014年Imagenet的竞争,准确率为93.3%。它由22层和一个新引入的称为初始模块的构建块组成。该模块由网络层网络、池操作、大卷积层和小卷积层组成。

Resnet:这款微软的模型以96.4%的准确率赢得了2016年的Imagenet竞争。这是众所周知的,因为它的深度(152层)和残余块的引进。剩余的块通过引入标识跳过连接来解决培训真正深层架构的问题,以便层可以将其输入复制到下一层。

MobilNet: MobileNet的基本单元是深度级可分离卷积(depthwise separable convolution), 是CVPR-2017一篇paper,作者均来之Google, 采用新的卷积方式减少参数数量 并提升运算速度。

五、语义分割常用数据集和评估算法指标

1.目前有一些常用于训练语义分割模型的数据集:

  • Pascal VOC 2012 :   有 20 类目标,这些目标包括人类、机动车类以及其他类,可用于目标类别或背景的分割。
  • Cityscapes:  50 个城市的城市场景语义理解数据集。
  • Pascal Context:  有 400 多类的室内和室外场景。
  • Stanford Background Dataset:  至少有一个前景物体的一组户外场景

来自 Stanford Background Dataset 的示例图像,该数据集的图像大致为 320 *240 像素,还包括指向每块像素所属类别的整数矩阵。

图像语义分割和图像分割的区别 图像处理语义分割_计算机视觉_06

2.用于评估语义分割算法性能的标准指标是平均 IOU(Interp Over Union-交并比)

IoU 定义如下:

图像语义分割和图像分割的区别 图像处理语义分割_深度学习_07

这样的评价指标可以判断目标的捕获程度(使预测标签与标注尽可能重合),也可以判断模型的精确程度(使并集尽可能重合)