CN114329027A - 一种网络模型的训练方法、图像识别的方法以及相关装置 - Google Patents
一种网络模型的训练方法、图像识别的方法以及相关装置 Download PDFInfo
- Publication number
- CN114329027A CN114329027A CN202111056689.6A CN202111056689A CN114329027A CN 114329027 A CN114329027 A CN 114329027A CN 202111056689 A CN202111056689 A CN 202111056689A CN 114329027 A CN114329027 A CN 114329027A
- Authority
- CN
- China
- Prior art keywords
- image
- image sample
- sample
- original
- triple
- 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.)
- Pending
Links
Images
Landscapes
- Image Analysis (AREA)
Abstract
本申请公开了一种基于深度学习技术实现的网络模型训练方法,包括:获取原始图像样本对集合和新增图像样本对集合;根据新增图像样本对集合,获取原始图像样本对集合中每个原始图像样本对的标注结果,得到扩充图像样本对集合;根据扩充图像样本对集合和新增图像样本对集合构建三元组图像样本集合;通过待训练网络模型获取每个三元组图像样本中每个样本图像所对应的目标嵌入特征;根据每个图像样本所对应的标注结果和每个样本图像所对应的目标嵌入特征,对待训练网络模型的模型参数进行更新。本申请还提供了一种图像识别的方法和相关装置。本申请可实现对模型进行训练时,无需重新提取所有图像样本提取嵌入特征,从而节省了计算资源。
Description
技术领域
本申请涉及深度学习领域,尤其涉及一种网络模型的训练方法、图像识别的方法以及相关装置。
背景技术
随着人工智能(Artificial Intelligence,AI)技术的不断发展,基于深度学习的图像识别已经成为当前图像识别领域的主要方法。深度学习可以从不同的图像中自动提取相似特征并分类,推动了图像识别发展,而无监督学习成为深度学习领域的热点。
目前,将训练好的模型投入应用后,可能会出现识别错误(badcase)的样本对,而这些badcase样本对在训练过程中并未被使用。因此,在累积到一定数量的badcase样本对之后,可以利用这些badcase样本对重新训练模型,以此得到更好支持badcase样本对的嵌入(embedding)特征。
在更新模型时,不仅需要提取badcase样本对的embedding特征,还需要提取识别正确(goodcase)样本对的embedding特征。然而,对于大规模的样本而言,重新提取所有样本的embedding特征会消耗较多的计算资源,导致模型更新的效率较低。
发明内容
本申请实施例提供了一种网络模型的训练方法、图像识别的方法以及相关装置。本申请可实现令goodcase保持特征接近的同时,令badcase得到优化的效果。因此,对模型进行训练时,无需重新提取所有图像样本提取嵌入特征,从而节省了计算资源。
有鉴于此,本申请一方面提供一种网络模型的训练方法,包括:
获取原始图像样本对集合以及新增图像样本对集合,其中,原始图像样本对集合包括用于训练原始网络模型的至少两个原始图像样本对,新增图像样本对集合包括识别错误的至少两个新增图像样本对;
根据新增图像样本对集合,获取原始图像样本对集合中每个原始图像样本对的标注结果,得到扩充图像样本对集合,其中,扩充图像样本对集合包括标注为识别错误的扩充图像样本对以及标注为识别正确的扩充图像样本对;
根据扩充图像样本对集合以及新增图像样本对集合,构建三元组图像样本集合,其中,三元组图像样本集合包括至少一个三元组图像样本,三元组图像样本包括至少两个标注为识别错误的图像样本或识别正确的图像样本;
基于三元组图像样本集合,通过待训练网络模型获取每个三元组图像样本中每个样本图像所对应的目标嵌入特征,其中,待训练网络模型与原始网络模型具有相同的网络结构,且,待训练网络模型的网络参数与原始网络模型的网络参数一致;
针对于每个三元组图像样本,根据每个图像样本所对应的标注结果以及每个样本图像所对应的目标嵌入特征,对待训练网络模型的模型参数进行更新,直至满足模型训练条件,得到目标网络模型。
本申请另一方面提供一种图像识别的方法,包括:
获取待查询图像;
基于待查询图像,通过目标网络模型获取待查询嵌入特征,其中,目标网络模型为采用上述各方面的方法训练得到的;
根据待查询嵌入特征以及Q个待匹配嵌入特征,从图像库中获取待查询图像的召回结果,其中,召回结果包括K个图像,K与Q均为大于或等于1的整数;
根据召回结果,确定待查询图像的图像识别结果。
本申请另一方面提供一种模型训练装置,包括:
获取模块,用于获取原始图像样本对集合以及新增图像样本对集合,其中,原始图像样本对集合包括用于训练原始网络模型的至少两个原始图像样本对,新增图像样本对集合包括识别错误的至少两个新增图像样本对;
标注模块,用于根据新增图像样本对集合,获取原始图像样本对集合中每个原始图像样本对的标注结果,得到扩充图像样本对集合,其中,扩充图像样本对集合包括标注为识别错误的扩充图像样本对以及标注为识别正确的扩充图像样本对;
构建模块,用于根据扩充图像样本对集合以及新增图像样本对集合,构建三元组图像样本集合,其中,三元组图像样本集合包括至少一个三元组图像样本,三元组图像样本包括至少两个标注为识别错误的图像样本或识别正确的图像样本;
获取模块,还用于基于三元组图像样本集合,通过待训练网络模型获取每个三元组图像样本中每个样本图像所对应的目标嵌入特征,其中,待训练网络模型与原始网络模型具有相同的网络结构,且,待训练网络模型的网络参数与原始网络模型的网络参数一致;
训练模块,用于针对于每个三元组图像样本,根据每个图像样本所对应的标注结果以及每个样本图像所对应的目标嵌入特征,对待训练网络模型的模型参数进行更新,直至满足模型训练条件,得到目标网络模型。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,
标注模块,具体用于基于原始图像样本对集合,通过原始网络模型获取每个原始图像样本所对应的第一嵌入特征,其中,原始图像样本对集合包括2M个原始图像样本,M为大于1的整数;
基于新增图像样本对集合,通过原始网络模型获取每个新增图像样本所对应的第二嵌入特征,其中,新增图像样本对集合包括2N个新增图像样本,N为大于1的整数;
根据每个新增图像样本所对应的第二嵌入特征,对2N个新增图像样本进行聚类处理,得到至少两个聚类中心,其中,每个聚类中心对应于一种识别错误的预设样式;
根据至少两个聚类中心,获取每个新增图像样本对中每个新增图像样本所对应的最短距离,得到2N个最短距离;
根据至少两个聚类中心,获取每个原始图像样本所对应的第一嵌入特征分别与每个聚类中心的距离;
根据每个原始图像样本所对应的第一嵌入特征分别与每个聚类中心的距离与距离阈值之间的关系,对原始图像样本对集合中的每个原始图像样本对进行标注,得到扩充图像样本对集合,其中,距离阈值为根据2N个最短距离确定的。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,
标注模块,具体用于将2N个最短距离中的最大值作为距离阈值;
若第一嵌入特征与聚类中心的距离小于距离阈值,则将第一嵌入特征所对应的原始图像样本标注为识别错误的扩充图像样本;
若第一嵌入特征与聚类中心的距离大于或等于距离阈值,则将第一嵌入特征所对应的原始图像样本标注为识别正确的扩充图像样本;
将对应于同一个原始图像样本对的两个扩充图像样本作为一个扩充图像样本对,直至得到扩充图像样本对集合。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,
标注模块,具体用于若对应于同一个原始图像样本对的一个扩充图像样本标注为识别错误的扩充图像样本,且,另一个扩充图像样本标注为识别正确的扩充图像样本,则将另一个扩充图像样本标注为识别错误的扩充图像样本。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,
构建模块,具体用于从扩充图像样本对集合以及新增图像样本对集合中获取相似图像样本对;
从扩充图像样本对集合以及新增图像样本对集合中剔除相似图像样本对,得到(M+N-1)个图像样本对,其中,扩充图像样本对集合包括M个扩充图像样本对,新增图像样本对集合包括N个新增图像样本对,其中,M与N均为大于1的整数;
从(M+N-1)个图像样本对的每个图像样本对中分别选择一个图像样本,得到(M+N-1)个图像样本;
计算(M+N-1)个图像样本中每个图像样本与相似图像样本对之间的距离,得到(M+N-1)个样本距离;
从(M+N-1)个样本距离中获取样本距离最小的前T个样本距离,其中,T为大于或等于1的整数;
将T个样本距离中每个样本距离所对应的图像样本分别与相似图像样本对进行组合,得到T个三元组图像样本,其中,T个三元组图像样本包含于三元组图像样本集合。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,
训练模块,具体用于针对于每个三元组图像样本,根据三元组图像样本中每个图像样本所对应的标注结果,确定采用目标损失函数;
针对于每个三元组图像样本,基于样本图像所对应的目标嵌入特征,采用目标损失函数确定三元组图像样本所对应的损失值;
根据每个三元组图像样本所对应的损失值,确实总体损失值;
采用总体损失值;对待训练网络模型的模型参数进行更新。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,
训练模块,具体用于若三元组图像样本中每个图像样本均为识别正确的图像样本,则确定采用第一损失函数,其中,第一损失函数包括三元组损失函数以及一致性损失函数;
训练模块,具体用于通过原始网络模型获取样本图像所对应的原始嵌入特征;
基于样本图像所对应的目标嵌入特征,采用第一损失函数所包括的三元组损失函数计算得到三元损失值;
基于样本图像所对应的目标嵌入特征以及原始嵌入特征,采用第一损失函数所包括的一致性损失函数计算得到一致性损失值;
根据三元损失值和一致性损失值确定三元组图像样本所对应的损失值。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,
训练模块,具体用于若三元组图像样本中两个图像样本为识别正确的图像样本,且,一个图像样本为识别错误的图像样本,则确定采用第二损失函数,其中,第二损失函数包括原始三元组损失函数、目标三元组损失函数以及一致性损失函数;
训练模块,具体用于通过原始网络模型获取样本图像所对应的原始嵌入特征;
基于样本图像所对应的原始嵌入特征,采用第二损失函数所包括原始三元组损失函数计算得到原始三元损失值;
基于样本图像所对应的目标嵌入特征,采用第二损失函数所包括目标三元组损失函数计算得到目标三元损失值;
基于图像样本所对应的目标嵌入特征以及原始嵌入特征,采用第二损失函数所包括的一致性损失函数计算得到一致性损失值;
根据原始三元损失值、目标三元损失值与一致性损失值确定三元组图像样本所对应的损失值。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,
训练模块,具体用于若三元组图像样本中两个图像样本为识别错误的图像样本,且,一个图像样本为识别错误的正确样本,则确定采用第三损失函数,其中,第三损失函数包括原始三元组损失函数、目标三元组损失函数以及一致性损失函数;
训练模块,具体用于通过原始网络模型获取样本图像所对应的原始嵌入特征;
基于样本图像所对应的原始嵌入特征,采用第三损失函数所包括原始三元组损失函数计算得到原始三元损失值;
基于样本图像所对应的目标嵌入特征,采用第三损失函数所包括目标三元组损失函数计算得到目标三元损失值;
基于图像样本所对应的目标嵌入特征以及原始嵌入特征,采用第三损失函数所包括的一致性损失函数计算得到一致性损失值;
根据原始三元损失值、目标三元损失值与一致性损失值确定三元组图像样本所对应的损失值。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,
训练模块,具体用于若三元组图像样本中每个图像样本均为识别错误的图像样本,则确定采用第四损失函数,其中,第一损失函数包括三元组损失函数;
训练模块,具体用于基于样本图像所对应的目标嵌入特征,采用第四损失函数所包括的三元组损失函数计算得到三元组图像样本所对应的损失值。
本申请另一方面提供一种图像识别装置,包括:
获取模块,用于获取待查询图像;
获取模块,还用于基于待查询图像,通过目标网络模型获取待查询嵌入特征,其中,目标网络模型为采用上述权利要求1至10中任一项的训练方法训练得到的;
获取模块,还用于根据待查询嵌入特征以及Q个待匹配嵌入特征,从图像库中获取待查询图像的召回结果,其中,召回结果包括K个图像,K与Q均为大于或等于1的整数;
确定模块,用于根据召回结果,确定待查询图像的图像识别结果。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,
获取模块,具体用于获取待查询嵌入特征与Q个待匹配嵌入特征中每个待匹配嵌入特征之间的第一特征距离,得到Q个第一特征距离,其中,每个待匹配嵌入特征为一个聚类的聚类中心;
根据Q个第一特征距离,从Q个聚类结果中获取至少一个聚类结果;
获取待查询嵌入特征与至少一个聚类结果中每个图像之间的第二特征距离;
根据每个图像之间的第二特征距离,将图像库中的K个图像作为待查询图像的召回结果。
本申请另一方面提供一种计算机设备,包括:存储器、处理器以及总线系统;
其中,存储器用于存储程序;
处理器用于执行存储器中的程序,处理器用于根据程序代码中的指令执行上述各方面的方法;
总线系统用于连接存储器以及处理器,以使存储器以及处理器进行通信。
本申请的另一方面提供了一种计算机可读存储介质,计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面的方法。
本申请的另一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方面所提供的方法。
从以上技术方案可以看出,本申请实施例具有以下优点:
本申请实施例中,提供了一种网络模型的训练方法,首先,获取原始图像样本对集合以及新增图像样本对集合,然后,可以根据新增图像样本对集合,获取原始图像样本对集合中每个原始图像样本对的标注结果,得到扩充图像样本对集合。基于此,根据扩充图像样本对集合以及新增图像样本对集合,构建三元组图像样本集合,这里的三元组图像样本包括至少两个标注为识别错误的图像样本或识别正确的图像样本。然后基于三元组图像样本集合,通过待训练网络模型获取每个三元组图像样本中每个样本图像所对应的目标嵌入特征,由此,根据每个图像样本所对应的标注结果以及每个样本图像所对应的目标嵌入特征,对待训练网络模型的模型参数进行更新,直至满足模型训练条件,即可训练得到目标网络模型。通过上述方式,利用新增图像样本对集合对原始图像样本对集合进行标注,从而得到识别正确的图像样本对(即,goodcase)以及识别错误的图像样本对(即,badcase)。由于goodcase能够使特征分布具有一致性,而badcase能够进行有效的度量学习,因此,可实现令goodcase保持特征接近的同时,令badcase得到优化的效果。因此,使用这些图像样本对(即,goodcase和badcase)进行模型更新,无需重新提取所有图像样本提取嵌入特征,从而节省了计算资源,提升模型更新的效率。
附图说明
图1为本申请实施例中网络模型训练系统的一个架构示意图;
图2为本申请实施例中图像识别系统的一个架构示意图;
图3为本申请实施例中网络模型训练方法的一个流程示意图;
图4为本申请实施例中原始网络模型的一个结构示意图;
图5为本申请实施例中基于原始样本对和新增样本对生成扩充样本对的一个示意图;
图6为本申请实施例中原始网络模型与待训练网络模型的一个结构示意图;
图7为本申请实施例中残差模块的一个结构示意图;
图8为本申请实施例中图像识别方法的一个流程示意图;
图9为本申请实施例中基于分桶检索的一个示意图;
图10为本申请实施例中实现网络模型在训练和应用的一个示意图;
图11为本申请实施例中模型训练装置的一个示意图;
图12为本申请实施例中图像识别装置的一个示意图;
图13为本申请实施例中计算机设备的一个结构示意图。
具体实施方式
本申请实施例提供了一种网络模型的训练方法、图像识别的方法以及相关装置。本申请可实现令goodcase保持特征接近的同时,令badcase得到优化的效果。因此,对模型进行训练时,无需重新提取所有图像样本提取嵌入特征,从而节省了计算资源。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“对应于”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
基于深度学习产生图像的嵌入(embedding)特征可用于图像检索以及图像识别等领域。例如,搜索相似图像,搜索相同图像,搜索商品图像以及搜索绘本图像等。示例性地,用户可以拍摄绘本的照片,在数据库中自动检索出对应的封面或者书页,进一步实现绘本跟读等功能。示例性地,将用户拍摄的图片在商品数据库中搜索,找到同款或相似的商品,进行商品销售或者相关商品推荐,提升商品搜索查找的便捷性。示例性地,搜索图像数据库中是否存在相同或高度相似的图像,实现系统内的图像去重或过滤,避免重复内容引起资源浪费。
通常情况下,需要使用网络模型提取图像的embedding特征,因此,本申请提供了一种网络模型的训练方法,能够基于新增图像样本对和原始图像样本对,筛选出goodcase,让其特征分布不变,筛选出badcase进行有效的度量学习,实现微调前后的goodcase保持特征接近,而badcase得到优化。具体地,本申请提出了一种区分badcase和goodcase的学习方法,针对采用原始图像样本对集合训练得到原始网络模型之后发现badcase。这类badcase是由于在原始图像样本对集合中数量较少,且没有得到鲁棒的embedding特征学习而出现的。基于此,在针对badcase收集到新增图像样本对集合之后,可利用新增图像样本对集合对原始图像样本对集合进行标注。在不改变goodcase样本表征的同时,实现badcase表征的优化,达到goodcase表现与原始网络模型一致的情况下,badcase效果得到提升。进而在应用中只需要找出badcase,并在目标网络模型下更新这些badcase表征,即可避免耗时的大规模库存更新,在有限更新下达到更好的badcase优化效果。
基于此,下面将分别对网络模型训练系统和图像识别系统进行介绍。请参阅图1,图1为本申请实施例中网络模型训练系统的一个架构示意图,如图所示,网络模型训练系统包括服务器以及终端设备,且客户端部署于终端设备上,其中,客户端可以通过浏览器的形式运行于终端设备上,也可以通过独立的应用程序(application,APP)的形式运行于终端设备上等,对于客户端的具体展现形式,此处不做限定。标注人员可在终端设备提供的客户端上对图像样本对进行标注,例如,标注某个图像样本对为“goodcase”或“badcase”。将标注好的图像样本对上传至服务器,服务器基于已标注好的图像样本对进行模型训练,得到目标网络模型。
请参阅图2,图2为本申请实施例中图像识别系统的一个架构示意图,如图所示,图像识别系统包括服务器以及终端设备,且客户端部署于终端设备上。用户可在终端设备提供的客户端上将待查询图像上传至服务器,服务器调用训练好的目标网络模型,提取待查询图像的embedding特征,然后与数据库中其他图像的embedding特征进行匹配,最终,由服务器向终端设备返回图像识别结果。
本申请涉及的服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content DeliveryNetwork,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端设备可以是智能手机、平板电脑、笔记本电脑、掌上电脑、个人电脑、智能电视、智能手表、车载设备、可穿戴设备等,但并不局限于此。终端设备以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。服务器和终端设备的数量也不做限制。本申请提供的方案可以由终端设备独立完成,也可以由服务器独立完成,还可以由终端设备与服务器配合完成,对此,本申请并不做具体限定。
基于此,可见,本申请提供的网络模型训练方法涉及到机器学习技术。其中,机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。
结合上述介绍,下面将对本申请中网络模型的训练方法进行介绍,请参阅图3,本申请实施例中网络模型训练方法的一个实施例包括:
110、获取原始图像样本对集合以及新增图像样本对集合,其中,原始图像样本对集合包括用于训练原始网络模型的至少两个原始图像样本对,新增图像样本对集合包括识别错误的至少两个新增图像样本对;
在一个或多个实施例中,网络模型训练装置获取原始图像样本对集合以及新增图像样本对集合。其中,原始图像样本对集合包括标记为“相似”的原始图像样本对,每个原始图像样本对由两个原始图像样本构成。而新增图像样本对集合包括标记为“相似”,且,标注为“识别错误(即,badcase)”的新增图像样本对。由于每个新增图像样本对由两个新增图像样本构成,因此,每个新增图像样本均标注为“badcase”。其中,针对线上badcase样式(例如,篮球比赛类型的样式),收集一批与badcase样式相近的图像正样本对作为新增图像样本对。收集到的新增图像样本对可以认为是原始图像样本对集合中的badcase样本,这种badcase样本的特征需要更新到更好的表征上。假设已知badcase样式有100种,每种样式收集100个样本对,即新增图像样本对集合包括10000个新增图像样本对。
具体地,为了便于说明,请参阅图4,图4为本申请实施例中原始网络模型的一个结构示意图,如图所示,将原始图像样本对输入至原始网络模型,由原始网络模型输出每个原始图像样本的embedding特征,两个原始图像样本的embedding特征能够表征图像之间的相似程度。可采用三元组对原始网络模型进行训练,其中,三元组包括相似的原始图像样本对以及一个与原始图像样本对相似程度较高的原始图像样本。基于此,采用三元组损失(triplet loss)对原始网络模型进行训练即可。
需要说明的是,网络模型训练装置可部署于服务器或终端设备上,也可以部署于由服务器和终端设备组成的系统中。原始图像样本对集合以及新增图像样本对集合可以是从大型通用物体识别开源数据集(ImageNet)中提取到的,也可以通过其他渠道收集。原始网络模型可采用卷积神经网络(convolutional neural networks,CNN)以及全连接层(fully connected layers,FC),也可以采用其他类型的网络结构。
120、根据新增图像样本对集合,获取原始图像样本对集合中每个原始图像样本对的标注结果,得到扩充图像样本对集合,其中,扩充图像样本对集合包括标注为识别错误的扩充图像样本对以及标注为识别正确的扩充图像样本对;
在一个或多个实施例中,由于新增图像样本对均为“badcase”,因此,不仅能够从原始图像样本对集合找到与“badcase”相似的原始图像样本对,并对这些原始图像样本对进行标注(例如,标识为“1”表示“badcase”)。还能够从原始图像样本对集合找到与“badcase”不相似的原始图像样本对,并对这些原始图像样本对进行标注(例如,标识为“0”表示“goodcase”)。而标注后的原始图像样本对即为扩充图像样本对。
为了便于说明,请参阅图5,图5为本申请实施例中基于原始样本对和新增样本对生成扩充样本对的一个示意图,如图所示,原始图像样本对仅标注“相似”标签,而新增图像样本对不仅标注“相似”标签,还标注“识别错误(即,badcase)”。基于此,利用这些新增图像样本对,可对原始图像样本对进行二次标注,即,标注为“识别错误(即,badcase)”或“识别正确(即,goodcase)”,由此,得到扩充图像样本对。
130、根据扩充图像样本对集合以及新增图像样本对集合,构建三元组图像样本集合,其中,三元组图像样本集合包括至少一个三元组图像样本,三元组图像样本包括至少两个标注为识别错误的图像样本或识别正确的图像样本;
在一个或多个实施例中,将扩充图像样本对集合和新增图像样本对集合作为一个共同的训练集,然后从这些图像样本对中分别选出至少一个三元组图像样本,由此,得到三元组图像样本集合。每个三元组图像样本由三个图像样本构成,其中,一个三个图像样本中有至少两个标注为“badcase”的图像样本或“goodcase”的图像样本。
140、基于三元组图像样本集合,通过待训练网络模型获取每个三元组图像样本中每个样本图像所对应的目标嵌入特征,其中,待训练网络模型与原始网络模型具有相同的网络结构,且,待训练网络模型的网络参数与原始网络模型的网络参数一致;
在一个或多个实施例中,将三元组图像样本集合中的各个三元组图像样本分别输入至待训练网络模型,由待训练网络模型输出每个三元组图像样本中每个样本图像所对应的目标embedding特征。其中,待训练网络模型与原始网络模型具有相同的网络结构以及相同的网络参数,因此,待训练网络模型与原始网络模型均可以理解为是“旧模型”。
可见,本申请通过增加标注为“badcase”和/或“goodcase”的三元组图像样本,重新训练网络模型,从而使得网络模型具有更好的鲁棒性,实现数据微调问题。
150、针对于每个三元组图像样本,根据每个图像样本所对应的标注结果以及每个样本图像所对应的目标嵌入特征,对待训练网络模型的模型参数进行更新,直至满足模型训练条件,得到目标网络模型。
在一个或多个实施例中,为了便于说明,请参阅图6,图6为本申请实施例中原始网络模型与待训练网络模型的一个结构示意图,如图所示,通过“旧模型”获取三元组图像样本中每个样本图像所对应的目标embedding特征,训练时,对三元组图像样本中每个图像样本所对应的标注结果(即,“badcase”或“goodcase”)以及目标embedding特征进行损失计算,并回传到待训练网络模型以进行模型参数的更新,满足模型训练条件时,即得到目标网络模型。该目标网络模型可以理解为是“新模型”。
可见,上述模型更新过程属于微调学习,即对于已经训练好的模型,当仅需要更新部分网络参数,或,增加新数据重新训练网络参数均为微调学习,微调的目的是为了在原始模型参数上获得更好的模型,或者获得某些下游任务(例如,在模型中新增下游分类任务)。
本申请实施例中,提供了一种网络模型的训练方法,通过上述方式,利用新增图像样本对集合对原始图像样本对集合进行标注,从而得到识别正确的图像样本对(即,goodcase)以及识别错误的图像样本对(即,badcase)。由于goodcase能够使特征分布具有一致性,而badcase能够进行有效的度量学习,因此,可实现令goodcase保持特征接近的同时,令badcase得到优化的效果。因此,使用这些图像样本对(即,goodcase和badcase)进行模型更新,无需重新提取所有图像样本提取嵌入特征,从而节省了计算资源,提升模型更新的效率。
可选地,在上述图3对应的各个实施例的基础上,本申请实施例提供的一个可选实施例中,根据新增图像样本对集合,获取原始图像样本对集合中每个原始图像样本对的标注结果,得到扩充图像样本对集合,具体可以包括:
基于原始图像样本对集合,通过原始网络模型获取每个原始图像样本所对应的第一嵌入特征,其中,原始图像样本对集合包括2M个原始图像样本,M为大于1的整数;
基于新增图像样本对集合,通过原始网络模型获取每个新增图像样本所对应的第二嵌入特征,其中,新增图像样本对集合包括2N个新增图像样本,N为大于1的整数;
根据每个新增图像样本所对应的第二嵌入特征,对2N个新增图像样本进行聚类处理,得到至少两个聚类中心,其中,每个聚类中心对应于一种识别错误的预设样式;
根据至少两个聚类中心,获取每个新增图像样本对中每个新增图像样本所对应的最短距离,得到2N个最短距离;
根据至少两个聚类中心,获取每个原始图像样本所对应的第一嵌入特征分别与每个聚类中心的距离;
根据每个原始图像样本所对应的第一嵌入特征分别与每个聚类中心的距离与距离阈值之间的关系,对原始图像样本对集合中的每个原始图像样本对进行标注,得到扩充图像样本对集合,其中,距离阈值为根据2N个最短距离确定的。
在一个或多个实施例中,介绍了一种标注原始图像样本对的方式。由前述实施例可知,每个图像样本对由两个图像样本构成,即原始图像样本对集合包括2M个原始图像样本,新增图像样本对集合包括2N个新增图像样本,M和N均为大于1的整数。原始图像样本对标注有“相似”标签,因此,原始图像样本对属于正样本对。考虑到原始图像样本对存在数据覆盖不全的问题,有些图像样式的图像检索效果较差,例如,“篮球比赛类型”的图像样式检索效果较差,这是因为篮球场地都的特征没有区分性,同时单人占的图像面积小,人物穿的队服较为相似,观众也无法提供可区分的特征,故难以区分。原始图像样本对中也可能包含少量的badcase的预设样式(例如,森林样式或者黑白漫画样式等),但由于数据量较少,导致学习不佳,因此,在后续模型微调时将采用不同的损失学习此类样本。
具体地,将属于同一个原始图像样本对的两个原始图像样本分别输入至原始网络模型,由原始网络模型输出每个原始图像样本的第一embedding特征。类似地,将属于同一个新增图像样本对的两个新增图像样本分别输入至原始网络模型,由原始网络模型输出每个新增图像样本的第二embedding特征。基于此,根据新增图像样本的第二embedding特征,采用聚类算法对每种badcase的预设样式分别进行聚类,得到至少两个聚类中心。
示例性地,本申请中涉及到的聚类算法包含但不仅限于K均值聚类算法(k-meansclustering algorithm,kmeans),谱聚类,以及基于embedding密度聚合(例如,统计在embedding空间下某样本附近距离中存在的样本数量,当样本数量大于平均每聚类样本数量,则该样本作为一个聚类中心)等。
基于此,分别计算每个新增图像样本对的两个新增图像样本与最近的聚类中心之间的距离,由于总共有2N个新增图像样本,因此,可得到2N个最短距离。根据2N个最短距离可确定一个距离阈值。此外,还需要分别计算每个第一embedding特征与每个聚类中心之间的距离,由此,基于这些距离与距离阈值之间的大小关系,可实现对每个原始图像样本对的标注,最终得到扩充图像样本对集合。
其次,本申请实施例中,提供了一种标注原始图像样本对的方式,通过上述方式,可以利用新增图像样本对集合自动为每个原始图像样本对进行标注,无需人工手动标注,从而节省了人工标注成本,并且提升了标注效率。
可选地,在上述图3对应的各个实施例的基础上,本申请实施例提供的一个可选实施例中,根据每个原始图像样本所对应的第一嵌入特征分别与每个聚类中心的距离与距离阈值之间的关系,对原始图像样本对集合中的每个原始图像样本对进行标注,得到扩充图像样本对集合,具体可以包括:
将2N个最短距离中的最大值作为距离阈值;
若第一嵌入特征与聚类中心的距离小于距离阈值,则将第一嵌入特征所对应的原始图像样本标注为识别错误的扩充图像样本;
若第一嵌入特征与聚类中心的距离大于或等于距离阈值,则将第一嵌入特征所对应的原始图像样本标注为识别正确的扩充图像样本;
将对应于同一个原始图像样本对的两个扩充图像样本作为一个扩充图像样本对,直至得到扩充图像样本对集合。
在一个或多个实施例中,介绍了一种标注得到扩充图像样本对的方式。由前述实施例可知,距离阈值可根据2N个最短距离确定,本申请将2N个最短距离中的最大值作为距离阈值。可选地,也可以将2N个最短距离的平均值作为距离阈值。
具体地,假设有1000个聚类中心,则分别计算每个第一嵌入特征与这1000个聚类中心的距离,并将距离小于距离阈值(d_badcase_thr)的原始图像样本标注为badcase。而将距离大于或等于距离阈值(d_badcase_thr)的原始图像样本标注为goodcase。
再次,本申请实施例中,提供了一种标注得到扩充图像样本对的方式,通过上述方式,利用距离阈值即可判定原始图像样本是否属于badcase,将最短距离中的最大值作为距离阈值,能够在合理的情况下最大化距离阈值,从而筛选出更多标记为badcase的扩充图像样本对。
可选地,在上述图3对应的各个实施例的基础上,本申请实施例提供的一个可选实施例中,将对应于同一个原始图像样本对的两个扩充图像样本作为一个扩充图像样本对,具体可以包括:
若对应于同一个原始图像样本对的一个扩充图像样本标注为识别错误的扩充图像样本,且,另一个扩充图像样本标注为识别正确的扩充图像样本,则将另一个扩充图像样本标注为识别错误的扩充图像样本。
在一个或多个实施例中,介绍了一种对标注结果进行修正的方式。由于原始图像样本对属于标注为“相似”的两个原始图像样本,因此,同一个原始图像样本对应该表现出同样的特征,例如,都是“badcase”或“goodcase”。但是存在图像样本对中两个图像样本的偏差,或者,模型学习不足等情况,可能会造成对应于同一个原始图像样本对的两个扩充图像样本中,出现一个扩充图像样本标注为“goodcase”,另一个扩充图像样本标注为“badcase”的情况。基于此,需要将两个扩充图像样本都标注为“badcase”。
进一步地,本申请实施例中,提供了一种对标注结果进行修正的方式,通过上述方式,实现对标注结果进行自动修正,不仅提升了标注结果的准确性,而且在一定程度上增加badcase的数量,达到最大限度训练的目的,避免模型训练过程中样本对不匹配的情况。
可选地,在上述图3对应的各个实施例的基础上,本申请实施例提供的一个可选实施例中,根据扩充图像样本对集合以及新增图像样本对集合,构建三元组图像样本集合,具体可以包括:
从扩充图像样本对集合以及新增图像样本对集合中获取相似图像样本对;
从扩充图像样本对集合以及新增图像样本对集合中剔除相似图像样本对,得到(M+N-1)个图像样本对,其中,扩充图像样本对集合包括M个扩充图像样本对,新增图像样本对集合包括N个新增图像样本对,其中,M与N均为大于1的整数;
从(M+N-1)个图像样本对的每个图像样本对中分别选择一个图像样本,得到(M+N-1)个图像样本;
计算(M+N-1)个图像样本中每个图像样本与相似图像样本对之间的距离,得到(M+N-1)个样本距离;
从(M+N-1)个样本距离中获取样本距离最小的前T个样本距离,其中,T为大于或等于1的整数;
将T个样本距离中每个样本距离所对应的图像样本分别与相似图像样本对进行组合,得到T个三元组图像样本,其中,T个三元组图像样本包含于三元组图像样本集合。
在一个或多个实施例中,介绍了一种构建三元组图像样本的方式。合并扩充图像样本对集合以及新增图像样本对集合之后,可获取标记为“1”的badcase图像样本对以及标记为“0”的goodcase图像样本对。此外,还可以将所有badcase图像样本记录至badcase的样本数据库中,便于后续训练使用。在模型微调中可对每个批次(batch)的训练集挖掘三元组图像样本。为了便于说明,下面将以生成一个三元组图像样本为了进行介绍。
具体地,从一个batch的训练集(即,M个扩充图像样本对以及N个新增图像样本对)中提取一个相似图像样本对(即,标注为“相似”的两个图像样本),因此,该相似图像样本对可能是扩充图像样本对,也可能是新增图像样本对,此处不做限定。假设一个batch有(M+N)个图像样本对,那么对于相似图像样本对而言,从剩余(M+N-1)个图像样本对的每个图像样本对中,分别随机选择一个图像样本,即得到(M+N-1)个图像样本。基于此,分别计算(M+N-1)个图像样本中每个图像样本与相似图像样本对之间的距离,例如,似图像样本对包括图像样本A和图像样本B,而(M+N-1)个图像样本中包括图像样本C,因此,图像样本C所对应的样本距离可包括图像样本C分别与图像样本A和图像样本B之间的距离之和,或者,距离的平均值。基于此,得到(M+N-1)个样本距离。
将(M+N-1)个样本距离从小到大排列之和,取前T个样本距离所对应的图像样本(例如,图像样本C)作为负样本,并与相似图像样本对组成一个三元组图像样本。假设T为10,那么每个图像样本产生10个三元组图像样本,整个batch可得到10*(M+N)个三元组图像样本。
由于前T个样本距离所对应的图像样本可能来源于新增图像样本对,也可能来源于扩充图像样本对,而这些图像样本对包括“badcase”和“goodcase”,因此,前T个样本距离所对应的图像样本可能是“badcase”,有可能是“goodcase”。即,三元组图像样本包括四类组成方式,分别为:
情形一,三元组图像样本包括“goodcase”、“goodcase”和“goodcase”;
情形二,三元组图像样本包括“goodcase”、“goodcase”和“badcase”;
情形三,三元组图像样本包括“badcase”、“badcase”和“goodcase”;
情形四,三元组图像样本包括“badcase”、“badcase”和“badcase”。
需要说明的是,在训练原始网络模型时所采用的三元组图像样本,也可以采用类似的方式产生,此处不做赘述。
其次,本申请实施例中,提供了一种构建三元组图像样本的方式,通过上述方式,将扩充图像样本对集合以及新增图像样本对集合共同合并为一个训练集,从而达到扩增badcase数据集的目的。此外,构建三元组图像样本用于进行后续模型训练,提升模型训练的可靠性。
可选地,在上述图3对应的各个实施例的基础上,本申请实施例提供的一个可选实施例中,针对于每个三元组图像样本,根据每个图像样本所对应的标注结果以及每个样本图像所对应的目标嵌入特征,对待训练网络模型的模型参数进行更新,具体可以包括:
针对于每个三元组图像样本,根据三元组图像样本中每个图像样本所对应的标注结果,确定采用目标损失函数;
针对于每个三元组图像样本,基于样本图像所对应的目标嵌入特征,采用目标损失函数确定三元组图像样本所对应的损失值;
根据每个三元组图像样本所对应的损失值,确实总体损失值;
采用总体损失值;对待训练网络模型的模型参数进行更新。
在一个或多个实施例中,介绍了一种基于三元组图像样本对待训练网络模型进行更新的方式。由前述实施例可知,待训练网络模型与原始网络模型具有相同的网络结构和网络参数,因此,可采用原始网络模型的模型参数作为待训练网络模型的初始化模型参数。
具体地,原始网络模型可采用基于ImageNet训练的残差网络-101(ResidualNetwork-101,ResNet-101),在实际应用中,还可以采用ResNet-34或者ResNet-50等网络。为了便于说明,请参阅表1,表1为ResNet-101模型的特征模块结构。
表1
由表1可知,卷积层(Conv1)至卷积层(Conv5)采用基于ImageNet数据集预训练得到的ResNet-101是参数。以卷积层2为例,其中包括3个残差模块(block)。请参阅图7,图7为本申请实施例中残差模块的一个结构示意图,如图所示,通过残差模块中的第一个1×1卷积层,将256维通道数的特征图降到64维通道数的特征图。然后采用残差模块中的第二个3×3卷积层对64维通道数的特征图进行卷积。最后采用残差模块中的第三个1×1卷积层,将64维通道数的特征图恢复到256维通道数的特征图。
经过卷积层(Conv1)至卷积层(Conv5)之后,添加池化层、全连接层和规范化层其中,这些网络层的模型参数都需要进行学习。请参阅表2,表2为基于ResNet-101的embedding学习模块。
表2
其中,embedding层用于产生图像相似度表征。基础特征以及embedding层可采用lr1=0.0005的学习率。在训练过程中对全量数据进行轮次(epoch)迭代,每个epoch迭代处理一次全量样本(即,全量的扩充图像样本对以及新增图像样本对)。在每个epoch迭代中,把全量图像样本中的每批大小(batchsize)个图像样本作为一个batch,分成Nb个batch。在每个batch中,对输入的一张图像样本进行前向计算得到预测结果,即输出目标embedding特征。在一个batch中,基于三元组图像样本中不同图像样本所对应的标注结果(例如,“badcase”或“goodcase”),确定所采用的目标损失函数,然后利用目标损失函数确定三元组图像样本所对应的损失值。
对所有三元组图像样本进行损失计算后,即得到总体损失值。采用随机梯度下降(stochastic gradient descent,SGD),把总体损失值进行梯度后向计算并得到全部模型参数的更新值,并对待训练网络模型的模型参数进行更新。当达到迭代阈值(例如,10次),或者,总体损失值收敛(例如,持续10轮未下降),即表示满足模型训练条件,此时停止模型训练。
需要说明的是,原始网络模型的训练方式类型,首先,需要进行参数初始化,可采用在ImageNet数据集上预训练的ResNet-101的模型参数,新添加的embedding层可采用方差为0.01,均值为0的高斯分布进行初始化。同时,还需要设置学习参数和学习率。在训练过程中对全量数据进行epoch迭代,每个epoch迭代处理一次全量样本。在每个epoch迭代中,把全量的原始图像样本对中的每batchsize个图像样本作为一个batch,分成Np个batch。在每个batch中,对输入的一张原始图像样本进行前向计算得到预测结果,即输出embedding特征。在一个batch中,采用的三元组损失函数确定三元组图像样本所对应的损失值。对所有三元组图像样本进行损失计算后,即得到总体损失值。采用SGD把总体损失值进行梯度后向计算并得到全部模型参数的更新值,并对待训练网络模型的模型参数进行更新。当满足模型训练条件,此时停止模型训练。
其次,本申请实施例中,提供了一种基于三元组图像样本对待训练网络模型进行更新的方式,通过上述方式,在模型训练阶段,利用合理挖掘出的badcase进行三元组学习,对于数据库中的goodcase不更新其特征,学习中使goodcase的新特征(即,扩充图像样本的embedding)与旧特征(即,原始图像样本的embedding)的分布相同,从而应用中可以在不更新goodcase的情况下也能获得更好的度量效果。而对于数据库中的badcase更新其特征,同时满足其与goodcase旧特征之间的度量效果。
可选地,在上述图3对应的各个实施例的基础上,本申请实施例提供的一个可选实施例中,根据三元组图像样本中每个图像样本所对应的标注结果,确定采用目标损失函数,具体可以包括:
若三元组图像样本中每个图像样本均为识别正确的图像样本,则确定采用第一损失函数,其中,第一损失函数包括三元组损失函数以及一致性损失函数;
基于样本图像所对应的目标嵌入特征,采用目标损失函数确定三元组图像样本所对应的损失值,具体可以包括:
通过原始网络模型获取样本图像所对应的原始嵌入特征;
基于样本图像所对应的目标嵌入特征,采用第一损失函数所包括的三元组损失函数计算得到三元损失值;
基于样本图像所对应的目标嵌入特征以及原始嵌入特征,采用第一损失函数所包括的一致性损失函数计算得到一致性损失值;
根据三元损失值和一致性损失值确定三元组图像样本所对应的损失值。
在一个或多个实施例中,介绍了一种计算损失值的方式。由前述实施例可知,在一种情形下,三元组图像样本包括goodcase、goodcase和goodcase。
具体地,如果三元组图像样本中每个图像样本均为goodcase,则可以采用度量学习的一致性损失函数losscon,losscon能够使得新旧特征一致,同时,对于新输入的goodcase而言,能够在新特征下满足三元组损失函数(triplet-loss)losstri要求,即α=0.5。其中,三元组损失函数的边缘(margin)与原始网络模型一样,均为0.8。
基于此,第一损失函数可表示为:
L1=losstri-new0.8+α*losscon:apn;
其中,L1表示三元组图像样本的损失值。losstri-new0.8表示margin为0.8的三元组损失函数。losscon:apn表示一致性损失函数。α表示权重值,例如,α=0.5。
更具体地,losscon为特征分布一致性的损失函数,本申请以采用KL散度损失(Kullback-Leibler,KL-loss)函数为例,来衡量两个概率分布之间的相似性,概率分布越接近KL散度越小。
KL-loss函数可表示为:
其中,p(xi)表示原始网络模型对于样本图像xi预测得到的原始embedding特征。q(xi)表示待训练网络模型对于样本图像xi预测得到的目标embedding特征,且原始embedding特征可表现为128维向量,目标embedding特征可表现为128维向量。
一致性损失函数losscon:apn表示三元组图像样本中的三个图像样本都需要计算KL-loss。假设一个三元组图像样本包括图像样本xa、图像样本xb和图像样本xc,则基于图像样本xa的原始embedding特征和目标embedding特征,计算图像样本xa的KL-loss。以此类推,分别计算图像样本xb的KL-loss和图像样本xc的KL-loss。由此,根据三元组图像样本中三个图像样本的KL-loss可得到一致性损失值losscon:apn。
三元组损失函数可表示为:
losstri-new0.8=max(||xanew-xpnew||-||xanew-xnnew||+β,0);
其中,losstri-new0.8表示三元损失值。xanew表示三元组图像样本中图像样本xa所对应的目标embedding特征。xpnew表示三元组图像样本中属于正样本的图像样本xp所对应的目标embedding特征。xnnew表示三元组图像样本中属于负样本的图像样本xn所对应的目标embedding特征。可以理解的是,正样本为与xa成对出现的图像样本,而负样本为后续加入三元组图像样本中的一个独立的图像样本。β表示margin,可设置为0.8。||xanew-xpnew||表示两个目标embedding特征之间的L2距离,||xanew-xnnew||表示两个目标embedding特征之间的L2距离。三元组损失函数的目的是使得图像样本xa与图像样本xn的距离,比距离图像样本xp的距离大于0.4。
需要说明的是,权重值α也可调节为0.1,即,增加三元组损失函数的比重,此处不做限定。
再次,本申请实施例中,提供了一种计算损失值的方式,通过上述方式,有针对性地对三个“goodcase”的三元组图像样本进行损失值计算,从而提升计算的可靠性和灵活性。
可选地,在上述图3对应的各个实施例的基础上,本申请实施例提供的一个可选实施例中,根据三元组图像样本中每个图像样本所对应的标注结果,确定采用目标损失函数,具体可以包括:
若三元组图像样本中两个图像样本为识别正确的图像样本,且,一个图像样本为识别错误的图像样本,则确定采用第二损失函数,其中,第二损失函数包括原始三元组损失函数、目标三元组损失函数以及一致性损失函数;
基于样本图像所对应的目标嵌入特征,采用目标损失函数确定三元组图像样本所对应的损失值,具体可以包括:
通过原始网络模型获取样本图像所对应的原始嵌入特征;
基于样本图像所对应的原始嵌入特征,采用第二损失函数所包括原始三元组损失函数计算得到原始三元损失值;
基于样本图像所对应的目标嵌入特征,采用第二损失函数所包括目标三元组损失函数计算得到目标三元损失值;
基于图像样本所对应的目标嵌入特征以及原始嵌入特征,采用第二损失函数所包括的一致性损失函数计算得到一致性损失值;
根据原始三元损失值、目标三元损失值与一致性损失值确定三元组图像样本所对应的损失值。
在一个或多个实施例中,介绍了一种计算损失值的方式。由前述实施例可知,在一种情形下,三元组图像样本包括goodcase、goodcase和badcase。
具体地,对于goodcase而言,希望原始网络模型和待训练网络模型预测的embedding尽量一致。同时,对于三元组损失函数而言,不仅要满足目标embedding特征下的三元组损失函数,也要满足在图像样本xa的原始embedding特征、图像样本xp的原始embedding特征和图像样本xn的目标embedding特征下的三元组损失约束。因此,这里需要两个三元组损失函数,分别为目标三元组损失函数losstri-new以及原始三元组损失函数losstri-old。其中,目标三元组损失函数losstri-new表示三个图像样本均采用目标embedding特征计算度量学习margin为0.8。原始三元组损失函数losstri-old表示图像样本xa和图像样本xp采用原始embedding特征计算度量学习margin为0.6,而图像样本xn采用目标embedding特征进行计算。这种混合度量计算对于不更新特征的goodcase,能够与目标embedding特征下的由badcase组成的负样本区分开。
基于此,第二损失函数可表示为:
L2=losstri-old0.6+losstri-new0.8+α*losscon:ap;
其中,L2表示三元组图像样本的损失值。losstri-old0.6表示margin为0.6的原始三元组损失函数。losstri-new0.8表示margin为0.8的目标三元组损失函数。losscon:ap表示一致性损失函数。α表示权重值,例如,α=0.5。
更具体地,如前述实施例的介绍,一致性损失函数losscon:ap表示三元组图像样本中的两个图像样本都需要计算KL-loss。假设一个三元组图像样本包括图像样本xa和图像样本xb,则基于图像样本xa的原始embedding特征和目标embedding特征,计算图像样本xa的KL-loss。以此类推,分别计算图像样本xb的KL-loss的KL-loss。由此,根据三元组图像样本中两个图像样本的KL-loss可得到一致性损失值losscon:ap。
目标三元组损失函数可表示为:
losstri-new0.8=max(||xanew-xpnew||-||xanew-xnnew||+β,0);
其中,losstri-new0.8表示目标三元损失值。xanew表示三元组图像样本中图像样本xa所对应的目标embedding特征。xpnew表示三元组图像样本中属于正样本的图像样本xp所对应的目标embedding特征。xnnew表示三元组图像样本中属于负样本的图像样本xn所对应的目标embedding特征。β表示margin,可设置为0.8。
原始三元组损失函数可表示为:
losstri-old0.6=max(||xaold-xpold||-||xaold-xnnew||+β,0);
其中,losstri-new0.8表示目标三元损失值。xaold表示三元组图像样本中图像样本xa所对应的原始embedding特征。xpold表示三元组图像样本中属于正样本的图像样本xp所对应的原始embedding特征。xnnew表示三元组图像样本中属于负样本的图像样本xn所对应的目标embedding特征。β表示margin,可设置为0.6。
需要说明的是,权重值α也可调节为0.1,即,增加三元组损失函数的比重,此处不做限定。原始网络模型的margin不仅可设置为0.6,还可以设置为其他值,例如,1。而待训练网络模型的margin不仅可设置为0.8,还可以设置为其他值,例如,1.6。通常情况下,待训练网络模型的margin大于原始网络模型的margin。
再次,本申请实施例中,提供了一种计算损失值的方式,通过上述方式,有针对性地对两个“goodcase”和一个“badcase”的三元组图像样本进行损失值计算,考虑到新特征的标注结果,故目标网络模型可以支持新增样本度量表征。
可选地,在上述图3对应的各个实施例的基础上,本申请实施例提供的一个可选实施例中,根据三元组图像样本中每个图像样本所对应的标注结果,确定采用目标损失函数,具体可以包括:
若三元组图像样本中两个图像样本为识别错误的图像样本,且,一个图像样本为识别错误的正确样本,则确定采用第三损失函数,其中,第三损失函数包括原始三元组损失函数、目标三元组损失函数以及一致性损失函数;
基于样本图像所对应的目标嵌入特征,采用目标损失函数确定三元组图像样本所对应的损失值,具体可以包括:
通过原始网络模型获取样本图像所对应的原始嵌入特征;
基于样本图像所对应的原始嵌入特征,采用第三损失函数所包括原始三元组损失函数计算得到原始三元损失值;
基于样本图像所对应的目标嵌入特征,采用第三损失函数所包括目标三元组损失函数计算得到目标三元损失值;
基于图像样本所对应的目标嵌入特征以及原始嵌入特征,采用第三损失函数所包括的一致性损失函数计算得到一致性损失值;
根据原始三元损失值、目标三元损失值与一致性损失值确定三元组图像样本所对应的损失值。
在一个或多个实施例中,介绍了一种计算损失值的方式。由前述实施例可知,在一种情形下,三元组图像样本包括badcase、badcase和goodcase。
具体地,对于goodcase而言,希望原始网络模型和待训练网络模型预测的embedding尽量一致。同时,对于三元组损失函数而言,不仅要满足目标embedding特征下的三元组损失函数,也要满足在图像样本xa的目标embedding特征、图像样本xp的目标embedding特征和图像样本xn的原始embedding特征下的三元组损失约束。因此,这里需要两个三元组损失函数,分别为目标三元组损失函数losstri-new以及原始三元组损失函数losstri-old。其中,目标三元组损失函数losstri-new表示三个图像样本均采用目标embedding特征计算度量学习margin为0.8。原始三元组损失函数losstri-old表示图像样本xa和图像样本xp采用目标embedding特征计算度量学习margin为0.6,而图像样本xn采用原始embedding特征进行计算。
基于此,第三损失函数可表示为:
L3=losstri-old0.6+losstri-new0.8+α*losscon:n;
其中,L3表示三元组图像样本的损失值。losstri-old0.6表示margin为0.6的原始三元组损失函数。losstri-new0.8表示margin为0.8的目标三元组损失函数。losscon:n表示一致性损失函数。α表示权重值,例如,α=0.5。
更具体地,如前述实施例的介绍,一致性损失函数losscon:n表示三元组图像样本中的一个图像样本需要计算KL-loss。假设一个三元组图像样本包括图像样本A,则基于图像样本A的原始embedding特征和目标embedding特征,计算图像样本A的KL-loss。由此,可得到一致性损失值losscon:n。
目标三元组损失函数可表示为:
losstri-new0.8=max(||xanew-xpnew||-||xanew-xnnew||+β,0);
其中,losstri-new0.8表示目标三元损失值。xanew表示三元组图像样本中图像样本xa所对应的目标embedding特征。xpnew表示三元组图像样本中属于正样本的图像样本xp所对应的目标embedding特征。xnnew表示三元组图像样本中属于负样本的图像样本xn所对应的目标embedding特征。β表示margin,可设置为0.8。
原始三元组损失函数可表示为:
losstri-old0.6=max(||xanew-xpnew||-||xanew-xnold||+β,0);
其中,losstri-new0.8表示目标三元损失值。xanew表示三元组图像样本中图像样本xa所对应的目标embedding特征。xpnew表示三元组图像样本中属于正样本的图像样本xp所对应的目标embedding特征。xnold表示三元组图像样本中属于负样本的图像样本xn所对应的原始embedding特征。β表示margin,可设置为0.6。
需要说明的是,权重值α也可调节为0.1,即,增加三元组损失函数的比重,此处不做限定。原始网络模型的margin不仅可设置为0.6,还可以设置为其他值,例如,1。而待训练网络模型的margin不仅可设置为0.8,还可以设置为其他值,例如,1.6。通常情况下,待训练网络模型的margin大于原始网络模型的margin。
再次,本申请实施例中,提供了一种计算损失值的方式,通过上述方式,有针对性地对一个“goodcase”和两个“badcase”的三元组图像样本进行损失值计算,考虑到新特征的标注结果,故目标网络模型可以支持新增样本度量表征。
可选地,在上述图3对应的各个实施例的基础上,本申请实施例提供的一个可选实施例中,根据三元组图像样本中每个图像样本所对应的标注结果,确定采用目标损失函数,具体可以包括:
若三元组图像样本中每个图像样本均为识别错误的图像样本,则确定采用第四损失函数,其中,第一损失函数包括三元组损失函数;
基于样本图像所对应的目标嵌入特征,采用目标损失函数确定三元组图像样本所对应的损失值,具体可以包括:
基于样本图像所对应的目标嵌入特征,采用第四损失函数所包括的三元组损失函数计算得到三元组图像样本所对应的损失值。
在一个或多个实施例中,介绍了一种计算损失值的方式。由前述实施例可知,在一种情形下,三元组图像样本包括badcase、badcase和badcase。
具体地,如果三元组图像样本中每个图像样本均为badcase,希望这些badcase的目标embedding特征满足triplet-loss的要求。在学习中涉及到原始embedding特征和目标embedding特征混合算triplet-loss时,margin需要比原始网络模型设置的0.8小(例如,设置为0.6)。当图像样本均采用目标embedding特征计算triplet-loss时,margin可设置为0.8。由于0.6与0.8间的差异可让某些图像样本在原始embedding特征和目标embedding特征不完全一致的情况下(即,一致性损失不严格为0),满足triplet-loss的要求,若不设置的比0.8小,则模型无法收敛。
基于此,第四损失函数可表示为:
L4=losstri-new0.8=max(||xanew-xpnew||-||xanew-xnnew||+β,0);
其中,L4表示三元组图像样本的损失值。losstri-new0.8表示三元组损失函数。xanew表示三元组图像样本中图像样本xa所对应的目标embedding特征。xpnew表示三元组图像样本中属于正样本的图像样本xp所对应的目标embedding特征。xnnew表示三元组图像样本中属于负样本的图像样本xn所对应的目标embedding特征。β表示margin,可设置为0.8。
再次,本申请实施例中,提供了一种计算损失值的方式,通过上述方式,有针对性地对三个“badcase”的三元组图像样本进行损失值计算,从而提升计算的可靠性和灵活性。
结合上述介绍,下面将对本申请中图像识别的方法进行介绍,请参阅图8,本申请实施例中图像识别方法的一个实施例包括:
210、获取待查询图像;
在一个或多个实施例中,图像识别装置获取待查询图像,例如,用户上传了一个待查询图像,或者,从后台选择一张图像作为待查询图像。其中,待查询图像可用于进行图像检索或图像识别等,图像识别属于类别级别的识别,不考虑对象的特定实例,仅考虑对象的类别(例如,人、狗、猫或鸟等)进行的识别并给出对象所属类别。
需要说明的是,图像识别装置可部署于服务器或终端设备上,也可以部署于由服务器和终端设备组成的系统中。
220、基于待查询图像,通过目标网络模型获取待查询嵌入特征;
在一个或多个实施例中,图像识别装置将待查询图像输入至目标网络模型,由目标网络模型输出待查询embedding特征,其中,待查询embedding特征可表示为128维的向量。
需要说明的是,目标网络模型为采用上述实施例提供的方法训练得到的,此处不对训练过程进行赘述。
230、根据待查询嵌入特征以及Q个待匹配嵌入特征,从图像库中获取待查询图像的召回结果,其中,召回结果包括K个图像,K与Q均为大于或等于1的整数;
在一个或多个实施例中,图像识别装置可分别计算待查询embedding特征与Q个待匹配嵌入特征之间的距离,从而得到Q个特征距离,其中,特征距离越小,表示相似度越高。
具体地,以“暴力检索”场景为例,首先可预先对图像库中的Q个图像提取对应的待匹配嵌入特征,即,把图像输入至原始网络模型之后,由原始网络模型输出该图像对应的待匹配嵌入特征。然后,存储图像与待匹配嵌入特征之间的对应关系。基于此,经过特征距离的计算之后,可按照特征距离从小至大的顺序排列。于是,可从特征距离排列后对应的图像中选出前K个图像作为召回结果。可以理解的是,图像库中存储的图像即为种子图像,
240、根据召回结果,确定待查询图像的图像识别结果。
在一个或多个实施例中,图像识别装置根据召回的K个图像,可确定待查询图像的图像识别结果。示例性地,可将K个图像中与待查询图像之间特征距离最小的图像作为图像识别结果。或者,将K个图像中与待查询图像之间特征距离小于特征距离阈值的至少一个图像作为图像识别结果。其中,图像识别结果不仅可以包括图像,还可以包括图像的类别,例如,图像A的类别为“小狗”。
本申请实施例中,提供了一种图像识别的方法,通过上述方式,使用目标网络模型提取待查询图像的待查询embedding特征,并用于图像识别。而目标网络模型的训练过程避免应用中对大量库存重提特征,当利用有限新数据微调更新模型时,可不用大规模更新库存,避免了多个网络层前向计算需要较多的图形处理器(graphics processing unit,GPU)资源,这对于大量库存或需要频繁更新模型的业务而言非常省。并且借助多机分布式部署的库存,只要每台机器针对本机库存更新其中的少量badcase图像样本即可。
可选地,在上述图8对应的各个实施例的基础上,本申请实施例提供的一个可选实施例中,根据待查询嵌入特征以及Q个待匹配嵌入特征,从图像库中获取待查询图像的召回结果,具体可以包括:
获取待查询嵌入特征与Q个待匹配嵌入特征中每个待匹配嵌入特征之间的第一特征距离,得到Q个第一特征距离,其中,每个待匹配嵌入特征为一个聚类的聚类中心;
根据Q个第一特征距离,从Q个聚类结果中获取至少一个聚类结果;
获取待查询嵌入特征与至少一个聚类结果中每个图像之间的第二特征距离;
根据每个图像之间的第二特征距离,将图像库中的K个图像作为待查询图像的召回结果。
在一个或多个实施例中,介绍了一种图像分桶检索的方式。一个“桶”对应于一个聚类结果。其中,图像库可包括P个图像,于是可提取每个图像的embedding特征,然后训练embedding特征的聚类中。例如,采用1亿图像对应的embedding特征训练10万个聚类中心,基于此,可将聚类中心作为检索的索引,并建立索引与图像库中图像的关联关系。
具体地,聚类中心可表示为待匹配嵌入特征。为了便于说明,请参阅图9,图9为本申请实施例中基于分桶检索的一个示意图,如图所示,在图像检索中,将待查询embedding特征分别与每个待匹配嵌入特征进行距离计算,得到Q个第一特征距离。从Q个第一特征距离中找到最小的L个(L为大于或等于1的整数)第一特征距离,即得到L个索引。基于此,从Q个聚类结果中获取L个聚类结果,每个聚类结果包括至少一个图像。将L个聚类结果中的各个图像作为候选图像,并计算待查询embedding特征与每个候选图像进行距离计算,得到多个第二特征距离。最后,从这些第二特征距离中选择最小的K个第二特征距离,由此,可将K个第二特征距离所对应的K个图像作为待查询图像的召回结果。
其次,本申请实施例中,提供了一种图像分桶检索的方式,通过上述方式,采用分桶检索能够提升图像检索效率,节省图像匹配时需要消耗的资源。
可选地,在上述图8对应的各个实施例的基础上,本申请实施例提供的一个可选实施例中,图像库包括P个图像,其中,P为大于或等于1的整数;
根据待查询嵌入特征以及Q个待匹配嵌入特征,从图像库中获取待查询图像的召回结果之前,还可以包括:
根据图像的嵌入特征,对P个图像进行聚类处理,得到Q个聚类结果以及每个聚类结果的聚类中心;
将Q个聚类中的每个聚类中心作为待匹配嵌入特征,得到Q个待匹配嵌入特征。
在一个或多个实施例中,介绍了一种更新聚类中心的方式。在更新得到目标网络模型之后,可从图像库中选择与badcase相似的图像,并更新其对应的embedding特征,然后再更新聚类中心及其索引,由此,能够在部分更新特征下支持优化的检索。
具体地,为了便于理解,请参阅图10,图10为本申请实施例中实现网络模型在训练和应用的一个示意图,如图所示,结合前述实施例可知,新增图像样本对集合输入至原始网络模型,基于原始网络模型输出的embedding特征进行聚类,得到badcase的样本中心。类似地,对原始图像样本对集合输入至原始网络模型,基于原始网络模型输出的embedding特征以及badcase的样本中心,对原始图像样本对集合中的原始图像样本进行标注,从中找出badcase和goodcase。由此,进行模型训练。
在应用过程中,可对图像库中的badcase更新embedding特征,对于goodcase则无需更新embedding特征。对于图像库的图像而言,从badcase图像库中分别找到最近的图像,当图像库中图像与最近badcase图像的距离(采用原始embedding特征计算距离)小于距离阈值(d_badcase_thr),则更新该图像的原始embedding特征为目标网络模型下的目标embedding特征。因此,仅需要更新少量库存样本即可避免所有样本更新。
基于此,根据P个图像对应的embedding特征,对P个图像进行聚类处理,即训练新的聚类中心,并采用新的聚类中心(即,待匹配embedding特征)构建索引。可以理解的是,当图像库中badcase比较少,例如,低于1/1000的图像库则可以不增加聚类中心,否则按比例设置聚类中心的数量。例如,当图像库中badcase为全量图像库中的1/100,则聚类中心的数量也为原始聚类中心数量的1/100。
其次,本申请实施例中,提供了一种更新聚类中心的方式,通过上述方式,利用更新得到的目标网络模型训练新的聚类中心,从而提升聚类中心的准确性。此外,仅需要更新少量图像库中的图像即可,由此,有利于节省处理资源。
下面对本申请中的模型训练装置进行详细描述,请参阅图11,图11为本申请实施例中模型训练装置的一个实施例示意图,模型训练装置30包括:
获取模块310,用于获取原始图像样本对集合以及新增图像样本对集合,其中,原始图像样本对集合包括用于训练原始网络模型的至少两个原始图像样本对,新增图像样本对集合包括识别错误的至少两个新增图像样本对;
标注模块320,用于根据新增图像样本对集合,获取原始图像样本对集合中每个原始图像样本对的标注结果,得到扩充图像样本对集合,其中,扩充图像样本对集合包括标注为识别错误的扩充图像样本对以及标注为识别正确的扩充图像样本对;
构建模块330,用于根据扩充图像样本对集合以及新增图像样本对集合,构建三元组图像样本集合,其中,三元组图像样本集合包括至少一个三元组图像样本,三元组图像样本包括至少两个标注为识别错误的图像样本或识别正确的图像样本;
获取模块310,还用于基于三元组图像样本集合,通过待训练网络模型获取每个三元组图像样本中每个样本图像所对应的目标嵌入特征,其中,待训练网络模型与原始网络模型具有相同的网络结构,且,待训练网络模型的网络参数与原始网络模型的网络参数一致;
训练模块340,用于针对于每个三元组图像样本,根据每个图像样本所对应的标注结果以及每个样本图像所对应的目标嵌入特征,对待训练网络模型的模型参数进行更新,直至满足模型训练条件,得到目标网络模型。
本申请实施例中,提供了一种模型训练装置,采用上述装置,利用新增图像样本对集合对原始图像样本对集合进行标注,从而得到识别goodcase以及badcase。由于goodcase能够使特征分布具有一致性,而badcase能够进行有效的度量学习,因此,可实现令goodcase保持特征接近的同时,令badcase得到优化的效果。因此,使用这些图像样本对(即,goodcase和badcase)进行模型更新,无需重新提取所有图像样本提取嵌入特征,从而节省了计算资源,提升模型更新的效率。
可选地,在上述图11所对应的实施例的基础上,本申请实施例提供的模型训练装置30的另一实施例中,
标注模块320,具体用于基于原始图像样本对集合,通过原始网络模型获取每个原始图像样本所对应的第一嵌入特征,其中,原始图像样本对集合包括2M个原始图像样本,M为大于1的整数;
基于新增图像样本对集合,通过原始网络模型获取每个新增图像样本所对应的第二嵌入特征,其中,新增图像样本对集合包括2N个新增图像样本,N为大于1的整数;
根据每个新增图像样本所对应的第二嵌入特征,对2N个新增图像样本进行聚类处理,得到至少两个聚类中心,其中,每个聚类中心对应于一种识别错误的预设样式;
根据至少两个聚类中心,获取每个新增图像样本对中每个新增图像样本所对应的最短距离,得到2N个最短距离;
根据至少两个聚类中心,获取每个原始图像样本所对应的第一嵌入特征分别与每个聚类中心的距离;
根据每个原始图像样本所对应的第一嵌入特征分别与每个聚类中心的距离与距离阈值之间的关系,对原始图像样本对集合中的每个原始图像样本对进行标注,得到扩充图像样本对集合,其中,距离阈值为根据2N个最短距离确定的。
本申请实施例中,提供了一种模型训练装置,采用上述装置,可以利用新增图像样本对集合自动为每个原始图像样本对进行标注,无需人工手动标注,从而节省了人工标注成本,并且提升了标注效率。
可选地,在上述图11所对应的实施例的基础上,本申请实施例提供的模型训练装置30的另一实施例中,
标注模块320,具体用于将2N个最短距离中的最大值作为距离阈值;
若第一嵌入特征与聚类中心的距离小于距离阈值,则将第一嵌入特征所对应的原始图像样本标注为识别错误的扩充图像样本;
若第一嵌入特征与聚类中心的距离大于或等于距离阈值,则将第一嵌入特征所对应的原始图像样本标注为识别正确的扩充图像样本;
将对应于同一个原始图像样本对的两个扩充图像样本作为一个扩充图像样本对,直至得到扩充图像样本对集合。
本申请实施例中,提供了一种模型训练装置,采用上述装置,利用距离阈值即可判定原始图像样本是否属于badcase,将最短距离中的最大值作为距离阈值,能够在合理的情况下最大化距离阈值,从而筛选出更多标记为badcase的扩充图像样本对。
可选地,在上述图11所对应的实施例的基础上,本申请实施例提供的模型训练装置30的另一实施例中,
标注模块320,具体用于若对应于同一个原始图像样本对的一个扩充图像样本标注为识别错误的扩充图像样本,且,另一个扩充图像样本标注为识别正确的扩充图像样本,则将另一个扩充图像样本标注为识别错误的扩充图像样本。
本申请实施例中,提供了一种模型训练装置,采用上述装置,实现对标注结果进行自动修正,不仅提升了标注结果的准确性,而且还可以在一定程度上增加badcase的数量,达到最大限度训练的目的,避免模型训练过程中样本对不匹配的情况。
可选地,在上述图11所对应的实施例的基础上,本申请实施例提供的模型训练装置30的另一实施例中,
构建模块330,具体用于从扩充图像样本对集合以及新增图像样本对集合中获取相似图像样本对;
从扩充图像样本对集合以及新增图像样本对集合中剔除相似图像样本对,得到(M+N-1)个图像样本对,其中,扩充图像样本对集合包括M个扩充图像样本对,新增图像样本对集合包括N个新增图像样本对,其中,M与N均为大于1的整数;
从(M+N-1)个图像样本对的每个图像样本对中分别选择一个图像样本,得到(M+N-1)个图像样本;
计算(M+N-1)个图像样本中每个图像样本与相似图像样本对之间的距离,得到(M+N-1)个样本距离;
从(M+N-1)个样本距离中获取样本距离最小的前T个样本距离,其中,T为大于或等于1的整数;
将T个样本距离中每个样本距离所对应的图像样本分别与相似图像样本对进行组合,得到T个三元组图像样本,其中,T个三元组图像样本包含于三元组图像样本集合。
本申请实施例中,提供了一种模型训练装置,采用上述装置,将扩充图像样本对集合以及新增图像样本对集合共同合并为一个训练集,从而达到扩增badcase数据集的目的。此外,构建三元组图像样本用于进行后续模型训练,提升模型训练的可靠性。
可选地,在上述图11所对应的实施例的基础上,本申请实施例提供的模型训练装置30的另一实施例中,
训练模块340,具体用于针对于每个三元组图像样本,根据三元组图像样本中每个图像样本所对应的标注结果,确定采用目标损失函数;
针对于每个三元组图像样本,基于样本图像所对应的目标嵌入特征,采用目标损失函数确定三元组图像样本所对应的损失值;
根据每个三元组图像样本所对应的损失值,确实总体损失值;
采用总体损失值;对待训练网络模型的模型参数进行更新。
本申请实施例中,提供了一种模型训练装置,采用上述装置,在模型训练阶段,利用合理挖掘出的badcase进行三元组学习,对于数据库中的goodcase不更新其特征,学习中使goodcase的新特征(即,扩充图像样本的embedding)与旧特征(即,原始图像样本的embedding)的分布相同,从而应用中可以在不更新goodcase的情况下也能获得更好的度量效果。而对于数据库中的badcase更新其特征,同时满足其与goodcase旧特征之间的度量效果。
可选地,在上述图11所对应的实施例的基础上,本申请实施例提供的模型训练装置30的另一实施例中,
训练模块340,具体用于若三元组图像样本中每个图像样本均为识别正确的图像样本,则确定采用第一损失函数,其中,第一损失函数包括三元组损失函数以及一致性损失函数;
训练模块340,具体用于通过原始网络模型获取样本图像所对应的原始嵌入特征;
基于样本图像所对应的目标嵌入特征,采用第一损失函数所包括的三元组损失函数计算得到三元损失值;
基于样本图像所对应的目标嵌入特征以及原始嵌入特征,采用第一损失函数所包括的一致性损失函数计算得到一致性损失值;
根据三元损失值和一致性损失值确定三元组图像样本所对应的损失值。
本申请实施例中,提供了一种模型训练装置,采用上述装置,有针对性地对三个“goodcase”的三元组图像样本进行损失值计算,从而提升计算的可靠性和灵活性。
可选地,在上述图11所对应的实施例的基础上,本申请实施例提供的模型训练装置30的另一实施例中,
训练模块340,具体用于若三元组图像样本中两个图像样本为识别正确的图像样本,且,一个图像样本为识别错误的图像样本,则确定采用第二损失函数,其中,第二损失函数包括原始三元组损失函数、目标三元组损失函数以及一致性损失函数;
训练模块340,具体用于通过原始网络模型获取样本图像所对应的原始嵌入特征;
基于样本图像所对应的原始嵌入特征,采用第二损失函数所包括原始三元组损失函数计算得到原始三元损失值;
基于样本图像所对应的目标嵌入特征,采用第二损失函数所包括目标三元组损失函数计算得到目标三元损失值;
基于图像样本所对应的目标嵌入特征以及原始嵌入特征,采用第二损失函数所包括的一致性损失函数计算得到一致性损失值;
根据原始三元损失值、目标三元损失值与一致性损失值确定三元组图像样本所对应的损失值。
本申请实施例中,提供了一种模型训练装置,采用上述装置,有针对性地对两个“goodcase”和一个“badcase”的三元组图像样本进行损失值计算,考虑到新特征的标注结果,故目标网络模型可以支持新增样本度量表征。
可选地,在上述图11所对应的实施例的基础上,本申请实施例提供的模型训练装置30的另一实施例中,
训练模块340,具体用于若三元组图像样本中两个图像样本为识别错误的图像样本,且,一个图像样本为识别错误的正确样本,则确定采用第三损失函数,其中,第三损失函数包括原始三元组损失函数、目标三元组损失函数以及一致性损失函数;
训练模块340,具体用于通过原始网络模型获取样本图像所对应的原始嵌入特征;
基于样本图像所对应的原始嵌入特征,采用第三损失函数所包括原始三元组损失函数计算得到原始三元损失值;
基于样本图像所对应的目标嵌入特征,采用第三损失函数所包括目标三元组损失函数计算得到目标三元损失值;
基于图像样本所对应的目标嵌入特征以及原始嵌入特征,采用第三损失函数所包括的一致性损失函数计算得到一致性损失值;
根据原始三元损失值、目标三元损失值与一致性损失值确定三元组图像样本所对应的损失值。
本申请实施例中,提供了一种模型训练装置,采用上述装置,有针对性地对一个“goodcase”和两个“badcase”的三元组图像样本进行损失值计算,考虑到新特征的标注结果,故目标网络模型可以支持新增样本度量表征。
可选地,在上述图11所对应的实施例的基础上,本申请实施例提供的模型训练装置30的另一实施例中,
训练模块340,具体用于若三元组图像样本中每个图像样本均为识别错误的图像样本,则确定采用第四损失函数,其中,第一损失函数包括三元组损失函数;
训练模块340,具体用于基于样本图像所对应的目标嵌入特征,采用第四损失函数所包括的三元组损失函数计算得到三元组图像样本所对应的损失值。
本申请实施例中,提供了一种模型训练装置,采用上述装置,有针对性地对三个“badcase”的三元组图像样本进行损失值计算,从而提升计算的可靠性和灵活性。
下面对本申请中的图像识别装置进行详细描述,请参阅图12,图12为本申请实施例中图像识别装置的一个实施例示意图,图像识别装置40包括:
获取模块410,用于获取待查询图像;
获取模块410,还用于基于待查询图像,通过目标网络模型获取待查询嵌入特征,其中,目标网络模型为采用上述权利要求1至10中任一项的训练方法训练得到的;
获取模块410,还用于根据待查询嵌入特征以及Q个待匹配嵌入特征,从图像库中获取待查询图像的召回结果,其中,召回结果包括K个图像,K与Q均为大于或等于1的整数;
确定模块420,用于根据召回结果,确定待查询图像的图像识别结果。
本申请实施例中,提供了一种图像识别装置,采用上述装置,使用目标网络模型提取待查询图像的待查询embedding特征,并用于图像识别。而目标网络模型的训练过程避免应用中对大量库存重提特征,当利用有限新数据微调更新模型时,可不用大规模更新库存,避免了多个网络层前向计算需要较多的图形处理器(graphics processing unit,GPU)资源,这对于大量库存或需要频繁更新模型的业务而言非常省。并且借助多机分布式部署的库存,只要每台机器针对本机库存更新其中的少量badcase图像样本即可。
可选地,在上述图12所对应的实施例的基础上,本申请实施例提供的图像识别装置40的另一实施例中,
获取模块410,具体用于获取待查询嵌入特征与Q个待匹配嵌入特征中每个待匹配嵌入特征之间的第一特征距离,得到Q个第一特征距离,其中,每个待匹配嵌入特征为一个聚类的聚类中心;
根据Q个第一特征距离,从Q个聚类结果中获取至少一个聚类结果;
获取待查询嵌入特征与至少一个聚类结果中每个图像之间的第二特征距离;
根据每个图像之间的第二特征距离,将图像库中的K个图像作为待查询图像的召回结果。
本申请实施例中,提供了一种图像识别装置,采用上述装置,采用分桶检索能够提升图像检索效率,节省图像匹配时需要消耗的资源。
图13是本申请实施例提供的一种计算机设备结构示意图,该计算机设备500可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(centralprocessing units,CPU)522(例如,一个或一个以上处理器)和存储器532,一个或一个以上存储应用程序542或数据544的存储介质530(例如一个或一个以上海量存储设备)。其中,存储器532和存储介质530可以是短暂存储或持久存储。存储在存储介质530的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对计算机设备中的一系列指令操作。更进一步地,中央处理器522可以设置为与存储介质530通信,在计算机设备500上执行存储介质530中的一系列指令操作。
计算机设备500还可以包括一个或一个以上电源526,一个或一个以上有线或无线网络接口550,一个或一个以上输入输出接口558,和/或,一个或一个以上操作系统541,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
上述实施例中由计算机设备所执行的步骤可以基于该图13所示的计算机设备结构。
本申请实施例中还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行如前述各个实施例描述的方法。
本申请实施例中还提供一种包括程序的计算机程序产品,当其在计算机上运行时,使得计算机执行前述各个实施例描述的方法。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (17)
1.一种网络模型的训练方法,其特征在于,包括:
获取原始图像样本对集合以及新增图像样本对集合,其中,所述原始图像样本对集合包括用于训练原始网络模型的至少两个原始图像样本对,所述新增图像样本对集合包括识别错误的至少两个新增图像样本对;
根据所述新增图像样本对集合,获取所述原始图像样本对集合中每个原始图像样本对的标注结果,得到扩充图像样本对集合,其中,所述扩充图像样本对集合包括标注为识别错误的扩充图像样本对以及标注为识别正确的扩充图像样本对;
根据所述扩充图像样本对集合以及所述新增图像样本对集合,构建三元组图像样本集合,其中,所述三元组图像样本集合包括至少一个三元组图像样本,三元组图像样本包括至少两个标注为识别错误的图像样本或识别正确的图像样本;
基于所述三元组图像样本集合,通过待训练网络模型获取每个三元组图像样本中每个样本图像所对应的目标嵌入特征,其中,所述待训练网络模型与所述原始网络模型具有相同的网络结构,且,所述待训练网络模型的网络参数与所述原始网络模型的网络参数一致;
针对于所述每个三元组图像样本,根据所述每个图像样本所对应的标注结果以及所述每个样本图像所对应的目标嵌入特征,对所述待训练网络模型的模型参数进行更新,直至满足模型训练条件,得到目标网络模型。
2.根据权利要求1所述的训练方法,其特征在于,所述根据所述新增图像样本对集合,获取所述原始图像样本对集合中每个原始图像样本对的标注结果,得到扩充图像样本对集合,包括:
基于所述原始图像样本对集合,通过所述原始网络模型获取每个原始图像样本所对应的第一嵌入特征,其中,所述原始图像样本对集合包括2M个原始图像样本,所述M为大于1的整数;
基于所述新增图像样本对集合,通过所述原始网络模型获取每个新增图像样本所对应的第二嵌入特征,其中,所述新增图像样本对集合包括2N个新增图像样本,所述N为大于1的整数;
根据所述每个新增图像样本所对应的第二嵌入特征,对所述2N个新增图像样本进行聚类处理,得到至少两个聚类中心,其中,每个聚类中心对应于一种识别错误的预设样式;
根据所述至少两个聚类中心,获取每个新增图像样本对中每个新增图像样本所对应的最短距离,得到2N个最短距离;
根据所述至少两个聚类中心,获取所述每个原始图像样本所对应的第一嵌入特征分别与每个聚类中心的距离;
根据所述每个原始图像样本所对应的第一嵌入特征分别与每个聚类中心的距离与距离阈值之间的关系,对所述原始图像样本对集合中的每个原始图像样本对进行标注,得到扩充图像样本对集合,其中,所述距离阈值为根据所述2N个最短距离确定的。
3.根据权利要求2所述的训练方法,其特征在于,所述根据所述每个原始图像样本所对应的第一嵌入特征分别与每个聚类中心的距离与距离阈值之间的关系,对所述原始图像样本对集合中的每个原始图像样本对进行标注,得到扩充图像样本对集合,包括:
将所述2N个最短距离中的最大值作为所述距离阈值;
若第一嵌入特征与聚类中心的距离小于所述距离阈值,则将所述第一嵌入特征所对应的原始图像样本标注为识别错误的扩充图像样本;
若第一嵌入特征与聚类中心的距离大于或等于所述距离阈值,则将所述第一嵌入特征所对应的原始图像样本标注为识别正确的扩充图像样本;
将对应于同一个原始图像样本对的两个扩充图像样本作为一个扩充图像样本对,直至得到所述扩充图像样本对集合。
4.根据权利要求3所述的训练方法,其特征在于,所述将对应于同一个原始图像样本对的两个扩充图像样本作为一个扩充图像样本对,包括:
若对应于同一个原始图像样本对的一个扩充图像样本标注为识别错误的扩充图像样本,且,另一个扩充图像样本标注为识别正确的扩充图像样本,则将所述另一个扩充图像样本标注为识别错误的扩充图像样本。
5.根据权利要求1所述的训练方法,其特征在于,所述根据所述扩充图像样本对集合以及所述新增图像样本对集合,构建三元组图像样本集合,包括:
从所述扩充图像样本对集合以及所述新增图像样本对集合中获取相似图像样本对;
从所述扩充图像样本对集合以及所述新增图像样本对集合中剔除所述相似图像样本对,得到(M+N-1)个图像样本对,其中,所述扩充图像样本对集合包括M个扩充图像样本对,所述新增图像样本对集合包括N个新增图像样本对,其中,所述M与所述N均为大于1的整数;
从(M+N-1)个图像样本对的每个图像样本对中分别选择一个图像样本,得到(M+N-1)个图像样本;
计算所述(M+N-1)个图像样本中每个图像样本与所述相似图像样本对之间的距离,得到(M+N-1)个样本距离;
从所述(M+N-1)个样本距离中获取样本距离最小的前T个样本距离,其中,所述T为大于或等于1的整数;
将所述T个样本距离中每个样本距离所对应的图像样本分别与所述相似图像样本对进行组合,得到T个三元组图像样本,其中,所述T个三元组图像样本包含于所述三元组图像样本集合。
6.根据权利要求1所述的训练方法,其特征在于,所述针对于所述每个三元组图像样本,根据所述每个图像样本所对应的标注结果以及所述每个样本图像所对应的目标嵌入特征,对所述待训练网络模型的模型参数进行更新,包括:
针对于所述每个三元组图像样本,根据三元组图像样本中每个图像样本所对应的标注结果,确定采用目标损失函数;
针对于所述每个三元组图像样本,基于样本图像所对应的目标嵌入特征,采用所述目标损失函数确定三元组图像样本所对应的损失值;
根据所述每个三元组图像样本所对应的损失值,确实总体损失值;
采用所述总体损失值;对所述待训练网络模型的模型参数进行更新。
7.根据权利要求6所述的训练方法,其特征在于,所述根据三元组图像样本中每个图像样本所对应的标注结果,确定采用目标损失函数,包括:
若所述三元组图像样本中每个图像样本均为识别正确的图像样本,则确定采用第一损失函数,其中,所述第一损失函数包括三元组损失函数以及一致性损失函数;
所述基于样本图像所对应的目标嵌入特征,采用所述目标损失函数确定三元组图像样本所对应的损失值,包括:
通过所述原始网络模型获取样本图像所对应的原始嵌入特征;
基于样本图像所对应的目标嵌入特征,采用所述第一损失函数所包括的三元组损失函数计算得到三元损失值;
基于样本图像所对应的目标嵌入特征以及原始嵌入特征,采用所述第一损失函数所包括的一致性损失函数计算得到一致性损失值;
根据所述三元损失值和所述一致性损失值确定所述三元组图像样本所对应的损失值。
8.根据权利要求6所述的训练方法,其特征在于,所述根据三元组图像样本中每个图像样本所对应的标注结果,确定采用目标损失函数,包括:
若所述三元组图像样本中两个图像样本为识别正确的图像样本,且,一个图像样本为识别错误的图像样本,则确定采用第二损失函数,其中,所述第二损失函数包括原始三元组损失函数、目标三元组损失函数以及一致性损失函数;
所述基于样本图像所对应的目标嵌入特征,采用所述目标损失函数确定三元组图像样本所对应的损失值,包括:
通过所述原始网络模型获取样本图像所对应的原始嵌入特征;
基于样本图像所对应的原始嵌入特征,采用所述第二损失函数所包括原始三元组损失函数计算得到原始三元损失值;
基于样本图像所对应的目标嵌入特征,采用所述第二损失函数所包括目标三元组损失函数计算得到目标三元损失值;
基于图像样本所对应的目标嵌入特征以及原始嵌入特征,采用所述第二损失函数所包括的一致性损失函数计算得到一致性损失值;
根据所述原始三元损失值、所述目标三元损失值与所述一致性损失值确定所述三元组图像样本所对应的损失值。
9.根据权利要求6所述的训练方法,其特征在于,所述根据三元组图像样本中每个图像样本所对应的标注结果,确定采用目标损失函数,包括:
若所述三元组图像样本中两个图像样本为识别错误的图像样本,且,一个图像样本为识别错误的正确样本,则确定采用第三损失函数,其中,所述第三损失函数包括原始三元组损失函数、目标三元组损失函数以及一致性损失函数;
所述基于样本图像所对应的目标嵌入特征,采用所述目标损失函数确定三元组图像样本所对应的损失值,包括:
通过所述原始网络模型获取样本图像所对应的原始嵌入特征;
基于样本图像所对应的原始嵌入特征,采用所述第三损失函数所包括原始三元组损失函数计算得到原始三元损失值;
基于样本图像所对应的目标嵌入特征,采用所述第三损失函数所包括目标三元组损失函数计算得到目标三元损失值;
基于图像样本所对应的目标嵌入特征以及原始嵌入特征,采用所述第三损失函数所包括的一致性损失函数计算得到一致性损失值;
根据所述原始三元损失值、所述目标三元损失值与所述一致性损失值确定所述三元组图像样本所对应的损失值。
10.根据权利要求6所述的训练方法,其特征在于,所述根据三元组图像样本中每个图像样本所对应的标注结果,确定采用目标损失函数,包括:
若所述三元组图像样本中每个图像样本均为识别错误的图像样本,则确定采用第四损失函数,其中,所述第一损失函数包括三元组损失函数;
所述基于样本图像所对应的目标嵌入特征,采用所述目标损失函数确定三元组图像样本所对应的损失值,包括:
基于样本图像所对应的目标嵌入特征,采用所述第四损失函数所包括的三元组损失函数计算得到所述三元组图像样本所对应的损失值。
11.一种图像识别的方法,其特征在于,包括:
获取待查询图像;
基于所述待查询图像,通过目标网络模型获取待查询嵌入特征,其中,所述目标网络模型为采用上述权利要求1至10中任一项所述的训练方法训练得到的;
根据所述待查询嵌入特征以及Q个待匹配嵌入特征,从图像库中获取所述待查询图像的召回结果,其中,所述召回结果包括K个图像,所述K与所述Q均为大于或等于1的整数;
根据所述召回结果,确定所述待查询图像的图像识别结果。
12.根据权利要求11所述的方法,其特征在于,所述根据所述待查询嵌入特征以及Q个待匹配嵌入特征,从图像库中获取所述待查询图像的召回结果,包括:
获取所述待查询嵌入特征与所述Q个待匹配嵌入特征中每个待匹配嵌入特征之间的第一特征距离,得到Q个第一特征距离,其中,所述每个待匹配嵌入特征为一个聚类的聚类中心;
根据所述Q个第一特征距离,从所述Q个聚类结果中获取至少一个聚类结果;
获取所述待查询嵌入特征与所述至少一个聚类结果中每个图像之间的第二特征距离;
根据所述每个图像之间的第二特征距离,将所述图像库中的所述K个图像作为所述待查询图像的所述召回结果。
13.一种模型训练装置,其特征在于,包括:
获取模块,用于获取原始图像样本对集合以及新增图像样本对集合,其中,所述原始图像样本对集合包括用于训练原始网络模型的至少两个原始图像样本对,所述新增图像样本对集合包括识别错误的至少两个新增图像样本对;
标注模块,用于根据所述新增图像样本对集合,获取所述原始图像样本对集合中每个原始图像样本对的标注结果,得到扩充图像样本对集合,其中,所述扩充图像样本对集合包括标注为识别错误的扩充图像样本对以及标注为识别正确的扩充图像样本对;
构建模块,用于根据所述扩充图像样本对集合以及所述新增图像样本对集合,构建三元组图像样本集合,其中,所述三元组图像样本集合包括至少一个三元组图像样本,三元组图像样本包括至少两个标注为识别错误的图像样本或识别正确的图像样本;
所述获取模块,还用于基于所述三元组图像样本集合,通过待训练网络模型获取每个三元组图像样本中每个样本图像所对应的目标嵌入特征,其中,所述待训练网络模型与所述原始网络模型具有相同的网络结构,且,所述待训练网络模型的网络参数与所述原始网络模型的网络参数一致;
训练模块,用于针对于所述每个三元组图像样本,根据所述每个图像样本所对应的标注结果以及所述每个样本图像所对应的目标嵌入特征,对所述待训练网络模型的模型参数进行更新,直至满足模型训练条件,得到目标网络模型。
14.一种图像识别装置,其特征在于,包括:
获取模块,用于获取待查询图像;
所述获取模块,还用于基于所述待查询图像,通过目标网络模型获取待查询嵌入特征,其中,所述目标网络模型为采用上述权利要求1至10中任一项所述的训练方法训练得到的;
所述获取模块,还用于根据所述待查询嵌入特征以及Q个待匹配嵌入特征,从图像库中获取所述待查询图像的召回结果,其中,所述召回结果包括K个图像,所述K与所述Q均为大于或等于1的整数;
确定模块,用于根据所述召回结果,确定所述待查询图像的图像识别结果。
15.一种计算机设备,其特征在于,包括:存储器、处理器以及总线系统;
其中,所述存储器用于存储程序;
所述处理器用于执行所述存储器中的程序,所述处理器用于根据程序代码中的指令执行权利要求1至10中任一项所述的方法,或者,执行如权利要求11至12中任一项所述的方法;
所述总线系统用于连接所述存储器以及所述处理器,以使所述存储器以及所述处理器进行通信。
16.一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行如权利要求1至10中任一项所述的训练方法,或者,执行如权利要求11至12中任一项所述的方法。
17.一种计算机程序产品,包括计算机程序和指令,其特征在于,该计算机程序/指令被处理器执行时实现如权利要求1至10中任一项所述的训练方法,或者,执行如权利要求11至12中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111056689.6A CN114329027A (zh) | 2021-09-09 | 2021-09-09 | 一种网络模型的训练方法、图像识别的方法以及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111056689.6A CN114329027A (zh) | 2021-09-09 | 2021-09-09 | 一种网络模型的训练方法、图像识别的方法以及相关装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114329027A true CN114329027A (zh) | 2022-04-12 |
Family
ID=81045397
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111056689.6A Pending CN114329027A (zh) | 2021-09-09 | 2021-09-09 | 一种网络模型的训练方法、图像识别的方法以及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114329027A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116450808A (zh) * | 2023-06-15 | 2023-07-18 | 腾讯科技(深圳)有限公司 | 一种数据的处理方法、装置以及存储介质 |
CN116912634A (zh) * | 2023-09-12 | 2023-10-20 | 深圳须弥云图空间科技有限公司 | 目标追踪模型的训练方法及装置 |
-
2021
- 2021-09-09 CN CN202111056689.6A patent/CN114329027A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116450808A (zh) * | 2023-06-15 | 2023-07-18 | 腾讯科技(深圳)有限公司 | 一种数据的处理方法、装置以及存储介质 |
CN116450808B (zh) * | 2023-06-15 | 2023-09-19 | 腾讯科技(深圳)有限公司 | 一种数据的处理方法、装置以及存储介质 |
CN116912634A (zh) * | 2023-09-12 | 2023-10-20 | 深圳须弥云图空间科技有限公司 | 目标追踪模型的训练方法及装置 |
CN116912634B (zh) * | 2023-09-12 | 2023-12-12 | 深圳须弥云图空间科技有限公司 | 目标追踪模型的训练方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110209859B (zh) | 地点识别及其模型训练的方法和装置以及电子设备 | |
Lun et al. | Elements of style: learning perceptual shape style similarity | |
dos Santos et al. | A relevance feedback method based on genetic programming for classification of remote sensing images | |
CN108288051B (zh) | 行人再识别模型训练方法及装置、电子设备和存储介质 | |
CN103718190A (zh) | 增量图像聚类 | |
CN110765882B (zh) | 一种视频标签确定方法、装置、服务器及存储介质 | |
CN112307239B (zh) | 一种图像检索方法、装置、介质和设备 | |
CN114329027A (zh) | 一种网络模型的训练方法、图像识别的方法以及相关装置 | |
CN113642400A (zh) | 基于2s-agcn的图卷积动作识别方法、装置及设备 | |
CN114358188A (zh) | 特征提取模型处理、样本检索方法、装置和计算机设备 | |
CN116580257A (zh) | 特征融合模型训练及样本检索方法、装置和计算机设备 | |
CN113821657A (zh) | 基于人工智能的图像处理模型训练方法及图像处理方法 | |
CN113657087B (zh) | 信息的匹配方法及装置 | |
Casaca et al. | Laplacian coordinates: Theory and methods for seeded image segmentation | |
CN114238329A (zh) | 向量相似度计算方法、装置、设备及存储介质 | |
Zamiri et al. | Image annotation based on multi-view robust spectral clustering | |
CN114298122A (zh) | 数据分类方法、装置、设备、存储介质及计算机程序产品 | |
CN107783998A (zh) | 一种数据处理的方法以及装置 | |
CN113963303A (zh) | 图像处理方法、视频识别方法、装置、设备及存储介质 | |
CN113704534A (zh) | 图像处理方法、装置及计算机设备 | |
CN113535947A (zh) | 一种带有缺失标记的不完备数据的多标记分类方法及装置 | |
CN114170558B (zh) | 用于视频处理的方法、系统、设备、介质和产品 | |
CN114494809A (zh) | 特征提取模型优化方法、装置及电子设备 | |
CN114255381A (zh) | 图像识别模型的训练方法、图像识别方法、装置及介质 | |
CN112860936A (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40072959 Country of ref document: HK |