CN114821203B - 基于一致性损失的细粒度图像模型训练及识别方法和装置 - Google Patents

基于一致性损失的细粒度图像模型训练及识别方法和装置 Download PDF

Info

Publication number
CN114821203B
CN114821203B CN202210745986.XA CN202210745986A CN114821203B CN 114821203 B CN114821203 B CN 114821203B CN 202210745986 A CN202210745986 A CN 202210745986A CN 114821203 B CN114821203 B CN 114821203B
Authority
CN
China
Prior art keywords
image
matrix
column vector
row vector
vector
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.)
Active
Application number
CN202210745986.XA
Other languages
English (en)
Other versions
CN114821203A (zh
Inventor
郭海云
吴畏
王金桥
唐明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Institute of Automation of Chinese Academy of Science
Original Assignee
Institute of Automation of Chinese Academy of Science
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Institute of Automation of Chinese Academy of Science filed Critical Institute of Automation of Chinese Academy of Science
Priority to CN202210745986.XA priority Critical patent/CN114821203B/zh
Publication of CN114821203A publication Critical patent/CN114821203A/zh
Application granted granted Critical
Publication of CN114821203B publication Critical patent/CN114821203B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/26Segmentation 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
    • G06V10/267Segmentation 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 by performing operations on regions, e.g. growing, shrinking or watersheds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing 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/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements 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)
  • Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Biomedical Technology (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Molecular Biology (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Image Analysis (AREA)

Abstract

本申请提供一种基于一致性损失的细粒度图像模型训练及识别方法和装置,涉及图像处理领域,该方法包括:获取样本图像对应的变换图像;将所述样本图像输入至图像识别模型,得到所述样本图像对应的第一行向量和第一列向量;将所述变换图像输入至所述图像识别模型,得到所述变换图像对应的第二行向量和第二列向量;根据所述第一行向量、所述第一列向量、所述第二行向量、所述第二列向量和所述样本图像的标注类别,对所述图像识别模型的参数进行调整。提高了图像识别模型的鲁棒性,以及图像识别模型对于图像的识别准确率。

Description

基于一致性损失的细粒度图像模型训练及识别方法和装置
技术领域
本申请涉及图像处理技术领域,尤其涉及一种基于一致性损失的细粒度图像模型训练及识别方法和装置。
背景技术
图像识别指的是识别图像中目标的类别的过程,例如图像中的汽车、图像中的动物等等。
图像识别包括粗粒度图像识别和细粒度图像识别,其中针对细粒度图像识别而言,旨在识别出图像中目标的精细类别,比如不同品牌的汽车、不同型号的客机、某种动物的子类别等等。
目前的图像识别模型,在针对细粒度图像识别的任务中,模型的鲁棒性较差,导致在图像的局部特征发生变化时模型的识别准确率较低。
发明内容
本申请提供一种基于一致性损失的细粒度图像模型训练及识别方法和装置,以提高图像识别模型的鲁棒性,从而提高图像识别模型对于图像的识别准确率。
第一方面,本申请提供一种基于一致性损失的细粒度图像模型训练方法,包括:
获取样本图像对应的变换图像;
将所述样本图像输入至图像识别模型,得到所述样本图像对应的第一行向量和第一列向量;
将所述变换图像输入至所述图像识别模型,得到所述变换图像对应的第二行向量和第二列向量;
根据所述第一行向量、所述第一列向量、所述第二行向量、所述第二列向量和所述样本图像的标注类别,对所述图像识别模型的参数进行调整。
在一种可能的实施方式中,所述获取样本图像对应的变换图像,包括:
根据预设分割参数对所述样本图像进行分割处理,得到多个图像块;
获取变换矩阵;
根据所述变换矩阵对所述多个图像块进行拼图打乱处理,获取所述变换图像。
在一种可能的实施方式中,所述根据预设分割参数对所述样本图像进行分割处理,得到多个图像块,包括:
根据所述预设分割参数获取图像块的长度和图像块的宽度;
根据所述图像块的长度和所述图像块的宽度对所述样本图像进行分割处理,得到n*n个图像块;
其中,所述图像块的长度为a/n,所述图像块的宽度为b/n,所述a为所述样本图像的长度,所述b为所述样本图像的宽度,所述n为所述预设分割参数,所述a为正数,所述b为正数,所述n为大于1的正整数。
在一种可能的实施方式中,所述获取变换矩阵,包括:
获取n阶单位矩阵;
对所述n阶单位矩阵进行第一初等变换处理,得到第一初等变换矩阵;
对所述n阶单位矩阵进行第二初等变换处理,得到第二初等变换矩阵,其中,所述变换矩阵包括所述第一初等变换矩阵和所述第二初等变换矩阵。
在一种可能的实施方式中,所述图像识别模型包括深度学习网络层、第一线性层和第二线性层;所述将所述样本图像输入至图像识别模型,得到所述样本图像对应的第一行向量和第一列向量,包括:
将所述样本图像输入至所述深度学习网络层,得到所述深度学习网络层输出的第一深度学习矩阵;
根据所述第一线性层对所述第一深度学习矩阵处理,得到所述第一行向量;
根据所述第二线性层对所述第一深度学习矩阵处理,得到所述第一列向量。
在一种可能的实施方式中,所述将所述变换图像输入至所述图像识别模型,得到所述变换图像对应的第二行向量和第二列向量,包括:
将所述变换图像输入至所述深度学习网络层,得到所述深度学习网络层输出的第二深度学习矩阵;
根据所述第一线性层对所述第二深度学习矩阵处理,得到所述第二行向量;
根据所述第二线性层对所述第二深度学习矩阵处理,得到所述第二列向量。
在一种可能的实施方式中,所述根据所述第一行向量、所述第一列向量、所述第二行向量、所述第二列向量和所述样本图像的标注类别,对所述图像识别模型的参数进行调整,包括:
根据所述第一行向量、所述第一列向量、所述第二行向量和所述第二列向量获取第一损失值;
根据所述第二行向量、所述第二列向量和所述标注类别,获取第二损失值;
根据所述第一损失值和所述第二损失值对所述图像识别模型的参数进行调整。
在一种可能的实施方式中,所述根据所述第一行向量、所述第一列向量、所述第二行向量和所述第二列向量获取第一损失值,包括:
根据所述第一行向量和所述第一列向量获取所述样本图像的第一空间特征矩阵;
根据所述第二行向量和所述第二列向量获取所述变换图像的第二空间特征矩阵;
根据所述第一空间特征矩阵和所述第二空间特征矩阵,获取所述第一损失值。
在一种可能的实施方式中,所述根据所述第一空间特征矩阵和所述第二空间特征矩阵,获取所述第一损失值,包括:
根据所述变换矩阵对所述第一空间特征矩阵进行拼图打乱处理,得到第三空间特征矩阵;
将所述第二空间特征矩阵和所述第三空间特征矩阵之间的距离确定为所述第一损失值。
在一种可能的实施方式中,所述根据所述第二行向量、所述第二列向量和所述标注类别,获取第二损失值,包括:
根据所述第二行向量和所述第二列向量,获取所述变换图像的输出类别;
根据所述输出类别和所述标注类别,获取所述第二损失值。
第二方面,本申请提供一种基于一致性损失的细粒度图像识别方法,包括:
获取待识别的第一图像;
将所述第一图像输入至图像识别模型中,得到所述图像识别模型输出的行向量和列向量;
根据所述行向量和所述列向量,确定所述第一图像的类别;
其中,所述图像识别模型为根据第一方面任一项所述的基于一致性损失的细粒度图像模型训练方法进行训练得到的模型。
第三方面,本申请提供一种基于一致性损失的细粒度图像模型训练装置,包括:
获取模块,用于获取样本图像对应的变换图像;
第一处理模块,用于将所述样本图像输入至图像识别模型,得到所述样本图像对应的第一行向量和第一列向量;
第二处理模块,用于将所述变换图像输入至所述图像识别模型,得到所述变换图像对应的第二行向量和第二列向量;
训练模块,用于根据所述第一行向量、所述第一列向量、所述第二行向量、所述第二列向量和所述样本图像的标注类别,对所述图像识别模型的参数进行调整。
在一种可能的实施方式中,所述获取模块具体用于:
根据预设分割参数对所述样本图像进行分割处理,得到多个图像块;
获取变换矩阵;
根据所述变换矩阵对所述多个图像块进行拼图打乱处理,获取所述变换图像。
在一种可能的实施方式中,所述获取模块具体用于:
根据所述预设分割参数获取图像块的长度和图像块的宽度;
根据所述图像块的长度和所述图像块的宽度对所述样本图像进行分割处理,得到n*n个图像块;
其中,所述图像块的长度为a/n,所述图像块的宽度为b/n,所述a为所述样本图像的长度,所述b为所述样本图像的宽度,所述n为所述预设分割参数,所述a为正数,所述b为正数,所述n为大于1的正整数。
在一种可能的实施方式中,所述获取模块具体用于:
获取n阶单位矩阵;
对所述n阶单位矩阵进行第一初等变换处理,得到第一初等变换矩阵;
对所述n阶单位矩阵进行第二初等变换处理,得到第二初等变换矩阵,其中,所述变换矩阵包括所述第一初等变换矩阵和所述第二初等变换矩阵。
在一种可能的实施方式中,所述图像识别模型包括深度学习网络层、第一线性层和第二线性层;所述第一处理模块具体用于:
将所述样本图像输入至所述深度学习网络层,得到所述深度学习网络层输出的第一深度学习矩阵;
根据所述第一线性层对所述第一深度学习矩阵处理,得到所述第一行向量;
根据所述第二线性层对所述第一深度学习矩阵处理,得到所述第一列向量。
在一种可能的实施方式中,所述第二处理模块具体用于:
将所述变换图像输入至所述深度学习网络层,得到所述深度学习网络层输出的第二深度学习矩阵;
根据所述第一线性层对所述第二深度学习矩阵处理,得到所述第二行向量;
根据所述第二线性层对所述第二深度学习矩阵处理,得到所述第二列向量。
在一种可能的实施方式中,所述训练模块具体用于:
根据所述第一行向量、所述第一列向量、所述第二行向量和所述第二列向量获取第一损失值;
根据所述第二行向量、所述第二列向量和所述标注类别,获取第二损失值;
根据所述第一损失值和所述第二损失值对所述图像识别模型的参数进行调整。
在一种可能的实施方式中,所述训练模块具体用于:
根据所述第一行向量和所述第一列向量获取所述样本图像的第一空间特征矩阵;
根据所述第二行向量和所述第二列向量获取所述变换图像的第二空间特征矩阵;
根据所述第一空间特征矩阵和所述第二空间特征矩阵,获取所述第一损失值。
在一种可能的实施方式中,所述训练模块具体用于:
根据所述变换矩阵对所述第一空间特征矩阵进行拼图打乱处理,得到第三空间特征矩阵;
将所述第二空间特征矩阵和所述第三空间特征矩阵之间的距离确定为所述第一损失值。
在一种可能的实施方式中,所述训练模块具体用于:
根据所述第二行向量和所述第二列向量,获取所述变换图像的输出类别;
根据所述输出类别和所述标注类别,获取所述第二损失值。
第四方面,本申请提供一种基于一致性损失的细粒度图像识别装置,包括:
获取模块,用于获取待识别的第一图像;
处理模块,用于将所述第一图像输入至图像识别模型中,得到所述图像识别模型输出的行向量和列向量;
确定模块,用于根据所述行向量和所述列向量,确定所述第一图像的类别;
其中,所述图像识别模型为根据第一方面任一项所述的基于一致性损失的细粒度图像模型训练方法进行训练得到的模型。
第五方面,本申请提供一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面任一项所述的基于一致性损失的细粒度图像模型训练方法,或者,所述处理器执行所述程序时实现如第二方面所述的基于一致性损失的细粒度图像识别方法。
第六方面,本申请提供一种非暂态计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面任一项所述的基于一致性损失的细粒度图像模型训练方法,或者,所述计算机程序被处理器执行时实现如第二方面所述的基于一致性损失的细粒度图像识别方法。
第七方面,本申请提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如第一方面任一项所述的基于一致性损失的细粒度图像模型训练方法,或者,所述计算机程序被处理器执行时实现如第二方面所述的基于一致性损失的细粒度图像识别方法。
本申请提供的基于一致性损失的细粒度图像模型训练及识别方法和装置,首先获取样本图像对应的变换图像,然后将样本图像输入至图像识别模型,得到样本图像对应的第一行向量和第一列向量,将变换图像输入至图像识别模型,得到变换图像对应的第二行向量和第二列向量,根据第一行向量、第一列向量、第二行向量、第二列向量和样本图像的标注类别,对图像识别模型的参数进行调整。针对图像识别模型在细粒度图像识别任务重模型的鲁棒性较差的问题,本申请实施例的方案通过对样本图像进行变换处理得到变换图像,然后基于样本图像对应的第一行向量和第一列向量,以及变换图像对应的第二行向量和第二列向量来获取损失值,同时通过样本图像的标注类别进行一致性约束,从而对图像识别模型的参数进行调整。由于通过样本图像的变换图像进行模型训练,而变换图像是在样本图像的基础上进行变换得到的,通过变换图像和样本图像之间的差异,能够帮助图像识别模型捕捉图像中的局部特征,同时针对样本图像和变换图像采用一致性约束,提高了图像识别模型的鲁棒性,提高了图像的局部特征发生变换时图像识别模型的准确率。
附图说明
为了更清楚地说明本申请或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的应用场景示意图;
图2为本申请实施例提供的基于一致性损失的细粒度图像模型训练方法的流程示意图;
图3为本申请实施例提供的获取变换图像的流程示意图;
图4为本申请实施例提供的获取变换图像的示意图;
图5为本申请实施例提供的样本图像处理示意图;
图6为本申请实施例提供的变换图像处理示意图;
图7为本申请实施例提供的基于一致性损失的细粒度图像识别模型训练的流程示意图;
图8为本申请实施例提供的空间特征矩阵拼图打乱处理示意图;
图9为本申请实施例提供的基于一致性损失的细粒度图像识别方法的流程示意图;
图10为本申请实施例提供的基于一致性损失的细粒度图像模型训练装置的结构示意图;
图11为本申请实施例提供的基于一致性损失的细粒度图像识别装置的结构示意图;
图12为本申请实施例提供的电子设备的实体结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请中的附图,对本申请中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
细粒度图像识别旨在识别出图像中目标的精细类别,比如不同品牌的汽车、不同型号的客机、某种动物的子类别等等。相比于其他类型的图像识别,细粒度图像识别需要模型更加关注输入图像中前景的局部特征。例如在关于鸟类的细粒度图像识别任务中,模型需要根据鸟喙、鸟爪、以及眼部特征来进行分类,而并非颜色、姿态等特征,这就需要在模型训练过程中强化模型对局部特征的理解。例如可以结合图1对本申请的应用场景进行介绍。
图1为本申请实施例提供的应用场景示意图,如图1所示,包括客户端11和服务器12,客户端11和服务器12之间通过有线或无线连接。
客户端11例如可以为手机、电脑、平板、智能手表等设备,客户端11用于向服务器12发送待识别的图像。服务器12在接收到待识别的图像后,对待识别的图像进行处理,输出待识别的图像的类别。针对细粒度图像识别而言,服务器12可以用于识别图像13中的目标的细类别。例如图像13中包括一个球类,通过服务器12对图像13进行图像识别后,输出图像13中的球类的子类别为足球,实现图像的细粒度识别。
图像识别处理通常是基于图像识别模型实现的,而图像识别模型包括模型的训练和应用两个过程。图1示例的应用场景既可以为模型的训练过程,也可以为模型的应用过程。当图1示例的应用场景为模型的训练过程时,服务器12用于执行模型的训练,最终生成训练好的模型。当图1示例的应用场景为模型的应用过程时,服务器12用于执行图像的识别,最终输出图像的识别结果。需要说明的是模型训练的执行主体和模型应用的执行主体可以为同一个,也可以为不同的执行主体。
在目前的图像识别模型训练中,通常是获取一定数量的样本图像,然后对样本图像的类别进行标注,并将样本图像输入图像识别模型中,由图像识别模型对样本图像进行处理,输出识别的类别。然后,根据图像识别模型识别出的类别和样本图像标注的类别之间的差异,对图像识别模型的参数进行调整,从而完成图像识别模型的训练。这种模型训练的方案,抓住了宏观上图像的类别,但是并未关注图像中的局部特征,使得图像识别模型针对局部特征的识别能力较差,图像识别模型的稳定性较差。
为了提高图像识别模型对图像中局部特征的识别能力,本申请实施例提供了一种新的模型训练方案。下面将在图1示例的应用场景的基础上,结合附图对本申请的方案进行介绍。
图2为本申请实施例提供的基于一致性损失的细粒度图像模型训练方法的流程示意图,如图2所示,该方法可以包括:
S21,获取样本图像对应的变换图像。
样本图像为用于进行模型训练的图像,样本图像中可以包括目标。在进行模型训练之前,可以获取训练样本,每组训练样本中包括一张样本图像和该样本图像的标注类别,该标注类别即为对图像中的目标的类别进行标注得到的类别。例如图像识别模型用于识别包含有球类的图像中的球的类别时,其对应的类别例如可以包括篮球、足球、乒乓球等不同类别。
在得到样本图像后,可以获取样本图像对应的变换图像。其中,变换图像是由样本图像进行一定的变换处理得到的图像,该变换处理例如可以包括旋转、拼图打乱等变换处理中的一种或多种。针对一张样本图像而言,可以对该样本图像进行变换处理后得到一张或多张变换图像。在下述实施例中,均以一张样本图像得到一张变换图像为例进行介绍,可以理解的是,针对一张样本图像得到多张变换图像的情形,其后续的处理步骤与一张样本图像得到一张变换图像的处理步骤类似。
S22,将样本图像输入至图像识别模型,得到样本图像对应的第一行向量和第一列向量。
样本图像输入至图像识别模型后,可以由图像识别模型对样本图像处理,得到相应的第一行向量和第一列向量,第一行向量和第一列向量用于反映样本图像的特征。
S23,将变换图像输入至图像识别模型,得到变换图像对应的第二行向量和第二列向量。
变换图像输入至图像识别模型后,可以由图像识别模型对变换图像处理,得到相应的第二行向量和第二列向量,第二行向量和第二列向量用于反映变换图像的特征。
S24,根据第一行向量、第一列向量、第二行向量、第二列向量和样本图像的标注类别,对图像识别模型的参数进行调整。
在获取第一行向量、第一列向量、第二行向量和第二列向量后,可以计算损失值。
具体的,在得到第二行向量和第二列向量后,可以根据第二行向量和第二列向量得到图像识别模型识别出的类别,然后该识别出的类别和样本图像的类别,可以确定一个损失值。
进一步的,由于图像识别模型对样本图像处理得到第一行向量和第一列向量,图像识别模型对变换图像处理得到第二行向量和第二列向量,因此根据第一行向量和第二行向量之间的差别,以及第一列向量和第二列向量之间的差别,也可以确定一个损失值。
根据这两个损失值可以得到一个总的损失值,进而根据总的损失值对图像识别模型的参数进行调整。
针对任意一个变换图像,均可以采用上述方法对图像识别模型的参数调整。重复以上步骤,直至总的损失值小于或等于预设值,或者达到预先设定的迭代次数后,停止训练步骤,得到训练好的图像识别模型即可。
本申请实施例提供的基于一致性损失的细粒度图像模型训练方法,首先获取样本图像对应的变换图像,然后将样本图像输入至图像识别模型,得到样本图像对应的第一行向量和第一列向量,将变换图像输入至图像识别模型,得到变换图像对应的第二行向量和第二列向量,根据第一行向量、第一列向量、第二行向量、第二列向量和样本图像的标注类别,对图像识别模型的参数进行调整。针对图像识别模型在细粒度图像识别任务重模型的鲁棒性较差的问题,本申请实施例的方案通过对样本图像进行变换处理得到变换图像,然后基于样本图像对应的第一行向量和第一列向量,以及变换图像对应的第二行向量和第二列向量来获取损失值,同时通过样本图像的标注类别进行一致性约束,从而对图像识别模型的参数进行调整。由于通过样本图像的变换图像进行模型训练,而变换图像是在样本图像的基础上进行变换得到的,通过变换图像和样本图像之间的差异,能够帮助图像识别模型捕捉图像中的局部特征,同时针对样本图像和变换图像采用一致性约束,提高了图像识别模型的鲁棒性,提高了图像的局部特征发生变换时图像识别模型的准确率。
下面结合附图对本申请的方案进行进一步详细介绍。
在本申请实施例中,需要基于样本图像对应的变换图像实现图像识别模型的训练,而变换图像是对样本图像进行变换得到的,首先结合图3介绍获取变换图像的过程。
图3为本申请实施例提供的获取变换图像的流程示意图,如图3所示,包括:
S31,根据预设分割参数对样本图像进行分割处理,得到多个图像块。
多个图像块中的任意图像块均为样本图像的一个组成部分,对样本图像进行分割处理,即可得到多个图像块,其中,各个图像块之间各不重叠,且多个图像块合并起来可以组成完整的样本图像。
预设分割参数用于指示如何对样本图像进行分割处理,预设分割参数的数量例如可以为1个,或者为2个。根据预设分割参数可以获取任意图像块的长度和宽度,然后根据任意图像块的长度和图像块的宽度对样本图像进行分割处理,得到多个图像块。
例如预设分割参数包括n1和n2,n1和n2均为正整数,n1表示将样本图像在横向分割为n1个部分,n2表示将样本图像在纵向分割为n2个部分,则根据预设分割参数n1和n2对样本图像进行分割处理,可以得到n1*n2个图像块,其中,任意一个图像块的长度为a/n1,任意一个图像块的宽度为b/n2,其中a为样本图像的长度,b为样本图像的宽度,且a和b均为正数。
例如预设分割参数为n,n为大于1的正整数,n表示将样本图像在横向分割为n个部分,且将样本图像在纵向分割为n个部分,则根据预设分割参数n对样本图像进行分割处理,可以得到n*n个图像块,其中,任意一个图像块的长度为a/n,任意一个图像块的宽度为b/n,其中a为样本图像的长度,b为样本图像的宽度,且a和b均为正数。
图4为本申请实施例提供的获取变换图像的示意图,如图4所示,以预设分割参数n=4为例,根据n进行样本图像41的分割处理,可以得到4*4个图像块,每个图像块的尺寸相等。
S32,获取变换矩阵。
变换矩阵用于对多个图像块进行拼图打乱处理。本申请实施例中的变换矩阵为对单位矩阵进行初等变换处理得到的矩阵。
具体的,首先获取n阶单位矩阵E。以n=4为例,则4阶单位矩阵为
Figure 597870DEST_PATH_IMAGE001
对n阶单位矩阵进行第一初等变换处理,可以得到第一初等变换矩阵M1。对n阶单位矩阵进行第二初等变换处理,可以得到第二初等变换矩阵M2。其中,第一初等变换和第二初等变换均属于针对单位矩阵的初等变换,第一初等变换和第二初等变换可以相同,也可以不同。变换矩阵包括第一初等变换矩阵和第二初等变换矩阵。
例如,可以对n阶单位矩阵E进行行变换处理得到第一初等变换矩阵M1,可以对n阶单位矩阵E进行列变换处理得到第二初等变换矩阵M2。经过初等变换后得到的第一初等变换矩阵M1和第二初等变换矩阵M2也均为n阶矩阵。
S33,根据变换矩阵对多个图像块进行拼图打乱处理,获取变换图像。
在得到变换矩阵后,可以根据变换矩阵对多个图像块进行拼图打乱处理,获取变换图像。其中,拼图打乱处理指的是在将样本图像分割成多个图像块后,改变图像块之间的相对位置,拼接成新的图像的过程。拼图打乱处理可以是将样本图像分割成任意多个图像块,然后任意调整图像块之间的相对位置,例如第一行的图像块和第二行的图像块的位置互换,例如第二列的图像块和第三列的图像块的位置互换,等等。
本申请实施例中,可以通过变换矩阵对多个图像块进行拼图打乱处理,其中,多个 图像块的数量为n*n个,n为变换矩阵的阶数。例如设样本图像为x,x={pi,j},
Figure 204432DEST_PATH_IMAGE002
,其中,pi,j表示样本图像中横向第i个、纵向第j个对应 的图像块。
针对n*n个图像块,在对其进行拼图打乱处理时,n阶随机拼图其所产生的数据增强结果为n2!(即n2的阶乘)种,即针对n*n个图像块而言,将其打乱顺序可能产生n2!种不同的变换图像。
上述拼图打乱处理随着拼图阶数的增加,其可产生的组合方式会剧烈增加。例如,当n=3时,共可得到36万种数据增强结果,当n=4时,共可得到20万亿种数据增强结果。这种大幅度的变换使得预设分割参数n难以调整,并且增加了模型训练的难度。
基于此,本申请实施例提供了一种通过初等变换矩阵进行拼图打乱处理的方案。具体的,可以将变换矩阵与样本图像x对应的矩阵进行相乘,实现变换。例如,一种可能的实现方式是,x’=M1*x;一种可能的实现方式是,x’=M2*x;一种可能的实现方式是,x’=x*M1;一种可能的实现方式是,x’=x*M2;等等。x’为变换图像。
本申请实施例中,以x’=M1*x*M2为例,例如在图4中,M1=
Figure 791271DEST_PATH_IMAGE003
,M2=
Figure 231087DEST_PATH_IMAGE004
,x=
Figure 171361DEST_PATH_IMAGE005
,则可得:
x’=M1*x*M2
=
Figure 881697DEST_PATH_IMAGE003
*
Figure 514803DEST_PATH_IMAGE005
*
Figure 444844DEST_PATH_IMAGE004
=
Figure 923230DEST_PATH_IMAGE006
如图4所示,经过上述拼图变换,可以得到变换图像42(即图像x’)。通过初等变换矩阵进行拼图打乱处理来实现针对样本图像的变换,得到变换图像,既可以有效的保留输入的样本图像的局部特征,强化图像识别模型对于局部特征的识别能力,也能够有效限制数据增强结果的数量,便于预设分割参数的调整,从而降低图像识别模型的训练难度。
在得到变换图像后,可以通过图像识别模型对样本图像和变换图像处理,其中图像识别模型包括深度学习网络层、第一线性层和第二线性层。下面将结合图5和图6对该过程进行介绍。
图5为本申请实施例提供的样本图像处理示意图,如图5所示,图像识别模型包括深度学习网络层、第一线性层和第二线性层,第一线性层与深度学习网络层连接,第二线性层也与深度学习网络层。
可选的,深度学习网络层可以为ResNet-50,或者其他可能的深度神经网络,在本申请实施例中,深度学习网络层可以是由ImageNet(一个开集的图像库)预训练后的深度神经网络。第一线性层和第二线性层的结构可以相同,也可以不同,其中第一线性层用于生成特征行向量,第二线性层用于生成特征列向量。
将样本图像50输入至深度学习网络层,由深度学习网络层对样本图像50处理,可以得到深度学习网络层输出的第一深度学习矩阵。然后,第一深度学习矩阵会分别输入至第一线性层和第二线性层,根据第一线性层对第一深度学习矩阵处理,可以得到第一行向量,根据第二线性层对第一深度学习矩阵处理,可以得到第一列向量。上述过程可以由如下式(1)和式(2)表示:
Figure 894597DEST_PATH_IMAGE007
Figure 180829DEST_PATH_IMAGE008
其中,
Figure 847433DEST_PATH_IMAGE009
代表深度学习网络层,
Figure 113199DEST_PATH_IMAGE010
对应第一线性层,
Figure 814438DEST_PATH_IMAGE011
对应第二线性 层,
Figure 8922DEST_PATH_IMAGE012
,表示的是归一化运算函数,
Figure 428402DEST_PATH_IMAGE013
为超参数,代表当前拼图算 法的阶数,也即预设分割参数。
在式(1)中,x代表样本图像,
Figure 497858DEST_PATH_IMAGE014
代表通过深度学习网络层对样本图像处理 生成的第一深度学习矩阵,
Figure 788025DEST_PATH_IMAGE015
代表通过第一线性层对第一深度学习矩阵处 理生成的行向量,
Figure 557004DEST_PATH_IMAGE016
代表对生成的行向量进行归一化运算生成的第 一行向量,即
Figure 181889DEST_PATH_IMAGE017
在式(2)中,
Figure 805769DEST_PATH_IMAGE018
代表通过第二线性层对第一深度学习矩阵处理生 成的列向量,
Figure 232333DEST_PATH_IMAGE019
代表对生成的列向量进行归一化运算生成的第一列 向量,即
Figure 17887DEST_PATH_IMAGE020
Figure 395647DEST_PATH_IMAGE021
Figure 557638DEST_PATH_IMAGE022
均为
Figure 711146DEST_PATH_IMAGE023
维特征向量
Figure 448026DEST_PATH_IMAGE024
图6为本申请实施例提供的变换图像处理示意图,如图6所示,与图5示例的结构类似,图像识别模型包括深度学习网络层、第一线性层和第二线性层,第一线性层与深度学习网络层连接,第二线性层也与深度学习网络层。
将变换图像60输入至深度学习网络层,由深度学习网络层对变换图像60处理,可以得到深度学习网络层输出的第二深度学习矩阵。然后,第二深度学习矩阵会分别输入至第一线性层和第二线性层,根据第一线性层对第二深度学习矩阵处理,可以得到第二行向量,根据第二线性层对第二深度学习矩阵处理,可以得到第二列向量。上述过程可以由如下式(3)和式(4)表示:
Figure 63815DEST_PATH_IMAGE025
Figure 780230DEST_PATH_IMAGE026
其中,
Figure 899496DEST_PATH_IMAGE027
代表深度学习网络层,
Figure 682644DEST_PATH_IMAGE028
对应第一线性层,
Figure 267953DEST_PATH_IMAGE029
对应第二线性层,
Figure 37325DEST_PATH_IMAGE012
,表示的是归一化运算函数,
Figure 260365DEST_PATH_IMAGE030
为超参数,代表当前拼图算法的 阶数,也即预设分割参数。
在式(3)中,x’代表变换图像,
Figure 89781DEST_PATH_IMAGE031
代表通过深度学习网络层对变换图像处理 生成的第二深度学习矩阵,
Figure 430895DEST_PATH_IMAGE032
代表通过第一线性层对第二深度学习矩阵 处理生成的行向量,
Figure 472800DEST_PATH_IMAGE033
代表对生成的行向量进行归一化运算生成的第二 行向量,即
Figure 956871DEST_PATH_IMAGE034
在式(4)中,
Figure 439412DEST_PATH_IMAGE035
代表通过第二线性层对第二深度学习矩阵处理生成的 列向量,
Figure 251510DEST_PATH_IMAGE036
代表对生成的列向量进行归一化运算生成的第二列向量,即
Figure 611953DEST_PATH_IMAGE037
Figure 825896DEST_PATH_IMAGE038
Figure 482268DEST_PATH_IMAGE039
'均为
Figure 781662DEST_PATH_IMAGE030
维特征向量
Figure 414638DEST_PATH_IMAGE040
在上述实施例中,结合图5和图6介绍了生成第一行向量、第一列向量、第二行向量和第二列向量的方案,下面将结合图7介绍根据第一行向量、第一列向量、第二行向量、第二列向量和样本图像的标注类别训练图像识别模型的过程。
图7为本申请实施例提供的基于一致性损失的细粒度图像识别模型训练的流程示意图,如图7所示,包括:
S71,根据第一行向量、第一列向量、第二行向量和第二列向量获取第一损失值。
在得到第一行向量、第一列向量、第二行向量和第二列向量后,可以根据第一行向量和第一列向量获取样本图像的第一空间特征矩阵。其中,第一空间特征矩阵可以由第一行向量和第一列向量相乘而得,第一空间特征矩阵可以由下式(5)表示:
Figure 483088DEST_PATH_IMAGE041
其中,
Figure 471814DEST_PATH_IMAGE042
为第一空间特征矩阵,
Figure 242193DEST_PATH_IMAGE043
为第一行向量,
Figure 695171DEST_PATH_IMAGE044
Figure 368860DEST_PATH_IMAGE045
的转置,
Figure 881881DEST_PATH_IMAGE046
为第一列向量,
Figure 139556DEST_PATH_IMAGE047
为n*n的矩阵,n为预设分割参数,即
Figure 396225DEST_PATH_IMAGE048
可以根据第二行向量和第二列向量获取变换图像的第二空间特征矩阵。其中,第二空间特征矩阵可以由第二行向量和第二列向量相乘而得,第二空间特征矩阵可以由下式(6)表示:
Figure 921491DEST_PATH_IMAGE049
其中,
Figure 730047DEST_PATH_IMAGE050
为第二空间特征矩阵,
Figure 960171DEST_PATH_IMAGE051
为第二行向量,
Figure 771263DEST_PATH_IMAGE052
Figure 403233DEST_PATH_IMAGE053
的转置,
Figure 507324DEST_PATH_IMAGE054
为第二列向量,
Figure 490323DEST_PATH_IMAGE055
为n*n的矩阵,n为预设分割参数,即
Figure 836598DEST_PATH_IMAGE056
在得到第一空间特征矩阵和第二空间特征矩阵后,可以根据第一空间特征矩阵和第二空间特征矩阵获取第一损失值。下面将结合图8对该过程进行介绍。
图8为本申请实施例提供的空间特征矩阵拼图打乱处理示意图,如图8所示,由于变换图像是经过样本图像进行拼图打乱处理后得到的,因此在得到样本图像的第一空间特征矩阵后,对第一空间特征矩阵进行拼图打乱处理。
在本申请实施例中,由于是根据变换矩阵对样本图像进行拼图打乱处理的,因此也可以根据变换矩阵对第一空间特征矩阵进行拼图打乱处理,得到第三空间特征矩阵。
例如,样本图像为x,变换图像为x’,第一空间变换矩阵为
Figure 323074DEST_PATH_IMAGE057
,第二空间变换矩阵 为
Figure 598066DEST_PATH_IMAGE058
,第三空间变换矩阵为
Figure 694460DEST_PATH_IMAGE059
。若x’=M1*x,则
Figure 565464DEST_PATH_IMAGE060
;若x’=x*M1,则
Figure 686873DEST_PATH_IMAGE061
;若x’=M1*x*M2,则
Figure 883499DEST_PATH_IMAGE062
,等等。即通过变换矩阵对样本 图像所做的拼图打乱处理与通过变换矩阵对第一空间特征矩阵所做的拼图打乱处理相同, 或者相对应。
以图8为例,样本图像81被分割为4*4的图像块,样本图像81对应的第一空间变换 矩阵为
Figure 323314DEST_PATH_IMAGE063
。对样本图像81进行拼图打乱处理后得到变换图像82,从 样本图像81至变换图像82,在图8中实质上是将样本图像81的第一排第二个图像块的位置, 与第二排第一个图像块的位置互换。对应的,从第一空间变换矩阵至第三空间变换矩阵,实 质上是将第一空间变换矩阵的第一排第二个元素
Figure 263589DEST_PATH_IMAGE064
的位置,与第二排第一个元素
Figure 239504DEST_PATH_IMAGE065
的 位置互换,从而得到第三空间变换矩阵为
Figure 341452DEST_PATH_IMAGE066
在得到第三空间特征矩阵后,计算第二空间特征矩阵和第三空间特征矩阵之间的距离,然后将第二空间特征矩阵和第三空间特征矩阵之间的距离作为第一损失值。
S72,根据第二行向量、第二列向量和标注类别,获取第二损失值。
如图6所示,通过图像识别模型输出第二行向量和第二列向量后,可以根据第二行向量和第二列向量获取变换图像的输出类别。具体的,可以对第二行向量和第二列向量进行一定的运算,得到一个数值,然后根据该数值确定变换图像的输出类别。
针对第二行向量和第二列向量的运算可以根据实际需要确定。例如,可以对第二行向量和第二列向量对应的元素相加,相加的结果进行归一化处理后得到数值。例如也可以对第二行向量和第二列向量中的元素进行合并,合并后的向量中的元素进行归一化处理得到数值。然后,根据图像的类别的数量可以划分一定的范围,从而确定变换图像的输出类别。以图像的类别的数量为2为例,包括类别一和类别二,其中0代表类别一,1代表类别二。若该数值属于[0,0.5],则确定变换图像的输出类别为类别一,若该数值属于(0.5,1],则确定变换图像的输出类别为类别二。然后根据数值代表的输出类别和标注类别,可以得到第二损失值。
S73,根据第一损失值和第二损失值对图像识别模型的参数进行调整。
在得到第一损失值和第二损失值后,可以根据第一损失值和第二损失值计算总的损失值。例如,可以将第一损失值与第二损失值直接相加,得到总的损失值。例如,可以将第一损失值和第二损失值按照一定的权重或比例相加,得到总的损失值。
在得到总的损失值后,可以根据总的损失值对图像识别模型的参数进行调整。
针对任意一个变换图像,均可以采用上述方案对图像识别模型的参数进行调整。重复执行上述迭代步骤,直至总的损失值小于或等于某个预设阈值,或者迭代次数大于或等于某个预设值时,停止迭代过程,得到训练好的图像识别模型。
图像识别模型训练完成后,可以用于进行图像识别。下面将结合图9对图像识别的过程进行介绍。
图9为本申请实施例提供的基于一致性损失的细粒度图像识别方法的流程示意图,如图9所示,该方法可以包括:
S91,获取待识别的第一图像。
第一图像为待识别的图像,在获取第一图像后,可以通过图像识别模型对其进行识别。
需要说明的是,本申请实施例中的执行主体可以与图2实施例中基于一致性损失的细粒度图像识别模型训练方法的执行主体相同,也可以与其不同。
S92,将第一图像输入至图像识别模型中,得到图像识别模型输出的行向量和列向量。
图像识别模型包括深度学习网络层、第一线性层和第二线性层,将第一图像输入至图像识别模型后,首先由深度学习网络层对第一图像处理,得到第一图像对应的空间特征矩阵,然后空间特征矩阵被输入至第一线性层和第二线性层。
通过第一线性层对第一图像对应的空间特征矩阵处理,得到第一图像对应的行向量;通过第二线性层对第一图像对应的空间特征矩阵处理,得到第一图像对应的列向量。
S93,根据行向量和列向量,确定第一图像的类别。
在得到第一图像对应的行向量和列向量后,可以对行向量和列向量执行相应的运算,来确定第一图像的类别。例如,可以对行向量和列向量对应的元素相加,相加的结果进行归一化处理后得到数值。例如也可以对行向量和列向量中的元素进行合并,合并后的向量中的元素进行归一化处理得到数值。然后,根据得到的数值确定第一图像的输出类别。以图像的类别的数量为2为例,包括类别一和类别二,其中0代表类别一,1代表类别二。若该数值属于[0,0.5],则确定第一图像的输出类别为类别一,若该数值属于(0.5,1],则确定第一图像的输出类别为类别二。
其中,图像识别模型在用于图像识别之前,需要进行模型训练,模型训练的过程可以参见上述图2-图8实施例的相关介绍,此处不再赘述。
综上所述,本申请实施例的方案,首先获取样本图像对应的变换图像,然后将样本图像输入至图像识别模型,得到样本图像对应的第一行向量和第一列向量,将变换图像输入至图像识别模型,得到变换图像对应的第二行向量和第二列向量,根据第一行向量、第一列向量、第二行向量、第二列向量和样本图像的标注类别,对图像识别模型的参数进行调整。针对图像识别模型在细粒度图像识别任务重模型的鲁棒性较差的问题,本申请实施例的方案通过对样本图像进行变换处理得到变换图像,然后基于样本图像对应的第一行向量和第一列向量,以及变换图像对应的第二行向量和第二列向量来获取损失值,同时通过样本图像的标注类别进行一致性约束,从而对图像识别模型的参数进行调整。由于通过样本图像的变换图像进行模型训练,而变换图像是在样本图像的基础上进行变换得到的,通过变换图像和样本图像之间的差异,能够帮助图像识别模型捕捉图像中的局部特征,同时针对样本图像和变换图像采用一致性约束,使得图像识别模型在训练过程中能够学习到样本图像的空间结构,强化对空间局部特征的学习能力,提高了图像识别模型的鲁棒性,提高了图像的局部特征发生变换时图像识别模型的准确率。
图10为本申请实施例提供的基于一致性损失的细粒度图像模型训练装置的结构示意图,如图10所示,该基于一致性损失的细粒度图像模型训练装置包括:
获取模块101,用于获取样本图像对应的变换图像;
第一处理模块102,用于将所述样本图像输入至图像识别模型,得到所述样本图像对应的第一行向量和第一列向量;
第二处理模块103,用于将所述变换图像输入至所述图像识别模型,得到所述变换图像对应的第二行向量和第二列向量;
训练模块104,用于根据所述第一行向量、所述第一列向量、所述第二行向量、所述第二列向量和所述样本图像的标注类别,对所述图像识别模型的参数进行调整。
在一种可能的实施方式中,所述获取模块101具体用于:
根据预设分割参数对所述样本图像进行分割处理,得到多个图像块;
获取变换矩阵;
根据所述变换矩阵对所述多个图像块进行拼图打乱处理,获取所述变换图像。
在一种可能的实施方式中,所述获取模块101具体用于:
根据所述预设分割参数获取图像块的长度和图像块的宽度;
根据所述图像块的长度和所述图像块的宽度对所述样本图像进行分割处理,得到n*n个图像块;
其中,所述图像块的长度为a/n,所述图像块的宽度为b/n,所述a为所述样本图像的长度,所述b为所述样本图像的宽度,所述n为所述预设分割参数,所述a为正数,所述b为正数,所述n为大于1的正整数。
在一种可能的实施方式中,所述获取模块101具体用于:
获取n阶单位矩阵;
对所述n阶单位矩阵进行第一初等变换处理,得到第一初等变换矩阵;
对所述n阶单位矩阵进行第二初等变换处理,得到第二初等变换矩阵,其中,所述变换矩阵包括所述第一初等变换矩阵和所述第二初等变换矩阵。
在一种可能的实施方式中,所述图像识别模型包括深度学习网络层、第一线性层和第二线性层;所述第一处理模块102具体用于:
将所述样本图像输入至所述深度学习网络层,得到所述深度学习网络层输出的第一深度学习矩阵;
根据所述第一线性层对所述第一深度学习矩阵处理,得到所述第一行向量;
根据所述第二线性层对所述第一深度学习矩阵处理,得到所述第一列向量。
在一种可能的实施方式中,所述第二处理模块103具体用于:
将所述变换图像输入至所述深度学习网络层,得到所述深度学习网络层输出的第二深度学习矩阵;
根据所述第一线性层对所述第二深度学习矩阵处理,得到所述第二行向量;
根据所述第二线性层对所述第二深度学习矩阵处理,得到所述第二列向量。
在一种可能的实施方式中,所述训练模块104具体用于:
根据所述第一行向量、所述第一列向量、所述第二行向量和所述第二列向量获取第一损失值;
根据所述第二行向量、所述第二列向量和所述标注类别,获取第二损失值;
根据所述第一损失值和所述第二损失值对所述图像识别模型的参数进行调整。
在一种可能的实施方式中,所述训练模块104具体用于:
根据所述第一行向量和所述第一列向量获取所述样本图像的第一空间特征矩阵;
根据所述第二行向量和所述第二列向量获取所述变换图像的第二空间特征矩阵;
根据所述第一空间特征矩阵和所述第二空间特征矩阵,获取所述第一损失值。
在一种可能的实施方式中,所述训练模块104具体用于:
根据所述变换矩阵对所述第一空间特征矩阵进行拼图打乱处理,得到第三空间特征矩阵;
将所述第二空间特征矩阵和所述第三空间特征矩阵之间的距离确定为所述第一损失值。
在一种可能的实施方式中,所述训练模块104具体用于:
根据所述第二行向量和所述第二列向量,获取所述变换图像的输出类别;
根据所述输出类别和所述标注类别,获取所述第二损失值。
本申请实施例提供的基于一致性损失的细粒度图像模型训练装置,用于执行上述方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。
图11为本申请实施例提供的基于一致性损失的细粒度图像识别装置的结构示意图,如图11所示,该基于一致性损失的细粒度图像识别装置包括:
获取模块111,用于获取待识别的第一图像;
处理模块112,用于将所述第一图像输入至图像识别模型中,得到所述图像识别模型输出的行向量和列向量;
确定模块113,用于根据所述行向量和所述列向量,确定所述第一图像的类别。
本申请实施例提供的基于一致性损失的细粒度图像识别装置,用于执行上述方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。
图12示例了一种电子设备的实体结构示意图,如图12所示,该电子设备可以包括:处理器(processor)1210、通信接口(Communications Interface)1220、存储器(memory)1230和通信总线1240,其中,处理器1210,通信接口1220,存储器1230通过通信总线1240完成相互间的通信。处理器1210可以调用存储器1230中的逻辑指令,以执行基于一致性损失的细粒度图像模型训练方法,该方法包括:获取样本图像对应的变换图像;将所述样本图像输入至图像识别模型,得到所述样本图像对应的第一行向量和第一列向量;将所述变换图像输入至所述图像识别模型,得到所述变换图像对应的第二行向量和第二列向量;根据所述第一行向量、所述第一列向量、所述第二行向量、所述第二列向量和所述样本图像的标注类别,对所述图像识别模型的参数进行调整。处理器1210可以调用存储器1230中的逻辑指令,以执行基于一致性损失的细粒度图像识别方法,该方法包括:获取待识别的第一图像;将所述第一图像输入至图像识别模型中,得到所述图像识别模型输出的行向量和列向量;根据所述行向量和所述列向量,确定所述第一图像的类别。
此外,上述的存储器1230中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本申请还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的基于一致性损失的细粒度图像模型训练方法,该方法包括:获取样本图像对应的变换图像;将所述样本图像输入至图像识别模型,得到所述样本图像对应的第一行向量和第一列向量;将所述变换图像输入至所述图像识别模型,得到所述变换图像对应的第二行向量和第二列向量;根据所述第一行向量、所述第一列向量、所述第二行向量、所述第二列向量和所述样本图像的标注类别,对所述图像识别模型的参数进行调整。或者,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的基于一致性损失的细粒度图像识别方法,该方法包括:获取待识别的第一图像;将所述第一图像输入至图像识别模型中,得到所述图像识别模型输出的行向量和列向量;根据所述行向量和所述列向量,确定所述第一图像的类别。
又一方面,本申请还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的基于一致性损失的细粒度图像模型训练方法,该方法包括:获取样本图像对应的变换图像;将所述样本图像输入至图像识别模型,得到所述样本图像对应的第一行向量和第一列向量;将所述变换图像输入至所述图像识别模型,得到所述变换图像对应的第二行向量和第二列向量;根据所述第一行向量、所述第一列向量、所述第二行向量、所述第二列向量和所述样本图像的标注类别,对所述图像识别模型的参数进行调整。或者,该计算机程序被处理器执行时实现以执行上述各方法提供的基于一致性损失的细粒度图像识别方法,该方法包括:获取待识别的第一图像;将所述第一图像输入至图像识别模型中,得到所述图像识别模型输出的行向量和列向量;根据所述行向量和所述列向量,确定所述第一图像的类别。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (13)

1.一种基于一致性损失的细粒度图像模型训练方法,其特征在于,包括:
获取样本图像对应的变换图像;
将所述样本图像输入至图像识别模型,得到所述样本图像对应的第一行向量和第一列向量;
将所述变换图像输入至所述图像识别模型,得到所述变换图像对应的第二行向量和第二列向量;
根据所述第一行向量、所述第一列向量、所述第二行向量、所述第二列向量和所述样本图像的标注类别,对所述图像识别模型的参数进行调整;
所述获取样本图像对应的变换图像,包括:
根据预设分割参数对所述样本图像进行分割处理,得到多个图像块;
获取变换矩阵;
根据所述变换矩阵对所述多个图像块进行拼图打乱处理,获取所述变换图像;
所述图像识别模型包括深度学习网络层、第一线性层和第二线性层;所述将所述样本图像输入至图像识别模型,得到所述样本图像对应的第一行向量和第一列向量,包括:
将所述样本图像输入至所述深度学习网络层,得到所述深度学习网络层输出的第一深度学习矩阵;
根据所述第一线性层对所述第一深度学习矩阵处理,得到所述第一行向量;
根据所述第二线性层对所述第一深度学习矩阵处理,得到所述第一列向量。
2.根据权利要求1所述的基于一致性损失的细粒度图像模型训练方法,其特征在于,所述根据预设分割参数对所述样本图像进行分割处理,得到多个图像块,包括:
根据所述预设分割参数获取图像块的长度和图像块的宽度;
根据所述图像块的长度和所述图像块的宽度对所述样本图像进行分割处理,得到n*n个图像块;
其中,所述图像块的长度为a/n,所述图像块的宽度为b/n,所述a为所述样本图像的长度,所述b为所述样本图像的宽度,所述n为所述预设分割参数,所述a为正数,所述b为正数,所述n为大于1的正整数。
3.根据权利要求2所述的基于一致性损失的细粒度图像模型训练方法,其特征在于,所述获取变换矩阵,包括:
获取n阶单位矩阵;
对所述n阶单位矩阵进行第一初等变换处理,得到第一初等变换矩阵;
对所述n阶单位矩阵进行第二初等变换处理,得到第二初等变换矩阵,其中,所述变换矩阵包括所述第一初等变换矩阵和所述第二初等变换矩阵。
4.根据权利要求1所述的基于一致性损失的细粒度图像模型训练方法,其特征在于,所述将所述变换图像输入至所述图像识别模型,得到所述变换图像对应的第二行向量和第二列向量,包括:
将所述变换图像输入至所述深度学习网络层,得到所述深度学习网络层输出的第二深度学习矩阵;
根据所述第一线性层对所述第二深度学习矩阵处理,得到所述第二行向量;
根据所述第二线性层对所述第二深度学习矩阵处理,得到所述第二列向量。
5.根据权利要求1-3任一项所述的基于一致性损失的细粒度图像模型训练方法,其特征在于,所述根据所述第一行向量、所述第一列向量、所述第二行向量、所述第二列向量和所述样本图像的标注类别,对所述图像识别模型的参数进行调整,包括:
根据所述第一行向量、所述第一列向量、所述第二行向量和所述第二列向量获取第一损失值;
根据所述第二行向量、所述第二列向量和所述标注类别,获取第二损失值;
根据所述第一损失值和所述第二损失值对所述图像识别模型的参数进行调整。
6.根据权利要求5所述的基于一致性损失的细粒度图像模型训练方法,其特征在于,所述根据所述第一行向量、所述第一列向量、所述第二行向量和所述第二列向量获取第一损失值,包括:
根据所述第一行向量和所述第一列向量获取所述样本图像的第一空间特征矩阵;
根据所述第二行向量和所述第二列向量获取所述变换图像的第二空间特征矩阵;
根据所述第一空间特征矩阵和所述第二空间特征矩阵,获取所述第一损失值。
7.根据权利要求6所述的基于一致性损失的细粒度图像模型训练方法,其特征在于,所述根据所述第一空间特征矩阵和所述第二空间特征矩阵,获取所述第一损失值,包括:
根据所述变换矩阵对所述第一空间特征矩阵进行拼图打乱处理,得到第三空间特征矩阵;
将所述第二空间特征矩阵和所述第三空间特征矩阵之间的距离确定为所述第一损失值。
8.根据权利要求5所述的基于一致性损失的细粒度图像模型训练方法,其特征在于,所述根据所述第二行向量、所述第二列向量和所述标注类别,获取第二损失值,包括:
根据所述第二行向量和所述第二列向量,获取所述变换图像的输出类别;
根据所述输出类别和所述标注类别,获取所述第二损失值。
9.一种基于一致性损失的细粒度图像识别方法,其特征在于,包括:
获取待识别的第一图像;
将所述第一图像输入至图像识别模型中,得到所述图像识别模型输出的行向量和列向量;
根据所述行向量和所述列向量,确定所述第一图像的类别;
其中,所述图像识别模型为根据权利要求1-8任一项所述的基于一致性损失的细粒度图像模型训练方法进行训练得到的模型。
10.一种基于一致性损失的细粒度图像模型训练装置,其特征在于,包括:
获取模块,用于获取样本图像对应的变换图像;
第一处理模块,用于将所述样本图像输入至图像识别模型,得到所述样本图像对应的第一行向量和第一列向量;
第二处理模块,用于将所述变换图像输入至所述图像识别模型,得到所述变换图像对应的第二行向量和第二列向量;
训练模块,用于根据所述第一行向量、所述第一列向量、所述第二行向量、所述第二列向量和所述样本图像的标注类别,对所述图像识别模型的参数进行调整;
其中,所述获取模块具体用于:
根据预设分割参数对所述样本图像进行分割处理,得到多个图像块;
获取变换矩阵;
根据所述变换矩阵对所述多个图像块进行拼图打乱处理,获取所述变换图像;
其中,所述图像识别模型包括深度学习网络层、第一线性层和第二线性层;所述第一处理模块具体用于:
将所述样本图像输入至所述深度学习网络层,得到所述深度学习网络层输出的第一深度学习矩阵;
根据所述第一线性层对所述第一深度学习矩阵处理,得到所述第一行向量;
根据所述第二线性层对所述第一深度学习矩阵处理,得到所述第一列向量。
11.一种基于一致性损失的细粒度图像识别装置,其特征在于,包括:
获取模块,用于获取待识别的第一图像;
处理模块,用于将所述第一图像输入至图像识别模型中,得到所述图像识别模型输出的行向量和列向量;
确定模块,用于根据所述行向量和所述列向量,确定所述第一图像的类别;
其中,所述图像识别模型为根据权利要求1-8任一项所述的基于一致性损失的细粒度图像模型训练方法进行训练得到的模型。
12.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至8任一项所述的基于一致性损失的细粒度图像模型训练方法,或者,所述处理器执行所述程序时实现如权利要求9所述的基于一致性损失的细粒度图像识别方法。
13.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至8任一项所述的基于一致性损失的细粒度图像模型训练方法,或者,所述计算机程序被处理器执行时实现如权利要求9所述的基于一致性损失的细粒度图像识别方法。
CN202210745986.XA 2022-06-29 2022-06-29 基于一致性损失的细粒度图像模型训练及识别方法和装置 Active CN114821203B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210745986.XA CN114821203B (zh) 2022-06-29 2022-06-29 基于一致性损失的细粒度图像模型训练及识别方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210745986.XA CN114821203B (zh) 2022-06-29 2022-06-29 基于一致性损失的细粒度图像模型训练及识别方法和装置

Publications (2)

Publication Number Publication Date
CN114821203A CN114821203A (zh) 2022-07-29
CN114821203B true CN114821203B (zh) 2022-09-27

Family

ID=82523451

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210745986.XA Active CN114821203B (zh) 2022-06-29 2022-06-29 基于一致性损失的细粒度图像模型训练及识别方法和装置

Country Status (1)

Country Link
CN (1) CN114821203B (zh)

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11556581B2 (en) * 2018-09-04 2023-01-17 Inception Institute of Artificial Intelligence, Ltd. Sketch-based image retrieval techniques using generative domain migration hashing
CN110135502B (zh) * 2019-05-17 2023-04-18 东南大学 一种基于强化学习策略的图像细粒度识别方法
CN110458233B (zh) * 2019-08-13 2024-02-13 腾讯云计算(北京)有限责任公司 混合粒度物体识别模型训练及识别方法、装置及存储介质
CN111368788B (zh) * 2020-03-17 2023-10-27 北京迈格威科技有限公司 图像识别模型的训练方法、装置及电子设备
CN112016591A (zh) * 2020-08-04 2020-12-01 杰创智能科技股份有限公司 一种图像识别模型的训练方法及图像识别方法
CN111931865B (zh) * 2020-09-17 2021-01-26 平安科技(深圳)有限公司 图像分类模型的训练方法、装置、计算机设备及存储介质
CN113159142B (zh) * 2021-04-02 2024-02-20 杭州电子科技大学 一种用于细粒度图像分类的损失函数可变超参数确定方法
CN114676777A (zh) * 2022-03-25 2022-06-28 中国科学院软件研究所 一种基于孪生网络的自监督学习细粒度图像分类方法
CN114495243B (zh) * 2022-04-06 2022-07-05 第六镜科技(成都)有限公司 图像识别模型训练及图像识别方法、装置、电子设备

Also Published As

Publication number Publication date
CN114821203A (zh) 2022-07-29

Similar Documents

Publication Publication Date Title
CN110147721B (zh) 一种三维人脸识别方法、模型训练方法和装置
CN110909663B (zh) 一种人体关键点识别方法、装置及电子设备
CN111476200A (zh) 基于生成对抗网络的人脸去识别化生成方法
CN107273978A (zh) 一种三模型博弈的产生式对抗网络模型的建立方法及装置
CN112328715B (zh) 视觉定位方法及相关模型的训练方法及相关装置、设备
Singh et al. Steganalysis of digital images using deep fractal network
CN111598182A (zh) 训练神经网络及图像识别的方法、装置、设备及介质
CN114155244B (zh) 缺陷检测方法、装置、设备及存储介质
WO2022166797A1 (zh) 图像生成模型的训练方法、生成方法、装置及设备
CN112200057A (zh) 人脸活体检测方法、装置、电子设备及存储介质
CN111967573A (zh) 数据处理方法、装置、设备及计算机可读存储介质
CN111680544B (zh) 人脸识别方法、装置、系统、设备及介质
CN111382791B (zh) 深度学习任务处理方法、图像识别任务处理方法和装置
CN113095333A (zh) 无监督特征点检测方法及装置
CN113222043A (zh) 一种图像分类方法、装置、设备及存储介质
CN111985488A (zh) 一种基于离线高斯模型的目标检测分割方法及系统
CN114170484A (zh) 图片属性预测方法、装置、电子设备和存储介质
CN116071625B (zh) 深度学习模型的训练方法、目标检测方法及装置
CN114821203B (zh) 基于一致性损失的细粒度图像模型训练及识别方法和装置
CN111754589B (zh) 配色方法、装置、计算机设备及存储介质
CN113298098B (zh) 基础矩阵估计方法及相关产品
US20150287176A1 (en) Method and appratus for hybrid test pattern generation for opc model calibration
CN114820755A (zh) 一种深度图估计方法及系统
CN112825143A (zh) 深度卷积神经网络压缩方法、装置、存储介质及设备
CN113936320B (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