欢迎来到专业的优谦范文网平台! 工作总结 工作计划 心得体会 述职报告 思想汇报 事迹材料 疫情防控 共同富裕
当前位置:首页 > 范文大全 > 公文范文 > 正文

一种多目标跨摄像头跟踪技术研究与实现

时间:2023-08-31 15:00:04 来源:网友投稿

戴臣超,王洪元,曹 亮,殷雨昌,张 继

(常州大学计算机与人工智能学院,阿里云大数据学院,常州,213164)

随着经济的发展和人们对安全需求的日益加强,越来越多的监控摄像机被安装在医院、火车站、机场和学校等大型公共场所.传统的监控摄像机仅有录制视频、存储视频、播放视频的功能,若要对异常状况进行实时监控和报警往往需要监控人员不间断地注视屏幕,这极其耗时耗力.最重要的是,各地部署的摄像机每天会产生海量的监控视频,仅仅依靠人工难以处理.为提高监控效率、减轻人工劳动负荷,可以借助计算机视觉、深度学习和模式识别等相关技术[1-4]实现对视频中无关信息的自动过滤、特定目标的自动识别和异常状况的及时报警等功能,因此多目标跨摄像头跟踪技术应运而生并迅速成为一大研究热点,同时涌现出一批有价值的多目标跨摄像头跟踪算法.例如,Chen et al[5]提出一种基于图模型的联合优化方法.该方法使用全局图模型来匹配局部轨迹片段,在图模型中每个节点代表一个轨迹片段,每条边代表轨迹片段的连接,通过寻找从源节点到目标节点的最小代价流,得到每个跟踪对象的完整运动轨迹.Zhang et al[6]使用卷积神经网络为每个追踪对象提取鲁棒的深度特征,并引入一个特征重排序机制匹配各个追踪对象的轨迹片段.Lee et al[7]提出一种增量相机链接模型,利用追踪对象的线索信息来自适应匹配轨迹片段,并且在线更新追踪对象的线索信息,以消除视角变化的影响.Xu et al[8]使用贝叶斯公式在非重叠摄像机网络中进行路径重建,以便在不同摄像机视图之间创建轨迹片段,同时提出一种时空解析结构,即利用追踪目标的语义属性对匹配候选对象进行剪枝.本文在前人研究的基础上,提出一种新的多目标跨摄像头跟踪算法.

本文的研究对象为不同场景下不同摄像机录制的监控视频.给定200张待查找的人脸图像以及20段室内视频和4段室外视频.视频总计30多小时,收集自四个室内摄像机和四个室外摄像机,要求判断200张待查找的人脸图像是否出现在以上这些视频中,如果出现则需要找出这个人的全身位置信息、视频号、帧号以及对应的身份信息,并将找到的所有行人的信息合成一个JSON文件.问题的关键是跨摄像头跟踪,即根据目标在某段视频中的时刻和在该时刻的行人信息,关联该目标在其他视频中出现的行人信息.针对上述要求,本文提出的多目标跨摄像头跟踪算法旨在通过行人检测[9]和行人重识别技术[10-12]来关联不同场景下不同监控摄像头录制视频中出现的行人,进而实现多目标跨摄像头跟踪任务.

本文的主要贡献:

(1)针对比赛官方给定的任务,将行人检测算法和行人重识别算法相结合,提出一种多目标跨摄像头跟踪算法.

(2)提出一种基于生成对抗网络和重排序的行人重识别改进算法.首先,调整ResNet50模型结构以提取更具有判别力的特征;
其次,利用生成对抗网络生成图片做数据增强,以防止模型过拟合;
最后,将原始的欧式距离、杰卡德距离和拓展近邻距离相结合,提出一种新的重排序方法,以提高行人检索精度.

(3)构建一个新的行人重识别数据集(记为MTCCT2018),对日常生活中收集的监控视频数据(多目标跨摄像头跟踪赛题公布的视频数据)进行处理,为视频中出现的行人赋予一个准确的标签.

