CN113536996B - 一种基于大量真实人群运动视频的人群运动仿真方法 - Google Patents
一种基于大量真实人群运动视频的人群运动仿真方法 Download PDFInfo
- Publication number
- CN113536996B CN113536996B CN202110735986.7A CN202110735986A CN113536996B CN 113536996 B CN113536996 B CN 113536996B CN 202110735986 A CN202110735986 A CN 202110735986A CN 113536996 B CN113536996 B CN 113536996B
- Authority
- CN
- China
- Prior art keywords
- crowd
- motion
- individual
- data
- image
- 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.)
- Active
Links
- 230000033001 locomotion Effects 0.000 title claims abstract description 126
- 238000004088 simulation Methods 0.000 title claims abstract description 50
- 238000000034 method Methods 0.000 title claims abstract description 35
- 238000012549 training Methods 0.000 claims abstract description 32
- 238000013527 convolutional neural network Methods 0.000 claims abstract description 29
- 230000006399 behavior Effects 0.000 claims abstract description 20
- 230000000694 effects Effects 0.000 claims abstract description 6
- 238000009432 framing Methods 0.000 claims abstract description 6
- 239000013598 vector Substances 0.000 claims description 27
- 238000013528 artificial neural network Methods 0.000 claims description 25
- 238000004364 calculation method Methods 0.000 claims description 15
- 238000004422 calculation algorithm Methods 0.000 claims description 14
- 238000012360 testing method Methods 0.000 claims description 12
- 238000011176 pooling Methods 0.000 claims description 6
- 239000000284 extract Substances 0.000 claims description 4
- 210000002569 neuron Anatomy 0.000 claims description 4
- 230000009467 reduction Effects 0.000 claims description 4
- 235000004522 Pentaglottis sempervirens Nutrition 0.000 claims description 3
- 238000006243 chemical reaction Methods 0.000 claims description 3
- 238000009499 grossing Methods 0.000 claims description 3
- 238000010606 normalization Methods 0.000 claims description 3
- 230000035939 shock Effects 0.000 claims description 3
- 240000004050 Pentaglottis sempervirens Species 0.000 claims description 2
- 230000004913 activation Effects 0.000 claims description 2
- 230000006870 function Effects 0.000 description 15
- 239000003795 chemical substances by application Substances 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 230000000875 corresponding effect Effects 0.000 description 7
- 238000013135 deep learning Methods 0.000 description 6
- 238000013461 design Methods 0.000 description 5
- 239000011159 matrix material Substances 0.000 description 5
- 230000003993 interaction Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 239000011800 void material Substances 0.000 description 3
- 241000270298 Boidae Species 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000010219 correlation analysis Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000005094 computer simulation Methods 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000945 filler Substances 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 238000003709 image segmentation Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
-
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/27—Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
-
- G06T5/70—
-
- 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/277—Analysis of motion involving stochastic approaches, e.g. using Kalman filters
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
- G06V10/443—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
- G06V10/449—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
- G06V10/451—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
- G06V10/454—Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/762—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using clustering, e.g. of similar faces in social networks
- G06V10/763—Non-hierarchical techniques, e.g. based on statistics of modelling distributions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
- G06V10/7747—Organisation of the process, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/52—Surveillance or monitoring of activities, e.g. for recognising suspicious objects
- G06V20/53—Recognition of crowd images, e.g. recognition of crowd congestion
-
- 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/30241—Trajectory
Abstract
本发明公开了一种基于大量真实人群运动视频的人群运动仿真方法,包括五个步骤,将视频分帧并保存成连续高清图像,生成每张图像的人群密度图,对每张密度图中的每个个体精准定位,得到每个个体的精确位置;将每个个体在不同图像中的位置关联起来,形成一条完整的运动轨迹,并提取运动轨迹数据;量化运动轨迹数据,定义训练数据、数据标签,计算数据相关性;搭建深度卷积神经网络,输入运动轨迹数据进行训练,以学习人群运动行为;在二维空间随机放置多个模拟个体,测试深度卷积神经网络的预测效果,调整参数进行仿真,并绘制人群运动轨迹。本发明能够实时计算人群的位置,进而模拟出人群运动轨迹,具有较高的仿真精准度和普适性。
Description
技术领域
本发明涉及计算机仿真领域,尤其涉及一种基于大量真实人群运动视频的人群运动仿真方法。
背景技术
人群运动轨迹仿真是人群运动仿真技术中十分重要的一部分。作为一种分析工具,人群运动轨迹仿真可以应用于公共安全领域,如船舶、飞机等大型交通工具的设计,体育场馆、地铁站等大型公共设施的设计等等。
以体育场馆为例,通过人群运动轨迹仿真,可以根据体育场馆的设计规模,模拟球迷退场等常规情景下的人群运动轨迹,辅助分析场馆的走廊宽度、出口数目和出口位置等设计是否合理;可以模拟球迷发生冲突、火灾、恐怖袭击等非常规情景下的人群运动轨迹,辅助建立紧急情况下人员的疏散方案、合理布置消防器材、分配警力;还可以作为场馆管理人员进行消防、反恐等安全方案预演及培训的辅助工具。与传统方法相比,人群运动轨迹仿真具有直观、灵活、高效、经济和无人员安全风险等诸多优点。因此,人群运动轨迹仿真的研究受到了广大学者的关注。
现阶段人群运动轨迹仿真主要基于人群运动仿真模型实现。人群运动仿真研究始于上世纪80年代。1987年,Reynolds提出了Boid鸟群仿真模型,该模型也是最早的群体行为模型之一。该模型采用了分离性、方向性和凝聚性三套简单的规则,建立群体运动仿真模型。Boids模型采用预定义的规则来实现避免碰撞。但在特定场景中,人类群体不一定需要避免碰撞,甚至有可能是相互紧密耦合。因此boids模型无法准确模拟人群的分离性。
2007年,Varasa和Cornejoa提出了基于元胞自动机的人群运动模型。该模型通过少量规则近似模拟人群运动现象。与复杂的行为模型相比,其计算过程简单且高效。但由于人群运动的复杂性和不确定性,其模拟难度远远高于按照预定规则的群体运动,无法准确模拟人群之间的堆挤和碰撞行为。
2009年,J.Filler从社会心理学的角度提出了一个基于社会力学的人群动力学模型。通过研究恐慌状态下人群的特征,作者提出影响人群运动三个因素,并建立了基于牛顿力和人类心理的混合模型。由于该模型有较多的作用力参数,使各种作用力之间较难平衡,计算的复杂度高,因此难以得到较平滑的运动轨迹。
除了元胞自动机和社会力学,Muti-agent模型也被用来建立人群动力学模型。Muti-Agent模型是由多个智能Agent组成。多个Agent通过协同工作,可以完成单个Agent无法解决的复杂任务。基于Muti-Agent的人群模型中,每个Agent都可以看作具有自主性、社会性和主动性的智能体,而且每个智能体可以自主感知其周围环境。但这种模型很难设计针对不同情况的规则,将这类规则与人类行为联系起来是很难的。
传统的人群运动轨迹仿真方法通常以影响行人运动的各种因素为基础。通过预先定义的一系列运动规则来控制人群行为。这些规则虽然考虑了影响行人运动的多种因素,但忽略了因素之间的相互影响。而且人类行为的复杂性较高,无法用简单的规则或数学公式进行描述。因此,在此基础上进行仿真,无法准确模拟人群运动轨迹。
发明内容
本发明提供一种基于大量真实人群运动视频的人群运动仿真方法,以克服上述技术问题。
一种基于大量真实人群运动视频的人群运动仿真方法,包括如下步骤:
步骤1、拍摄真实人群运动视频,将视频分帧并保存成连续高清图像,生成每张图像对应的人群密度图,并对每张密度图中的每个个体进行精准定位,得到每个个体在图像中的精确位置;
步骤2、将每个个体在不同图像中的位置关联起来,形成一条完整的运动轨迹,并提取运动轨迹数据;
步骤3、对运动轨迹数据进行量化,计算数据相关性,选择训练数据、数据标签;
步骤4、搭建深度卷积神经网络,输入步骤3处理后的运动轨迹数据进行训练,以学习人群运动行为;
步骤5、以图像大小设置二维空间,在二维空间中随机放置多个模拟个体,测试深度卷积神经网络的预测效果,调整参数进行仿真,并绘制人群运动轨迹。
优选地,步骤1拍摄真实人群运动视频,将视频分帧并保存成连续高清图像,生成每张图像对应的人群密度图,并对每张密度图中的每个个体进行精准定位,得到每个个体在图像中的精确位置,其步骤包括:
步骤1a、用鸟瞰的俯视角度拍摄真实人群视频,将视频的每一帧抽取出来并保存成高清图像;
步骤1b、通过CSRnet卷积神经网络提取每张图像的人群密度图,根据人群密度图中的人群密度取值进行划分,当密度取值低于阈值时,采用脉冲函数卷积高斯核的方式来定义密度图,当人群密度高于阈值时,通过精准估计群体密度函数来定义密度图;
步骤1c、对密度图进行降噪处理,用OpenCV以像素循环的方式来计算密度图中每个点的轮廓,并计算轮廓的质心;
步骤1d、用DBSCAN算法对质心进行聚类,并通过对聚类的质心点的平均值计算,得到每个个体在图像中的精确位置。
优选地,步骤1b所述的CSRnet卷积神经网络包括VGG-16卷积神经网络和空洞卷积层,卷积核大小为3,池化层是2×2,所述脉冲函数卷积高斯核的计算公式为(1),
其中,xi为假设标注点的位置,N为图像中头的数量,δ(x-xi)为冲击函数。
优选地,步骤1b所述精准估计群体密度函数的计算公式为(2)、(3)、(4),
优选地,步骤1c所述计算轮廓的质心,计算公式为(5)、(6),
其中,xi,yi为图像上某一个像素点在x方向和y方向上的坐标,pi为图像上某一个像素点的像素值,n为图像中像素点的个数。
优选地,步骤2将每个个体在不同图像中的位置关联起来,形成一条完整的运动轨迹,并提取运动轨迹数据,其步骤包括:
步骤2a、采用DBSCAN聚类算法对个体位置进行图像间聚类,得到每个个体的聚类轨迹;
步骤2b、利用Kalman滤波器对聚类轨迹进行平滑处理,得到光滑连续的运动轨迹数据。
优选地,步骤3对运动轨迹数据进行量化包括,
步骤3a:获取个体g、个体邻居Ng,个体运动速度矢量为[ug,vg]、个体邻居运动矢量为[uj,vj](j∈Ng,j=1,2,…,n),
步骤3b:计算个体g到其邻居的相对位置矢量,公式为(7)、(8),
dxj=xj-xg (7)
dyj=yj-yg (8)
其中,个体g的位置坐标定义为[xg,yg],其邻居坐标定义为[xj,yj](j∈Ng),个体g到其邻居的相对位置矢量为[dxj,dyj](j∈Ng),个体g的邻居集合为Ng,
步骤3c:计算个体到其邻居的相对位置矢量的矢量和,公式为(9)、(10),
其中,个体g到其邻居的相对位置矢量的矢量和为[drxg,dryg](j∈Ng),
优选地,深度卷积神经网络由输入层、输出层和隐藏层三部分组成,所述输入层包含n个神经元,n为训练数据集的维度值,所述输入层的数据再经过BatchNorm归一化和Reshape数据格式转换传入所述隐藏层,所述输入层和所述输出层之间是所述隐藏层,所述隐藏层包括二维卷积层、LeakyReLU激活层、MaxPooling池化层和Flatten层,所述输出层是全连接层。
优选地,步骤4在二维空间随机放置多个模拟个体,测试深度卷积神经网络的预测效果,调整参数进行仿真,并绘制人群运动轨迹,其步骤包括:
步骤4a、将模拟个体随机放置在二维空间中,用所述深度神经网络来预测个体的运动轨迹;
步骤4b、在所述深度神经网络进行t次连续预测计算,并模拟出人群在虚拟实验平台中的运动轨迹。
本发明提供了一种基于大量真实人群运动视频的人群运动仿真方法,能够生成高质量的人群分布密度图,自动化精准识别图像中的个体位置,通过DBSCAN算法获取人群运动轨迹数据,采用深度卷积神经网络对人群行为进行学习,提高了仿真的精准度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明的方法流程图;
图2是本发明真实人群运动轨迹高清图;
图3是本发明高质量的人群分布密度图;
图4是本发明降噪后的人群分布密度图;
图5是本发明的区域放大后的部分个体多个质心图;
图6是本发明的个体精准定位图;
图7是本发明的个体位置在三维空间中的散点图;
图8是本发明的从40个连续帧中提取的人群轨迹数据;
图9是本发明的数据相关性矩阵图;
图10是本发明的深度卷积神经网络结构图;
图11是本发明神经网络在训练过程中的训练误差与测试误差图;
图12是本发明系统在训练过程中的训练准确率与测试准确率;
图13是本发明t=0时初始的人群状态图;
图14是本发明t=50时人群状态图;
图15是本发明t=200时人群状态图;
图16是本发明t=500时人群状态图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明的方法流程图,如图1所示,本实施例的方法可以包括:
本发明主要目的是提出一种基于大量真实人群运动视频的人群运动仿真方法,是一种区别于以往传统模式的创新型方法。既考虑了传统方法中影响人群运动轨迹的各种因素,又结合了各因素之间的相互影响,提高了仿真的精准度。该方法是通过真实监控视频采集到的人群运动轨迹数据,对建立的卷积神经网络进行训练。通过深度学习的训练,可以使深度卷积神经网络学习人群的行为规律。并利用神经网络的预测功能,实时计算人群的位置,进而模拟出人群运动轨迹。
首先,将视频分帧并保存成连续高清图像,生成每张图像对应的人群密度图,并对每张密度图中的每个个体进行精准定位,得到每个个体在图像中的精确位置,包括以下步骤,
(1)视频拍摄。通过拍摄视频获取本发明所需的真实数据,本发明从真实的人群运动视频中提取人群运动轨迹数据,将视频分帧并保存成连续的高清图像。本发明中视频取景地是大连某商业广场,取景时间是2020年1月1日至1月3日,节假日是人流量高峰期,便于研究人群的互动行为,取景方式是用鸟瞰的俯视角度拍摄人群视频。将视频的每一帧抽取出来并保存成高清图像。通过分帧操作可以获取832张连续的高清人群图像,每一帧图像的分辨率为1280×720,如图2所示。
(2)人群密度度获取。要对图像中的人群个体进行准确识别定位,由于图像数量较多,人群密度较大,人工识别的方法是不切实际的,因此采用自动化的个体位置识别是唯一的可行方法。通过CSRnet卷积神经网络提取每张图像的人群密度图。CSRnet网络的前端是VGG-16卷积神经网络。由于卷积层会导致输出的图像变小,因此CSRnet网络的输出是原始图像1/8的人群密度图。为了获取高分辨率的人群密度图,CSRnet网络的后端采用空洞卷积层。空洞卷积层在保持高分辨率的同时扩大感知域,可生成高质量的人群分布密度图,如图3所示。
采用脉冲函数卷积高斯核的方式来定义密度图,那么具有N个头的标签可以被表示为公式(1):
其中,xi为假设标注点的位置,N为图像中头的数量,δ(x-xi)为冲击函数。用此函数生成的密度图并不适用于人群密度很大的情况,当人群密度很大时,精准估计群体密度函数需要考虑透视变换。假设每个人头周围的人群是均匀分布的,那么计算与其最近的m个邻居之间的平均距离可以给出几何失真的合理估计,密度函数公式如下:
其中,G(x)为高斯核函数,δi可变且与成比例,m为与第i个人头近邻人头的数量,表示第i个人头与近邻第j个人头的距离,为与m个近邻人头的平均距离,当人群密度较大时,β=0.3能更好地表征人头大小的特征。
本发明中CSRnet卷积神经网络的卷积核大小为3,池化层是2×2,步长为1,密度图是由delta脉冲函数与一个高斯函数卷积得来,这里先卷积再求和。为了精准定位,还需对密度图进行降噪处理,如图4所示。
(3)人群个体精准定位。采用OpenCV以像素循环的方式来计算每个点的轮廓,并计算轮廓的质心。图像的质心,也称为图像的重心。扩展到图像上面,其每一点的像素值可以理解成此点处的质量。考虑到图像是二维的,需在x方向和y方向上分别独立地找出质心,即在x方向上,图像在质心左右两边像素和相等,在y方向上,图像在质心的上下两边像素和相等。计算公式如下:
可改写为:
其中,xi,yi为图像上某一个像素点在x方向和y方向上的坐标,pi为图像上某一个像素点的像素值,n为图像中像素点的个数。
由于噪声及误差的影响,部分个体可能由多个质心组成,如图5所示,通过区域放大,可以看到部分个体的多个质心。为了获取个体的准确位置,本发明采用DBSCAN算法对这些质心进行聚类,并通过对聚类的质心点的平均值计算,得到每个个体在图像中的精确位置,如图6所示。
DBSCAN算法中有两个重要参数:Eps和MinPtS,Eps是定义密度时的邻域半径,MinPts为定义核心点时的阈值。在DBSCAN算法中,将数据点分为核心点、边界点和噪声点三类,如果一个对象在其半径Eps内含有超过MmPts数目的点,则该对象为核心点。通俗地讲,核心点对应稠密区域内部的点,边界点对应稠密区域边缘的点,而噪音点对应稀疏区域中的点。
同一帧中并肩行走的两个人之间的最近距离为20个像素点,因此Eps取较小一些的值,有利于在空间上区分不同的个体,此处Eps取为15。
关于MinPts值的确定,首先计算所有数据点的k最近点平均距离,然后计算所有数据点的(k+1)最近点平均距离,求出所有数据点的(k+1)最近点平均距离与k最近点平均距离的差值即密度变化,再将这些差值求和,即计算所有点的密度变化之和,找出其中密度变化之和的最小值,此时,对应的(k+1)最近点平均距离最能反映各点的密度层次,所以取此时的k+1的值作为k的值,即MinPts的值,此处为3。
然后,将每个个体在不同图像中的位置关联起来,形成一条完整的运动轨迹,并提取运动轨迹数据。为了进行神经网络的深度学习,需要提取人群的轨迹数据。人群的轨迹数据是由每个个体的运动轨迹组成。虽然每个个体的位置可以按照图像的顺序逐个定位,但是将每个人在不同图像中的位置关联起来,并形成一条完整的轨迹难度很大。因此,本发明中使用DBSCAN聚类算法对个体位置进行图像间聚类,此时,以时间概念为出发点,将MinPts定为2,从而获取人群的轨迹数据。
如图7所示,个体位置在时间域中的位置可以表示为三维空间中的散点。由于每一个图像大小为1280×720,所以三维空间的Width轴方向数值取值范围是0~1280,Hight轴方向取值范围是0~720。Frame轴作为时间轴,代表每一个图像的人群定位数据。群体中的个体在图像间的运动幅度较小,通常会小于10像素。而在同一图像中人与人之间的距离较大,通常在20-100像素之间。因此可以再一次利用DBSCAN算法来聚类人群个体的轨迹。图7即DBSCAN的聚类结果。
由于数据处理误差,DBSCAN获取的的聚类轨迹具有较大的波动性。因此本发明利用Kalman滤波器对聚类轨迹进行了一次平滑处理。图8显示了从40个连续图像中提取的人群轨迹数据。由图可知DBSCAN算法可以有效地提取人群轨迹数据。通过Kalman滤波可以获取光滑连续的人群轨迹数据。
为了建立人群运动仿真模型,需要利用大数据训练出一个深度神经网络。经过训练的深度神经网络可以模拟出人群的互动行为。为了达到这一目的,需要从获得的轨迹数据中生成并选取合适的训练数据。通过对人群轨迹聚类处理,本实施例共获取24000条人群个体的轨迹数据。通过对轨迹数据的数据相关性分析,提取数据中相关性最大的数据属性,并利用选取的数据进行深度学习。
为了分析数据的相关性,需要建立数据之间的相关性矩阵。相关性矩阵是由数据属性之间的相关系数构成的。相关矩阵中第i行、第j列的元素,是数据中第i个属性和第j个属性的相关系数。相关系数越高,说明对应数据属性之间的相关性越高。
在数据相关性分析之前,需要对人群轨迹数据进行量化。如果把个体定义为g,则个体g的邻居集合可以定义为Ng。个体g的运动速度矢量定义为[ug,vg]、个体g的邻居运动矢量定义为[uj,vj](j∈Ng,j=1,2,…,n)。个体g到其邻居的相对位置矢量为[dxj,dyj](j∈Ng)。如果把个体g的位置坐标定义为[xg,yg],其邻居坐标定义为[xj,yj](j∈Ng),则[dxj,dyj]的计算公式如下:
dxj=xj-xg (9)
dyj=yj-yg (10)
如果个体g到其邻居的相对位置矢量的矢量和定义为[drxg,dryg](j∈Ng)。则[drxg,dryg]的计算公式如下:
表1列出了选取的量化数据及其数据属性描述。本发明提出的深度学习方法属于有监督学习,因此需要定义训练数据和与其对应的数据标签。表1中(ug,vg)被定义为数据标签,(uj,vj)以及(drxg,dryg)定义为训练数据。这一定义的目的是使深度神经网络可以通过给定的(uj,vj)以及(drxg,dryg)推测出每个个体的运动速度,进而模拟出人群的互动行为。
表1数据属性及描述
数据属性 | 数据描述 |
u<sub>g</sub>,v<sub>g</sub> | 个体运动速度矢量(数据标签) |
u<sub>j</sub>,v<sub>j</sub>(j∈N<sub>g</sub>) | 个体邻居运动速度矢量 |
drx<sub>g</sub>,dry<sub>g</sub>(j∈N<sub>g</sub>) | 邻居相对距离矢量和 |
图9中描绘出选取数据的相关性矩阵。如图可知,个体的速度矢量(ug,vg)与四个最近邻居的速度(u1,u2,u3,u4,v1,v2,v3,v4)具有较高的相关性,最高的相关系数可以达到0.31。另外,个体的速度与邻居相对距离矢量和(drxg,dryg)呈现弱相关性,相关系数可以达到0.16,因此,这10个数据属性将作为神经网络训练数据集对神经网络进行深度学习。个体的速度矢量(ug,vg)作为标签数据实现神经网络的监督学习。
其次,搭建深度卷积神经网络,输入运动轨迹数据进行训练,以学习人群运动行为,包括以下步骤,
本发明构建的深度卷积神经网络由输入层、输出层和隐藏层三部分组成。其中输入层包含10个神经元,其个数与选定的训练数据集的维度一致(10个相关属性)。输入的数据再经过BatchNorm归一化和Reshape数据格式转换传入隐藏层。深度神经网络所预测的结果是个体的在X轴和Y轴的速度(ug,vg),因此神经网络的输出层是包含2个神经元的全连接层。输入层和输出层之间是隐藏层,隐藏层包括6个二维卷积层、6个LeakyReLU激活层、3个MaxPooling池化层和一个Flatten层。其网络结构如图10所示。
本发明中的深度神经网络训练是在python-keras平台中实现的,所采用的操作系统是deepin-linux15.11。采用CUDA9.0和cudnn7.1实现深度学习的训练加速,使用的加速硬件是Nvidia-1080Ti,深度学习的训练次数为100epochs,batch-size设为100,训练数据集和测试数据集从选取的人群轨迹数据中获取。
所选数据中80%为训练数据集,20%为测试数据集。即训练数据集的数据量为24000×80%=19200,试验数据集的数据量为24000×20%=4800。图11中描绘的是神经网络在训练过程中的训练误差(实线)与测试误差(虚线)。采用的误差计算方法是Mean-Absolute-Error。图12中描述的是系统在训练过程中的训练准确率(实线)与测试准确率(虚线),准确率的计算方法是神经网络预测值的准确率均值。
最后,以图像大小设置二维空间,在二维空间随机放置多个模拟个体,测试深度卷积神经网络的预测效果,调整参数进行仿真,并绘制人群运动轨迹,包括以下步骤,
本发明利用两个神经网络分别进行个体精准定位和人群运动轨迹预测,因此需要构建两个神经网络。深度卷积神经网络是一种使用计算机模拟人脑神经网络结构的软件程序。本发明所使用的两个卷积神经网络都是采用MaskRCNN的结构。Mask R-CNN是一个图像分割算法,可以完成图像物体分类、图像物体检测、图像物体轮廓识别等多种任务,灵活而强大。除此之外,一些图像处理的步骤也是不可或缺的重要部分。
根据图像的像素取值设置二维空间的横轴和纵轴,将60个模拟个体随机放置在二维空间中,用训练好的深度神经网络用来预测这些个体的运动轨迹,将其运动轨迹绘制在图中。
在实验过程中神经网络进行了t=1000次连续预测计算,并模拟出了人群在虚拟实验平台中的运动轨迹。
图13是t=0时初始的人群状态,在初始状态下,人群随机的分布在二维空间中,个体的初始速度为0cm/s~100cm/s之间的随机数。图14是当t=50时,人群在随机速度和邻居的共同影响下开始向不同方向移动。图15是当进行了t=200轮预测后,邻近的个体开始呈现出群体行为,整个人群形成两个子群体,并向两个相反方向移动。这一群体行为与真实视频中人群的移动方式相似。图16是在t=500时,两组人群以相似的速度和相似的轨迹向两个方向继续移动,人群也达到了一种平衡状态。
所有轨迹呈现出与真实世界中相似的人群行为。个体能够与邻居保持稳定的距离,并以稳定的速度跟随邻居。群体的路径选择受人群密集程度、初始速度、周边行人速度和距离等因素的影响。仿真结果表明,神经网络的预测结果符合真实情况下的人群运动行为,即本发明提出的仿真方法真实有效。
整体有的有益效果:
(1)采用CSRnet卷积神经网络提取每张视频帧的人群密度图,为了解决卷积层导致输出图像变小的问题,本发明中的CSRnet网络后端采用空洞卷积层。在保持高分辨率的同时扩大感知域,生成高质量的人群分布密度图。
(2)采用OpenCV和DBSCAN算法确定每张视频帧中的个体精准位置,实现自动化个体位置识别,省时省力。
(3)采用DBSCAN聚类算法对个体位置进行帧间聚类,从而获取视频中每个个体的完整的运动轨迹,以获得人群运动轨迹数据。
(4)采用深度卷积神经网络对人群行为进行学习,区别于传统方法中预先定义的一系列运动规则来控制人群行为的方式,本发明考虑了影响人群运动的各因素之间的相互影响,提高了仿真的精准度。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (8)
1.一种基于大量真实人群运动视频的人群运动仿真方法,包括如下步骤:
步骤1、拍摄真实人群运动视频,将视频分帧并保存成连续高清图像,生成每张图像对应的人群密度图,并对每张密度图中的每个个体进行精准定位,得到每个个体在图像中的精确位置;
步骤2、将每个个体在不同图像中的位置关联起来,形成一条完整的运动轨迹,并提取运动轨迹数据;
步骤3、对运动轨迹数据进行量化,计算数据相关性,选择训练数据、数据标签;
步骤4、搭建深度卷积神经网络,输入步骤3处理后的运动轨迹数据进行训练,以学习人群运动行为;
步骤5、以图像大小设置二维空间,在二维空间中随机放置多个模拟个体,测试深度卷积神经网络的预测效果,调整参数进行仿真,并绘制人群运动轨迹;
所述步骤3对运动轨迹数据进行量化包括,
步骤3a:获取个体g、个体邻居Ng,个体运动速度矢量为[ug,vg]、个体邻居运动矢量为[uj,vj],j∈Ng,j=1,2,…,n,
步骤3b:计算个体g到其邻居的相对位置矢量,公式为(7)、(8),
dxj=xj-xg (7)
dyj=yj-yg (8)
其中,个体g的位置坐标定义为[xg,yg],其邻居坐标定义为[xj,yj],j∈Ng,个体g到其邻居的相对位置矢量为[dxj,dyj],j∈Ng,个体g的邻居集合为Ng,
步骤3c:计算个体到其邻居的相对位置矢量的矢量和,公式为(9)、(10),
其中,个体g到其邻居的相对位置矢量的矢量和为[drxg,dryg],j∈Ng。
2.根据权利要求1所述的一种基于大量真实人群运动视频的人群运动仿真方法,其特征在于,所述步骤1拍摄真实人群运动视频,将视频分帧并保存成连续高清图像,生成每张图像对应的人群密度图,并对每张密度图中的每个个体进行精准定位,得到每个个体在图像中的精确位置,其步骤包括:
步骤1a、用鸟瞰的俯视角度拍摄真实人群视频,将视频的每一帧抽取出来并保存成高清图像;
步骤1b、通过CSRnet卷积神经网络提取每张图像的人群密度图,根据人群密度图中的人群密度取值进行划分,当密度取值低于阈值时,采用脉冲函数卷积高斯核的方式来定义密度图,当人群密度高于阈值时,通过精准估计群体密度函数来定义密度图;
步骤1c、对密度图进行降噪处理,用OpenCV以像素循环的方式来计算密度图中每个点的轮廓,并计算轮廓的质心;
步骤1d、用DBSCAN算法对质心进行聚类,并通过对聚类的质心点的平均值计算,得到每个个体在图像中的精确位置。
6.根据权利要求1所述的一种基于大量真实人群运动视频的人群运动仿真方法,其特征在于,所述步骤2将每个个体在不同图像中的位置关联起来,形成一条完整的运动轨迹,并提取运动轨迹数据,其步骤包括:
步骤2a、采用DBSCAN聚类算法对个体位置进行图像间聚类,得到每个个体的聚类轨迹;
步骤2b、利用Kalman滤波器对聚类轨迹进行平滑处理,得到光滑连续的运动轨迹数据。
7.根据权利要求1所述的一种基于大量真实人群运动视频的人群运动仿真方法,其特征在于,所述深度卷积神经网络由输入层、输出层和隐藏层三部分组成,所述输入层包含n个神经元,n为训练数据集的维度值,所述输入层的数据再经过BatchNorm归一化和Reshape数据格式转换传入所述隐藏层,所述输入层和所述输出层之间是所述隐藏层,所述隐藏层包括二维卷积层、LeakyReLU激活层、MaxPooling池化层和Flatten层,所述输出层是全连接层。
8.根据权利要求1所述的一种基于大量真实人群运动视频的人群运动仿真方法,其特征在于,所述步骤4在二维空间随机放置多个模拟个体,测试深度卷积神经网络的预测效果,调整参数进行仿真,并绘制人群运动轨迹,其步骤包括:
步骤4a、将模拟个体随机放置在二维空间中,用深度神经网络来预测个体的运动轨迹;
步骤4b、在深度神经网络进行t次连续预测计算,并模拟出人群在虚拟实验平台中的运动轨迹。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110735986.7A CN113536996B (zh) | 2021-06-30 | 2021-06-30 | 一种基于大量真实人群运动视频的人群运动仿真方法 |
US17/854,032 US20230015773A1 (en) | 2021-06-30 | 2022-06-30 | Crowd motion simulation method based on real crowd motion videos |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110735986.7A CN113536996B (zh) | 2021-06-30 | 2021-06-30 | 一种基于大量真实人群运动视频的人群运动仿真方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113536996A CN113536996A (zh) | 2021-10-22 |
CN113536996B true CN113536996B (zh) | 2022-04-15 |
Family
ID=78097310
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110735986.7A Active CN113536996B (zh) | 2021-06-30 | 2021-06-30 | 一种基于大量真实人群运动视频的人群运动仿真方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20230015773A1 (zh) |
CN (1) | CN113536996B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114332778B (zh) * | 2022-03-08 | 2022-06-21 | 深圳市万物云科技有限公司 | 基于人流密度的智慧告警工单生成方法、装置及相关介质 |
CN114818360B (zh) * | 2022-05-10 | 2022-11-01 | 煤炭科学研究总院有限公司 | 人群应急疏散场景下的疏散出口设置方法及装置 |
CN115880648B (zh) * | 2023-03-08 | 2023-05-12 | 城云科技(中国)有限公司 | 无人机角度下的人群聚集识别方法、系统及其应用 |
CN116401941B (zh) * | 2023-03-27 | 2024-02-02 | 青岛理工大学 | 一种地铁站闸机疏散能力的预测方法 |
CN116935310A (zh) * | 2023-07-13 | 2023-10-24 | 百鸟数据科技(北京)有限责任公司 | 基于深度学习的实时视频监控鸟类密度估计方法及系统 |
CN117058627B (zh) * | 2023-10-13 | 2023-12-26 | 阳光学院 | 一种公共场所人群安全距离监测方法、介质及系统 |
CN117114207B (zh) * | 2023-10-23 | 2024-02-06 | 山东科技大学 | 一种海上人员漂移轨迹预测方法 |
CN117119127B (zh) * | 2023-10-24 | 2024-01-26 | 北京世冠金洋科技发展有限公司 | 一种集群控制系统及方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107563349A (zh) * | 2017-09-21 | 2018-01-09 | 电子科技大学 | 一种基于VGGNet的人数估计方法 |
CN110163140A (zh) * | 2019-05-15 | 2019-08-23 | 腾讯科技(深圳)有限公司 | 人群密度图获取方法及装置 |
CN111563447A (zh) * | 2020-04-30 | 2020-08-21 | 南京邮电大学 | 一种基于密度图的人群密度分析与检测定位方法 |
CN112767451A (zh) * | 2021-02-01 | 2021-05-07 | 福州大学 | 一种基于双流卷积神经网络的人群分布预测方法及其系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111209892A (zh) * | 2020-01-19 | 2020-05-29 | 浙江中创天成科技有限公司 | 一种基于卷积神经网络的人群密度及数量估计方法 |
-
2021
- 2021-06-30 CN CN202110735986.7A patent/CN113536996B/zh active Active
-
2022
- 2022-06-30 US US17/854,032 patent/US20230015773A1/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107563349A (zh) * | 2017-09-21 | 2018-01-09 | 电子科技大学 | 一种基于VGGNet的人数估计方法 |
CN110163140A (zh) * | 2019-05-15 | 2019-08-23 | 腾讯科技(深圳)有限公司 | 人群密度图获取方法及装置 |
CN111563447A (zh) * | 2020-04-30 | 2020-08-21 | 南京邮电大学 | 一种基于密度图的人群密度分析与检测定位方法 |
CN112767451A (zh) * | 2021-02-01 | 2021-05-07 | 福州大学 | 一种基于双流卷积神经网络的人群分布预测方法及其系统 |
Non-Patent Citations (3)
Title |
---|
Deep convolution network for dense crowd counting;Wei Zhang 等;《https://doi.org/10.1049/iet-ipr.2019.0435》;20200217;全文 * |
基于深度卷积神经网络的人群密度估计方法;谭智勇等;《计算机应用与软件》;20170715(第07期);全文 * |
基于深度学习的人群密度估计算法研究与系统设计;刘鹏;《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑(月刊)》;20200315;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113536996A (zh) | 2021-10-22 |
US20230015773A1 (en) | 2023-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113536996B (zh) | 一种基于大量真实人群运动视频的人群运动仿真方法 | |
CN111274954B (zh) | 基于改进姿态估计算法的嵌入式平台实时跌倒检测方法 | |
CN105930767B (zh) | 一种基于人体骨架的动作识别方法 | |
CN104732208B (zh) | 基于稀疏子空间聚类的视频人体行为识别方法 | |
Georgoudas et al. | An anticipative crowd management system preventing clogging in exits during pedestrian evacuation processes | |
CN110210551A (zh) | 一种基于自适应主体敏感的视觉目标跟踪方法 | |
CN110378259A (zh) | 一种面向监控视频的多目标行为识别方法及系统 | |
CN110110707A (zh) | 人工智能cnn、lstm神经网络动态识别系统 | |
CN108875708A (zh) | 基于视频的行为分析方法、装置、设备、系统及存储介质 | |
JP7292492B2 (ja) | オブジェクト追跡方法及び装置、記憶媒体並びにコンピュータプログラム | |
CN108764142A (zh) | 基于3dcnn的无人机影像森林烟雾检测和分类方法 | |
CN106650619A (zh) | 一种人体动作识别方法 | |
CN110737968A (zh) | 基于深层次卷积长短记忆网络的人群轨迹预测方法及系统 | |
CN107944428A (zh) | 一种基于超像素集的室内场景语义标注方法 | |
Zhang et al. | A swarm intelligence based searching strategy for articulated 3D human body tracking | |
CN112767451A (zh) | 一种基于双流卷积神经网络的人群分布预测方法及其系统 | |
CN116343330A (zh) | 一种红外-可见光图像融合的异常行为识别方法 | |
CN107863153A (zh) | 一种基于智能大数据的人体健康特征建模测量方法与平台 | |
CN106204637A (zh) | 光流计算方法 | |
CN108846344B (zh) | 一种融合深度学习的行人姿势多特征智能辨识方法 | |
CN108805907A (zh) | 一种行人姿势多特征智能辨识方法 | |
KR101529620B1 (ko) | 이동 방향별 보행자 계수 방법 및 장치 | |
CN109740455B (zh) | 一种人群疏散仿真方法和装置 | |
Han et al. | Cultural and creative product design and image recognition based on the convolutional neural network model | |
CN114581485A (zh) | 一种基于语言建模式孪生网络的目标跟踪方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |