目标重识别模型的训练方法以及目标重识别方法和装置与流程

文档序号:23754031发布日期:2021-01-29 14:58阅读:137来源:国知局
目标重识别模型的训练方法以及目标重识别方法和装置与流程

[0001]
本公开涉及计算机技术领域,特别涉及一种目标重识别模型的训练方法以及目标重识别方法和装置。


背景技术:

[0002]
目标重识别(也称再识别)技术,是利用计算机视觉技术判断图像或者视频序列中是否存在特定目标的技术,目标例如可以是行人等。
[0003]
在一些相关技术中,利用待重识别图像的整体特征与每个候选图像的整体特征进行比对,以识别出该待重识别图像中的目标是哪个候选图像中的目标。


技术实现要素:

[0004]
发明人发现,由于拍摄范围受限或遮挡等原因,使得实际拍摄的待重识别图像中的目标仅有一部分,而候选图像中的目标往往是理想情况下的完整目标,因此,相关技术在利用待重识别图像的整体特征与候选图像的整体特征的匹配度进行目标识别时,会出现待重识别图像与实际属于同一目标的候选图像之间的匹配度比较低的情况,由此导致目标重识别的准确率较低。
[0005]
为此,本公开实施例提供一种能够提高目标重识别准确率的目标重识别模型的训练方法和基于目标重识别模型实现的目标重识别方法。
[0006]
在本公开的实施例中,利用训练图像的各个局部区域所对应的空域特征所构成的空域特征矩阵对全卷积神经网络进行训练,并根据损失函数来优化全卷积神经网络,得到目标重识别模型,以用于对待识别图像进行基于局部特征的目标重识别。在目标重识别时,利用目标重识别模型可以获取待识别图像的各个局部区域所对应的空域特征所构成的空域特征矩阵,利用待识别图像的每个空域特征(即局部特征)去匹配候选图像的各个空域特征,再根据待识别图像的所有空域特征与候选图像的匹配度综合确定待识别图像与候选图像的匹配度,在待识别图像中的目标仅有一部分的情况下,依然能够识别出该目标,从而提高了目标重识别的准确率。
[0007]
根据本公开的一些实施例,提供一种目标重识别模型的训练方法,其特征在于,包括:
[0008]
将多个训练图像输入到全卷积神经网络中,其中,所述多个训练图像包括多个目标,每个目标对应多张训练图像;
[0009]
根据所述全卷积神经网络获取每个训练图像的各个局部区域所对应的空域特征所构成的空域特征矩阵;
[0010]
针对每个训练图像:将所述训练图像作为第一元组;将与所述训练图像的目标相同且距离最远的训练图像作为第二元组;将与所述训练图像的目标不同且距离最近的训练图像作为第三元组;
[0011]
根据所述第一元组的空域特征矩阵与所述第二元组对应的空域特征矩阵之间的
距离之和,以及所述第一元组的空域特征矩阵与所述第三元组对应的空域特征矩阵之间的距离之和,确定每个所述训练图像的第一损失;
[0012]
根据所有训练图像对应的所述第一损失之和,确定总损失;
[0013]
基于所述总损失计算的梯度更新所述全卷积神经网络;
[0014]
当满足预设的终止条件时,所述全卷积神经网络训练完成,训练完成的所述全卷积神经网络作为所述目标识别模型。
[0015]
在一些实施例中,还包括:
[0016]
根据所述全卷积神经网络获取所述训练图像的预测的第一矩阵;
[0017]
根据所述训练图像的预测的第一矩阵与真实的第一矩阵确定每个所述训练图像的第二损失,所述第一矩阵中的每个元素表示所述训练图像所对应的空域特征矩阵中的相应空域特征属于前景标签的概率;
[0018]
其中,所述确定总损失包括:根据所有训练图像分别对应的所述第一损失之和以及所述第二损失之和,确定总损失。
[0019]
在一些实施例中,还包括:
[0020]
根据所述全卷积神经网络获取所述训练图像的预测的第二矩阵;
[0021]
根据所述训练图像的预测的第二矩阵与真实的第二矩阵确定每个训练图像对应的第三损失,所述第二矩阵中的每个元素表示所述训练图像所对应的空域特征矩阵中的相应空域特征属于前景的姿态的概率;
[0022]
其中,所述确定总损失包括:根据所有训练图像分别对应的所述第一损失之和、所述第二损失之和以及所述第三损失之和,确定总损失。
[0023]
在一些实施例中,确定总损失包括:
[0024]
为所述第一损失、所述第二损失和所述第三损失分别设置一个权重,其中,所述第三损失的权重分别大于所述第一损失的权重和所述第二损失的权重;
[0025]
利用设置的权重对所述第一损失、所述第二损失和所述第三损失进行加权求和,得到所述总损失。
[0026]
在一些实施例中,所述真实的第一矩阵通过将所述训练图像输入到语义分割网络模型中得到。
[0027]
在一些实施例中,所述预测的第二矩阵根据全卷积神经网络的用于姿态估计的多个卷积层得到,其中,每个卷积层被配置为对所述训练图像中的前景的一个姿态关键点进行姿态估计。
[0028]
在一些实施例中,所述真实的第二矩阵通过将所述训练图像输入到姿态估计模型中得到。
[0029]
在一些实施例中,所述确定每个训练图像对应的第二损失包括:
[0030]
计算所述训练图像的预测的第一矩阵与真实的第一矩阵的二范数,将所述二范数作为所述第二损失。
[0031]
在一些实施例中,所述确定每个训练图像对应的第三损失包括:
[0032]
计算所述训练图像的预测的第二矩阵与真实的第二矩阵的二范数,将所述二范数作为所述第三损失。
[0033]
根据本公开的另一些实施例,提供一种基于任一实施例所述的训练方法训练得到
的目标重识别模型的目标重识别方法,其特征在于,包括:
[0034]
将待识别图像输入到所述目标重识别模型中;
[0035]
根据所述目标重识别模型获取所述待识别图像的各个局部区域所对应的空域特征所构成的空域特征矩阵;
[0036]
根据所述待识别图像对应的空域特征矩阵中的每个空域特征与候选图像的空域特征矩阵中最相似的空域特征之间的局部距离,确定所述待识别图像的所有空域特征对应的局部距离矩阵;
[0037]
根据所述待识别图像对应的局部距离矩阵中的所有元素之和,确定所述待识别图像与所述候选图像之间的匹配度;
[0038]
如果所述匹配度达到预设匹配度,确定所述待识别图像中的目标为所述候选图像中的目标。
[0039]
在一些实施例中,还包括:
[0040]
根据所述目标重识别模型获取所述待识别图像的第一矩阵,所述第一矩阵中的每个元素表示所述待识别图像中的每个空域特征属于前景标签的概率;
[0041]
其中,所述确定所述待识别图像与所述候选图像之间的匹配度包括:根据所述待识别图像的局部距离矩阵中的每个元素与对应的第一矩阵中的相应元素的乘积之和,确定所述待识别图像与所述候选图像之间的匹配度。
[0042]
在一些实施例中,还包括:
[0043]
根据所述目标重识别模型获取所述待识别图像的第二矩阵,所述第二矩阵中的每个元素表示所述待识别图像中的每个空域特征属于前景的姿态的概率;
[0044]
计算所述第一矩阵的每个元素与所述第二矩阵的相应元素的平均值,得到第三矩阵;
[0045]
其中,所述确定所述待识别图像与所述候选图像之间的匹配度包括:根据所述待识别图像的局部距离矩阵中的每个元素与对应的第三矩阵中的相应元素的乘积之和,确定所述待识别图像与所述候选图像之间的匹配度。
[0046]
在一些实施例中,目标重识别模型基于任一实施例所述的目标重识别模型的训练方法得到。
[0047]
根据本公开的又一些实施例,提供一种电子装置,其特征在于,包括:存储器;以及耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行任一实施例所述的目标重识别模型的训练方法,和/或,执行任一实施例所述的目标重识别方法。
[0048]
根据本公开的又再一些实施例,提供一种非瞬时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现任一实施例所述的目标重识别模型的训练方法,和/或,任一实施例所述的目标重识别方法。
附图说明
[0049]
下面将对实施例或相关技术描述中所需要使用的附图作简单的介绍。根据下面参照附图的详细描述,可以更加清楚地理解本公开。
[0050]
显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技
术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0051]
图1示出根据本公开的一些实施例的目标重识别模型的训练方法的流程示意图。
[0052]
图2示出根据本公开的另一些实施例的目标重识别模型的训练方法的流程示意图。
[0053]
图3示出根据本公开的又一些实施例的目标重识别模型的训练方法的流程示意图。
[0054]
图4示出根据本公开的一些实施例的目标重识别方法的流程示意图。
[0055]
图5示出根据本公开的另一些实施例的目标重识别方法的流程示意图。
[0056]
图6示出根据本公开的又一些实施例的目标重识别方法的流程示意图。
[0057]
图7示出根据本公开的一些实施例的目标重识别方法的示意图。
[0058]
图8示出根据本公开的一些实施例的电子装置的示意图。
[0059]
图9示出根据本公开的另一些实施例的电子装置的示意图。
具体实施方式
[0060]
下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述。
[0061]
图1示出根据本公开的一些实施例的目标重识别模型的训练方法的流程示意图。该实施例中的方法例如可以由电子装置执行。
[0062]
如图1所示,该实施例的方法包括步骤101-107。
[0063]
在步骤101,将多个训练图像输入到全卷积神经网络中,其中,多个训练图像包括多个目标的训练图像,每个目标对应多张训练图像。
[0064]
例如,去掉传统神经网络中的全连接层,得到一个只具有卷积层的神经网络,即全卷积神经网络。卷积层以一种滑窗的方式来处理图像,可以处理任意尺寸的输入图像,并根据输入图像的尺寸的不同而产生大小可变的输出。由此,通过全卷积网络不仅可以提取不同尺寸大小的图像的特征,还可以保持图像不被压缩而产生形变,提高图像特征表达的准确性。
[0065]
在一些实施例中,其中的目标例如包括行人、动物、物体等。当目标为行人时,输入的训练图像包括多个行人,每个行人对应有多张训练图像。
[0066]
在步骤102,根据全卷积神经网络获取每个训练图像的各个局部区域所对应的空域特征所构成的空域特征矩阵。
[0067]
在一些实施例中,根据全卷积神经网络获取训练图像的空域特征矩阵。例如,首先,根据全卷积神经网络获取每个训练图像对应的空域特征图,例如,将训练图像的空域特征图表示为x∈r
w
×
h
×
t
,其中,w,h和t分别表示空域特征图x的宽度、高度和通道数目。其中,通道数目指每个空域特征的维度。然后,根据每个训练图像对应的空域特征图,对空域特征图中的空域特征进行重组,得到该训练图像的多个局部区域分别对应的空域特征构成的空域特征矩阵。例如,将训练图像的空域特征矩阵表示为x∈r
n
×
t
,其中,n=w
×
h,n表示空域特征矩阵所包括的空域特征的个数,t表示每个空域特征的维度(也称为通道数目)。
[0068]
例如,将训练图像的空域特征矩阵x表示为x∈r
w
×
h
×
t
,其中,r表示特征空间。w,h和t分别表示空域特征x的宽度、高度和通道数目。其中,通道数指训练图像的特征的维度。
[0069]
在步骤103,确定每个训练图像对应的三元组。
[0070]
针对每个训练图像,将该训练图像作为第一元组;将与该训练图像的目标相同且距离最远的训练图像作为第二元组;将与该训练图像的目标不同且距离最近的训练图像作为第三元组。其中,计算图像之间的距离的方法例如可以是计算两个图像分别对应的空域特征矩阵之间的距离,其中的距离例如可以是欧式距离。
[0071]
例如,如果训练图像中的目标是行人,第一元组是id(identity document,身份证标识号)为i的行人的图像a,二元组表示id为i但跟行人图像a距离最远(即最不相似)的行人图像,第三元组表示id不为i但跟行人图像a距离最近(即最相似)的行人图像。
[0072]
在步骤104,根据每个训练图像对应的三元组确定每个训练对象对应的第一损失。
[0073]
例如,根据第一元组的空域特征矩阵与第二元组对应的空域特征矩阵之间的距离之和,以及第一元组的空域特征矩阵与第三元组对应的空域特征矩阵之间的距离之和,确定每个训练图像的第一损失。
[0074]
假设用于训练的图像包括p个目标,每个目标包括k张训练图像,即形成包含kp(即,k
×
p)张训练图像的样本集合。例如,将某一个第一元组的目标为i(1≤i≤p)的训练图像a所对应的空域特征矩阵表示为将与训练图像a为同一目标的训练图像所对应的空域特征矩阵表示为将与训练图像a为不同目标的训练图像所对应的空域特征表示为
[0075]
然后,计算训练图像a所对应的空域特征矩阵和与训练图像a为同一目标的训练图像所对应的空域特征矩阵之间的距离,例如表示为计算训练图像a所对应的空域特征矩阵和与训练图像a为不同目标的训练图像所对应的空域特征矩阵之间的距离,例如表示为利用第一损失进行训练的目的是希望每个训练图像与同一个目标的所有正样本图像的距离靠近,与非同一个目标的所有负样本图像的距离拉远。对于训练图像a,可以利用公式d
ap
+m<d
an
,以实现上述目的,其中,m是表示边界约束的预设参数。
[0076]
接着,对包含kp张训练图像的样本集合里面的每一张训练图像,计算第一损失。例如,针对训练图像a进行第一损失的计算,训练图像a的第一损失可以表示为,与训练图像a中的目标为同一目标的最不相似的训练图像(即最难的正样本)的距离,以及与训练图像a中的目标为不同目标的最相似的训练图像(即最难的负样本)的距离之间的差值。例如,可以采用如下所示的第一损失函数公式:
[0077][0078]
其中,max表示求最大值,min表示求最小值。d
ap
表示训练图像a和离与训练图像a为同一目标的训练图像所对应的空域特征矩阵之间的距离,d
an
表示训练图像a和与训练图像a为不同目标的训练图像所对应的空域特征矩阵之间的距。m是表示边界约束的预设参数。
[0079]
在步骤105,根据所有训练图像对应的第一损失之和,确定总损失。
[0080]
根据步骤104得到的每个训练图像的第一损失,将所有训练图像对应的第一损失
值进行求和,得到总损失。计算总损失的函数公式如下所示:
[0081][0082]
其中,p表示用于训练的图像包括p个目标,k表示每个目标包括k张训练图像,i(1≤i≤p)表示第i个目标,j(1≤j≤p,j≠i)表示第j个目标。d
ap
表示某一训练图像与同一目标的其他训练图像之间的距离,其中的p(1≤p≤k)表示其他训练图像的编号。d
an
表示某一训练图像与不同目标的其他训练图像之间的距离,其中的n(1≤n≤k)表示其他训练图像的编号。m是表示边界约束的预设参数。
[0083]
在步骤106,基于总损失计算的梯度更新全卷积神经网络。
[0084]
在一些实施例中,基于总损失计算的梯度更新全卷积神经网络中的参数,然后利用更新后的全卷积神经网络再一次进行训练,计算新的总损失,基于新的总损失计算梯度再次更新全卷积神经网络,重复上述步骤。
[0085]
在步骤107,当满足预设的终止条件时,全卷积神经网络训练完成,训练完成的全卷积神经网络作为目标识别模型。
[0086]
其中,预设的终止条件例如可以是总损失低于预设阈值,或者,更新全卷积神经网络的次数达到预设次数等。
[0087]
上述实施例中,利用训练图像的各个局部区域所对应的空域特征所构成的空域特征矩阵对全卷积神经网络进行训练,得到目标识别模型,使得目标识别模型能够输出图像的各个局部区域所对应的空域特征(即局部特征)所构成的空域特征矩阵,改进了图像的特征表征方式,以便于对待识别图像进行基于局部特征的目标重识别。
[0088]
图2示出根据本公开的另一些实施例的目标重识别模型的训练方法的流程示意图。该实施例中的方法例如可以由电子装置执行。
[0089]
如图2所示,该实施例的方法包括步骤201-208。
[0090]
在步骤201,将多个训练图像输入到全卷积神经网络中,其中,多个训练图像包括多个目标,每个目标对应多张训练图像。
[0091]
其中的目标例如包括行人、动物、物体等。
[0092]
在步骤202,根据全卷积神经网络获取每个训练图像的各个局部区域所对应的空域特征所构成的空域特征矩阵。
[0093]
获取空域特征矩阵的方法例如可以参考步骤102中的方法进行,此处不再赘述。
[0094]
在步骤203,确定每个训练图像对应的三元组。
[0095]
针对每个训练图像,将某一训练图像作为第一元组,将与该训练图像的目标相同且距离最远的训练图像作为第二元组,将与该训练图像的目标不同且距离最近的训练图像作为第三元组。
[0096]
确定三元组的方法例如可以参考步骤103中的方法进行,此处不再赘述。
[0097]
在步骤204,根据每个训练图像对应的三元组确定每个训练对象对应的第一损失。
[0098]
根据第一元组的空域特征矩阵与第二元组对应的空域特征矩阵之间的距离之和,以及第一元组的空域特征矩阵与第三元组对应的空域特征矩阵之间的距离之和,确定每个训练图像的第一损失。
[0099]
确定第一损失的方法例如可以参考步骤104中的方法进行,此处不再赘述。
[0100]
在步骤205,确定每个训练对象对应的第二损失。
[0101]
首先,根据全卷积神经网络获取训练图像的预测的第一矩阵,然后,根据训练图像的预测的第一矩阵与真实的第一矩阵确定每个训练图像的第二损失,其中,第一矩阵中的每个元素表示训练图像所对应的空域特征矩阵中的相应空域特征属于前景标签的概率。
[0102]
下面分别对预测的第一矩阵和真实的第一矩阵的获取方法进行描述。
[0103]
预测的第一矩阵通过全卷积神经网络的一个卷积层获取得到。例如将预测得到的第一矩阵表示为m


[0104]
真实的第一矩阵通过将训练图像输入到语义分割模型中得到。假设训练图像对应的空域特征矩阵表示为其中,n为空域特征矩阵中的空域特征的个数。在一些实施例中,获取真实的第一矩阵的方法例如可以是,首先,利用语义分割模型得到目标的语义分割图像,然后,通过语义分割图像得到对应的背景标签和前景标签信息。例如,空域特征x
n
对应的语义分割图像的区域定义为p
n
,计算p
n
的平均值以获得空域特征x
n
对应的前景标签的概率m
n
:
[0105][0106]
其中,w,h是语义分割子图像p
n
的宽和高,前景标签的概率满足0<m
n
<1。对于训练图像所对应的所有的空域特征,可以得到所有空域特征对应的前景标签概率表示为即真实的第一矩阵为其中0<m
n
<1。
[0107]
在一些实施例中,计算训练图像的预测的第一矩阵与真实的第一矩阵的二范数,将二范数作为第二损失。根据真实的第一矩阵m和预测的第一矩阵m

,第二损失函数可以定义为:
[0108]
l2=||m-m

||2[0109]
其中,||||2表示二范数计算。
[0110]
利用第一矩阵将目标的前景标签的概率进行表征,可以通过增加属于前景标签的特征的权重,以及削弱背景特征对整体特征表达的影响,避免空域特征被背景特征所干扰,提高了图像特征表达的准确性,从而提高目标重识别模型的准确性,提高目标重识别模型的性能。
[0111]
在步骤206,根据所有训练图像分别对应的第一损失之和以及第二损失之和,确定总损失。
[0112]
假设一个训练图像的第一损失表示为l1,一个训练图像的第二损失表示为l2,则总损失可以利用如下总损失函数得到:
[0113][0114]
其中,p表示用于训练的图像包括p个目标,k表示每个目标对应k张训练图像。表示目标为i(1≤i≤p)的训练图像中的第a(1≤a≤k)个训练图像所对应的空域特征矩阵。
[0115]
在步骤207,基于总损失计算的梯度更新全卷积神经网络。
[0116]
基于总损失计算的梯度更新全卷积神经网络的方法例如可以参考步骤106,此处不再赘述。
[0117]
在步骤208,当满足预设的终止条件时,全卷积神经网络训练完成,训练完成的全卷积神经网络作为目标识别模型。
[0118]
其中,预设的终止条件例如可以是总损失低于预设阈值,或者,更新全卷积神经网络的次数达到预设次数等。
[0119]
上述实施例中,利用每个空域特征对应的前景标签的概率来进一步提高训练图像的特征表达的准确性,通过第一矩阵增加属于前景标签的特征的权重,来提高特征表达的准确性,从而提高目标重识别模型的准确性,提高目标重识别的性能。
[0120]
图3示出根据本公开的又一些实施例的目标重识别模型的训练方法的流程示意图。该实施例中的方法例如可以由电子装置执行。
[0121]
如图3所示,该实施例的方法包括步骤301-309。
[0122]
在步骤301,将多个训练图像输入到全卷积神经网络中,其中,多个训练图像包括多个目标,每个目标对应多张训练图像。
[0123]
其中的目标例如包括行人、动物等。
[0124]
在步骤302,根据全卷积神经网络获取每个训练图像的各个局部区域所对应的空域特征所构成的空域特征矩阵。
[0125]
获取空域特征矩阵的方法例如可以参考步骤102中的方法进行,此处不再赘述。
[0126]
在步骤303,确定每个训练图像对应的三元组。
[0127]
针对每个训练图像,将某一训练图像作为第一元组;将与该训练图像的目标相同且距离最远的训练图像作为第二元组,将与该训练图像的目标不同且距离最近的训练图像作为第三元组。
[0128]
确定三元组的方法例如可以参考步骤103中的方法进行,此处不再赘述。
[0129]
在步骤304,根据每个训练图像对应的三元组确定每个训练对象对应的第一损失。
[0130]
根据第一元组的空域特征矩阵与第二元组对应的空域特征矩阵之间的距离之和,以及第一元组的空域特征矩阵与第三元组对应的空域特征矩阵之间的距离之和,确定每个训练图像的第一损失。
[0131]
确定第一损失的方法例如可以参考步骤104中的方法进行,此处不再赘述。
[0132]
在步骤305,确定每个训练对象对应的第二损失。
[0133]
首先,根据全卷积神经网络获取训练图像的预测的第一矩阵,然后,根据训练图像的预测的第一矩阵与真实的第一矩阵确定每个训练图像的第二损失,其中,第一矩阵中的每个元素表示训练图像所对应的空域特征矩阵中的相应空域特征属于前景标签的概率。其中,真实的第一矩阵通过将训练图像输入到语义分割网络模型中得到。
[0134]
在一些实施例中,计算训练图像的预测的第一矩阵与真实的第一矩阵的二范数,将二范数作为第二损失。
[0135]
确定第二损失的方法例如可以参考步骤205中的方法进行,此处不再赘述。
[0136]
在步骤306,确定每个训练对象对应的第三损失。
[0137]
首先,根据全卷积神经网络获取训练图像的预测的第二矩阵,然后,根据训练图像
的预测的第二矩阵与真实的第二矩阵确定每个训练图像对应的第三损失,第二矩阵中的每个元素表示训练图像所对应的空域特征矩阵中的相应空域特征属于前景的姿态的概率。例如,针对目标为行人的目标识别模型的训练过程中,例如可以设定13个姿态关键点,分别为头,左肩,右肩,左手肘,右手肘,左手,右手,左髋部,右髋部,左膝,右膝,左脚,右脚,每一个姿态关键点代表对应的目标前景的姿态的位置信息。
[0138]
下面分别对预测的第二矩阵和真实的第二矩阵的获取方法进行描述。
[0139]
预测的第二矩阵根据全卷积神经网络的用于姿态估计的多个卷积层得到,其中,每个卷积层被配置为对训练图像中的前景的一个姿态关键点进行姿态估计。例如,针对设定了13个姿态关键点的姿态估计对应有全卷积神经网络中的13个卷积层。预测的第二矩阵例如表示为c


