张秀国
摘 要: 计算机模拟行人的运动行为在人群模拟、数字娱乐及安全规划等都有着广泛的应用。人群运动仿真的常用模型包括基于规则模型、基于社会力模型、元胞自动机模型和基于Agent模型等。详细介绍了各种模型的优缺点,以及人群运动规划,包括全局路径规划、局部路径导航和个体之间的交互作用。现阶段要想实现真实的人群运动模拟效果,需要根据各种环境因素选用合适的模型来提高人群运动的仿真度。
关键词: 人群运动模型; 碰撞避免; 运动控制; 路径
中图分类号:TP391.9 文献标志码:A 文章编号:1006-8228(2016)11-61-03
Analysis of crowd movement simulation model
Zhang Xiuguo
(Qingdao Technological University Qindao College, Department of Computer Engineering, Qingdao, Shandong 266100, China)
Abstract: The simulation of pedestrian movement behavior has a wide range of applications in the crowd simulation, digital entertainment and security planning. The commonly used crowd motion simulation models include the rule-based model, the social force based model, the cellular automata model and Agent based model, etc. This paper introduces the advantages and disadvantages of various models in detail, and the crowd movement planning, including the global path planning, the local path navigation and interaction effect between individuals and so on. In order to realize the real crowd movement simulation effect, a suitable model needs to be adopted according to various environmental factors to improve the simulation fidelity of the crowd movement.
Key words: crowd movement model; collision avoidance; moment control; path
0 引言
近年来由于计算机技术的不断发展,模拟行人的运动行为在人群模拟、数字娱乐及安全规划等都有着广泛的应用。虽然人类在拥挤的地方能够顺利甚至毫不费力的移动,但对于计算机程序来说,模仿这种行为的现实性仍然是一个挑战性的任务。
人群运动仿真行为的研究大致有宏观和微观两种行为的研究。人群运动宏观行为研究一般针对大范围的人群流动场景,研究以组为单位的人群行为。而微观行为研究则关注于人群中个体行为研究,适合于人群不太密集的场合。虚拟人和虚拟环境的相互作用在人群运动模拟中非常关键,人群在运动的过程中不断感知周围环境信息并进行运动调整。
1 人群运动模拟模型
大量的学者在研究人群运动行为时,提出了一系列模型。具有代表性的模型有:基于规则模型、基于社会力模型、元胞自动机模型和基于Agent模型等。下面将分别介绍这些模型。
1.1 基于规则模型
在计算机图形学领域中,1987年Reynolds[1]对鸟群的开创性工作,提出了Boid(鸟群仿真运动模型)是最早的关于行为模拟的文章之一。该模型可以模拟鸟群的聚集飞行行为,描述了一种分布式的行为模型来模拟鸟群的运动。
基于个体规则的方法只能模拟较简单的群体运动。对于人类群体的运动行为由于规则数量的不断增加,从而使规则顺序大量增加,实验的难度也会增大。因此,基于个体行为规则的方法很难全面描述人群运动行为。基于规则的模型在实现避免碰撞时是根据预定义的规则状态[2],视觉上吸引人的模拟是可以实现的。但是,对于特定场景情况规则可能是紧密耦合。因此这样的模型在一般情况下可能起不到很好的作用。
1.2 基于社会力模型
Drik Helbing等最初从人类社会心理学和力学两方面,模拟了人群在恐慌状态下的特点,假设行人受到社会力的作用,提出了社会力学模型[3]。由于该模型是以牛顿力和个体间相互的社会心理影响力为基础,可信度较高,因此被广泛应用和研究。在该模型里,行人在运动时会受到自身的期望速度大小和期望速度方向、人与人之间的作用力fij和障碍物对人的作用力fiw这三方面的影响。根据这三个因素,这些力的合力作用于行人,行人在时间t的速度改变量可由下面公式得到:
⑴
Helbing等通过真实实验测试了社会力模型的有效性,并对社会力模型进行校正,他们发现了多个不常见的安全措施。例如障碍的合理设置将有利于产生稳定的人流,之字形的通道有利于减轻恐慌人群拥挤的压力等。Brogan提出了用算法去控制受复杂动力学因素影响的个体运动,此模型适用对象是一些具有显著物理特征的特殊人群[4]。在建模过程中使用动力学原理来对人群的位置、前进速度和加速度变化进行量化。基于社会力模型的优点是其物理意义比较直观,模型中变量能够较好的模拟人群真实运动情况,但是由于有较多的作用力参数,使各种作用力之间较难平衡,计算的复杂度高,因此难以得到较平滑的运动轨迹。
1.3 元胞自动机模型
Von Neumann 和Stanislaw Ulam最早提出元胞自动机模型,目前主要广泛应用于模拟各种物理系统和自然现象[5]等。元胞自动机模型不需要经过复杂的运算,只要直接通过制定行为准则就可以来模拟非线性物理现象。由于人群是一个具有高度复杂性和不确定性的群体,人群行为的模拟远比车辆等按一定规则进行运动的物体模拟要困难得多,而元胞自动机模型则是用来模拟人群行为的一种高效的技术。Fruin对行人流进行了详细的分析。受他的影响,上个世纪九十年代初,国外研究者们开发出了一系列用于行人模拟的方法。
元胞自动机模型较明显的优点是通过少量简单的规则可以近似模拟实际中观察到的行人现象,并且这些规则在直觉上很容易理解,与复杂的行为模型相比,其计算过程简单且高效。这种模型也有很明显的缺点,比如把模拟空间离散成二维的网格时,模拟个体的运动通常受到限制,只能移动到相临近的四个空闲网格之一,另外当较大人群拥挤在一起时,模拟出的人群效果就像棋盘格一样均匀,人群之间的推挤和碰撞无法模拟出,因此会导致其结果严重失真。
1.4 基于Agent模型
基于Agent模型中,每个Agent可以看作是有自适应性和智能性的实体,可以自主的感知其周围环境。在仿真模型中对个体单独建模,定义个体的运动规则和属性,而不对每个具体的行为下定义。通常一个Agent包括以下几个特征[6]:自主性,自动感知外部环境的信息;社会性,通过某种行为与其他Agent的相互作用;主动性,为了执行预先设定的目标而自主采取的行为规则。这些特点有利于研究群体当中单个个体的属性和行为,以及某种行为发生的原因。如图1所示,表示的是典型的Agent图。
通常单个的agent模型较少,常见的大多是Muti-agent模型。Muti-agent模型中包含多个单个agent模型,由多个agent相互合作来完成单个agent模型不能解决的复杂问题。
2 人群运动控制
人群运动的模拟是个极其复杂的问题,个体运动时需要全面考虑全局目标和局部环境的影响。人群运动模拟通过控制个体在保持碰撞避免的条件下顺利到达目标,这是人群运动控制的目的,个体自身的特性和限制在运动控制的过程中需要加以考虑。针对人群的运动规划,包括全局路径规划、局部路径导航、碰撞的避免和个体之间的交互作用等。
2.1 全局路径规划和局部路径导航
人群运动模拟中,个体从当前位置到达目标的大致路线可表示为全局路径规划和局部路径导航。元胞自动机模型常用于路径规划,将模拟区域划分为二维网格,其中每个网格都是一个基本单元。从计算模型的角度来看,复杂的运动行为通常来自agent两个方面的活动:路径规划和运动。路径规划可以被认为是更高级的行为,生成一个全局路径目标的agent。通常认为环境的静态方面比如墙和门。为了避免动态障碍,运动被认为是低级行为来促使agent的运动。这个双层的方法在有些程序中是有效的,但在生成实际人类运动时是不足的。使用更高级的认知信息来调整路线的动态性,这些调整是通过采取决策尽量减少碰撞的可能性。全局路径规划和局部路径导航相搭配的方法可以引导个体向目标运动。
2.2 碰撞的避免
避免碰撞是运动过程中需要考虑的一个重要方面。人群运动仿真过程中,由于虚拟环境中通常存在不同的障碍物。因此个体之间可能发生碰撞,个体与障碍物之间也可能发生碰撞。并且碰撞可能是静态物体与动态物体碰撞,也可能是动态物体的相互碰撞。人群运动模拟将行人看作移动的障碍,而将个体之间的碰撞避免的问题看作障碍物的避让。人与人之间碰撞的避免,需要在模拟过程中设计有效的策略。个体对自己当前环境认知后更新其状态,并尽快被其他个体所认知。
另一种考虑是,将碰撞问题集成在路径规划的框架下,通过进行设计和寻找无碰撞的路径来避免显式的碰撞处理。
行人使用路径规划指导来确保他们的运动是光滑和有效从而避免碰撞。但是,这样的现象不一定能反映任何智能机械确保碰撞及自由移动。事实上,我们认为行人在大多数情况下,不需要很复杂的决策。相反,他们很熟悉依靠简单的策略对应不同的情况。大多数基于agent的方法依靠各种机械或者转向规则阻止agent相互碰撞。这种方法有两个主要的缺点:①很难设计针对不同情况的规则,将这类规则与人类行为联系起来是很难的;②制造行为的实际情况很大程度上取决于设计者对优化参数的经验。
3 结束语
本文主要介绍了人群运动仿真中的常用模型,并通过个体间的相互作用对各个模型进行了详细分析,包括各个模型的优缺点。由此可以看出,选用合适的运动模型对提高人群运动的仿真度是至关重要的。除此之外,碰撞避免也是人群运动仿真中一个不可回避的问题。通过对碰撞避免的情况分析,决定出个体运动路径规划,从而更好的模拟出人群运动的方向及行为。
参考文献(References):
[1] Reynolds, Flocks, birds, and schools a distributed behavior
model, Computer Graphics,1987.21:25-34
[2] HELB NG D, FARKAS I, V ISCSEK T V .Simulating
dynamical feature of escape panic[J].Nature,2000.407(28):487-490
[3] Lamarche, F., Donikian, S.: Crowd of Virtual Humans: a
New Approach for Real Time Navigation in Complex and Structured Environments. Computer Graphics Forum,2004.23:509-518
[4] Brrun, A., Musse, S.R., Oliveira, L.P.L. and Bodmann, B.
E.J., Modeling Individual Behaviors in Crowd Simulation. In Proceedings of Computer Animation and Social Agents,2003:143-148
[5] John von Neumann. The general and logical theory of
automata. Cerebral Mechanisms in Behavior-The Hixon Symposium, John Wiley &Sons, New York,1951:1-31
[6] 王红卫.建模与仿真[M].科学出版社,2002.