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

移动对象的重识别、模型训练方法、设备及存储介质与流程

2021-10-19 23:47:00 来源:中国专利 TAG: 识别 模型 对象 视觉 训练


1.本技术涉及计算机视觉技术领域,尤其涉及一种移动对象的重识别、模型训练方法、设备及存储介质。


背景技术:

2.行人重识别(person re

identification),是一种利用计算机视觉技术判断图片或者视频序列中是否存在特定行人的技术。基于行人重识别技术,可在给定一个监控行人图片时,检索跨相机设备下的该行人图片,以弥补固定的摄像头的视觉局限。
3.现有技术中,存在一种基于无监督模型的行人重识别方法。在这种方法中,通过无监督聚类算法或者基于相似度的最近邻关联算法生成数据的聚类伪标签,并将聚类伪标签作为监督信号,进行模型的训练和学习。但是,现有方法生成的聚类伪标签的准确度较低,不利于提升行人重识别模型的性能。因此,有待提出一种新的解决方案。


技术实现要素:

4.本技术的多个方面提供一种移动对象的重识别、模型训练方法、设备及存储介质,用以有利于提升行人重识别模型的性能。
5.本技术实施例提供一种移动对象的重识别方法,包括:展示第一界面,所述第一界面包括:图片添加控件;响应对所述图片添加控件的触发操作,获取包含移动对象的待查询图片;将所述待查询图片以及待检索图片库中的图片输入神经网络模型;所述神经网络模型,根据标注有相机标签的训练集,以及对训练集中的多张图片进行聚类操作产生的相机差异损失训练得到;获取所述神经网络模型输出的所述待检索图片库中与所述待查询图片匹配的至少一张图片;在第二界面中,展示所述至少一张图片。
6.本技术实施例提供一种移动对象的重识别模型的训练方法,包括:获取包含移动对象的多张图片,作为训练集,所述多张图片分别标注有相机标签;将所述多张图片输入神经网络模型,得到所述多张图片各自的特征;根据所述多张图片各自的特征,对所述多张图片进行聚类操作,得到多个聚类簇;根据所述多个聚类簇各自包含的图片的特征,以及所述多个聚类簇各自包含的图片的相机标签,计算所述聚类操作的相机差异损失;利用所述多个聚类簇各自对应的相机差异损失,对所述神经网络模型进行优化。
7.本技术实施例还提供一种移动对象的重识别模型的训练方法,包括:响应客户端对指定接口的调用请求,获取接口参数包含的移动对象的多张图片,作为训练集,所述多张图片分别标注有相机标签;将所述多张图片输入神经网络模型,得到所述多张图片各自的特征;根据所述多张图片各自的特征,对所述多张图片进行聚类操作,得到多个聚类簇;根据所述多个聚类簇各自包含的图片的特征,以及所述多个聚类簇各自包含的图片的相机标签,计算所述聚类操作的相机差异损失;利用所述多个聚类簇各自对应的相机差异损失,对所述神经网络模型进行迭代训练,得到重识别模型;将训练得到的所述重识别模型返回至所述客户端。
8.本技术实施例还提供一种移动对象的重识别方法,包括:获取包含移动对象的待查询图片以及待检索图片库;将所述待查询图片和所述待检索图片库中的图片输入神经网络模型,得到所述待检索图片库中与所述待查询图片匹配的至少一张图片;其中,所述神经网络模型,根据标注有相机标签的训练集,以及对训练集中的多张图片进行聚类操作产生的相机差异损失训练得到。
9.本技术实施例还提供一种电子设备,包括:存储器和处理器;所述存储器用于存储一条或多条计算机指令;所述处理器用于执行所述一条或多条计算机指令以用于:执行本技术实施例提供的方法中的步骤。
10.本技术实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被处理器执行时能够实现本技术实施例提供的方法中的步骤
11.本技术实施例提供的移动对象的重识别模型的训练方法中,无需借助标注有移动对象的真值的训练集,只需要对神经网络模型进行端到端训练,在实际应用上更具优势;同时,训练集中的图片上标注有相机标签,基于图片的特征聚类得到聚类簇后,可根据每个聚类簇包含的图片的特征以及相机标签,计算聚类操作产生的相机差异损失,并基于相机差异损失对神经网络模型进行优化。进而,可在训练神经网络模型时,充分考虑相机差异产生的影响,促进神经网络模型聚类得到的聚类簇的语义一致性,优化了神经网络模型对目标数据集的识别能力,提升神经网络模型在移动对象的重识别应用场景中的性能。
附图说明
12.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
13.图1为本技术一示例性实施例提供的移动对象的重识别模型的训练方法的流程示意图;
14.图2为本技术一示例性实施例提供的相机标签、子聚类簇、局部伪标签以及代表特征的索引示意图;
15.图3为本技术一实施例性实施例提供的移动对象的重识别模型训练方法的流程框图;
16.图4a为本技术另一示例性实施例提供的移动对象的重识别模型的训练方法的流程示意图;
17.图4b为本技术一示例性实施例提供的移动对象的重识别方法的流程示意图;
18.图4c为本技术一示例性实施例提供的移动对象的重识别方法的流程框图;
19.图5为本技术另一示例性实施例提供的移动对象的重识别方法的流程框图;
20.图6为本技术一示例性实施例提供的电子设备的结构示意图。
具体实施方式
21.为使本技术的目的、技术方案和优点更加清楚,下面将结合本技术具体实施例及相应的附图对本技术技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
22.行人重识别是指在多个相机下匹配或检索特定行人的技术。全监督行人重识别技术在近几年得到了广泛和充分研究,相应的全监督模型也达到了较高准确率。然而全监督行人重识别依赖于大量的人工标注操作。为了尽可能降低人工标注成本,实现重识别模型在新场景中的快速学习和应用,研究纯粹无监督行人重识别具有重要的应用价值。
23.现有的无监督行人重识别方法主要可分成两大类:第一类是基于聚类伪标签的无监督行人重识别方法;第二类是基于域迁移学习的行人重识别方法。以下将分别进行简单介绍。
24.第一类方法通过无监督聚类算法或者基于相似度的最近邻关联算法,生成数据的聚类伪标签,并以生成的聚类伪标签作为监督信号,进行模型的训练和学习。
25.第二类方法借助一个有标注的源数据集,用于协助在无标注的目标数据集上的训练;通过从源数据集生成和目标数据集风格一致的图片,或者对齐源数据集和目标数据集的特征分布,来提高模型在目标数据集上的识别能力。
26.其中,基于聚类的方式生成聚类伪标签的方法,相比其他方法展现出更为优异的性能。然而现有的基于聚类生成聚类伪标签的方法,往往忽略了同一个聚类簇(cluster)中特征分布的差异性,这种特征分布的差异性,与相机视角的差异性具有较大的关联。例如,同一个行人在不同相机下的图片往往具有较大的视角、风格上的差异性,这导致对一个行人来说,用一个统一的聚类中心来表示其所有图片的特征分布不够合适。而由于在同一个相机下的视角一致性,一个行人在同一个相机下的特征往往更加相似和集中,使得同一个行人的特征在不同相机下呈现各自集中的特点。即,在同一个聚类簇中,不同相机拍摄的图片呈现各自集中的特点。
27.在近几年,有多篇论文提出了基于聚类生成为聚类伪标签的方法,用于解决无监督行人重识别问题。以下将分别进行简单介绍。
28.其中,buc(bottom

up clustering,自下而上聚类)采用层次聚类的方式,迭代进行聚类簇的合并和模型的更新,从而逐渐提高模型的性能。该方法基于层次聚类的思想,在每次迭代中根据聚类簇的相似度来对聚类簇进行合并,通过逐步减少合并后聚类簇的数量来将语义信息一致的行人图片合并到同一个类别。该方法在纯粹无监督的情况下,在market

