首页> 中国专利> 一种用于复杂场景的层次式人群仿真方法及系统

一种用于复杂场景的层次式人群仿真方法及系统

摘要

本发明公开一种用于复杂场景的层次式人群仿真方法及系统,该方法包括步骤:对复杂场景进行区域划分,得到复杂场景的拓扑结构图;对复杂场景进行全局路径规划,计算包含复杂场景中场景入口、场景出口和特定感兴趣区域的全局路径;确定人群分组信息和人群中个体在复杂场景中的位置信息,在复杂场景中建立个体的势场,并根据个体的势场计算个体在复杂场景中受到的作用力;计算在人群仿真过程中个体的实时速度,利用交通流模型对在人群仿真过程中个体的实时速度进行实时修正,实现人群仿真。本发明所述技术方案改善了势场法人群仿真中的速度控制机制,解决速度变化不自然的问题,使速度的变化更加符合人群运动规律,满足了人群仿真的实际需求。

著录项

  • 公开/公告号CN104732014A

    专利类型发明专利

  • 公开/公告日2015-06-24

    原文格式PDF

  • 申请/专利权人 北京交通大学;

    申请/专利号CN201510088609.3

  • 发明设计人 邢薇薇;张健;卢苇;刘渭滨;

    申请日2015-02-26

  • 分类号G06F17/50(20060101);

  • 代理机构11257 北京正理专利代理有限公司;

  • 代理人张雪梅

  • 地址 100044 北京市海淀区上园村3号

  • 入库时间 2023-12-18 09:23:37

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-08-25

    授权

    授权

  • 2015-07-22

    实质审查的生效 IPC(主分类):G06F17/50 申请日:20150226

    实质审查的生效

  • 2015-06-24

    公开

    公开

说明书

技术领域

本发明涉及复杂场景的人群仿真。更具体地,涉及一种用于复杂场景的层次式人群仿真方法及系统。

背景技术

随着人类社会的进步和科技的发展,利用计算机来实现人类的群体性运动的建模、分析、仿真与模拟成为了目前计算机领域中最热门的课题之一。人群仿真的研究就是人群研究领域的一个重要研究课题。人群仿真就是对于特定的场景和情景信息,给出真实可信的场景中人群的运动情况,其在军事仿真、安全工程、建筑设计、数字娱乐等许多领域内都有着广泛的应用,因此具有重要的使用价值和广阔的发展前景。

势场法是一种经典的人群建模方法,由于其简便明确的数学表达,在人群仿真中有着广泛的应用。但是,由于势场法是一种基于物理力学的方法,在实践中难免会与理想物理模型有些许出入,这也就使得势场法的速度控制问题存在缺陷。通常在实践中会对势场建模的个体的速度设置一个阈值来限制个体的运动,防止该个体的速度无限制增加,最终趋向于违反物理常识的无穷大。然而由于速度无法突变,其改变依赖加速度,有一定的滞后性,造成了在实际仿真的过程中,速度的大小绝大多数时间都保持在这个设置的阈值,即最大值,这是十分不真实的。

因此,需要提供一种用于复杂场景的层次式人群仿真方法及系统。

发明内容

本发明的目的在于提供一种用于复杂场景的层次式人群仿真方法及系统,针对复杂场景,进行更加真实有效的人群仿真。

为达到上述目的,本发明采用下述技术方案:

一种用于复杂场景的层次式人群仿真方法,该方法包括如下步骤:

S1、根据复杂场景的结构信息对复杂场景进行区域划分,得到复杂场景的拓扑结构图;

S2、根据复杂场景的拓扑结构图对复杂场景进行全局路径规划,计算包 含复杂场景中场景入口、场景出口和特定感兴趣区域的全局路径;

S3、确定人群分组信息和人群中个体在复杂场景中的位置信息,根据人群分组信息、人群中个体在复杂场景中的位置信息和复杂场景结构信息,在复杂场景中建立个体的势场,并根据个体的势场计算个体在复杂场景中受到的作用力;

S4、根据个体在复杂场景中受到的作用力计算在人群仿真过程中个体的实时速度,利用交通流模型对在人群仿真过程中个体的实时速度进行实时修正,实现人群仿真。

优选地,步骤S3中“根据人群分组信息、人群中个体在复杂场景中的位置信息和复杂场景结构信息,在复杂场景中建立个体的势场,并根据个体的势场计算个体在复杂场景中受到的作用力”进一步包括如下子步骤:

S3.1、根据人群分组信息、人群中个体在复杂场景中的位置信息和复杂场景结构信息,在复杂场景中建立个体的势场,并根据势场计算个体在势场中的吸引势Uatt和排斥势Urep,公式如下:

Uatt=12ξq[D(q,qgoal)]m;

Urep=12η(1Σi=1kD(q,qobsi)/k-1D0)2[D(q,qgoal)]n,ifΣi=1kD(q,qobsi)/kD00,ifΣi=1kD(q,qobsi)/k>D0;

公式中,q为个体在复杂场景中的位置信息;ξq为吸引势系数;m为距离的指数系数;qgoal为个体在复杂场景中的目标位置信息;,η为排斥势系数;D0为排斥势的影响范围;n为距离的指数系数,k为与个体有关联性的分组中个体的数量;qiobs为复杂场景中障碍物的位置信息;

S3.2、根据个体在势场中的吸引势Uatt和排斥势Urep计算个体在势场中的势Utotal,公式如下:

Utotal=Σj=1aUattj+Σj=1bUrepj

公式中,a为复杂场景中对个体的吸引源个数,b为复杂场景中对个体的排斥源个数;

S3.3、根据个体在势场中的势Utotal,计算个体在复杂场景中受到的作用力F,公式如下:

F=-Utotol.

优选地,步骤S4进一步包括如下子步骤:

S4.1、根据个体在复杂场景中受到的作用力计算在人群仿真过程中个体的实时速度;

S4.2、根据个体在复杂场景中的位置信息,利用交通流模型基于人群中所有个体的位置信息所表征的密度信息对在人群仿真过程中个体的实时速度大小进行实时修正;

S4.3、根据实时速度方向和修正后的实时速度大小得到在人群仿真过程中个体的修正后的实时速度;

S4.4、根据在人群仿真过程中个体修正后的实时速度,对在人群仿真过程中个体的位置信息进行实时更新,从而实现人群仿真。

优选地,步骤S4.2中“利用交通流模型基于人群中所有个体的位置信息所表征的密度信息对在人群仿真过程中个体的实时速度大小进行实时修正”的公式如下:

若个体周围的人群密度适中,则在人群仿真过程中个体修正后的实时速度v(p)的计算公式为:

v(ρ)=vfree(1-ρρm)

公式中,vfree为在人群仿真过程中个体的畅通实时速度,ρ为复杂场景中个体周围的人群密度,ρm为复杂场景中人群的最大密度;

若个体周围的人群密度高,则在人群仿真过程中个体修正后的实时速度v(p)的计算公式为:

v(ρ)=vfreeln(1-ρρm);

若个体周围的人群密度低,则在人群仿真过程中个体修正后的实时速度v(p)的计算公式为:

v(ρ)=vfreeexp(-ρρm).

一种用于复杂场景的层次式人群仿真系统,该系统包括:

复杂场景区域划分单元,用于根据复杂场景的结构信息对复杂场景进行区域划分,得到复杂场景的拓扑结构图;

复杂场景全局路径规划单元,根据复杂场景的拓扑结构图对复杂场景进行全局路径规划,计算包含复杂场景中所有区域的场景入口、场景出口和特 定感兴趣区域的全局路径;

个体势场建立单元,用于确定人群分组信息和人群中个体在复杂场景中的位置信息,根据人群分组信息、人群中个体在复杂场景中的位置信息和复杂场景结构信息,在复杂场景中建立个体的势场,并根据个体的势场计算个体在复杂场景中受到的作用力;

人群仿真单元,用于根据个体在复杂场景中受到的作用力计算在人群仿真过程中个体的实时速度,利用交通流模型对在人群仿真过程中个体的实时速度进行实时修正,实现人群仿真。

优选地,势场建立单元根据人群分组信息、人群中个体在复杂场景中的位置信息和复杂场景结构信息,在复杂场景中建立个体的势场,并计算个体在复杂场景中受到的作用力的公式为:

Uatt=12ξq[D(q,qgoal)]m;

Urep=12η(1Σi=1kD(q,qobsi)/k-1D0)2[D(q,qgoal)]n,ifΣi=1kD(q,qobsi)/kD00,ifΣi=1kD(q,qobsi)/k>D0;

Utotal=Σj=1aUattj+Σj=1bUrepj;

F=-Utotol;

公式中,Utotal为个体在复杂场景中的势场中的势;Uatt和Urep分别为个体在势场中的吸引势和排斥势;F为个体在复杂场景中受到的作用力;q为个体在复杂场景中的位置信息;ξq为吸引势系数;m为距离的指数系数;qgoal为个体在复杂场景中的目标位置信息;,η为排斥势系数;D0为排斥势的影响范围;n为距离的指数系数,k为与个体有关联性的分组中个体的数量;qiobs为复杂场景中障碍物的位置信息,a为复杂场景中对个体的吸引源个数,b为复杂场景中对个体的排斥源个数。

优选地,人群仿真单元包括:

个体实时速度计算模块,用于根据个体在复杂场景中受到的作用力计算在人群仿真过程中个体的实时速度;

个体实时速度修正模块,用于根据个体在复杂场景中的位置信息,利用交通流模型基于人群中所有个体的位置信息所表征的密度信息对在人群仿真过程中个体的实时速度大小进行实时修正并根据实时速度方向和修正后的实 时速度大小得到在人群仿真过程中个体的修正后的实时速度;

人群仿真模块,用于根据在人群仿真过程中个体修正后的实时速度,对个体在人群仿真过程中的位置信息进行实时更新,从而实现人群仿真。

优选地,个体实时速度修正模块对个体的实时速度大小进行实时修正的公式为:

若个体周围的人群密度适中,则在人群仿真过程中个体修正后的实时速度v(p)的计算公式为:

v(ρ)=vfree(1-ρρm)

公式中,vfree为在人群仿真过程中个体的畅通实时速度,ρ为复杂场景中个体周围的人群密度,ρm为复杂场景中人群的最大密度;

若个体周围的人群密度高,则在人群仿真过程中个体修正后的实时速度v(p)的计算公式为:

v(ρ)=vfreeln(1-ρρm);

若个体周围的人群密度低,则在人群仿真过程中个体修正后的实时速度v(p)的计算公式为:

v(ρ)=vfreeexp(-ρρm).

本发明的有益效果如下:

本发明所述技术方案通过引入交通流理论中描述速度与密度关系的模型,改善了势场法人群仿真中的速度控制机制:势场法中的速度控制依托于提前设置的阈值,由于势场法是基于物理力学的方法,而现实世界中不同于物理理想模型,除了势场法中描述个体间吸引与排斥的势力之外,还有各种摩擦力、阻力等等,若只考虑势力的作用,个体的速度很容易陷入无限加速或者无限减速的过程中,进而长时间保持在提前设置的阈值上;本发明所述技术方案的速度控制机制通过引入交通流速度密度模型,对个体速度矢量的幅度与方向进行分别控制,即速度的方向由势场法决定而速度的大小则由交通流速度密度模型决定。本发明所述技术方案对于复杂场景的人群仿真有很好的鲁棒性。相对于经典的势场法,明显解决速度变化不自然的问题,使速度的变化更加符合人群运动规律,能够满足人群仿真的实际需求。

附图说明

下面结合附图对本发明的具体实施方式作进一步详细的说明。

图1示出用于复杂场景的层次式人群仿真方法的流程图;

图2示出分割示例中复杂场景的结构图、区域划分示意图、以及所得到的拓扑结构图,其中,2-a示出分割示例中复杂场景的结构图,2-b示出区域划分示意图,2-c示出所得到的拓扑结构图;

图3示出势场示例中场景建立的场景的整体势幅值3d示意图和等高线示意图,其中,3-a示出势场示例中场景建立的场景的整体势幅值3d示意图,3-b示出势场示例中场景建立的场景的整体势幅值等高线示意图;

图4示出随机抽样的不使用交通流模型进行速度修正的速度-时间图、所有个体平均的不使用交通流模型进行速度修正的速度-时间图、随机抽样的使用交通流模型进行速度修正的速度-时间图和所有个体平均的使用交通流模型进行速度修正的速度-时间图,其中,4-a示出随机抽样的不使用交通流模型进行速度修正的速度-时间图,4-b示出所有个体平均的不使用交通流模型进行速度修正的速度-时间图,4-c示出随机抽样的使用交通流模型进行速度修正的速度-时间图,4-d示出所有个体平均的使用交通流模型进行速度修正的速度-时间图;

图5示出人群中个体属于不同分组的示意图、人群中个体属于同一分组的示意图、人群中个体分属于两个分组的示意图和人群中个体分属于两个分组但不同分布的的示意图,其中,5-a示出人群中个体属于不同分组的示意图,5-b示出人群中个体属于同一分组的示意图,5-c示出人群中个体分属于两个分组的示意图,5-d示出人群中个体分属于两个分组但不同分布的的示意图;

图6示出某广场类型复杂场景的场景结构图、场景拓扑图、人群仿真在第30帧时示意图、人群仿真在第60帧时示意图、人群仿真在第100帧时示意图、人群仿真在第150帧时示意图、人群仿真在第200帧时示意图和人群仿真在第250帧时示意图,其中,6-a示出某广场类型复杂场景的场景结构图,6-b示出场景拓扑图,6-c示出人群仿真在第30帧时示意图,6-d示出人群仿真在第60帧时示意图,6-e示出人群仿真在第100帧时示意图,6-f示出人群仿真在第150帧时示意图,6-g示出人群仿真在第200帧时示意图,6-h示出人群仿真在第250帧时示意图。

具体实施方式

为了更清楚地说明本发明,下面结合优选实施例和附图对本发明做进一步的说明。附图中相似的部件以相同的附图标记进行表示。本领域技术人员应当理解,下面所具体描述的内容是说明性的而非限制性的,不应以此限制本发明的保护范围。

如图1所示,本实施例提供的用于复杂场景的层次式人群仿真方法包括如下步骤:

Step1、根据复杂场景的结构信息对复杂场景进行区域划分,得到复杂场景的拓扑结构图;

Step2、根据复杂场景的拓扑结构图对复杂场景进行全局路径规划,具体为使用Dijkstra算法计算包含复杂场景中场景入口、场景出口和特定感兴趣区域的全局路径;

Step3、确定人群分组信息和人群中个体在复杂场景中的位置信息,根据人群分组信息、人群中个体在复杂场景中的位置信息和复杂场景结构信息,在复杂场景中建立所有个体的势场,计算所有个体在势场中的势,进而计算得到所有个体在复杂场景中受到的作用力,个体在势场中的势由吸引势和排斥势求和计算得出,吸引势根据复杂场景的全局路径计算,排斥势根据复杂场景的全局路径和个体与人群在复杂场景中的位置关系计算,;

Step4、根据所有个体在复杂场景中受到的作用力,利用牛顿力学定律计算在人群仿真过程中所有个体的实时速度,利用交通流模型对在人群仿真过程中所有个体的实时速度进行实时修正,实现人群仿真。

其中

Step1、根据复杂场景的结构信息对复杂场景进行区域划分,得到复杂场景的拓扑结构图:

步骤Step1中“根据复杂场景的结构信息对复杂场景进行区域划分”是利用Delaunay三角划分方法将复杂场景划分为若干子区域,针对划分结果得到复杂场景的拓扑结构图,后续的步骤“全局路径规划”将依赖于划分的结果和所获得的拓扑结构图。

步骤Step1解决了势场法在复杂场景中可能会导致的局部最小和抖动等问题,同时简化了局部势场法构造的开销。

步骤Step1是整个人群仿真方法可以使用层次式架构的基础.。依照所得到的拓扑结构图,可以得到全局路径规划结果;而对于人群中的个体,个体的吸引势方向可依照此全局规划结果及该个体所属的子区域得到。

Delaunay三角划分方法是针对描述场景结构的点集进行场景区域的划分,最终得到由这些点构成的若干三角形,即场景的若干子区域。

Delaunay三角划分方法的特性如下:

对于任何待仿真的场景,可以获得其场景结构点集V,目标是获得一个边集E,从而获得一个场景的拓扑图G=<V,E>。这个边集E满足Delaunay特性,即:

空圆特性,在得到的划分中,任一三角形的外接圆范围内不会有点集中的其他任何点存在;

最大化最小角特性,在点集可能形成的边集划分中,Delaunay三角划分形成的边集构成的三角形的最小角最大。具体就是在两个相邻的三角形构成的凸四边形的对角线,在相互交换后,六个内角的最小角不会增大。

Delaunay三角划分方法的计算基本步骤如下:

1).构造一个大三角形,该三角形包含点集中所有点,将大三角形的边放入边集;

2).将点集中的点依次插入,对于包含新插入点的三角形,删除边集中该三角形的公共边,将插入点同被插入三角形的顶点连接起来,得到新的三角形集;

3).对新得到三角形进行Delaunay特性的检验,将通过的三角形的边加入边集中;

4).重复执行上述两步,直到点集中所有的点都插入完毕。

Delaunay三角划分方法的划分示例如下:

如图2-a至2-c所示,对于图2-a所示场景结构,Delaunay三角划分所得的结果如图2-b,图2-b中的三角形都满足Delaunay特性。图2-c为响应的场景拓扑结构图。

Step2、根据复杂场景的拓扑结构图对复杂场景进行全局路径规划,具体为使用Dijkstra算法计算复杂场景中所有区域的场景入口、场景出口和特定感兴趣区域的全局路径;

步骤Step2为复杂场景的全局路径的获得。以步骤Step1获得的复杂场景的拓扑结构图为基础,使用Dijkstra算法计算得到每个节点到达场景中入口、出口或者特定感兴趣区域的全局路径:

由于层次式架构的采用,此处不需要对每个个体应用如动态路径规划算法求取其个人具体的路径。对于复杂场景的大规模人群仿真,如果对每个个体应用动态路径规划算法求取其具体个人运动路径则系统的开销会很大。此处得到全局路径可以指导局部具体路径的规划,也是一种人群流动的体现。个体的具体运动并不严格按照这些全局路径。全局的路径规划更像是指示在所得到的若干区域内,人应该往哪个方向走,而人具体怎么走则由步骤Step3中建立的个体在复杂场景中的势场决定。

Step3、确定人群分组信息和人群中个体在复杂场景中的位置信息,根据人群分组信息、人群中个体在复杂场景中的位置信息和复杂场景结构信息,在复杂场景中建立所有个体的势场,计算所有个体在势场中的势,进而计算得到所有个体在复杂场景中受到的作用力,个体在势场中的势由吸引势和排斥势求和计算得出,吸引势根据复杂场景的全局路径计算,排斥势根据复杂场景的全局路径和个体与人群在复杂场景中的位置关系计算:

步骤Step3为在复杂场景中建立势场,方法为按照势场法描述建立势场。势场法认为场景中所有个体都具有势,势分为吸引势和排斥势,个体通过吸引势和排斥势得共同作用来运动。

设q=[x,y]为个体在复杂场景中的位置信息,

按照公式(1)计算个体在复杂场景中的势场中的吸引势Uatt

Uatt=12ξq[D(q,qgoal)]m  公式(1)

公式中,ξq为吸引势系数;m为距离的指数系数;qgoal为个体在复杂场景中的目标位置信息,在本实施例中由于层次式结构设计,个体在复杂场景中的的目标位置信息qgoal为全局路径的下一个子区域三角形的中心点。

按照公式(2)计算个体在复杂场景中的势场中的排斥势Urep

Urep=12η(1Σi=1kD(q,qobsi)/k-1D0)2[D(q,qgoal)]n,ifΣi=1kD(q,qobsi)/kD00,ifΣi=1kD(q,qobsi)/k>D0  公式(2)

公式中,η为排斥势系数;D0为排斥势的影响范围,D0由设置得出;n为距离的指数系数,k为与个体有关联性的分组中个体的数量;qiobs为复杂场景中障碍物的位置信息。与通常的排斥势不同的是,这里提出的排斥势公式在计算群体的排斥势时,是先计算群体的平均距离后求得其排斥势而不是先计算每个个体单独的排斥势而后求得排斥势的总和。

与个体有关联性的群组的定义是:人群仿真系统的输入信息除去场景的结构信息外,还包括人群的位置信息以及分组信息。与个体有关联性的群组既是个体所属群组中的其他处在影响范围内的个体的集合。

