掌桥专利:专业的专利平台
掌桥专利
首页

一种基于形状先验学习的弱监督图像分割方法

文献发布时间:2024-04-18 20:01:55


一种基于形状先验学习的弱监督图像分割方法

技术领域

本发明涉及图像分割技术领域,具体为一种基于形状先验学习的弱监督图像分割方法。

背景技术

随着弱监督图像分割研究的推进,弱监督图像分割方法越来越受到研究人员的关注。在弱监督的学习中,由于数据集并不完善,算法模型在训练过程中无法学习到所有的场景。针对图像分割,模型在进行测试时背景和目标区域都可能没见过,未知性和不确定性增加,可能会导致分割效果变差。此时目标区域的先验信息作为额外的输入,可以提高模型的分割效果。目标区域先验信息也分为几种类型,包括:用户交互、外观先验、正则项以及形状先验等。

用户交互需要使用者使用交互界面或工具手动传递先验信息给算法模型,虽然容易实现,但是操作比较麻烦,并且容易受到疲倦等因素的影响。

外观先验是通过利用目标区域的一些统计信息,例如平均灰度、灰度方差或者纹理,将分割目标与先验信息匹配,完成目标分割,但是只适用于比较简单的特征信息,难以很好的表达较为复杂的信息。

正则项主要是表达目标区域的周长或者空间关系等一些特征,在模型训练的过程中进行限制,虽然可以直接将特征体现在损失函数中,但是复杂的先验知识难以匹配合适的正则项。

形状先验就是利用目标区域的形状特征,包括目标区域的轮廓、几何模型或者物理特征等,虽然形状先验比较直观,但是对于复杂的形状先验,没有很好的显式表达。

实际场景中,如图1所示为CVSD(Conference Video Segmentation Dataset会议视频分割数据集)中部分视频会议中人像分割的示例。从图1中可以看出,虽然不同人、不同动作具有不同的分割轮廓,但是整体的分割形状是大致相同的,也就是形状先验是可以合理的指导模型训练的。然而,从图中也可以看出,常见的目标,例如人、飞机等,形状都比较复杂,无法直接通过数学表达式直接显式表达出来。

一些传统算法,例如水平集分割算法,通过迭代和能量函数的方式,使用形状先验,将分割输出逐渐逼近真值,但传统方法需要迭代的次数多,并且面对复杂的形状不一定能够有很好的契合。近些年,随着深度学习的发展,一些深度学习的方法也将形状先验加入到模型中。TricycleGAN将形状先验作为数据合成的模板,使用合成的数据进行训练,从而将形状先验加入到模型中。但是TricycleGAN只能针对一些形状比较简单的目标,否则无法生成形状的模板。虽然已经有很多方法都是用形状先验获得了比较好的效果,但大部分都是将形状先验隐藏在模型的训练中,并没有显式地将形状先验表达出来。而显式表达形状先验,针对复杂形状可以通过学习的方式,对于简单的形状,可以直接构造表达式,灵活并且方便。因此,如何显式地表达形状先验并用于图像分割中,是值得研究的问题。

目前使用形状先验的分割方法,有些是使用目标区域重心、半径或者周长等波动比较大的统计信息,数据集整体的统计信息针对单个样本来说差异可能会比较大,特别是对于较为复杂的目标区域,使用统计信息作为先验,不一定能够获得比较好的效果。另一些弱监督方法使用形状先验模拟生成目标区域的训练样本,不仅解决了数据集标注问题,而且训练样本中本身就包含了形状信息。但是当目标区域比较复杂时,难以表达形状先验,也就无法生成目标区域,这种方法就会失效。

发明内容

针对上述问题,本发明的目的在于提供一种基于形状先验学习的弱监督图像分割方法,将目标区域的形状先验加入到损失函数中,由此指导模型的训练,提高了图像分割精度。技术方案如下:

一种基于形状先验学习的弱监督图像分割方法,包括以下步骤:

步骤1:构建数据集