1501、dukemtmc

reid和mars等公开行人重识别数据集上取得了不错的效果。但是该方法的缺点在于,每次迭代进行聚类簇的合并时,都是基于上一次聚类簇的合并结果,这会导致误差的不断累积,影响合并后的聚类簇的质量,从而对最终模型性能产生不利的影响。
29.其中,mmt(mutual mean

teaching,双向教学)采用两个模型相互学习的方式,并且使用平均模型来互为对方模型提供额外的监督信息,从而使得两个模型相互促进、共同提升模型性能。该方法的主要缺点在于训练过程需要使用两个模型同时训练,在模型复杂度上不占优势,且需要借助有标注的源数据集。
30.其中,spcl(self

paced contrastive learning,自步学习)采用源数据集和目标数据集共同训练,通过设计一个统一的对比学习框架,来联合区分源数据集行人类别、目标数据集聚类簇以及目标数据集的噪声样本。通过一个统一的对比损失函数来对模型进行训练。为了提高聚类的准确率,spcl还提出了一个聚类可靠性评价准则,通过判断聚类簇的独立性和紧凑性来筛选出更准确的聚类簇。这一方法在market

1501、dukemtmc

reid和msmt
数据集上取得了目前较好的无监督行人重识别准确率。其缺点在于,该方法中需要设置的超参数较多,对该方法在实际场景中的应用产生了一定的限制。
31.针对上述技术问题,在本技术一些实施例中,提供了一种解决方案,以下结合附图,详细说明本技术各实施例提供的技术方案。
32.图1为本技术一示例性实施例提供的移动对象的重识别模型的训练方法的流程示意图,如图1所示,该移动对象的重识别方法,包括:
33.步骤101、获取包含移动对象的多张图片,作为训练集,所述多张图片分别标注有相机标签。
34.步骤102、将所述多张图片输入神经网络模型,得到所述多张图片各自的特征。
35.步骤103、根据所述多张图片各自的特征,对所述多张图片进行聚类操作,得到多个聚类簇。
36.步骤104、根据所述多个聚类簇各自包含的图片的特征,以及所述多个聚类簇各自包含的图片的相机标签,计算所述聚类操作的相机差异损失。
37.步骤105、利用所述多个聚类簇各自对应的相机差异损失,对所述神经网络模型进行优化。
38.在本实施例中,移动对象可包括:行人、动物、车辆、机器人等可移动的对象,本实施例不做限制。以下实施例中,将以移动对象实现为行人为例进行示例性说明。
39.其中,相机标签,用于标识拍摄图片的相机。应当理解,不同相机的安装位置不同,拍摄视角、拍摄风格不同,因而拍摄同一个行人得到图像具有一定的特征差异。在本实施例中,训练集的图像上标注相机标签,有利于在后续训练的过程中,对不同相机拍摄到的图像进行区分,以使得神经模型学习不同相机对同一行人的拍摄差异。
40.其中,相机标签可由人工或者电子设备进行批量标注,或者,可对相机进行设置,以使得相机输出图片时自动标注相机标签。在训练集的图片上标注相机标签,相对于基于全监督的模型训练方法而言,极大降低了标注的工作量,提升模型训练效率。
41.可选地,本实施例中的神经网络模型,包括一个卷积神经网络(convolutional neural networks,cnn),用于对训练集中的图片提取特征,得到每张图片各自的特征。其中,该神经网络模型可以是resnet(残差网络),例如resnet18、resnet50或者resnet50

ibn(其中,ibn全称为:intent based networking,表示基于意图的网络)。可选地,可预先基于imagenet(一个供图片/视觉训练的图片库),对resnet进行预训练。
42.获取到训练集中的每张图片各自的特征后,可基于图片的特征,对训练集进行聚类操作。可选地,该聚类操作,可基于多种不同的聚类算法实现。例如,k

