一种基于增广样本和多流层的行人检索方法与流程

文档序号:16756059发布日期:2019-01-29 17:22阅读:184来源:国知局
一种基于增广样本和多流层的行人检索方法与流程

本发明属于计算机视觉、深度学习、人工智能技术领域,具体涉及一种基于增广样本和多流层的行人检索方法。



背景技术:

行人检索旨在从不同角度架设的摄像机中检索特定行人,它在视频检索、多相机跟踪、行为识别等应用中扮演着重要的角色。然而行人检索还面临诸多挑战,例如姿态变化、视角变化、光照变化和遮挡。

目前,由于深度神经网络在特征学习中的优势,它被广泛应用于行人检索领域。然而,训练样本数量和模型结构对深度神经网络的性能产生较大影响。第一,在训练深度神经网络时,需要大量的样本,但是大多数现有的数据库都比较小,可能导致过拟合。第二,在实际应用中,因为行人可能穿着相似的衣服,所以很难从他们的外表进行辨别。因此,研究减小过拟合的方法和学习具有判别性的特征对行人检索的性能至关重要。就减小过拟合而言,最直接的方法是增加训练样本数量。为了增加训练样本,zhong等人在原始样本上随机地选择一个矩形区域,然后利用随机值替换这个区域的像素值从而增加样本;simonyan等人将样本随机翻转得到新图像之后去扩大训练集;zheng等人利用dcgan模型生成额外的样本,并且为每个生成样本分配一个额外的标签用于监督学习。然而,这些方法都不能直接利用生成样本减小模型的过拟合。此外,模型的损失函数与模型结构会严重影响判别性特征的学习。zhang等人利用交叉熵损失计算行人样本属于任何一类的概率;hermans等人提出三元组损失,在减小类内变化的同时增加类间变化;zheng等人使用识别深度神经网络和验证深度神经网络联合学习判别性较强的特征。然而,这些网络模型的结构都比较单一,不能从多方面学习行人的特征表示。



技术实现要素:

本发明的目的是要解决在训练深度网络时减小过拟合并从不同方面上提取行人的特征提高网络泛化能力,为此,本发明提供一种基于增广样本和多流层的行人检索方法。

为了实现所述目的,本发明提出一种基于增广样本和多流层的行人检索方法,所述方法包括以下步骤:

步骤s1,构建基于增广样本和多流层的深度神经网络;

步骤s2,获取训练集,利用深度卷积生成对抗网络产生生成样本,并用这些生成样本扩充训练集;

步骤s3,从所述训练集中选择b个真实样本和b个生成样本作为所述基于增广样本和多流层的深度神经网络的输入;

步骤s4,在训练过程中,利用所述深度神经网络的多流层从不同方面学习行人的微妙差别,得到行人具有判别性的特征表示;

步骤s5,把行人的特征表示送入混合四元组损失,并基于得到的损失值对于所述基于增广样本和多流层的深度神经网络进行优化,得到训练完成的基于增广样本和多流层的深度神经网络;

步骤s6,在测试过程中,将待查询样本作为输入,利用训练完成的基于增广样本和多流层的深度神经网络提取多流层的输出作为所述待查询样本最终的特征表示,并根据所述待查询样本与搜索库中样本特征向量之间的相似度得到所述待查询样本的匹配结果。

可选地,所述步骤s1包括以下步骤:

步骤s11,选择预训练神经网络并对网络的参数赋值;

步骤s12,修改所述预训练神经网络并在其基础上添加多流层结构得到所需要的基于增广样本和多流层的深度神经网络。

可选地,所述步骤s12包括以下步骤:

步骤s121,移除所述预训练神经网络中最后的平均池化层和全连接层,得到修改后的预训练神经网络;

步骤s122,在得到的预训练神经网络之后添加多流层结构构成所需要的基于增广样本和多流层的深度神经网络。

可选地,所述步骤s122包括以下步骤:

步骤s1221,在所述预训练神经网络之后设置三个流结构,每个流结构包括一个卷积层和一个平均池化层;

步骤s1222,在三个流结构之后添加一个最大池化层,构成多流层。

可选地,所述步骤s2包括以下步骤:

步骤s21,将所述训练集中每一幅行人样本的大小调整到第一预设大小,并将这些行人样本作为深度卷积生成对抗网络中判别器的输入;

步骤s22,随机选择一个向量作为所述深度卷积生成对抗网络中生成器的输入;

步骤s23,使用所述深度卷积生成对抗网络迭代计算预设次数,获得生成样本;

步骤s24,将生成样本的大小调整到第二预设大小,并使用这些生成样本扩充所述训练集。

可选地,所述步骤s3包括以下步骤:

步骤s31,在训练集中随机选择b个真实样本和b个生成样本作为一个批次;

步骤s32,将每一个批次中样本的大小调整到第二预设大小,并将这些样本作为所述基于增广样本和多流层的深度神经网络的输入。

可选地,所述步骤s4包括以下步骤:

步骤s41,把输入样本送入所述深度神经网络多流层之前的部分,得到相应的卷积激活图;

步骤s42,将所述卷积激活图送入所述深度神经网络的多流层,利用多流层从不同方面学习行人具有判别性的特征表示。

可选地,所述步骤s42包括以下步骤:

步骤s421,将所述卷积激活图分别送入多流层中的三个不同的流结构中学习行人特征;

步骤s422,利用最大池化层融合三个不同流结构的输出,并将融合的特征作为行人的特征表示。

可选地,所述混合四元组损失表示为:

lhtl=[m+dap-dan]++α[m1+dap-dag]+,

其中,[s]+代表max(s,0),f(y)表示样本y的特征向量,α是一个超参数,m和m1表示阈值,a表示锚样本,p表示正样本,n表示负样本,g表示生成样本,dap表示锚样本与正样本之间的距离,dan表示表示锚样本与负样本之间的距离,dag表示表示锚样本与生成样本之间的距离。

可选地,所述步骤s6包括以下步骤:

步骤s61,将待查询样本送入训练完成的基于增广样本和多流层的深度神经网络,将多流层的输出作为所述待查询样本最终的特征表示;

步骤s62,基于所述待查询样本与搜索库中样本特征向量,计算两者的相似度得分;

步骤s63,利用相似度得分对所述待查询样本进行匹配,获得匹配结果。

本发明的有益效果为:本发明利用多流程从不同方面学习行人的特征,并利用混合四元组损失减小行人类内差距与此同时增加类外差距,有效的减小了过拟合,提高网络的泛化能力,从而提高行人检索匹配的正确率。

需要说明的是,本发明得到了国家自然科学基金项目no.61501327、no.61711530240,天津市自然科学基金重点项目no.17jczdjc30600,天津师范大学“青年科研拔尖人才培育计划”no.135202rc1703,模式识别国家重点实验室开放课题基金no.201700001、no.201800002,中国国家留学基金no.201708120040、no.201708120039和天津高等学校创新团队基金项目的资助。

附图说明

图1是根据本发明一实施例的基于增广样本和多流层的行人检索方法的流程图。

图2是根据本发明一实施例构建的基于增广样本和多流层深度神经网络的结构框图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明了,下面结合具体实施方式并参照附图,对本发明进一步详细说明。应该理解,这些描述只是示例性的,而并非要限制本发明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。

图1是根据本发明一实施例基于增广样本和多流层深度神经网络的行人检索方法的流程图,下面以图1为例来说明本发明的一些具体实现流程。本发明的方法是一种基于增广样本和多流层的行人检索方法,其具体步骤包括:

步骤s1,构建基于增广样本和多流层的深度神经网络,图2显示了根据本发明一实施例构建的基于增广样本和多流层深度神经网络的结构框图;

进一步地,所述步骤s1包括以下步骤:

步骤s11,选择预训练神经网络并对网络的参数赋值;

在本发明一实施例中,所述预训练神经网络选为残差网络-50;

步骤s12,修改所述预训练神经网络并在其基础上添加多流层结构得到所需要的基于增广样本和多流层的深度神经网络。

其中,所述步骤s12包括以下步骤:

步骤s121,移除所述预训练神经网络中最后的平均池化层和全连接层,得到修改后的预训练神经网络;

步骤s122,在得到的预训练神经网络之后添加多流层结构构成所需要的基于增广样本和多流层的深度神经网络。

其中,所述步骤s122包括以下步骤:

步骤s1221,在所述预训练神经网络之后设置三个流结构,每个流结构包括一个卷积层和一个平均池化层,其中每个流结构中卷积层的滤波器大小分别为:1×1,2×2和3×3;

步骤s1222,在三个流结构之后添加一个最大池化层,构成多流层。

步骤s2,获取训练集,利用深度卷积生成对抗网络产生生成样本,并用这些生成样本扩充训练集;

进一步地,所述步骤s2包括以下步骤:

步骤s21,将所述训练集中每一幅行人样本的大小调整到第一预设大小,比如128×64,并将这些行人样本作为深度卷积生成对抗网络中判别器的输入;

步骤s22,随机选择一个向量作为所述深度卷积生成对抗网络中生成器的输入,其中,所述向量可以为100维;

步骤s23,使用所述深度卷积生成对抗网络迭代计算预设次数,比如40次,获得生成样本;

步骤s24,将生成样本的大小调整到第二预设大小,比如256×128,并使用这些生成样本扩充所述训练集。

步骤s3,从所述训练集中选择b个真实样本和b个生成样本作为所述基于增广样本和多流层的深度神经网络的输入;

进一步地,所述步骤s3包括以下步骤:

步骤s31,在训练集中随机选择b个真实样本和b个生成样本作为一个批次;

在本发明一实施例中,所述真实样本个数b=64,生成样本个数b=64。

步骤s32,将每一个批次中样本的大小调整到第二预设大小256×128,并将这些样本作为所述基于增广样本和多流层的深度神经网络的输入。

步骤s4,在训练过程中,利用所述深度神经网络的多流层从不同方面学习行人的微妙差别,得到行人具有判别性的特征表示;

进一步地,所述步骤s4包括以下步骤:

步骤s41,把输入样本送入修改后的预训练神经网络中,即所述深度神经网络多流层之前的部分,得到相应的卷积激活图,其大小为16×8;

步骤s42,将所述卷积激活图送入所述深度神经网络的多流层,利用多流层从不同方面学习行人具有判别性的特征表示。

其中,所述步骤s42包括以下步骤:

步骤s421,将所述卷积激活图分别送入多流层中的三个不同的流结构中学习行人特征;

步骤s422,利用最大池化层融合三个不同流结构的输出,并将融合的特征作为行人的特征表示。

在本发明一实施例中,所述行人的特征为2048维向量。

步骤s5,把行人的特征表示送入混合四元组损失,并基于得到的损失值对于所述基于增广样本和多流层的深度神经网络进行优化,得到训练完成的基于增广样本和多流层的深度神经网络;

进一步地,所述步骤s5包括以下步骤:

步骤s51,将所述行人的特征表示送入混合四元组损失,其中,所述混合四元组损失可以表示为:

lhtl=[m+dap-dan]++α[m1+dap-dag]+

其中,[s]+代表max(s,0),f(y)表示样本y的特征向量,α是一个超参数,m和m1表示阈值,a定义为锚样本,p表示正样本,n表示负样本,g表示生成样本,dap表示锚样本与正样本之间的距离,dan表示表示锚样本与负样本之间的距离,dag表示表示锚样本与生成样本之间的距离;

在本发明一实施例中,实验性的可设置α=0.1,m=0.3,m1=0.2。

步骤s52,基于得到的损失值对于所述基于增广样本和多流层的深度神经网络进行优化;

在本发明一实施例中,基于得到的损失值利用adam优化器对于所述基于增广样本和多流层的深度神经网络进行优化。

步骤s6,在测试过程中,将待查询样本作为输入,利用训练完成的基于增广样本和多流层的深度神经网络提取多流层的输出作为所述待查询样本最终的特征表示,并根据所述待查询样本与搜索库中样本特征向量之间的相似度得到所述待查询样本的匹配结果。

进一步地,所述步骤s6包括以下步骤:

步骤s61,将待查询样本送入训练完成的基于增广样本和多流层的深度神经网络,将多流层的输出作为所述待查询样本最终的特征表示;

步骤s62,基于所述待查询样本与搜索库中样本特征向量,计算两者的相似度得分;

步骤s63,利用相似度得分对所述待查询样本进行匹配,获得匹配结果。

在本发明一实施例中,所述相似度得分为基于余弦距离得到。

在本发明一实施例中,所述匹配结果为相似度得分最高的行人样本。

以网上公开的行人检索数据库作为测试对象,比如在dukemtmc-reid数据库上,当α=0.1,m=0.3,m1=0.2时,行人再识别匹配的正确率为rank-1=79.4%,平均精度map=62.6%。由此可见本发明方法的有效性。

应当理解的是,本发明的上述具体实施方式仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。

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