基于三角模型的行人再识别度量方法与流程

文档序号:22325893发布日期:2020-09-25 17:54阅读:106来源:国知局

本发明属于计算机视觉和模式识别的技术领域,具体涉及基于三角模型的行人再识别度量方法。



背景技术:

在行人再识别研究当中,特征提取和相似度度量是再识别任务的重要步骤。虽然深度神经网络可以提取图像数据中的深度特征,使得模型得到较好的性能提升,但是合适的损失函数也是提高再识别性能的核心问题。良好的相似性度量可以提高图像间的搜索性能,提高模型再识别准确率,特别是当行人类别的数量很大或未知时。三元组损失函数广泛应用于行人再识别任务当中。在本发明中,我们以三元组损失函数为基础,为锚样本、正样本和负样本建立三角模型。在样本选择上,采用难样本挖掘的原理,确定三个样本点,根据三角形的角与边的对应关系,重新定义锚样本与正、负样本之间的距离关系,通过在三个公开数据集上的实验,我们证明该方法可以很好的衡量图像之间的相似度指标,有效提升行人再识别精度。



技术实现要素:

本发明的目的在于提供一种有效提升行人再识别精度的基于三角模型的行人再识别度量方法。

基于三角模型的行人再识别度量方法,包括如下步骤:

1)以bfe中的网络模型和resnet50模型为基本模型,其中,bfe模型含有两个分支,一个分支用来学习行人图像的全局特征,另外一个分支用来提取行人图像的细粒度特征;

2)以锚样本、正样本和负样本组成三元组损失函数,对锚样本、正样本和负样本构造三角形△apn,其顶点分别为xa,xp和xn,它们的边对应两样本点之间的距离。

进一步地,所述步骤1)中两个分支可以对行人图像的全局和细粒度特征进行联合学习。

与现有技术相比,本发明的有益效果是:

1)本发明中利用损失函数对多个模型结构的训练具有很好的监督性能,可以有效提高行人再识别准确率,并且在三个数据集上具有良好的泛化能力。

2)本发明采用bfe模型结构,提出的一种基于三角模型的三元组损失函数方法可以有效提升行人再识别准确度,并且在三个数据集上都有良好的泛化能力和鲁棒性,损失函数对模型的训练有更强的监督作用。

具体实施方式

下面实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。

实施例1

1)以bfe中的网络模型和resnet50模型为基本模型,其中,bfe模型含有两个分支,一个分支用来学习行人图像的全局特征,另外一个分支用来提取行人图像的细粒度特征;所述两个分支可以对行人图像的全局和细粒度特征进行联合学习。

2)以锚样本、正样本和负样本组成三元组损失函数,对锚样本、正样本和负样本构造三角形△apn,其顶点分别为xa,xp和xn,它们的边对应两样本点之间的距离。

本发明提出三角模型损失的一个关键参数是角,它决定了三元组距离度量增大或减小的程度。为了针对不同的数据集,确定各自最优的角,分别在三个不同的数据集上进行角度参数的实验。实验结果如表1.1、表1.2和表1.3所示。

表1.1为在数据集market1501上的角度实验。我们对角设置从0.001到0.05的实验区间。实验观察得知,当角α=0.008时,map和rank-1指标精度最高,分别达到了80.8%和91.7%。在rank-5、rank-10和rank-20精度比较中,角α=0.01时取得了最大的rank-5和rank-20精度,角取得了最大的rank-10精度,但是角α=0.05的其它评价指标精度较差,因而不能作为最优参数。角α=0.01虽然在两个精度取得了最优,但是map和rank-1指标精度较低,并且角α=0.008在第360个epoch就达到了最优值,而角α=0.01在第400个epoch达到最优值,因而α=0.008比α=0.01具有更强的收敛性。通过实验,在数据集market1501上,角参数设置为0.008。

表1.2为在数据集dukemtmc-reid上的角度实验。当角α=0.008时,除了rank-10以外,其余指标全部达到了最优,在rank-1和rank-5精度中分别提升了0.9%,因而为数据集dukemtmc-reid上的最优设置。

如表1.3为在cuhk03数据集上的角度实验。cuhk03-label表示行人边界框为手动标记,cuhk03-detect表示行人边界框为自动标记。由实验数据可知,在cuhk03-detect中,当α=0.008时,除了rank-5指标外,其余四个评价指标都达到了最优,因而α=0.008为cuhk03-detect的最优参数。在cuhk03-label中,α=0.01时三个评价指标比其它取值有明显的优势,其中map达到了76.8%,rank-1指标达到80.0%,rank-5指标达到了91.6%。因此,α=0.01为在cuhk03-label中的最优值。

为了验证我们提出的三角模型损失函数在reid任务上的优越性能,我们与其它两种损失函数做了对比实验。选择liftedstructureloss(ls)与softmarginbatch-hardtripletloss(smbht)两种先进损失函数,在具有两个分支的bfe模型中进行实验,评价指标为map和rank-1。得出如表1.4所示的结果。

根据实验结果可知,我们提出的基于三角模型的三元组损失函数在所有三个数据集中均表现良好。角α的设置基于不同数据集的最优设置而定,即market1501、dukemtmc-reid和cuhk03-detect设置为0.008,cuhk03-label设置为0.01。ls的margin阈值设置为1。在market1501中,我们的方法比ls的map精度高出1.1%,rank-1精度高出0.7%;比smbht的map精度高出0.5%,rank-1精度高出0.3%。在数据集dukemtmc-reid上,本发明方法的map精度比ls提高2.2%,rank-1精度提高2.5%;比smbht的map精度提高1.9%,rank-1精度提高1.1%。在cuhk03数据集中,cuhk03-detect和cuhk03-label的map精度和rank-1精度都有较为明显的提升。由于该数据集的训练样本较少,网络容易产生过拟合现象,而本发明方法在该数据集上的识别精度的提升,证明了该方法具有更好的识别性能和泛化能力。

为了证明本发明方法不仅可以使bfe模型的性能提升,在其它网络结构中同样可以提升性能。resnet50为目前计算机视觉领域各研究课题的一种基本模型,在该模型上的性能提升,可以证明本发明方法对其它复杂网络模型同样适用。我们在三个行人再识别数据集中进行了相关实验。实验结果如表1.5。

在实验过程中,对market1501和cuhk03数据集采用本发明实验设置的学习率,即epoch小于50时为1e-4×(epoch/5+1),epoch小于200时为1e-3,epoch小于300时为1e-4,300个epoch之后,学习速率衰减为1e-5。对于dukemtmc-reid数据集,我们设置epoch大于50小于200时的学习速率也为1e-4,因为当学习率为1e-3时,梯度下降过快,不能得到最优的结果。从实验结果可知,不考虑额外的图像深度特征所带来的有利影响,在标准的resnet50模型中,本发明提出的损失函数具有明显的性能提升。market1501数据集中map精度比smbht高出5.7%,dukemtmc-reid数据集中,rank-1精度有6.9%的提升。cuhk03-label中,比smbht的map精度高出13.1%,rank-1精度高出3.6%。实验证明,我们提出损失函数可以应用于其它模型当中,在多个数据集上具有良好的泛化性能,可以有效提高模型的再识别精度。

本发明方法为利用bfe网络模型为基本结构,提出一种基于三角模型的三元组损失函数改进方法。该方法在三个公开再识别数据集上具有良好的识别性能。选择几种现有的reid方法与本发明方法进行比较,实验结果如表1.6所示。

由表1.6可知,本发明方法与其它7种reid方法进行比较,可以得到较好的识别结果。在与bfe方法比较时,本发明方法在数据集market1501和dukemtmc-reid上并没有取得优势,这是因为bfe的损失函数采用了分类损失函数(softmaxloss)和验证损失函数(tripletloss)联合学习的方法,而本发明方法只使用了一种基于三角模型的三元组损失函数;在数据集cuhk03上,本发明方法比bfe略有优势,rank-1精度和map精度均有所提高,证明在数据集cuhk03上,本发明提出的一种基于三角模型的三元组损失函数性能可以超越softmaxloss和softmarginbatch-hardtripletloss两种损失函数联合学习的性能,证明了本发明方法的优越性。在与剩余6种方法的比较中,本发明方法在rank-1精度和map精度上都达到了最优。由实验结果可知,本发明采用bfe模型结构,提出的一种基于三角模型的三元组损失函数方法可以有效提升行人再识别准确度,并且在三个数据集上都有良好的泛化能力和鲁棒性,损失函数对模型的训练有更强的监督作用。

最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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