一种自约束的小样本缺损图像分割方法

2022-08-24 10:24:34刘剑超
小型微型计算机系统 2022年8期
关键词:污损像素卷积

刘剑超,相 洁,张 玲,李 钢

(太原理工大学 信息与计算机学院,太原 030024)

E-mail:313013424@qq.com

1 引 言

图像分割在计算机视觉处理技术中占据重要位置,是图像处理、分析和理解等语义级别图像处理的基础.图像分割的准确性将直接影响高级图像处理的性能[1].在图像分割技术的实际应用中,容易出现待分割图像中部分图像内容被损坏、干扰的情况,对常用的图像分割模型提出了挑战.另一方面,主流图像分割算法需要大量高成本的像素级标注,在一些场景下因成本过高而难以采集到足够的数据.因此,小样本约束下的污损图像分割问题,是图像分割领域当前的研究热点和难点[2],目前,国内外相关研究主要分为两个方向:

1)以U-Net[3]为代表的卷积神经网络[4]方法实现图像分割.这类方法成功地将卷积神经网络应用至图像分割领域,可以基于像素级标注的分割掩膜,实现端到端的模型训练.但像素级分割掩膜的标注十分费时,使得数据采集与数据集构建成本极高.在无法采集标注足够数据的场景下,以U-Net为代表的卷积神经网络模型应用受到较多限制.另一方面,在实际应用中,容易被污损的待分割图像也对此类方法提出了挑战.如文献[5]中发现主流的卷积网络方法,因难以采集到足量的图像样本数据,无法应用于有污损的合金材料图像分割任务.

2)使用传统的数学方法对污损图像进行分割[6],这类方法无需标注信息,应用成本低、计算速度快.其主要步骤是先对图像进行修复还原,再进行分割[7].而传统无监督的图像修复方法仅适用于图像内容较为简单的合成图像,无法有效恢复污损的自然图像;以水平集方法为主的无监督图像分割方法,基于图像全局或局部的统计信息实现图像分割,在图像目标清晰且完整的情况下可以较好地分割目标[8].但污损图像完全丢失了局部范围内的图像信息,水平集等传统无监督方法无法处理这种情况.

为解决小样本数据集限制下的污损图像分割问题,本文将Chan-Vese模型[9]引入卷积神经网络中,提出一种适应小样本场景的污损图像分割方法.本文利用水平集方法将待分割目标的几何轮廓信息引入深度学习模型中,对模型的训练过程进行了约束.使模型不仅建模单幅图像与分割结果之间像素到像素的映射关系,同时考虑了不同图像间同类型目标的轮廓信息.从而在小样本限制下也可针对污损图像进行准确分割.

2 相关方法

2.1 卷积神经网络

近年来,以U-Net为代表的卷积神经网络方法在图像分割领域得到了广泛且成功的应用.经大量数据训练的卷积神经网络,可以有效提取图像中目标特征、输出符合预期的分割结果.同时,较大的训练数据量平滑了随机污损对模型训练过程的负面影响,使模型对污损图像具有了一定的鲁棒性.典型的U-Net网络结构包含输入层、卷积层、池化层以及反卷积层.卷积层通过权值共享得到每个神经元的输出[10],将其叠加得到卷积层的输出,如式(1),式(2)所示:

ulj=∑(xl-1i*klij)+bl

(1)

xlj=f(ulj)

(2)

其中,ulj为第l层卷积层的第j个神经元的待激活输出值,是对上一层的输出特征图进行卷积操作并与偏置求和后得到的,xl-1i表示第l-1层的第i个神经元,klij是第l层的卷积核矩阵,卷积核大小为i*j,bl是第l层卷积层的偏置量,xlj是第l层卷积层的第j个神经元,该神经元是通过对ulj经过激活函数f()作用后得到的,本文所使用的激活函数是非线性的ReLU函数,使得上一层的特征保留并且映射出来.