means(k均值)聚类算法、均值漂移聚类、带噪声情况下基于密度的空间聚类算法(density

based spatial clustering of applications with noise,dbscan)等等,本实施例包含但不限于此。
43.可选地,在使用dbscan时,可根据实际需求对聚类算法所需的距离阈值、中心点的临近范围等参数进行设置,本实施例不做限制。在一些可选的实施例中,可设置距离阈值thresh=0.5,中心点的临近点范围eps=2。
44.基于聚类操作,可将训练集中的多张图片划分为多个聚类簇(cluster)。其中,同一个聚类簇中的图片,可分别由不同的相机进行拍摄。在聚类操作时,若采用一个统一的中心来表示同一行人的所有图片的特征分布,则无法考虑到相机差异带来的聚类误差。
45.因此,在本实施例中,可进一步根据聚类得到的该多个聚类簇各自包含的图片的特征,以及该多个聚类簇各自包含的图片的相机标签,计算该聚类操作的相机差异损失。
46.其中,相机差异损失,可包括:将同一行人在同一相机下拍摄到的图片聚类到相同聚类簇时产生的损失,即相机内损失;或者,相机差异损失可包括:将同一行人在不同相机下拍摄得到的图片聚类到相同聚类簇时产生的损失,即跨相机损失;或者,相机差异损失可同时包括相机内损失以及跨相机损失。
47.获取到该多个聚类簇对应的相机差异损失后,可基于该多个聚类簇对应的相机差异损失,对神经网络模型的参数进行优化,以使得神经网络模型不断学习不同相机拍摄到的行人图片的特征,并输出更准确的聚类结果。
48.在本实施例中,在训练用于对移动对象进行重识别的模型时,无需借助标注有移动对象的真值的训练集,只需要对神经网络模型进行端到端训练,在实际应用上更具优势;同时,训练集中的图片上标注有相机标签,基于图片的特征聚类得到聚类簇后,可根据每个聚类簇包含的图片的特征以及相机标签,计算聚类操作产生的相机差异损失,并基于相机差异损失对神经网络模型进行优化。进而,可在训练神经网络模型时,充分考虑相机差异产生的影响,促进神经网络模型聚类得到的聚类簇的语义一致性,优化了神经网络模型对目标数据集的识别能力,提升神经网络模型在移动对象的重识别应用场景中的性能。
49.以下实施例,将对计算聚类操作的相机差异损失的可选实施方式进行示例性说明。
50.在一些可选的实施例中,对训练集中的多张图片执行聚类操作,得到多个聚类簇(以下或称cluster)后,可选地,为便于后续查询,可对聚类得到的多个聚类簇,分别设置聚类伪标签。
51.例如,可对每个cluster分别分配一个聚类伪标签y,该聚类伪标签y用于作为每个cluster的索引,便于后续计算。假设,基于聚类操作,将训练集中的图片划分为y个聚类簇(cluster)以及若干个离群值(outlier)。针对y个聚类簇,可按照逐个递增的顺序,设置y个cluster的聚类伪标签y的值分别取0,1,2,

,y

1。相应地,每个cluster中的图片,与其所在的cluster具有相同的聚类伪标签。例如,某一图片所在的cluster的聚类伪标签为y=2,则该图片的聚类伪标签也为y=2。
52.可选地,可进一步按照聚类簇中的图片的相机标签,对每个聚类簇进行进一步划分。以下将以聚类得到的多个聚类簇中的第一聚类簇为例进行示例性说明,其中,第一聚类簇可以为该多个聚类簇中的任一聚类簇。本实施例采用“第一”对聚类簇进行限定,仅用于方便描述和区分,并不对聚类簇的顺序、数量等构成任何限制。
53.针对该多个聚类簇中的第一聚类簇,可根据第一聚类簇中的图片上标注的相机标签,对第一聚类簇中的图片进行划分,得到多个子聚类簇(以下或称sub

cluster);其中,该多个子聚类簇对应不同的相机标签。
54.即,针对一个cluster而言,按照cluster中的图片各自带有的相机标签,对该cluster中的多张图片进行进一步划分,得到该cluster对应的多个sub

cluster。
55.其中,每个sub

cluster中的图片具有相同的相机标签,且每个sub

cluster也具有其所属的cluster的聚类伪标签y。例如,按照图片的相机标签将某一聚类伪标签y=2的cluster划分为sub

cluster1、sub

cluster2以及sub

cluster3之后,sub

cluster1中的图
片具有相同的相机标签1,sub

cluster2中的图片具有相同的相机标签2,sub

cluster3中的图片具有相同的相机标签3;同时,sub

cluster1、sub

cluster2以及sub

cluster3的聚类伪标签均为y=2。
56.在本实施例中,为每个子聚类簇设置一个待学习的代表特征(以下或称proxy)。代表特征proxy,可理解为其对应的sub

cluster中的所有图片的代表特征,该特征需要不断地迭代学习得到。当神经网络模型聚类得到的聚类簇的语义一致性较高时,每个sub

cluster中的图片与该sub

cluster的代表特征具有较高的相似度。因此,在后续的训练过程中,神经网络模型需要不断地优化模型参数,来提升聚类簇的语义一致性。
57.在将第一聚类簇划分为多个子聚类簇后,可根据该多个子聚类簇各自包含的图片的特征,确定该多个子聚类簇各自的代表特征的初始值。其中,每个proxy的初始值,可由该proxy对应的sub

cluster中的图片的平均特征计算得到。即,计算每个sub

cluster中的图片的平均特征,并以计算得到的平均特征,来初始化每个sub

cluster对应的proxy。例如,针对第一聚类簇中的子聚类簇sub

cluster1,可计算sub

cluster1包含的图片的特征的平均值,作为sub

cluster1的代表特征的初始值。
58.可选地,在一些实施例中,为便于后续查询,可对每个聚类簇各自划分得到的多个子聚类簇,分别设置局部伪标签。以下将进行示例性说明。
59.假设,本实施例采用的训练集中共包含来自c个相机的图片,并假设,对多个聚类簇分别按照相机标签进行进一步划分后,共获得z
c
个具有相机标签c的sub

cluster,如图2所示的z
c
个sub即sub1,sub2,
……
,sub
zc
。接下来,可对具有相机标签c的每个sub

cluster分别分配一个局部伪标签z,zc个sub

cluster的局部伪标签z可分别取值为1,2,

,z
c
,如图2所示。
60.其中,针对每个sub

cluster而言,sub

cluster中的每张图片,也被赋予该sub

cluster的局部伪标签z。即,sub

cluster中的每张图片,同时具有一个聚类伪标签y,以及一个局部伪标签z。其中,聚类伪标签y用于区分图片在特征聚类后所属的cluster,局部伪标签用于区分图片在其所属的cluster中对应的相机。
61.基于上述,在为训练集中的每个子聚类簇设置待学习的代表特征后,可根据子聚类簇对应的聚类伪标签以及局部伪标签,为训练集包含的所有子聚类簇的代表特征设置查询索引。其中,该查询索引,可用于在后续计算相机差异损失时,快速查询到图片或者子聚类簇对应的代表特征,此处不做赘述。
62.可选地,如图3所示,在一些实施例中,可构造一个proxy memory bank(代表特征的内存库),用于存储和更新每个proxy的特征,该proxy memory bank可用字母k表示。其中,k为一个dxz的矩阵,其中,d是proxy特征的维度,z表示proxy的总数量,即sub

