一种基于样本分离的无监督行人重识别系统及方法

文档序号:25723831发布日期:2021-07-02 21:08阅读:96来源:国知局
一种基于样本分离的无监督行人重识别系统及方法

本发明涉及行人重识别技术领域,尤其涉及一种基于样本分离的无监督行人重识别系统及方法。



背景技术:

随着城市人口的不断增长,社会公共安全问题越来越受到人们的重视,当前在许多公共场所都覆盖有大规模的网络摄像头,是监控安防的重要保障。为了提升网络摄像头的安防智能水平,行人重识别技术是如今视觉分析领域的研究热点,得到了学术界的广泛重视。行人重识别旨在非重叠视角域多摄像头网络下进行的行人匹配,即确认不同位置的摄像头在不同的时刻拍摄到的行人目标是否为同一人。

现有的无监督域自适应行人重识别方法在使用目标域进行样本不变性学习,以及引入监督行人重识别的时候并没有很好的区分正样本以及负样本。而且由于在训练的过程中目标域数据缺乏标签,所以在无标签的状态下不能很好的进行行人重识别网络的训练。

现有技术至少存在以下缺陷,现有的无监督域自适应网络由于目标域数据缺乏标签信息不能很好的区分正样本与负样本,此外,同一样本的正样本和负样本过于相似,不易区分,均会使行人重识别网络造成较大的识别损失,这种损失在行人重识别网络的训练过程中进行叠加,进而会导致行人重识别网络迭代训练过程中产生较大的损失,使训练获得的行人重识别网络的识别精度降低。



技术实现要素:

鉴于上述的分析,本发明旨在提供一种基于样本分离的无监督行人重识别系统及方法,用以解决现有行人重识别网络的识别精度低的问题。

一方面,本发明提供了一种基于样本分离的无监督行人重识别系统,包括:

数据获取模块,用于获取源域样本集和目标域样本集,并分别随机分为多个源域样本子集和多个目标域样本子集;

网络模型训练模块,用于获得行人重识别网络模型的分类损失函数和样本不变性损失函数,以及根据目标域样本子集中各行人图片间的相似度方差获得样本分离损失函数,还用于根据目标域样本子集中正样本组、负样本组分别与存储的目标域样本间的相似度获得无监督三元组损失函数;基于所述分类损失函数、样本不变性损失函数、样本分离损失函数及无监督三元组损失函数对所述行人重识别网络模型进行迭代优化;

重识别模块,用于根据优化好的所述行人重识别网络模型对待识别行人图片进行识别,获得与该待识别行人图片属于同一行人的图片。

进一步的,所述行人重识别网络模型包括残差网络结构、与分类损失函数相对应的依次连接的全连接层和softmax归一化层、与样本不变性损失函数对应的l2标准化层、与样本分离损失函数对应的第一相似度衡量轴网络结构,与无监督三元组损失函数相对应的第二相似度衡量轴网络结构和第三相似度衡量轴网络结构,还包括存储器,分别与所述第一相似度衡量轴网络结构、第二相似度衡量轴网络结、第三相似度衡量轴网络结构连接;所述残差网络结构分别与所述全连接层、存储器连接。

进一步的,所述网络训练模型具体通过下述方式获得目标域样本子集中各行人图片间的相似度方差:

将目标域样本子集输入行人重识别网络模型的残差网络结构中提取图像特征,以获取目标域样本子集中每一行人图片的特征,并进行存储;

将该目标域样本子集中每一行人图片的特征与已经存储的目标域样本每一行人图片的特征相乘获得对应的相似度:

di,j=f(xt,i)*r[j]t

其中,xt,i表示目标域样本子集输入行人重识别网络时输入顺序为i的行人图片,f(xt,i)表示行人图片xt,i的特征,r[j]表示存储的目标域样本中第j类行人图片的特征,di,j表示所述行人图片xt,i与所述第j类行人图片间的相似度;

通过下述公式获得所述目标域样本子集中的行人图片与已经存储的目标域样本行人图片间的平均相似度:

其中,b表示目标域样本子集中行人图片的数量,nt表示存储的目标域样本行人图片的类别数,μ表示所述平均相似度;

根据所述平均相似度通过下述公式计算获得目标域样本子集中各行人图片间的相似度方差:

其中,δ表示所述相似度方差。

进一步的,所述网络训练模型通过下述公式获得样本分离损失函数:

ltd=ln(1+δ),

其中,ltd表示样本分离损失函数。