可以发现,卷积层对图像的变换,实质上是对输入图像在可滑动的局部窗口内进行加权求和.因而单纯的卷积运算和全部由卷积层构成的神经网络,容易导致图像细节信息丢失,进而影响分割精度.为解决这一问题,U-Net将不同深度的特征图合并,并通过反卷积层提升特征图分辨率,在保留细节信息的同时去除无用信息,保证了模型的分割精度.

然而,U-Net系列方法在提取特征的过程中只考虑一幅图像与其分割结果间对应像素的点到点的映射关系,而忽略了不同图像间同类型目标之间,相似的轮廓特征.因此,模型需要大量的训练数据才可得到较为准确的映射关系,而在实际生产过程中,可用于训练的污损图像数据量有限,导致模型往往不能得到好的分割结果.

2.2 水平集方法

以Chan-Vese模型(CV模型)为代表的水平集方法,是一种无监督图像分割方法.该类方法通过能量泛函对像素值、局部均值等图像底层信息建模,通过最小化能量泛函,驱动分割轮廓演化并完成图像分割工作.这类方法无需训练数据,也不具有学习能力,且分割结果对迭代初始状态比较敏感.因此,该类方法的表现直接依赖于经验丰富的操作员提供合理的初始轮廓.

该类方法通过最小化能量泛函驱动初始轮廓向目标边缘不断演化,直至演化曲线与目标边缘重合,此时能量泛函达到最小值,演化曲线即为分割结果.设水平集函数为φ,取零水平集作为活动轮廓,将图像一分为二,数学表达如式(3)所示.基于水平集方法的CV模型的提出,更是解决了之前分割模型无法处理拓扑结构变化的问题.

∀(x,y)∈Ωcontour (x,y)φ(x,y)=0
in(contour)(x,y)φ(x,y)>0
out(contour)(x,y)φ(x,y)<0

(3)

其中Ω表示给定的图像域,φ(x,y)=0表示演化曲线(contour),即为分割结果.φ(x,y)>0表示轮廓以内区域,φ(x,y)<0 表示轮廓以外的区域.

基于水平集的图像分割方法通过对目标轮廓信息的建模,在内容较为简单的图像上取得了一定的成功应用.然而,由于不具有学习能力,该类方法难以有效处理内容繁杂的自然图像.同时,水平集方法也难以适应污损的待分割图像.

3 本文方法

3.1 可微分的水平集运算层

为了将无监督的基于水平集方法的CV模型整合进有监督的深度学习框架中.本文考虑将水平集作为网络的输出层发挥其作用,基于此本文将传统CV模型的能量泛函作为神经网络的损失函数,并在其中加入了输出值与分割真值的差异,以此来通过图像的局部信息约束U-Net网络的学习结果,这样使得新模型不仅关注分割真值与原始图像之间的像素对应关系,还考虑了图像中目标的像素空间位置关系,即可达到小样本数据下的污损图像准确分割.损失函数形式如式(4)所示.作为一个迭代的融合模型算法,每轮迭代都有神经网络的权值更新与曲线演化两个步骤来不断优化融合模型的分割效果,这两项工作均可在式(4)损失函数的指导下完成.

E(f1,f2,φ)=∫Ω[μH(φ)+νδ(φ)∇φ+
λ1H(φ)-f12H(φ)+
λ2H(φ)-f221-H(φ)+
αH(φ)-gt2]dxdy

(4)

其中μ,ν为常数,分别用来控制演化曲线的长度与轮廓面积在能量函数中的权重,以此来驱动活动轮廓演化的同时控制曲线长度,并最终使得曲线与目标边缘重合.φ为水平集函数,δ(φ)表示Dirac函数,函数H()为Heaviside阶跃函数.λ1,λ2为常数,控制目标内部和外部的权重比例.gt为分割真值(用于指导模型训练的标签),H(f)-gt表示融合模型分割结果与分割真值之间的差异,常数α用来控制该差异对融合模型训练学习的贡献,f1、f2为演化曲线两侧的像素灰度平均值.当演化曲线与目标边缘重合,且分割结果与分割真值重合时,能量泛函达到最小值,此时的演化轮廓即为融合模型的分割结果.

