一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于双分支神经判别降维的半监督图像分割方法与流程

2021-11-29 13:13:00 来源:中国专利 TAG:


1.本发明属于人工智能计算机视觉技术领域,涉及一种基于双分支神经判别降维transformer的半监督图像分割方法。


背景技术:

2.图像分割技术是计算机视觉领域的重要研究方向,是图像语义理解的重要一环。图像分割是指将图像分成若干具有相似性质的区域的过程,从数学角度来看,图像分割是将图像划分成互不相交的区域的过程。最近,深度学习技术在许多图像分割任务中显示出显著的改进并取得了最先进的性能。在深度神经网络中极受欢迎的卷积神经网络(convolutional neural networks,cnn)由于其强大的特征表示能力在计算机视觉领域取得了重大突破。然而卷积神经网络由于其本身的限制,容易更关注局部特征而忽略全局整体的联系,其性能并不能达到令人满意的程度。与cnn不同的是,transformer由于其自注意力的特性能够在视觉任务中对全局的信息有很好的利用,促使研究人员对它在计算机视觉的适应性上进行了大量的研究,最近它在某些视觉任务上展示了的不错的结果。swin transformer通过引入cnn中常用的层次化构建方式构建层次化transformer以及对不重合的区域内进行自注意力计算在多种计算机视觉任务中都能取得比较好的结果。
3.然而,深度学习网络的成功需要依赖于大量的标注数据集,而对图像进行注释不仅费时费力,可能还需要专家的先验知识,因此包含大量注释的数据集很难获得。为了解决这些问题,半监督学习以从有限数量的标记数据和任意数量的未标记数据中学习的基本思想被广泛探索,这是一个基本的、具有挑战性的问题。
4.在半监督学习中,为了利用大量的未标记数据,一种简单直观的方法是为未标记数据分配伪注释,然后使用标记和伪标记数据训练分割模型。伪注释通常以迭代方式生成,其中模型通过从其自身对未标记数据的预测中学习来迭代提高伪注释的质量。然而尽管具有伪注释的半监督学习已经显示出一定的性能,但是模型生成的注释仍然可能是有噪声的,这对后续的分割模型会有不利影响。
5.近几年,多任务学习因为其相关任务能够学习对多个任务都很有效的相互关联的表示,从而避免过度拟合以获得更好的泛化能力,在计算机视觉领域获得了广泛关注。其中所提出的神经判别降维模块(neural discriminative dimensionality reduction,nddr)可以以端到端的方式进行训练,具有“即插即用”的特性,良好的扩展性和性能,但nddr一般与cnn结合,这会导致网络产生只关注局部特征,忽略全局整体的问题。


技术实现要素:

6.本技术的目的是提供一种基于双分支神经判别降维的半监督图像分割方法,网络主要由与swin模块结合的神经判别降维模块nddr构成,使用半监督的方法以双分支的形式在全局的函数回归任务和像素分类任务之间建立一致性,在充分考虑几何约束的情形下,关注局部特征的同时结合全局整体之间的联系,提高伪注释和分割的质量,从而提升图像
分割的性能。
7.为了实现上述目的,本技术技术方案如下:
8.一种基于双分支神经判别降维的半监督图像分割方法,包括:
9.对采集的图片进行预处理,获得训练数据集;
10.采用训练数据集训练构建的图像分割模型,所述图像分割模型包括特征提取模块和解码模块,所述特征提取模块采用swin transformer网络,所述swin transformer网络两个分支的对应swin transformer快之间设置有神经判别降维模块nddr,所述神经判别降维模块nddr与下一个swin transformer快之间设置有分片融合模块,所述解码模块包括两个与swin transformer网络两个分支分别对应的解码器,其中一个分支对应的解码器输出有符号距离图,另一个分支对应的解码器输出分割概率图;
11.在训练构建的图像分割模型时,在输入的训练图片具有标注时,将标注转换为参考有符号距离图,将有符号距离图转换为参考分割概率图,计算所述有符号距离图与所述参考有符号距离图之间的损失、所述分割概率图与所述参考分割概率图之间的损失、以及所述分割概率图与标注之间的损失,以上述三个损失的和作为图像分割模型的损失函数来进行反向传播,更新图像分割模型的参数;在输入的训练图片没有标注时,以所述分割概率图与所述参考分割概率图之间的损失作为图像分割模型的损失函数来进行反向传播,更新图像分割模型的参数;
12.将待分割图片输入到训练好的图像分割模型,输出分割结果。
13.进一步的,所述神经判别降维模块,执行如下操作:
14.先将两个输入的特征图进行合并,然后通过一个步长为1的1*1的卷积进行互相的联合学习。
15.进一步的,所述分片融合模块,执行如下操作:
16.将输入按照2x2的相邻分片合并。
17.进一步的,所述swin transformer网络每个分支依次设置有三个swin transformer快,所述解码器,执行如下操作:
18.先将本解码器所在分支提取的特征图进行反卷积运算,再和另一分支的第3个swin transformer块的输出作连接操作,接着再经过两个卷积运算,输出第一特征图;
19.将第一特征图进行反卷积运算,再和另一分支的第2个swin transformer块的输出作连接操作,接着再经过两个卷积运算,输出第二特征图;
20.将第二特征图进行反卷积运算,再和另一分支的第1个swin transformer块的输出作连接操作,接着再经过两个卷积运算,输出第三特征图;
21.将第三特征图再经过连续的两个反卷积操作,最后经过一个1*1的卷积,输出解码输出结果。
22.进一步的,所述将标注转换为参考有符号距离图,采用如下函数c:
23.24.其中x,y代表分割图中的两个不同的像素点,代表分割目标的轮廓,t
in
和t
out
则分别代表目标轮廓的内部和外部;
25.所述将有符号距离图转换为参考分割概率图,包括:
26.构建所述函数c逆变换的平滑近似函数c
‑1,其中:
[0027][0028]
其中z是像素x处的有符号距离值,k是一个系数;
[0029]
经过c
‑1将有符号距离图转换为分割概率图。
[0030]
本技术的有益效果表现在:通过充分利用图像的全局特征和双分支网络在训练过程中因为任务不同而相互协作学习和探索得到的有用的知识,从而提升深度神经网络的性能。
附图说明
[0031]
图1为本技术基于双分支神经判别降维的半监督图像分割方法流程图;
[0032]
图2为本技术图像分割模型总体示意图;
[0033]
图3为本技术实施例swin transformer网络结构示意图;
[0034]
图4为本技术实施例swin transformer block的结构示意图;
[0035]
图5为本技术实施例nddr的结构示意图;
[0036]
图6为本技术实施例解码器结构示意图。
具体实施方式
[0037]
为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅用以解释本技术,并不用于限定本技术。
[0038]
本技术提供的一种基于双分支神经判别降维的半监督图像分割方法,如图1所示,包括:
[0039]
步骤s1、对采集的图片进行预处理,获得训练数据集。
[0040]
采集图片,对采集的图片进行数据增强的预处理,具体采用的数据增强方法包括图片尺寸的归一化、图片的随机裁减、水平翻转、灰度变化、伽马变换、弹性变换、旋转变换、透视变换以及添加高斯噪声,将采集到的数据分为训练集和测试集。
[0041]
步骤s2、采用训练数据集训练构建的图像分割模型,所述图像分割模型包括特征提取模块和解码模块,所述特征提取模块采用swin transformer网络,所述swin transformer网络两个分支的对应swin transformer快之间设置有神经判别降维模块nddr,所述解码模块包括两个与swin transformer网络两个分支分别对应的解码器。
[0042]
如图2所示,本技术图像分割模型采用swin transformer网络作为主干主网络,提取特征信息。
[0043]
swin transformer网络包括分片(patch partition)、线性嵌入和特征提取三个部分。
[0044]
其中,分片是对输入图片进行分片处理。在开始时,将输入图片(尺寸为h*w*3,h和
w分别为图片的长和宽)进行分片patch partition处理,把相邻的4*4个像素合为一个patch,此时patch的特征维度为4*4*3,数量为经过此处理后的patch矩阵尺寸为此后将矩阵进行线性嵌入操作,通过线性嵌入把划分后的patch特征维度变成96,此时尺寸为
[0045]
特征提取部分包括多个swin transformer快(swin transformer block),如图3所示的实施例中,每个分支包括4个swin transformer block。与现有技术不同的是,本技术swin transformer网络两个分支的对应swin transformer快之间设置有神经判别降维模块nddr。
[0046]
具体的,线性嵌入处理后的分片复制为两份,分别输入到swin transformer的两个分支进行特征提取。
[0047]
在一个具体的实施例中,两个分支进行特征提取,整个特征提取部分包括:第一个分支的第一个swin transformer block11,第二个分支的第一个swin transformer block21,第一个神经判别降维模块nddr1,第一个分支的第一次分片融合m11,第二个分支的第一次分片融合m21,第一个分支的第二个swin transformer block12,第二个分支的第二个swin transformer block22,第二个神经判别降维模块nddr2,第一个分支的第二次分片融合m12,第二个分支的第二次分片融合m22,第一个分支的第三个swin transformer block13,第二个分支的第三个swin transformer block23,第三个神经判别降维模块nddr3,第一个分支的第三次分片融合m13,第二个分支的第三次分片融合m23,第一个分支的第四个swin transformer block14,第二个分支的第四个swin transformer block24。
[0048]
线性嵌入处理后的分片输入到两个分支的第一个swin transformer block中,swin transformer block的结构如图4所示,经过swin transformer block后得到带有全局信息的特征图。关于swin transformer block的结构,可以采用常见的结构,其中ln表示层归一化,mlp表示多层感知机,w

msa表示基于窗口的自注意力模块,sw

msa表示基于移动窗口的自注意力模块,这里不再赘述。
[0049]
如图5所示,神经判别降维模块nddr,先将两个输入的特征图进行合并(concat),然后通过一个步长为1的1*1的卷积进行互相的联合学习,再分开分别进行分片融合操作,然后再输入到对应分支中进行下一次特征提取,之后的特征提取都由分片融合操作和swin transformer block构成。
[0050]
其中分片融合操作将输入按照2x2的相邻patches合并,同时改变其特征维度,如进入m11的是大小的特征图,而经过分片融合后输出的大小是
[0051]
特征提取阶段结束后,将swin transformer block14和swin transformer block24的结果输入到对应分支的解码器,两个分支的解码器结构相同,通过连续使用反卷积和卷积操作对特征图进行上采样。上采样的具体结构如图6所示。
[0052]
如图6所示,当swin transformer网络每个分支依次设置有三个swin transformer快时,所述解码器,执行如下操作:
[0053]
先将本解码器所在分支提取的特征图进行反卷积运算,再和另一分支的第3个
swin transformer块的输出作连接操作,接着再经过两个卷积运算,输出第一特征图;
[0054]
将第一特征图进行反卷积运算,再和另一分支的第2个swin transformer块的输出作连接操作,接着再经过两个卷积运算,输出第二特征图;
[0055]
将第二特征图进行反卷积运算,再和另一分支的第1个swin transformer块的输出作连接操作,接着再经过两个卷积运算,输出第三特征图;
[0056]
将第三特征图再经过连续的两个反卷积操作,最后经过一个1*1的卷积,输出解码输出结果。
[0057]
需要说明的是,swin transformer网络每个分支依次设置的swin transformer block数量,不具体限制,综合考虑计算性能与解码效果,优选的为3个。基于此,本技术解码器的结果也相应的进行调整,这里不再赘述。
[0058]
具体的,两个解码器先将各自分支提取的特征图(大小为)用2*2的反卷积运算,减少一半的特征通道数量,再把此时的特征图(大小为)和对应分支的第3个swin transformer block的输出(大小为)作concat操作,接着再用两个均使用relu激活函数的3*3卷积运算,此时的特征图大小为输出的特征图再和另一分支的第2个swin transformer块的输出作连接操作,接着再经过两个卷积运算,以此类推。
[0059]
依此结构共经过3次反卷积和6次卷积操作得到的特征图再经过连续的两个反卷积操作,最后通过一个1*1的卷积将通道数降为1,得到最终的输出(大小为(h

124)*(w

124)*1))。其中第一个分支产生有符号距离图,第二个分支产生分割概率图。图6中2*2表示反卷积操作,3*3表示卷积操作,1*1也表示卷积操作。o3、o2、o1分别表示另一个分支对应swin transformer block的输出。
[0060]
本技术解码模块包括两个与swin transformer网络两个分支分别对应的解码器,如图2所示,其中一个分支对应的解码器输出有符号距离图,另一个分支对应的解码器输出分割概率图。在训练构建的图像分割模型时,在输入的训练图片具有标注时,将标注转换为参考有符号距离图,将有符号距离图转换为参考分割概率图,计算所述有符号距离图与所述参考有符号距离图之间的损失、所述分割概率图与所述参考分割概率图之间的损失、以及所述分割概率图与标注之间的损失,以上述三个损失的和作为图像分割模型的损失函数来进行反向传播,更新图像分割模型的参数;在输入的训练图片没有标注时,以所述分割概率图与所述参考分割概率图之间的损失作为图像分割模型的损失函数来进行反向传播,更新图像分割模型的参数。
[0061]
在一个具体的实施例中,所述将标注转换为参考有符号距离图,采用如下函数c:
[0062]
[0063]
其中x,y代表分割图中的两个不同的像素点,代表分割目标的轮廓,t
in
和t
out
则分别代表目标轮廓的内部和外部;
[0064]
所述将有符号距离图转换为参考分割概率图,包括:
[0065]
构建所述函数c逆变换的平滑近似函数c
‑1,其中:
[0066][0067]
其中z是像素x处的有符号距离值,k是一个系数;
[0068]
经过c
‑1将有符号距离图转换为分割概率图。
[0069]
具体的,如图2所示,采用函数c将标注转换为参考有符号距离图,采用函数c
‑1将有符号距离图转换为参考分割概率图。k是一个尽可能大的系数。
[0070]
根据训练集数据类型对网络进行训练时,当输入是有标签的数据时,此时的损失函数l
labeled
由三部分组成:将标注经过函数c转换得到的参考有符号距离图,与第一个分支输出的有符号距离图之间的损失定义为l1:
[0071][0072]
其中,x,y是数据d的输入,f1(x
i
)是第一个分支输出的有符号距离图,c(y
i
)是标注经过函数c转换得到的参考有符号距离图。
[0073]
同时针对第一个产生的有符号距离图转换的参考分割概率图和第二个分支的分割概率图,定义了双任务一致性损失l2,以加强任务1的转换图和任务2之间的一致性,l2:
[0074][0075]
其中,x是数据d的输入,f2(x
i
)代表分支2的预测,而分支1的转换图的预测则用c
‑1(x
i
)表示。
[0076]
采用常见的交叉熵损失函数l3作为标注和第二个分支的分割概率图的监督损失函数,l3:
[0077][0078]
其中,p是一张图片的像素数量,是像素i在标签图中的类别,是像素i的标签图概率的网络概率估计,f是f
i
(y)的所有输出的向量。
[0079]
此时总的损失函数为:
[0080]
l
labeled
=l1 l2 l3。
[0081]
当输入是无标签的数据时,其损失函数只有双任务之间的损失,即l
unlabeled

[0082][0083]
其中,x是数据d的输入像素,f1(x
i
)和f2(x
i
)分别代表分支1的转换图的预测和分
支2的预测。
[0084]
在计算出损失函数后,进行反向传播并更新模型的参数,经过多次迭代得到训练好的网络模型。关于利用损失函数进行反向传播更新模型的参数,训练网络模型,已经是本技术领域比较成熟的技术,这里不再赘述。
[0085]
步骤s3、将待分割图片输入到训练好的图像分割模型,输出分割结果。
[0086]
在训练好图像分割模型后,就可以将待分割图片输入到训练好的图像分割模型,解码器输出的分割概率图,就是分割结果。
[0087]
以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献