针对上述待解决的任务,本文构建了多目标跨摄像头跟踪技术的整体框架,该框架可以分为三个部分:行人检测、行人重识别和行人数据关联.主要思路如图1所示:首先利用行人检测算法检测给定视频中出现的行人,然后将已检测行人的图片与给定的人脸图库相关联构建行人图库,再利用行人重识别算法为已检测图片分配一个标签,最后整合行人检测和行人重识别算法得到的行人信息,生成出最终包含所有行人信息的JSON文件.其中行人数据关联部分的主要作用是对不同摄像头中出现的同一目标进行关联.

2.1 行人检测行人检测旨在判断给定的图片或视频帧中的行人位置,并用矩形框标出.视频中行人的检测不仅需要保证准确性,还需要保证其实时性.针对当前行人检测方法精度和实时性不能同时兼顾的问题,本文采用以YOLOv3模型为基础的改进算法[13],结合行人检测任务的特点进行优化与改进,准确性与实时性都比较好.

由于视频中的行人距离摄像机远近不同,导致视频帧中的行人尺度不同,小目标的行人检测精度较差.针对这个问题,采用YOLOv3改进算法运用多尺度检测,增加两个预测层,利用更多的特征图提高小目标行人检测精度.

图1 本文算法的整体框架Fig.1 The overall framework of our algorithm

针对YOLOv3模型在COCO数据集上训练得到的anchor值不适用于行人检测任务的问题,本文采用的YOLOv3改进算法根据行人检测数据集Caltech的特点以及五个尺度检测层的网络结构,通过k⁃means聚类得到anchor的个数与值,给五个尺度预测层分配更加准确的anchor值,进一步提高行人检测的精度.

2.2 人脸与行人关联根据给定的200张已标注的人脸图像,与行人检测部分检测出来的完整行人图像一一对应,构建一个用于行人重识别任务的行人图库.再将检测的类别设置为人脸和行人,根据检测到的人脸和行人的位置关系来自动匹配人脸和行人图像[14],进而得到行人图库.

2.3 行人重识别行人重识别指匹配同一个行人在不相交摄像机视图下的行人图片[15-18](如图2所示).将视频中已经检测的行人图片作为查询图片,与之前和人脸库关联好的行人图库进行匹配,进而为已检测行人图片分配一个标签.

针对传统非深度的行人重识别方法检索精度较低的问题,采用以ResNet50为基础的改进算法,并选取当前行人重识别领域的公开数据集为训练集.由于现有的公开数据集中行人图片数量是有限的,采用生成对抗网络生成行人图片,和原始训练集一起构成增强的数据集,并采用标签平滑正则化训练所有的行人图片.此外,为了缓解行人匹配过程中图像匹配错误的困扰,提出一种新的重排序方法对原始排序列表进行排序,提高行人检索精度.

2.3.1 基于生成对抗网络的数据增强近年来,生成对抗网络在图像生成、图像编辑和特征学习等方面取得了令人瞩目的成果,应用于图像修复、文字转图片以及3D数据生成等领域的最新方法均利用了生成对抗网络技术.生成对抗网络成功的关键在于对抗损失的思想,使生成网络生成的数据在理论上和真实数据难以区分.这种损失对于图像生成任务尤其重要,这也是许多计算机图形学任务优化的目标.

图2 行人重识别任务Fig.2 Person re-identification task

图3展示了深度卷积生成对抗网络[19](Deep Convolutional Generative Adversarial Network,DCGAN)的网络结构示意图.和普通的生成对抗网络相比,DCGAN在收敛速度、训练稳定程度以及生成图片质量等方面有显著优势.采用DC⁃GAN生成行人图片,扩充数据集.图4展示了DCGAN在目前行人重识别领域公开数据集上生成的行人图片.

图3 深度卷积生成对抗网络Fig.3 Deep convolutional generative adversarial network

图4 DCGAN生成的行人图片Fig.4 Person images generated by DCGAN

2.3.2 改进的网络结构选取ResNet50为基础网络结构并进行调整.给定一个基于ResNet50训练好用于分类任务的网络模型,最后一层全连接层中的权重向量往往有较高的相关性.据文献检索可知[20],在行人重识别任务中欧式度量通常被用来计算特征空间中不同行人之间的距离,然而检索分类任务中的欧式度量要发挥最理想的作用,通常要求参与计算的特征向量中的各项都相互独立.此时全连接层中这些高相关性的权重向量会明显地损害参与计算的行人特征.