损失函数前4项通过图像的灰度平均值来驱动演化曲线向目标边缘靠拢,当演化曲线与目标边缘重合时前4项的值达到最小.最后一项用来指导神经网络的权值更新,通过最小化分割真值与分割结果之间的差值,完成神经网络的误差反传工作,当两者差值达到最小时网络权值达到最优,分割结果最佳.不断迭代上述最小化损失函数的过程,直到其总体值达到最小,此时演化曲线与目标边缘重合,得到最终的分割结果.

3.2 水平集约束的U-Net方法

将3.1小节中形式化后的可微分的水平集层嵌入到U-Net网络架构中构成本文所提的融合模型,融合模型的分割过程如下:首先通过设计随机污损函数将数据集进行随机污损,使得原图中一部分像素信息丢失,将污损后的图像作为模型的训练数据,将与之对应的分割真值作为标签,然后将得到的数据交付U-Net网络完成特征提取工作,特征提取阶段主要包括特征提取降采样与特征图升采样两个步骤[11],将内容复杂的待分割污损图像转变为适合水平集方法分割的简单特征图.最后通过基于水平集方法的CV模型在损失函数的指导下完成驱动轮廓演化,直至演化曲线与目标边缘重合.

作为一个迭代模型,每一轮迭代的模型结构如图1所示,模型使用卷积层对输入图像进行下采样操作,卷积层目的是通过卷积运算提取图像中目标的特征,但是在提取的过程中会使得图像中目标的部分像素级细节信息丢失,这些信息的丢失会导致图像像素间位置关系丢失[12],因此每次的下采样结果均会被U-Net网络保存,并通过跳跃连接将丢弃的细节信息传送到后续对应的反卷积层,来保证最终分割结果的准确性.然后对得到的特征图进行升采样操作,将其恢复至输入的原始尺寸[13],得到适合水平集方法分割的特征图并将其输入至水平集层,通过曲线演化理论驱动轮廓完成本轮迭代的分割工作,最后将本轮的分割结果作为下一轮迭代的输入,直到融合模型的损失函数达到最小值,得到最终的分割结果.

图1 模型结构图Fig.1 Model structure diagram

本文提出的融合模型主要解决了目前存在两个问题:1)仅依靠传统的图像处理方法无法分割污损图像;2)基于神经网络的深度学习方法无法在训练样本有限的前提下完成对污损图像的分割.传统的水平集方法和神经网络均基于梯度下降来达到各自的目的,前者将其用于最小化能量泛函来驱动轮廓演化,后者将其用于误差反传更新网络权值和最小化损失函数[14].基于此,融合模型将水平集函数替换神经网络的SOFTMAX函数,改进后的能量泛函代替U-Net网络常用的交叉熵损失函数,并将水平集层作为U-Net网络的输出层发挥作用,把活动轮廓演化的过程形式化为U-Net网络的前向传播和反向传播过程,这样就合理的将二者融为一体,使得U-Net网络在加入了水平集方法提供的目标边缘像素信息之后,可以快速有效的适应小样本的污损图像数据集.

4 实验及分析

实验在Linux操作系统下进行,CPU为Inter Core i7-9850H@ 2.60GHz,实验环境是Python3.7.4+Pytorch1.4.0,实验在GPU(RTX 2080)环境下运行.

4.1 数据集

本文采用在计算机视觉领域应用广泛的公开数据集 MINIST 数据集、Fashion-MNIST数据集和Weizmann horse数据集进行实验.

MNIST数据集由来自 250 位不同人手写的数字构成,主要包含了60000张的训练图像和10000张的测试图像,均为28×28大小的灰度图像.Fashion-MNIST数据集和MNIST数据集有着类似的特征,同样包括60000张训练图像和10000张测试图像,也均为28×28大小,与MNIST不同的是该数据集目标均为服装,这两个数据集均已经过尺寸标准化使得目标位于图像中心.Weizmann horse数据集共有328张以马为主体的彩色自然图像,均为马的侧视图.为了体现本文模型在小样本数据集的有效性,针对前两个数据集在每次训练的过程中均随机选取500张图像作为实验样本.

4.2 图像的随机污损

据调研所知,由于目前尚不存在公开的污损图像数据集,因此设计了随机污损函数完成对图像的随机污损,主要用于将目前存在的公开自然图像数据集转换为污损图像数据集.该方式不仅可以得到本文融合模型所需的训练数据集,而且可以在原有数据集的基础上扩增数据集,不同的污损位置即可得到不同的训练数据,这也提供了一种低成本甚至无成本的方式达到扩增数据目的.通过训练污损位置不同的污损图像,也可以使得模型得到的拟合关系更加准确.所制作的污损图像数据集不仅可用于研究图像的污损形式与污损程度对后续模型分割性能的影响,同时也可为一些图像修复模型提供数据支持.

以 MNIST 数据集为例,该数据集中均为 28×28 像素大小的灰度二值图片,且每个像素的像素值均在0到255之间.随机污损的具体形式为:将图像信息转换为数字信息之后,即用像素值矩阵表示图像信息,在矩阵中随机选取某一像素点作为污损区域的顶点,从该顶点出发随机生成面积小于图像面积的形状区域,将生成区域中的像素值随机替换为0到255之间的值,以该方式达到随机污损图像的目的.设计的随机污损函数形式化表达式如式(5)所示.

IΩ=I(x,y)=R(0,255)(x,y)∈Ω

(5)

其中Ω表示污损区域,R(a,b)表示生成a到b之间随机数的随机函数.I(x,y)表示图像域内某一像素点的坐标.

随机污损的结果如图2所示,第1行为原始图像,第2行为经过随机污损之后的污损图像.第1列为MNIST数据集,是较为简单的手写数字图像;第2列为相对复杂的Fashion—MNIST数据集,将手写数字替换为常见的服饰图片,两者都是简单的单通道图像;第3列为Weizmann horse数据集,是具有RGB三通道背景复杂的彩色自然图像,其每个通道的像素值均在0到255之间,随机污损时分别在每个通道中选取随机的污损区域,并将区域内的值随机替换为0到255之间的整数值,将3个通道的污损结果叠加起来即可得到整体图像的污损结果.

图2 随机污损图像Fig.2 Random fouling images

4.3 实验过程

首先,利用设计的随机污损函数将所选用的数据集进行随机污损,得到用于指导融合模型训练的污损数据集.融合模型的实现流程如图3所示.融合模型会接收污损图像作为输入,并利用具有学习能力的U-Net网络提取特征,特征提取分为卷积层和反卷积层两步操作[15],然后通过水平集层的约束得到最后的分割结果,将此时得到的结果与分割真值用于计算损失函数,如果未达到最小值,则将计算的误差值反向传播进行参数更新,继续进行迭代操作;若损失函数值达到最小,则将得到的结果作为最终的分割结果.

图3 模型实现分割流程Fig.3 Model implementation segmentation process

作为一种迭代算法,模型通过将上一次迭代输出的带有演化曲线的分割结果作为本次迭代的输入,每一次迭代都由U-Net网络对输入图像进行特征提取[16],水平集层通过活动轮廓的演化实现对分割结果的约束,得到该次迭代的输出.通过损失函数使得每次迭代输出的分割结果不断逼近真实目标,直到演化曲线与目标边缘重合,得到最终的分割结果.新模型在融合了水平集的无监督特性与神经网络的有监督学习能力后,通过实验验证,可以在少量样本的情况下得到准确的分割结果.

4.4 对比分析

4.4.1 简单背景的污损图像分割

