APP下载

利用深度学习进行图像分割

2018-01-30任博涵

中国设备工程 2018年23期
关键词:像素卷积物体

任博涵

(,陕西 咸阳 712000)

1 概述

1.1 研究背景与意义

随着计算机科学技术以及深度学习的不断发展,图像处理和分析逐渐形成了自己的体系。图像分割是图像处理中的一项关键技术也是计算机视觉、图像处理等领域的基础性问题之一,同时是图像分类、场景解析、物体检测、图像3D重构等任务的关键步骤。从20世纪60年代开始,这项研究至今仍然是研究的热点之一,并且被广泛应用于交通控制、气象预测、地质勘探、医学影像分析、人脸与指纹识别等诸多领域。

1.2 研究现状

传统的图像分割方法,如阈值法,边缘检测法等,虽然原理都是不同的,但是这些传统的图像分割方法用的都是像图像的颜色特征,纹理特征,统计直方图等的一些比较低级的图像特征。在一些比较简单的图像分割应用中可能会有比较好的效果,但是在一些更加复杂的应用场景下,这些传统算法的效果就不是非常理想。利用图像本身涵盖的内容信息更加有效与图像中级,高级语言结合来提升图像分割效果是在深度学习出现以前的研究热点。规范割算法是Shi等人在2000年提出的一种图像分割方法,在考虑了子图间的差异性的基础上,同时考虑了子图内部的相似性。规范割算法根据图像的轮廓特征以及纹理特征来全局最小化损失函数来得到细尺度分割结果,因此在当时取得了不错的效果。超像素算法是Moorer 等人于2008年基于最小割的概念提出的算法,该算法以二维图像边界代价图作为输入,保存了两个像素之间存在边界的概率值,它的分割准确度相对来说也比较高。2004年,Felzenswalb 和 Huttenloche提出 FH 算法,该算法将图像映射成无向图,综合考虑了区域内部相似度和区域之间的差异性,通过对图中的顶点进行聚类实现分割,能够较好地保持图像边界,因此可以准确的分割出图像的整个轮廓。Girshick等人于2014年提出了R-CNN方法,该方法首先使用搜索算法搜多到大量的可能存在物体的候选框,然后使用alexnet等网络进行分割或者检测,在一定的程度上提高了图像分割的准确率,但是速度非常慢。

2 图像分割

2.1 什么是图像分割

语义图像分割的任务是对于图像中的每一个像素点来进行分类,这是目前在计算机数据领域最重要的问题之一,这项工作包含了图像分类,物体检测以及多类别的物体检测,还有图像分割所有的计算机视觉的基本任务。语义分割可以为其他的任务,如物体定位,获得物体的形状以及大小等提供大量的信息,比如说提供物体的一个边缘的细节以及大概的位置等。

2.2 图像分割的一般过程

图像分割的一般过程主要分为三部分,首先需要根据需求定制我们自己的数据集,包括训练数据,测试数据以及交叉验证数据等,具体的构造方法可以请专门的标注人员标注自己的数据,或者使用目前已经公开可访问的数据集,本文选择后者。另外由于图像分割的特性,不需要对图片进行缩放,但是为了增加模型的准确性,我们仍然在训练的时候将图像缩放至640×384大小。第二步需要我们根据数据的不同特征,构造不同的分割方法,进行大量的实验,调试超参数以获得比较优秀的分割模型。第三步是使用我们已经训练好的模型对图像进行测试,查看或者观察我们的模型的效果如何。

3 图像分割方法

本文所采用的网络结构分别是如下的方法,由于我们的基网络是vgg16以及ResNet110,因此首先需要使用已经在ImageNet训练好的模型对网络进行初始化,这样可以获得比较好的初值,加速网络的收敛速度,然后在我们的数据集上进行训练。

3.1 DeepLabV1

利用深度学习进行图像分类在整个图像领域变得越来越普遍,尤其是随着最近几年硬件技术的进步,以及相关研究发现,越深的网络在分类领域所能获得的效果也越来越好。但是这样往往伴随着一个问题,就是随着网络深度的增加,我们不得不去增加很多池化层来减少网络的参数,增加网络的训练以及预测的速度,同时还可以增加网络的感受野。但是在图像分割领域增加大量的池化层会降低网络中特征图的分辨率,同时也会降低最终网络的预测结果的分辨率。另一方面网络加入池化层后会增加网络的不变性,这种不变性在对图像进行分类的时候有着不错的效果,但是在对图像分割的时候从特征图转换到物体的位置的时候就比较的难了,这也是为什么很多深度学习方法的预测结果中对于物体的大概位置预测的都比价准确,但是对于一些细节的分割就比较的差。

为了解决如上两个问题,DeepLab提出了使用空洞卷积来增加网络的感受野,但是同时不会造成网络中特征图分辨率的减少。对于普通的卷积来说,如果只是想要增加网络的感受野,可以增大卷积核的大小,但是增加卷积核的大小就会造成网络参数的增多,进一步降低网络的速度,但是空洞卷积是在不改变卷积核大小的基础上增加了网络的感受野,空洞卷积是这样的,在我们做卷积的时候通常是需要对连续的像素进行卷积,但是在空洞卷积中如果设置速度为2,就是每隔一个像素点做一次卷积。这样我们在卷积的时候就不需要进行池化操作了,而是用空洞卷积来替代池化操作。