进一步的,所述网络训练模型通过下述方式获得目标域样本子集中正样本组、负样本组分别与存储的目标域样本间的相似度:

基于目标域样本子集中每一行人图片与已经存储的目标域样本每一行人图片的相似度将目标域样本子集中的行人图片进行降序排序,并按顺序从第一预设序位起选取第一预设数量的图片作为正样本组,从第二预设序位起选取第二预设数量的图片作为负样本组;

通过下述公式计算获得所述正样本组与存储的目标域样本间的相似度:

其中,p(j/xt,i')表示正样本组中第i'张行人图片xt,i'属于存储的目标域样本中第j类行人图片的概率,f(xt,i')表示行人图片xt,i'的特征,c表示所述正样本组中行人图片的数量,st表示正样本组与存储的目标域样本间的相似度,r[j]表示存储的目标域样本中第j类行人图片的特征,r[z]表示存储的目标域样本中第z类行人图片的特征,nt表示存储的所有目标域样本中行人图片的类别数;

通过下述公式计算获得所述负样本组与存储的目标域样本间的相似度:

其中,p(j/xt,i”)表示负样本组中第i”张行人图片xt,i”属于存储的目标域样本中第j类行人图片的概率,f(xt,i”)表示行人图片xt,i”的特征,r表示所述负样本组中行人图片的数量,sf表示负样本组与存储的目标域样本间的相似度。

进一步的,所述网络训练模型通过下述公式获得无监督三元组损失函数:

其中,lmml表示无监督三元组损失函数,为常数。

进一步的,所述网络模型训练模块具体通过下述方式获取行人重识别网络模型的分类损失函数:

将所述源域样本子集输入行人重识别网络模型的残差网络结构中提取图像特征,以获取源域样本子集中每一行人图片的特征,并进行存储;

将该每一行人图片的特征依次输入行人重识别网络模型的全连接层和softmax归一化层,进行特征维度转化和特征归一化;

基于维度转化和归一化后的每一行人图片的特征采用下述公式获得分类损失函数:

其中,xs,m表示源域样本子集中的第m张行人图片,f(xs,m)表示行人图片xs,m的特征,ys,m表示源域样本子集中行人图片xs,m的类别标签,p(ys,m|xs,m)表示行人图片xs,m属于类别ys,m的概率,ns表示源域样本子集中行人图片的数量。

进一步的,所述网络模型训练模块具体通过下述方式获取行人重识别网络模型的样本不变性损失函数:

其中,lt表示样本不变性损失函数,nt表示目标域样本子集中行人图片的数量,xt,i表示目标域样本子集输入行人重识别网络模型时输入顺序为i的行人图片,f(xt,i)表示行人图片xt,i的特征,wi,j表示行人图片xt,i属于存储的目标域样本中第j类行人图片的权重,p(j|xt,i)表示行人图片xt,i属于存储的目标域样本中第j类行人图片的概率,nt表示存储的所有目标域样本子集中行人图片的类别数,r[j]表示存储的目标域样本中第j类行人图片的特征,r[z]表示存储的目标域样本中第z类行人图片的特征。

进一步的,所述网络模型训练模块,重复下述步骤对所述行人重识别网络模型进行迭代优化:

遍历每一源域样本子集和每一目标域样本子集,基于每一源域样本子集和每一目标域样本子集获得的分类损失函数、样本不变性损失函数、样本分离损失函数及无监督三元组损失函数,获得总损失函数,判断该总损失函数值的变化量是否小于预设值,若是,则完成对行人重识别网络模型的优化,若否,则基于数据获取模块重新随机划分的多个源域样本子集和多个目标域样本子集重复上述步骤,直至完成对行人重识别网络模型的优化;

所述总损失函数为:

l=λ1lsrc+λ2lt+λ3ltd+λ4lmml,

其中,l表示总损失函数,lsrc表示分类损失函数,λ1表示分类损失函数的权重,lt表示样本不变性损失函数,λ2表示样本不变性损失函数的权重,ltd表示样本分离损失函数,λ3表示样本分离损失函数的权重,lmml表示无监督三元组损失函数,λ4表示无监督三元组损失函数的权重。

另一方面,本发明提出了一种基于样本分离的无监督行人重识别方法,包括以下步骤:

获取源域样本集和目标域样本集,并分别随机分为多个源域样本子集和多个目标域样本子集;

获得行人重识别网络模型的分类损失函数和样本不变性损失函数,以及根据目标域样本子集中各行人图片间的相似度方差获得样本分离损失函数,还用于根据目标域样本子集中正样本组、负样本组分别与存储的目标域样本间的相似度获得无监督三元组损失函数;基于所述分类损失函数、样本不变性损失函数、样本分离损失函数及无监督三元组损失函数对所述行人重识别网络模型进行迭代优化;

