一种图像识别模型训练方法、图像识别方法及相关设备[发明专利]
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(19)中华人民共和国国家知识产权局
(12)发明专利申请
(10)申请公布号 (43)申请公布日 (21)申请号 202010674325.3
(22)申请日 2020.07.14
(71)申请人 浙江大华技术股份有限公司
地址 310053 浙江省杭州市滨江区滨安路
1187号
(72)发明人 邸德宁 郝敬松
(74)专利代理机构 北京同达信恒知识产权代理
有限公司 11291
代理人 潘平
(51)Int.Cl.
G06K 9/62(2006.01)
(54)发明名称
一种图像识别模型训练方法、图像识别方法
及相关设备
(57)摘要
本申请提供一种图像识别模型训练方法、图
像识别方法及相关设备,用于减少训练模型的训
练样本。
该图像识别模型训练方法包括:通过第
一图像识别模型的第一特征提取模块,提取训练
集中各样本图像的特征,获得各样本图像的第一
特征矩阵;通过所述第一相似度度量模块,对各
第一特征矩阵进行映射,获得各第二特征矩阵;
并确定每两个第二特征矩阵之间的相似度;调整
所述第一相似度度量模块的模型参数,直到训练
损失满足目标损失,获得已训练的第一图像识别
模型,其中,所述训练损失表示与样本图像目标
分类标签相同的样本图像的相似度与样本图像
目标分类标签不同的样本图像的相似度之间的
误差。
权利要求书2页 说明书14页 附图6页CN 111914908 A 2020.11.10
C N 111914908
A
1.一种图像识别模型训练方法,其特征在于,包括:
通过第一图像识别模型的第一特征提取模块,提取训练集中各样本图像的特征,获得各样本图像的第一特征矩阵;其中,所述第一特征提取模块的模型参数是从已训练的第二图像识别模型迁移得到的,所述第一图像识别模型和所述第二图像识别模型用于识别不同的目标;
通过所述第一相似度度量模块,对各第一特征矩阵进行映射,获得各第二特征矩阵,并确定每两个第二特征矩阵之间的相似度;
根据每两个第二特征矩阵之间的相似度,确定所述第一图像识别模型的训练损失;
根据所述训练损失,调整所述第一相似度度量模块的模型参数,直到所述第一图像识别模型的训练损失满足目标损失,获得已训练的第一图像识别模型。
2.根据权利要求1所述的方法,其特征在于,调整所述第一相似度度量模块的模型参数,包括:
在每一次调整过程中,按照预设调整范围,调整第一相似度度量模块的模型参数。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
在每一次调整过程中,对调整后的第一相似度度量模块的模型参数进行正则化约束。
4.根据权利要求1所述的方法,其特征在于,第一相似度度量模块的模型参数包括单位矩阵形式的转移矩阵。
5.根据权利要求1~4任一项所述的方法,其特征在于,确定每两个第二特征矩阵之间的相似度,包括:
针对每两个第二特征矩阵,确定两个第二特征矩阵之间的余弦相似度。
6.一种图像识别方法,其特征在于,包括:
通过已训练的第一图像识别模型,对待处理图像进行识别;其中,已训练的第一图像识别模型是通过权利要求1~5任一项所述的方法训练得到的;
获得所述待处理图像的目标分类。
7.一种训练图像识别模型的装置,其特征在于,包括:
特征提取模块:用于提取训练集中各样本图像的特征,获得各样本图像的第一特征矩阵;其中,所述特征提取模块的模型参数是从已训练的第二图像识别模型迁移得到的,第一图像识别模型和所述第二图像识别模型用于识别不同的目标;
训练模块:用于通过第一相似度度量模块,对各第一特征矩阵进行映射,获得各第二特征矩阵,并确定每两个第二特征矩阵之间的相似度;以及,根据每两个第二特征矩阵之间的相似度,确定所述第一图像识别模型的训练损失;以及,根据所述训练损失,调整所述第一相似度度量模块的模型参数,直到所述第一图像识别模型的训练损失满足目标损失,获得已训练的第一图像识别模型。
8.一种图像识别装置,其特征在于,包括:
识别模块:用于通过已训练的第一图像识别模型,对待处理图像进行识别;其中,已训练的第一图像识别模型是通过权利要求1~6任一所述的方法获得的;
获得模块:用于获得所述待处理图像的目标分类。
9.一种计算机设备,其特征在于,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序指令执行如权利要求1~5或6中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如权利要求1~5或6中任一项所述的方法。
一种图像识别模型训练方法、图像识别方法及相关设备
技术领域
[0001]本申请涉及计算机技术领域,尤其涉及一种图像识别模型训练方法、图像识别方法及相关设备。
背景技术
[0002]在图像识别之前,通常需要根据图像识别任务训练一个神经网络模型,然而,训练神经网络模型需要大量的训练样本,这在实际应用中是很难实现的。
[0003]随着图像识别准确性的要求的不断提升,图像识别模型的特征提取模块涉及的参数越来越多,在模型应用端对图像识别模型进行迁移学习时,仅基于实际应用时的样本,对特征提取模块进行训练,会导致迁移学习后的图像识别模型产生严重的偏置,因此训练特征提取模块时,除了实际应用时的样本以外,仍然需要较多的迁移学习前的训练样本一同参与对图像识别模型的训练,对于模型应用端来说,获得迁移学习前的训练样本是很难实现的,因此,在训练过程中,仍然存在所需训练样本较多的问题,造成训练效率较低。
发明内容
[0004]本申请实施例提供一种图像识别模型训练方法、图像识别方法及相关设备,用于减少训练模型的训练样本。
[0005]第一方面,提供一种图像识别模型训练方法,该方法包括:
[0006]通过第一图像识别模型的第一特征提取模块,提取训练集中各样本图像的特征,获得各样本图像的第一特征矩阵;其中,所述第一特征提取模块的模型参数是从已训练的第二图像识别模型迁移得到的,所述第一图像识别模型和所述第二图像识别模型用于识别不同的目标;
[0007]通过所述第一相似度度量模块,对各第一特征矩阵进行映射,获得各第二特征矩阵,并确定每两个第二特征矩阵之间的相似度;
[0008]根据每两个第二特征矩阵之间的相似度,确定所述第一图像识别模型的训练损失;
[0009]根据所述训练损失,调整所述第一相似度度量模块的模型参数,直到所述第一图像识别模型的训练损失满足目标损失,获得已训练的第一图像识别模型。
[0010]可选的,调整所述第一相似度度量模块的模型参数,包括:
[0011]在每一次调整过程中,按照预设调整范围,调整第一相似度度量模块的模型参数。
[0012]可选的,所述方法还包括:
[0013]在每一次调整过程中,对调整后的第一相似度度量模块的模型参数进行正则化约束。
[0014]可选的,第一相似度度量模块的模型参数包括单位矩阵形式的转移矩阵。
[0015]可选的,确定每两个第二特征矩阵之间的相似度,包括:
[0016]针对每两个第二特征矩阵,确定两个第二特征矩阵之间的余弦相似度。
[0017]第二方面,提供一种图像识别方法,包括:
[0018]通过已训练的第一图像识别模型,对待处理图像进行识别;其中,已训练的第一图像识别模型是通过第一方面所述的任一方法训练得到的;
[0019]获得所述待处理图像的目标分类。
[0020]第三方面,提供一种训练图像识别模型的装置,包括:
[0021]特征提取模块:用于提取训练集中各样本图像的特征,获得各样本图像的第一特征矩阵;其中,所述特征提取模块的模型参数是从已训练的第二图像识别模型迁移得到的,第一图像识别模型和所述第二图像识别模型用于识别不同的目标;
[0022]训练模块:用于通过第一相似度度量模块,对各第一特征矩阵进行映射,获得各第二特征矩阵,并确定每两个第二特征矩阵之间的相似度;以及,根据每两个第二特征矩阵之间的相似度,确定所述第一图像识别模型的训练损失;以及,根据所述训练损失,调整所述第一相似度度量模块的模型参数,直到所述第一图像识别模型的训练损失满足目标损失,获得已训练的第一图像识别模型。
[0023]可选的,所述训练模块具体用于:在每一次调整过程中,按照预设调整范围,调整第一相似度度量模块的模型参数。
[0024]可选的,所述训练模块还用于:在每一次调整过程中,对调整后的第一相似度度量模块的模型参数进行正则化约束。
[0025]可选的,第一相似度度量模块的模型参数包括单位矩阵形式的转移矩阵。
[0026]可选的,所述训练模块具体用于:针对每两个第二特征矩阵,确定两个第二特征矩阵之间的余弦相似度。
[0027]第四方面,提供一种图像识别装置,包括:
[0028]识别模块:用于通过已训练的第一图像识别模型,对待处理图像进行识别;其中,已训练的第一图像识别模型是通过第一方面中任一所述的方法得到的;
[0029]获得模块:用于获得所述待处理图像的目标分类。
[0030]第五方面,提供一种计算机设备,包括:
[0031]存储器,用于存储程序指令;
[0032]处理器,用于调用所述存储器中存储的程序指令,按照获得的程序指令执行第一方面或第二方面中任一所述的方法。
[0033]第六方面,提供一种存储介质,所述存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行第一方面或第二方面中任一所述的方法。
[0034]本申请实施例中,在第一图像识别模型的第一相似度度量模块中,引入了模型参数,通过训练第一相似度度量模块中的模型参数,可以在不改变第一图像识别模型的第一特征提取模块的模型参数的取值的情况下,只对第一相似度度量模块的模型参数进行调整,由于第一特征提取部分的模型参数的数量较多,因此,本申请实施例在对第一图像识别模型进行训练时,调整第一相似度度量模块的模型参数,而不改变特征提取部分的模型参数可以大大降低训练过程中的计算量,降低训练时长,从而提高模型训练的效率。
[0035]由于不需要对第一特征提取部分的模型参数进行调整,因此,减少了模型训练过程中需要的训练样本的数量,且,不需要将迁移学习前的训练样本作为迁移学习后的训练样本,进一步减少了模型训练过程中需要的训练样本的数量。
[0036]通过迁移已训练的第二图像识别模型的模型参数,获得第一图像识别模型中第一特征提取模块的模型参数和第一图像识别模型中第一相似度度量模块的初始模型参数,使得第一图像识别模型可以基于第二图像识别模型的模型参数进行训练,不需要从随机的模型参数开始,对第一图像识别模型的模型参数进行训练,简化了模型参数的训练过程,在一定程度上,减少了模型训练过程中需要的训练样本的数量。
附图说明
[0037]图1为相关技术中训练图像识别模型方法的原理示意图;
[0038]图2为本申请实施例提供的图像识别模型训练方法的应用场景;
[0039]图3为本申请实施例提供的图像识别模型训练方法涉及的交互示意图一;[0040]图4为本申请实施例提供的图像识别模型训练方法的原理示意图一;图5为本申请实施例提供的图像识别模型的训练过程的流程示意图一;
[0041]图6为本申请实施例提供的图像识别模型训练方法的原理示意图二;
[0042]图7为本申请实施例提供的图像识别模型的训练过程的流程示意图二;
[0043]图8为本申请实施例提供的图像识别模型训练方法涉及的交互示意图二;[0044]图9为本申请实施例的提供的图像识别模型训练装置的结构示意图;
[0045]图10为本申请实施例的提供的图像识别装置的结构示意图;
[0046]图11为本申请实施例的提供的计算机设备的结构示意图。
具体实施方式
[0047]为了使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
[0048]下面对本申请实施例中涉及的名词进行解释:
[0049]迁移学习:把为针对第一任务训练的模型A的模型参数迁移到执行第二任务的模型B中,在通过针对第二任务的训练样本,对模型B进行微调之后,调整后的模型B可以用于执行第二任务。
[0050]另外,本申请实施例中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。
“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。
字符“/”一般表示前后关联对象是一种“或”的关系。
“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。
例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
[0051]请参考图1,为相关技术中训练图像识别模型方法的原理示意图。
图像识别模型A 包括特征提取模块a和相似度度量模块b,特征提取模块a对第一类样本图像进行特征提取,获得输入的样本图像对应的各特征矩阵,各特征矩阵经过相似度度量模块b进行相似度计算,获得针对第一类样本图像的识别结果。
将图像识别模型A的模型参数迁移到图像识别模型B中,图像识别模型B包括特征提取模块101和相似度度量模块103。
特征提取模块101对第二类样本图像进行特征提取,获得输入的样本图像对应的各特征矩阵,各特征矩阵经过相似度度量模块103进行相似度计算,获得训练损失,在训练损失不满足目标损失时,确定特
征提取模块101中的模型参数调整后的取值,根据模型参数调整后的取值重新利用第二类样本图像,对图像识别模型B进行训练,直到训练损失满足目标损失后,获得已训练的图像识别模型B。
[0052]然而,特征提取模块101的模型参数的数量较多,且,随着图像识别过程中,对图像的特征提取模块的要求越来越高,使得特征提取模块的模型参数的数量越来越多。
因此,根据相关技术中训练图像识别模型方法,基于迁移学习对图像识别模型进行训练的过程中,仅依据实际应用时的样本,对图像识别模型进行训练时,会导致图像识别模型严重的偏置,因此训练图像识别模型时,除了实际应用时的样本以外,仍然需要较多的迁移学习前的训练样本一同参与训练,对于模型应用端来说,获得迁移学习前的训练样本是很难实现的,因此,在训练过程中,仍然存在所需训练样本较多的问题,造成训练效率较低。
[0053]鉴于此,为了减少训练模型时所需训练样本,本申请提供一种图像识别模型训练方法。
请参考图2,为一种图像识别的应用场景,该应用场景包括第一训练端201、第二训练端203和模型使用端205,其中,模型使用端205可以包括图像采集装置2051和图像识别装置2052。
[0054]第一训练端201基于第一训练集训练得到第二图像识别模型,第一训练集中包括第一目标的样本图像。
已训练的第二图像识别模型可以用于识别图像中的第一目标。
第二训练端203获得第二图像识别模型的模型参数,并将这些模型参数迁移到第一图像识别模型,并根据第二训练集训练第一图像识别模型,得到已训练的第一图像识别模型。
第二训练样本集中包括第二目标的样本图像。
已训练的第一图像识别模型可以用于图像中的第二目标。
模型使用端205是在第二训练端203完成迁移训练之后,将已训练的图像识别模型应用于图像识别装置2052,从而图像识别装置2052可以对图像采集装置2051采集的待识别图像进行识别。
[0055]其中,第一训练端201和第二训练端203可以是同一个设备,也可以是不同的设备;第二训练端203和模型使用端205可以是同一个设备,也可以是不同的设备。
图像采集装置2051可以是设置在图像识别装置2052中,或者图像采集装置2051和图像识别装置2052可以是独立设置的。
图像采集装置2051可以是摄像头,或者,可以是图像识别装置2052中的接收模块等。
图像识别装置2052可以是终端设备,客户端,或者服务器等。
第一训练端201、第二训练端203或模型使用端205可以是终端设备,或者,可以是客户端,或者,可以是服务器等。
终端设备例如手机、台式计算机或平板电脑等。
客户端可以是安装在终端设备中的应用程序,或者,可以是终端设备可以访问的网页,或者,可以是终端设备可以访问的第三方平台等。
[0056]第一训练集和第二训练集可以是不同的训练集,或者,可以是相同的训练集,或者,第二训练集可以是第一训练集中的一部分。
在一些实际应用场景中,第一训练集和第二训练集一般是不同的训练集,且第一训练集包括的样本图像的数量远远大于第二训练集包括的样本图像的数量。
第一训练集中包括第一目标的样本图像,以及各样本图像对应的目标分类标签,第二训练集中包括第二目标的样本图像,以及各样本图像对应的目标分类标签。
目标分类标签用于标识样本图像的目标类别。
[0057]作为一种实施例,第一目标和第二目标可以是属于相同一级分类的目标中不同的二级分类的目标。
其中,一级分类可以理解为父分类,二级分类可以理解为子分类,比如一
级分类下可以再划分为多个二级分类。
第一目标和第二目标可以是属于相同一级分类的目标中不同的二级分类的目标,例如第一目标和第二目标均是人脸,但是第一目标是A用户对应的人脸,第二目标是B用户对应的人脸;或者,例如第一目标和第二目标均是用户B的人脸,但是第一目标是针对用户B的正脸,第二目标是针对用户B的侧脸;或者,例如第一目标和第二目标均是人体,第一目标是A用户对应的人体,第二目标是B用户对应的人体,等等。
[0058]基于图2的应用场景,对训练图像识别模型的方法进行介绍。
请参考图3,为本申请涉及的第一训练端201、第二训练端203之间的交互过程示意图。
下面结合图3,对该方法进行说明。
[0059]S301,第一训练端201获得已训练的第二图像识别模型。
[0060]第二图像识别模型可以是第一训练端201基于第一训练集,训练得到的图像识别模型,在训练开始,第二图像识别模型的初始模型参数可以随机生成的。
或者,第一训练端201可以从其他设备或者网络资源上获得已训练的图像识别模型。
其中,第一训练集可以是通过人工手动标注获得的各样本图像,或者,可以是通过标注程序自动标注获得的各样本图像,或者,可以是通过网络资源上直接下载得到的各样本图像。
[0061]作为一种实施例,第二图像识别模型包括第二特征提取模块和第二相似度度量模块。
[0062]其中,第二图像识别模型可以用于识别样本图像中的第一目标。
第二特征提取模块用于提取图像的特征,第二相似度度量模块用于确定两个图像的特征之间的相似度,进而根据两个图像的特征之间的相似度,确定出图像中的第一目标的类别。
[0063]下面对第一训练端201训练第二图像识别模型的过程进行示例:
[0064]第一训练端201将样本图像输入第二特征提取模块。
第二特征提取模块可以对样本图像进行特征提取,获得样本图像对应的特征矩阵。
第一训练端201将特征矩阵输入第二相似度度量模块,通过第二相似度度量模块可以确定两个特征矩阵的相似度,如果两个特征矩阵的相似度大于阈值,则确定两个特征对应的样本图像中目标属于同一个目标分类。
根据第一训练集中各样本图像的目标分类标签,以及第二图像识别模型预测出的目标分类,调整第二图像识别模型的模型参数,直到模型满足预设条件,获得已训练的第二图像识别模型。
这里的预设条件比如第二图像识别模型的训练损失满足目标损失,或者第二图像识别模型的学习率达到预设学习率等。
模型的训练损失可以有多种表达方式,本申请不做限制。
[0065]S302,第二训练端203将第二图像识别模型的模型参数迁移到第一图像识别模型中。
[0066]第二训练端203将第二图像识别模型的模型参数迁移到第一图像识别模型中,获得待训练的第一图像识别模型。
比如,第一图像识别模型和第二图像识别模型为同一结构的图像识别模型,在迁移时,直接将S301中获得的已训练的第二图像识别模型作为未训练的第一图像识别模型。
[0067]例如,请参考图4,为第一图像识别模型的一种结构示意图。
第一图像识别模型包括第一特征提取模块401和第一相似度度量模块403。
第一特征提取模块401包括第二特征提取模块的模型参数,第一相似度度量模块403包括第二相似度度量模块的模型参数。
[0068]以图4为例,在迁移第二图像识别模型的模型参数时,可以将第二图像识别模型的
第二特征提取模块的模型参数迁移到第一图像识别模型中的第一特征提取模块,将第二图像识别模型的第二相似度度量模块的模型参数迁移到第一图像识别模型中的第一相似度度量模块。
[0069]S303,第二训练端203获得各样本图像的第一特征矩阵,并将各第一特征矩阵输入第一相似度度量模块。
[0070]第二训练端203将第二图像识别模型的模型参数迁移到第一图像识别模型中之后,第二训练端203可以将第二训练集中的各样本图像输入第一图像识别模型,第一特征提取模块401获得输入的样本图像,并对获得的样本图像进行特征提取。
第一特征提取模块401对样本图像进行特征提取之后,第二训练端203可以获得样本图像对应的第一特征矩阵。
[0071]作为一种实施例,第一特征提取模块401可以包括多个卷积层,依次通过多个卷积层对样本图像进行处理。
比如通过第一个卷积层对样本图像进行特征提取时,可以通过样本图像的像素点与第一卷积核进行卷积的方式,对样本图像进行特征提取。
其中,第一卷积核为m×n维的矩阵。
样本图像中从1×1位的像素点到m×n位的像素点与第一卷积核进行卷积,获得第一层级的特征矩阵中第一位的取值。
在获得第一位的取值之后,第一卷积核可以向右滑动,直到样本图像中所有的像素点均完成特征提取,从而获得第一个卷积层的特征矩阵。
再将第一个卷积层的特征矩阵输入下一个卷积层,直到完成所有卷积层的特征提取,获得第一特征矩阵。
其中,第一特征矩阵可以只包括最后一个卷积层的特征矩阵,或者,可以包括每一个卷积层的特征矩阵,或者,可以包括部分卷积层的特征矩阵,具体不作限制。
[0072]第二训练端203获得各样本图像的第一特征矩阵之后,将各第一特征矩阵输入第一相似度度量模块403。
请参考图5,为第一相似度度量模块403确定各第一特征矩阵之间的相似度的一种流程示意图。
下面对第一相似度度量模块403确定各第一特征矩阵之间的相似度的方法进行介绍。
[0073]S501,第二训练端203对第一特征矩阵进行映射,获得各第二特征矩阵。
[0074]由于第二图像识别模型是用于识别第一目标的,如果直接将第二图像识别模型的模型参数迁移到第一图像识别模型中,对样本图像中的第二目标进行识别,可能会出现识别效果不好的情况,因此,需要在将第二图像识别模型的模型参数迁移到第一图像识别模型之后,基于第二训练集对第一图像识别模型进行再训练。
为了避免调整第一特征提取模块的模型参数,降低第二训练集的数据量,减少训练过程中的计算量和训练时长,本申请实施例中在第一相似度度量模块403中引入用于映射特征矩阵的模型参数,第二训练端203可以根据第一相似度度量模块403的模型参数,对各第一特征矩阵进行映射,从而,可以通过改变第一相似度度量模块403的模型参数,改变映射后的各第一特征矩阵,从而改变各第一特征矩阵在不同的特征维度上的重要程度,即各第一特征矩阵在不同的特征维度在识别过程中所起的作用。
对第一特征矩阵进行映射的方式可以是线性映射的方式,或者也可以采用非线性映射,下面对第一相似度度量模块403中模型参数进行示例说明。
[0075]例如,第一相似度度量模块403中的模型参数包括转移矩阵,即采用转移矩阵对第一特征矩阵进行映射。
[0076]具体的,第一相似度度量模块403的模型参数包括转移矩阵。
转移矩阵用于与第一特征矩阵进行乘法运算,例如第一特征矩阵的大小为1×y,转移矩阵的大小可以是y×y,那。