一种自适应难例挖掘的行人重识别模型、方法与系统与流程

文档序号:15638236发布日期:2018-10-12 21:44阅读:687来源:国知局

本发明属于模式识别技术领域,更具体地,涉及一种自适应难例挖掘的行人重识别模型、方法与系统。



背景技术:

行人的重识别算法是图像处理和模式识别研究的重要领域之一。所谓行人的重识别,是指将某个待定的被搜索的目标行人作为搜索的源,在其他的摄像头拍摄视频自动地找到同一目标的算法,其主要难点在于目标在不同场景下受光照、视角、遮挡等干扰因素的影响呈现出极大的类内差异。随着深度学习技术的发展,行人重识别算法的精度较之于手工特征和度量学习等传统方法有了长足的进步。但是,深度学习训练所需要的样本数量巨大,且对于行人重识别任务,容易分类的训练样本的数量往往远大于难以正确分类的训练样本(难例样本)的数量,现有技术没有充分考虑难例样本,而往往过多的简单样本对反而会导致深度卷积神经网络的过拟合现象发生,大多数算法在训练的每次迭代过程中选择一定量的难例样本用来更新网络。然而,在训练初始阶段,网络还未完全收敛,过度强调挖掘难例样会导致网络因为样本数量减少而产生欠拟合现象。

由此可见,现有技术存在过拟合、欠拟合、识别准确率低的技术问题。



技术实现要素:

针对现有技术的以上缺陷或改进需求,本发明提供了一种自适应难例挖掘的行人重识别模型、方法与系统,由此解决现有技术存在过拟合、欠拟合、识别准确率低的技术问题。

为实现上述目的,按照本发明的一个方面,提供了一种自适应难例挖掘的行人重识别模型的训练方法,包括:

(1)采集样本图片,将样本图片随机分成每次迭代使用的训练集合,将每个训练集合中的所有样本图像两两分组,得到多个样本对,若样本对中两张样本图像来自同一目标行人则该样本对的真实标签为正样本对,否则该样本对的真实标签为负样本对;

(2)将第一次迭代的训练集合输入卷积神经网络,利用softmax函数得到每个样本对属于正、负样本对的概率,进而利用多项逻辑斯蒂函数得到每个样本对的损失;

(3)对于每个训练集合中所有样本对的损失从大到小排列得到集合s,并计算每个训练集合的总损失l,利用每个训练集合的总损失l与一个自适应的难例阈值相乘得到每个训练集合的难例样本对的损失和的阈值β,当集合s中前m个样本对的损失和超过阈值β时,集合s中前m个样本对构成难例样本对集合h;

(4)利用难例样本对集合h向前传播训练卷积神经网络,利用难例样本对集合h中难例样本对的损失在卷积神经网络中反向传播来更新卷积神经网络的参数;

(5)将第a次迭代的训练集合输入卷积神经网络,a≥2,然后重复步骤(2)-(4),直到当前迭代次数达到迭代次数上限,卷积神经网络训练完成,得到行人重识别模型。

进一步地,步骤(2)中每个样本对的损失为:

其中,lpi为样本对pi的损失,z={z0,z1}表示每个样本对属于正、负样本对的概率,zy为样本对的真实标签,zy为0或者1。

进一步地,一个自适应的难例阈值为:

其中,α为一个自适应的难例阈值,ic为当前的迭代次数,im为总的迭代次数,γ为第一线性化参数,ε为第二线性化参数,所述γ和ε的取值随着迭代次数的增加而增加。

进一步地,γ的取值范围为0.7-0.9,所述ε的取值范围为0.1-0.3。

按照本发明的另一方面,提供了一种自适应难例挖掘的行人重识别模型,所述行人重识别模型由本发明的训练方法训练得到。

按照本发明的另一方面,提供了一种自适应难例挖掘的行人重识别方法,包括:

利用本发明的训练方法训练得到的行人重识别模型提取待识别图片集的中每个图片的特征,计算特征之间的欧氏距离得到待识别图片集中样本对的距离,利用待识别图片集中样本对的距离得到待识别图片集中样本对的相似度排序。

按照本发明的另一方面,提供了一种自适应难例挖掘的行人重识别系统,包括:

采集与标记模块,用于采集样本图片,将样本图片随机分成每次迭代使用的训练集合,将每个训练集合中的所有样本图像两两分组,得到多个样本对,若样本对中两张样本图像来自同一目标行人则该样本对的真实标签为正样本对,否则该样本对的真实标签为负样本对;

计算损失模块,用于将第一次迭代的训练集合输入卷积神经网络,利用softmax函数得到每个样本对属于正、负样本对的概率,进而利用多项逻辑斯蒂函数得到每个样本对的损失;

获取难例样本对模块,用于对于每个训练集合中所有样本对的损失从大到小排列得到集合s,并计算每个训练集合的总损失l,利用每个训练集合的总损失l与一个自适应的难例阈值相乘得到每个训练集合的难例样本对的损失和的阈值β,当集合s中前m个样本对的损失和超过阈值β时,集合s中前m个样本对构成难例样本对集合h;

训练模块,用于利用难例样本对集合h向前传播训练卷积神经网络,利用难例样本对集合h中难例样本对的损失在卷积神经网络中反向传播来更新卷积神经网络的参数;

目标模块,用于将第a次迭代的训练集合输入卷积神经网络,a≥2,然后重复执行计算损失模块、获取难例样本对模块和训练模块,直到当前迭代次数达到迭代次数上限,卷积神经网络训练完成,得到行人重识别模型;