根据优化好的所述行人重识别网络模型对待识别行人图片进行识别,获得与该待识别行人图片属于同一行人的图片。

与现有技术相比,本发明至少可实现如下有益效果之一:

1、本发明提出的基于样本分离的无监督行人重识别系统及方法,首次通过计算目标域样本间的相似度方差引入样本分离损失函数,使行人重识别网络在训练过程中学习导致样本之间距离方差减少的特征,以减少样本与样本之间的影响,进而减少目标域样本中负样本对网络训练造成的精度损失,以提高行人重识别网络的识别精度。

2、本发明提出的基于样本分离的无监督行人重识别系统及方法,首次通过将目标域正样本进行分层,从而在无监督行人重识别网络中引入监督行人重识别网络中的三元组损失函数,以进一步提高行人重识别网络的识别精度。

本发明中,上述各技术方案之间还可以相互组合,以实现更多的优选组合方案。本发明的其他特征和优点将在随后的说明书中阐述,并且,部分优点可从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过说明书以及附图中所特别指出的内容中来实现和获得。

附图说明

附图仅用于示出具体实施例的目的,而并不认为是对本发明的限制,在整个附图中,相同的参考符号表示相同的部件。

图1为本发明实施例基于样本分离的无监督行人重识别系统的示意图;

图2为本发明实施例行人重识别网络模型的示意图;

图3为本发明实施例基于样本分离的无监督行人重识别系统的流程图。

附图标记:

110-数据获取模块;120-网络模型训练模块;130-重识别模块。

具体实施方式

下面结合附图来具体描述本发明的优选实施例,其中,附图构成本申请一部分,并与本发明的实施例一起用于阐释本发明的原理,并非用于限定本发明的范围。

系统实施例

本发明的一个具体实施例,公开了一种基于样本分离的无监督行人重识别系统。如图1所示,该系统包括:

数据获取模块110,用于获取源域样本集和目标域样本集,并分别随机分为多个源域样本子集和多个目标域样本子集。具体的,用不同摄像机从不同角度随机采集大量行人的图片,每一张图片包含一个行人,将采集的图片分为训练集和测试集,训练集用于对行人重识别网络模型进行训练,测试集用于对训练好的行人重识别网络模型进行测试,以保证行人重识别网络模型的识别精度。在训练集中随机选取部分图片,并为其中每一张图片添加标签,该标签包括行人类别编号以及摄像机编号;具体的,为同一个行人的多张图片添加同一行人类别标号,不同的标签表示不同的行人,将添加标签后的图片随机分为多个源域样本子集,将训练集中未添加标签的其他图片作为目标域样本集,并为每一图片添加编号,并将添加编号后的图片随机分为多个目标域样本子集,目标域样本集中,每一个编号都代表一张行人图片,同一行人的多张图片对应多个编号。

网络模型训练模块120,用于获得行人重识别网络模型的分类损失函数和样本不变性损失函数,以及根据目标域样本子集中各行人图片间的相似度方差获得样本分离损失函数,还用于根据目标域样本子集中正样本组、负样本组分别与存储的目标域样本间的相似度获得无监督三元组损失函数;基于分类损失函数、样本不变性损失函数、样本分离损失函数及无监督三元组损失函数对行人重识别网络模型进行迭代优化。

重识别模块130,用于根据优化好的行人重识别网络模型对待识别行人图片进行识别,获得与该待识别行人图片属于同一行人的图片。具体的,将待识别行人图片输入至训练好的行人重识别网络模型中,该模型能够输出与该待识别行人图片中的行人为同一个行人的其他图片的编号,该其他图片为目标域样本集中的图片,再人工比对该待识别行人图片与重识别模块输出的编号对应的行人图片是否为同一行人。

优选的,如图2所示,行人重识别网络模型包括残差网络结构、与分类损失函数相对应的依次连接的全连接层和softmax归一化层、与样本不变性损失函数对应的l2标准化层(图2中未示出)、与样本分离损失函数对应的第一相似度衡量轴网络结构,与无监督三元组损失函数相对应的第二相似度衡量轴网络结构和第三相似度衡量轴网络结构,还包括存储器,分别与所述第一相似度衡量轴网络结构、第二相似度衡量轴网络结、第三相似度衡量轴网络结构连接;所述残差网络结构分别与所述全连接层、存储器连接。具体的,存储器为键值存储结构,键中用于存储行人图片的特征,值中用于存储该行人图片对应的编号或标签,示例性的,残差网络结构为resnet50。

