CN115294337A - 训练语义分割模型的方法、图像语义分割方法及相关装置 - Google Patents
训练语义分割模型的方法、图像语义分割方法及相关装置 Download PDFInfo
- Publication number
- CN115294337A CN115294337A CN202211192972.6A CN202211192972A CN115294337A CN 115294337 A CN115294337 A CN 115294337A CN 202211192972 A CN202211192972 A CN 202211192972A CN 115294337 A CN115294337 A CN 115294337A
- Authority
- CN
- China
- Prior art keywords
- fusion
- semantic segmentation
- layer
- image
- module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/26—Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/80—Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level
- G06V10/806—Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level of extracted features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Image Analysis (AREA)
Abstract
本申请实施例涉及图像语义分割技术领域,公开了一种训练语义分割模型的方法、图像语义分割方法及相关装置,采用训练集和损失函数对包括K个分支网络的相互学习网络进行迭代训练,得到K个分支模型。最后,根据这K个分支模型的性能,选择出性能满足要求的分支模型作为语义分割模型。其中,该损失函数包括交叉熵损失函数和KL散度损失函数。基于损失的反向传播,一方面,交叉熵损失能够约束该分支网络输出的预测语义分割图像不断靠近真实语义分割图像,另一方面,KL散度损失能够使得K个分支网络进行联合训练,互相监督、互相优化,在不引入额外参数的情况下,能进一步提升该分支网络的性能,改善语义分割效果。
Description
技术领域
本申请实施例涉及图像语义分割技术领域,尤其涉及一种训练语义分割模型的方法、图像语义分割方法及相关装置。
背景技术
图像语义分割是计算机视觉领域中的一个重要任务,从像素级的角度来理解图像,主要目标是对图像中的每个像素进行分类,将图像的每个像素标记为所表示的相关类别。图像语义分割方法可广泛应用于医学图像分析、监控视频分析以及自动驾驶中的场景识别等等。
在本申请发明人所知晓的一些技术方案中,采用神经网络训练语义分割模型。具体地,构建一个先编码再解码的神经网络作为语义分割模型的网络结构,训练好的语义分割模型对输入图像进行先降分辨率、然后再升分辨率的特征提取,最后输出一个具有原始分辨率大小的语义分割图像。语义分割图像中每个像素值代表输入图像中对应像素点的类别。上述方案,在降分辨率的特征提取过程中会丢失部分特征信息,会导致生成的语义分割图不够准确和精细。
发明内容
本申请实施例主要解决的技术问题是提供一种训练语义分割模型的方法、图像语义分割方法及相关装置,该训练方法生成的语义分割模型具有较好的语义分割性能,能够输出更加精细的语义分割图像。
第一方面,本申请实施例中提供了一种训练语义分割模型的方法,包括:
获取训练集,训练集包括若干个训练图像,每个训练图像对应有真实语义分割图像;
采用训练集和损失函数对包括K个分支网络的相互学习网络进行迭代训练,得到K个分支模型,其中,K是大于或等于2的整数,损失函数包括交叉熵损失函数和KL散度损失函数,交叉熵损失函数反映分支网络的预测语义分割图像与真实语义分割图像之间的差异,KL散度损失函数反映K个分支网络的预测语义分割图像之间的差异;
根据K个分支模型的性能,选择出性能满足要求的分支模型作为语义分割模型。
在一些实施例中,每个分支网络包括级联的输入模块、至少一个双向融合模块和输出模块;
其中,输入模块用于对输入的训练图像进行下采样,输出分辨率不同的R个第一特征图,R是大于或等于2的整数;
双向融合模块用于对输入的分辨率不同的R个图像分别进行第一方向融合和第二方向融合,输出分辨率不同的R个融合特征图,其中,第一方向融合是分辨率不同的R个图像从低分辨率至高分辨率进行逐级融合,第二方向融合是分辨率不同的R个图像从高分辨率至低分辨率进行逐级融合;
输出模块用于对R个融合特征图分别进行像素分类,输出分辨率不同的R个预测语义分割图像。
在一些实施例中,输入模块包括下采样倍数不同的R个输入层,一个输入层包括至少两个输入卷积层,输入层中的至少两个卷积层采用将输入的训练图像先增加通道数再降维的方式进行特征提取。
在一些实施例中,双向融合模块包括基础模块、第一融合模块和第二融合模块,其中,基础模块包括R个基础子模块,一个基础子模块用于对一个第一特征图进行特征提取,R个基础子模块输出分辨率逐渐增大的R个第二特征图,第1个基础子模块输出的第二特征图的分辨率最小,第R个基础子模块输出的第二特征图的分辨率最大;
第一融合模块用于对R个第二特征图进行第一方向融合,输出分辨率不同的R-1个第一融合特征图;第二融合模块用于对R-1个第一融合特征图和分辨率最低的第二特征图进行第二方向融合,输出分辨率不同的R-1个第二融合特征图。
在一些实施例中,基础子模块包括至少一个基础层,基础层包括级联的多个基础卷积层和基础融合层,其中,输入基础层的图像经过多个基础卷积层逐层特征提取后得到的特征图,输入基础融合层与输入基础层的图像进行融合,得到第二特征图。
在一些实施例中,第一融合模块包括级联的R-1个第一融合层,其中,第1个第一融合层与第1个基础子模块、第2个基础子模块连接,第1个第一融合层用于对第1个基础子模块和第2个基础子模块输出的第二特征图进行特征融合;
第2个第一融合层至第R-1个第一融合层还分别与第3个基础子模块至第R个基础子模块一一对应连接;
对于第2个第一融合层至第R-1个第一融合层中的任意一个,用于将上一个第一融合层的融合结果与对应的基础子模块输出的第二特征图进行特征融合。
在一些实施例中,第二融合模块包括级联的R-1个第二融合层,其中,第1个第二融合层与第R-2个第一融合层、第R-1个第一融合层连接,第1个第二融合层用于对第R-2个第一融合层、第R-1个第一融合层输出的融合结果进行特征融合;
第2个第二融合层至第R-2个第二融合层还分别与第R-3个至第1个第二融合层一一对应连接;
对于第2个第二融合层至第R-2个第二融合层中的任意一个,用于将上一个第二融合层的融合结果与对应的第一融合层输出的融合结果进行特征融合;第R-1个第二融合层还与第1个基础子模块连接,用于将上一个第二融合层的融合结果与第1个基础子模块输出的第二特征图进行特征融合。
第二方面,本申请实施例中提供了一种图像语义分割方法,包括:
获取待分割图像;
将待分割图像输入语义分割模型,输出语义分割图像,其中,语义分割模型是采用如上第一方面的训练语义分割模型的方法训练得到。
第三方面,本申请实施例中提供了一种电子设备,包括:
至少一个处理器,以及
与至少一个处理器通信连接的存储器,其中,
存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行如上第一方面的方法。
第四方面,本申请实施例中提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机可执行指令,计算机可执行指令用于使计算机设备执行如上第一方面的方法
本申请实施例的有益效果:区别于现有技术的情况,本申请实施例提供的训练语义分割模型的方法,首先获取训练集,采用该训练集和损失函数对包括K个分支网络的相互学习网络进行迭代训练,得到K个分支模型。最后,根据这K个分支模型的性能,选择出性能满足要求的分支模型作为语义分割模型。其中,该损失函数包括交叉熵损失函数和KL散度损失函数,对于每个分支网络,损失函数均计算该分支网络的预测语义分割图像与真实语义分割图像之间的差异,以及,该分支网络与其它分支网络的预测语义分割图像像之间的差异。基于损失(前述两种差异,包括交叉熵损失和KL散度损失)的反向传播,一方面,交叉熵损失能够约束该分支网络输出的预测语义分割图像不断靠近真实语义分割图像,另一方面,KL散度损失能够使得K个分支网络进行联合训练,互相监督、互相优化,在不引入额外参数的情况下,能进一步提升该分支网络的性能,改善语义分割效果。在训练得到K个分支模型后,选择出性能满足要求的分支模型作为语义分割模型。从而,语义分割模型具有较好的语义分割性能,能够输出更加精细的语义分割图像。
附图说明
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1为本申请一些实施例中语义分割系统的结构示意图;
图2为本申请一些实施例中电子设备的结构示意图;
图3为本申请一些实施例中训练语义分割模型的方法的流程示意图;
图4为本申请一些实施例中相互学习网络的结构示意图;
图5为本申请一些实施例中相互学习网络的训练示意图;
图6为本申请一些实施例中分支网络的结构示意图;
图7为本申请一些实施例中输入层的结构示意图;
图8为本申请一些实施例中基础层的结构示意图;
图9为本申请一些实施例中第一融合层的结构示意图;
图10为本申请一些实施例中第二融合层的结构示意图;
图11为本申请一些实施例中输出层的结构示意图;
图12为本申请一些实施例中图像语义分割方法的流程示意图。
具体实施方式
下面结合具体实施例对本申请进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本申请,但不以任何形式限制本申请。应当指出的是,对本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进。这些都属于本申请的保护范围。
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
需要说明的是,如果不冲突,本申请实施例中的各个特征可以相互结合,均在本申请的保护范围之内。另外,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。此外,本文所采用的“第一”、“第二”、“第三”等字样并不对数据和执行次序进行限定,仅是对功能和作用基本相同的相同项或相似项进行区分。
除非另有定义,本说明书所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本说明书中在本申请的说明书中所使用的术语只是为了描述具体的实施方式的目的,不是用于限制本申请。本说明书所使用的术语“和/或”包括一个或多个相关的所列项目的任意的和所有的组合。
此外,下面所描述的本申请各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
为便于对本申请实施例提供的方法进行理解,首先对本申请实施例中涉及的名词进行介绍:
(1)神经网络
神经网络可以是由神经单元组成的,具体可以理解为具有输入层、隐含层、输出层的神经网络,一般来说第一层是输入层,最后一层是输出层,中间的层数都是隐含层。其中,具有很多层隐含层的神经网络则称为深度神经网络(deep neural network,DNN)。神经网络中的每一层的工作可以用数学表达式y=a(W·x+b)来描述,从物理层面,神经网络中的每一层的工作可以理解为通过五种对输入空间(输入向量的集合)的操作,完成输入空间到输出空间的变换(即矩阵的行空间到列空间),这五种操作包括:1、升维/降维;2、放大/缩小;3、旋转;4、平移;5、“弯曲”。其中,2和3的操作由“W·x”完成,4的操作由“+b”完成,5的操作则由“a()”来实现,这里之所以用“空间”二字来表述是因为被分类的对象并不是单个事物,而是一类事物,空间是指这类事物所有个体的集合,其中,W是神经网络各层的权重矩阵,该矩阵中的每一个值表示该层的一个神经元的权重值。该矩阵W决定着上文所述的输入空间到输出空间的空间变换,即神经网络每一层的W控制着如何变换空间。训练神经网络的目的,也就是最终得到训练好的神经网络的所有层的权重矩阵。因此,神经网络的训练过程本质上就是学习控制空间变换的方式,更具体的就是学习权重矩阵。
需要注意的是,在本申请实施例中,基于机器学习任务所采用的模型,本质都是神经网络。神经网络中的常用组件有卷积层、池化层、归一化层和反向卷积层等,通过组装神经网络中的这些常用组件,设计得到模型,当确定模型参数(各层的权重矩阵)使得模型误差满足预设条件或调整模型参数的数量达到预设阈值时,模型收敛。
其中,卷积层配置有多个卷积核、每个卷积核设置有对应的步长,以对图像进行卷积运算。卷积运算的目的是提取输入图像的不同特征,第一层卷积层可能只能提取一些低级的特征如边缘、线条和角等层级,更深的卷积层能从低级特征中迭代提取更复杂的特征。
反向卷积层用于将一个低维度的空间映射到高维度,同时保持他们之间的连接关系/模式(这里的连接关系即是指卷积时候的连接关系)。反向卷积层配置有多个卷积核、每个卷积核设置有对应的步长,以对图像进行反卷积运算。一般,用于设计神经网络的框架库(例如PyTorch库)中内置有upsumple()函数,通过调用该upsumple()函数可以实现低维度到高维度的空间映射。
池化层(pooling)是模仿人的视觉系统可以对数据进行降维或,用更高层次的特征表示图像。池化层的常见操作包括最大值池化、均值池化、随机池化、中值池化和组合池化等。通常来说,神经网络的卷积层之间都会周期性插入池化层以实现降维。
归一化层用于对中间层的所有神经元进行归一化运算,以防止梯度爆炸和梯度消失。
(2)损失函数
在训练神经网络的过程中,因为希望神经网络的输出尽可能的接近真正想要预测的值,可以通过比较当前网络的预测值和真正想要的目标值,再根据两者之间的差异情况来更新每一层神经网络的权重矩阵(在第一次更新之前通常会有初始化的过程,即为神经网络中的各层预先配置参数),比如,如果网络的预测值高了,就调整权重矩阵让它预测低一些,不断的调整,直到神经网络能够预测出真正想要的目标值。因此,就需要预先定义“如何比较预测值和目标值之间的差异”,这便是损失函数(loss function)或目标函数(objective function),它们是用于衡量预测值和目标值的差异的重要方程。其中,以损失函数举例,损失函数的输出值(loss)越高表示差异越大,那么神经网络的训练就变成了尽可能缩小这个loss的过程。
(3)语义分割
语义分割是指将图像分割成多个语义上一致的区域,每个区域内的像素同属一种类别。像素类别可以基于实际需求而设置,例如,像素类别可以包括人、房子、路、车、指示牌等。也就是说,语义分割是像素级地识别输入图像,并为图像中每个像素点标注其所属的类别。例如,采用神经网络学习若干个图像的像素类别,训练得到的语义分割模型能够对输入的图像进行像素识别,输出反映各区域像素类别的语义分割图像。
为介绍本申请实施例前,先对本申请发明人所知晓的基于机器学习的语义分割算法进行简单介绍,使得后续便于理解本申请实施例。
在一些方案中,通过构建一个全卷积神经网络对输入图像进行端到端处理,并输出一个具有原始分辨率大小的语义分割图像。这些方法通常采用先降分辨率,然后再升分辨率的方式进行特征提取,并在网络传播过程中进行简单的特征融合。在降分辨率过程中会丢失部分特征信息,可能会导致生成的语义分割图像不准确,较为粗糙。
针对上述问题,本申请实施提供了一种训练语义分割模型的方法、图像语义分割方法及相关装置,该训练方法采用该训练集和损失函数对包括K个分支网络的相互学习网络进行迭代训练,得到K个分支模型。最后,根据这K个分支模型的性能,选择出性能满足要求的分支模型作为语义分割模型。其中,该损失函数包括交叉熵损失函数和KL散度损失函数,对于每个分支网络,损失函数均计算该分支网络的预测语义分割图像与真实语义分割图像之间的差异,以及,该分支网络与其它分支网络的预测语义分割图像像之间的差异。基于损失(前述两种差异,包括交叉熵损失和KL散度损失)的反向传播,一方面,交叉熵损失能够约束该分支网络输出的预测语义分割图像不断靠近真实语义分割图像,另一方面,KL散度损失能够使得K个分支网络进行联合训练,互相监督、互相优化,在不引入额外参数的情况下,能进一步提升该分支网络的性能,改善语义分割效果。在训练得到K个分支模型后,选择出性能满足要求的分支模型作为语义分割模型。从而,语义分割模型具有较好的语义分割性能,能够输出更加精细的语义分割图像。
下面说明本申请实施例提供的用于训练语义分割模型或用于图像语义分割的电子设备的示例性应用,可以理解的是,电子设备即可以训练语义分割模型,也可以采用该语义分割模型进行图像语义分割。
本申请实施例提供的电子设备可以是服务器,例如部署在云端的服务器。当服务器用于训练语义分割模型时,根据其他设备或者本领域技术人员提供的训练集和语义分割网络(构建的神经网络),采用该训练集对语义分割网络进行迭代训练,确定最终的模型参数,从而语义分割网络配置该最终的模型参数,即可得到语义分割模型。其中,训练集包括若干个训练图像,每个训练图像对应有真实语义分割图像。当服务器用于图像语义分割时,调用内置的语义分割模型,对其他设备或者用户提供的测试图像进行相应的计算处理,生成相应的语义分割图像。
本申请一些实施例提供的电子设备可以是笔记本电脑、台式计算机或移动设备等各种类型的终端。当终端用于训练语义分割模型时,本领域技术人员将准备好的训练集输入终端,并在终端上设计语义分割网络,终端采用该训练集对语义分割网络进行迭代训练,确定最终的模型参数,从而语义分割网络配置该最终的模型参数,即可得到语义分割模型。当终端用于图像语义分割时,调用内置的语义分割模型,对用户输入的测试图像进行相应的计算处理,生成相应的语义分割图像。
作为示例,参见图1,图1是本申请实施例提供的语义分割系统的应用场景示意图,终端10通过网络连接服务器20,其中,网络可以是广域网或者局域网,又或者是二者的组合。
终端10可以被用来获取训练集和构建语义分割网络,例如,本领域技术人员在终端上下载准备好的训练集,以及,搭建语义分割网络的网络结构。可以理解的是,终端10也可以被用来获取测试图像,例如,用户通过输入界面输入测试图像,输入完成后,终端自动获取测试图像;例如,终端10具备摄像头,通过摄像头采集测试图像。
在一些实施例中,终端10本地执行本申请实施例提供的训练语义分割模型的方法来完成采用训练集对设计好的语义分割网络进行训练,确定最终的模型参数,从而语义分割网络配置该最终的模型参数,即可得到语义分割模型。在一些实施例中,终端10也可以通过网络向服务器20发送本领域技术人员在终端上存储的训练集和构建好的语义分割网络,服务器20接收该训练集和语义分割网络,采用训练集对设计好的语义分割网络进行训练,确定最终的模型参数,然后将该最终的模型参数发送给终端10,终端10保存该最终的模型参数,使得语义分割网络配置能够该最终的模型参数,即可得到语义分割模型。
在一些实施例中,终端10本地执行本申请实施例提供的图像语义分割方法来为用户提供图像语义分割服务,调用内置的语义分割模型,对用户输入的测试图像进行相应的计算处理,生成语义分割图像。在一些实施例中,终端10也可以通过网络向服务器20发送用户在终端上输入的测试图像,服务器20收到测试图像,调用内置的语义分割模型对测试图像进行相应的计算处理,生成语义分割图像,然后将语义分割图像发送给终端10。终端10在接收到语义分割图像后,将语义分割图像显示在自身的显示界面上。
下面说明本申请实施例中电子设备的结构,图2是本申请实施例中电子设备500的结构示意图,电子设备500包括至少一个处理器510、存储器550、至少一个网络接口520和用户接口530。电子设备500中的各个组件通过总线系统540耦合在一起。可理解,总线系统540用于实现这些组件之间的连接通信。总线系统540除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统540。
处理器510可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
用户接口530包括使得能够呈现媒体内容的一个或多个输出装置531,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口530还包括一个或多个输入装置532,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头,其他输入按钮和控件。
存储器550包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本申请实施例描述的存储器550旨在包括任意适合类型的存储器。存储器550可选地包括在物理位置上远离处理器510的一个或多个存储设备。
在一些实施例中,存储器550能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作系统551,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块552,用于经由一个或多个(有线或无线)网络接口520到达其他计算设备,示例性的网络接口520包括:蓝牙、无线相容性认证(WiFi)和通用串行总线(USB,Universal Serial Bus)等;
显示模块553,用于经由一个或多个与用户接口530相关联的输出装置531(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);
输入处理模块554,用于对一个或多个来自一个或多个输入装置532之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
根据上文可以理解,本申请实施例提供的训练语义分割模型的方法和图像语义分割方法可以由各种类型具有计算处理能力的电子设备实施,例如智能终端和服务器等。
下面结合本申请实施例提供的服务器的示例性应用和实施,说明本申请实施例提供的训练语义分割模型的方法。参见图3,图3是本申请实施例提供的训练语义分割模型的方法的流程示意图。
请参阅图4,图4是相互学习网络的结构示意图。如图4所示,相互学习网络包括K个分支网络,图4中以K为3进行示意性说明。这K个分支网络均为神经网络,关于神经网络的基本结构和原理已在“名词介绍(1)”中进行了详细说明,在此不再详细介绍。在一些实施例中,这K个分支网络可以是结构相同的神经网络,在训练的过程中,配置的参数不同。可以理解的是,相互学习网络可以是本领域技术人员在终端(例如电脑)电脑上的神经网络设计平台上自行构建好,然后,发送给服务器。
在一些实施例中,可以设置分支网络的数量K(例如K为2或3),以及,分支网络的层组合情况、层间连接结构和层内结构(包括卷积核、步长等)等,以得到具体的分支网络。
请再次参阅图3,该方法S100具体可以包括如下步骤:
S10:获取训练集,训练集包括若干个训练图像,每个训练图像对应有真实语义分割图像。
训练集中的若干个训练图像可以聚焦一类应用场景,即这若干个训练图像是在同种场景下拍摄的图像,图像中的元素覆盖已知的多个类别。每个训练图像对应有真实语义分割图像,真实语义分割图像反映训练图像各个像素的像素类别。
在一些实施例中,训练集可以是现有的cityspace数据集,cityspace数据集是一个聚焦于城市街道场景的图像集,覆盖的像素类别有地面、人、车、建筑、天空等。在cityspace数据集中,图像中的每个像素标注有语义类别,即相当于每个图像对应有真实语义分割图像。
在一些实施例中,训练集可以是现有的camvid数据集,camvid数据集也是关于城市道路场景的数据集,在camvid数据集中通常使用11种常用的类别来进行语义分割,分别为道路、交通标志、汽车、天空、行人道、电线杆、行人、建筑物、自行车和树木。在camvid数据集中,图像中的每个像素标注有语义类别,即相当于每个图像对应有真实语义分割图像。
为了增加训练的数据量,使模型学习到更多鲁棒性的特征,提高模型的泛化能力,在一些实施例中,对训练集中的训练图像进行数据增强,例如,对部分训练图像进行随机切图、翻转或亮度扰动。可以理解的是,当训练图像进行随机切图或翻转时,对应的真实语义分割图像也需要进行相应的随机切图或翻转操作。
S20:采用训练集和损失函数对包括K个分支网络的相互学习网络进行迭代训练,得到K个分支模型。
其中,K是大于或等于2的整数,例如K可以是2或3等。请参阅图5,图5中以K为2进行示意性说明。
损失函数包括交叉熵损失函数和KL散度损失函数。交叉熵损失函数分支网络的预测语义分割图像与真实语义分割图像之间的差异。KL散度损失函数反映K个分支网络的预测语义分割图像之间的差异。在一些实施例中,损失函数是交叉熵损失函数和KL散度损失函数的加权和。
对于每个分支网络,损失函数均计算该分支网络的预测语义分割图像与真实语义分割图像之间的差异,以及,该分支网络与其它分支网络的预测语义分割图像像之间的差异。
可以理解的是,若各预测语义分割图像和真实语义分割图像的差异越小,则预测语义分割图像和真实语义分割图像约相似,说明分支网络能够准确地识别训练图像中各个像素的类别。若K个分支网络的预测语义分割图像之间的差异越小,说明这些预测语义分割图像越相似,在训练的过程中,优先收敛的分支网络i输出的语义分割图像i较为准确,能够约束其它未收敛的分支网络输出的语义分割图像不断靠近语义分割图像i,即优先收敛的分支网络i监督、指导其它未收敛的分支网络进行学习。
从而,可以根据各个分支网络自身对应的交叉熵损失和KL散度损失,调整分支网络的模型参数,对各个分支网络进行迭代训练。即将上述损失(前述两种差异,包括交叉熵损失和KL散度损失)进行反向传播,使得各个分支网络输出的预测语义分割图像不断相互逼近,并且不断逼近真实语义分割图像,直至各个分支网络收敛,得到K个分支模型。
在此实施例中,交叉熵损失能够约束该分支网络输出的预测语义分割图像不断靠近真实语义分割图像,KL散度损失能够使得K个分支网络进行联合训练,互相监督、互相优化。多个分支网络有助于在训练优化过程中跳出局部最优解,往全局最优解靠近。在不引入额外参数的情况下,能进一步提升该分支网络的性能,改善语义分割效果。
在一些实施例中,使用SGD优化器(lr=0.005,momentum=0.9,weight decay=5*10-4)在批次(batch)大小为4的训练集上对所有分支网络进行迭代训练,设置迭代次数为80,000次。训练完后,输出收敛后的K个分支网络的模型参数,即得到K个分支模型。
可以理解的是,在服务器得到收敛后的K个分支网络的模型参数(即最终的模型参数)后,可以将K个最终的模型参数发送给终端,终端内的K个分支网络分别配置对应的最终的模型参数,得到K个分支模型。在一些实施例中,服务器也可以保存K个分支网络和对应的最终的模型参数,得到K个分支模型。
S30:根据K个分支模型的性能,选择出性能满足要求的分支模型作为语义分割模型。
在训练得到K个分支模型后,选择出性能满足要求的分支模型作为语义分割模型。从而,语义分割模型具有较好的语义分割性能,能够输出更加精细的语义分割图像。
在一些实施例中,采用均交并比(Mean Intersection over Union,MIoU)作为分支模型进行语义分割的精度指标。MIoU是计算所有类别交集和并集之比的平均值。本领域技术人员可以理解的是,MIoU是本领域的现有技术,在此不再详细说明分支模型的MIoU的具体计算方式。
可以理解的是,MIoU值越高,则分支模型的语义分割性能越好。在一些实施例中,可以将MIoU值最高的,语义分割性能最好的分支模型作为语义分割模型。
在此实施例中,采用训练集和损失函数对包括K个分支网络的相互学习网络进行迭代训练,得到K个分支模型。最后,根据这K个分支模型的性能,选择出性能满足要求的分支模型作为语义分割模型。其中,该损失函数包括交叉熵损失函数和KL散度损失函数,对于每个分支网络,损失函数均计算该分支网络的预测语义分割图像与真实语义分割图像之间的差异,以及,该分支网络与其它分支网络的预测语义分割图像像之间的差异。基于损失(前述两种差异,包括交叉熵损失和KL散度损失)的反向传播,一方面,交叉熵损失能够约束该分支网络输出的预测语义分割图像不断靠近真实语义分割图像,另一方面,KL散度损失能够使得K个分支网络进行联合训练,互相监督、互相优化,在不引入额外参数的情况下,能进一步提升该分支网络的性能,改善语义分割效果。在训练得到K个分支模型后,选择出性能满足要求的分支模型作为语义分割模型。从而,语义分割模型具有较好的语义分割性能,能够输出更加精细的语义分割图像。
在一些实施例中,请参阅图6,每个分支网络包括级联的输入模块、至少一个双向融合模块和输出模块。
其中,输入模块用于对输入的训练图像进行下采样,输出分辨率不同的R个第一特征图,R是大于或等于2的整数。在一些实施例中,R可以为4,这4个第一特征图的分辨率分别是训练图像分辨率的1/2、1/4、1/8和1/16。
可以理解的是,输入模块包括多个下采样卷积层,对训练图像进行下采样特征提取,生成多个特征图。选取其中分辨率符合要求的R个特征图作为第一特征图。基于这R个第一特征图的分辨率不同,感受野也不相同,因此,所能表征的特征粒度也不相同。从而,这R个第一特征图能够表征训练图像不同粒度的特征。
在一些实施例中,输入模块包括下采样倍数不同的R个输入层,每个输入层对训练图像进行下采样,得到分辨率不同的R个第一特征图。在一些实施例中,请再次参阅图6,输入模块包括4个输入层,这4个输入层的下采样倍数S分别为2、4、8、16,从而,生成4个第一特征图的分辨率为H/2*W/2、H/4*W/4、H/8*W/8和H/16*w/16。
一个输入层包括至少两个输入卷积层,输入层中的至少两个卷积层采用将输入的训练图像先增加通道数再降维的方式进行特征提取。请参阅图7,图7中所示的输入层包括两个常规卷积层,分别是1*1卷积层和3*3卷积层,其中,3*3卷积层配置步长为S。每个卷积层后配置有标准化层(Batch Normalization)和Relu激活函数层,1*1卷积层将第一特征图3*H*W的通道数增加至16*S倍,3*3卷积层将输入特征图的分辨率减小为原来的1/S倍,从而,实现将输入的训练图像先增加通道数再降维的方式进行特征提取。可以理解的是,增加通道数,能够增加特征表达能力,降维(降低分辨率),可以有效控制网络规模,从而,一升一降(提高通道数和降低分辨率)能够在增加特征表达能力的同时控制网络参数规模。
对于任意一个双向融合模块,用于对输入的分辨率不同的R个图像分别进行第一方向融合和第二方向融合,输出分辨率不同的R个融合特征图。
请再次参阅图6,图6中以4个双向融合模块进行示意性说明。在图6所示的分支网络中,输入模块后顺次连接4个双向融合模块,最后一个双向融合模块后连接输出模块。即输入模块的输出(R个第一特征图)作为第1个双向融合模块的输入,第1个双向融合模块的输出(R个图像)作为第2个双向融合模块的输入,第2个双向融合模块的输出(R个图像)作为第3个双向融合模块的输入,第3个双向融合模块的输出(R个图像)作为第4个双向融合模块的输入,第4个双向融合模块的输出(R个图像)作为输出模块的输入。
其中,第一方向融合是分辨率不同的R个图像从低分辨率至高分辨率进行逐级融合。第二方向融合是分辨率不同的R个图像从高分辨率至低分辨率进行逐级融合。
对于双向融合模块的工作机制,以第1个双向融合模块为例进行示意性说明,在分辨率不同的R个第一特征图输入第1个双向融合模块后,双向融合模块对这R个第一特征图或这R个第一特征图的变形,从低分辨率至高分辨率进行逐级融合(即第一方向融合)。例如,R=4,这4个第一特征图的分辨率分别是训练图像H*W分辨率的1/2、1/4、1/8和1/16,则先将H/16*w/16的第一特征图与H/8*W/8的第一特征图进行融合,融合后的特征图与H/4*W/4的第一特征图进行融合,融合后的结果与H/2*W/2的第一特征图进行融合;或者,先将H/16*w/16的第一特征图的变形与H/8*W/8的第一特征图的变形进行融合,融合后的特征图与H/4*W/4的第一特征图的变形进行融合,融合后的结果与H/2*W/2的第一特征图的变形进行融合。
这些在第一方向融合过程中生成的R-1个特征图分辨率不同,这R-1个特征图与分辨率最小的第一特征图(H/16*w/16)按从高分辨率至低分辨率进行逐级融合。例如,生成的R-1个特征图的分辨率分别为H/2*W/2、H/4*W/4和H/8*W/8,则将H/2*W/2的特征图与H/4*W/4的特征图进行融合,融合后的特征图与H/8*W/8的特征图进行融合,融合后的特征图与H/16*w/16的第一特征图进行融合。
可以理解的是,R个第一特征图经过多次的第一方向融合和第二方向融合后输出分辨率不同的R个融合特征图,例如,R个融合特征图可以包括最后一次第二方向融合过程中生成的H/4*W/4、H/8*W/8、H/16*w/16特征图和最后一次第一方向融合过程中生成的H/2*W/2特征图。
在一些实施例中,请参阅图6,双向融合模块包括基础模块、第一融合模块和第二融合模块。
其中,基础模块包括R个基础子模块,一个基础子模块用于对一个第一特征图进行特征提取。请参阅图6,基础子模块与第一特征图一一对应,4个第一特征图分别输入对应的基础子模块进行特征提取。
在一些实施例中,请参阅图6,基础子模块包括至少一个基础层,图6中基础子模块包括4个基础层。4个基础层顺次对输入的第一特征图进行连续编码,提取特征。请参阅图8,基础层包括级联的多个基础卷积层和基础融合层,其中,输入基础层的图像经过多个基础卷积层逐层特征提取后得到的特征图,输入基础融合层与该输入基础层的图像进行融合,得到第二特征图。在图8所示的实施例中,基础层包括1*1卷积层、3*3卷积层和1*1卷积层,每个卷积层后配置有批标准化层和Relu激活函数层。
输入基础层的图像,首先通过第1个卷积层的1*1卷积操作,进行通道(channel)升维,这里引入了一个膨胀因子t,表示升维的倍数,默认设定为2;其次由第2个卷积层的3*3卷积操作在高维空间下进行特征编码。为了减少计算量,这里采用了通道分组卷积的方式,分组数为输入通道数,使得每个卷积核只对相应的图像做卷积计算,不用求和,输出一个特征图。然后,通过第三个卷积层的1*1卷积操作,对通道进行降维,并生成与原输入基础层的图像尺度相一致的新特征图;最后,基础融合层引入了两个权重因子α和β,分别对原输入基础层的图像和新生成特征图进行加权求和,实现特征融合,得到第二特征图。
由上可知,基础层不改变输入的图像的分辨率,因此,基础子模块也不会改变输入的图像的分辨率,基础子模块输出的特征图的分辨率与输入的图像的分辨率相同,也即与对应的第一特征图的分辨率相同。
为了方便描述基础子模块与第一融合模块、第二融合模块的连接关系,这里,按输出的第二特征图的分辨率逐渐增大的方向,对R个基础子模块进行编号。也即,R个基础子模块输出分辨率逐渐增大的R个第二特征图,第1个基础子模块输出的第二特征图的分辨率最小,第R个基础子模块输出的第二特征图的分辨率最大。可以理解的是,对基础子模块进行编号,仅仅是为了方便描述连接关系,不对基础子模块构成任何限制。
第一融合模块用于对R个第二特征图进行第一方向融合,输出分辨率不同的R-1个第一融合特征图。基于第一方向融合是分辨率不同的R个图像从低分辨率至高分辨率进行逐级融合,可知,R个第二特征图按分辨率从低到高依次进行逐级融合。即,分辨率最低的两个第二特征图融合后,再与上一级分辨率的第二特征图进行融合,如此类推,直至融合分辨率最高的第二特征图。
在一些实施例中,请再次参阅图6,第一融合模块包括级联的R-1个第一融合层,其中,第1个第一融合层与第1个基础子模块、第2个基础子模块连接,第1个第一融合层用于对第1个基础子模块和第2个基础子模块输出的第二特征图进行特征融合。
第2个第一融合层至第R-1个第一融合层还分别与第3个基础子模块至第R个基础子模块一一对应连接。对于第2个第一融合层至第R-1个第一融合层中的任意一个,用于将上一个第一融合层的融合结果与对应的基础子模块输出的第二特征图进行特征融合。
在一些实施例中,请参阅图9,第一融合层包括一个1*1的常规卷积层、采用双线性插值的上采样层和1*1的通道数不变的卷积层,这两个卷积层后均配置有批标准化层和Relu激活函数层。其中,1*1的常规卷积层和采用双线性插值的上采样层能够减少特征图通道数和增加特征图分辨率,1*1的通道数不变的卷积层可以对特征图进行跨通道编码。第一融合层可以将一个低分辨率特征图转换为一个高分辨率特征图,并通过一组可学习的权重因子α和β与另一个高分辨率特征图2进行加权求和融合,生成一个第一融合特征图。
请再次参阅图6,H/16*w/16的第二特征图与H/8*W/8的第二特征图输入第1个第一融合层进行融合后,输出H/8*W/8的第一融合特征图,H/8*W/8的第一融合特征图与H/4*w/4的第二特征图输入第2个第一融合层进行融合后,输出H/4*w/4的第一融合特征图,H/4*w/4的第一融合特征图与H/2*w/2的第二特征图输入第3个第一融合层进行融合后,输出H/2*w/2的第一融合特征图。
第二融合模块用于对第R-1个第一融合特征图和分辨率最低的第二特征图进行第二方向融合,输出分辨率不同的R-1个第二融合特征图。基于第二方向融合是分辨率不同的R个图像从高分辨率至低分辨率进行逐级融合,可知,R-1个第一融合特征图和分辨率最低的第二特征图按分辨率从高到低依次进行逐级融合。即,分辨率最高的两个第一融合特征图融合后,再与下一级分辨率的第一融合特征图进行融合,如此类推,直至融合分辨率最低的第二特征图。
在一些实施例中,请再次参阅图6,第二融合模块包括级联的R-1个第二融合层,其中,第1个第二融合层与第R-2个第一融合层、第R-1个第一融合层连接,第1个第二融合层用于对第R-2个第一融合层、第R-1个第一融合层输出的融合结果进行特征融合。
第2个第二融合层至第R-2个第二融合层还分别与第R-3个至第1个第二融合层一一对应连接。对于第2个第二融合层至第R-2个第二融合层中的任意一个,用于将上一个第二融合层的融合结果与对应的第一融合层输出的融合结果进行特征融合。第R-1个第二融合层还与第1个基础子模块连接,用于将上一个第二融合层的融合结果与所述第1个基础子模块输出的第二特征图进行特征融合。
在一些实施例中,请参阅图10,第二融合层包括三个常规卷积层,第一个卷积层使用一个1*1卷积操作对输入特征图的通道数进行升维,第二个卷积层使用一个步长为2的3*3卷积操作对特征图进行下采样操作,最后一个卷积层使用一个1*1卷积操作对特征图进行跨通道编码。经过一系列操作后,第二融合层可将一个高分辨率特征图转换为一个低分辨率特征图,并与另一个维数相同的输入特征图进行加权求和,从而生成一个第二融合特征图。
请再次参阅图6,H/2*w/2的第一融合特征图和H/4*w/4的第一融合特征图输入第1个第二融合层进行融合后,输出H/4*w/4的第二融合特征图,H/4*w/4的第二融合特征图与H/8*W/8的第一融合特征图输入第2个第二融合层进行融合后,输出H/8*W/8的第二融合特征图,H/8*W/8的第二融合特征图和H/16*w/16的第二特征图输入第3个第二融合层后,输出H/16*w/16的第二融合特征图。
输出模块用于对R个融合特征图分别进行像素分类,输出分辨率不同的R个预测语义分割图像。输出模块包括R个输出层,每个输出层对应一个融合特征图,对融合特征图进行像素分类,输出与该融合特征图分辨率相同的预测语义分割图像。在一些实施例中,请参阅图11,输出层采用一个1*1卷积层对输入的特征图进行卷积操作将输入特征图的不同通道数统一为C,代表C种像素类别,然后通过双线性插值方式将输入特征图的分辨率上采样为原来的两倍,最后对特征图通道方向上的每组像素做softmax操作以生成每个类别的概率分布图,并逐个对像素选取概率最大的类别,来获得预测语义分割图像。
请再次参阅图6,H/2*w/2的第一融合特征图输入第1个输出层经计算处理后,输出H/2*w/2的预测语义分割图像;H/4*w/4的第二融合特征图输入第2个输出层经计算处理后,输出H/4*w/4的预测语义分割图像;H/8*W/8的第二融合特征图输入第3个输出层经计算处理后,输出H/8*W/8的预测语义分割图像。H/16*w/16的第二融合特征图输入第4个输出层经计算处理后,输出H/16*w/16的预测语义分割图像。
在此实施例中,将不同分辨率的R个第一特征图,进行第一方向融合和第二方向融合,在下采样过程中丢失的特征信息在第一方向融合和第二方向融合的过程中得到弥补,从而,输出的R个语义分割图像不会丢失特征信息,使得语义分割图能够保留更完整的特征空间信息和更丰富的特征语义信息,有利于生成更精细的语义分割图。并且,分辨率不同的R个语义分割图像能够表征各种粒度的像素分类结果,有利于后续从不同粒度计算损失,使得损失更加准确,经反向传播后,能够加快网络收敛。
在一些实施例中,请再次参阅图5,对于任意一个分支网络输出的分辨率不同的R个预测语义分割图像,均与真实语义分割图像进行比较,参与损失计算。具体地,采用卷积网络对真实语义分割图像进行特征提取,提取得到与预测语义分割图像的分辨率一一对应的R个真实语义分割特征图像,然后,相同分辨率的真实语义分割特征图和预测语义分割图像进行比较计算交叉熵损失。基于交叉熵损失的反向传播,分支网络能够学习不同粒度的特征,学习到更完整的特征空间信息和更丰富的语义特征信息。
在一些实施例中,采用以下公式计算一个分支网络k的交叉熵损失函数:
其中,表示第k个分支网络的交叉熵损失函数,R为真实语义分割特征图的个数或预测语义分割图像的个数,r表示第r个预测语义分割特征图,H、W分别为图像的高、宽,K为相互学习网络中分支网络的数量,表示h*w大小的真实语义分割特征图当前像素点关于y类别(真实类别)的预测概率。
此外,请再次参阅图5,对于任意一个分支网络k,计算该分支网络k输出的R个预测语义分割图像与其它剩余K-1个分支网络输出的R个预测语义分割图像之间的KL散度损失。基于KL散度损失的的反向传播,K个分支网络能够相互学习,学习彼此输出的预测语义分割图像,实现联合训练,因此,在不引入额外参数的前提下能够提升模型性能。
在一些实施例中,以两个分支网络k1、k2为例进行示意性说明,采用以下公式计算一个分支网络k的KL散度损失函数:
可以理解的是,若相互学习网络包括3个分支网络(k1、k2和k3),则对于分支网络k1的散度包括k1、k2之间的KL散度损失和k1、k3之间的KL散度损失。
在一些实施例中,采用以下公式计算分支网络k的总损失:
在此实施例中,多种分辨率的预测语义分割图像参与损失计算,多分支网络相互监督、联合训练,能够促使网络学习到一个更优解,以保证不同分辨率的语义分割效果。
综上所述,首先获取训练集,采用该训练集和损失函数对包括K个分支网络的相互学习网络进行迭代训练,得到K个分支模型。最后,根据这K个分支模型的性能,选择出性能满足要求的分支模型作为语义分割模型。其中,该损失函数包括交叉熵损失函数和KL散度损失函数,对于每个分支网络,损失函数均计算该分支网络的预测语义分割图像与真实语义分割图像之间的差异,以及,该分支网络与其它分支网络的预测语义分割图像像之间的差异。基于损失(前述两种差异,包括交叉熵损失和KL散度损失)的反向传播,一方面,交叉熵损失能够约束该分支网络输出的预测语义分割图像不断靠近真实语义分割图像,另一方面,KL散度损失能够使得K个分支网络进行联合训练,互相监督、互相优化,在不引入额外参数的情况下,能进一步提升该分支网络的性能,改善语义分割效果。在训练得到K个分支模型后,选择出性能满足要求的分支模型作为语义分割模型。从而,语义分割模型具有较好的语义分割性能,能够输出更加精细的语义分割图像。
在通过本申请实施例提供的训练语义分割模型的方法训练得到语义分割模型后,可利用该语义分割模型应用于图像语义分割。本申请实施例提供的图像语义分割方法可以由各种类型具有计算处理能力的电子设备实施,例如智能终端和服务器等。
下面结合本申请实施例提供的终端的示例性应用和实施,说明本申请实施例提供的图像语义分割方法。参见图12,图12是本申请实施例提供的图像语义分割方法的流程示意图。该方法S200包括如下步骤:
S201:获取待分割图像。
终端(例如智能手机)内置的图像分割助手(应用软件)获取待分割图像,该待分割图像的拍摄场景可以是语义分割模型所能识别的场景。例如,语义分割模型能够识别城市街道场景,则该待分割图像也对应城市街道场景。可以理解的是,该待分割图像可以是终端拍摄的,或者用户输入终端的。
S202:将待分割图像输入语义分割模型,输出语义分割图像。
其中,该语义分割模型是采用上述任意一项训练方法实施例中训练语义分割模型的方法训练得到。终端内的图像分割助手包括该语义分割模型,调用语义分割模型对待分割图像进行语义分割。可以理解的是,该语义分割模型是采用上述任意一项训练语义分割模型的方法训练得到,与上述实施例中语义分割模型具有相同的结构和性能,在此不再一一赘述。
本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令用于使电子设备执行本申请实施例提供的训练语义分割模型的方法,例如,如图3-11所示出的训练语义分割模型的方法,或本申请实施例提供的图像语义分割方法,例如,如图12示出的图像语义分割方法。
在一些实施例中,存储介质可以是FRAM、ROM、PROM、EPROM、EE PROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(H TML,Hyper TextMarkupLanguage)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行指令可被部署为在一个计算设备(包括智能终端和服务器在内的设备)上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点目通过通信网络互连的多个计算设备上执行。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,计算机程序包括程序指令,程序指令当被计算机执行时使计算机执行如前述实施例中训练语义分割模型的方法或图像语义分割方法。
需要说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
通过以上的实施方式的描述,本领域普通技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory, ROM)或随机存储记忆体(Random Access Memory, RAM)等。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;在本申请的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本申请的不同方面的许多其它变化,为了简明,它们没有在细节中提供;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (10)
1.一种训练语义分割模型的方法,其特征在于,包括:
获取训练集,所述训练集包括若干个训练图像,每个所述训练图像对应有真实语义分割图像;
采用所述训练集和损失函数对包括K个分支网络的相互学习网络进行迭代训练,得到K个分支模型,其中,K是大于或等于2的整数,所述损失函数包括交叉熵损失函数和KL散度损失函数,所述交叉熵损失函数反映所述分支网络的预测语义分割图像与真实语义分割图像之间的差异,所述KL散度损失函数反映所述K个分支网络的预测语义分割图像之间的差异;
根据所述K个分支模型的性能,选择出性能满足要求的分支模型作为所述语义分割模型。
2.根据权利要求1所述的方法,其特征在于,每个所述分支网络包括级联的输入模块、至少一个双向融合模块和输出模块;
其中,所述输入模块用于对输入的训练图像进行下采样,输出分辨率不同的R个第一特征图,R是大于或等于2的整数;
所述双向融合模块用于对输入的分辨率不同的R个图像分别进行第一方向融合和第二方向融合,输出分辨率不同的R个融合特征图,其中,所述第一方向融合是分辨率不同的R个图像从低分辨率至高分辨率进行逐级融合,所述第二方向融合是分辨率不同的R个图像从高分辨率至低分辨率进行逐级融合;
所述输出模块用于对所述R个融合特征图分别进行像素分类,输出分辨率不同的R个预测语义分割图像。
3.根据权利要求2所述的方法,其特征在于,所述输入模块包括下采样倍数不同的R个输入层,一个所述输入层包括至少两个输入卷积层,所述输入层中的至少两个卷积层采用将输入的训练图像先增加通道数再降维的方式进行特征提取。
4.根据权利要求2所述的方法,其特征在于,所述双向融合模块包括基础模块、第一融合模块和第二融合模块,其中,所述基础模块包括R个基础子模块,一个所述基础子模块用于对一个所述第一特征图进行特征提取,所述R个基础子模块输出分辨率逐渐增大的R个第二特征图,第1个基础子模块输出的第二特征图的分辨率最小,第R个基础子模块输出的第二特征图的分辨率最大;
所述第一融合模块用于对所述R个第二特征图进行所述第一方向融合,输出分辨率不同的R-1个第一融合特征图;所述第二融合模块用于对所述R-1个第一融合特征图和分辨率最低的第二特征图进行所述第二方向融合,输出分辨率不同的R-1个第二融合特征图。
5.根据权利要求4所述的方法,其特征在于,所述基础子模块包括至少一个基础层,所述基础层包括级联的多个基础卷积层和基础融合层,其中,输入所述基础层的图像经过所述多个基础卷积层逐层特征提取后得到的特征图,输入所述基础融合层与所述输入所述基础层的图像进行融合,得到所述第二特征图。
6.根据权利要求4所述的方法,其特征在于,所述第一融合模块包括级联的R-1个第一融合层,其中,第1个第一融合层与第1个基础子模块、第2个基础子模块连接,所述第1个第一融合层用于对所述第1个基础子模块和第2个基础子模块输出的第二特征图进行特征融合;
第2个第一融合层至第R-1个第一融合层还分别与第3个基础子模块至第R个基础子模块一一对应连接;
对于第2个第一融合层至第R-1个第一融合层中的任意一个,用于将上一个第一融合层的融合结果与对应的基础子模块输出的第二特征图进行特征融合。
7.根据权利要求4所述的方法,其特征在于,所述第二融合模块包括级联的R-1个第二融合层,其中,第1个第二融合层与第R-2个第一融合层、第R-1个第一融合层连接,所述第1个第二融合层用于对所述第R-2个第一融合层、所述第R-1个第一融合层输出的融合结果进行特征融合;
第2个第二融合层至第R-2个第二融合层还分别与第R-3个至第1个第二融合层一一对应连接;
对于第2个第二融合层至第R-2个第二融合层中的任意一个,用于将上一个第二融合层的融合结果与对应的第一融合层输出的融合结果进行特征融合;第R-1个第二融合层还与第1个基础子模块连接,用于将上一个第二融合层的融合结果与所述第1个基础子模块输出的第二特征图进行特征融合。
8.一种图像语义分割方法,其特征在于,包括:
获取待分割图像;
将所述待分割图像输入语义分割模型,输出语义分割图像,其中,所述语义分割模型是采用如权利要求1-7任意一项所述的训练语义分割模型的方法训练得到。
9.一种电子设备,其特征在于,包括:
至少一个处理器,以及
与所述至少一个处理器通信连接的存储器,其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-8任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机设备执行如权利要求1-8任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211192972.6A CN115294337B (zh) | 2022-09-28 | 2022-09-28 | 训练语义分割模型的方法、图像语义分割方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211192972.6A CN115294337B (zh) | 2022-09-28 | 2022-09-28 | 训练语义分割模型的方法、图像语义分割方法及相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115294337A true CN115294337A (zh) | 2022-11-04 |
CN115294337B CN115294337B (zh) | 2023-01-13 |
Family
ID=83834585
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211192972.6A Active CN115294337B (zh) | 2022-09-28 | 2022-09-28 | 训练语义分割模型的方法、图像语义分割方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115294337B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117409208A (zh) * | 2023-12-14 | 2024-01-16 | 武汉纺织大学 | 一种实时服装图像语义分割方法及系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106530305A (zh) * | 2016-09-23 | 2017-03-22 | 北京市商汤科技开发有限公司 | 语义分割模型训练和图像分割方法及装置、计算设备 |
US20180032840A1 (en) * | 2016-07-27 | 2018-02-01 | Beijing Kuangshi Technology Co., Ltd. | Method and apparatus for neural network training and construction and method and apparatus for object detection |
CN110826596A (zh) * | 2019-10-09 | 2020-02-21 | 天津大学 | 一种基于多尺度可变形卷积的语义分割方法 |
CN112232480A (zh) * | 2020-09-15 | 2021-01-15 | 深圳力维智联技术有限公司 | 训练神经网络模型的方法、系统和存储介质 |
CN113989709A (zh) * | 2021-10-27 | 2022-01-28 | 中国电信股份有限公司 | 目标检测方法及装置、存储介质、电子设备 |
CN114140469A (zh) * | 2021-12-02 | 2022-03-04 | 北京交通大学 | 一种基于多层注意力的深度分层图像语义分割方法 |
CN114187308A (zh) * | 2021-12-16 | 2022-03-15 | 中国人民解放军陆军工程大学 | 基于多尺度池化金字塔的HRNet自蒸馏目标分割方法 |
-
2022
- 2022-09-28 CN CN202211192972.6A patent/CN115294337B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180032840A1 (en) * | 2016-07-27 | 2018-02-01 | Beijing Kuangshi Technology Co., Ltd. | Method and apparatus for neural network training and construction and method and apparatus for object detection |
CN106530305A (zh) * | 2016-09-23 | 2017-03-22 | 北京市商汤科技开发有限公司 | 语义分割模型训练和图像分割方法及装置、计算设备 |
CN110826596A (zh) * | 2019-10-09 | 2020-02-21 | 天津大学 | 一种基于多尺度可变形卷积的语义分割方法 |
CN112232480A (zh) * | 2020-09-15 | 2021-01-15 | 深圳力维智联技术有限公司 | 训练神经网络模型的方法、系统和存储介质 |
CN113989709A (zh) * | 2021-10-27 | 2022-01-28 | 中国电信股份有限公司 | 目标检测方法及装置、存储介质、电子设备 |
CN114140469A (zh) * | 2021-12-02 | 2022-03-04 | 北京交通大学 | 一种基于多层注意力的深度分层图像语义分割方法 |
CN114187308A (zh) * | 2021-12-16 | 2022-03-15 | 中国人民解放军陆军工程大学 | 基于多尺度池化金字塔的HRNet自蒸馏目标分割方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117409208A (zh) * | 2023-12-14 | 2024-01-16 | 武汉纺织大学 | 一种实时服装图像语义分割方法及系统 |
CN117409208B (zh) * | 2023-12-14 | 2024-03-08 | 武汉纺织大学 | 一种实时服装图像语义分割方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN115294337B (zh) | 2023-01-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108876792B (zh) | 语义分割方法、装置和系统及存储介质 | |
JP7464752B2 (ja) | 画像処理方法、装置、機器及びコンピュータプログラム | |
WO2022083536A1 (zh) | 一种神经网络构建方法以及装置 | |
CN110837811B (zh) | 语义分割网络结构的生成方法、装置、设备及存储介质 | |
CN110084172B (zh) | 文字识别方法、装置和电子设备 | |
CN110378410B (zh) | 多标签场景分类方法、装置及电子设备 | |
CN113762052A (zh) | 视频封面提取方法、装置、设备及计算机可读存储介质 | |
CN109117894B (zh) | 一种基于全卷积神经网络的大尺度遥感图像楼房分类方法 | |
WO2022072940A1 (en) | Processing images using self-attention based neural networks | |
CN115294337B (zh) | 训练语义分割模型的方法、图像语义分割方法及相关装置 | |
CN112070040A (zh) | 一种用于视频字幕的文本行检测方法 | |
CN115018039A (zh) | 一种神经网络蒸馏方法、目标检测方法以及装置 | |
CN113066089A (zh) | 一种基于注意力引导机制的实时图像语义分割网络 | |
WO2022228142A1 (zh) | 对象密度确定方法、装置、计算机设备和存储介质 | |
CN116703947A (zh) | 一种基于注意力机制和知识蒸馏的图像语义分割方法 | |
CN112883887B (zh) | 一种基于高空间分辨率光学遥感图像的建筑物实例自动提取方法 | |
WO2024001653A9 (zh) | 特征提取方法、装置、存储介质及电子设备 | |
CN116957921A (zh) | 图像渲染方法、装置、设备及存储介质 | |
CN112288702A (zh) | 一种基于车联网的道路图像检测方法 | |
CN115082371B (zh) | 图像融合方法、装置、移动终端设备及可读存储介质 | |
CN116662497A (zh) | 视觉问答数据处理方法、装置、计算机设备 | |
CN110866866A (zh) | 图像仿色处理方法、装置、电子设备及存储介质 | |
CN116051850A (zh) | 神经网络目标检测方法、装置、介质和嵌入式电子设备 | |
CN114170519A (zh) | 基于深度学习与多维注意力的高分辨率遥感道路提取方法 | |
CN112419216A (zh) | 图像去干扰方法、装置、电子设备及计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |