一种基于对抗训练的图像语义分割方法与流程

文档序号:13878128阅读:282来源:国知局

本发明属于计算机视觉技术领域,涉及图像语义分割和对抗训练,具体涉及一种基于对抗训练的图像语义分割方法。



背景技术:

随着人工智能的发展及普及,图像语义分割在计算机视觉领域的重要地位日渐凸显。许多应用都需要精确、高效的分割技术,如自动驾驶,室内导航,人机交互等等。近五年来,深度学习方法在计算机视觉领域取得巨大成功,各种网络结构被相继提出用以解决该领域的不同问题,如图像分类、定位等。然而,计算机视觉领域最成功的网络结构卷积神经网络(convolutionalneuralnetwork,cnn)对于图像语义分割来说,有一个重大的缺点:由于网络结构中大量的最大池化层堆叠,cnn最后获取的特征是整张图片的信息,而忽略了图片的局部特征,如图片中物体的边缘、位置等信息。诚然,cnn的特征不变性正是分类定位任务所要求的,然而图像语义分割指的是将图片中每个像素点归为一个类别,这就要求在获取全局特征的同时,保留局部特征。所以,当cnn直接运用到图像语义分割时,往往不能取得特别好的效果。并且cnn最后的分割结果,各像素之间的预测值往往是相互独立的,这也使得最后的分割结果很难保留原始图片的细节信息。

在现有的比较常见的解决上述问题的方法中,大致可归于以下三类;跨层连接:这是指从卷积神经网络的中间层获取图片局部特征,与网络的高层的全局特征进行融合,这样最后生成的分割图像会保留一部分细节信息。条件随机场:这是一种概率图模型,它利用cnn的分割结果来定义单点势能以及配对势能,接着进行推断来得到模型参数,这种方法迫使cnn的分割结果具有空间上的连续性,可以恢复更多的细节信息。其它结构方面的改变:比如空洞卷积,循环卷积神经网络等。

总体说来,图像语义分割还存在以下问题:

(1)跨层连接对于不同层信息的融合方式过于简单,不能实现图像全局信息和局部信息的有意义融合。

(2)条件随机场只局限于单点势能以及配对势能,并没有采用更高阶的势能,比如超像素的标签的连续性,然而,这些更高阶的势能已经被证明在提升分割的结果中是有意义的。



技术实现要素:

本发明的目的在在于:针对上述技术问题,而提供一种基于对抗训练的图像语义分割方法,利用对抗训练来进行更有效的信息融合以及自动学习分割结果的高阶势能。

为解决技术问题,本发明所采用的技术方案是:

一种基于对抗训练的图像语义分割方法,其特征在于,包括如下步骤:

步骤1:将原始图像输入到卷积神经网络进行前向传递,得到低分辨率分割图像;

步骤2:将步骤1中得到的低分辨率分割图像进行上采样,然后将该上采样与卷积神经网络的中间特征层连接得到连接特征层,再将连接特征层进行1x1卷积操作得到新的分割结果;然后将得到的新的分割结果与原始图像的下采样分割结果进行对抗训练,利用梯度下降算法分别更新生成网络g及判别网络d参数,直至对抗训练的网络损失函数收敛;

步骤3:根据步骤2中的选取的上采样次数确定对抗训练的网络的层数,根据网络的层数确定步骤2重复的次数。如果步骤2中进行2次上采样,那么对抗训练中的网络层数为2,即完成第一次步骤2之后再重复一次步骤2;若步骤2中进行3次上采样,那么对抗训练中的网络层数为2,在完成第一次步骤2之后再重复二次步骤2。

所述对抗训练为一种深度网络生成型模型,能够学习真实数据分布,对抗训练包括生成网络g和判别网络d,其中对抗训练网络的损失函数定义如下:

其中x代表的真实数据,g(z)表下生成网络生成的数据;d(·)指的是将数据x或g(z)输入判别网络d,判别网络d输出结果取值为[0,1],判别网络d输出结果取值表示输入是真实数据的可能性,其中判别网络d输出结果值越趋近于0,表明是由生成网络g生成的数据,判别网络d输出结果值越趋近于1,表明是真实数据;生成网络g为了学习真实数据分布pdata(x),首先对输入噪声z定义了先验分布pz(z),生成网络g生成的数据g(z;θg),其中θg指的是生成网络的参数;判别网络d(x;θd)输出的一个标量值,代表的是x来自真实数据分布pdata(x)的概率;其中θd指的是判别网络d的参数。

由上述(1)公式得到,生成网络g的梯度下降算法定义如下:

由上述(1)公式得到,生成网络g的梯度下降算法定义如下:

其中,m代表的是样本个数。

梯度下降算法指的是沿着模型中参数梯度的负方向,即损失函数变小趋势的方向更新参数,是一种基本的最优化方法。

具体的步骤3中确定好重复次数后,将上一次步骤2中获得的连接特征层进行上采样,然后将该上采样与卷积神经网络对应的中间特征层进行连接得到此次步骤的连接特征层,再将此次步骤的连接特征层进行1x1卷积操作得到新的分割结果;然后将得到的新的分割结果与真实图像下采样分割结果进行对抗训练,对抗训练包括生成网络g和判别网络d,利用梯度下降算法分别更新生成网络g的参数及判别网络d的参数,直至对抗训练的网络损失函数收敛。

本发明中,指的是将卷积神经网络(cnn),即生成网络g,生成的分割图像与真实的分割图像交由一个判别网络d进行判定,判别网络的损失函数的物理意义是使得判别网络尽量区分生成的分割图像与真实的分割图像;而生成网络的损失函数的物理意义是使生成的分割图像尽可能逼近真实的分割图像,尽可能“欺骗”判别网络。

由于本发明基于对抗网络来定义整个网络的损失函数,作为通用函数逼近器的对抗网络,不仅可以学习如何组合不同层的信息,而且还可以“迫使”生成网络学习到分割图片中的单点、配对、高阶势能等信息,实现图像局部台特征和全部特征的有机融合,得到效果更加逼真的分割图像;同时逐层训练的方法,避免了复杂的网络初始化参数过程,使得整个网络可以使用随机初始化的方法。

综上所述,与现有技术相比,本发明具有以下有益效果:

(1)利用对抗网络实现了不同层信息有意义的融合;

(2)利用对抗训练来定义网络的生成图像与真实图像的网络损失函数,可以学习到图片中的高阶势能,生成更加逼真的分割图像;

(3)逐层训练的方式,由低分辨率的分割图像逐渐生成原始图片尺寸的分割图像,使得训练更加稳定,能有效缓解生成网络g陷入“崩溃”模式的情形。同时,这种训练方式使得不同层的输出具有不同的含义,增加了生成网络g的可解释性。

附图说明

图1是本发明一实施例的示意图。

具体实施方式

下面结合实施例对本发明作进一步的描述,所描述的实施例仅仅是本发明一部分实施例,并不是全部的实施例。基于本发明中的实施例,本领域的普通技术人员在没有做出创造性劳动前提下所获得的其他所用实施例,都属于本发明的保护范围。

本发明的基于对抗训练的图像语义分割方法,包括如下步骤:包括如下步骤:

步骤1:将原始图像输入到卷积神经网络进行前向传递,得到低分辨率分割图像;

步骤2:将步骤1中得到的低分辨率分割图像进行上采样,然后将该上采样与卷积神经网络的中间特征层连接得到连接特征层,再将连接特征层进行1x1卷积操作得到新的分割结果;然后将得到的新的分割结果与原始图像的下采样分割结果进行对抗训练,利用梯度下降算法分别更新生成网络g及判别网络d参数,直至对抗训练的网络损失函数收敛;

步骤3:根据步骤2中的选取的上采样次数确定对抗训练的网络的层数,根据网络的层数确定步骤2重复的次数。如果步骤2中进行2次上采样,那么对抗训练中的网络层数为2,即完成第一次步骤2之后再重复一次步骤2;若步骤2中进行3次上采样,那么对抗训练中的网络层数为2,在完成第一次步骤2之后再重复二次步骤2。

所述对抗训练为一种深度网络生成型模型,能够学习真实数据分布,对抗训练包括生成网络g和判别网络d,其中对抗训练网络的损失函数定义如下:

其中x代表的真实数据,g(z)表示生成网络生成的数据;d(·)指的是将数据x或g(z)输入判别网络d,判别网络d输出结果取值为[0,1],判别网络d输出结果取值表示输入是真实数据的可能性,其中判别网络d输出结果值越趋近于0,表明是由生成网络g生成的数据,判别网络d输出结果值越趋近于1,表明是真实数据;生成网络g为了学习真实数据分布pdata(x),首先对输入噪声z定义了先验分布pz(z),生成网络g生成的数据g(z;θg),其中θg指的是生成网络的参数;判别网络d(x;θd)输出的一个标量值,代表的是x来自真实数据分布pdata(x)的概率;其中θd指的是判别网络d的参数。

由上述(1)公式得到.生成网络g的梯度下降算法定义如下:

由上述(1)公式得到,生成网络g的梯度下降算法定义如下:

其中,m代表的是样本个数。

具体的步骤3中确定好重复次数后,将上一次步骤2中获得的连接特征层进行上采样,然后将该上采样与卷积神经网络对应的中间特征层进行连接得到此次步骤的连接特征层,再将此次步骤的连接特征层进行1x1卷积操作得到新的分割结果;然后将得到的新的分割结果与真实图像下采样分割结果进行对抗训练,对抗训练包括生成网络g和判别网络d,利用梯度下降算法分别更新生成网络g的参数及判别网络d的参数,直至对抗训练的网络损失函数收敛。

