一种基于深度多索引哈希的行人重识别方法与流程

文档序号:17993676发布日期:2019-06-22 01:00阅读:395来源:国知局
一种基于深度多索引哈希的行人重识别方法与流程
本发明涉及一种基于深度多索引哈希的行人重识别方法,用于实现非重叠视角域多摄像头网络场景下利用低存储空间的高效行人检索。
背景技术
:随着计算机视觉技术的发展,图像和视频等相关的应用在国民日常生活中的地位日益突出。此外,图像处理学科既是科学领域中具有挑战的研究方向,也是工程领域中的重要应用技术。行人重识别是近几年计算机视觉领域新兴的研究热点,是指在非重叠视角域多摄像头网络场景下进行行人匹配的任务,即确认不同位置的摄像头在不同的时刻拍摄到的行人目标是否为同一行人,属于在复杂视频环境下的图像处理和分析范畴,是许多监控和安防应用中的主要任务。由于公共安全需求的增加,以及摄像监控网络规模的扩大,单纯依靠人力劳动力进行行人重识别任务的成本极高,甚至是无法完成的。因此在大规模行人数据中,如何自动准确地进行待查询行人的匹配备受关注。大多数的行人重识别研究工作主要关注算法的效果却很少在意其检索的效率。在实际的应用中,行人图片数据是呈爆炸式增长的,因此设计一种准确、高效的行人重识别算法至关重要。技术实现要素:发明目的:为了解决这个问题,本发明主要从哈希学习的角度出发,用离散哈希对行人图片进行表示,一方面降低行人图片的存储开销,另一方面通过哈希检索技术在海明空间内进行行人图片的匹配,大大提高了算法运行的效率。技术方案:一种基于深度多索引哈希的行人重识别方法,引入多索引哈希意在解决行人图片的存储开销大以及检索效率低的问题。同时,通过多粒度深度网络学习行人图片的实值特征表示和哈希编码来提升算法性能。主要包括特征学习和多索引哈希检索两部分,具体包括以下的步骤:1)基于行人区域检测技术,从原始视频数据中构造行人图片训练集;2)基于行人图片训练集,构建并训练多粒度网络模型,得到哈希函数以及训练集图片对应的实值特征和哈希编码;3)基于哈希编码,设计分块划分策略构建索引;4)对于摄像头新收集的数据,使用哈希函数计算哈希编码,并实时增加到索引中;使得在线检索可以返回实时的结果;5)对于给定的目标行人图片,使用哈希函数计算哈希编码,基于哈希编码在索引中进行检索,再基于实值特征进行重排序。上述步骤1)的过程为:对于来自监控摄像头的原始视频数据,首先需要进行视频切帧操作,然后对切帧后的图片数据进行行人区域检测,以生成行人图片作为训练集。上述步骤2)的过程为:使用预训练的卷积神经网络多粒度网络模型提取行人图片的特征表示,预训练的卷积神经网络多粒度网络模型以resnet-50(kaiminghe,xiangyuzhang,shaoqingren,jiansun,deepresiduallearningforimagerecognition,2016{ieee}conferenceoncomputervisionandpatternrecognition)作为主干,并将其划分为:全局分支、上下身分支、上中下身分支。在训练和测试的过程中将三个分支的输出进行合并从而得到行人图片的实值特征表示,这样的特征表示蕴含了多粒度的行人信息。对于每一个分支,在特征表示层后添加一层全连接层作为哈希层,哈希层的维度对应于哈希编码的长度。在多粒度网络模型的训练过程中,使用归一化指数函数损失为行人图片的实值特征表示建模,使用三元组损失为行人图片的哈希编码建模,使用多索引查询敏感损失来为检索进行加速。在求解时,使用梯度反向传播优化深度网络的参数。上述步骤3)的过程为:在需要建立多个哈希索引的情况下,使用分块划分策略,对行人图片的哈希编码进行划分,划分后的子串分别进行索引的建立,从而缓解直接对哈希编码进行划分可能导致的单个索引中不存在多粒度的信息,即多粒度的信息在划分过程中遭到破坏的问题。上述步骤5)的过程为:基于多索引哈希的近邻检索通常会返回大量的近邻,且近邻之间的排序关系较为粗糙,在此基础上,基于多粒度网络模型输出的实值特征表示,在近邻范围内进行重排序,再根据要求按序返回重排序后的检索结果,可以进一步提升系统在精确度方面的表现。附图说明图1为本发明索引构建流程图;图2为本发明索引更新流程图;图3为本发明在线检索流程图。具体实施方式下面结合具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。图1展示了基于深度多索引哈希的行人重识别方法的索引构建流程。首先收集来自监控摄像头的原始视频数据,进行视频切帧操作,然后对切帧后的图片数据进行行人区域检测,以生成行人图片作为训练集。将行人图片作为多粒度网络模型的输入,学习行人图片的实值特征表示和哈希编码。多粒度网络模型以resnet-50作为主干,包括五层卷积神经网络,一层全局池化层,一层维度压缩层,一层哈希层,其中第五层卷积神经网络将原始的resnet-50划分为:全局分支、上下身分支、上中下身分支,具体参数配置如表1。网络的配置可能包含如下几个部分:"filter"指定卷积感受野的大小和卷积个数;"stride"指定两个卷积操作间的间隔;"pad"表示零填充的数目;"maxpool"指定最大值下采样的区域大小。维度压缩层用2048维作为实值特征表示,哈希层的维度为对应的哈希编码的长度。多粒度网络模型的目标函数由三部分组成,对于第i个输入图片xi,令表示多粒度网络模型输出的实值特征表示,令{di,gi,hi}表示对应的离散二值编码,其中di,gi,hi∈{-1,+1}r,r为单个分支输出的哈希编码的长度。规定[]t表示向量的转置,[x]+表示函数max(0,x),||bi-bj||h表示二值向量bi和bj之间的海明距离:1)以最小批处理量为n的数据为例,三元组损失函数可以如下定义:其中di,分别表示锚点、正样例点、负样例点,α表示间隔超参数。由此我们可以定义关于离散二值编码{di,gi,hi}的三元组损失函数如下:2)为了能够学习到更加鲁棒的实值特征标志,我们使用归一化指数函数损失为行人图片的实值特征表示建模,我们定义分类损失函数如下:由此我们可以定义关于实值特征的归一化指数函数损失如下:3)在需要建立m个哈希索引的情况下,需要对哈希编码进行m等份的划分。然而直接对哈希编码[di;gi;hi]t进行划分可能会导致单个索引中不存在多粒度的信息,即多粒度的信息在划分的过程中遭到了破坏。为了缓解这个问题,设计分块划分策略,对每个分支输出的哈希编码单独进行m等份的划分,然后将各分支的第j份划分进行合并以形成第j个索引这种划分方式可以使每个索引都具有多粒度的信息。基于这种划分方式,令和分别表示离散二值变量bi和bj的第l个索引,定义和之间的海明距离为定义多索引查询敏感损失如下:综合式(2),(4),(6),可以得到多粒度网络模型的最终目标函数如下:这里β,γ是折中超参数,均为正实数,n是最小批处理量,r为单个分支输出的哈希编码的长度。在求解时,对目标函数(7)进行求导,使用梯度反向传播优化模型的参数。训练完成后,将实值特征保存在外存,构建外存数据库;基于哈希编码构建索引,并将哈希编码及索引保存在内存,构建内存数据库,以便于快速检索。图2展示了基于深度多索引哈希的行人重识别方法的索引更新流程。对于摄像头新收集的数据,使用多粒度网络模型得到对应的实值特征和哈希编码,并实时地添加到内外存数据库中。图3展示了基于深度多索引哈希的行人重识别方法的在线检索流程。对于给定的目标行人图片,将该图片作为多粒度网络模型的输入,计算并输出对应的实值特征表示和哈希编码。然后基于哈希编码,使用多索引哈希检索技术在内存中检索待查询行人图片的近邻。由于基于多索引哈希的近邻检索通常会检索出大量的近邻,且近邻之间的排序关系较为粗糙,为了进一步提升系统在精确度方面的表现,可以将保存在外存中的近邻图片的实值特征读入内存,计算其与目标行人图片的实值特征之间的欧氏距离,并根据计算得到的欧氏距离对近邻图片进行升序排序,再根据检索的要求按序返回检索结果。表1多粒度网络模型参数配置层名配置卷积层一filter64×7×7;stride2×2;pad0;maxpool3×3;卷积层二filter64×1×1;filter64×3×3;filter256×1×1;卷积层三[filter128×1×1;filter128×3×3;filter512×1×1;]×3卷积层四[filter256×1×1;filter256×3×3;filter1024×1×1;]×3全局分支[filter512×1×1;filter512×3×3;filter2048×1×1;]×3上下身分支[filter512×1×1;filter512×3×3;filter2048×1×1;]×3上中下身分支[filter512×1×1;filter512×3×3;filter2048×1×1;]×3全局池化层[maxpool24×8;maxpool12×8;maxpol8×8;]维度压缩层[filter256×1×1;]×8哈希层哈希编码长度当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1