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

基于深度学习的特征混合可分解性增强的图像描述方法

2022-07-02 07:30:54 来源:中国专利 TAG:


1.本发明涉及机器学习中的表示学习技术;特别涉及图像描述技术。


背景技术:

2.伴随着深度学习技术的发展和成熟,深度学习技术与人们日常生活的结合越来越紧密。深度学习技术在计算机视觉中丰富多彩的应用场景,也对特征应该具有的性质提出了更高的要求。更高层次的计算机视觉下游任务的解决,往往需要利用上游任务提取的低层次视觉信息。这些低层次信息作为下游高层次任务的基础,对下游任务的解决有着很大的影响。为了使特征提取器提取的视觉特征能提升已有模型在下游任务上的表现,我们需要赋予特征更多的优良性质。本发明主要致力于训练一个特征提取器,来提取具有混合可分解性的视觉特征。
3.目前,一些数据增强方法通过直接对输入图片进行旋转、翻转等变换,来丰富原始训练图片集,以增强特征提取器提取的特征具有的旋转不变性和翻转不变性等。然而,这类直接变换输入图片的方法,缺乏对模型深层特征的直接增强。另外,这些方法大多变换整张图片,而缺乏更精细的变换图片内部各个目标的操作,也缺乏对特征混合可分解性这一优良性质的增强。


技术实现要素:

4.本发明提出一种提取的目标的特征相比原始的目标特征有更好的混合可分解性的基于深度学习的特征混合可分解性增强方法,为后续的更精准的图像分类提供基础。
5.本发明为解决上述技术问题所采用的技术方案是,基于深度学习的特征混合可分解性增强的图像描述方法,特征提取器的训练步骤如下:
6.特征提取步骤:特征提取器接收输入的n对目标标签对为每个带标签yi的目标图像xi生成特征fi,,是标签集合;
7.混合步骤:混合模块将特征fi作为主特征,以其它目标图像的特征作为副特征生成目标图像xi的混合特征m
ij

[0008][0009]
其中,fi为目标图像xi的特征,fj为其他目标图像xj的特征,j=1,...,n,i≠j;代表对应位置元素相加,∈是超参数;是从主副目标索引对到主副标签对的映射,u
l(i,j)
为映射l(i,j)的加权系数,u
l(i,j)
∈[0,1];
[0010]
分解步骤:分解模块利用预设的目标特征字典d从混合特征m
ij
中重构出能体现特征可分解性的主特征oi:
[0011][0012]
其中,目标特征字典d由c个类别的目标图像的均值特征组成,p(c)表示类别c的目标占整个有标签目标的比例,c=1,...,c;p(
·
)表示某个类别的目标占整个数据集中有标签目标的比例;w1和w2均为输出维度是σ的全连接层,w1(
·
)和w2(
·
)代表全连接层的输出;i表示转置,

表示对应元素相乘,表示矩阵乘法,softmax表示softmax函数;
[0013]
训练过程中特征提取模块通过分类损失进行约束;混合模块通过混合损失进行约束;分解模块通过分解损失进行约束;
[0014]
使用训练好的特征提取器来提取用于描述图像的目标特征。
[0015]
本发明旨在直接变换图片内各个目标的深层视觉特征,来为视觉特征赋予混合可分解性,尝试通过混合模块来生成混合特征,主要是通过特征提取器提取初始特征,利用混合模块读取两个初始特征(一个作为主特征,另一个作为副特征)来生成混合特征,通过分解模块来重构主特征。进一步的,根据特征提取器提取的特征的分类损失、混合模块的混合损失和分解模块重构出的特征的分类损失,利用反向传播和梯度下降算法来更新模型参数,以增强特征提取器提取的特征的混合可分解性。
[0016]
本发明的有益效果是,利用本发明的方法训练的特征提取器,其提取的特征具有更强的可分解性,可通过与其他特征直接级联的方式广泛地应用于视觉问答和图片标注等一系列下游任务,来提升下游任务模型的表现。具有使用范围广、使用方便的特点。
附图说明
[0017]
图1:本发明整体框架图
[0018]
图2:混合模块计算图
[0019]
图3:分解模块计算图
具体实施方式
[0020]
实现本发明基于深度学习的特征混合可分解性增强方法的整体构架如图1所示,包含特征提取模块、混合模块和分解模块三个部分,由分类损失、混合损失和分解损失来分别指导三个模块的学习。
[0021]
下面将首先说明特征提取模块、混合模块和分解模块的具体设计。
[0022]
设目前已获得目标标签对数据共n对,表示为其中xi是从图片中使用预先准备好的检测框裁剪出的索引为i的目标图像,yi是该目标对应的标签,是该目标对应的标签,是标签集合。对于特征提取器可产生目标图像xi的视觉特征:
[0023][0024]
为每个带标签目标生成混合特征。例如,如果一张图片有m个带标签目标,那么我们能够为每个带标签目标计算m-1个混合特征。当计算某个带标签目标xi的混合特征时,该目标称为主目标,其对应的特征fi称为主特征,用来混合主目标的其他目标称为副目标,副
目标xj对应的特征fj称为副特征。
[0025]
混合模块如图2所示,其利用副特征fj来混合主特征fi得到混合特征m
ij
的操作如下:
[0026][0027]
其中是从主副目标索引对到主副标签对的映射,u
l(i,j)
为映射l(i,j)的加权系数,u
l(i,j)
∈[0,1]。符号代表对应位置元素相加,∈是超参数。
[0028]
分解模块从混合模块生成的混合特征中重构出主特征,来体现特征的可分解性。由于不能在没有先验知识的条件下仅由混合特征重构出主特征,因此分解模块中集成了一个预先准备的目标特征字典d。字典为每个类别的目标存储了一个均值特征di,该均值特征是预训练的特征提取器提取的所有该类目标的特征的均值。分解模块的输入仅有混合特征m
ij
。在给定目标特征字典即数据集中标签种类的数量),如图3所示,其计算重构输出特征oi的方式如下:
[0029][0030]
其中q=w1(m
ij
),k=w2(d
t
),p(
·
)表示某个类别的目标占整个数据集中有标签目标的比例。w1和w2分别代表输出维度是σ的全连接层,w1(
·
)和w2(
·
)代表全连接层的输出,t表示转置。符号

表示对应元素相乘,表示矩阵乘法。
[0031]
下面分别说明分类损失、分解损失和混合损失的具体计算方法。
[0032]
该发明使用一个分类器读取特征提取器提取的特征,来判断该特征对应目标的标签。交叉熵损失被用作分类损失来指导特征提取器和分类器的学习,分类损失计算如下:
[0033][0034]
其中是目标特征fi的真实标签,p(
·
)代表接在特征提取器顶部的分类器。由于分解模块的输出特征应该和特征提取器提取的特征相似,本发明使用了接在特征提取器顶部的分类器p(
·
),来判断分解出的特征的标签。与式(4)类似,分解损失也采用交叉熵损失,计算如下:
[0035][0036]
其中oi是分解出的相似于主特征fi的特征,其真实标签即为主特征的fi的真实标签
[0037]
为了指导混合模块的学习,本发明采用的混合特征由两部分构成。这是因为一方
面,混合模块要利用副特征将主特征充分混合,另一方面又不能彻底破坏主特征。前者通过分类器p(
·
)对混合特征的分类损失很大来体现,后者通过限制u
l(i,j)
过小来实现。因此,用来指导混合模块学习的混合损失构造如下:
[0038][0039]
其中,n(i)代表目标xi所在图片中余下的有标记目标的数量,k(i,
·
):{1,...,n(i)}

{1,...,n}是从目标xi所在图片中余下目标的局部索引,到整个数据集中所有的带标记目标的全局索引的映射,k(i,j)即代表目标xi所在图片中局部索引为j的目标在整个数据集中的全局索引,取值范围1到n;u为由u
l(i,j)
组成的大小为的矩阵,表示集合中的元素个数;||
·
||代表某种范数,可取二范数,λ是用来平衡该损失的两个部分的超参数。
[0040]
最后,本发明采用了交替训练的策略来指导特征提取器、混合模块和分解模块的学习。在整个训练过程中,特征提取器始终可以更新参数,而混合模块和分解模块交替更新参数。具体来说,当特征提取器和混合模块参数更新时,分解模块参数不变,特征提取器提取的特征的分类损失和混合损失直接相加的结果来反向传播和梯度更新特征提取器和混合模块的参数;而当特征提取器和分解模块参数更新时,特征提取器提取的特征的分类损失和分解损失直接相加的结果来反向传播和梯度更新特征提取器和分解模块的参数,此时混合模块参数不变。
[0041]
实施例
[0042]
本发明在pytorch深度学习框架上实现,主要包括如下步骤:特征提取器提取特征,计算用特征提取器提取的特征的分类损失,选取图片中主特征和副特征来计算混合特征,计算混合损失,利用分解模块分解出主特征,计算分解出的特征的分解损失,根据分类损失、混合损失和分解损失来更新模块参数。
[0043]
步骤一:
[0044]
第1步:特征提取器给一个批次数据中每个带标记的目标xi提取特征fi;
[0045]
第2步:按照式(4)计算特征提取器提取特征fi的分类损失
[0046]
第3步:针对同一张图片中所有带标签目标的特征,按照式(2)操作,生成混合特征m
ij

[0047]
第4步:按照式(6)计算混合损失
[0048]
第5步:计算混合损失与分类损失的和;
[0049]
第6步:根据上一步计算的损失之和,来反向传播和梯度更新特征提取器和混合模块的参数;
[0050]
步骤二:
[0051]
第7步:特征提取器给一个批次数据中每个带标记的目标xi提取特征fi;
[0052]
第8步:按照式(4)计算特征提取器提取特征fi的分类损失
[0053]
第9步:读取混合模块生成的混合特征m
ij
,使用分解模块,按式(3)重构出特征oi;
[0054]
第10步:按照式(5)计算分解损失
[0055]
第11步:计算分解损失与分类损失的和;
[0056]
第12步:根据上一步计算的损失之和,来反向传播和梯度更新特征提取器和分解模块的参数;
[0057]
步骤三:
[0058]
第13步:循环到第1步,开始下一周期的训练,直到达到预先设定的循环次数。
[0059]
第14步:使用训练好的特征提取器来提取目标特征用于视觉问答或图片标注等下游任务的训练和测试。
再多了解一些

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

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

相关文献