[0140]
真实的第二矩阵通过将训练图像输入到姿态估计模型中得到。其中,姿态估计模型例如为centernet模型,centernet模型例如可以通过开源的tensoflow平台得到。真实的第二矩阵例如表示为c。
[0141]
计算训练图像的预测的第二矩阵与真实的第二矩阵的二范数,将二范数作为第三损失。根据真实的第二矩阵c和预测的第二矩阵c

,第三损失函数可以定义为:
[0142]
l3=||c-c

||2[0143]
其中,||||2表示二范数计算。
[0144]
利用第二矩阵将目标的前景姿态的概率进行表征,可以削弱图像中背景姿态对目标的特征表达的影响,避免提取的训练图像的空域特征被背景姿态所干扰。通过增加属于前景姿态的特征的权重,来提高特征表达的准确性,从而提高目标重识别模型的准确性,提高目标重识别模型的性能。
[0145]
在步骤307,根据所有训练图像分别对应的第一损失之和、第二损失之和以及第三损失之和,确定总损失。
[0146]
在一些实施例中,确定总损失包括:为第一损失、第二损失和第三损失分别设置一个权重,其中,第三损失的权重分别大于第一损失的权重和第二损失的权重;然后利用设置的权重对第一损失、第二损失和第三损失进行加权求和,得到总损失。
[0147]
假设一个训练图像的第一损失表示为l1,一个训练图像的第二损失表示为l2,一个训练图像的第三损失表示为l3,则总损失可以利用如下总损失函数得到:
[0148][0149]
其中,p表示用于训练的图像包括p个目标,k表示每个目标对应k张训练图像。表示目标为i(1≤i≤p)的训练图像中的第a(1≤a≤k)个训练图像所对应的空域特征矩阵。α(0<α<1)表示为控制前景标签和前景姿态的损失函数所占总损失的权重。
[0150]
在步骤308,基于总损失计算的梯度更新全卷积神经网络。
[0151]
基于总损失计算的梯度更新全卷积神经网络的方法例如可以参考步骤106,此处不再赘述。
[0152]
在步骤309,当满足预设的终止条件时,全卷积神经网络训练完成,训练完成的全
卷积神经网络作为目标识别模型。
[0153]
其中,预设的终止条件例如可以是总损失低于预设阈值,或者,更新全卷积神经网络的次数达到预设次数等。
[0154]
上述实施例中,利用每个空域特征对应的前景的标签的概率和前景的姿态的概率来提高训练图像的特征的表达的准确性,通过增加属于前景标签和前景姿态的特征的权重,来提高特征表达的准确性,从而提高目标重识别模型的准确性,提高目标重识别模型的性能。
[0155]
图4示出根据本公开的一些实施例的目标重识别方法的流程示意图。该实施例中的方法例如可以由电子装置执行。
[0156]
如图4所示,该实施例的方法包括步骤401-405。
[0157]
在步骤401,将待识别目标的图像输入到目标重识别模型中。
[0158]
其中,目标重识别模型例如可以是本公开中任一实施例所述的目标识别模型。其中的目标例如包括行人、动物、物体等。当目标为特定行人时,将待识别行人的图像输入,待识别行人的图像例如可以是被遮挡物(例如其他行人或物体)遮挡的行人图像。
[0159]
在步骤402,根据目标重识别模型获取待识别图像对应的空域特征矩阵。
[0160]
通过将待识别图像输入到目标重识别模型,得到待识别图像的特征图,进而获取待识别图像对应的空域特征矩阵其中,x
n
表示空域特征矩阵中的一个元素,即一个空域特征。t为每个空域特征的维度(也称通道数目),n表示空域特征矩阵所包括的空域特征的个数。
[0161]
在步骤403,确定待识别图像的对应的局部距离矩阵。
[0162]
根据待识别图像对应的空域特征矩阵中的每个空域特征与候选图像的空域特征矩阵中最相似的空域特征之间的局部距离,确定待识别图像的所有空域特征对应的局部距离矩阵。
[0163]
例如,将候选图像的空域特征矩阵表示为其中,y
m
表示空域特征矩阵中的一个元素,即一个空域特征。z为每个空域特征的维度,m表示空域特征矩阵所包括的空域特征的个数。由于待识别图像和候选图像的尺寸大小可能不同,所以m不一定等于n。
[0164]
针对待识别图像对应的空域特征矩阵中的每个空域特征x
n
(1≤n≤n),在候选图像对应的空域特征矩阵y中寻找最相似的空域特征y
m
(1≤m≤m)与之进行匹配,该匹配方式也称为局部匹配。然后,计算待识别图像的空域特征x
n
与候选图像中对应的最相似空域特征之间的局部距离,例如表示为d
n
,则局部距离矩阵例如可以表示为
[0165]
在步骤404,确定待识别图像与候选图像之间的匹配度。
[0166]
根据待识别图像对应的局部距离矩阵中的所有元素之和,确定待识别图像与候选图像之间的匹配度。例如,匹配度compatibility可以表示为:
[0167]
[0168]
其中,d
n
表示待识别图像的第n个空域特征与候选图像中对应的最相似空域特征之间的局部距离,n表示待识别图像对应的空域特征矩阵所包括的空域特征的个数。
[0169]
在步骤405,如果匹配度达到预设匹配度,确定待识别图像中的目标为候选图像中的目标。
[0170]
上述实施例中,利用待识别图像的每个局部特征(即空域特征)进行局部匹配,将局部匹配结果汇总得到待识别图像的整体匹配结果,在待识别图像中的目标仅有一部分的情况下,依然能够识别出该目标,从而提高了目标重识别的准确率。
[0171]
图5示出根据本公开的另一些实施例的目标重识别方法的流程示意图。该实施例中的方法例如可以由电子装置执行。
[0172]
如图5所示,该实施例的方法包括步骤501-506。
[0173]
在步骤501,将待识别目标的图像输入到目标重识别模型中。
[0174]
其中,目标重识别模型例如可以是本公开中任一实施例所述的目标识别模型。其中的目标例如包括行人、动物、物体等。
[0175]
在步骤502,根据目标重识别模型获取待识别图像对应的空域特征矩阵。
[0176]
获取待识别图像对应的空域特征矩阵的方法例如可以参考步骤402中的方法进行,此处不再赘述。
[0177]
在步骤503,确定待识别图像对应的局部距离矩阵。
[0178]
根据待识别图像对应的空域特征矩阵中的每个空域特征与候选图像的空域特征矩阵中最相似的空域特征之间的局部距离,确定待识别图像的所有空域特征对应的局部距离矩阵。
[0179]
确定待识别图像对应的局部距离矩阵的方法例如可以参考步骤403中的方法进行,此处不再赘述。
[0180]
在步骤504,确定待识别图像对应的第一矩阵。
[0181]
根据目标重识别模型获取待识别图像的第一矩阵,第一矩阵中的每个元素表示待识别图像中的每个空域特征属于前景标签的概率。
[0182]
根据目标重识别模型中用于进行前景标签的概率估计的一个卷积层获取待识别图像的第一矩阵,例如第一矩阵表示为m


[0183]
在步骤505,根据局部距离矩阵和第一矩阵确定待识别图像与候选图像之间的匹配度。
[0184]
确定待识别图像与候选图像之间的匹配度包括:根据待识别图像的局部距离矩阵中的每个元素与对应的第一矩阵中的相应元素的乘积之和,确定待识别图像与候选图像之间的匹配度。
[0185]
例如,针对待识别的图像,待识别图像与候选图像对应的局部距离矩阵表示为d,第一矩阵表示为m

,则待识别图像与候选图像之间的匹配度compatibility可以表示为:
[0186][0187]
其中,n表示待识别图像对应的空域特征矩阵所包括的空域特征的个数,n表示空域特征矩阵中的第n个空域特征。
[0188]
在步骤506,如果匹配度达到预设匹配度,确定待识别图像中的目标为候选图像中的目标。
[0189]
上述实施例中,利用待识别图像的每个局部特征(即空域特征)进行局部匹配,并利用前景标签的概率所表示的第一矩阵对局部距离矩阵中的每个元素加以指导,通过增大属于前景标签的空域特征的重要度,进一步提高图像匹配的准确性和目标重识别的准确率。
[0190]
图6示出根据本公开的又一些实施例的目标重识别方法的流程示意图。该实施例中的方法例如可以由电子装置执行。
[0191]
如图6所示,该实施例的方法包括步骤601-607。
[0192]
在步骤601,将待识别目标的图像输入到目标重识别模型中。
[0193]
其中,目标重识别模型例如可以是本公开中任一实施例所述的目标识别模型。其中的目标例如包括行人、动物等。
[0194]
在步骤602,根据目标重识别模型获取待识别图像对应的空域特征矩阵。
[0195]
获取待识别图像对应的空域特征矩阵的方法例如可以参考步骤402中的方法进行,此处不再赘述。
[0196]
在步骤603,确定待识别图像对应的局部距离矩阵。
[0197]
根据待识别图像对应的空域特征矩阵中的每个空域特征与候选图像的空域特征矩阵中最相似的空域特征之间的局部距离,确定待识别图像的所有空域特征对应的局部距离矩阵.
[0198]
确定待识别图像对应的局部距离矩阵的方法例如可以参考步骤403中的方法进行,此处不再赘述。
[0199]
在步骤604,确定待识别图像对应的第一矩阵。
[0200]
根据目标重识别模型获取待识别图像的第一矩阵,第一矩阵中的每个元素表示待识别图像中的每个空域特征属于前景标签的概率。
[0201]
确定待识别图像对应的局部距离矩阵的方法例如可以参考步骤504中的方法进行,此处不再赘述。
[0202]
在步骤605,确定待识别图像对应的第二矩阵。
[0203]
根据目标重识别模型获取待识别图像的第二矩阵,第二矩阵中的每个元素表示待识别图像中的每个空域特征属于前景的姿态的概率。
[0204]
在一些实施例中,第二矩阵根据目标重识别模型中用于姿态估计的多个卷积层得到,其中,每个卷积层被配置为对训练图像中的前景的一个姿态关键点进行姿态估计。例如,针对设定了13个姿态关键点的姿态估计对应有全卷积神经网络中的13个卷积层,将13个卷积层分别提取的第二矩阵进行求平均计算,得到最终第二矩阵。待识别图像对应的第二矩阵例如表示为c


[0205]
利用第二矩阵将目标的前景姿态的概率进行表征,可以削弱图像中背景姿态对目标的整体特征表达的影响,避免空域特征被背景姿态所干扰。通过增加属于前景姿态的特征的权重,来提高特征表达的准确性,从而提高目标重识别的准确率。
[0206]
在步骤606,计算第一矩阵的每个元素与第二矩阵的相应元素的平均值,得到第三矩阵。
[0207]
例如,待识别图像对应的第一矩阵表示为m

,第二矩阵表示为c

。因此,第三矩阵f

可以表示为:
[0208]
f

=(c

+m

)/2
[0209]
在步骤607,确定待识别图像与候选图像之间的匹配度。
[0210]
其中,确定待识别图像与候选图像之间的匹配度包括:根据待识别图像的局部距离矩阵中的每个元素与对应的第三矩阵中的相应元素的乘积之和,确定待识别图像与候选图像之间的匹配度。第三矩阵表示待识别图像中对应特征属于前景(包括前景标签和前景姿态)的概率信息。
[0211]
例如,针对待识别的图像,待识别图像与候选图像对应的局部距离矩阵表示为d,第三矩阵表示为f

,则待识别图像与候选图像之间的匹配度compatibility可以表示为:
[0212][0213]
其中,n表示待识别图像对应的空域特征矩阵所包括的空域特征的个数,n表示空域特征矩阵中的第n个空域特征。
[0214]
在步骤608,如果匹配度达到预设匹配度,确定待识别图像中的目标为候选图像中的目标。
[0215]
上述实施例中,利用待识别图像的每个局部特征(即空域特征)进行局部匹配,并利用前景标签的概率所表示的第一矩阵和前景姿态的概率所表示的第二矩阵对局部距离矩阵中的每个元素进行综合指导,通过加强属于前景标签和前景姿态的空域特征的重要度,进一步提高图像匹配的准确性和目标重识别的准确率。
[0216]
图7示出根据本公开的一些实施例的目标重识别方法的示意图。该实施例中的方法例如可以由电子装置执行。
[0217]
如图7所示,首先,将待识别图像输入到目标识别模型中,其中,目标重识别模型例如可以是本公开中前述任一实施例中的目标识别模型。然后,通过目标重识别模型分别得到待识别图像的空域特征矩阵x,第一矩阵m