本实施例中利用势场法计算个体在复杂场景中的势场中的吸引势和排斥势与现有技术中势场法的区别是,本实施例中先计算平均距离,可以体现出群体的群体中心的概念,而经典的群体排斥势计算方法则没有考虑到群体的特点和群体中心的概念。参照图5可以看出使用新提出的排斥势公式和使用经典排斥势公式得区别。图5-a为使用经典排斥势公式时情况;图5-b为使用新排斥势公式且所有个体为相同组别;图5-c为使用新排斥势公式且所有个体分为2组,按照颜色深浅区分;图5-d为使用新排斥势公式且所有个体分为2组,按照颜色深浅区分且与图5-c分布不同。可以看出,对于不同的组别设置,个体的行进路线会依照组别中心的不同而不同。整体的趋势是对组别的中心 进行规避。

个体在复杂场景中的势场中的势Utotal是由吸引势和排斥势相加得到的,如公式(3),而个体运动的力是由势的梯度体现的,如公式(4)可以求得个体在复杂场景中受到的作用力F:

Utotal=Σj=1aUattj+Σj=1bUrepj  公式(3)

F=-Utotol  公式(4)

公式中,a为复杂场景中对个体的吸引源个数,b为复杂场景中对个体的排斥源个数。

由得到个体在复杂场景中受到的作用力F,根据牛顿力学定律计算个体的加速度,进而可计算个体的速度。

对于如下场景,在(20,20)和(30,27)处设置2个固态障碍物,个体的目标设置在(20,30)处。则在平面坐标系从15~32范围内的整体势可以得到,参考图3。

Step4、根据所有个体势场中的势,利用牛顿力学定律计算在人群仿真过程中所有个体的实时速度,利用交通流模型对在人群仿真过程中所有个体的实时速度进行实时修正,实现人群仿真。

Step4进一步包括如下子步骤:

Step4.1、根据所有个体在复杂场景中受到的作用力,利用牛顿力学定律计算在人群仿真过程中所有个体的实时速度;

Step4.2、根据所有个体在复杂场景中的位置信息,利用交通流模型基于人群中所有个体的位置信息所表征的密度信息对在人群仿真过程中所有个体的实时速度大小进行实时修正;

Step4.3、根据实时速度方向和修正后的实时速度大小得到在人群仿真过程中所有个体的修正后的实时速度;

Step4.4、根据在人群仿真过程中所有个体修正后的实时速度,对在人群仿真过程中所有个体的位置信息进行实时更新,从而实现人群仿真:

步骤Step4为个体具体仿真的速度修正并实现人群仿真。势场法可以得到一个未经优化的个体速度。由于势场法是基于力学的方法,势力可以在势场法中求得,而速度的大小则可以依照牛顿力学定律求得。但是由于只有吸引力和排斥力被考虑,因而在势场法的实际实现中一般设置一个速度大小的阈值来防止速度趋向于无穷大。

但是由于速度控制的滞后性,即力可以突变但速度需要通过加速度来改 变,不可以突变,在实践中,个体的速度大小通常总势保持在这个最大值,即这个设置的阈值。为了解决这个问题,此处引入交通流理论中的速度密度模型来控制速度大小的变化,如图4-a至4-d所示,可以验证这一速度变化问题。图4-a至4-d示意了一个走廊情景,从两端各有50人相对行走,整个仿真过程包括两队人行走,相遇,穿过,到达整个过程。

交通流理论中的速度密度模型是通过对于大规模的交通车辆速度信息使用回归分析的方法得到。因而得到的速度与密度的关系依照使用的数据的不同是多种多样的。

步骤Step4.2中:

人群密度适中时,在人群仿真过程中个体修正后的实时速度v(p)的计算公式如公式(5):

v(ρ)=vfree(1-ρρm)  公式(5)

公式中,vfree为在人群仿真过程中个体的畅通实时速度,ρ为复杂场景中个体周围的人群密度,ρm为复杂场景中人群的最大密度。

人群密度高拥挤时,在人群仿真过程中个体修正后的实时速度v(p)的计算公式如公式(6):

v(ρ)=vfreeln(ρρm)  公式(6)

人群低密度空旷时,在人群仿真过程中个体修正后的实时速度v(p)的计算公式如公式(7):

v(ρ)=vfreeexp(-ρρm)  公式(7)

这些速度密度模型公式描述了大规模车辆交通(人群)的速度与密度之间的关系。总体的趋势是在密度稀疏的时候/地方,速度大值,在密度密集的时候/地方,速度取小值。这正是通常人群运动规律的体现。具体的速度值按照速度密度关系计算得到。

由步骤Step4.2,可以修正个体速度的大小,结合由势场法确定的速度方向,可以得到最终的个体速度(大小和方向)。由得到的个体速度信息可以更新个体的位置信息,综合所有个体位置信息的更新从而可以得到最终整体的人群仿真,参考图6,描述了一个广场类型的场景的人群仿真。图6-a描述了待仿真的场景结构,其中黄色的是可达区域,蓝色的是不可达区域,红色的 表示限制行走的墙;图6-b是相应的拓扑结构图,其中图6-b与图6-a中的数字是对应的,表示的是同一子区域;从图6-c到图6-h描述了整个仿真过程分别在第30帧、第60帧、第100帧、第150帧、第200帧和第250帧时的情况。

本实施例提供的用于复杂场景的层次式人群仿真系统包括:

复杂场景区域划分单元,用于根据复杂场景的结构信息对复杂场景进行区域划分,得到复杂场景的拓扑结构图;

复杂场景全局路径规划单元,用于根据复杂场景的拓扑结构图对复杂场景进行全局路径规划,具体为使用Dijkstra算法计算包含复杂场景中场景入口、场景出口和特定感兴趣区域的全局路径;

个体势场建立单元,用于确定人群分组信息和人群中个体在复杂场景中的位置信息,根据人群分组信息、人群中个体在复杂场景中的位置信息和复杂场景结构信息,在复杂场景中建立所有个体的势场,并根据个体的势场计算所有个体在复杂场景中受到的作用力;

人群仿真单元,用于根据个体在复杂场景中受到的作用力计算在人群仿真过程中所有个体的实时速度,利用交通流模型对在人群仿真过程中所有个体的实时速度进行实时修正,实现人群仿真。

其中

复杂场景区域划分单元对复杂场景的区域划分是利用Delaunay三角划分方法将复杂场景划分为若干子区域,针对划分结果得到复杂场景的拓扑结构图。

复杂场景区域划分单元是整个人群仿真系统可以使用层次式架构的基础.。依照所得到的拓扑结构图,可以得到全局路径规划结果;而对于人群中的个体,个体的吸引势方向可依照此全局规划结果及该个体所属的子区域得到。

复杂场景全局路径规划单元对复杂场景的全局路径规划使用Dijkstra算法计算复杂场景中所有区域的场景入口、场景出口和特定感兴趣区域的全局路径。

由于层次式架构的采用,此处不需要对每个个体应用如动态路径规划算法求取其个人具体的路径。对于复杂场景的大规模人群仿真,如果对每个个体应用动态路径规划算法求取其具体个人运动路径则系统的开销会很大。此处得到全局路径可以指导局部具体路径的规划,也是一种人群流动的体现。 个体的具体运动并不严格按照这些全局路径。全局的路径规划更像是指示在所得到的若干区域内,人应该往哪个方向走,而人具体怎么走则由个体势场建立单元建立的个体在复杂场景中的势场决定。

个体势场建立单元的作用为在复杂场景中建立个体的势场,方法为按照势场法描述建立势场。势场法认为场景中所有个体都具有势,势分为吸引势和排斥势,个体通过吸引势和排斥势得共同作用来运动。

设q=[x,y]为个体在复杂场景中的位置信息,

按照公式(1)计算个体在复杂场景中的势场中的吸引势Uatt

Uatt=12ξq[D(q,qgoal)]m  公式(1)

公式中,ξq为吸引势系数;m为距离的指数系数;qgoal为个体在复杂场景中的目标位置信息,在本实施例中由于层次式结构设计,个体在复杂场景中的的目标位置信息qgoal为全局路径的下一个子区域三角形的中心点。

按照公式(2)计算个体在复杂场景中的势场中的排斥势Urep

Urep=12η(1Σi=1kD(q,qobsi)/k-1D0)2[D(q,qgoal)]n,ifΣi=1kD(q,qobsi)/kD00,ifΣi=1kD(q,qobsi)/k>D0  公式(2)

公式中,η为排斥势系数;D0为排斥势的影响范围,D0由设置得出;n为距离的指数系数,k为与个体有关联性的分组中个体的数量;qiobs为复杂场景中障碍物的位置信息。与通常的排斥势不同的是,这里提出的排斥势公式在计算群体的排斥势时,是先计算群体的平均距离后求得其排斥势而不是先计算每个个体单独的排斥势而后求得排斥势的总和。

