1.本发明涉及图像处理技术领域,尤其涉及基于自监督学习的行人重识别方法、装置、设备及存储介质。
背景技术:
2.行人重识别(person re-identification)是利用计算机视觉技术判断图像或者视频序列中是否存在特定目标的技术。目前行人重识别技术主要包括表征学习、度量学习、基于局部特征或视频序列等方法,不同于人脸可以到互联网直接爬取名人的图片,行人重识别由于其任务的特殊性,这些行人重识别方法的训练数据集采集标记难度高,现有的数据集往往只能达到几万的级别。一方面,训练数据集的数量较小使得行人重识别方法的精度无法进一步提升。另一方面,即使是将各个数量较小的训练数据集合并在训练中也不一定能形成正向贡献,这些都阻碍了行人重识别技术进一步走向实用化。
技术实现要素:
3.有鉴于此,本发明一个或多个实施例的目的在于提出基于自监督学习的行人重识别方法、装置、设备及存储介质,以至少解决上述问题之一。
4.基于上述目的,根据本发明的第一方面,提供了一种基于自监督学习的行人重识别方法,包括:
5.获取待识别的图像数据;
6.基于训练好的行人重识别模型对所述待识别的图像数据进行行人重识别,得到行人重识别结果;
7.其中,训练好的行人重识别模型的训练包括:
8.基于第一训练数据集对第一神经网络进行训练,得到所述第一训练数据集的第一特征向量;
9.基于第二训练数据集对与所述第一神经网络相同的第二神经网络进行训练,得到所述第二训练数据集的第二特征向量;其中,对所述第一训练数据集进行增强处理得到所述第二训练数据集;
10.基于所述第一特征向量和所述第二特征向量计算第一损失函数;
11.调整所述第一神经网络的模型参数,以使得所述第一损失函数与所述第一神经网络的第二损失函数之和最小化,得到所述训练好的行人重识别模型。
12.可选地,基于所述第一特征向量和所述第二特征向量计算第一损失函数,包括:
13.其中,c
i,j
代表来自所述第一训练数据集中的第i个样本与来自所述第二训练数据集中的第j个样本的互相关系数,i=j时表示第j个样本是第i个样本的数据增强样本,λ为权重因子。
14.可选地,所述互相关系数包括:
15.其中,m为所述第一训练数据集的样本数量,t
am,i
表示第i个样本对应的第一输出特征向量,t
bm,j
表示第j个样本对应的第二输出特征向量。
16.可选地,所述第二损失函数包括:所述第一神经网络的难样本采样三元组损失函数和分类损失函数。
17.可选地,所述第一神经网络的整体损失包括所述第一损失函数和所述第二损失函数之和,具体包括:
18.l
total
=α
·
l
self-sup
β
·
l
trihard
γ
·
l
softmax
,其中,α、β、γ为给定参数,l
self-sup
为所述第一损失函数,l
trihard
为所述第一神经网络的难样本采样三元组损失函数,l
softmax
为所述第一神经网络的分类损失函数。
19.可选地,所述难样本采样三元组损失函数包括:
20.对于第一训练数据集中的每一个训练批次,随机挑选p个id的目标行人,每个目标行人随机挑选k张不同的图片,则一个训练批次batch含有p
×
k张图片;
21.对于该训练批次batch中的每一张图片a,挑选一个最难的正样本和一个最难的负样本和a组成一个三元组;
22.定义和a为相同id的图片集为a,剩下不同id的图片形成的图片集为b,则所述难样本采样三元组损失函数包括:
[0023][0024]
其中,α是人为设定的阈值参数,计算图片a和该训练批次batch中的每一张图片在特征空间的欧式距离,然后选出与a距离最远的正样本p和距离最近的负样本n来计算三元组损失。
[0025]
可选地,所述增强处理包括:空间域增强和/或频率域增强。
[0026]
根据本发明的第二方面,提供了一种基于自监督学习的行人重识别装置,包括:
[0027]
获取模块,用于获取待识别的图像数据;
[0028]
识别模块,用于基于训练好的行人重识别模型对所述待识别的图像数据进行行人重识别,得到行人重识别结果;
[0029]
其中,训练好的行人重识别模型的训练包括:
[0030]
基于数据训练集和所述数据训练集所对应的预设教师模型集,得到第一输出数据;
[0031]
基于所述数据训练集对神经网络进行训练,得到学生模型以及所述学生模型输出的第二输出数据;
[0032]
基于所述第一输出数据、所述第二输出数据和判别器网络计算所述学生模型的损失函数;
[0033]
调整所述学生模型的模型参数以使所述损失函数最小化,得到所述训练好的行人重识别模型。
[0034]
根据本发明的第三方面,提供了一种电子设备,包括存储器、处理器及存储在存储
器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如第一方面所述的方法。
[0035]
根据本发明的第四方面,提供了一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行第一方面所述方法。
[0036]
从上面所述可以看出,本发明一个或多个实施例提供的基于自监督学习的行人重识别方法、装置、设备及存储介质,通过采用相同的神经网络作为自监督训练分支,来对基于数据增强后的训练数据集进行训练,使行人重识别模型可以学习图像本身固有先验规律,从而提高行人重识别的精确度,还可以解决数训练数据采集困难的问题。而在实际部署环境中无需部署自监督训练分支的网络,不会给行人重识别网络带来额外的模型复杂度。
附图说明
[0037]
为了更清楚地说明本发明一个或多个实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明一个或多个实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0038]
图1为根据本发明实施例的基于自监督学习的行人重识别方法的示意性流程图;
[0039]
图2为根据本发明实施例的基于自监督学习的行人重识别方法的示意性示例;
[0040]
图3为本发明实施例的基于自监督学习的行人重识别装置的示意性框图;
[0041]
图4为本发明实施例的电子设备的示意性框图。
具体实施方式
[0042]
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
[0043]
需要说明的是,除非另外定义,本发明一个或多个实施例使用的技术术语或者科学术语应当为本发明所属领域内具有一般技能的人士所理解的通常意义。本发明一个或多个实施例中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
[0044]
由于实际应用中存在无正脸、姿态变化、存在遮挡、拍摄角度、环境变化、光线差异等等不利条件和干扰因素,行人重识别任务的训练数据集收集起来比较困难,往往只能达到几万的级别。数量较少的训练数据制约了行人重识别模型的训练,无法进一步提升模型的精度,这也阻碍了行人重识别技术进一步走向实用化。因此,如何克服数据采集困难,来提升行人重识别的训练精度成为了一个亟需解决的问题。
[0045]
而图像本身存在的固有先验规律,有效利用这些规律就可以让计算机完成貌似不可能的任务,如利用物体类别和颜色分布之间的内在关联完成图像自动上色,利用物体类
别和形状纹理之间的关联来完成图像修复。
[0046]
本发明为了有效改善由数据采集困难带来的训练样本不足的问题,提出基于自监督学习来进行人重识别的训练,提升行人重识别的识别精度。
[0047]
基于上述考虑,本发明实施例提供了一种基于自监督学习的行人重识别方法。参见图1,图1示出了根据本发明实施例的基于自监督学习的行人重识别方法的示意性流程图。如图1所示,基于自监督学习的行人重识别方法包括:
[0048]
步骤s110,获取待识别的图像数据;
[0049]
步骤s120,基于训练好的行人重识别模型对所述待识别的图像数据进行行人重识别,得到行人重识别结果;
[0050]
其中,训练好的行人重识别模型的训练包括:
[0051]
基于第一训练数据集对第一神经网络进行训练,得到所述第一训练数据集的第一特征向量;
[0052]
基于第二训练数据集对与所述第一神经网络相同的第二神经网络进行训练,得到所述第二训练数据集的第二特征向量;其中,对所述第一训练数据集进行增强处理得到所述第二训练数据集;
[0053]
基于所述第一特征向量和所述第二特征向量计算第一损失函数;
[0054]
调整所述第一神经网络的模型参数,以使得所述第一损失函数与所述第一神经网络的第二损失函数之和最小化,得到所述训练好的行人重识别模型。
[0055]
其中,将训练数据集与该训练数据集经过数据增强后分别采用相同的神经网络进行特征提取,得到第一特征向量和第二特征向量,并计算第一特征向量和第二特征向量之间的第一损失函数,再结合模型自身训练时的第二损失函数计算训练过程中的整体损失函数,以整体损失函数最小化为目标训练得到行人重识别模型。本实施例通过采用相同的神经网络作为自监督训练分支,来对基于数据增强后的训练数据集进行训练,使行人重识别模型可以学习图像本身固有先验规律,从而提高行人重识别的精确度,还可以解决训练数据采集困难的问题。而在实际部署环境中无需部署自监督训练分支的网络,不会给行人重识别网络带来额外的模型复杂度。可以广泛用于各种需要对行人重识别的场景。
[0056]
可选地,在步骤s110中,获取待识别的图像数据。
[0057]
其中,待识别的图像数据可以是通过图像采集装置直接采集得到的实时数据,也可以是从本地数据源或远程数据源获取得到的图像数据。
[0058]
在一些实施例中,所述待识别的图像数据可以包括视频数据和图像。在一些实施例中,所述待识别的图像数据可以是视频数据中的一帧图像或多帧图像。在一些实施例中,可以对视频数据进行分帧,得到图像数据。在一些实施例中,待识别的图像数据还可以是连续或非连续的图像序列。
[0059]
可选地,在步骤s120中,基于训练好的行人重识别模型对所述待识别的图像数据进行行人重识别,得到行人重识别结果。
[0060]
具体来说,可以将待识别的图像数据输入训练好的行人重识别模型,该训练好的行人重识别模型对待识别的图像数据进行相应的处理后,输出所述行人重识别结果。
[0061]
在一些实施例中,行人重识别结果可以包括:目标对象的身份信息。例如id号、姓名等等。
[0062]
在一些实施例中,训练好的行人重识别模型的训练包括:
[0063]
基于第一训练数据集对第一神经网络进行训练,得到所述第一训练数据集的第一特征向量;
[0064]
基于第二训练数据集对与所述第一神经网络相同的第二神经网络进行训练,得到所述第二训练数据集的第二特征向量;其中,对所述第一训练数据集进行增强处理得到所述第二训练数据集;
[0065]
基于所述第一特征向量和所述第二特征向量计算第一损失函数;
[0066]
调整所述第一神经网络的模型参数,以使得所述第一损失函数与所述第一神经网络的第二损失函数之和最小化,得到所述训练好的行人重识别模型。
[0067]
在一些实施例中,所述增强处理可以包括:空间域增强。在一些实施例中,空间域增强可以包括如下至少一种:灰度变化、直方图修正法、图像平滑、图像锐化。在一些实施例中,灰度变化可以包括如下至少一种:线性变化、分段线性变化或非线性变化(例如对数变换、指数变换等)。在一些实施例中,图像平滑可以包括如下至少一种:均值滤波、中值滤波、超限像素平滑法、灰度k近邻平均法、最大均匀性平滑或有选择保边缘平滑法。在一些实施例中,图像锐化可以包括如下至少一种:梯度锐化法、拉普拉斯变化法、高通滤波法。
[0068]
在一些实施例中,所述增强处理可以包括:频率域增强。在一些实施例中,频率域增强可以包括如下至少一种:高通滤波、低通滤波、同态滤波增强、彩色增强(例如,假彩色增强或伪彩色增强)。
[0069]
在一些实施例中,基于所述第一特征向量和所述第二特征向量计算第一损失函数,包括:
[0070]
其中,c
i,j
代表来自所述第一训练数据集中的第i个样本与来自所述第二训练数据集中的第j个样本的互相关系数,i=j时表示第j个样本是第i个样本的数据增强样本,λ为权重因子。
[0071]
在一些实施例中,互相关系数可以包括:
[0072]
其中,m为所述第一训练数据集的样本数量,t
am,i
表示第i个样本对应的第一输出特征向量,t
bm,j
表示第j个样本对应的第二输出特征向量。
[0073]
在一些实施例中,第二损失函数包括:所述第一神经网络的难样本采样三元组损失函数和分类损失函数。
[0074]
其中,难样本采样三元组损失函数(triplet loss with batch hard mining,trihard loss)的计算可以包括:对于第一训练数据集中的每一个训练批次,随机挑选p个id的目标行人,每个目标行人随机挑选k张不同的图片,即一个训练批次batch含有p
×
k张图片。之后对于该训练批次batch中的每一张图片a,挑选一个最难的正样本和一个最难的负样本和a组成一个三元组。可以定义和a为相同id的图片集为a,剩下不同id的图片形成的图片集为b,则trihard loss可以表示为:
[0075][0076]
其中,α是人为设定的阈值参数,计算图片a和该训练批次batch中的每一张图片在特征空间的欧式距离,然后选出与a距离最远(最不像)的正样本p和距离最近(最像)的负样本n来计算三元组损失。
[0077]
而分类损失函数可以包括softmax损失函数l
softmax
,本领域技术人员知晓该函数的计算方法,在此不再赘述。
[0078]
在一些实施例中,所述第一神经网络的整体损失可以包括所述第一损失函数和所述第二损失函数之和,具体包括:
[0079]
l
total
=α
·
l
self-sup
β
·
l
trihard
γ
·
l
softmax
,其中,α、β、γ为给定参数。
[0080]
在一些实施例中,如图2所示,图2示出了根据本发明实施例的基于自监督学习的行人重识别方法的示意性示例。图2中,作为自监督分支的第二神经网络210与识别部分的骨干(backbone)网络即第一神经网络220一致,只是输入数据作了随机数据增强。自监督分支的目标在于针对同一批量输入的训练数据集x的不同视角a,b(对应xa,xb,其中xa为原始数据,xb为对xa进行增强数据后的数据)下经过同样的网络机构所提取到的特征向量ta,tb间的互相关矩阵c的对角元素应尽可能接近1,其余元素应尽可能接近于0,由此来计算第一损失函数。可以设第一神经网络220为f,其模型参数为θ,对于训练数据集x不同视角的输入xa,xb对应的输出特征为ta=f
θ
(xa),tb=f
θ
(xb),可得其互相关矩阵c,进而得到第一损失函数l
self-sup
。然后结合识别部分的难样本采样三元组损失函数l
trihard
和分类损失函数l
softmax
得到整体损失。并以整体损失最小化作为学生模型的训练目标进行训练,即可得到训练好的行人重识别模型。
[0081]
需要说明的是,本发明一个或多个实施例的方法可以由单个设备执行,例如一台计算机或服务器等。本实施例的方法也可以应用于分布式场景下,由多台设备相互配合来完成。在这种分布式场景的情况下,这多台设备中的一台设备可以只执行本发明一个或多个实施例的方法中的某一个或多个步骤,这多台设备相互之间会进行交互以完成所述的方法。
[0082]
需要说明的是,上述对本发明特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
[0083]
基于同一发明构思,与上述任意实施例方法相对应的,本发明一个或多个实施例还提供了一种基于自监督学习的行人重识别装置。
[0084]
参考图3,所述基于自监督学习的行人重识别装置,包括:
[0085]
获取模块,用于获取待识别的图像数据;
[0086]
识别模块,用于基于训练好的行人重识别模型对所述待识别的图像数据进行行人重识别,得到行人重识别结果;
[0087]
其中,训练好的行人重识别模型的训练包括:
[0088]
基于第一训练数据集对第一神经网络进行训练,得到所述第一训练数据集的第一特征向量;
[0089]
基于第二训练数据集对与所述第一神经网络相同的第二神经网络进行训练,得到所述第二训练数据集的第二特征向量;其中,对所述第一训练数据集进行增强处理得到所述第二训练数据集;
[0090]
基于所述第一特征向量和所述第二特征向量计算第一损失函数;
[0091]
调整所述第一神经网络的模型参数,以使得所述第一损失函数与所述第一神经网络的第二损失函数之和最小化,得到所述训练好的行人重识别模型。
[0092]
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本发明一个或多个实施例时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
[0093]
上述实施例的装置用于实现前述任一实施例中相应的基于自监督学习的行人重识别方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
[0094]
基于同一发明构思,与上述任意实施例方法相对应的,本发明一个或多个实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上任意一实施例所述的基于自监督学习的行人重识别方法。
[0095]
图4示出了本实施例所提供的一种更为具体的电子设备硬件结构示意图,该设备可以包括:处理器410、存储器420、输入/输出接口430、通信接口440和总线450。其中处理器410、存储器420、输入/输出接口430和通信接口440通过总线450实现彼此之间在设备内部的通信连接。
[0096]
处理器410可以采用通用的cpu(central processing unit,中央处理器)、微处理器、应用专用集成电路(application specific integrated circuit,asic)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本发明实施例所提供的技术方案。
[0097]
存储器420可以采用rom(read only memory,只读存储器)、ram(random access memory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器420可以存储操作系统和其他应用程序,在通过软件或者固件来实现本发明实施例所提供的技术方案时,相关的程序代码保存在存储器420中,并由处理器410来调用执行。
[0098]
输入/输出接口430用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
[0099]
通信接口440用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如usb、网线等)实现通信,也可以通过无线方式(例如移动网络、wifi、蓝牙等)实现通信。
[0100]
总线450包括一通路,在设备的各个组件(例如处理器410、存储器420、输入/输出接口430和通信接口440)之间传输信息。
[0101]
需要说明的是,尽管上述设备仅示出了处理器410、存储器420、输入/输出接口430、通信接口440以及总线450,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现
本发明实施例方案所必需的组件,而不必包含图中所示的全部组件。
[0102]
上述实施例的电子设备用于实现前述任一实施例中相应的基于自监督学习的行人重识别方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
[0103]
基于同一发明构思,与上述任意实施例方法相对应的,本发明一个或多个实施例还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行如上任一实施例所述的基于自监督学习的行人重识别方法。
[0104]
本实施例的计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
[0105]
上述实施例的存储介质存储的计算机指令用于使所述计算机执行如上任一实施例所述的基于自监督学习的行人重识别方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
[0106]
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明的范围(包括权利要求)被限于这些例子;在本发明的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本发明一个或多个实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。
[0107]
另外,为简化说明和讨论,并且为了不会使本发明一个或多个实施例难以理解,在所提供的附图中可以示出或可以不示出与集成电路(ic)芯片和其它部件的公知的电源/接地连接。此外,可以以框图的形式示出装置,以便避免使本发明一个或多个实施例难以理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将要实施本发明一个或多个实施例的平台的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本发明的示例性实施例的情况下,对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化的情况下实施本发明一个或多个实施例。因此,这些描述应被认为是说明性的而不是限制性的。
[0108]
尽管已经结合了本发明的具体实施例对本发明进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态ram(dram))可以使用所讨论的实施例。
[0109]
本发明一个或多个实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本发明一个或多个实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明的保护范围之内。
转载请注明原文地址:https://tc.8miu.com/read-3196.html