,第二矩阵表示为c

。然后,根据第一矩阵m

和第二矩阵c

得到第三矩阵f

。根据待识别图像与候选图像分别对应的空域特征矩阵之间的每个局部距离得到局部距离矩阵d。最后,根据局部距离矩阵d和第三矩阵f

得到待识别图像与候选图像之间的匹配度,如果匹配度达到了预设匹配度,则确定待识别图像中的目标即为候选图像中的目标。
[0218]
图8示出根据本公开的一些实施例的电子装置的示意图。
[0219]
如图8所示,该实施例的电子装置800包括:存储器801以及耦接至该存储器801的处理器802,处理器802被配置为基于存储在存储器801中的指令,执行本公开任意一些实施例中的目标重识别模型的训练方法。
[0220]
其中,存储器801例如可以包括系统存储器、固定非易失性存储介质等。系统存储器例如存储有操作系统、应用程序、引导装载程序(boot loader)以及其他程序等。
[0221]
在一些实施例中,处理器802被配置为基于存储在存储器801中的指令,执行实现如下方法:首先,将多个训练图像输入到全卷积神经网络中,其中,多个训练图像包括多个目标,每个目标对应多张训练图像;根据全卷积神经网络获取每个训练图像的各个局部区
域所对应的空域特征所构成的空域特征矩阵;确定每个训练图像对应的三元组,并根据每个训练图像对应的三元组确定每个训练对象对应的第一损失;确定每个训练对象对应的第二损失;确定每个训练对象对应的第三损失;然后,根据所有训练图像分别对应的第一损失之和、第二损失之和以及第三损失之和,确定总损失;接着,基于总损失计算的梯度更新全卷积神经网络;最后,当满足预设的终止条件时,全卷积神经网络训练完成,训练完成的全卷积神经网络作为目标识别模型。
[0222]
电子装置800还可以包括输入输出接口803、网络接口804、存储接口805等。这些接口803,804,805以及存储器801和处理器802之间例如可以通过总线806连接。其中,输入输出接口803为显示器、鼠标、键盘、触摸屏等输入输出设备提供连接接口。网络接口804为各种联网设备提供连接接口。存储接口805为sd卡、u盘等外置存储设备提供连接接口。
[0223]
图9示出根据本公开的另一些实施例的电子装置的示意图。
[0224]
如图9所示,该实施例的电子装置900包括:存储器901以及耦接至该存储器901的处理器902,处理器902被配置为基于存储在存储器901中的指令,执行本公开任意一些实施例中的目标重识别方法。
[0225]
其中,存储器901例如可以包括系统存储器、固定非易失性存储介质等。系统存储器例如存储有操作系统、应用程序、引导装载程序(boot loader)以及其他程序等。
[0226]
在一些实施例中,处理器902被配置为基于存储在存储器901中的指令,执行实现如下方法:首先,将待识别目标的图像输入到目标重识别模型中;根据目标重识别模型获取待识别图像对应的空域特征矩阵;确定待识别图像对应的局部距离矩阵;然后,确定待识别图像对应的第一矩阵,确定待识别图像对应的第二矩阵,并计算第一矩阵的每个元素与第二矩阵的相应元素的平均值,得到第三矩阵;接着,确定待识别图像与候选图像之间的匹配度;最后,如果匹配度达到预设匹配度,确定待识别图像中的目标为候选图像中的目标。
[0227]
电子装置900还可以包括输入输出接口903、网络接口904、存储接口905等。这些接口903,904,905以及存储器901和处理器902之间例如可以通过总线906连接。其中,输入输出接口903为显示器、鼠标、键盘、触摸屏等输入输出设备提供连接接口。网络接口904为各种联网设备提供连接接口。存储接口905为sd卡、u盘等外置存储设备提供连接接口。
[0228]
本领域内的技术人员应当明白,本公开的实施例可提供为方法、系统、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机程序代码的计算机非瞬时性可读存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0229]
本公开是参照根据本公开实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解为可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0230]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特
定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0231]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0232]
以上所述仅为本公开的较佳实施例,并不用以限制本公开,凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1