利索能及
我要发布
收藏
专利号: 2020105840839
申请人: 浙江理工大学
专利类型:发明专利
专利状态:已下证
更新日期:2026-06-16
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种基于孪生神经网络的行人跟踪方法,其特征在于包括以下步骤:步骤1、视频输入:

由监控设备在室外或室内进行采集获得视频文件,将采集的视频文件输入到计算机中,包括视频序列的每一帧视频图像;

步骤2、行人标记:

对步骤1输入的每一帧视频图像,使用DPM行人检测技术检测出并在每一帧视频图像上标记出行人的位置,获得带有行人位置标记的视频序列;

步骤3、获取行人时空组:

将步骤2中带有行人位置标记的视频序列每隔时间长度1秒拆分成n段,每一段为视频图像i;对每一段视频图像i,按行人位置使用分层聚类的方法得到行人时空组 其中n为正整数,i<=n,j表示第i段视频图像内的时空组序号;

步骤4、建立并训练孪生神经网络,并保存训练好的孪生神经网络;

步骤5、获取行人短轨迹,包括以下步骤:

步骤5‑1、对于步骤3中获得的每一段视频图像i中每个时空组 内的行人进行两两组合,每个组合均为含有行人的两幅大小为128*64*3的图片;

步骤5‑2、将步骤5‑1获得的每个组合内含有行人的两幅大小为128*64*3的图片堆叠成

128*64*6的形式输入步骤4中训练好的孪生神经网络,得到每个时空组 内的每对行人的外观相似度PAS;

步骤5‑3、计算行人运动速度

对于第t帧中的行人位置p,在相邻帧中通过计算距离找到距离最接近p的检测pk,k为所在帧的索引,按下式计算每个时空组 内的行人运动速度vpedestrian:步骤5‑4、计算运动亲和力

使用步骤5‑3获得的行人运动速度计算按以下公式算出每个时空组 内的每对行人的运动亲和力PMA:PMA=max(1‑b*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、建立行人相关度矩阵

使用sigmoid函数将步骤5‑2获取的每个时空组 内每队行人的外观相似度PAS和步骤

5‑4获得的每个时空组 内的每对行人的运动亲和力PMA按下式融合成行人相关度矩阵PeC:其中,λ和μ是供调节的参数;

步骤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‑7中获得的每一段视频图像i中行人的短轨迹进行处理,对于一个滑动时间窗口中的所有短轨迹,利用行人的外观相似度挑选出每段图像视频i中短轨迹中的关键行人,用关键行人代表一条短轨迹;

步骤6‑2、短轨迹间关键行人的两两组合

在一个滑动时间窗口中,将步骤6‑1中挑选出的某段视频图像i中每条短轨迹的关键行人与其它段视频图像j中每条短轨迹的关键行人进行两两组合,每个组合均为含有关键行人的两幅大小为128*64*3的图片;

步骤6‑3、计算短轨迹的相似度

将含有关键行人的两幅大小为128*64*3的图片输入到步骤4中训练好的孪生神经网络,输出结果为两条短轨迹的关键行人的外观相似度 然后按下式进行运算,输出两条短轨迹的相似度:其中, 表示两条短轨迹的关键行人的外观相似度,N表示符合条件 的KAS集合,n表示N中的元素数量;

步骤6‑4、计算每条短轨迹的运动速度vtracklet按下式计算每条短轨迹的运动速度:

PS表示一条短轨迹的起点,Pe表示一条短轨迹的终点,TS表示一条短轨迹的起始帧,Te表示一条短轨迹的终止帧;

步骤6‑5、计算短轨迹之间的运动亲和力TrMA

TrMA=max(1‑b*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中求解分类获得的每一类的短轨迹进行合并,从而将同一身份行人的短轨迹合并成了新的轨迹;随着滑动时间窗口的推移,最终得到所有行人的完整长轨迹。

2.根据权利要求1所述的一种基于孪生神经网络的行人跟踪方法,其特征还在于:步骤

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%以上,将训练好的孪生神经网络保存。