针对不同种类的目标,选择对应的数据集,选择带有标记的样本用于预训练,并将其与随机背景图片进行结合人工生成训练数据集;

步骤2:模型训练

采用基于形状的图像分割网络,其包括形状学习子网络和分割子网络;

形状学习子网络使用卷积受限玻尔兹曼机作为backbone,卷积受限玻尔兹曼机加入卷积操作,每个卷积核的卷积操作都对应一个隐空间输出节;且采用多个卷积受限玻尔兹曼机堆叠的形式;

分割子网络使用深度残差网络提取输入图像的特征,对提取到的特征在进行上采样,恢复到原始图像尺寸,特征融合过程使用通道叠加的方式以上减少采样过程信息的丢失;

训练开始时,随机初始化形状学习子网络和分割子网络权重,使用带有标记的样本预训练形状学习子网络,然后使用人工合成的训练数据集训练形状学习子网络和分割子网络,两个子网络训练过程互相独立,梯度传递也相互独立,分割子网络使用形状先验用于指导参数更新方向;

步骤3:图像分割

将测试样本输入分割子网络中,分割子网络输出初步的分割结果图,再将分割结果图输入形状学习子网络中,利用形状先验对分割结果图进行进一步的确定,得到精确的图像分割结果。

进一步的,通过形状学习损失函数提取形状先验的优化目标,形状学习损失函数采用卷积受限玻尔兹曼机的能量函数;将卷积受限玻尔兹曼机中每个卷积核的偏置作为易辛模型的外场,将卷积核作为易辛模型的内部耦合系数,则定义卷积受限玻尔兹曼机的能量函数为:

其中,·代表矩阵相乘,*代表卷积操作,K为卷积核的数量,W

根据易辛模型和损失函数的定义,得出输入和隐藏层输出的联合概率分布为:

其中,Z为归一化因子,包含所有输入样本的信息;

根据联合概率分布,计算得出输入样本的边缘分布为:

其中,

更进一步的,通过分割损失函数指导分割子网络的训练以及衡量分割子网络的模型效果;分割损失函数包括衡量分割输出与真值图差异的差异损失函数,以及衡量分割输出与形状先验之间距离的形状损失函数;

1)差异损失函数

差异损失函数使用不存在样本不均衡问题的焦点损失函数,针对不同的分割目标,选择不同的平衡系数和聚焦参数;整体的差异损失函数定义为:

其中,y

其中,α为平衡系数,γ为聚焦参数,描述对难分类实例的权重;

2)形状损失函数

形状损失函数代表分割输出与形状先验概率分布之间的差异,也即描述两个分布之间的差异,且采用Wasserstein距离作为形状损失函数,具体表示如下:

其中,Y和

则分割损失函数定义为:

L

其中,λ

更进一步的,所述步骤2中基于形状的图像分割网络的训练过程为:

a)初始化基于形状的图像分割网络模型参数,设定总迭代次数M,当前迭代次数i=0;

b)使用一部分训练样本和CD-1算法对形状学习子网络进行预训练;

c)使用训练样本X和随机图像集构建人工合成训练集

d)如果迭代次数i小于迭代次数M,则循环执行步骤e)-h);

e)将训练集

f)分割子网络使用训练集

g)根据分割子网络输出与形状学习子网络的输出,计算形状损失函数

h)使用ADAM优化器更新分割子网络参数;

i)训练结束。

更进一步的,所述CD-1算法训练流程为:

1)设定总迭代次数M′,当前迭代次数i′=0;

2)如果迭代次数i′小于迭代次数M′,则循环执行步骤3)-步骤6);

3)将训练样本x

4)根据下式中条件概率P(h|v),计算出隐藏层输出h;

其中,δ(·)为sigmoid函数,*代表卷积操作,W

5)根据上式中条件概率P(v|h),计算出隐藏层对应的可视层单元v

6)更新CRBM参数,基本梯度计算公式为:

其中,θ为CRBM的参数,v

7)训练结束。

本发明的有益效果是:

1)本发明将目标区域的形状先验加入到损失函数中,由此指导模型的训练,提高图像分割精度。

2)本发明针对复杂形状难以表达的问题,设计了形状先验学习模块,该模块可以学习目标区域的形状,将形状信息记录在网络的权重中,最终可以通过数学表达式显式表达出目标区域的形状概率分布

3)本发明分割模块在训练过程中,将学习到的形状先验作为基准,衡量分割输出的形状分布与形状先验的距离,使用该距离作为损失函数的一部分,指导分割模块的训练;

采用卷积受限的玻尔兹曼机作为形状先验的学习结构,在衡量分割输出形状分布和形状先验之间的距离时,采用Wasserstein距离,即使在两个分布毫无关系的情况下,也能够反应两个分布之间的差异,产生梯度信息,使得模型在训练过程中更容易收敛。

附图说明

图1为CVSD人像分割示例图。

图2为本发明SBSN算法整体流程图。

图3为本发明SBSN整体结构图。

图4为受限玻尔兹曼机结构图。

图5为人工合成训练数据集示例,从左到右依次为背景图片,样本数据,合成图片以及目标分割真值图。

图6为算法实验示例,从左到右依次为输入图像、分割真值图、不使用形状先验的结果图和使用形状先验结果图。

具体实施方式

下面结合附图和具体实施例对本发明做进一步详细说明。

本发明提出了一种基于形状的图像分割网络(SBSN,Shape-based imagesegmentation network),将目标区域的形状先验加入到损失函数中,由此指导模型的训练,提高图像分割精度。SBSN针对复杂形状难以表达的问题,设计了形状先验学习模块,该模块可以学习目标区域的形状,将形状信息记录在网络的权重中,最终可以通过数学表达式显式表达出目标区域的形状概率分布。

SBSN除了形状先验学习模块,还包含了图像分割模块,使用经典分割网络的结构。分割模块在训练过程中,将学习到的形状先验作为基准,衡量分割输出的形状分布与形状先验的距离,使用该距离作为损失函数的一部分,指导分割模块的训练。具体地,SBSN采用卷积受限的玻尔兹曼机作为形状先验的学习结构,虽然自动编码器本质上也可以完成形状先验的学习,但是自动编码器是一个黑箱,无法可视化形状先验信息,不能得知是否真的学习到了形状先验,模型训练过程不可控。SBSN在衡量分割输出形状分布和形状先验之间的距离时,采用Wasserstein距离。Wasserstein距离即使在两个分布毫无关系的情况下,也能够反应两个分布之间的差异,产生梯度信息,使得模型在训练过程中更容易收敛。SBSN训练过程使用少量带有标记的样本构建训练数据集,不需要过多的人工标定,是一种弱监督的图像分割算法。

1、算法整体框架

如图2所示,本发明提出的算法SBSN包含了形状建模模块和图像分割模块两部分。其中形状建模模块主要完成提取目标区域形状先验,并根据学习到的形状先验为分割模块提供形状模板。图像分割模块完成分割任务,同时使用形状模板指导分割模型的训练。整体流程分为模型训练阶段和分割阶段两部分。

样本合成:SBSN作为一种弱监督的图像分割方法,使用少量带有标记的图片进行预训练,正式训练阶段,人工合成训练数据,不需要大量带有标记的图像。人工合成训练集的方法和图3展示的过程类似,但没有使用噪声函数生成目标区域,而是使用带有标记的样本与随机背景图像进行合成,生成更多的标记样本。

模型训练阶段:首先随机初始化形状学习子网络和分割子网络权重,使用少量带有标记的样本预训练形状学习子网络。然后使用人工合成的样本数据训练形状学习子网络和分割子网络,由于形状学习子网络功能和分割子网络独立,因此两个子网络训练过程互相独立,梯度传递也相互独立。分割子网络会使用形状先验用于指导参数更新方向,加快模型的收敛和提高模型效果。

分割阶段:图像分割时,将测试样本输入分割子网络中,分割子网络会输出初步的分割结果图,再将分割结果图输入形状学习子网络中,利用形状先验对分割结果图进行进一步的确定,使得分割结果更加精确。

2、网络结构设计

本发明所提的算法SBSN的整体结构如图3所示,主要包含形状学习子网络和分割子网络两个部分。

(1)形状学习子网络

形状学习子网络可以采用能够显示表达概率分布的算法模型,鉴于本发明所提算法的特性,使用卷积受限玻尔兹曼机(CRBM,Convolutional Restricted BoltzmannMachine)作为backbone,CRBM由受限玻尔兹曼机演变而来。受限玻尔兹曼机是一种基于能量函数的随机神经网络,由物理学模型演变而来,受限玻尔兹曼机的结构如图4所示。从图中可以看出,受限玻尔兹曼机每一层中,层内无连接,层间全连接,模型参数包括输入层每个节点的偏置a

受限玻尔兹曼机和深度玻尔兹曼机输入都是一维的,用来处理图像数据会损失图像的空间信息,由于卷积神经网络在图像任务上的优越性,因此形状学习子网络使用卷积神经网络和受限玻尔兹曼机相结合的CRBM,保留图像的空间特征,能够更好地提取形状先验。CRBM的结构与受限玻尔兹曼机类似,只是将数据和参数从一维提升到了二维。CRBM加入了卷积操作,每个卷积核的卷积操作都对应一个隐空间输出节点,为了提高提取形状先验的能力,本发明的算法采用卷积受限玻尔兹曼机的结构,为了防止模型复杂度太大,难以训练,所以采用两个CRBM堆叠的形式,卷积核大小分别设置为3x3和5x5,整体如表1所示。

表1形状学习子网络结构

(2)分割子网络

分割子网络完成特征提取以及目标区域分割工作,因此可以采用分割效果比较好的特征融合结构,如图3所示。该结构的设计思路为,使用深度残差网络提取输入图像的特征,对提取到的特征在进行上采样,恢复到原始图像尺寸。同时,为了减少上采样过程信息的丢失,特征融合过程使用通道叠加的方式,虽然增加了算法复杂度,但可以更好地处理图像细节。考虑到本发明算法的弱监督特性,在训练过程中只有少量带有标记的样本,因此深度残差网络使用参数量较少的ResNet-18作为特征提取网络。ResNet-18的网络结构如表2所示。从表中可以看出ResNet-18和ResNet-50的基本结构类似,都有五个单元组成,但是ResNet-18每个单元的结构以及卷积核的数量都要少于ResNet-50,因此需要学习的参数量也少于ResNet-50,训练更加容易。上采样过程同样使用转置卷积的操作,提高上采样效果。

表2ResNet-18结构

3、损失函数

本发明SBSN的损失函数分为两个部分,第一个部分是形状学习损失函数,第二部分是分割损失函数。

(1)形状学习损失函数

形状学习损失函数主要是提取形状先验的优化目标,由于形状学习子网络采用卷积受限玻尔兹曼机的结构,因此形状学习损失函数使用卷积受限玻尔兹曼机的优化函数。卷积受限玻尔兹曼机从著名的物理模型易辛模型演变而来,是一种基于能量函数的模型,因此优化目标也定义为能量函数的形式。将卷积受限玻尔兹曼机中每个卷积核的偏置作为易辛模型的外场,将卷积核作为易辛模型的内部耦合系数,则可以定义卷积受限玻尔兹曼机的能量函数为:

其中,·代表矩阵相乘,*代表卷积操作,K为卷积核的数量,W

根据易辛模型和损失函数的定义,可以得出输入和隐藏层输出的联合概率分布为:

其中,Z为归一化因子,包含了所有输入样本的信息。

根据联合概率分布,可以计算得出输入样本的边缘分布为:

其中,

将多个CRBM独立看待,可以由上述公式计算出输入的概率分布,也就是形状学习子模块学习到的形状先验的显式表达。形状学习损失函数为公式(1)所示,根据损失函数可以推导出形状先验的显式表达以及后续模型训练的基本原理。

(2)分割损失函数

分割损失函数主要指导分割子网络的训练以及衡量分割子网络的模型效果。分割损失函数分为两个部分,一部分是衡量分割输出与真值图差异的差异损失函数,另一部分是衡量分割输出与形状先验之间距离的形状损失函数。

1)差异损失函数:该损失函数主要是针对分割输出图和真值图的差异进行设计。首先从图像之间的差异出发,定义两幅图像的差异,使用较为常见的均方误差损失函数,即L2损失函数。除此之外,由于分割子网络输出像素级的分割结果,实际上针对每个像素点完成了分类任务,因此针对分类任务设计了分类损失函数。该损失函数使用不存在样本不均衡问题的焦点损失函数,针对不同的分割目标,选择不同的平衡系数和聚焦参数。因此,整体的差异损失函数定义为:

其中,y

其中,α为平衡系数,α主要表达目标区域像素点的权重,主要是解决样本不均衡问题。γ为聚焦参数,γ的值越大,容易分类的样本损失就越小,难分类的样本损失就越大,模型优化会聚焦于难分类的样本。

2)形状损失函数:该损失函数描述分割子网络输出与形状先验之间的差异,主要是利用形状先验指导分割子网络训练,加快模型的收敛。由于形状先验是概率分布的形式,因此形状损失函数应该代表分割输出与形状先验概率分布之间的差异,也就是描述两个分布之间的差异。

本发明采用Wasserstein距离作为形状损失函数,Wasserstein距离,又称为Earth-Mover距离(EM距离),度量两个概率分布之间的距离,可以简单理解为将一个分布,转移到另一个分布所需要的最短距离。如下所示

其中,Y和

上式代表着在所有Y和

总体来说,分割损失函数定义为:

L

其中,λ

4、数据集与模型训练

(1)数据集

本发明提出的SBSN算法使用形状先验完成弱监督的图像分割任务,主要针对四种目标进行了实验,分别是裂缝、人、飞机和马,代表了缺陷、人类、机械以及动物四个不同种类的目标,同时也包含了从简单到复杂的多种形状,可以更好的衡量提出的算法。因此实验使用的数据集也包括了多个。如Weizmann Horse数据集、CVSD、CrackForest数据集、CALTECH 101数据集等。

虽然实验所使用的数据集都是带有标签的,但是本发明提出的SBSN主要使用人工合成的数据进行训练,只使用了少量带有标记的样本,数据集中没有使用的带标记的样本全部作为测试集,用于衡量模型的性能。人工合成的数据如图5所示。总的来说,训练阶段每个类别使用50张带有标记的图片,与随机背景图片进行结合,构成大概5000张图片的训练数据集。

(2)模型训练

本发明提出的SBSN算法模型的训练过程分为两个部分:形状学习子网络的预训练和模型的正式训练。两个子网络都使用ADAM优化器进行训练,针对不同的类别,实验参数的设置如表3所示。

表3实验设置

SBSN算法的形状学习子网络采用多个CRBM堆叠的结构,训练阶段将多个CRBM独立训练。作为概率模型,CRBM的训练方式与RBM类似,采用对比散度(CD,ContrastiveDivergence)算法进行训练,本实施例采用CD-1算法进行训练。根据公式(2)展示的联合分布,可以得到条件概率分布:

其中,δ(·)为sigmoid函数。CD-1算法采用Gibbis采样的方式进行。针对每个输入首先使用条件概率P(h|v)计算出对应隐藏层输出,再根据条件概率P(v|h)使用隐藏层输出计算反推导的可视层,最后将反推出的可视层与原始可视层的能量差作为梯度,更新模型参数。

设训练样本为X={x

1)设定总迭代次数M′,当前迭代次数i′=0;

2)如果迭代次数i′小于迭代次数M′,则循环执行步骤3)-步骤6);

3)将训练样本x

4)根据公式(8)中条件概率P(h|v),计算出隐藏层输出h;

5)根据公式(8)中条件概率P(v|h),计算出隐藏层对应的可视层单元v

6)更新CRBM参数,基本梯度计算公式为:

其中,θ为CRBM参数。

7)训练结束。

SBSN整体模型的训练时,首先使用少量样本对形状学习子网络进行预训练,之后再使用人工合成的样本,对形状学习子网络和分割网络一起进行训练。设训练样本为X={x

j)初始化SBSN模型参数,设定总迭代次数M,当前迭代次数i=0;

k)使用一部分训练样本和CD-1算法对形状学习子网络进行预训练;

l)使用训练样本X和随机图像集构建人工合成训练集

m)如果迭代次数i小于迭代次数M,则循环执行步骤e)-h);

n)将训练集

o)分割子网络使用训练集

p)根据分割子网络输出与形状学习子网络的输出,计算形状损失函数

q)使用ADAM优化器更新分割子网络参数;

r)训练结束。

5、实验与分析

为了证明形状学习子网络提供的形状先验的可行性,实验中首先直接将形状学习子模块输出的先验信息作为分割结果,针对四种不同的类别进行实验,并且与其他四种最具代表性的基于形状先验的分割方法进行对比,比较不同方法形状先验的效果,使用AUROC作为评价指标。Shape Sharing引入类别无关的形状先验,使用不同类别对象的共同特征辅助分割;Neighbour Merge将图像区域进行匹配及逆行分割;gPb-ucm是自底向上非常优异的算法;SP-FGS使用形状模板,将形状先验与图切方法进行结合完成分割。

表4展示了SBSN与其他方法的形状先验有效性的对比结果。SBSN所生成的形状先验在四个类别上的平均AUROC为75.2%,超过了次优方法SP-FGS1.4个百分点。SBSN生成的形状先验在人、马和飞机三类数据上达到了最佳,说明SBSN针对复杂目标的形状也能够准确提取。裂缝数据由于形状比较简单,每种方法生成的形状先验都在该数据上取得了比较好的效果,由于SP-FGS使用线性表示和方向倒角距离表示目标形状,更加契合裂缝的特点,因此该方法在裂缝类别上达到了最佳。总的来说,形状先验确实可以辅助图像分割任务,并且SBSN生成的形状先验针对较为复杂的目标具有优越性。

表4形状先验的有效性(AUROC(%))

图6展示了SBSN算法在人、飞机、裂缝和马四种类别数据上的分割效果,从左到右四张图片依次为输入图像、分割真值图、不使用形状先验的分割结果图和使用形状先验的分割结果图。从图6中可以看出,不使用形状先验的情况下,虽然可以得到较为准确的分割结果图,但是细节部分分割效果并不好,这是因为只使用了少量带有标签的数据,分割结果不够精确。在使用了形状先验之后,因为形状先验为分割子网络额外输入了先验信息,分割的结果更加精确,形状更加接近真值图,这也证明了形状先验在SBSN算法模型中的作用。

表5SBSN与弱监督方法的对比结果表(AUROC/ABO(%))

表5展示了SBSN在四种类别数据集上的实验结果,并且与当前一些效果比较好的方法进行了对比,其中包括一些基于形状先验的、基于能量函数的以及基于FCN的等弱监督算法模型。从整体上看,SBSN算法在四个类别上的平均AUROC最高,为92.8%,超过次优算法0.8个百分点,平均ABO低于最优算法1个百分点。其中,在人、马和飞机三个形状较为复杂的数据集上,SBSN算法的AUROC都达到了最高,在马的数据集上ABO达到了最高,这说明SBSN算法针对复杂形状目标效果很好。由于裂缝形状较为简单,其他算法在裂缝数据集上都取得了很好的效果,其中SP-FGS使用图割算法,并且使用线性表达形状先验,更加符合裂缝的特征,因此在裂缝数据集上取得了最佳的效果。总体来说,SBSN模型的整体性能要优于目前优秀的弱监督方法,当采用最佳分割阈值时,模型的最优性能并不是最强。虽然实验过程中使用的是人工合成的训练数据,但是实际上原始数据集都是带有标签的数据集,所以强监督的图像分割方法也适用于实验的数据集。

技术分类

06120116571722