为了解决神经网络对于位置的预测比较差的情况,现在的方法通常是使用多个网络,获得多个网络的输出结果,最后利用多个网络的输出结果做一个整合来解决这种情况。但是如果这么做的话就意味着我们的网络参数会成倍的增加,这样网络的速度也会成倍的减慢,尤其是在一些对于速度要求比较高的场景,如自动驾驶中,我们不仅需要获得比较好的分割结果,同时需要获得非常快的速度。因此DeepLab提出了使用条件随机场来使得网络更好的对物体的边缘做分割,实验证明,这是一种在速度上以及进度上比较这种的一种方法。

DeepLabV1的网络结果基本上是根据VGG16的网络结构修改而来的,由原来的一个分支设计成两个分支,其中一个分支只有两个卷积层,都是有128个卷积核,第一个卷积核的大小是3×3的,第二个卷积核的大小是1×1的,然后另外一个分支在第四个池化层之前的网络结构和原始的VGG都是基本保持一致的,但是在第四个池化层以后加了两个卷积层,这两个卷积层的结构和第一个分支的结构是一致的,最终对两个分支的结果做一个整合。整合后的结果再接一个softmax就是网络最后的输出,针对最后的输出做一个简单的处理我们就可以获得最终的预测图。

3.2 DeepLabV2

我们很多时候如果想要获得更加好的网络输出结果,往往意味着我们需要以更加慢的速度或者更加多的参数来实现。比如说现在最常见的对训练多个平行的网络,然后对多个平行的网络的输出结果进行合并,再作为最后的输出结果。但是这样做就意味着我们的网络参数是成倍增加的。另外,多个不同分辨率的输出在尺寸上是不相同的,这样我们需要对每个网络做不同的插值才可以获得最终的结果,这样就造成了不同分辨率的特征图的合并。因此,提出一种更加高效的方法,就是使用相同大小的卷积核做卷积操作,但是每个卷积核的速度是不同的,本文中使用4个不同的速度,分别是6,12,18,24,这样我们在没有增加网络参数的前提下增加了网络的感受野。

本文所使用的DeepLabV2的网络结果是在ResNet101的基础网络上修改而来的,虽然使用多种分辨率的输入会造成网络参数的增加,但是由于本文使用了多种不同速度的卷积核,因此所造成的网络参数的增加并不是倍数的增加。本文还使用了三个不同的网络,这里的三个不同的网络是指的网络的参数不同但是结构是一致的。分别接受原图,0.5倍的原图以及0.25倍的原图,接下来是33个残差块,每个残差块由两个分支构成,一个分支是由一个卷积一个批规范化层构成的,另外一个分支是由三个卷积层构成的,其中第一个和第二个卷积层后会有一个批规范化层和一个Relu函数层构成,另外一个也就是最后一个卷积层是不经过Relu层的,然后把两个分支的结果合并成一个,再过一个Relu层就构成了一个残差块。然后在第33个残差块的输出后接4个不同的卷积层,每个卷积层的速度是不同的,也就是上文中介绍的4个速度,这里的卷积使用的是空洞卷积。然后对4个卷积层的输出做一个整合,就可以获得当前网络的输出结果了。最后分别接受低分辨率图像的网络输出结果做一个插值,最后将三个网络的结果叠加到一起就构成了网络最终的输出结果。

4 模型评价方法

对于图像分割任务来说,目前主要的评价方法有两种,一种是全局像素的准确率,另外一种是平均交并比。由于图像分割是对图像中每一个像素进行分类的任务,因此我们在评价模型的时候,可以使用全局像素的准确率。首先我们需要统计一副图像中预测正确的像素点的个数,然后除以当前图像的所有像素的个数,最后再将所有图像的准确率加起来除以所有图像的个数即可。但是有的时候会出现虽然全局准确率很高,但是人类所观察到的效果比较差的情况,这就诞生了另外一种评价方法平均交并比,算法用一副图像的并集比上交集。其中,交集表示我们预测出来的一类物体的所有区域与真实的标记的区域的交集,并集指这两者的交集。这样如果我们要使得这个评价标准最大,我们需要同时满足使得模型的预测结果中对于预测正确的类别要越大对于预测错误的类别越少。

5 总结与展望

随着计算机硬件技术的进步,尤其是大规模并行计算以及GPU的发展,利用深度学习解决图像分割任务变得越来越简单,同时准确性也变得越来越高。另外随着最近几年人工智能技术的火热,尤其是无人驾驶技术,以及大量可行驶机器人等,为图像分割技术提供了高质量的数据。本文主要介绍了图像分割的背景意义,以及综述了图像分割的一般流程,并重点介绍了两种图像分割的方法,为了加速计算,减去了DeepLab中的条件随机场后处理。但是,利用深度学习解决图像分割问题仍然存在着比较多的不足之处,主要是部分网络结构太大,分割速度比较慢;部分边缘信息分割不够准确。

猜你喜欢

像素卷积物体
像素前线之“幻影”2000
基于3D-Winograd的快速卷积算法设计及FPGA实现
深刻理解物体的平衡
卷积神经网络的分析与设计
“像素”仙人掌
从滤波器理解卷积
我们是怎样看到物体的
基于傅里叶域卷积表示的目标跟踪算法
ÉVOLUTIONDIGAE Style de vie tactile
高像素不是全部