为了缓解全连接层相关性较高的问题,在原有的网络框架基础上进行修改,去掉原来网络中最后的1000维分类层,新增一个1024维的全连接层(记为FC⁃1024),并借鉴Sun et al[20]的训练思想,即在网络训练过程中始终保持该全连接层中权重向量的正交性,通过这种方式来降低全连接层中权重向量的相关性.

在此基础上,在上述全连接层后面再加上一层全连接层,该层的神经元个数根据参与训练行人重识别数据集中的类别数来定(称为FC⁃T).简单来说,最后一层全连接层中的神经元实际上就是将前面卷积层提取的特征整合到一起输出为一个值.在行人重识别任务中,这个值可以理解为置信度,即网络模型默认输入图片属于某一类别的概率值.将神经元的个数调整为行人类别数可以有效地减少网络的误判,例如最后全连接层的神经元个数为1000,行人类别有100类,那么在这种情况下就可能出现大量不必要的置信度分配.上述修改方式可以有效地避免该问题.

此外,在最后一层全连接层之前加入批归一化层(记为BN)、ReLU激活函数和Dropout层.批归一化层对送往激活函数的输入作归一化处理,缓解输入数据发生偏移和增大的影响,还能加快网络的训练速度.ReLU激活函数可以增加网络的非线性,进而提高网络的判别能力.Dropout层使每一个神经元的激活值在每一个批次的训练过程中以一定的概率停止更新,防止陷入局部最优解,提高模型的泛化性.图5展示了结合生成图片的网络训练框架.

2.3.3 标签平滑正则化标签平滑正则化[21]旨在减少真实类别的置信度,给非真实类别分配较少的置信度,防止模型过拟合,一般和交叉熵损失配合使用.在传统的分类任务中,通常采用one⁃shot编码设置输入图片的标签分布.因此,输入图片的标签分布q(k)可以定义为:

其中,y指输入图片对应的真实标签.网络模型预测输入图片属于每一个标签k∈{}1,…,K的概率,并对预测概率值p()k做归一化处理,此时交叉熵损失可以写为:

图5 结合生成图片的网络训练框架Fig.5 Network training framework combined with generated images

原始训练集中通常会出现标注错误和不同类别之间样本数量差异过大的问题,式(2)很容易受这些问题的影响.标签平滑正则化就是针对上述问题设计的一种训练策略,输入图片的标签分布可以重写为:

其中ε∈[0,1 ].此时真实图片交叉熵损失可写为:

虽然DCGAN生成的行人图片与原始训练集中的真实图片有某种共性,但无法判断生成图片到底属于哪个类别,无法直接用于全监督的行人重识别训练.为了将生成图片加入训练过程,引用了Zheng et al[3]的训练策略,为生成图片分配一个统一的标签.生成图片的标签分布可定义为:

此时,生成图片的交叉熵损失为:

结合式(4)与式(6),本文的损失函数为:

其中,β的取值为0或者1.

2.3.4 重排序给定一张查询图片p和一个包含N张行人图片的行人图库G={gi|i=1,2,…,N} .通过计算查询图片和行人图库之间的欧式距离,获得一个初始排序列表.重排序[22-23]是指根据初始排序列表的排序结果,寻找一种对行人外貌差异鲁棒的距离度量.查询图片p的k近邻集合N(p,k)可以定义为:

N(p,k)中的元素是指初始排序列表中与查询图片p最相似的k张图库图片.在此基础上,查询图片的拓展近邻集合R(p,k)可以定义为:

其中,R(p,M)是与查询图片p最相似的M张近邻图片,称为直接近邻;
R(M,N)指与R(p,M)中每个元素最相似的N张近邻图片,称为间接近邻.图6展示了拓展近邻集合计算的过程.

图6 拓展近邻计算Fig.6 Extended nearest neighbor computing

拓展近邻距离可以定义为:

其中,pj指的是查询图片的拓展近邻集合R(p,K)中的第j个近邻,gij指的是图库图片gi的拓展近邻集合R(gi,K)中的第j个近邻,d(·)代表图片对之间的距离.

查询图片p的k互邻集合可以定义为:

和k近邻集合相比,k互邻集合与查询图片p的相关性更高.由于行人重识别任务的挑战性,会导致与查询图片p身份一致的图库图片可能既不在k近邻集合中也不在k互邻集合中.为了缓解这个问题,在原有k互邻集合的基础上再加上k互邻集合中每个元素的k/2互近邻,构成增强型k互近邻集合:

杰卡德距离通过计算两个集合的相似性来确定查询图片p和图库图片gi之间的距离.因此,根据这两张图片各自的k互近邻集合,查询图片与图库图片之间的杰卡德距离可以定义为:

其中,|· |表示集合中元素的数量.

将初始的欧式距离、基于k互邻的杰卡德距离和拓展近邻距离融合在一起修正初始的排序列表,最终的距离的计算式如下:

其中,α与μ均为权衡因子,取值范围为0到1.

2.4 行人的数据关联行人检测部分利用改进的YOLOv3算法检测给定的24段视频中所有的行人图片,将检测到的行人图片分别存储在24个以视频名命名的文件夹中,同时生成与24个文件夹对应的txt文件来保存所检测行人图片所在的视频编号、所在的帧号、目标归一化后的全身位置信息和图片编号.

行人重识别部分利用改进的行人重识别算法给已检测出来的行人图片赋予一个身份标签,同时生成24个与行人检测部分行人图片文件夹对应的txt文件来保存已标定的行人图片编号和已标定的行人身份标签.

将行人检测部分和行人重识别部分生成的txt文件进行组合,生成最终需要的JSON文件(如图7所示).在JSON文件中行人标签为key值,该行人出现的所有视频号、所在帧号和归一化后的位置信息为value值.即,待查找的200个行人在所有视频中出现的信息在JSON文件中以键值对的形式关联起来.若要查看某个行人的运动轨迹,只需在JSON文件中找出该行人标签对应的value值即可.

图7 行人数据关联Fig.7 Person data association

实验在2018全球(南京)人工智能应用大赛多目标跨摄像头跟踪赛题公布的测试视频上进行,测评指标为F1⁃score.该算法的优劣性很大程度上依赖行人检测和行人重识别算法的性能,因此在目前公开的数据集和自制的MTCCT2018数据集上测试本文采用的改进后的行人检测和行人重识别算法,并用累积匹配特征曲线以及平均查准率(mean Average Precision,mAP)作为测评指标.所有实验均在Ubuntu16.04环境下进行,详细配置:显卡NVIDIA TITAN XP,Cuda8.0,Cudnn5.1,Caffe,Opencv3.2.0,Python2.7.12,Nvidia驱动384和MatlabR2015b.

3.1 自制行人重识别数据集基于深度学习算法的行人重识别方法往往需要大量的行人图片参与训练,然而目前行人重识别领域公开数据集中的行人图片数量较少.为了获得更多的行人图片参与训练,收集现实生活中的监控视频(多目标跨摄像头跟踪赛题公布的视频数据),并对收集的视频数据进行处理,构建一个新的行人重识别数据集,即MTCCT2018数据集,总计19757张行人图片.图8展示了数据集中的部分行人图片.原始的视频数据收集自四个室内摄像头和四个室外摄像头,总计24段视频,有相对复杂的背景与场景转换.另外,这些视频数据收集自一天的多个时段,能够很好地模拟真实场景,还有较为明显的光照变化.首先利用改进的YOLOv3算法检测视频帧中的行人图片,然后利用行人重识别技术为已检测行人图片赋予一个标签.这期间人为去除那些检测效果不好的行人图片,同时人为检查已检测行人图片标签的正确性.

图8 自制数据集Fig.8 Self-made dataset

3.2 行人检测实验本文在Caltech数据集上训练改进后YOLOv3算法(记为YOLOv3_im⁃prove),同时为了测试该算法的泛化性能,在Daimler和INRIA数据集上测试在Caltech数据集上训练好的模型,实验结果如表1所示.可以看出,在Caltech,Daimler和INRIA数据集上,改进的YOLOv3算法的mAP明显超过原始的YO⁃LOv3算法,虽然每一帧的检测时间略长于原始的YOLOv3算法,但仍可满足实时检测的要求.和现有的检测算法Faster R⁃CNN[24]相比,改进后的YOLOv3算法在精度上不太弱于Faster R⁃CNN,但检测速度远胜Faster R⁃CNN.把在Caltech数据集上训练好的模型直接用于Daimler和INRIA数据集上,改进的YOLOv3算法仍然可以获得较高的mAP,证明该算法可以适应不同的场景,有较好的泛化能力.

3.3 行人重识别实验在Market⁃1501,DukeM⁃TMC⁃reID和CUHK03数据集[25-27]上测试本文提出的基于生成对抗网络和重排序的行人重识别改进算法(记为Ours)的性能,实验结果如表2所示.可以看出,和基准方法ResNet50相比,改进算法有显著的性能提升:在Market⁃1501数据集上Rank1提升5.99%,mAP提升14.84%;
在DukeMTMC⁃reID数据集上Rank1提升6.91%,mAP提升15.96%;
在CUHK03数据集上Rank1提升9.77%,mAP提升7.04%.和本文的改进算法相比较的还有SOMAnet[28],Verif.⁃Identif[29],Pose Transfer[30],TriNet[31],VGG16[32]和DSA⁃reID[33]等先进算法,从表2可以看出,本文提出的行人重识别改进算法无论是Rank1指标还是mAP指标均优于上述对比算法效果.

表1 行人检测算法的实验结果对比Table 1 Experimental results of person detection algorithms

通常情况下,在源场景下表现很好的行人重识别模型在新场景下不一定有好的表现.为了验证本文提出的行人重识别改进算法的泛化能力,在自己制作的数据集MTCCT2018上分别测试在Market⁃1501,DukeMTMC⁃reID和CUHK03数据集上训练好的模型的性能,实验结果如表3所示.可以看出,虽然将改进算法在其他数据集上训练好的模型直接用到MTCCT2018数据集上会导致性能下降,但和现有其他算法相比,改进算法的识别能力还是较强,证明改进算法不仅可以有效改善行人重识别性能,还具有较好的泛化能力.

表2 行人重识别算法的实验结果对比Table 2 Experimental results of person re-identification algorithms

3.4 多目标跨摄像头跟踪实验经实验测试,最终完成的多目标跨摄像头跟踪算法基本上可以准确地检测视频帧中出现的行人,并给已检测行人赋予一个较为准确的标签(如图9所示);
能够根据室内视频中出现的行人信息关联该目标在其他视频中出现的行人信息,最终生成较为完整的JSON文件.经比赛官方的测评,该算法最终取得初赛第一、复赛第二的成绩.

表3 行人重识别算法在跨数据集上的实验结果对比Table 3 Experimental results of person re-identification algorithms across datasets

图9 实验结果示意图Fig.9 Schematic diagram of experimental result

多目标跨摄像头跟踪技术在智能城市、智能安防和刑事侦查等领域有广泛的应用前景,可以补充人脸识别的局限,更准确地确认行人身份信息.该技术依赖多种信息和技术,如行人检测和行人重识别,可以对不同摄像头中出现的同一目标进行关联.本文提出一种多目标跨摄像头跟踪算法,将行人检测算法和本文提出的行人重识别改进算法相结合,通过JSON文件来关联不同场景下不同监控摄像头录制视频中出现的行人,达到多目标跨摄像头跟踪的效果.根据比赛官方的测评,该算法可以快速高效地检索和识别视频中的行人,并能生成包含视频中所有行人信息的JSON文件,在智能生活领域有巨大的应用价值.

猜你喜欢集上行人摄像头浙江首试公路非现场执法新型摄像头中国交通信息化(2022年9期)2022-10-28摄像头连接器可提供360°视角图像汽车工程师(2021年12期)2022-01-18毒舌出没,行人避让意林(2021年5期)2021-04-18Cookie-Cutter集上的Gibbs测度数学年刊A辑(中文版)(2020年2期)2020-07-25链完备偏序集上广义向量均衡问题解映射的保序性数学物理学报(2019年6期)2020-01-13路不为寻找者而设扬子江(2019年1期)2019-03-08复扇形指标集上的分布混沌数学物理学报(2017年5期)2017-11-23我是行人小天使·一年级语数英综合(2017年6期)2017-06-07奔驰360°摄像头系统介绍汽车维修与保养(2015年8期)2015-04-17几道导数题引发的解题思考新课程学习·中(2013年3期)2013-06-14

推荐访问:技术研究 摄像头 跟踪