优选的,网络模型训练模块具体通过下述方式获得各损失函数:

步骤1、将源域样本子集和目标域样本子集分别输入残差网络结构进行图片特征提取,以获得源域样本子集中每一行人图片的特征以及目标域样本子集中每一行人图片的特征,并分别进行存储;

步骤2、具体通过下述方式获得样本分离损失函数:

将目标域样本子集中每一行人图片的特征与已经存储的目标域样本每一行人图片的特征相乘获得对应的相似度,此处已经存储的目标域样本指的是之前目标域样本子集训练获得的每一行人图片的特征:

di,j=f(xt,i)*r[j]t

其中,xt,i表示目标域样本子集输入行人重识别网络时输入顺序为i的行人图片,f(xt,i)表示行人图片xt,i的特征,r[j]表示存储的目标域样本中第j类行人图片的特征,di,j表示行人图片xt,i与第j类行人图片间的相似度。

通过下述公式获得目标域样本子集中的行人图片与已经存储的目标域样本行人图片间的平均相似度:

其中,b表示目标域样本子集中行人图片的数量,nt表示存储的目标域样本行人图片的类别数,μ表示平均相似度。

根据平均相似度通过下述公式计算获得目标域样本子集中各行人图片间的相似度方差:

其中,δ表示相似度方差。

基于该相似度方差通过下述公式获得样本分离损失函数:

ltd=ln(1+δ),

其中,ltd表示样本分离损失函数。

该损失函数能够在行人重识别网络模型的训练过程中减少目标域样本间的关联性,通过降低样本间相似度的方差,从而降低样本间的影响,以提高训练获得的行人重识别网络模型的识别精度。

步骤3、具体通过下述方式获得无监督三元组损失函数:

对于待识别的行人,在目标域中可能会存在许多正样本(同一个行人的不同图片),由于环境等因素的影响,这些正样本会因为拍摄角度等原因,导致不同与目标行人的相似度也不同(由于不同行人在摄像机下处的位置不同,所以同一个行人在不同位置的相似度不一样,即两张图片不可能完全一样),所以在网络训练中,如果只把正样本单纯的归为一大类正样本是有损网络的识别精度的,因此本申请将正样本进行分层,从而将监督行人重识别网络中得到三元组损失结合到无监督行人重识别网络中,以降低损失,提高网络的识别精度。

具体的,网络模型训练模块通过下述方式获得目标域样本子集中正样本组、负样本组分别与存储的目标域样本间的相似度:

基于目标域样本子集中每一行人图片与已经存储的目标域样本每一行人图片的相似度将目标域样本子集中的行人图片进行降序排序,并按顺序从第一预设序位起选取第一预设数量的图片作为正样本组,从第二预设序位起选取第二预设数量的图片作为负样本组。示例性的,在实际应用的过程中,将目标域样本子集中的行人图片按相似度间须排序后,按顺序选取第一张行人图片作为第一层图片(自身图片),从第二张图片起选3张行人图片作为第二层图片(大概率相似图片),从第四张图片起选取k-4张图片作为第三层图片(相似图片),优选的,k的取值为150。其中,将第二层图片作为目标域样本无监督三元组损失的正样本组,正样本即同一个行人的不同图片;并从第k张图片起选取三张图片作为目标域样本无监督三元组损失的负样本组,负样本即看起来相似,但实际不是同一个行人的图片。

通过下述公式计算获得正样本组与存储的目标域样本间的相似度:

其中,p(j/xt,i')表示正样本组中第i'张行人图片xt,i'属于存储的目标域样本中第j类行人图片的概率,f(xt,i')表示行人图片xt,i'的特征,c表示正样本组中行人图片的数量,st表示正样本组与存储的目标域样本间的相似度,r[j]表示存储的目标域样本中第j类行人图片的特征,r[z]表示存储的目标域样本中第z类行人图片的特征,nt表示存储的所有目标域样本中行人图片的类别数。

通过下述公式计算获得负样本组与存储的目标域样本间的相似度:

其中,p(j/xt,i”)表示负样本组中第i”张行人图片xt,i”属于存储的目标域样本中第j类行人图片的概率,f(xt,i”)表示行人图片xt,i”的特征,r表示所述负样本组中行人图片的数量,sf表示负样本组与存储的目标域样本间的相似度。

基于正样本组、负样本组分别与存储的目标域样本间的相似度通过下述公式获得无监督三元组损失函数:

其中,lmml表示无监督三元组损失函数,为常数。

步骤4、具体通过下述方式获取行人重识别网络模型的分类损失函数:

将该每一行人图片的特征依次输入行人重识别网络模型的全连接层和softmax归一化层,进行特征维度转化和特征归一化;

基于维度转化和归一化后的每一行人图片的特征采用下述公式获得分类损失函数:

其中,xs,m表示源域样本子集中的第m张行人图片,f(xs,m)表示行人图片xs,m的特征,ys,m表示源域样本子集中行人图片xs,m的类别标签,p(ys,m|xs,m)表示行人图片xs,m属于类别ys,m的概率,该概率为行人重识别网络在训练过程中本身能够直接输出的概率,ns表示源域样本子集中行人图片的数量。

步骤5、具体通过下述方式获取行人重识别网络模型的样本不变性损失函数:

其中,lt表示样本不变性损失函数,nt表示目标域样本子集中行人图片的数量,xt,i表示目标域样本子集输入行人重识别网络模型时输入顺序为i的行人图片,f(xt,i)表示行人图片xt,i的特征,wi,j表示行人图片xt,i属于存储的目标域样本中第j类行人图片的权重,p(j|xt,i)表示行人图片xt,i属于存储的目标域样本中第j类行人图片的概率,nt表示存储的所有目标域样本子集中行人图片的类别数,r[j]表示存储的目标域样本中第j类行人图片的特征,r[z]表示存储的目标域样本中第z类行人图片的特征。

具体的,步骤2至步骤5可同时进行,不分前后顺序。

步骤6、重复下述步骤对行人重识别网络模型进行迭代优化:

遍历每一源域样本子集和每一目标域样本子集,基于每一源域样本子集和每一目标域样本子集获得的分类损失函数、样本不变性损失函数、样本分离损失函数及无监督三元组损失函数,获得总损失函数,判断该总损失函数值的变化量是否小于预设值,若是,则完成对行人重识别网络模型的优化,若否,则基于数据获取模块重新随机划分的多个源域样本子集和多个目标域样本子集重复上述步骤,直至完成对行人重识别网络模型的优化;

该总损失函数为:

l=λ1lsrc+λ2lt+λ3ltd+λ4lmml,

其中,l表示总损失函数,lsrc表示分类损失函数,λ1表示分类损失函数的权重,lt表示样本不变性损失函数,λ2表示样本不变性损失函数的权重,ltd表示样本分离损失函数,λ3表示样本分离损失函数的权重,lmml表示无监督三元组损失函数,λ4表示无监督三元组损失函数的权重。示例性的,λ1取值为0.7,λ2取值为0.3,λ3的取值为0.2,λ4的取值为0.2。

方法实施例

本发明的另一个实施例公开了一种基于样本分离的无监督行人重识别方法,由于该方法实施例与上述系统实施例基于相同的原理,因此在此不再赘述,重复之处可以参考上市系统实施例。

具体的,如图3所示,该方法包括以下步骤:

s110、获取源域样本集和目标域样本集,并分别随机分为多个源域样本子集和多个目标域样本子集。

s120、获得行人重识别网络模型的分类损失函数和样本不变性损失函数,以及根据目标域样本子集中各行人图片间的相似度方差获得样本分离损失函数,还用于根据目标域样本子集中正样本组、负样本组分别与存储的目标域样本间的相似度获得无监督三元组损失函数;基于分类损失函数、样本不变性损失函数、样本分离损失函数及无监督三元组损失函数对行人重识别网络模型进行迭代优化。

s130、根据优化好的行人重识别网络模型对待识别行人图片进行识别,获得与该待识别行人图片属于同一行人的图片。

与现有技术相比,本发明实施例公开的基于样本分离的无监督行人重识别系统及方法,一方面,首次通过计算目标域样本间的相似度方差引入样本分离损失函数,使行人重识别网络在训练过程中学习导致样本之间距离方差减少的特征,以减少样本与样本之间的影响,进而减少目标域样本中负样本对网络训练造成的精度损失,以提高行人重识别网络的识别精度;另一方面,首次通过将目标域正样本进行分层,从而在无监督行人重识别网络中引入监督行人重识别网络中的三元组损失函数,以进一步提高行人重识别网络的识别精度。

本领域技术人员可以理解,实现上述实施例方法的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读存储介质中。其中,所述计算机可读存储介质为磁盘、光盘、只读存储记忆体或随机存储记忆体等。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1