本发明属于计算机视觉领域,特别地涉及一种基于动态图卷积表征的视频行人重识别方法。
背景技术:
视频行人重识别被定义为如下问题:在给定待检索行人视频的情况下,从样本库行人视频中找出属于同一行人的对应视频。视频行人重识别常用于监控场景下行人跟踪、行人轨迹分析等应用中。传统方法通过对行人视频进行逐帧特征提取并加以融合,但是未考虑人体结构、视频内行人部件运动信息以及所提取特征之间的语义关联。本发明利用了人体结构以及特征相似度构建了一个整体的时空图结构,学习更加鲁棒的视频特征,这在本任务中是非常重要的。
由于统计建模的有效性,目前基于学习的方法逐渐被应用到视频行人重识别任务中。现有的基于学习的方法主要采用深度学习框架,输入一段行人视频,输出视频特征用于检索。
技术实现要素:
为解决上述问题,本发明的目的在于提供一种基于动态图卷积表征的视频行人重识别方法。该方法基于深度神经网络,对行人视频中逐帧进行图像块划分,利用了人体结构以及特征相似度构建了一个整体的时空图结构,利用人体关节点检测算法得到的人体部件信息作为先验加入到图卷积模型中,从而使模型能够学习更加鲁棒的视频特征。
为实现上述目的,本发明的技术方案为:
一种基于时空上下文学习的手部姿态估计方法,其包括以下步骤:
s1、获取用于训练的视频行人重识别算法数据集,并定义算法目标;
s2、对视频进行特征提取,构建基于图像块的特征金字塔;
s3、对视频进行人体关节点检测,基于人体部件位置计算得到结构邻接矩阵;
s4、利用s2中所述提取得到的特征,基于图像特征相似度计算得到相似度邻接矩阵;
s5、结合所述结构邻接矩阵以及相似度邻接矩阵,构建采用时间注意力机制以及图卷积的联合学习框架;
s6、使用所述联合学习框架对视频进行特征提取,采用特征间距离对样本库内行人视频进行排序。
基于上述方案,各步骤可以通过如下方式实现:
优选的,步骤s1中,获取所述用于训练的视频行人重识别算法数据集
优选的,步骤s2中,对视频进行特征提取,构建基于图像块的特征金字塔,具体包括以下子步骤:
s21、使用神经网络对视频中每一帧行人图像it提取特征,得到特征图ft∈rd×h×w:
ft=f(it;θbackbone)
其中f(·)表示卷积神经网络,θbackbone为神经网络参数,d、h、w分别为特征图的三个维度中的深度、高度和宽度;对每个视频中所有帧进行上述操作后得到所有特征图
s22、对所述s21中得到的t个特征图应用3d全局平均值池化(globalaveragepooling),得到全局特征向量xgap∈rd;
s23、对所述s21中得到的每个特征图应用金字塔池化(pyramidpooling),将ft在第二维度h进行等步长切分为1、2以及4个区域,并对每个区域中特征应用2d全局平均值池化(globalaveragepooling),得到金字塔特征向量
优选的,步骤s3中,对视频进行人体关节点检测,基于人体部件位置计算得到结构邻接矩阵,具体包括以下子步骤:
s31、使用人体关节点检测算法对视频中每一帧进行关节点检测,并得到头部、上半身、下半身三个部分的包围框;
s32、对所述s1中输入的训练视频
sk→{头部、上半身、下半身}
s33、构建结构邻接矩阵ap,该邻接矩阵中第i行第j列的元素计算公式为:
优选的,步骤s4中,利用s2所述提取得到的特征,基于图像特征相似度计算得到相似度邻接矩阵af,af中第i行第j列的元素计算公式为:
其中||·||2表示二范数,xi、xj分别为特征向量集台
优选的,步骤s5中,结合所述结构邻接矩阵以及相似度邻接矩阵,构建采用时间注意力机制以及图卷积的联合学习框架,具体包括以下子步骤:
s51、结合s3以及s4中所述结构邻接矩阵ap和相似度邻接矩阵af,构建图模型g={v,a},其中
其中γ为权重因子用以平衡结构邻接矩阵和相似度邻接矩阵。
s52、建立图卷积网络,每一层加入relu激活函数,其中每一层的图结构为s51中所述的节点特征以及节点关系,图卷积网络输出特征
其中fgcn()为图卷积网络,θgcn为图卷积网络参数;
s53、对所述s52中的输出特征
其中||·||1表示计算向量l1范数;
s54、对所述s22以及s53中分别得到的xgap和xgraph应用一层全连接操作,输出m类行人标签概率值p,xgap和xgraph对应的概率值p分别表示为pgap和pgraph,计算公式表示为:
pgap=ffc(xgap;θfc)
pgraph=ffc(xgraph;θfc)
其中ffc()为全连接层,θfc为可训练参数。
优选的,步骤s6中,使用所述联合学习框架对视频进行特征提取,采用特征间距离对样本库内行人视频进行排序,具体包括:
s61、基于由s1-s5建立的端到端联合学习框架,采用组输入,在训练中,将多帧图像输入该端到端联合学习框架的神经网络中,所有网络参数θ通过最小化损失函数进行学习,其中损失函数l采用交叉熵损失函数与三元损失函数之和;
使用adam优化方法和反向传播算法在损失函数l下训练整个网络;
s62、利用训练完成的神经网络对视频进行特征提取得到{xgraph,xgap}并拼接两个特征,通过计算给定待检索视频以及样本库内视频特征之间的欧几里得距离进行行人视频检索。
优选的,所述交叉熵损失函数为:
式中:
所述三元损失函数作用于特征,对输入视频构建锚点-正样本-负样本三元组,三元损失函数为:
其中:p、k为构造三元组输入所使用超参数,p表示每批数据中包含的类别数量,k表示每个类别对应的视频数量;
总的损失函数为:
l=lxent lhtri。
本发明的基于动态图卷积表征的视频行人重识别方法,相比于现有的视频行人重识别方法,具有以下有益效果:
首先,本发明的基于动态图卷积表征的视频行人重识别方法利用了行人视频中人体结构作为先验信息计算结构邻接矩阵,并结合特征相似度计算得到的相似度邻接矩阵,构建了人体结构驱动的时空图。该时空图内部连接关系随特征的更新而动态更新,可以有效利用数据驱动的方法解决复杂场景下的行人重识别问题。
其次,本发明提出了一种端到端的动态时空图学习算法,该方法在给定输入情况下,利用输入内部的时空一致性,学习特定场景下的视频内部图结构,有效提升了视频行人重识别的预测准确度。
本发明的基于动态图卷积表征的视频行人重识别方法,在行人跟踪、行人轨迹分析等应用中,可以有效提高行人重识别的准确率,具有良好的应用价值。例如,在行人跟踪的应用场景下,针对行人离开拍摄场地再次进入场地导致无法跟踪的现象,通过视频行人重识别算法可以提高跟踪的准确性。
附图说明
图1为本发明的的流程示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
相反,本发明涵盖任何由权利要求定义的在本发明的精髓和范围上做的替代、修改、等效方法以及方案。进一步,为了使公众对本发明有更好的了解,在下文对本发明的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本发明。
参考图1,在本发明的较佳实施例中,一种基于动态图卷积表征的视频行人重识别方法,包括以下步骤:
s1、获取用于训练的视频行人重识别算法数据集,并定义算法目标。本步骤中,视频行人重识别算法数据集
s2、对视频进行特征提取,构建基于图像块的特征金字塔。本步骤中,具体包括以下子步骤:
s21、使用神经网络对视频中每一帧行人图像it提取特征,得到特征图ft∈rd×h×w:
ft=f(it;θbackbone)
其中f(·)表示卷积神经网络,θbackbone为神经网络参数,d、h、w分别为特征图的三个维度中的深度、高度和宽度;对每个视频中所有帧进行上述操作后得到所有特征图
s22、对上述s21中得到的t个特征图应用3d全局平均值池化(globalaveragepooling),得到全局特征向量xgap∈rd;
s23、对上述s21中得到的每个特征图应用金字塔池化(pyramidpooling),将ft在第二维度h进行等步长切分为1、2以及4个区域,并对每个区域中特征应用2d全局平均值池化(globalaveragepooling),得到金字塔特征向量
s3、对视频进行人体关节点检测,基于人体部件位置计算得到结构邻接矩阵。本步骤中,具体包括以下子步骤:
s31、使用人体关节点检测算法对视频中每一帧进行关节点检测,并得到头部、上半身、下半身三个部分的包围框;
s32、对上述s1中输入的训练视频
sk→{头部、上半身、下半身}
s33、构建结构邻接矩阵ap,该邻接矩阵中第i行第j列的元素计算公式为:
s4、利用s2中上述提取得到的特征,基于图像特征相似度计算得到相似度邻接矩阵。本步骤中,相似度邻接矩阵记为af,af中第i行第j列的元素计算公式为:
其中‖·‖2表示二范数,xi、xj分别为特征向量集合
s5、结合上述结构邻接矩阵以及相似度邻接矩阵,构建采用时间注意力机制以及图卷积的联合学习框架。本步骤中,具体包括以下子步骤:
s51、结合s3以及s4中所述结构邻接矩阵ap和相似度邻接矩阵af,构建图模型g={v,a},其中
其中γ为权重因子用以平衡结构邻接矩阵和相似度邻接矩阵。
s52、建立图卷积网络,每一层加入relu激活函数,其中每一层的图结构为s51中所述的节点特征以及节点关系,图卷积网络输出特征
其中fgcn()为图卷积网络,θgcn为图卷积网络参数,a为网络中节点关系图;
s53、对上述s52中的输出特征
其中||·||1表示计算向量l1范数;
s54、对上述s22以及s53中分别得到的xgap和xgraph应用一层全连接操作,输出m类行人标签概率值p,xgap和xgraph对应的概率值p分别表示为pgap和pgraph,计算公式表示为:
pgap=ffc(xgap;θfc)
pgraph=ffc(xgraph;θfc)
其中ffc()为全连接层,θfc为可训练参数。
s6、使用上述联合学习框架对视频进行特征提取,采用特征间距离对样本库内行人视频进行排序。本步骤中,具体包括以下子步骤:
s61、基于由s1~s5建立的端到端联合学习框架,采用组输入,在训练中,将多帧图像输入该端到端联合学习框架的神经网络中,所有网络参数θ通过最小化损失函数进行学习,其中损失函数l采用交叉熵损失函数与三元损失函数之和。
其中,交叉熵损失函数为:
式中:
其中,三元损失函数作用于特征,对输入视频构建锚点-正样本-负样本三元组,三元损失函数为:
其中:p、k为构造三元组输入所使用超参数,p表示每批数据中包含的类别数量,k表示每个类别对应的视频数量;
总的损失函数为:
l=lxent lhtri。
使用adam优化方法和反向传播算法在损失函数l下训练整个网络;
s62、利用训练完成的神经网络对视频进行特征提取得到{xgraph,xgap}并拼接两个特征,通过计算给定待检索视频以及样本库内视频特征之间的欧几里得距离进行行人视频检索。
下面将上述方法应用于具体实施例中,以便本领域技术人员能够更好地理解本发明的效果。
实施例
本实施例基于上述方法进行实验,具体的实现方法如前所述,不在详细阐述具体的步骤,下面仅针对实验结果展示其结果。
prid2011数据集:该数据集包含由两个摄像头录制,分别包含385和749个行人。其中前200个行人为重复出现行人,视频长度在5帧至675帧之间。
ilids-vid数据集:该数据集包含共计600个行人视频,共出现300个行人,视频长度在23帧至192帧之间,平均长度73帧。
mars数据集:该数据集包含共计1261个行人,包含大约20000个行人视频,采用dpm检测器以及gmmcp跟踪器将行人裁剪出来。该数据集由6个摄像头录制。
dukemtmc-videoreid数据集:该数据集包含4832个视频以及1812个行人,视频平均帧数168帧,行人通过手工标注裁剪。
基于视频的行人重识别方法主要流程如下:
1)利用人体关节点检测算法对行人视频进行关节点检测,并构建结构邻接矩阵;
2)利用行人视频提取出金字塔特征,并构建相似度邻接矩阵;
3)结合结构邻接矩阵以及相似度邻接矩阵,使用图卷积神经网络更新特征;
4)输出待检索视频特征以及样本库视频特征,计算特征间欧几里得距离进行排序。
5)本实施例检索精度如表1、2、3所示。表中数据显示本发明在rank-1,rank-5,rank-20,map指标上的表现。同其他方法对比,本发明有进一步的提升。
表1为本实施例在prid2011以及ilids-vid数据集上的评价指标对比
表2为本实施例在mars数据集上的评价指标对比
表3为本实施例在dukemtmc-videoreid数据集上的评价指标对比
其中ours为本发明方法,其余方法对应参考文献如下:
[1]l.zheng,z.bie,y.sun,j.wang,c.su,s.wang,andq.tian,“mars:avideobenchmarkforlarge-scalepersonre-identification,”inproc.eur.conferencecomput.vis.springer,2016,pp.868-884.
[2]z.zhou,y.huang,w.wang,l.wang,andt.tan,“seetheforestforthetrees:jointspatialandtemporalrecurrentneuralnetworksforvideo-basedpersonre-identification,”inproc.ieeecomput.soc.conf.comput.vis.patternrecognit.,july2017.
[3]s.xu,y.cheng,k.gu,y.yang,s.chang,andp.zhou,“jointlyattentivespatial-temporalpoolingnetworksforvideo-basedpersonre-identification,”inproc.ieeeint.conf.comput.vis.,oct2017.
[4]g.song,b.leng,y.liu,c.hetang,ands.cai,“region-basedqualityestimationnetworkforlarge-scalepersonre-identification,”inproc.aaai,2018,pp.7347-7354.
[5]d.chen,h.li,t.xiao,s.yi,andx.wang,“videopersonre-identificationwithcompetitivesnippet-similarityaggregationandco-attentivesnippetembedding,”inproc.ieeecomput.soc.conf.com-put.vis.patternrecognit.,june2018.
[6]s.li,s.bak,p.carr,andx.wang,“diversityregularizedspatiotemporalattentionforvideo-basedpersonre-identification,”inproe.ieeecomput.soc.conf.comput.vis.patternrecognit.,june2018.
[7]j.zhang,n.wang,andl.zhang,“multi-shotpedestrianre-identificationviasequentialdecisionmaking,”inproc.ieeecomput.soc.conf.comput.vis.patternrecognit.,june2018.
[8]y.wu,y.lin,x.dong,y.yan,w.ouyang,andy.yang,“exploittheunknowngradually:one-shotvideo-basedpersonre-identificationbystepwiselearning,”inproc.ieeecomput.soc.conf.comput.vis.patternrecognit.,june2018.
[9]l.wu,y.wang,l.shao,andm.wang,“3-dpersonvlad:learningdeepglobalrepresentationsforvideo-basedpersonreidentification,”ieeetrans.neuralnetw.learn.syst.,2019.
[10]l.wu,y.wang,j.gao,andx.li,“where-and-whentolook:deepsiameseattentionnetworksforvideo-basedpersonre-identification,”ieeetrans.multimedia,2018.
[11]j.dai,p.zhang,d.wang,h.lu,andh.wang,“videopersonre-identificationbytemporalresiduallearning,”ieeetrans.imageprocess.,vol.28,no.3,pp.1366-1377,2018.
[12]j.li,s.zhang,andt.huang,“multi-scale3dconvolutionnetworkforvideobasedpersonre-identification,”inproc.aaai,2019.
[13]y.fu,x.wang,y.wei,andt.huang,“sta:spatial-temporalattentionforlarge-scalevideo-basedpersonre-identification,”inproe.aaai,2019.
[14]y.liu,z.yuan,w.zhou,andh.li,“spatialandtemporalmutualpromotionforvideo-basedpersonre-identification,”inproc.aaai,2019.
[15]r.zhang,j.li,h.sun,y.ge,p.luo,x.wang,andl.lin,“scan:self-and-collaborativeattentionnetworkforvideopersonre-identification,”ieeetrans.imageprocess.,2019.
[16]g.chen,j.lu,m.yang,andj.zhou,“spatial-temporalattention-awarelearningforvideo-basedpersonre-identification,”ieeetrans.imageprocess.,2019.
[17]c.-t.liu,c.-w.wu,y.-c.f.wang,ands.-y.chien,“spatiallyandtemporallyefficientnon-localattentionnetworkforvideo-basedpersonre-identification,”inproc.bmvc,2019.
[18]h.liu,z.jie,k.jayashree,m.qi,j.jiang,s.yan,andj.feng,“video-basedpersonre-identificationwithaccumulativemotioncontext,”ieeetrans.circuitssyst.videotechnol.,vol.28,no.10,pp.2788-2802,2017.
[19]r.hou,b.ma,h.chang,x.gu,s.shan,andx.cheh,“interaction-and-aggregationnetworkforpersonre-identification,”inproc.ieeecomput.soc.conf.comput.vis.patternrecognit.,2019,pp.9317-9326.
[20]y.yan,b.ni,z.song,c.ma,y.yan,andx.yang,“personre-identificationviarecurrentfeatureaggregation,”inproe.eur.conferencecomput.vis.springer,2016,pp.701-716.
[21]n.mclaughlin,j.martinezdelrineon,andp.miller,“recurrentconvolutionalnetworkforvideo-basedpersonre-identification,”inproc.ieeecomput.soc.conf.comput.vis.patternrecognit.,june2016.
[22]y.liu,j.yan,andw.ouyang,“qualityawarenetworkforsettosetrecognition,”inproc.ieeecomput.soc.conf.comput.vis.patternrecognit.,july2017.
通过以上技术方案,本发明实施例基于深度学习技术发展了一种基于动态图卷积表征的行人重识别方法。本发明可以利用输入行人视频内人体结构以及特征相似度,学习更加鲁棒的特征,从而进行更准确的检索。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
1.一种基于动态图卷积表征的视频行人重识别方法,其特征在于,包括以下步骤:
s1、获取用于训练的视频行人重识别算法数据集,并定义算法目标;
s2、对视频进行特征提取,构建基于图像块的特征金字塔;
s3、对视频进行人体关节点检测,基于人体部件位置计算得到结构邻接矩阵;
s4、利用s2中所述提取得到的特征,基于图像特征相似度计算得到相似度邻接矩阵;
s5、结合所述结构邻接矩阵以及相似度邻接矩阵,构建采用时间注意力机制以及图卷积的联合学习框架;
s6、使用所述联合学习框架对视频进行特征提取,采用特征间距离对样本库内行人视频进行排序。
2.如权利要求1所述的基于动态图卷积表征的视频行人重识别方法,其特征在于,步骤s1中,获取所述用于训练的视频行人重识别算法数据集
3.如权利要求2所述的基于动态图卷积表征的视频行人重识别方法,其特征在于,步骤s2中,对视频进行特征提取,构建基于图像块的特征金字塔,具体包括以下子步骤:
s21、使用神经网络对视频中每一帧行人图像it提取特征,得到特征图ft∈rd×h×w:
ft=f(it;θbackbone)
其中f(·)表示卷积神经网络,θbackbone为神经网络参数,d、h、w分别为特征图的三个维度中的深度、高度和宽度;对每个视频中所有帧进行上述操作后得到所有特征图
s22、对所述s21中得到的t个特征图应用3d全局平均值池化(globalaveragepooling),得到全局特征向量xgap∈rd;
s23、对所述s21中得到的每个特征图应用金字塔池化(pyramidpooling),将ft在第二维度h进行等步长切分为1、2以及4个区域,并对每个区域中特征应用2d全局平均值池化(globalaveragepooling),得到金字塔特征向量
4.如权利要求3所述的基于动态图卷积表征的视频行人重识别方法,其特征在于,步骤s3中,对视频进行人体关节点检测,基于人体部件位置计算得到结构邻接矩阵,具体包括以下子步骤:
s31、使用人体关节点检测算法对视频中每一帧进行关节点检测,并得到头部、上半身、下半身三个部分的包围框;
s32、对所述s1中输入的训练视频
sk→{头部、上半身、下半身}
s33、构建结构邻接矩阵ap,该邻接矩阵中第i行第j列的元素计算公式为:
5.如权利要求4所述的基于动态图卷积表征的视频行人重识别方法,其特征在于,步骤s4中,利用s2所述提取得到的特征,基于图像特征相似度计算得到相似度邻接矩阵af,af中第i行第j列的元素计算公式为:
其中||·||2表示二范数,xi、xj分别为特征向量集合
6.如权利要求5所述的基于动态图卷积表征的视频行人重识别方法,其特征在于,步骤s5中,结合所述结构邻接矩阵以及相似度邻接矩阵,构建采用时间注意力机制以及图卷积的联合学习框架,具体包括以下子步骤:
s51、结合s3以及s4中所述结构邻接矩阵ap和相似度邻接矩阵af,构建图模型g={v,a},其中
其中γ为权重因子用以平衡结构邻接矩阵和相似度邻接矩阵。
s52、建立图卷积网络,每一层加入relu激活函数,其中每一层的图结构为s51中所述的节点特征以及节点关系,图卷积网络输出特征
其中fgcn()为图卷积网络,θgcn为图卷积网络参数;
s53、对所述s52中的输出特征
其中||·||1表示计算向量l1范数;
s54、对所述s22以及s53中分别得到的xgap和xgraph应用一层全连接操作,输出m类行人标签概率值p,xgap和xgraph对应的概率值p分别表示为pgap和pgraph,计算公式表示为:
pgap=ffc(xgap;θfc)
pgraph=ffc(xgraph;θfc)
其中ffc()为全连接层,θfc为可训练参数。
7.如权利要求6所述的基于动态图卷积表征的视频行人重识别方法,其特征在于,步骤s6中,使用所述联合学习框架对视频进行特征提取,采用特征间距离对样本库内行人视频进行排序,具体包括:
s61、基于由s1~s5建立的端到端联合学习框架,采用组输入,在训练中,将多帧图像输入该端到端联合学习框架的神经网络中,所有网络参数θ通过最小化损失函数进行学习,其中损失函数l采用交叉熵损失函数与三元损失函数之和;
使用adam优化方法和反向传播算法在损失函数l下训练整个网络;
s62、利用训练完成的神经网络对视频进行特征提取得到{xgraph,xgap}并拼接两个特征,通过计算给定待检索视频以及样本库内视频特征之间的欧几里得距离进行行人视频检索。
8.如权利要求7所述的基于动态图卷积表征的视频行人重识别方法,其特征在于,所述交叉熵损失函数为:
式中:
所述三元损失函数作用于特征,对输入视频构建锚点-正样本-负样本三元组,三元损失函数为:
其中:p、k为构造三元组输入所使用超参数,p表示每批数据中包含的类别数量,k表示每个类别对应的视频数量;
总的损失函数为:
l=lxent lhtri。
技术总结