cluster的数量。如图2所示,每一个sub

cluster都关联一个proxy,进而
63.其中,dxz的矩阵中,第u行表示第u个proxy的特征,每个proxy具有所代表的sub

cluster的聚类伪标签y和局部伪标签z,即查询索引。
64.接下来,可从训练集中选取多个批量训练集(以下或称mini

batch),每个批量训练集包含第一数量的图片。
65.可选地,在一些实施例中,可从训练集包含的所有子聚类簇中,选取第一数量的目标子聚类簇,并从每个目标子聚类簇中,随机采样第二数量的图片,得到批量训练集。
66.即,分别按照相机标签对y个聚类簇进行进一步划分,得到z个子聚类簇后,可从z个sub

cluster中,随机选择s1个sub

cluster。接下来,从选择出的每个sub

cluster中,随机选择s2张图片,得到s1*s2张图片,作为一个mini

batch。
67.其中,s1以及s2的取值,可根据实际需求进行设置。本实施例不做限制。在一些可选的实施例中,s1可取值为8,s2可取值为4,得到包含8*4张图片的mini

batch。
68.在本实施例中,从训练集中选择多个批量训练集,批量训练集包含的图片的数量小于训练集包含的图片的数量,基于小批量的样本进行梯度下降优化,一方面可克服单个样本的随机性,另一方面,可弥补数据量较大的训练集具有的计算开销大的缺陷。
69.以下将以多个批量训练集中的任一批量训练集为例,对计算跨相机损失和相机内损失的可选实施方式进行示例性说明。
70.在一些实施例中,可基于该批量训练集中的图片的特征和图片所属的子聚类簇的代表特征,计算同相机损失。其中,计算同相机内损失时,可分别计算批量训练集中的每张图片对应的同相机内损失,并将每张图片计算得到的损失进行累加,得到批量训练集对应的同相机内损失。基于这种累加的方式,可克服单个图片样本的随机性,提升同相机内损失的可靠性。
71.可选地,该同相机损失,可基于对比损失函数进行计算,又可称为同相机内对比损失。以下将训练集中的任意一张图片为例,对计算同相机内对比损失的可选实施方式进行示例性说明。为描述方便将该图片所属的子聚类簇,描述为第一子聚类簇。
72.可选地,针对该该批量训练集中的任一图片,可确定该图片所属的第一子聚类簇的代表特征,以及与该图片具有相同相机标签的至少一个第二子聚类簇各自的代表特征。其中,确定第一子聚类簇的代表特征时,可根据第一子聚类簇所属的聚类簇的聚类伪标签以及第一子聚类簇对应的局部伪标签,从proxy的查询索引中,查询第一聚类簇的代表特征。确定至少一个第二子聚类簇各自的代表特征时时,可根据该图片的相机标签,从proxy的查询索引中,查询与该图片具有相同相机标签的至少一个子聚类簇各自的代表特征。
73.接下来,计算该图片的特征与该第一子聚类簇的代表特征的相似度,作为第一相似度;分别计算该图片的特征与该至少一个子聚类簇各自的代表特征的相似度,得到至少一个第二相似度;计算该至少一个第二相似度的累加值,并根据该第一相似度和该第二相似度的比值,确定该图片对应的相机内对比损失。
74.可选地,同相机内对比损失函数l
intra
的计算方式可如以下公式1所示:
[0075][0076]
在公式1中,x
i
表示mini

batch中的第i张图片,f(x
i
)表示图片x
i
经过神经网络模型所提取的特征;c
i
表示图片x
i
对应的相机标签,a表示从第1个到第(c
i

1)个相机下的proxy的总数量,z
c
表示第c个相机下的proxy的数量。表示第c
i
个相机下的proxy的索引范围。若以z
i
表示图片x
i
的局部伪标签,则图片x
i
对应的proxy的索引为:j=a z
i
。以矩阵k表示proxy memory bank中的proxy时,k[j]表示矩阵k中的第j列,即图片x
i
所在的sub

cluster的proxy特征。其中,k用于表示第c
i
个相机下的proxy的索
引,k的取值范围从a 1到
[0077]
其中,n
c
表示第c个相机下的图片数量,d
c
表示数据集中来自相机c的图片对应的子训练集;τ是尺度变换因子,实际网络训练时τ取值为0.07。exp(x)=e
x
表示指数函数,log(x)表示对数函数。
[0078]
基于上述可知,分子项exp(k[j]
t
f(x
i
)/τ),用于计算图片x
i
的特征与其对应的proxy特征的相似度。即,图片x
i
与其所在的第一子聚类簇的代表特征的第一相似度。分母项用于计算图片x
i
的特征与和图片x
i
具有相同相机标签的sub

cluster的代表特征的相似度的累加值,即该至少一个第二相似度的累加值。
[0079]
在公式1中,对于mini

batch的每张图片,只和相机标签相同的proxy进行比较,进而实现了计算同相机内的对比损失。
[0080]
基于上述公式1,可在基于神经网络识别得到的特征聚类得到cluster之后,进一步计算每个cluster中具有相同相机标签图片和具有不同相机标签的图片的对比损失,并可在后续训练过程中,优化这种同相机内的对比损失,降低聚类所得cluster中由相机差异性带来的类内差异,提升神经网络模型的性能。
[0081]
在另一些实施例中,可基于批量训练集中的图片的特征和图片所属的聚类簇包含的多个子聚类簇各自的代表特征,计算跨相机对比损失。其中,计算跨相机损失时,可分别计算批量训练集中的每张图片对应的跨相机损失,并将每张图片计算得到的损失进行累加,得到批量训练集对应的跨相机损失。基于这种累加的方式,可克服单个图片样本的随机性,提升跨相机损失的可靠性。可选地,该跨相机损失,可基于对比损失函数进行计算,可称为跨相机对比损失。
[0082]
以下将训练集中的任意一张图片为例,对计算跨相机对比损失的可选实施方式进行示例性说明。
[0083]
针对该批量训练集中的任一图片,可确定该图片所属的聚类簇包含的多个子聚类簇各自的代表特征,作为第一特征集合。同时,从该多个聚类簇各自包含的子聚类簇中,选取不包含该图片的聚类簇的子聚类簇的代表特征,作为第二特征集合。
[0084]
继续以图片x
i
为例。首先,可确定与图片x
i
具有相同聚类标签的所有sub

