基于多级特征融合及高斯条件随机场的图像语义分割方法与流程

文档序号:17094121发布日期:2019-03-13 23:43阅读:331来源:国知局
基于多级特征融合及高斯条件随机场的图像语义分割方法与流程

本发明涉及一种基于多级特征融合及高斯条件随机场的图像语义分割方法。



背景技术:

早期的图像分割只是将图像中的内容粗略分割成若干区域,而随着研究的发展,图像分割的粗糙已经不能满足各种应用的需求,随之提出语义分割。图像的语义是指图像或图像区域所包含的对象或实体的类别等语义信息,语义下的图像分割称为语义分割。图像语义分割能够将单帧图像中的前景与背景分离,并识别出每个前景目标的类别,相当于给每个像素赋予了一个语义标签。语义分割在精度和细度上都是图像分割的一次重大升级。

图像语义分割的目的是将图像中的每个像素归类为预定类别标签中的某一个,这样不但能分割出区域,还能对区域进行内容上的标注。现实中越来越多的视觉应用需要从影像中推理出相关的知识或语义,即由具体到抽象的过程。这些应用包括自动驾驶,人机交互,计算摄影学,图像搜索引擎,增强现实等,背后的实际需求均是精确且高效的分割技术。

当前最先进的图像语义分割模型使用深度学习与概率图模型相结合的方式。模型前端基于最初为图像分类任务而设计的深度卷积神经网络,将最后的全连接层全部替换为卷积层,因而称为全卷积网络,可以对任意大小的图像进行语义分割。模型后端采用全连接条件随机场对卷积网络粗提取的语义特征进行优化,增强了模型捕捉空间细节的能力。宏观上讲,全卷积网络更像是一种技巧,随着基本网络的性能提升而不断进步。深度学习加概率图模型是一种趋势:深度学习进行特征提取,而概率图模型能够从数学角度很好地解释事物间的本质联系。

具体的,基于全卷积网络的图像语义分割方法利用了现成的卷积神经网络作为其模块之一来产生层次化的特征,将现存知名的分类模型转化为全卷积模型:全连接层均替换为卷积层,输出的是空间映射而非分类分数。这些映射由小步幅卷积上采样(反卷积)得到,来产生密集的像素级别标签。long等人率先所做的这项工作被视为里程碑式的进步,因为它阐述了卷积神经网络如何可以在语义分割问题上进行端到端的训练,并高效地学习如何基于任意大小的输入来为语义分割问题产生像素级别的标签预测。vijay等人提出segnet引入更多的跳跃连接,并且使用了最大池化索引而不是全卷积网络中的编码器特征,因此segnet相对于全卷积网络来说更节省内存。fisher等人提出采用空洞卷积作为实现像素级预测的卷积层,能够在不减少空间维度的前提下,使感受野呈指数级增长。zhao等人认为全局场景能够提供图像语义分割的类别分布信息,于是提出金字塔池化模块通过使用较大核的池化层获取这些信息;

基于深度卷积神经的方法在分类性能和定位精度之间似乎天生难以兼得,卷积网络对图像空间变换具有的强大不变性使其可以准确地预测目标的存在和粗略的位置信息,分割结果往往是不够协调,某些小区域可能出现不正确的标注,与其周围像素标注不一致,因而无法精确地描绘对象的边界。同样,交叉熵损失函数也不是语义分割最理想的损失函数,因为图像的最终损失值只是每个像素损失值的叠加,交叉熵损失不能保证像素的连续性。调优分割架构的输出并强化其捕捉细粒度信息的一个通用方法是引入条件随机场作为其后端处理模块,使全连接的条件随机场模型作为其流程中的一个独立的后处理步骤,以此对分割结果进行调优。尽管全连接模型通常是低效的,但该模型由于可以用概率推理来近似,所以可以达到相对的高效。条件随机场利用了原始图像中像素间的相似性。

就图像语义分割的现代架构而言,主要存在两个问题:

1、前端特征提取丢失上下文信息:当前基于全卷积网络的语义分割问题中,输出图像的分辨率要与输入图像一致。然而,连续的池化和跳跃操作降低了所得特征图的分辨率,后续的特征图越来越小,必须通过反卷积操作对特征图进行上采样,将缩小的特征图还原到原始尺寸,以恢复空间分辨率。这个过程必然造成丢失信息无法还原,而且频繁的反卷积操作也需要额外的内存和时间。所以,图像语义分割需要对多种尺度的信息予以整合,也需要对局部信息与全局信息进行平衡。一方面,细粒度或者说局部的信息对于提高像素级别的标注的正确性来说是关键的,另一方面,整合图像的全局上下文信息对于解决局部模糊性问题来说也很重要。标准卷积神经网络架构并不擅长处理这种局部信息与全局信息之间的平衡,池化层可以使网络取得某种程度的空间不变性并保持同样的计算效率,却丢失了全局上下文信息,没有池化层的卷积网络也同样受限,毕竟其神经元的感受野只能随层数而线性增长。

2、后端模型优化难以收敛:后端引入条件随机场优化分割架构的输出以强化其捕捉细节的能力。然而,无论是常用的吉布斯条件随机场还是马尔可夫随机场,都存在公式复杂,求解不变等问题,这些问题时常导致模型训练时收敛缓慢,难以收敛甚至不收敛等情况。



技术实现要素:

本发明解决的技术问题是提供一种基于多级特征融合及高斯条件随机场的图像语义分割方法。

本发明的技术方案是:一种基于多级特征融合及高斯条件随机场的图像语义分割方法,包括以下步骤:

1)构建图像金字塔

对单帧图像构建一个四层的图像金字塔,每个层由下至上编号,第i层表示为gi,为了生成图像金字塔中的第i+1层,用一个高斯核kgaussian对gi执行卷积操作,并在之后删除每个偶数行和列,高斯核kgaussian表示为公式(1):

然后在输入原始图像g0上迭代上述过程,最终生成整个图像金字塔;

2)使用空洞卷积保持特征图分辨率不变

从滤波器的角度看图像这类二维信号,滤波器w在输入特征图x上做空洞卷积操作得到位置i的输出y:

其中空洞率r对应于对输入信号进行采样的步幅,相当于将输入x与通过在每个空间维度上在两个连续滤波值之间插入r-1个零而产生的上采样滤波器进行卷积,标准卷积相当于空洞率r=1的特殊情形;

3)多级特征逐层融合调优架构

由原始图像生成包含不同分辨率图像的图像金字塔,从顶层最小分辨率的图像开始通过若干全卷积操作生成包含局部信息的特征图,再将其上采样到与邻近层图像相同的分辨率,与邻近层初始特征图堆叠参与该层的后续若干全卷积操作,即融合得到新的局部特征,以此自上而下逐步调优,最后一层为了从特征图中得到最终的分割图进行了1×1的卷积操作并微调;

4)用双线性插值法进行上采样

通过双线性插值法对包含局部特征的低分辨率特征图进行上采样以融合到包含相对全局特征的高分辨率特征图中;

5)定义损失函数

采用最小化交叉熵损失函数计算卷积网络输出图中每个空间位置的交叉熵项总和,或者说是计算每个像素的预测概率分布和其真实概率分布间的距离:

其中,l是对错误分类标签的交叉熵损失函数,r是一个正则项,而函数l通常分解为指定像素的损失之和:

然后通过对交叉熵损失函数执行随机梯度下降,在pascalvoc2012数据集的分割任务上微调网络模型;

6)高斯条件随机场的优化输出

使用高斯条件随机场做后端进行优化,高斯条件随机场的能量函数e(x)为:

当a+λi是对称正定矩阵时,求解e(x)的最小值等价于求解方程:

(a+λi)x=b(12)

进一步的,本发明中,步骤2)中,空洞卷积允许通过改变空洞率r以自适应地修改感受野的大小,感受野的尺寸可以表示为:

f=((ksize+1)rrate-1)(3)

其中,ksize代表卷积核的实际大小,rrate是指空洞率。

进一步的,本发明中,步骤4)中,双线性插值法利用原图像中的四个点计算目标像素值进行插值,根据q11(x1,y1)、q12(x1,y2)、q21(x2,y1)、q22(x2,y2)四点处的f函数值可以计算未知函数f在点p(x,y)处的值,具体包括:

第一步,在x方向上进行线性插值得到:

其中r1=(x,y1),r2=(x,y2);

第二步,对y方向上进行线性插值,通过第一步计算出的r1与r2在y方向上插值计算出p点:

其中p=(x,y)。

本发明与现有技术相比具有以下优点:

1)本发明提出了一种多级特征逐层融合的调优策略,利用图像金字塔对原图进行多尺度像素采样以生成若干不同分辨率的图像,由顶层分辨率最低的图像开始输入网络前端进行语义特征的粗提取,并在最后上采样到与下一层分辨率稍高的图像相当,进入下一层与新分辨率图像一起参与网络前端的输入。这种前一层学习分层抽象而后一层捕获高精度信息的逐层融合方式有效地增加了模型捕捉上下文信息的能力。

2)本发明中,后端使用全连接条件随机场中的高斯条件随机场,其明显具有二次能量的全局解等诸多优点,有效缓解了模型训练时收敛速度缓慢甚至难以收敛等问题。

附图说明

下面结合附图及实施例对本发明作进一步描述:

图1为本发明方法的基本框架图;

图2为本发明中图像金字塔的结构示意图;

图3(a)为本发明中空洞率为1的3×3空洞卷积示意图;

图3(b)为本发明中空洞率为2的3×3空洞卷积示意图;

图3(c)为本发明中空洞率为4的3×3空洞卷积示意图;

图4为本发明中多级特征逐层融合架构示意图;

图5为本发明中双线性插值法的示意图;

图6为本发明中全连接条件随机场的示意图;

图7(a)为本发明中惩罚正则项的迭代过程示意图;

图7(b)为本发明中分割模型的回归损失示意图;

图7(c)为本发明中正则损失和回归损失之和的示意图;

图8为本发明中pascalvoc2012上得分与速度对比图;

图9为本发明中pascalvoc2012数据上的可视化比较图。

具体实施方式

实施例:

结合附图所示为本发明一种基于多级特征融合及高斯条件随机场的图像语义分割方法的具体实施方式,该方法的基本框架图如图1所示,本方法通过构建图像金字塔实现多级特征逐层融合的全卷积架构,试图使用自上而下的调优框架替代之前流行的并行池化模块,在获得不同尺度特征的同时逐层融合,保证了金字塔邻近层之间的特征优先融合,最大限度地捕获上下文信息。另外,使用高斯条件随机场进一步优化前端的输出,捕获更多的空间细节,使得分割效果图中对象边界更加精准。最终整体架构的输出得到最优的语义分割效果。

本发明通过计算图像金字塔每一层的初始特征图,并与上一层特征图的上采样结果串联后一起进入该层剩余的全卷积操作,最终的语义分割图通过金字塔底层的最后一次全卷积操作而获得。在本方法中,具体分为以下几个步骤:前端的构建图像金字塔、使用空洞卷积保持特征图分辨率不变、多级特征逐层融合调优架构、用双线性插值法进行上采样、定义损失函数,后端的高斯条件随机场的优化输出。

1、前端全卷积网络提取粗略语义特征

1)构建图像金字塔

sift算法通过构建一个图像金字塔来获取不同尺度上的特征信息,本方法对单帧图像也构建了一个四层的图像金字塔。想象金字塔是一组图层,图层越高,尺寸越小。

结合图2所示,每个层由下至上编号,第i层表示为gi,所以第i+1层(用gi+1表示)的分辨率要小于第i层(用gi表示)。为了生成图像金字塔中的第i+1层,我们用一个高斯核kgaussian对gi执行卷积操作,并在之后删除每个偶数行和列,高斯核kgaussian表示为公式(1):

可以很容易地注意到,生成的图像将是其前驱的四分之一。在输入原始图像g0上迭代上述过程,最终生成整个图像金字塔。

2)使用空洞卷积保持特征图分辨率不变

采用最初应用于信号处理领域小波变换分析中的空洞卷积方法,通过移除全卷积网络中最后几层的下采样操作以及相关的上采样操作来提取密集特征。这样,可以有效地控制卷积神经网络中特征图的分辨率而无需学习额外的参数,从而避免了标准卷积网络中特征图的分辨率越来越小,以致需要通过反卷积操作对特征图进行上采样将缩小的特征图还原到原始尺寸以恢复空间分辨率,却必然会丢失信息的问题,而且频繁的反卷积操作也需要额外的内存和时间。

从滤波器的角度看图像这类二维信号,滤波器w在输入特征图x上做空洞卷积操作得到位置i的输出y:

其中空洞率r对应于对输入信号进行采样的步幅,相当于将输入x与通过在每个空间维度上在两个连续滤波值之间插入r-1个零而产生的上采样滤波器进行卷积,因此称为空洞卷积。标准卷积相当于空洞率r=1的特殊情形。

空洞卷积允许我们通过改变空洞率r以自适应地修改感受野的大小,结合图3(a)、图3(b)、图3(c)所示。其中图3(a)是标准的3×3卷积核作用于感受野,和普通的卷积操作一样。图3(b)是rate=2的3×3空洞卷积,其卷积核实际大小仍然是3×3,只不过感受野增大到了7×7。图3(c)是r=4的3×3空洞卷积,其卷积核实际大小也依然是3×3,而感受野则增大到了15×15。感受野的尺寸可以表示为:

f=((ksize+1)rrate-1)(3)

其中,ksize代表卷积核的实际大小,rrate是指空洞率。可以看出,使用不同空洞率的ksize×ksize卷积核作用于同一输入可以得到不同感受野的特征。

3)多级特征逐层融合调优架构

目前最出色的并行池化思想很好地融合了各个层次的局部信息与全局信息,但是最终的聚合只是简单地统一上采样到相同分辨率形成最终的特征图。我们的方法认为,尺寸邻近的特征图作为相对局部与全局的信息先行融合可以更好地恢复由于分辨率降低而丢失的信息,继而提出一种新的特征融合方法。

结合图4所示,由原始图像生成包含不同分辨率图像的图像金字塔,从顶层最小分辨率的图像开始通过若干全卷积操作生成包含局部信息的特征图,再将其上采样到与邻近层图像相同的分辨率,与邻近层初始特征图堆叠参与该层的后续若干全卷积操作,即融合得到新的局部特征,以此自上而下逐步调优。这个逐步过程在得到很好的细节基础上获得了尽可能强的语义信息,更加有效地整合了不同区域的上下文来获取全局的上下文信息。最后一层为了从特征图中得到最终的分割图进行了1×1的卷积操作并微调。

4)用双线性插值法进行上采样

我们的方法使用双线性插值法将特征图恢复到与邻近层相同的尺寸,以此融合特征。以保证网络架构的简单清晰性和减少训练时的计算复杂度。

双线性插值法是目前语义分割中用得比较多的一种上采样方法。这种方法的特点是不需要学习,运行速度快,操作简单,只需要设置好固定的参数值即可。

具体结合图5所示,假设计算未知函数f在点p(x,y)处的值,已知条件是q11(x1,y1)、q12(x1,y2)、q21(x2,y1)、q22(x2,y2)四点处的f函数值。

第一步,在x方向上进行线性插值得到:

其中r1=(x,y1),r2=(x,y2);

第二步,对y方向上进行线性插值,通过第一步计算出的r1与r2在y方向上插值计算出p点:

其中p=(x,y)。

总之,双线性插值法利用原图像中的四个点计算目标像素值进行插值。我们的网络模型通过双线性插值法对包含局部特征的低分辨率特征图进行上采样以融合到包含相对全局特征的高分辨率特征图中。用双线性插值法进行上采样取代复杂的反卷积操作,降低了模型的复杂度。

5)定义损失函数

我们的模型所使用的损失函数和大多数语义分割模型一样,采用最小化交叉熵损失,该目标函数计算卷积网络输出图中每个空间位置的交叉熵项总和,或者说是计算每个像素的预测概率分布和其真实概率分布间的距离:

其中,l是对错误分类标签的交叉熵损失函数,r是一个正则项,而函数l通常分解为指定像素的损失之和:

上述定义的损失函数默认图像中每个像素的权重是均匀分布的,使得学习算法偏向于图像中占比大的区域,而忽略占比小的区域。我们通过对交叉熵损失函数执行随机梯度下降,在pascalvoc2012数据集的分割任务上微调网络模型。

2、后端条件随机场的优化输出

结合图6所示,使用两两之间全连接的条件随机场模型作为一个独立的后处理步骤,可以对分割结果进行调优。该模型将每个像素建模为某区域内的一个节点,无论两个像素距离多远,其两两之间的关系都会被衡量,因此,本模型也被称为密集或全连接因子图。使用此模型后,无论短期的还是长期的像素相互关系都被考虑进来,使得系统可以考虑到分割过程中需要的细节信息。

对于每个像素i具有类别标签xi还有对应的观测值yi,这样每个像素点作为节点,像素与像素之间的关系作为边,即构成了一个条件随机场。而我们通过观测变量yi来推测像素i对应的类别标签xi。

全连接条件随机场的能量函数e(x)为:

其中的一元势函数∑iψu(xi)即来自于前端全卷积网络的输出。而二元势函数如下:

二元势函数就是描述像素点与像素点之间的关系,鼓励相似像素分配相同的标签,而相差较大的像素分配不同标签,而这个距离的定义与颜色值和实际相对距离有关。所以这样条件随机场能够使图像尽量在边界处分割。而全连接条件随机场的不同就在于,二元势函数描述的是每一个像素与其他所有像素的关系,所以叫全连接。

6)高斯条件随机场的优化输出

离散的全连接条件随机场存在公式复杂,求解不变等问题,进而导致模型训练时收敛缓慢,难以收敛甚至不收敛的情况。我们使用高斯条件随机场做后端进行优化,高斯条件随机场的能量函数又与之前不同:

当a+λi是对称正定矩阵时,求解e(x)的最小值等价于求解方程:

(a+λi)x=b(12)

由此可见,高斯条件随机场的二次能量函数拥有明确全局最小值,解线性方程也比解复杂的能量函数优化简单得多。

本发明的论证实验使用的数据集是:pascalvoc2012。pascalvoc2012是目前在图像语义分割领域最常用的数据集,我们会在这个数据集上验证本发明的图像语义分割效果具有一定的优越性。该数据集包含20个前景对象和1个背景对象,其中有分别用于训练的1464张图像,用于验证的1449张图像和用于测试的1456张图像。hariharan等人为该数据集提供了大量额外的标注,将数据集的训练图像增加到了10582张。我们方法的精度通过这21个类别的像素交并集平均值来衡量:

其中,k是前景对象的个数,pij是指原本属于第i类却被分类到第j类的像素的数量。

实验硬件环境:ubuntu16.04,corei7处理器,主频为3.6ghz,内存为48g,显卡型号是nvidiagtx1080。代码运行环境是:python3.6.5+tensorflow1.8.0。

我们的实验基于tensorflow,以批量最小值14和动量0.9执行随机梯度下降算法,迭代600000次,学习率遵守迭代协议:

其中power=0.9。

如图7(a)、图7(b)、图7(c)所示,图7(a)是为防止过拟合而增加的惩罚正则项的迭代过程,图7(b)是分割模型的回归损失,经过600000次迭代后逐渐收敛至某个较为优化的区域,图7(c)是正则损失和回归损失之和,为整个目标函数的优化过程。图中可以看出,目标函数的优化过程并非一帆风顺,经过次数较大的迭代之后才会逐渐显现出整体收敛趋势。

本发明的算法与fcn(2015年,fullyconvolutionalnetworksforsemanticsegmentation),deeplab(2017年,deeplab:semanticimagesegmentationwithdeepconvolutionalnets,atrousconvolution,andfullyconnectedcrfs)和pspnet(2017年,pyramidsceneparsingnetworks)进行了对比,结果呈现在图9中。从图中可以发现我们的方法确实能够很好地分割出目标对象,像素定位相对而言较为精确,比fcn和deeplab有明显的优势。因为我们的方法是基于pspnet的并行池化多尺度融合思想做出的改进,分割效果与pspnet相比较为接近,不过还是可以发现在几处细微的地方略优于pspnet方法,总体上而言具有一定的优势。

由图8可知,fcn网络结构最简单,没有反卷积层,所以处理速度最快;deeplab则是在fcn的基础上加入了条件随机场进行后端优化,因此处理速度慢很多。我们的方法在精度上与pspnet相比有略微优势,而速度上因为有高斯条件随机场做后端二次处理,因而较pspnet的处理速度慢些,不过高斯条件随机场的二次能量函数公式简洁,计算方便,相比deeplab而言较为迅速。

表2pascalvoc2012数据上的得分

我们最终在pascalvoc2012测试集上执行评估。如表所示,为了分析不同对象的分割,我们列出了pascalvoc2012数据集中所有对象的分割精度。可以看出最好的方法并不是对所有对象的分割效果都是最佳的,并且一些特殊或者被局部遮挡导致不连通的对象分割难度较大。但就总的miou而言,我们的方法确如预测所言,多级特征逐层融合的方式在一定程度上比许多其他方法具有优势。

当然上述实施例只为说明本发明的技术构思及特点,其目的在于让熟悉此项技术的人能够了解本发明的内容并据以实施,并不能以此限制本发明的保护范围。凡根据本发明主要技术方案的精神实质所做的修饰,都应涵盖在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1