实施例一

结合附图1,本实施例的基于对抗训练的图像语义分割方法,包括以下步骤:

步骤1:将原始图像输入到卷积神经网络(即生成网络g)进行前向传递,得到低分辨率分割图像;

具体为:设原始图像大小为h×w×3,将原始图像输入到卷积神经网络(即生成网络g)进行卷积池化操作后,得到第一次下采样特征层,尺寸为h/s1×w/s1×cdown1,然后再将第一次下采样特征层再次进行卷积和池化操作,得到第二次下采样特征层,尺寸为h/(s1×s2)×w/(s1×s2)×cdown2,重复此过程,可以依次得到第三次下采样特征层,第四次下采样特征层等,这里为简单起见,仅解释具有两个下采样特征层的情况,具有三个及其以上下采样特征层的情况可以依次类推。

步骤2:将步骤1中得到的低分辨率分割图像进行上采样,然后将该上采样与卷积神经网络的中间特征层连接得到连接特征层,再将连接特征层进行1x1卷积操作得到新的分割结果;然后将得到的新的分割结果与原始图像的下采样分割结果进行对抗训练,利用梯度下降算法分别更新生成网络g及判别网络d参数,直至对抗训练的网络损失函数收敛;

具体为:

(2.1)将最后一次下采样特征层,这里为第两次下采样特征层进行s2倍上采样,得到第一次上采样特征层,尺寸为h/s1×w/s1×cup1。然后将该上采样层与同样高度宽度的第一次下采样特征层进行连接,得到尺寸为h/s1×w/s1×(cdown1+cup1)的连接特征层,对该特征层进行1×1卷积操作,得到预测概率图predictions1,尺寸为h/s1×w/s1,即得到新的分割结果。

(2.2)利用最近邻插值方法,将真实的分割结果进行s1倍下采样,得到ground_truths1,尺寸为h/s1×w/s1。利用预测分割结果predictions1和真实分割结果ground_truths1进行对抗训练。假设有n张predictions1和相应的ground_truths1,损失函数如下:

损失函数如下:

λ[log(d(ground_truths1(i))+log(1-d(predictions1(i))](4)

其中,lmce指的是多元互熵,定义如下:

其中,指的是第i个像素点真实值与预测值的误差,即第i个像素点的损失函数。式(5)

的损失函数表示的是所有像素点的损失函数的和。d(′)所代表的含义同公式(1),λ是超参数,由具体情况确定。

为方便起见,y=ground_truths1。将式(4)分解,可分别得到生成网络g的损失函数:

以及判别网络d的损失函数:

生成网络g中的第一部分使得生成网络g可以生成像素级的分割结果,第二部分使得生成的分割结果之中,考虑了像素与像素之间的关联性,即实现了图像全局信息和局部信息的融合。两者所占比例系数由参数λ确定,在实际例子中,采用网格搜索法确定最优参数。

再分别利用式(6)和式(7)最小化损失函数,更新网络参数。需要注意的是,这里参数的更新方式可以采用不同的策略,比如常见的每更新k次判别网络d参数θd,就更新一次生成网络g参数θg;或者是每更新k次生成网络g参数θg,就更新一次判别网络d参数θd。

(2.3)更新网络参数直至损失函数收敛。

步骤3:根据步骤2中的选取的上采样次数,确定网络的层数重复步骤2。

(3.1)将过程2得到的尺寸为h/s1×w/s1×(cdown1+cup1)的连接特征层,进行s1倍上采样,得到第二次上采样层,尺寸为h×w×cup2。然后将该上采样层与同样高度宽度的输入图片进行连接,得到尺寸为h×w×(cup2+3)的连接特征层,对该特征层进行1×1卷积操作,得到预测概率图predictions1,尺寸为h×w,即最终分割结果。

(3.2)真实分割结果为ground_truth,尺寸为h×w,预测分割结果为prediction,尺寸同样为h×w。利用预测分割结果prediction和真实分割结果ground_truth进行对抗训练。假设有n张prediction和相应的ground_truth,剩下过程与(2.2)中所述相同。

(3.3)重复更新网络参数直至损失函数收敛。需要注意的是,此步骤完成后,由于网络预测分割结果图像的尺寸和原始图片尺寸相同,网络已经完成了训练。

需要说明的是:

本申请中公式(1)、(2)、(3)是生成对抗训练网络最基础的公式,需要根据实际的情况做一定的修改。公式(4)、(6)、(7)分别与公式(1)、(2)、(3)一一对应,但是由于用于具体的实际例子,所以形式上有所不同,但是本质依旧是一样的。(2)(3)定义的梯度下降方向,公式(6)(7)定义的是损失函数,两者其实是等价的。公式(5)是对公式(4)的一个解释说明.因为这里用到了具体应用(语义分割)中的损失函数)。

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