cluster的代表特征,即图片x
i
所在的cluster包含的sub

cluster的proxy,得到第一特征集合p。
[0085]
可选地,第二特征集合,可以是困难负样本挖掘(hard negative mining)得到的困难负例对应的代表特征。以下将对第二特征集合中的代表特征的获取方式进行示例性说明。
[0086]
可选地,可确定该训练集对应的所有子聚类簇各自的代表特征;从该所有子聚类簇各自的代表特征中,确定除该第一特征集合之外的其他代表特征;分别计算该其他代表特征与该图片的特征的相似度;根据该其他代表特征与该图片的特征的相似度,对该其他代表特征进行排序;根据该排序的结果,从该其他代表特征中选取第二数量个代表特征,作为该第二特征集合。
[0087]
假设,按照相机标签对y个cluster进行进一步划分,共得到z个sub

cluster。聚类得到的z个sub

cluster中,除集合p之外的其它sub

cluster,还包括(z

p)个sub

cluster。接下来,分别计算(z

p)个sub

cluster对应的proxy特征与图片x
i
的特征之间的相似度,并
根据计算得到的相似度,对(z

p)个sub

cluster进行排序。基于该排序的结果,可从(z

p)个sub

cluster中,选取m个sub

cluster,并根据选取出的m个sub

cluster对应的proxy,得到第二特征集合q。该集合q可表示图片x
i
对应的负困难proxy集合。其中,m的取值可根据需求进行设置,例如m的取值可以为40、50、60或者其他数值,本实施例不做限制。
[0088]
确定第一特征集合以及第二特征集合后,可进行跨相机对比损失的计算。
[0089]
可选地,可计算该图片的特征与该第一特征集合中的第一代表特征的相似度,作为第三相似度,该第一代表特征对应的子聚类簇与该图片具有不同的相机标签。其中,第一代表特征,指的是第一特征集合中任意一个子聚类簇的代表特征,此处采用“第一”进行限定,仅用于方便描述和区分,并不对代表特征的顺序构成任何限制。
[0090]
接下来,分别计算该图片的特征与该第一特征集合中的多个代表特征各自的相似度,得到多个第四相似度;分别计算该图片的特征与该第二特征集合中的多个代表特征各自的相似度,得到多个第五相似度。接下来,计算该多个第四相似度和该多个第五相似度的累加值,并根据该第三相似度的和该累加值的比值,确定该图片与该第一代表特征对应的子聚类簇的跨相机对比损失。
[0091]
同理,可分别计算该图片与第一特征集合中的每个代表特征对应的子聚类簇的跨相机对比损失,并根据该图片与第一特征集合中的多个代表特征各自对应的子聚类簇的跨相机对比损失,确定该图片的跨相机对比损失。例如,可累加计算该图片与第一特征集合中的多个代表特征各自对应的子聚类簇的跨相机对比损失,得到该图片的跨相机对比损失。
[0092]
可选地,跨相机对比损失函数l
inter
的计算公式可如以下公式2所示:
[0093][0094]
在公式2中,s(p,x
i
)=exp(k[p]
t
f(x
i
)/τ),表示图片x
i
与有相同聚类标签的sub

cluster对应的proxy特征的相似度。即,p∈p,s(p,x
i
)为第三相似度。当p≠j时,s(p,x
i
)=exp(k[p]
t
f(x
i
)/τ),表示图片x
i
与有相同聚类标签、但具有不同相机标签的sub

cluster对应的proxy特征的相似度,即同一cluster内的跨相机相似度。其中,|p|表示集合p的大小,n

表示mini

batch中的图片的数量。
[0095]
分子项中,s(u,x
i
)表示图片x
i
与集合p中的proxy特征的相似度,即第四相似度;u∈p时,得到多个第四相似度。∑
u∈p
s(u,x
i
),表示图片x
i
与集合p中的proxy特征的相似度的累加值,即多个第四相似度的累加值。s(q,x
i
)表示图片x
i
与集合p中的proxy特征的相似度,即第五相似度;q∈q,∑
q∈q s(q,x
i
),表示图片x
i
与集合q中的proxy特征的相似度的累加值,即多个第五相似度的累加值。
[0096]
基于上述公式2,可计算基于特征进行聚类时的类内跨相机对比损失,可在后续训练过程中,优化这种类内跨相机对比损失,降低聚类所得cluster中由相机差异性带来的类内差异,提升神经网络模型的性能。
[0097]
在又一些实施例中,可分别计算相机内对比损失和跨相机对比损失,根据相机内对比损失和跨相机对比损失的构造联合损失,并基于联合损失对神经网络模型进行训练。
[0098]
在这种实施方式中,神经网络模型的总体的损失函数可通过以下公式3进行计算:
[0099]
l=l
intra
λl
inter
ꢀꢀꢀ
公式3
[0100]
公式3中,λ为加权系数,实际网络训练时取值为0.5、0.4或者其他可选的值。
[0101]
基于上述各实施方式记载的损失函数,计算得到的神经网络模型的损失后,可采用梯度反向传播来更新神经网络模型的网络参数。其中,该网络参数可包括神经网络模型中用于执行特征提取操作的网络的参数(例如前述实施例记载的resnet

50),不再赘述。
[0102]
值得说明的是,在本技术的上述各实施例中,proxy memory bank中的proxy,在基于每个mini

batch进行训练时,可不断地进行更新。
[0103]
以下将继续以第一子聚类为例进行示例性说明。每次确定图片所属的第一子聚类簇的代表特征之后,可根据该图片的特征、设定的更新速率以及第一子聚类簇的代表特征,对第一子聚类簇的代表特征进行更新。即,根据图片以及图片当前对应的在聚类簇的proxy,对该子聚类簇当前对应的proxy进行更新,得到新的proxy。可选地,proxy的更新算法可参考以下公式4所示:
[0104]
k[j]

μk[j] (1

μ)f
θ
(x
i
)
ꢀꢀꢀ
公式4
[0105]
公式4中,f
θ
表示参数为θ的神经网络模型,f
θ
(x
i
)表示神经网络模型对图片x
i
进行特征提取得到的特征;箭头右侧的k[j]表示图片x
i
对应的sub

