[论文阅读]Guiding flows for controlling crowds

该论文提出了一种使用动态势函数(harmonicfunctions)来模拟大规模人群流动的方法,通过controlparticle的轨迹生成全局控制场,并结合人群原有的路径规划。通过基于密度的权重混合,实现了对人群路径的交互式控制,适用于大规模人群的仿真,解决了计算开销和路径自然性的问题。
摘要由CSDN通过智能技术生成

[论文阅读]Guiding flows for controlling crowds

论文地址

原文
The Visual Computer: International Journal of Computer Graphics Volume 26 Issue 11 November 2010

论文总结

使用动态势函数(harmonic functions)模拟大规模人群流动,通过基于密度的权重混合方式将人群对control particle的路径跟随与人群原有路径规划结合。提供GUI操纵control particle的轨迹,人群路径跟随此轨迹。

1. Introduction

主流人群仿真方法:agent-based method的难点在于如何为人群确定一个恰当的行为规则。

对于大规模人群仿真而言 ,用于建模的主流agent-based方法和用于控制仿真的传统key-framing方法由于计算开销过大,性能不佳。

本文注意到动态势场可以高效生成流畅的人群流形运动,难点在于如何控制、甚至让用户交互式控制动态势场。为了解决这个难点,本文采用了control particle。Control particle是agent-based模型中常用于创造局部吸引/排斥力的方法。本文基于control particle的轨迹生成全局控制场,通过基于密度的权重混合方式将全局控制场与人群原有路径混合。这样,控制动态势场的问题就变成了典型的求边界值问题。

2. Related Work

  1. agent-based方法:

    难点在于如何为人群确定一个恰当的行为规则,曾经有尝试从视频图像中学习规则。大多数工作集中在local behavior,而不是overall shape。计算开销过大。

  2. 直接生成全局人群流体:使用动态势场和差分方程

    难点在于在每个grid中计算,环境大小被限制

    结合agent-based和动态势函数:交互式控制精确、性能好,但对于大规模人群计算开销太大、路径被环境的spatial sampling限制、或目标函数/优化需要精心设计过于复杂,不适合大规模人群

详细对比我们的方法和JIN的另一个方法,给出区别:

  1. JIN使用radial basis函数,我们的harmonic function生成的人群路径更自然
  2. JIN使用固定锚点,我们使用control particle允许动态交互
  3. 我们在控制向量场时耦合进了障碍物

contribution:

  1. 采用业界熟悉的概念——control particle,用于控制轨迹
  2. 我们不直接生成外部力影响人群仿真,而是直接计算梯度场更新人群位置,然后混合两者,解耦了控制和原有仿真过程
  3. 我们的方法是基于在每个grid上计算harmonic function,而不是计算每个个体,因此可以仿真大规模人群

3. Overview(方法)

分两步:

  1. control particle确定轨迹,反算出control particle经过的所有cell中每个cell对应的速度矢量。但大多数cell是没有被经过的,因此采用harmonic function确定未被经过的cell的速度矢量。
  2. 耦合control field和原有仿真。对于agent-based方法来说,可以把第一步算出的速度矢量看作方向偏差offset;对于使用动态势函数的方法来说,可以根据人群分布等因子混合两个场,比如根据control particle和相邻particle的距离计算权重,基于权重混合。

4. Control fields

  • 对于control particle经过的cell:

请添加图片描述

通过control particle的位置变化算出第n个粒子在t时刻所在的cell i,j的速度矢量;

请添加图片描述

其中n代表control particle经过此cell的time step次数,算出每个cell的平均速度矢量;

  • 对于未经过的cell: harmonic function

请添加图片描述请添加图片描述

ustart=1,ugoal=0,ukeyframe用(2)式算,uobstacle用启发式方法算:

如果障碍cell和goal之间连线没有其他障碍cell阻挡,用line of sight direction vector;如果有,用边界切线方向;大小是control particle最大速度大小的一半左右。

  • 为了对不同类别的人群指定不同的control particle轨迹,对人群particle标flag指定其类别,创造多层control field

5. Applying control fields

  • 对于agent-based方法来说,可以把第一步算出的速度矢量看作方向偏差offset
  • 对于使用动态势函数的方法来说,采取基于权重的混合方式:

请添加图片描述请添加图片描述

g是密度,d是目前cell和最近的被control particle经过的cell之间的距离。

6. Experiments

请添加图片描述

run on 2.66GHZ 双核CPU,8GB内存

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值