与个体有关联性的群组的定义是:人群仿真系统的输入信息除去场景的结构信息外,还包括人群的位置信息以及分组信息。与个体有关联性的群组既是个体所属群组中的其他处在影响范围内的个体的集合。

而个体在复杂场景中的势场中的势Utotal是由吸引势和排斥势相加得到的,如公式(3),而个体运动的力是由势的梯度体现的,如公式(4)可以求得个体在复杂场景中受到的作用力F:

Utotal=Σj=1aUattj+Σj=1bUrepj  公式(3)

F=-Utotol  公式(4)

公式中,a为复杂场景中对个体的吸引源个数,b为复杂场景中对个体的 排斥源个数。 

由得到个体在复杂场景中受到的作用力F,根据牛顿力学定律计算个体的加速度,进而可计算个体的速度。

人群仿真单元包括:

个体实时速度计算模块,用于根据所有个体在复杂场景中受到的作用力计算在人群仿真过程中所有个体的实时速度;

个体实时速度修正模块,用于根据所有个体在复杂场景中的位置信息,利用交通流模型基于人群中所有个体的位置信息所表征的密度信息对在人群仿真过程中所有个体的实时速度大小进行实时修正并根据实时速度方向和修正后的实时速度大小得到在人群仿真过程中所有个体的修正后的实时速度;

人群仿真模块,用于根据在人群仿真过程中所有个体修正后的实时速度,对所有个体在人群仿真过程中的位置信息进行实时更新,从而实现人群仿真。

人群仿真单元为个体具体仿真的速度修正并实现人群仿真。势场法可以得到一个未经优化的个体速度。由于势场法是基于力学的方法,势力可以在势场法中求得,而速度的大小则可以依照牛顿力学定律求得。但是由于只有吸引力和排斥力被考虑,因而在势场法的实际实现中一般设置一个速度大小的阈值来防止速度趋向于无穷大。

但是由于速度控制的滞后性,即力可以突变但速度需要通过加速度来改变,不可以突变,在实践中,个体的速度大小通常总势保持在这个最大值,即这个设置的阈值。为了解决这个问题,此处引入交通流理论中的速度密度模型来控制速度大小的变化,如图4-a至4-d所示,可以验证这一速度变化问题。图4-a至4-d示意了一个走廊情景,从两端各有50人相对行走,整个仿真过程包括两队人行走,相遇,穿过,到达整个过程。

交通流理论中的速度密度模型是通过对于大规模的交通车辆速度信息使用回归分析的方法得到。因而得到的速度与密度的关系依照使用的数据的不同是多种多样的。

个体实时速度修正模块对个体的实时速度大小进行实时修正的公式为:

人群密度适中时,在人群仿真过程中个体修正后的实时速度v(p)的计算公式如公式(5):

v(ρ)=vfree(1-ρρm)  公式(5)

公式中,vfree为在人群仿真过程中个体的畅通实时速度,ρ为复杂场景中 个体周围的人群密度,ρm为复杂场景中人群的最大密度。

人群密度高拥挤时,在人群仿真过程中个体修正后的实时速度v(p)的计算公式如公式(6):

v(ρ)=vfreeln(1-ρρm)  公式(6)

人群低密度空旷时,在人群仿真过程中个体修正后的实时速度v(p)的计算公式如公式(7):

v(ρ)=vfreeexp(-ρρm)  公式(7)

这些速度密度模型公式描述了大规模车辆交通(人群)的速度与密度之间的关系。总体的趋势是在密度稀疏的时候/地方,速度大值,在密度密集的时候/地方,速度取小值。这正是通常人群运动规律的体现。具体的速度值按照速度密度关系计算得到。

综上所述,本发明所述技术方案对于复杂场景的人群仿真具有很好的鲁棒特性;相对于经典的势场法,明显解决速度变化不自然的问题,使速度的变化更加符合人群运动规律,能够满足人群建模与仿真的实际需求。

显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定,对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动,这里无法对所有的实施方式予以穷举,凡是属于本发明的技术方案所引伸出的显而易见的变化或变动仍处于本发明的保护范围之列。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号