为体现融合模型在污损数据集上的分割效果及分割性能,本文首先选择在目标较为简单的图像数据集上完成实验验证,即适合CV模型分割的数据集,图像无背景或背景简单,在此基础上首先对原始图像进行随机污损,然后将其交给融合模型完成分割实验.

图4 各模型在MNIST数据集分割结果Fig.4 Comparison of the segmentation results of each model in the MNIST dataset

对于MNIST数据集的实验结果如图4所示,为体现本文模型在小样本数据集的有效性,每次实验均在该数据集中随机选取500张图像作为实验样本,并在其中随机选择5张图像作为实验结果展示.第1行为待分割的污损图像;第2行为利用传统CV模型的分割结果;第3行为传统LBF模型的分割结果;第4行是分割真值;第5行为FCN网络分割结果;第6行为U-Net网络的分割结果;第7行为本文提出的融合模型分割结果.通过实验结果可观察到,在融合了神经网络的有监督学习特性和水平集方法的无监督特征后,在背景和目标简单的MNIST数据集中即使存在污损区域,也可通过训练得到的拟合关系完成分割,将目标的大致形状及区域分割出来,得到一个较好的分割结果.

图5 各模型在Fashion-MNIST数据集分割结果Fig.5 Comparison of the segmentation results of each model in the Fashion-MNIST dataset

为了进一步验证融合模型对小样本污损图像分割的有效性,本文继续选取Fashion-MNIST数据集进行实验,实验结果如图5所示,与前一实验相同,每次实验均随机在数据集中选取500张图像作为训练样本,并随机选择5张图像作为实验结果进行展示.第1行为待分割污损图像;第2行为传统CV模型的分割结果;第3行为传统的LBF模型的分割结果;第4行为分割真值;第5行为FCN网络分割结果;第6行为U-Net网络分割结果;第7行为融合模型分割结果.

从实验结果可发现,在获得水平集函数的拓扑约束之后,融合模型在处理污损图像时的特征提取能力大大提升,同时其准确性也得到了相应的提高.该组对比实验利用MNIST和Fashion-MNIST数据集充分证明了融合模型针对污损图像分割的有效性.为了定量分析融合模型对污损图像的分割有效性,特选取了用骰子相似系数法(DSC)作为评价指标,该指标取值范围为[0,1],DSC的值越接近0表明分割结果越不好,越接近1则表明分割结果越理想,具体计算公式如式(6)所示.

DSC=2N(S1∩S2)N(S1)+N(S2)

(6)

其中,S1表示已经标注好的分割真值,S2表示模型的分割结果,N()表示图像中目标区域的面积,常用区域内的像素点个数总和来表示.表1计算了传统的分割方法(CV模型、LBF模型)、U-Net网络FCN网络与本文提出的融合模型分别在骰子相似系数这一评价指标下的对比数据,该数据是在10次实验之后计算的平均值,每次实验均是在数据集中随机选取500张图像作为训练样本.具体数值如表1 所示.

通过表1数据可以计算得出,本文提出的融合模型在缺损后的MNIST数据集中比基于水平集的CV模型和LBF模型的平均分割准确率提高了8.3%,比U-Net等网络平均分割准确率提高了7.5%,在缺损后的Fashion-MNIST数据集中比CV模型和LBF模型的平均分割准确率提高了11.7%,比U-Net等网络平均分割准确率提高了15.6%.可见本文提出的融合模型针对简单缺损图像的分割是有效的.

表1 各模型对简单缺损图像分割平均DSCTable 1 AVG-DSC score of each model for segmentation of simple defiled images

4.4.2 复杂背景的污损图像分割

本文进一步选取背景与目标较为复杂的Weizmann horse数据集,该数据集的主体目标为马,共包括328张彩色自然图像.本实验主要对比了在有限数据集的条件下,融合模型与其它分割模型在复杂背景数据集的分割结果.

