模型训练方法、图像特征提取方法、装置及电子设备制造方法及图纸

技术编号:24498023 阅读:52 留言:0更新日期:2020-06-13 03:50
本申请提供了一种模型训练方法、图像特征提取方法、装置及电子设备,其中,所述模型训练方法包括:使用训练数据对待训练模型进行第一阶段训练,得到第一阶段模型,其中,所述第一阶段训练中使用第一损失函数作为监督信号;使用所述训练数据对所述第一阶段模型进行第二阶段训练,得到第二阶段模型,其中,所述第二阶段训练使用所述第一损失函数和第二损失函数作为监督信号,所述训练数据为一图像数据集;使用所述训练数据对所述第二阶段模型进行第三阶段训练,得到目标模型,其中,所述第三阶段训练中使用第二损失函数作为监督信号。通过三个阶段分别训练得到的目标模型能够更好地分类图像特征。

Model training method, image feature extraction method, device and electronic equipment

【技术实现步骤摘要】
模型训练方法、图像特征提取方法、装置及电子设备
本申请涉及图像处理
,具体而言,涉及一种模型训练方法、图像特征提取方法、装置及电子设备。
技术介绍
图像检索问题是图像研究领域中一个重要的话题,广泛应用于安防,电子商务等众多领域,当需要检索时,采用特征提取算法提取图像特征,并根据某种相似准则计算得到特征数据库中与待检索的图像的相似度,最后根据相似度由大到小进行排序,从而得到与待检索图像最相似的图像。但是,现有的图像特征算法的提取的特征向量的表达能力不足。
技术实现思路
有鉴于此,本申请实施例的目的在于提供一种模型训练方法、图像特征提取方法、装置及电子设备,能够通过三个阶段的训练模型解决现有技术中存在的现有的图像特征算法的提取的特征向量的表达能力不足的问题,达到通过三个阶段的训练得到的模型能够使,通过目标模型提取的特征向量能够更好地表达图像的效果。根据本申请的一个方面,提供一种电子设备,可以包括一个或多个存储介质和一个或多个与存储介质通信的处理器。一个或多个存储介质存储有处理器可执行的机器可读指令。当电子设备运行时,处理器与存储介质之间通过总线通信,处理器执行所述机器可读指令,以执行一个或多个以下操作:使用训练数据对待训练模型进行第一阶段训练,得到第一阶段模型,其中,所述第一阶段训练中使用第一损失函数作为监督信号,所述训练数据为一图像数据集,所述第一损失函数用于训练不同类的图像的特征向量之间的距离;使用所述训练数据对所述第一阶段模型进行第二阶段训练,得到第二阶段模型,其中,所述第二阶段训练使用所述第一损失函数和第二损失函数作为监督信号,所述第二损失函数用于训练同类图像的特征向量之间的距离;使用所述训练数据对所述第二阶段模型进行第三阶段训练,得到目标模型,其中,所述第三阶段训练中使用第二损失函数作为监督信号。本申请实施例提供的模型训练方法,采用三个阶段的训练,可以是训练得到的模型可以在至少两个维度上对模型进行约束,可以实现训练出的目标模型提取的特征可以更好地表达图像。另外,使用第一阶段的训练可以快速实现初始训练,使用第二阶段的训练,通过两个损失函数可以从第一损失函数训练的目标向第二损失函数对应的目标过度,通过第一损失函数的辅助,可以提高过度的速度,再通过第三阶段的训练可以更准确地实现需要的目标。在一些实施例中,所述使用训练数据对待训练模型进行第一阶段训练的步骤之前,所述方法还包括:使用在ImageNet进行预训练的初始模型初始化基础网络模型,得到待训练模型。直接使用ImageNet进行预训练的初始模型,可以减少训练时的工作量,可以提高训练速度。在一些实施例中,所述第一损失函数包括softmaxloss损失函数,所述使用在可视化数据库进行预训练的初始模型初始化待训练模型,得到第一阶段模型的步骤,包括:将训练数据输入待训练模型进行计算,得到第一输出值;使用softmaxloss损失函数对所述第一输出值进行计算得到第一损失值;判断所述第一损失值是否满足第一设定区间内;若是,则完成第一阶段训练,得到第一阶段模型。在一些实施例中,所述第一损失函数包括softmaxloss损失函数,所述第二损失函数包括tripletloss损失函数,所述使用所述训练数据对所述第一阶段模型进行第二阶段训练,得到第二阶段模型的步骤,包括:将训练数据输入所述第一阶段模型中进行计算,得到第二输出值;分别使用所述softmaxloss损失函数和所述tripletloss损失函数计算所述第二输出值对应的第二损失值组;使用所述第二损失值组计算得到的第二损失值;判断所述第二损失值是否在第二设定区间内;若满足,则完成第二阶段训练,得到第二阶段模型。通过将tripletloss损失函数作为第二损失函数可以增加相似图像的特征内聚性;softmaxloss损失函数作为第一损失函数可以实现,一、维持训练过程的稳定性;二、增大不同类图像特征之间的距离。在第二阶段中使用tripletloss损失函数和softmaxloss损失函数作为监督信号,可以通过softmaxloss损失函数辅助tripletloss损失函数的训练,提高收敛速度。在一些实施例中,所述使用所述第二损失值组计算得到的第二损失值的步骤,包括:对所述第二损失值组中各个损失值进行加权求和得到第二损失值。在一些实施例中,所述第二损失函数包括tripletloss损失函数,所述使用所述训练数据对所述第二阶段模型进行第三阶段训练,得到目标模型的步骤,包括:将所述训练数据输入所述第二阶段模型中进行计算,得到第三输出值;使用所述tripletloss损失函数计算所述第三输出值对应的第三损失值;判断所述第三损失值是否满足第三设定区间内;若满足,则完成第三阶段训练,得到目标模型。由于采用了逐步迁移过度的思路,在最后阶段的任务目标已经变得相对简单,因此,再单独使用tripletloss损失函数作为第三阶段的监督信号,整个过程训练出的特征既能满足图像检索的要求,又解决了tripletloss训练难度大的问题。在一些实施例中,所述待训练模型包括设置在最后一层分类层之前的归一化层,以使所述待训练模型控制输出的特征向量中的每一维中的元素值在0到1之间。在一些实施例中,上述的归一化层可以是L1归一化层,或L2归一化层。在一些实施例中,所述归一化层可以通过以下方式实现:所述归一化层的输入数据表示为:x1,x2,x3...xi...xn;计算输入向量的范数:输出数据表示为:y1,y2,y3...yi...yn;其中,在一些实施例中,所述归一化层可以通过以下方式实现:所述归一化层的输入数据表示为:x1,x2,x3...xi...xn;计算输入向量的范数:norm2(x)=|x1|+|x2|+...+|xn|;输出数据表示为:z1,z2,z3...zi...zn;其中,可以有效地控制输出的特征向量在设定范围内波动,也能够提高模型的收敛速度,提高训练的稳定性。根据本申请的另一方面,本申请实施例提供了一种图像特征提取方法,包括:将待处理图像输入上述的模型训练方法训练得到的目标模型中进行特征提取,得到所述待处理图像的特征向量。根据本实施例中的图像特征提取方法,通过上述的步骤可以实现对待处理图像的特征向量进行提取,可使提取的特征向量更能够表达上述的待处理图像。根据本申请的另一方面,本申请实施例提供了一种模型训练装置,包括:第一训练模块,用于使用训练数据对待训练模型进行第一阶段训练,得到第一阶段模型,其中,所述第一阶段训练中使用第一损失函数作为监督信号,所述训练数据为一图像数据集,所述第一损失函数用于训练不同类的图像的特征向量之间的距离;第二训练模块,用于使用所述训练数据对所述第一阶段模型进行第二本文档来自技高网...

【技术保护点】
1.一种模型训练方法,其特征在于,包括:/n使用训练数据对待训练模型进行第一阶段训练,得到第一阶段模型,其中,所述第一阶段训练中使用第一损失函数作为监督信号,所述训练数据为一图像数据集,所述第一损失函数用于训练不同类的图像的特征向量之间的距离;/n使用所述训练数据对所述第一阶段模型进行第二阶段训练,得到第二阶段模型,其中,所述第二阶段训练使用所述第一损失函数和第二损失函数作为监督信号,所述第二损失函数用于训练同类图像的特征向量之间的距离;/n使用所述训练数据对所述第二阶段模型进行第三阶段训练,得到目标模型,其中,所述第三阶段训练中使用第二损失函数作为监督信号。/n

【技术特征摘要】
1.一种模型训练方法,其特征在于,包括:
使用训练数据对待训练模型进行第一阶段训练,得到第一阶段模型,其中,所述第一阶段训练中使用第一损失函数作为监督信号,所述训练数据为一图像数据集,所述第一损失函数用于训练不同类的图像的特征向量之间的距离;
使用所述训练数据对所述第一阶段模型进行第二阶段训练,得到第二阶段模型,其中,所述第二阶段训练使用所述第一损失函数和第二损失函数作为监督信号,所述第二损失函数用于训练同类图像的特征向量之间的距离;
使用所述训练数据对所述第二阶段模型进行第三阶段训练,得到目标模型,其中,所述第三阶段训练中使用第二损失函数作为监督信号。


2.如权利要求1所述的方法,其特征在于,所述使用训练数据对待训练模型进行第一阶段训练的步骤之前,所述方法还包括:
使用在ImageNet进行预训练的初始模型初始化基础网络模型,得到待训练模型。


3.如权利要求1所述的方法,其特征在于,所述第一损失函数包括softmaxloss损失函数,所述使用训练数据对待训练模型进行第一阶段训练,得到第一阶段模型的步骤,包括:
将训练数据输入待训练模型进行计算,得到第一输出值;
使用softmaxloss损失函数对所述第一输出值进行计算得到第一损失值;
判断所述第一损失值是否在第一设定区间内;
若是,则完成第一阶段训练,得到第一阶段模型。


4.如权利要求1所述的方法,其特征在于,所述第一损失函数包括softmaxloss损失函数,所述第二损失函数包括tripletloss损失函数,所述使用所述训练数据对所述第一阶段模型进行第二阶段训练,得到第二阶段模型的步骤,包括:
将训练数据输入所述第一阶段模型中进行计算,得到第二输出值;
分别使用所述softmaxloss损失函数和所述tripletloss损失函数计算所述第二输出值对应的第二损失值组;
使用所述第二损失值组计算得到的第二损失值;
判断所述第二损失值是否在第二设定区间内;
若满足,则完成第二阶段训练,得到第二阶段模型。


5.如权利要求4所述的方法,其特征在于,所述使用所述第二损失值组计算得到的第二损失值的步骤,包括:
对所述第二损失值组中各个损失值进行加权求和得到第二损失值。


6.如权利要求1所述的方法,其特征在于,所述第二损失函数包括tripletloss损失函数,所述使用所述训练数据对所述第二阶段模型进行第三阶段训练,得到目标模型的步骤,包括:
将所述训练数据输入所述第二阶段模型中进行计算,得到第三输出值;
使用所述tripletloss损失函数计算所述第三输出值对应的第三损失值;
判断所述第三损失值是否在第三设定区间内;
若满足,则完成第三阶段训练,得到目标模型。


7.如权利要求1所述的方法,其特征在于,所述待训练模型包括设置在最后一层分类层之前的归一化层,以使所述待训练模型控制输出的特征向量中的每一维中的元素值在0到1之间。


8.如权利要求7所述的方法,其特征在于,所述归一化层通过以下方式实现:
所述归一化层的输入数据表示为:x1,x2,x3...xi...xn;
计算输入向量的范数:
输出数据表示为:y1,y2,y3...yi...yn;
其中,


9.如权利要求7所述的方法,其特征在于,所述归一化层通过以下方式实现:
所述归一化层的输入数据表示为:x1,x2,x3...xi...xn;
计算输入向量的范数:norm2(x)=|x1|+|x2|+...+|xn|;
输出数据表示为:z1,z2,z3...zi...zn;
其中,


10.一种图像特征提取方法,其特征在于,包括:
将待处理图像输入权利要求1-9任意一项所述的模型训练方法训练得到的目标模型中进行特征提取,得到所述待处理图像的特征向量。


11.一种模型训练装置,其特征在于,包括:
第一训练模块,用于使用训练数据对待训练模型进行第一阶段训练,得到第一阶段模型,其中,所述第一阶段训练中使用第一损失函数作为监督信号,所述训练数据为一图像数据集,所述第一损失函数用于训练不同类的图像的特征向量之间的距离;
第二训练模块,用于使用所述训练数据对所述第一阶段模型进行第二...

【专利技术属性】
技术研发人员:甘春生赵元沈海峰
申请(专利权)人:北京嘀嘀无限科技发展有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1