cluster当前的proxy,箭头左侧的k[j]表示图片x
i
对应的sub

cluster更新后的proxy。μ表示更新速率,在一些实施例中,μ的取值可以为0.2或者其他设定的值,本实施例不做限制。
[0106]
例如,从训练集中获取的批量训练集包括:mini

batcha以及mini

batchb。假设,mini

batcha包含来自sub

cluster1的图片1,mini

batchb包含来自sub

cluster1的图片2。
[0107]
在基于mini

batcha训练结束后,可采用图片1的特征和sub

cluster1当前对应的proxy1,来更新sub

cluster1当前的proxy1,得到proxy1`。当采用mini

batchb进行训练时,从proxy memory bank中查询到的图片2对应的代表特征为proxy1`。
[0108]
同理,在基于mini

batchb训练结束后,可采用图片2的特征和sub

cluster1当前对应的proxy1`,来更新sub

cluster1当前的proxy1`,得到proxy1``。
[0109]
又例如,假设mini

batcha包含n张来自sub

cluster1的图片。那么,在基于mini

batcha进行训练时,sub

cluster1对应的proxy会被更新n次。即,基于每张图片训练时,会基于该图片的特征以及sub

cluster1当前对应的proxy,对sub

cluster1当前对应的proxy进行更新,不再赘述。
[0110]
还需要说明的是,本技术实施例对神经网络模型的训练可包括多个轮次,直至神经网络模型的损失函数收敛到指定范围。其中一轮训练包括:一次特征提取操作、一次聚类操作、用设定大小的mini