识别模块,用于行人重识别模型提取待识别图片集的中每个图片的特征,计算特征之间的欧氏距离得到待识别图片集中样本对的距离,利用待识别图片集中样本对的距离得到待识别图片集中样本对的相似度排序。

总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:

(1)本发明在训练模型时,具有难例挖掘算法的优点,能够使网络避免过拟合现象且具有更好判别性能,同时难例挖掘算法与训练过程紧密结合又使得难例样本的选取更加科学,避免了欠拟合现象发生。对于传统的难例挖掘只按一定比例选取损失大的一部分样本作为难例样本训练而不考虑训练过程中每个训练集合之间的差异和训练的不同阶段网络对样本数量需求的不同,得到的自适应难例挖掘的行人重识别模型更加的合理、高效。

(2)本发明利用难例样本对集合h向前传播训练卷积神经网络,利用难例样本对集合h中难例样本对的损失在卷积神经网络中反向传播来更新卷积神经网络的参数,既实现了难例挖掘的功能也减轻了计算的复杂度,提高了计算的效率;本发明能和大多数已有网络和各种损失计算方法紧密结合,且取得了良好的效果,具有优秀的泛化性能。使用本发明训练得到的模型提取得到的特征更准确有效,使得后续的识别结果:相似度排序更准确。

附图说明

图1是本发明实施例提供的行人重识别模型的训练方法的流程图;

图2(a)是本发明实施例提供的正样本对的难例样本示意图;

图2(b)是本发明实施例提供的负样本对的难例样本示意图;

图3是本发明实施例提供的卷积神经网络的结构图;

图4是本发明实施例提供的随着训练迭代的次数难例挖掘阈值的自适应变化过程示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。

如图1所示,一种自适应难例挖掘的行人重识别模型的训练方法,包括:

(1)采集样本图片,将样本图片随机分成每次迭代使用的训练集合,将每个训练集合中的所有样本图像两两分组,得到多个样本对,若样本对中两张样本图像来自同一目标行人则该样本对的真实标签为正样本对,否则该样本对的真实标签为负样本对;

(2)将第一次迭代的训练集合输入卷积神经网络,利用softmax函数得到每个样本对属于正、负样本对的概率,进而利用多项逻辑斯蒂函数得到每个样本对的损失:

其中,lpi为样本对pi的损失,z={z0,z1)表示每个样本对属于正、负样本对的概率,zy,为样本对的真实标签,zy为0或者1。

(3)对于每个训练集合中所有样本对的损失从大到小排列得到集合s,并计算每个训练集合的总损失l,利用每个训练集合的总损失l与一个自适应的难例阈值相乘得到每个训练集合的难例样本对的损失和的阈值β,当集合s中前m个样本对的损失和超过阈值β时,集合s中前m个样本对构成难例样本对集合h;一个自适应的难例阈值为:

其中,α为一个自适应的难例阈值,ic为当前的迭代次数,im为总的迭代次数,γ为第一线性化参数,ε为第二线性化参数。γ的取值范围为0.7-0.9,所述ε的取值范围为0.1-0.3,所述γ和ε的取值随着迭代次数的增加而增加。

(4)利用难例样本对集合h向前传播训练卷积神经网络,利用难例样本对集合h中难例样本对的损失在卷积神经网络中反向传播来更新卷积神经网络的参数;这样既保持了网络的难例挖掘功能,又不必使用所有的样本对来前向和反向传播,节约了计算的开销,提高了训练的效率。

(5)将第a次迭代的训练集合输入卷积神经网络,a≥2,然后重复步骤(2)-(4),直到当前迭代次数达到迭代次数上限,卷积神经网络训练完成,得到行人重识别模型。

在行人重识别的任务中,难以被正确分类的样本对叫做难例样本对,这些样本对在训练过程中的特点主要是和标签比较计算之后的损失较大。具体来讲,如图2所示,对于正样本对(图2(a))和负样本对(图2(b)),对于样本对的难易程度由易到难的顺序都是从里到外由难到易。同理,负样本对的难易程度刚好相反。简而言之,我们需要更多关注和挖掘的是那些难例样本。

一种自适应难例挖掘的行人重识别方法,包括:

利用本发明的训练方法训练得到的行人重识别模型提取待识别图片集的中每个图片的特征,计算特征之间的欧氏距离得到待识别图片集中样本对的距离,利用待识别图片集中样本对的距离得到待识别图片集中样本对的相似度排序。

如图3所示,是本发明实施例提供的卷积神经网络的结构图,训练集合batch中的图片是成对输入的,按标签分为正样本对和负样本对,提取特征子网络通常采用普遍使用的网络结构,我们的算法实现部分主要集中在难例挖掘子网络,包括计算样本对损失和用自适应的方法选取难例样本对的功能,如上所述,这一部分是只读功能,只用作前向计算和传播,而被选中的难例样本对将被输入到结构相似的另一子网络中,用于反向传播更新网络参数,这两个子网络全连接层是参数共享的。这样我们的网络因为只用少量的难例样本对来更新参数从而计算更加快捷高效。

如图4所示,这是随着训练迭代次数的增加,难例样本的选择阈值随之变化的过程。从图中可以看出,在训练初始阶段,为了使网络更快的拥有行人重识别的性能,我们降低难例样本的选择阈值,使得更多的样本对被用于训练,难例样本出现在内层的圆圈中,避免训练样本过少导致欠拟合现象发生;在训练的后期,我们提高难例样本的选择阈值,使得真正难例的样本被用作训练,难例样本只考虑出现在外层圆圈中的样本,提高网络的识别精度,又同时避免过多的简单样本导致的过拟合现象发生。

本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

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