实验结果如图6所示,本次实验随机选取4张图像作为实验结果展示.第1行为待分割的污损图像;第2行为分割真值;第3行是CV模型分割结果;第4行是LBF模型分割结果;第5行是全卷积神经网络(FCN)的分割结果;第6行是SegNet网络分割结果;第7行是U-Net网络的分割结果;第8行为融合模型的分割结果,通过实验分割结果可以发现在有限训练数据的前提下,基于神经网络的分割模型并不能达到预期的效果,甚至出现如第7行第2列的分割结果.而融合模型在获得了水平集函数的约束之后,可以在同样训练数据量的条件下,得到一个较为满意的分割结果.

通过量化各模型分割结果来进一步说明水平集层对神经网络提取特征的约束作用,本实验依然选取骰子相似系数法(DSC)作为评价指标.具体数值如表2所示,同前面的实验一样,每个分割模型所得到的数据均是在10次实验之后计算的平均值.通过表2数据计算可得出,在数据量有限时,融合模型相比CV模型和LBF模型的平均分割准确率提高了54.9%,相比基于神经网络的几个分割模型的平均分割准确度提高了13.4%.

本文摘出了添加了水平集层后融合网络提取的特征图以及未添加水平集层时U-Net网络提取的特征图,以此来进一步说明水平集层在融合网络提取特征的过程中所发挥的约束作用,如图7所示,第1行为待分割的缺损图像,第2行为U-Net网络提取的特征图,第3行为在水平集约束下融合模型提取的特征图.可以观察到当数据量有限时,U-Net网络难以提取到有效的特征,而当增加了水平集的约束之后,融合模型即可提取到有效的完整目标特征图,因此得到最终的分割结果就更加准确.

图6 各模型在horse数据集分割结果Fig.6 Comparison of the segmentation results of each model in the Weizmann horse dataset

表2 U-Net网络与融合模型DSC值Table 2 U-Net network and fusion model DSC value

通过以上的对比实验突显出融合模型的优势,在把水平集所关注的像素信息约束添加到神经网络框架中之后,不仅可以对污损图像进行有效分割,还可在数据量有限的前提下完成对污损图像的有效分割.

图7 U-Net网络与融合模型特征图对比Fig.7 Comparison of feature map between U-Net network and fusion model

5 结束语

为解决小样本约束下现有卷积神经网络模型难以有效分割污损图像的问题,本文利用水平集方法将待分割目标的几何轮廓信息引入深度学习模型中,对模型的训练过程进行了约束.首先,基于Chan-Vese模型,设计了一种与神经网络相兼容的水平集层;其次,将水平集层与卷积神经网络结合.在训练阶段,通过最小化水平集方法的能量泛函,驱动分割轮廓向目标边界运动,并使用能量泛函的梯度调整前序卷积层参数,实现了水平集方法对神经网络的约束,使模型不仅对单幅图像与分割结果之间的关系进行点对点的建模,同时拟合了不同图像间相同类别目标的轮廓特性.最后,基于人工合成的污损图像实验,证实了本文方法在小样本量约束下,对解决污损图像分割问题的有效性和优越性.此外,本文方法是一种将传统无监督方法与深度学习方法相结合的新方法,为图像分割领域提供了一种新的思路.在后续工作中,作者将继续发掘传统算法的价值,探索深度学习的前沿技术与传统算法结合的新方法.

猜你喜欢
污损像素卷积
赵运哲作品
艺术家(2023年8期)2023-11-02 02:05:28
基于视觉显著度的污损图像缺陷识别方法研究
计算机仿真(2022年9期)2022-10-25 12:14:48
像素前线之“幻影”2000
基于3D-Winograd的快速卷积算法设计及FPGA实现
污损的成绩单
“像素”仙人掌
从滤波器理解卷积
电子制作(2019年11期)2019-07-04 00:34:38
污损土地修复现状与发展趋势研究
基于傅里叶域卷积表示的目标跟踪算法
污损土地修复发展前景探究