batch对网络进行训练的操作以及基于梯度反向传播对模型参数进行优化操作。也就是说,当一轮训练完成之后,在进行下一轮训练时,可将训练集重新输入神经网络模型,并由神经网络模型基于更新后的网络参数,重新进行特征提取和聚类操作;基于聚类操作得到的多个聚类簇,可基于前述实施例记载的方式计算相机差异损失,并基于相机差异损失进行模型优化。在这种迭代训练的方式中,每轮迭代均对数据集进行重新聚类,因此,有效减轻了多轮迭代之间的误差累积的问题,提升训练得到的神经网络模型的性能。
[0111]
图4a为本技术另一示例性实施例提供的移动对象的重识别模型的训练方法的流程示意图,如图4a所示,该方法包括:
[0112]
步骤401a、响应客户端对指定接口的调用请求,获取接口参数包含的移动对象的
多张图片,作为训练集,所述多张图片分别标注有相机标签。
[0113]
步骤402a、将所述多张图片输入神经网络模型,得到所述多张图片各自的特征。
[0114]
步骤403a、根据所述多张图片各自的特征,对所述多张图片进行聚类操作,得到多个聚类簇。
[0115]
步骤404a、根据所述多个聚类簇各自包含的图片的特征,以及所述多个聚类簇各自包含的图片的相机标签,计算所述聚类操作的相机差异损失。
[0116]
步骤405a、利用所述多个聚类簇各自对应的相机差异损失,对所述神经网络模型进行迭代训练,得到重识别模型。
[0117]
步骤406a、将训练得到的所述重识别模型返回至所述客户端。
[0118]
本实施例的执行主体可以是服务端设备,例如常规服务器或者云服务器。其中,客户端可实现为用户侧的手机、计算机、平板电脑等设备。
[0119]
在本实施例中,可将前述各实施例提供的用于移动对象的重识别模型的训练方法,封装为可供第三方使用的软件工具,例如saas(software

as

a

service,软件即服务)工具。其中,该saas工具可实现为插件或者应用程序。该插件或者应用程序可以被部署在服务端设备上,并可向客户端等第三方用户开放指定的接口。进而,客户端等第三方用户可通过调用该指定接口,便捷地访问并使用服务端设备提供的重识别模型的训练方法。
[0120]
例如,在一些场景下,该saas工具可被部署在云服务器,第三方用户可调用云服务器提供的指定接口来在线使用该saas工具。其中,第三方用户调用该指定接口时,可通过配置该指定接口的接口参数,向saas工具提供训练移动对象的重识别模型所需的输入数据,即本实施例所述的多张图片。其中,每张图片上标注有相机标签,该相机标签可以是相机拍摄图片时自动添加的,或者可以是第三方用户添加的,或者,还可以是服务器根据图片对应的拍摄角度、机位等信息自动识别图片对应的相机并进行标注的,本实施例不做限制。
[0121]
saas工具接收到针对该指定接口的调用请求后,可通过解析该指定接口的接口参数,获取客户端提供的多张图片,作为训练集。saas工具基于训练集对神经网络模型进行优化并得到结果模型后,可通过该指定接口或者其他通信方式,将训练得到的结果模型返回至客户端,以供客户端基于该结果模型移动对象的重识别操作。其中,基于训练集迭代训练神经网络模型的可选实施方式,可参考前述实施例的记载,此处不再赘述。
[0122]
在本实施例中,服务端设备可基于其上运行的saas工具,向客户端提供用于移动对象的重识别模型的训练服务,客户端用户可通过调用saas工具提供的接口使用服务端设备提供的重识别模型的训练服务。基于客户端与服务端设备的交互,客户端可将重识别模型的训练操作完全交由服务端设备执行,进而,可借助服务端设备强大的计算能力和可靠的属性识别算法,实现低成本、高效率率的模型训练操作。
[0123]
基于前述实施例训练得到的神经网络模型,本技术实施例还提供一种移动对象的重识别方法,以下将结合附图4b以及图4c进行说明。
[0124]
图4b为本技术一示例性实施例提供的移动对象的重识别方法的流程示意图,如图4b所示,该方法包括:
[0125]
步骤401b、获取包含移动对象的待查询图片以及待检索图片库。
[0126]
步骤402b、将所述待查询图片和所述待检索图片库中的图片输入神经网络模型,得到所述待检索图片库中与所述待查询图片匹配的至少一张图片;其中,所述神经网络模
型,根据标注有相机标签的训练集,以及对训练集中的多张图片进行聚类操作产生的相机差异损失训练得到。
[0127]
其中,根据标注有相机标签的训练集以及对训练集中的多张图片进行聚类操作产生的相机差异损失,对神经网络模型进行训练的可选实施方式,可参考前述实施例的记载,此处不赘述。
[0128]
在本实施例中,将待查询图片和待检索图片库输入神经网络模型后,神经网络模型可基于预先学习到的网络参数,分别对待查询图片和待检索图片库中的每张图片提取特征,得到待查询图片的特征,以及待检索图片库中的每张图片的特征,如图4c所示。
[0129]
接下来,可计算待查询图片的特征和待检索图片库中的每张图片的特征的相似度。其中,该相似度可以为余弦相似度、欧几里得距离相似度或者曼哈顿距离相似度等等,本实施例不做限制。
[0130]
在计算得到的相似度后,可按照相似度大小对待检索图片库中的图片进行排序,并选取排序靠前的多张图片(topn)作为检索结果,不再赘述。
[0131]
图5为本技术另一示例性实施例提供的移动对象的重识别方法的流程示意图,如图5所示,该方法包括:
[0132]
步骤501、展示第一界面,所述第一界面包括:图片添加控件。
[0133]
步骤502、响应对所述图片添加控件的触发操作,获取包含移动对象的待查询图片。
[0134]
步骤503、将所述待查询图片以及待检索图片库中的图片输入神经网络模型;所述神经网络模型,根据标注有相机标签的训练集,以及对训练集中的多张图片进行聚类操作产生的相机差异损失训练得到。
[0135]
步骤504、获取所述神经网络模型输出的所述待检索图片库中与所述待查询图片匹配的至少一张图片。
[0136]
步骤505、在第二界面中,展示所述至少一张图片。本实施例可由终端设备执行,该终端设备可以实现为计算机、手机或者平板电脑等用户侧设备。该终端设备上部署有神经网络模型,该神经网络模型用于实现移动对象的重识别。
[0137]
其中,根据标注有相机标签的训练集以及对训练集中的多张图片进行聚类操作产生的相机差异损失,对神经网络模型进行训练的可选实施方式,可参考前述实施例的记载,此处不赘述。
[0138]
其中,终端设备可提供一操作界面,供用户上传待查询图片。为便于描述和区分,将提供图片上传操作的界面描述为第一界面。第一界面上包含一图片添加控件。用户可触发该图片添加控件,上传待查询图片。
[0139]
其中,待查询图片可以是采用某一相机对移动对象进行拍摄得到的,该移动对象可以是行人、车辆或者动物等等,本实施例不做限制。
[0140]
其中,待检索图片库,包括多个相机对不同移动对象进行拍摄得到的图像。该待检索图片库,可由用户指定,也可由终端设备向服务器请求获取,本实施例不做限制。
[0141]
在获取到待查询图片后,终端设备将待查询图片以及待检索图片库中的图片输入神经网络模型,并获取神经网络模型从待检索图片库中查询到的与该待查询图片匹配的至少一张图片。
[0142]
接下来,终端设备可在第二界面中,展示该至少一张图片。其中,该第二界面,与第一界面可以是同一界面,也可以是不同界面,本实施例不做限制。
[0143]
需要说明的是,上述实施例所提供方法的各步骤的执行主体均可以是同一设备,或者,该方法也由不同设备作为执行主体。比如,步骤101至步骤104的执行主体可以为设备a;又比如,步骤101和102的执行主体可以为设备a,步骤103的执行主体可以为设备b;等等。
[0144]
另外,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如101、102等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。
[0145]
需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
[0146]
图6是本技术一示例性实施例提供的电子设备的结构示意图,如图6所示,该电子设备包括:存储器601以及处理器602。
[0147]
存储器601,用于存储计算机程序,并可被配置为存储其它各种数据以支持在电子设备上的操作。这些数据的示例包括用于在电子设备上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。
[0148]
其中,存储器602可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。
[0149]
处理器602,与存储器601耦合,用于执行存储器601中的计算机程序,以用于:获取包含移动对象的多张图片,作为训练集,所述多张图片分别标注有相机标签;将所述多张图片输入神经网络模型,得到所述多张图片各自的特征;根据所述多张图片各自的特征,对所述多张图片进行聚类操作,得到多个聚类簇;根据所述多个聚类簇各自包含的图片的特征,以及所述多个聚类簇各自包含的图片的相机标签,计算所述聚类操作的相机差异损失;利用所述多个聚类簇各自对应的相机差异损失,对所述神经网络模型进行优化。
[0150]
进一步可选地,处理器602在根据所述多个聚类簇各自包含的图片的特征,以及所述多个聚类簇各自包含的图片的相机标签,计算所述聚类操作的相机差异损失时,具体用于:针对所述多个聚类簇中的第一聚类簇,根据所述第一聚类簇中的图片上标注的相机标签,对所述第一聚类簇中的图片进行划分,得到多个子聚类簇;所述多个子聚类簇对应不同的相机标签;根据所述多个子聚类簇各自包含的图片的特征,确定所述多个子聚类簇各自的代表特征的初始值;从所述训练集中选取多个批量训练集,每个批量训练集包含第一数量的图片;针对所述多个批量训练集中的任一批量训练集,基于所述批量训练集中的图片的特征以及与图片具有相同相机标签的至少一个子聚类簇的代表特征,计算同相机内对比损失;和/或,基于所述批量训练集中的图片的特征和所述多个聚类簇包含的至少一个子聚类簇各自的代表特征,计算跨相机对比损失。
[0151]
进一步可选地,处理器602在基于所述批量训练集中的图片的特征以及与图片具有相同相机标签的至少一个子聚类簇的代表特征,计算同相机内对比损失时,具体用于:针
对所述批量训练集中的任一图片,确定所述图片所属的第一子聚类簇的代表特征以及与所述图片具有相同相机标签的至少一个第二子聚类簇各自的代表特征;计算所述图片的特征与所述第一子聚类簇的代表特征的相似度,作为第一相似度;分别计算所述图片的特征与所述至少一个第二子聚类簇各自的代表特征的相似度,得到至少一个第二相似度;计算所述至少一个第二相似度的累加值,并根据所述第一相似度和所述累加值的比值,确定所述图片对应的相机内对比损失。
[0152]
进一步可选地,处理器602在确定所述图片所属的第一子聚类簇的代表特征之后,还用于:根据所述图片的特征、设定的更新速率以及所述第一子聚类簇的代表特征,对所述第一子聚类簇的代表特征进行更新。
[0153]
进一步可选地,处理器602在基于所述批量训练集中的图片的特征和所述多个聚类簇包含的至少一个子聚类簇各自的代表特征,计算跨相机对比损失时,具体用于:针对所述批量训练集中的任一图片,确定所述图片所属的聚类簇包含的多个子聚类簇各自的代表特征,作为第一特征集合;从所述多个聚类簇各自包含的子聚类簇中,选取不包含所述图片的聚类簇的子聚类簇的代表特征,作为第二特征集合;计算所述图片的特征与所述第一特征集合中的第一代表特征的相似度,作为第三相似度,所述第一代表特征为所述第一特征集合中的任一代表特征;分别计算所述图片的特征与所述第一特征集合中的多个代表特征各自的相似度,得到多个第四相似度;分别计算所述图片的特征与所述第二特征集合中的多个代表特征各自的相似度,得到多个第五相似度;计算所述多个第四相似度和所述多个第五相似度的累加值,并根据所述第三相似度的和所述累加值的比值,确定所述图片与所述第一代表特征对应的子聚类簇的跨相机对比损失;根据所述图片与所述第一特征集合中的多个代表特征各自对应的子聚类簇的跨相机对比损失,确定所述图片的跨相机对比损失。
[0154]
进一步可选地,处理器602在从所述多个聚类簇各自包含的子聚类簇中,选取不包含所述图片的聚类簇的子聚类簇的代表特征,作为第二特征集合时,具体用于:确定所述训练集对应的所有子聚类簇各自的代表特征;从所述所有子聚类簇各自的代表特征中,确定除所述第一特征集合之外的其他代表特征;分别计算所述其他代表特征与所述图片的特征的相似度;根据所述其他代表特征与所述图片的特征的相似度,对所述其他代表特征进行排序;根据所述排序的结果,从所述其他代表特征中选取第二数量个代表特征,作为所述第二特征集合。
[0155]
进一步可选地,处理器602还用于:对所述多个聚类簇,分别设置聚类伪标签;对所述多个聚类簇各自划分得到的多个子聚类簇,分别设置局部伪标签;根据所述聚类伪标签以及所述局部伪标签,为所述训练集包含的所有子聚类簇的代表特征设置查询索引;其中,所述查询索引,用于查询所述批量训练集中的图片所属的子聚类簇的代表特征,和/或,用于查询所述批量训练集中的图片所属的聚类簇包含的多个子聚类簇各自的代表特征。
[0156]
进一步,如图6所示,该电子设备还包括:通信组件603、显示组件604、电源组件605、音频组件606等其它组件。图6中仅示意性给出部分组件,并不意味着电子设备只包括图6所示组件。
[0157]
其中,通信组件603被配置为便于通信组件所在设备和其他设备之间有线或无线方式的通信。通信组件所在设备可以接入基于通信标准的无线网络,如wifi,2g、3g、4g或
5g,或它们的组合。在一个示例性实施例中,通信组件经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件可基于近场通信(nfc)技术、射频识别(rfid)技术、红外数据协会(irda)技术、超宽带(uwb)技术、蓝牙(bt)技术和其他技术来实现。
[0158]
其中,显示器604包括屏幕,其屏幕可以包括液晶显示器(lcd)和触摸面板(tp)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。
[0159]
其中,电源组件605,为电源组件所在设备的各种组件提供电力。电源组件可以包括电源管理系统,一个或多个电源,及其他与为电源组件所在设备生成、管理和分配电力相关联的组件。
[0160]
本实施例中,在训练用于对移动对象进行重识别的模型时,无需借助标注有移动对象的真值的训练集,只需要对神经网络模型进行端到端训练,在实际应用上更具优势;同时,训练集中的图片上标注有相机标签,基于图片的特征聚类得到聚类簇后,可根据每个聚类簇包含的图片的特征以及相机标签,计算聚类操作产生的相机差异损失,并基于相机差异损失对神经网络模型进行优化。进而,可在训练神经网络模型时,充分考虑相机差异产生的影响,促进神经网络模型聚类得到的聚类簇的语义一致性,优化了神经网络模型对目标数据集的识别能力,提升神经网络模型在移动对象的重识别应用场景中的性能。
[0161]
除前述实施例之外,图6所示的电子设备还可执行如下的移动对象的重识别模型的训练方法:通过处理器602响应客户端对指定接口的调用请求,获取接口参数包含的移动对象的多张图片,作为训练集,所述多张图片分别标注有相机标签;将所述多张图片输入神经网络模型,得到所述多张图片各自的特征;根据所述多张图片各自的特征,对所述多张图片进行聚类操作,得到多个聚类簇;根据所述多个聚类簇各自包含的图片的特征,以及所述多个聚类簇各自包含的图片的相机标签,计算所述聚类操作的相机差异损失;利用所述多个聚类簇各自对应的相机差异损失,对所述神经网络模型进行迭代训练,得到重识别模型;将训练得到的所述重识别模型返回至所述客户端。
[0162]
除前述实施例之外,图6所示的电子设备还可执行如下的移动对象的重识别方法:通过处理器602获取包含移动对象的待查询图片以及待检索图片库;将所述待查询图片和所述待检索图片库中的图片输入神经网络模型,得到所述待检索图片库中与所述待查询图片匹配的至少一张图片;其中,所述神经网络模型,根据标注有相机标签的训练集,以及对训练集中的多张图片进行聚类操作产生的相机差异损失训练得到。
[0163]
除前述实施例之外,图6所示的电子设备还可执行如下的移动对象的重识别方法:通过显示组件604展示第一界面,所述第一界面包括:图片添加控件;处理器602响应对所述图片添加控件的触发操作,获取包含移动对象的待查询图片;将所述待查询图片以及待检索图片库中的图片输入神经网络模型;所述神经网络模型,根据标注有相机标签的训练集,以及对训练集中的多张图片进行聚类操作产生的相机差异损失训练得到;获取所述神经网络模型输出的所述待检索图片库中与所述待查询图片匹配的至少一张图片;通过显示组件604在第二界面中,展示所述至少一张图片。
[0164]
相应地,本技术实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被执行时能够实现上述方法实施例中可由电子设备执行的各步骤。
[0165]
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd

rom、光学存储器等)上实施的计算机程序产品的形式。
[0166]
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0167]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0168]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0169]
在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
[0170]
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
[0171]
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd

rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0172]
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
[0173]
以上所述仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。
再多了解一些

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

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

相关文献