CN111814604A - 一种基于孪生神经网络的行人跟踪方法 - Google Patents
一种基于孪生神经网络的行人跟踪方法 Download PDFInfo
- Publication number
- CN111814604A CN111814604A CN202010584083.9A CN202010584083A CN111814604A CN 111814604 A CN111814604 A CN 111814604A CN 202010584083 A CN202010584083 A CN 202010584083A CN 111814604 A CN111814604 A CN 111814604A
- Authority
- CN
- China
- Prior art keywords
- pedestrian
- pedestrians
- short
- neural network
- track
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 59
- 238000000034 method Methods 0.000 title claims abstract description 35
- 238000012549 training Methods 0.000 claims abstract description 39
- 230000033001 locomotion Effects 0.000 claims description 53
- 239000011159 matrix material Substances 0.000 claims description 28
- 238000001514 detection method Methods 0.000 claims description 21
- 238000012360 testing method Methods 0.000 claims description 14
- 230000008569 process Effects 0.000 claims description 7
- 238000005516 engineering process Methods 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 claims description 5
- 238000012544 monitoring process Methods 0.000 claims description 4
- 239000004576 sand Substances 0.000 claims description 4
- 230000004913 activation Effects 0.000 claims description 3
- 238000010606 normalization Methods 0.000 claims description 3
- 238000011176 pooling Methods 0.000 claims description 3
- 239000000126 substance Substances 0.000 claims description 3
- 238000012545 processing Methods 0.000 claims description 2
- 230000001105 regulatory effect Effects 0.000 claims description 2
- 238000002474 experimental method Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005286 illumination Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000013100 final test Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 238000011282 treatment Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/103—Static body considered as a whole, e.g. static pedestrian or occupant recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30196—Human being; Person
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30232—Surveillance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30241—Trajectory
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Human Computer Interaction (AREA)
- Image Analysis (AREA)
Abstract
本发明属于计算机视觉领域,特别涉及一种基于孪生神经网络的行人跟踪方法,该行人跟踪方法包括以下步骤:视频输入;行人标记;获取行人时空组;建立并训练孪生神经网络,并保存训练好的孪生神经网络;获取行人短轨迹;获取行人长轨迹。采用该方法跟踪行人,有效提高了行人跟踪的准确率。
Description
技术领域
本发明属于计算机视觉领域,特别涉及一种基于孪生神经网络的行人跟踪方法。
背景技术
随着人工智能技术的发展,计算机视觉已广泛应用于诸如智能家居,视频监控和智能交通等人类日常生活中,行人跟踪是这些领域的关键问题之一。由于行人目标在运动过程中会发生姿态变化,大小变化,外观变化以及行人遮挡,使得实现行人的准确跟踪变得非常困难。
早期的目标跟踪算法主要是根据目标建模或者对目标特征进行跟踪,主要的方法有:(1)特征匹配法,首先提取目标特征,然后在后续的帧中找到最相似的特征进行目标定位;(2)基于搜索的方法,人们将预测算法加入跟踪中,在预测值附近进行目标搜索,减少了搜索的范围,然而这些方法已经不再满足当今的行人跟踪需求,急需一些新的方法加以替代;而且传统的方法受图像光照变化、行人姿态变化、图像噪声等因素影响较大。随着深度学习的迅猛发展,其在行人跟踪领域也起到了重要的推动作用,其中孪生神经网络是一种可以判断两个输入模式是否相似的模型,它可以用于行人跟踪领域判断行人的外观是否相似。因此,需要对现有技术进行改进。
发明内容
本发明所要解决的问题是提供一种基于孪生神经网络的行人运动轨迹的计算方法,用以跟踪行人,有效提高了行人跟踪的准确率。
为解决上述问题,本发明提供一种基于孪生神经网络的行人跟踪方法,包括以下步骤:
步骤1、视频输入:
由监控设备(摄像头以及其它监控设备)在室外或室内进行采集获得视频文件,将采集的视频文件输入到计算机中,包括视频序列的每一帧视频图像;
步骤2、行人标记:
对步骤1输入的每一帧视频图像,使用DPM行人检测技术检测出并在每一帧视频图像上标记出行人的位置,获得带有行人位置标记的视频序列;
步骤3、获取行人时空组:
将步骤2中带有行人位置标记的视频序列每隔时间长度1秒拆分成n段,每一段为视频图像i;对每一段视频图像i,按行人位置使用分层聚类的方法得到行人时空组其中n为正整数,i≤n,j表示第i段视频图像内的时空组序号;
步骤4、建立并训练孪生神经网络,并保存训练好的孪生神经网络;
步骤5、获取行人短轨迹:
步骤5-3、计算行人运动速度
步骤5-4、计算运动亲和力
PMA=max(1-β*e(P1,P2),0),
e(P1,P2)=min(eforward(P1,P2),ebackward(P1,P2)),
其中P1和P2为两个行人,β是供调节的参数,eXforward,eYforward,eXbackward和eYbackward是行人运动在X方向和Y方向的前向误差和反向误差,eforward和ebackward是行人运动的前向误差和反向误差,P1x,P1y,P2x和P2y是两个行人位置的X坐标和Y坐标,t1和t2是两个行人的帧索引,步骤5-3获得的vpedestrian分解为X方向和Y方向的运动速度,v1x,v1y,v2x和v2y分别是两个行人在X方向和Y方向的运动速度;
步骤5-5、建立行人相关度矩阵
步骤5-6、求解分类
使用最大相关度原则对步骤5-5获得的每个时空组内的行人相关度矩阵PeC进行求解分类,获得的每一类分别代表具有同一身份的行人;设有图G=(V,E,W),其中顶点V表示每个行人检测,E表示行人检测相连的边,W表示两个行人间的相关度,最大相关度原则如下:
其中v1,v2,v3代表V中的行人检测,w表示行人间的相关度,x的取值为0或1;
步骤5-7、获得行人的短轨迹
将步骤5-6获得的每一类中的行人进行合并,从而得到在每一段视频图像i中的行人的短轨迹;
步骤6、获取行人长轨迹
步骤6-1、挑选关键行人
在滑动时间窗口中,对步骤5-5中获得的每一段视频图像i中行人的短轨迹进行处理,对于一个滑动时间窗口中的所有短轨迹,利用行人的外观相似度挑选出每段图像视频i中短轨迹中的关键行人,用这些关键行人代表一条短轨迹;
步骤6-2、短轨迹间关键行人的两两组合
在一个滑动时间窗口中,将步骤6-1中挑选出的某段视频图像i中每条短轨迹的关键行人与其它段视频图像j中每条短轨迹的关键行人进行两两组合,每个组合均为含有关键行人的两幅大小为128*64*3的图片;
步骤6-3、计算短轨迹的相似度
步骤6-4、计算每条短轨迹的运动速度vtracklet
按下式计算每条短轨迹的运动速度:
PS表示一条短轨迹的起点,Pe表示一条短轨迹的终点,TS表示一条短轨迹的起始帧,Te表示一条短轨迹的终止帧;
步骤6-5、计算短轨迹之间的运动亲和力TrMA
TrMA=max(1-β*e(Tr1,Tr2),0)
e(Tr1,Tr2)=eforward(Tr1,Tr2)+ebackward(Tr1,Tr2)
其中P1和P2为两条短轨迹,β是供调节的参数,eXforward,eYforward,eXbackward和eYbackward是短轨迹在X方向和Y方向的前向误差和反向误差,eforward和ebackward是短轨迹运动的前向误差和反向误差,和是一条短轨迹的终点坐标,和是另一条短轨迹的起点坐标,t1和t2是一条短轨迹终点坐标的帧索引和另一条短轨迹的起点坐标的帧索引,S0604获得的vtracklet分解为X方向和Y方向的运动速度,v1x,v1y,v2x和v2y分别是两条短轨迹在X方向和Y方向的运动速度;
步骤6-6、建立短轨迹相关度矩阵
使用sigmoid函数将步骤6-3获得的短轨迹的相似度Trs和步骤6-5获得的短轨迹的运动亲和力TrMA融合成短轨迹相关度矩阵TrC:
步骤6-7、求解分类
使用最大相关度原则对步骤6-6获得的短轨迹相关度矩阵TrC进行求解分类,获得的每一类分别代表具有同一身份的短轨迹,最大相关度原则如下,设有图G=(V,E,W),其中顶点V表示每个短轨迹,E表示短轨迹相连的边,W表示两个短轨迹间的相关度:
其中v1,v2,v3代表V中的短轨迹,w表示短轨迹间的相关度,x的取值为0或1;
步骤6-8、合并成长轨迹
将步骤6-7中求解分类获得的每一类的短轨迹进行合并,从而将同一身份行人的短轨迹合并成了新的轨迹;随着滑动时间窗口的推移,最终得到所有行人的完整长轨迹。
作为本发明的一种基于孪生神经网络的行人跟踪方法的改进:步骤4所述建立并训练孪生神经网络包括以下步骤:
步骤4-1、创建孪生神经网络
使用Pytorch框架搭建孪生神经网络,结构如下:两幅128*64*3的行人图片堆叠成128*64*6后作为孪生神经网络的输入,经过三层卷积层,第一层的卷积核大小为9*9*12,第二层的卷积核大小为5*5*16,第三层的卷积核大小为5*5*24;每一层卷积都含有批标准化、relu激活函数、2*2的池化;将三层卷积的输出一维化得到1*1152的向量,随后经过两个大小为1*150和1*2的全连接层,最终输出结果为两幅行人图片的外观相似度;
步骤4-2、训练孪生神经网络
数据集设置:从网上下载CUHK02行人跟踪数据集,该数据集包含1816个行人身份,每个行人由2个摄像角度进行拍摄,每个摄像角度有2张照片,取前80%的行人作为训练集,余下行人作为测试集;
训练过程:对步骤4-1建立的孪生神经网络训练两轮,在第一轮中,训练数据是训练集行人的第一个摄像角度的图片,训练过程中样本组合随机生成,正样本和负样本的比例控制在1:1左右,正样本为身份相同的两个行人,负样本为身份不同的两个行人;在第二轮中,使用训练集行人的第二个摄像角度的图片作为训练数据,正样本和负样本的生成方式与第一轮相同;
训练测试:训练完成后,使用测试集测试训练好的孪生神经网络,孪生神经网络的输出为两个行人的外观相似度,当身份相同的两个行人外观相似度大于等于0.5时视为正确;反之,当身份不同的两个行人外观相似度小于等于0.5时视为正确;最终测试结果的正确率达到98%以上,将训练好的孪生神经网络保存。
本发明具有如下技术优势:
1、本发明用孪生神经网络获取行人之间的外观相似度,受到图像光照变化、行人姿态变化、图像噪声等因素的影响较小,在遇到这些问题时仍然可以进行准确的行人跟踪;
2、本发明通过分层的方式实现行人跟踪:先利用行人检测生成短轨迹,再利用短轨迹生成长轨迹,两个步骤中均利用孪生神经网络实现短轨迹和长轨迹的生成;
3、本发明基于sigmoid函数将行人信息融合,该方法将基于孪生神经网络的行人(短轨迹)相似度和运动亲和力映融合为行人相关度(短轨迹相关度);
4、本发明在生成行人短轨迹时充分考虑行人的外观相似度和运动亲和力,在生成行人长轨迹时充分考虑短轨迹的相似度和运动亲和力,每一步都从两方面综合考虑可以有效避免因为行人受到遮挡而导致的跟踪失败,此外,每一步都根据最大相关度原则进行求解分类以确保行人的正确跟踪。
本发明来源于以下基金:浙江省自然科学基金项目(LQ19F030014),浙江理工大学青年创新专项(2019Q035)。
附图说明
下面结合附图对本发明的具体实施方式作进一步详细说明:
图1是一种基于孪生神经网络的行人跟踪方法的算法流程示意图;
图2是实验1中步骤2中使用DPM检测器检测得到的PETS2009-S2L1数据集中的行人位置图像;
图3是实验1中步骤2中使用DPM检测器检测得到的Town Center数据集中的行人位置图像;
图4是实验1中步骤5获得的PETS2009-S2L1数据集行人的轨迹与groundtruth文件中标注的轨迹之间的误差的示意图;
图5是实验1中步骤5获得的Town Center数据集中行人的轨迹与groundtruth文件中标注的轨迹之间的误差的示意图;
图6是实验1中步骤5获得的PETS2009-S2L1数据集的行人轨迹的实验效果图;
图7是实验1中步骤5获得的Town Center数据集的行人轨迹的实验效果图。
具体实施方式
下面结合具体实施例对本发明进行进一步描述,但本发明的保护范围并不仅限于此。
实施例1、一种基于孪生神经网络的行人跟踪方法,如图1,包括以下步骤:
S01、视频输入
将包含需要跟踪对象的视频文件并输入到计算机中,视频文件包括的每一帧视频图像,视频文件由摄像头以及其它监控设备在室外或室内进行采集获得;
S02、行人标记:
对S01输入的每一帧视频图像,使用DPM行人检测技术检测出并在每一帧视频图像上标记出行人的位置,获得带有行人位置标记的视频序列;
DPM行人检测技术属于常规技术,例如可参照Felzenszwalb等人已经发表于《IEEETransactions on Pattern Analysis&Machine Intelligence,2010.》的DPM行人检测算法。
S03、获取行人时空组:
将S02中带有行人位置标记的视频序列每隔时间长度1秒拆分成n段,每一段为视频图像i;
S04、创建并训练孪生神经网络
S0401、创建孪生神经网络:
使用Pytorch框架搭建孪生神经网络,结构如下:两幅128*64*3的行人图片堆叠成128*64*6后作为孪生神经网络的输入,经过三层卷积层,第一层的卷积核大小为9*9*12,第二层的卷积核大小为5*5*16,第三层的卷积核大小为5*5*24。每一层卷积都含有批标准化、relu激活函数、2*2的池化;将三层卷积的输出一维化得到1*1152的向量,随后经过两个大小为1*150和1*2的全连接层,最终输出结果为两幅行人图片的外观相似度;
S0402、训练孪生神经网络
数据集设置:从网上下载CUHK02行人跟踪数据集,该数据集包含1816个行人身份,每个行人由2个摄像角度进行拍摄,每个摄像角度有2张照片,取前80%的行人作为训练集,余下行人作为测试集;
训练过程:对S0401建立的孪生神经网络训练两轮,在第一轮中,训练数据是训练集行人的第一个摄像角度的图片,训练过程中样本组合随机生成,正样本和负样本的比例控制在1:1左右,正样本为身份相同的两个行人,负样本为身份不同的两个行人;在第二轮中,使用训练集行人的第二个摄像角度的图片作为训练数据,正样本和负样本的生成方式与第一轮相同;
训练测试:训练完成后,使用测试集测试训练好的孪生神经网络,孪生神经网络的输出为两个行人的外观相似度,当身份相同的两个行人外观相似度大于等于0.5时视为正确;反之,当身份不同的两个行人外观相似度小于等于0.5时视为正确;最终测试结果的正确率达到98%以上,将训练好的孪生神经网络保存;
S05、获取行人短轨迹
S0503、计算行人运动速度:
S0504、计算运动亲和力
PMA=max(1-β*e(P1,P2),0),
e(P1,P2)=min(eforward(P1,P2),ebackward(P1,P2)),
其中P1和P2为两个行人,β是可供调节的参数,eXforward,eYforward,eXbackward和eYbackward是行人运动在X方向和Y方向的前向误差和反向误差,eforward和ebackward是行人运动的前向误差和反向误差,P1x,P1y,P2x和P2y是两个行人位置的X坐标和Y坐标,t1和t2是两个行人的帧索引,S0503获得的vpedestrian可以分解为X方向和Y方向的运动速度,v1x,v1y,v2x和v2y分别是两个行人在X方向和Y方向的运动速度;
S0505、建立行人相关度矩阵
S0506、求解分类
使用最大相关度原则对S0505获得的每个时空组内的行人相关度矩阵PeC进行求解分类,获得的每一类代表具有同一身份的行人;设有图G=(V,E,W),其中顶点V表示每个行人检测,E表示行人检测相连的边,W表示两个行人间的相关度,最大相关度原则如下:
其中v1,v2,v3代表V中的行人检测,w表示行人间的相关度,x的取值为0或1;
S0507、获得短轨迹
将S0506获得的每一类中的行人进行合并,即在每一段视频图像i中得到了行人的短轨迹;
S06、获取行人长轨迹
在滑动时间窗口中,对S0507中获得的每一段视频图像i中的行人的短轨迹进行处理:
S0601、挑选关键行人
对于一个滑动时间窗口中的所有短轨迹,利用行人的外观相似度挑选出每段图像视频i中短轨迹中的关键行人,用这些关键行人代表一条短轨迹;
S0602、短轨迹间关键行人的两两组合
在一个滑动时间窗口中,将S0601中挑选出的某段视频图像i中每条短轨迹的关键行人与其它段视频图像j中每条短轨迹的关键行人进行两两组合,每个组合均为含有关键行人的两幅大小为128*64*3的图片;
S0603、计算短轨迹的相似度
将含有关键行人的两幅大小为128*64*3的图片与S0502一样的方式输入到S0402训练好的孪生神经网络,输出结果为两条短轨迹的关键行人的外观相似度按下式进行进一步运算,输出两条短轨迹的相似度Trs:
S0604、计算短轨迹的运动速度vtracklet
按下式计算每条短轨迹的运动速度:
PS表示一条短轨迹的起点,Pe表示一条短轨迹的终点,TS表示一条短轨迹的起始帧,Te表示一条短轨迹的终止帧;
S0605、计算短轨迹运动亲和力TrMA
使用S0604获得的短轨迹的运动速度按下式计算短轨迹之间的运动亲和力TrMA
TrMA=max(1-β*e(Tr1,Tr2),0)
e(Tr1,Tr2)=eforward(Tr1,Tr2)+ebackward(Tr1,Tr2)
其中P1和P2为两条短轨迹,β是可供调节的参数,eXforward,eYforward,eXbackward和eYbackward是短轨迹在X方向和Y方向的前向误差和反向误差,eforward和ebackward是短轨迹运动的前向误差和反向误差,和是一条短轨迹的终点坐标,和是另一条短轨迹的起点坐标,t1和t2是一条短轨迹终点坐标的帧索引和另一条短轨迹的起点坐标的帧索引,S0604获得的vtracklet可以分解为X方向和Y方向的运动速度,v1x,v1y,v2x和v2y分别是两条短轨迹在X方向和Y方向的运动速度;
S0606、建立短轨迹相关度矩阵
使用sigmoid函数将S0603获得的短轨迹的相似度Trs和S0605获得的短轨迹的运动亲和力TrMA融合成短轨迹相关度矩阵TrC:
其中λ和μ是可供调节的参数;
S0607、求解分类
使用最大相关度原则对S0606获得的短轨迹相关度矩阵TrC进行求解分类,获得的每一类代表具有同一身份行人的短轨迹,设有图G=(V,E,W),其中顶点V表示每个短轨迹,E表示短轨迹相连的边,W表示两个短轨迹间的相关度,最大相关度原则如下:
其中v1,v2,v3代表V中的短轨迹,w表示短轨迹间的相关度,x的取值为0或1;
S0608、合并成长轨迹
将S0607中求解分类获得的每一类的短轨迹进行合并,即将同一身份行人的短轨迹合并成了新的轨迹;随着滑动时间窗口的推移,最终得到所有行人的完整长轨迹。
实验1、使用实施例1中建立好的一种基于孪生神经网络的行人跟踪方法进行在线跟踪:
步骤1、视频输入
选择需要跟踪对象的视频数据集文件并输入到计算机中,包括视频序列的每一帧视频图像和groundtruth文件,groundtruth文件包含了人为标注的行人轨迹;
步骤2、行人标记:
对步骤1输入的每一帧视频图像,使用DPM行人检测器检测出并在每一帧视频图像上标记出行人的位置,如图2和图3,获得了PETS2009-S2L1数据集和Town Center数据集中的带有行人位置标记的视频序列;
步骤3、获取行人时空组:
将步骤2中带有行人位置标记的视频序列每隔时间长度1秒拆分成n段,每一段为视频图像i;对每一段视频图像i,按行人位置使用分层聚类的方法得到若干行人时空组其中n为正整数,i≤n,j表示第i段视频图像内的时空组序号;
步骤4、获取行人短轨迹
步骤4-1、对于步骤3中获得的每一段视频图像i中每个时空组内的行人进行两两组合,每个组合均为含有行人的两幅大小为128*64*3的图片,将每个组合内的两幅128*64*3的行人图片堆叠成128*64*6的形式输入到实施例1中训练好的孪生神经网络,得到每个时空组内的每对行人的外观相似度PAS;
步骤4-2、计算行人运动速度:
对于第t帧中的行人位置p,在相邻帧中通过计算距离找到若干距离最接近p的检测pk(k为所在帧的索引),按下式计算每个时空组内的行人运动速度vpedestrian:
步骤4-3、计算运动亲和力
PMA=max(1-β*e(P1,P2),0)
e(P1,P2)=min(eforward(P1,P2),ebackward(P1,P2))
步骤4-4、建立行人相关度矩阵
步骤4-5、求解分类
使用最大相关度原则对步骤4-4获得的每个时空组内的行人相关度矩阵PeC进行求解分类,获得的每一类分别代表具有同一身份的行人;设有图G=(V,E,W),其中顶点V表示每个行人检测,E表示行人检测相连的边,W表示两个行人间的相关度,最大相关度原则如下:
步骤4-6、获得行人的短轨迹
将每一类中的行人进行合并,在每一段视频图像i中得到了行人的短轨迹;
步骤5、获取行人长轨迹
步骤5-1、挑选关键行人
对于一个滑动时间窗口中的所有短轨迹,利用行人的外观相似度挑选出每段图像视频i中短轨迹中的关键行人,用这些行人代表一条短轨迹;
步骤5-2、短轨迹间的关键行人两两组合
在一个滑动时间窗口中,将步骤5-1中挑选出的某段视频图像i中每条短轨迹的关键行人与其它段视频图像j中每条短轨迹的关键行人进行两两组合,每个组合均为含有关键行人的两幅大小为128*64*3的图片;
步骤5-3、计算短轨迹的相似度
步骤5-4、计算每条短轨迹的运动速度vtracklet
按下式计算每条短轨迹的运动速度:
步骤5-5、计算短轨迹之间的运动亲和力TrMA
使用步骤5-4获得的短轨迹的运动速度按下式计算短轨迹之间的运动亲和力TrMA
TrMA=max(1-β*e(Tr1,Tr2),0)
e(Tr1,Tr2)=eforward(Tr1,Tr2)+ebackward(Tr1,Tr2)
步骤5-6、建立短轨迹相关度矩阵
使用sigmoid函数将步骤5-3获得的短轨迹的相似度Trs和步骤5-5获得的短轨迹的运动亲和力TrMA融合成短轨迹相关度矩阵TrC:
步骤5-7、进行求解分类
使用最大相关度原则对步骤5-6获得的短轨迹相关度矩阵TrC进行求解分类,获得的每一类分别代表具有同一身份的短轨迹,最大相关度原则如下,设有图G=(V,E,W),其中顶点V表示每个短轨迹,E表示短轨迹相连的边,W表示两个短轨迹间的相关度:
步骤5-8、将步骤5-7求解分类获得的每一类中的短轨迹进行合并,即将同一身份行人的短轨迹合并成了新的轨迹;如图6和图7,随着滑动时间窗口的推移,最终会得到所有行人的完整长轨迹。
将实验1获得的行人的完整长轨迹和groundtruth文件中人为标注的行人轨迹相对比,获得最终的实验误差与实验效果,如图4和图5,表明本算法完全可以准确快速的标记处行人的运动轨迹且和实际的轨迹高度重合,其中PETS2009-S2L1数据集的行人跟踪准确率达到了93.23%,Town Center数据集的行人跟踪准确率达到了78.85%;同样的,本发明用上述实验1的步骤进行批量数据的验证,结果同样有效;因此实验1的步骤同时也验证了同样的步骤也适用于其它在线跟踪。
最后,还需要注意的是,以上列举的仅是本发明的若干个具体实施例。显然,本发明不限于以上实施例,还可以有许多变形。本领域的普通技术人员能从本发明公开的内容直接导出或联想到的所有变形,均应认为是本发明的保护范围。
Claims (4)
1.一种基于孪生神经网络的行人跟踪方法,其特征在于包括以下步骤:
步骤1、视频输入:
由监控设备在室外或室内进行采集获得视频文件,将采集的视频文件输入到计算机中,包括视频序列的每一帧视频图像;
步骤2、行人标记:
对步骤1输入的每一帧视频图像,使用DPM行人检测技术检测出并在每一帧视频图像上标记出行人的位置,获得带有行人位置标记的视频序列;
步骤3、获取行人时空组:
将步骤2中带有行人位置标记的视频序列每隔时间长度1秒拆分成n段,每一段为视频图像i;对每一段视频图像i,按行人位置使用分层聚类的方法得到行人时空组其中n为正整数,i≤n,j表示第i段视频图像内的时空组序号;
步骤4、建立并训练孪生神经网络,并保存训练好的孪生神经网络;
步骤5、获取行人短轨迹;
步骤6、获取行人长轨迹。
2.根据权利要求1所述的一种基于孪生神经网络的行人跟踪方法,其特征还在于步骤5包括以下步骤:
步骤5-3、计算行人运动速度
步骤5-4、计算运动亲和力
PMA=max(1-β*e(P1,P2),0),
e(P1,P2)=min(eforward(P1,P2),ebackward(P1,P2)),
其中P1和P2为两个行人,β是供调节的参数,eXforward,eYforward,eXbackward和eYbackward是行人运动在X方向和Y方向的前向误差和反向误差,eforward和ebackward是行人运动的前向误差和反向误差,P1x,P1y,P2x和P2y是两个行人位置的X坐标和Y坐标,t1和t2是两个行人的帧索引,步骤5-3获得的vpedestrian分解为X方向和Y方向的运动速度,v1x,v1y,v2x和v2y分别是两个行人在X方向和Y方向的运动速度;
步骤5-5、建立行人相关度矩阵
步骤5-6、求解分类
使用最大相关度原则对步骤5-5获得的每个时空组内的行人相关度矩阵PeC进行求解分类,获得的每一类分别代表具有同一身份的行人;设有图G=(V,E,W),其中顶点V表示每个行人检测,E表示行人检测相连的边,W表示两个行人间的相关度,最大相关度原则如下:
其中v1,v2,v3代表V中的行人检测,w表示行人间的相关度,x的取值为0或1;
步骤5-7、获得行人的短轨迹
将步骤5-6获得的每一类中的行人进行合并,从而得到在每一段视频图像i中的行人的短轨迹。
3.根据权利要求2所述的一种基于孪生神经网络的行人跟踪方法,其特征还在于步骤6包括以下步骤:
步骤6-1、挑选关键行人
在滑动时间窗口中,对步骤5-5中获得的每一段视频图像i中行人的短轨迹进行处理,对于一个滑动时间窗口中的所有短轨迹,利用行人的外观相似度挑选出每段图像视频i中短轨迹中的关键行人,用这些关键行人代表一条短轨迹;
步骤6-2、短轨迹间关键行人的两两组合
在一个滑动时间窗口中,将步骤6-1中挑选出的某段视频图像i中每条短轨迹的关键行人与其它段视频图像j中每条短轨迹的关键行人进行两两组合,每个组合均为含有关键行人的两幅大小为128*64*3的图片;
步骤6-3、计算短轨迹的相似度
步骤6-4、计算每条短轨迹的运动速度vtracklet
按下式计算每条短轨迹的运动速度:
PS表示一条短轨迹的起点,Pe表示一条短轨迹的终点,TS表示一条短轨迹的起始帧,Te表示一条短轨迹的终止帧;
步骤6-5、计算短轨迹之间的运动亲和力TrMA
TrMA=max(1-β*e(Tr1,Tr2),0)
e(Tr1,Tr2)=eforward(Tr1,Tr2)+ebackward(Tr1,Tr2)
其中P1和P2为两条短轨迹,β是供调节的参数,eXforward,eYforward,eXbackward和eYbackward是短轨迹在X方向和Y方向的前向误差和反向误差,eforward和ebackward是短轨迹运动的前向误差和反向误差,和是一条短轨迹的终点坐标,和是另一条短轨迹的起点坐标,t1和t2是一条短轨迹终点坐标的帧索引和另一条短轨迹的起点坐标的帧索引,S0604获得的vtracklet分解为X方向和Y方向的运动速度,v1x,v1y,v2x和v2y分别是两条短轨迹在X方向和Y方向的运动速度;
步骤6-6、建立短轨迹相关度矩阵
使用sigmoid函数将步骤6-3获得的短轨迹的相似度Trs和步骤6-5获得的短轨迹的运动亲和力TrMA融合成短轨迹相关度矩阵TrC:
其中λ和μ是供调节的参数;
步骤6-7、求解分类
使用最大相关度原则对步骤6-6获得的短轨迹相关度矩阵TrC进行求解分类,获得的每一类分别代表具有同一身份的短轨迹,最大相关度原则如下,设有图G=(V,E,W),其中顶点V表示每个短轨迹,E表示短轨迹相连的边,W表示两个短轨迹间的相关度:
其中v1,v2,v3代表V中的短轨迹,w表示短轨迹间的相关度,x的取值为0或1;
步骤6-8、合并成长轨迹
将步骤6-7中求解分类获得的每一类的短轨迹进行合并,从而将同一身份行人的短轨迹合并成了新的轨迹;随着滑动时间窗口的推移,最终得到所有行人的完整长轨迹。
4.根据权利要求3所述的一种基于孪生神经网络的行人跟踪方法,其特征还在于:步骤4的建立并训练孪生神经网络包括以下步骤:
步骤4-1、创建孪生神经网络
使用Pytorch框架搭建孪生神经网络,结构如下:两幅128*64*3的行人图片堆叠成128*64*6后作为孪生神经网络的输入,经过三层卷积层,第一层的卷积核大小为9*9*12,第二层的卷积核大小为5*5*16,第三层的卷积核大小为5*5*24;每一层卷积都含有批标准化、relu激活函数、2*2的池化;将三层卷积的输出一维化得到1*1152的向量,随后经过两个大小为1*150和1*2的全连接层,最终输出结果为两幅行人图片的外观相似度;
步骤4-2、训练孪生神经网络
数据集设置:从网上下载CUHK02行人跟踪数据集,该数据集包含1816个行人身份,每个行人由2个摄像角度进行拍摄,每个摄像角度有2张照片,取前80%的行人作为训练集,余下行人作为测试集;
训练过程:对步骤4-1建立的孪生神经网络训练两轮,在第一轮中,训练数据是训练集行人的第一个摄像角度的图片,训练过程中样本组合随机生成,正样本和负样本的比例控制在1:1左右,正样本为身份相同的两个行人,负样本为身份不同的两个行人;在第二轮中,使用训练集行人的第二个摄像角度的图片作为训练数据,正样本和负样本的生成方式与第一轮相同;
训练测试:训练完成后,使用测试集测试训练好的孪生神经网络,孪生神经网络的输出为两个行人的外观相似度,当身份相同的两个行人外观相似度大于等于0.5时视为正确;反之,当身份不同的两个行人外观相似度小于等于0.5时视为正确;最终测试结果的正确率达到98%以上,将训练好的孪生神经网络保存。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010584083.9A CN111814604A (zh) | 2020-06-23 | 2020-06-23 | 一种基于孪生神经网络的行人跟踪方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010584083.9A CN111814604A (zh) | 2020-06-23 | 2020-06-23 | 一种基于孪生神经网络的行人跟踪方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111814604A true CN111814604A (zh) | 2020-10-23 |
Family
ID=72845520
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010584083.9A Pending CN111814604A (zh) | 2020-06-23 | 2020-06-23 | 一种基于孪生神经网络的行人跟踪方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111814604A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114845119A (zh) * | 2022-07-04 | 2022-08-02 | 光谷技术有限公司 | 一种物联网关验证及压缩*** |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150286873A1 (en) * | 2014-04-03 | 2015-10-08 | Bruce L. Davis | Smartphone-based methods and systems |
US20190147602A1 (en) * | 2017-11-13 | 2019-05-16 | Qualcomm Technologies, Inc. | Hybrid and self-aware long-term object tracking |
CN109784155A (zh) * | 2018-12-10 | 2019-05-21 | 西安电子科技大学 | 基于验证和纠错机制的视觉目标跟踪方法、智能机器人 |
CN110135314A (zh) * | 2019-05-07 | 2019-08-16 | 电子科技大学 | 一种基于深度轨迹预测的多目标跟踪方法 |
CN110298404A (zh) * | 2019-07-02 | 2019-10-01 | 西南交通大学 | 一种基于三重孪生哈希网络学习的目标跟踪方法 |
AU2019101133A4 (en) * | 2019-09-30 | 2019-10-31 | Bo, Yaxin MISS | Fast vehicle detection using augmented dataset based on RetinaNet |
CN110619655A (zh) * | 2019-08-23 | 2019-12-27 | 深圳大学 | 一种融合光流信息和Siamese框架的目标跟踪方法及装置 |
CN110942471A (zh) * | 2019-10-30 | 2020-03-31 | 电子科技大学 | 一种基于时空约束的长时目标跟踪方法 |
KR102095685B1 (ko) * | 2019-12-02 | 2020-04-01 | 주식회사 넥스파시스템 | 차량 식별 방법 및 장치 |
-
2020
- 2020-06-23 CN CN202010584083.9A patent/CN111814604A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150286873A1 (en) * | 2014-04-03 | 2015-10-08 | Bruce L. Davis | Smartphone-based methods and systems |
US20190147602A1 (en) * | 2017-11-13 | 2019-05-16 | Qualcomm Technologies, Inc. | Hybrid and self-aware long-term object tracking |
CN109784155A (zh) * | 2018-12-10 | 2019-05-21 | 西安电子科技大学 | 基于验证和纠错机制的视觉目标跟踪方法、智能机器人 |
CN110135314A (zh) * | 2019-05-07 | 2019-08-16 | 电子科技大学 | 一种基于深度轨迹预测的多目标跟踪方法 |
CN110298404A (zh) * | 2019-07-02 | 2019-10-01 | 西南交通大学 | 一种基于三重孪生哈希网络学习的目标跟踪方法 |
CN110619655A (zh) * | 2019-08-23 | 2019-12-27 | 深圳大学 | 一种融合光流信息和Siamese框架的目标跟踪方法及装置 |
AU2019101133A4 (en) * | 2019-09-30 | 2019-10-31 | Bo, Yaxin MISS | Fast vehicle detection using augmented dataset based on RetinaNet |
CN110942471A (zh) * | 2019-10-30 | 2020-03-31 | 电子科技大学 | 一种基于时空约束的长时目标跟踪方法 |
KR102095685B1 (ko) * | 2019-12-02 | 2020-04-01 | 주식회사 넥스파시스템 | 차량 식별 방법 및 장치 |
Non-Patent Citations (2)
Title |
---|
ZHANG HAN ET AL.: "Visual tracking using Siamese convolutional neural network with region proposal and domain specific updating", 《NEUROCOMPUTING》 * |
宗家辉: "基于TLD框架的目标跟踪算法的研究", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114845119A (zh) * | 2022-07-04 | 2022-08-02 | 光谷技术有限公司 | 一种物联网关验证及压缩*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107832672B (zh) | 一种利用姿态信息设计多损失函数的行人重识别方法 | |
CN106709449B (zh) | 一种基于深度学习和强化学习的行人重识别方法及*** | |
Yang et al. | An online learned CRF model for multi-target tracking | |
CN111709311B (zh) | 一种基于多尺度卷积特征融合的行人重识别方法 | |
Minhas et al. | Incremental learning in human action recognition based on snippets | |
Yan et al. | To track or to detect? an ensemble framework for optimal selection | |
Chen et al. | Aggregate tracklet appearance features for multi-object tracking | |
Cai et al. | Exploring context information for inter-camera multiple target tracking | |
CN110197502B (zh) | 一种基于身份再识别的多目标跟踪方法及*** | |
Kaâniche et al. | Recognizing gestures by learning local motion signatures of HOG descriptors | |
CN110660082A (zh) | 一种基于图卷积与轨迹卷积网络学习的目标跟踪方法 | |
Yuan et al. | Robust superpixel tracking via depth fusion | |
Gupta et al. | Nose, eyes and ears: Head pose estimation by locating facial keypoints | |
CN109191497A (zh) | 一种基于多种信息融合的实时在线多目标跟踪方法 | |
CN112989889B (zh) | 一种基于姿态指导的步态识别方法 | |
Wong et al. | Track everything: Limiting prior knowledge in online multi-object recognition | |
CN109325546A (zh) | 一种结合步法特征的成趟足迹识别方法 | |
CN114283355A (zh) | 一种基于小样本学习的多目标濒危动物跟踪方法 | |
Arantes et al. | Human gait recognition using extraction and fusion of global motion features | |
CN113436231B (zh) | 行人轨迹生成方法、装置、设备及存储介质 | |
CN111814604A (zh) | 一种基于孪生神经网络的行人跟踪方法 | |
Ramasso et al. | Human shape-motion analysis in athletics videos for coarse to fine action/activity recognition using transferable belief model | |
Hashmi et al. | GAIT analysis: 3D pose estimation and prediction in defence applications using pattern recognition | |
Zhang et al. | What makes for good multiple object trackers? | |
Sharma et al. | Multi-object tracking using TLD framework |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |