基于社会力模型的行人轨迹模拟方法及系统



1.本发明涉及行人轨迹生成技术领域,具体而言,本发明涉及一种基于社会力模型的行人轨迹模拟方法及系统。


背景技术:



2.行人轨迹模拟是包括商业利润估计,拥塞风险估计,流行病风险估计等在内的一系列应用的关键技术。例如,在室内场景中的模拟轨迹可以支持估计流行病风险或拥挤的风险,上述风险与人流中行人之间的距离密切相关。此外,行人轨迹还可以帮助估计公共场所的基础设施的负荷或提供一个更好的广告计划。因此,生成一个基于特定场景的轨迹是一项有重要意义的任务。
3.社会力(social force)模型是目前最流行的行人运动模拟模型之一,该模型定义了三种力来模拟三种相互作用,包括行人-目标交互、行人-环境交互和行人-行人交互。第一,行人被他的目标吸引;第二,行人被身边的障碍物阻挡,因此存在着来自障碍物的排斥力;第三,行人拥有自己的安全区域,这阻止行人与他人过于接近,从而带来了行人之间的排斥力。这些力的定义是一般化的,因此,社会力模型是用于轨迹生成的一个高度概括和可扩展的模型。
4.作为一个高度可扩展的模型,社会力模型被研究人员在各种场景下进行改进。例如,一种现有技术提出了一个头部的社会力模型,考虑行人的期望方向,建模行人的运动,从而提高了生成的轨迹的合理性。又例如,另一种现有技术通过包括若干个体力量改善了行人体互动,通过描述行人运动的自组织过程,提高了生成轨迹的真实性。还有一种现有技术通过引入避免碰撞的策略和信息丢失机制,以支持紧急疏散的模拟。
5.上述社会力模型在应用于室内轨迹生成时,通常都存在着轨迹的真实性和效率方面的问题。上述社会力模型在模拟行人轨迹时,没有考虑行人的大规模特征,如他们的人口分布。在实际的室内场景中,许多组数据(即人分布)很容易获得,这可以用来规范模拟和提高轨迹生成的合理性。另外,社会力模型在大规模场景中的应用受到计算效率的限制。计算效率会随着行人的增加而严重恶化。因此,亟需一种轨迹生成方案,以提高社会力模型的模拟结果的真实性和模拟效率。


技术实现要素:



6.本发明实施例要解决的技术问题是提供一种基于社会力模型的行人轨迹模拟方法及系统,能够提高社会力模型的轨迹生成结果的真实性。
7.为解决上述技术问题,本发明实施例提供的一种基于社会力模型的行人轨迹模拟方法,包括:
8.获取目标区域的边界坐标、目标区域所包括的各个子区域的边界坐标、目标区域的全局人口分布信息;以及,获取每个行人的个体参数,所述个体参数至少包括:进入目标区域的进入位置点和进入时间、预期经过的各个子区域、预期离开目标区域的离开位置点
和离开时间;
9.针对每个行人,分别生成一个包括有多个驻停时间的序列,将所述序列中的各个驻停时间依次分配到该行人预期经过的各个子区域,其中,所述序列中的所有驻停时间之和不超过该行人在目标区域内的总停留时间;
10.根据所述全局人口分布信息,确定每个驻停时间所属的子区域在该驻停时间内的局部人口分布信息,并根据所述局部人口信息,确定该驻停时间对应的驻停点的坐标;将所述序列中的每个驻停时间对应的驻停点依次插入到该行人的行进路线中,生成该行人的驻停点列表;
11.利用社会力模型,计算该行人依次去往驻停点列表中的各个驻停点时的轨迹,生成该行人的运动轨迹。
12.根据本发明的另一方面,至少一个实施例提供了一种基于社会力模型的行人轨迹模拟系统,包括:
13.信息获取模块,用于获取目标区域的边界坐标、目标区域所包括的各个子区域的边界坐标、目标区域的全局人口分布信息;以及,获取每个行人的个体参数,所述个体参数至少包括:进入目标区域的进入位置点和进入时间、预期经过的各个子区域、预期离开目标区域的离开位置点和离开时间;
14.驻留时间生成模块,用于针对每个行人,分别生成一个包括有多个驻停时间的序列,将所述序列中的各个驻停时间依次分配到该行人预期经过的各个子区域,其中,所述序列中的所有驻停时间之和不超过该行人在目标区域内的总停留时间;
15.驻停点生成模块,用于根据所述全局人口分布信息,确定每个驻停时间所属的子区域在该驻停时间内的局部人口分布信息,并根据所述局部人口信息,确定该驻停时间对应的驻停点的坐标;将所述序列中的每个驻停时间对应的驻停点依次插入到该行人的行进路线中,生成该行人的驻停点列表;
16.模拟计算模块,用于利用社会力模型,计算该行人依次去往驻停点列表中的各个驻停点时的轨迹,生成该行人的运动轨迹。
17.根据本发明的另一方面,至少一个实施例提供了一种基于社会力模型的行人轨迹模拟系统,包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序,所述程序被所述处理器执行时实现如上所述的方法的步骤。
18.根据本发明的另一方面,至少一个实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有程序,所述程序被处理器执行时,实现如上所述的方法的步骤。
19.与现有技术相比,本发明实施例基于室内辅助场景信息生成行人路线,并引入行人的驻停与随机探索行为,生成行人在各个子区域中的驻停点。通过精细的行人特征建模与行人环境互动建模,显著提高了室内行人移动轨迹模拟的真实性。另外,本发明实施例还通过缓存机制和gpu运算,提高了轨迹生成的效率。并且,本发明实施例能够支持模拟多种类型的干预政策的干预效果。
附图说明
20.为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所
需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
21.图1为社会力模型中的力的示意图;
22.图2为本发明实施例在应用于机场场景的一个示例图;
23.图3为本发明实施例的机场场景的子区域划分的一个示例图;
24.图4为本发明实施例插入驻停点的一个示例图;
25.图5为本发明实施例的行人轨迹模拟方法的一种流程示意图;
26.图6为本发明实施例的行人轨迹模拟系统的一种结构示意图;
27.图7为本发明实施例的行人轨迹模拟系统的另一种结构示意图。
具体实施方式
28.为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。在下面的描述中,提供诸如具体的配置和组件的特定细节仅仅是为了帮助全面理解本发明的实施例。因此,本领域技术人员应该清楚,可以对这里描述的实施例进行各种改变和修改而不脱离本发明的范围和精神。另外,为了清楚和简洁,省略了对已知功能和构造的描述。
29.应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。
30.在本发明的各种实施例中,应理解,下述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
31.如背景技术所述的,现有技术的社会力模型模拟得到的行人轨迹与行人的真实轨迹之间的差异较大,另外,现有的社会力模型的计算效率低,难以适应于大规模的行人轨迹模拟。为解决以上问题中的一个或多个,本发明实施例提供了一种基于社会力模型的行人轨迹模拟方法,提高行人轨迹模拟的真实性,这里,所述真实性是指行人的轨迹与实际的人分布情况的匹配程度。
32.图1给出了社会力模型中行人受到3种力的影响的示意图。图1中包括有行人101、个体111、障碍物121、行人101的目标102、以及行人111的目标112,其中,行人101受到的三个力,分别为目标吸引力103、行人-障碍物排斥力104和行人-行人排斥力105。行人111受到的三个力,分别为目标吸引力113、行人-障碍物排斥力114和行人-行人排斥力115。本文中有时也将行人称作个体。
33.首先,行人被他的目标所吸引,在社会力模型中目标吸引力表示为:
34.[0035][0036]
其中,表示行人α在t时刻的方向向量,其中表示朝向目标的方向,表示行人α在t时刻的方向。表示行人α受到的目标吸引力。表示行人α的最大速度,表示行人α在t时刻的当前速度,τ
α
为弛豫时间,用于调节目标吸引力的强度。社会力模型利用目标吸引力将行人引向目标。
[0037]
其次,行人会在行进路线上避开障碍物。在社会力模型中,这种效应表现为障碍物对行人的排斥力。
[0038]
第三,行人倾向于保持他们运动中的私人领域,以避免碰撞,这被建模为行人之间的排斥力。这种力会在每对行人之间产生一对排斥力,使他们相互远离。这种力的强度是由特征距离控制的。
[0039]
这些力将使行人加速到预定的最大速度。
[0040]
通过所有这些社会力的设置,社会力模型可以通过意图来模拟行人。然而,对于在一个复杂的室内场景中,需要对原始的社会力模型进行适应化处理。在本发明的实现中,行人的轨迹是由一系列的由室内场景确定的驻停点(way-point,也可以称作路径点)驱动的。到达当前驻停点后,行人在驻停点范围内停留一定的时间,以表示行人在此位置的可能的停留或徘徊时间,然后,行人将切换到下一个驻停点。在完成所有驻停点后,行人将从活跃行人列表中删除,也就是说,不再对该行人的轨迹进行模拟。
[0041]
通常情况下,根据行人的进入位置点和预期的离开位置点(例如,机场场景中通常由航班对应的登机口离开)以及室内空间的布局(各个子区域的分布),可以预先确定出行人轨迹依次经过的各个子区域。本发明实施例可以根据目标区域的各个功能区的分布,将目标区域划分为多个互不重叠的子区域。所述的功能区是指行人处理预定事务的区域,例如机场中的进行安全检查的安全检查口、办理登记手续的值机大厅,又例如医院中的挂号窗口、候诊厅、各种医学检查点等。
[0042]
图2以机场为例,提供了本发明实施例的一种应用场景。其中,机场室内场景中的元素包括:入口、值机大厅、安全检查站、登机口(也是行人的出口)。两条折线201和202是机场中两种典型的行人轨迹,通常是行人从机场入口进入,先去值机大厅进行值机,然后通过安全检查站进入机场两侧的候机大厅,然后通过登机口离开机场。本发明实施例可以利用预先获得的目标区域在一段时间的人口分布信息,来辅助行人的驻停点的生成。
[0043]
为了将社会力模型应用于复杂的室内场景中,本发明实施例接下来以机场作为示例进行说明。该室内场景中的行人具有相对可预测的运动模式。将社会力适用到内部场景,是一个欠定的问题(under-determined problem),本发明实施例充分利用内部场景的先验知识,如室内场景中各个功能区的分布、室内场景中一段时间的人口分布等信息。以机场为例:
[0044]
首先,所有的行人都与进入时间、离开时间和登机口(出口)相关联。每个行人进出机场时,可以采集进入时间和预期离开时间(可以根据航班的登机时间确定)。每个航班都有一个对应的登机口(出口)。
[0045]
其次,每个行人的行动模式是高度可预测的。具体来说,可以通过进入、值机、安全
检查和离开来描述行人的移动。本发明实施例将图2中的所有功能区元素可视化,并列出它们在路径点生成中的效果如下:
[0046]
值机大厅:根据航空公司规定,行人从入口进入机场后,办理值机是大多数旅客的第一个动作。在本发明实施例的实现中,行人将随机设置一个值机大厅中的位置点作为他们的第一个驻停点。这些路径点要求行人在该路径点的范围内保持一个固定时间,该固定时间是模型的超参数。例如,固定时间的取值较小时,可以模拟机器自动值机的效果,而较高时则可以模拟人工值机。
[0047]
安全检查站:为了帮助航班飞行安全以及减少传染病的感染风险,行人在通过安全检查站时需要接受检查,安全检查站通常是通过若干个有限宽度的门来进行建模。门的数量和安全检查站范围内停留的时间是两个超参数。
[0048]
登机口:在机场场景中,进入飞机是通常所有行人的意图。一旦某个行人到达相应的登机口,社会力模型将该行人从模拟中删除。
[0049]
另外,考虑到现实世界中行人总是拥有明确的目标坐标来驱动他们的运动是不现实的。大多数行人会花时间寻他们下一个路径点的位置以及坐在等待区的座位上。例如,机场场景中,一些行人可能选择在机场的候机室就座或在其他地方等候。此外,行人不太可能选择在一个非常遥远的位置作为他们的下一个路径点,在此徘徊或停留。考虑到相关先验知识,驻停点可以按照时间角度和坐标角度中的以下规则生成:
[0050]
时间角度:本发明实施例针对每个行人,产生一个驻停时间的序列,该序列中的元素为驻停时间,且遵循具有预设的固定参数的指数分布。序列中的所有元素的总时间最接近于该行人在机场的总停留时间(进入-离开时间间隔)。在具体实现时,可以根据目标区域(如机场)的功能区的分布以及行人的总停留时间,设置一个预设时间。例如,预先根据统计数据,确定出行人经常在目标区域中的徘徊或停留的驻停点的数量,然后,将行人的总停留时间除以该数量,得到的平均值作为该预设时间,进而产生一个期望值为预设时间的指数分布函数,对该函数进行采样,每次采样的结果作为该序列中的各个元素,直至所有元素的驻停时间的和值最接近于该行人的总停留时间。这样,所述序列中包括有一定数量的驻停时间。可以看出,上述预设时间与该行人的总停留时间正相关。
[0051]
另外,为了提高模拟效率,通常可以采用与行人的真实的进入-离开时间间隔成正比的一个时间,作为该行人的总停留时间。
[0052]
坐标角度:如图3所示,本发明实施例可以根据人口分布的可能性来产生驻停点。在图3中,有较多的人口分布的区域,更有可能被选为驻停点。此外,行人不太可能选择偏离其目标位置的遥远地点停留或闲逛。基于以上规则,本发明实施例可以预先将目标区域划分为多个子区域。例如,图3中,将机场区域人工划分为13个如虚线框所示的子区域,包括中心区域31、走廊32和候机室33,以供在上述子区域中选择驻停点。在实施过程中,根据预先确定的行人在目标区域的各个子区域的通行顺序,确定出该行人的路线,该路线包括行人依次经过的各个子区域,其中该路线中的首个子区域和最后一个子区域分别是行人的进入位置点所在的子区域和离开位置点所在的子区域。例如,如图4所示,机场场景中,行人通常遵循进入机场

值机(31)、值机

安检(31)、安检

进入候机室(32),进入候机厅

离开(33)四个阶段的通行顺序,生成依次经过各个子区域的路线。通过以上方式,本发明实施例引入了室内辅助场景信息,如各个子区域(如功能区)的边界坐标,基于室内辅助场景信息,
生成行人的路线。
[0053]
为了描述室内公共空间中复杂的人类行为,本发明实施例在目标区域中引入了行人的驻停与随机探索行为。例如,在机场中,在候机时间较长时,机场内的旅客可能不会直接前往候机室,此时附近的商店或咖啡馆是热门选择。因此,本发明实施例在轨迹生成过程中引入逗留行为(驻停点),行人可以在场景中产生临时目的地,特别是在某些有特定功能的区域(如商店、咖啡馆、书店等)。进一步的,逗留行为的产生还考虑了人口分布,人口密度越大的地点越有可能是临时目的地。作为一种实现方式,人口密度可以是根据机场的wi-fi记录计算生成的。逗留行为的持续时间与总停留时间(即航班起飞时刻和旅客到达时间的差异)呈正相关的关系。通过引入了行人的驻停与随机探索行为,本发明实施例能够支持多种类型的干预措施。
[0054]
本发明实施例通过在行人路线所经过的各个子区域中生成驻停点,以引入行人的驻停与随机探索行为。具体的,在各个子区域中生成驻停点时,通过对该子区域的局部人口分布进行归一化,并根据归一化后的人口分布,生成该区域的一个或多个驻停点的坐标。每个驻停点对应于上述序列中的一个驻停时间。每个子区域的驻停时间(驻停点)的数量的比例,可以根据子区域的面积大小、子区域中的兴趣点的数量的等因素预先确定,从而将该行人在上述驻停时间的序列中的所有驻停时间分配到各个子区域中。例如,面积越大、兴趣点越多的子区域,具有较高的分配比例。这里,兴趣点可以是商店、餐厅、休息区等。
[0055]
通过结合时间角度和坐标角度的生成规则,本发明实施例可以根据每个用户的进出间隔,登机口,机场的人口分布的先验知识生成驻停点,每个驻停点对应于上述序列中的一个驻停时间。然后,如图4所示,将生成的驻停点插入到该行人的路线中的各个子区域,形成一个完整的驻停点列表。
[0056]
在生成驻停点列表之后,本发明实施例可以利用社会力模型对该行人的轨迹进行模拟。社会力模型的计算的过程如下:
[0057]
输入:行人名单,包括他们的驻停点列表(由上述规则生成)和进入时间。
[0058]
目标区域的室内场景的轮廓。
[0059]
初始化:对于任何行人,其初始坐标将被分配为其第一个驻停点的位置,例如,在机场入口处随机生成的。
[0060]
缓存:为了提高模拟效率,本发明实施例针对每个行人,预先计算和缓存与社会力计算密切相关的值,包括:该行人相对于下一个驻停点的方向和距离、该行人和下一个驻停点(目标)之间的向量、该行人的坐标和其他行人的坐标、该行人的速度和其他行人的速度。通过预计算和缓存这些经常使用的值,本发明实施例可以避免重复计算,提高了模拟效率。
[0061]
模拟:利用缓存的缓存值,计算每个行人的目标吸引力、行人排斥力和障碍物排斥力。然后利用这些力的总和来计算每个行人的加速度和速度。需要说明的是,行人的速度是由一个预先确定的最大速度钳位,即不超过该最大速度。最后,根据行人的速度以及当前位置坐标,可以得到每个行人在一个时间单位后的新坐标,并将该新坐标记录到生成的轨迹中,从而得到行人的轨迹。所述时间单位的时长可以根据需要来设置,例如,设置为1秒或5秒等。
[0062]
更新:在更新每个行人的坐标后,社会力模型将检查其新坐标和下一个驻停点(假设该下一个驻停点为驻停点列表中的驻停点i,该列表中包括有1、2、

、n一共n个驻停点)
之间的距离。如果距离更接近预先确定的阈值距离,则认为行人已到达该下一个驻停点(即驻停点i),此时更新该行人的下一个驻停点为驻停点i+1并开始计时,在该行人在驻停点i停留时间达到该驻停点i对应的驻停时间时,该行人将继续前往下一个驻停点i+1。如果行人没有任何剩余的驻停点,行人将成为非活动行人,此时将其从模拟中删除。
[0063]
输出:输出轨迹列表,包括每个时间单位的行人坐标、行人的进入时间和离开时间。
[0064]
此外,为了提高模拟的效率,上述模拟计算基于gpu加速的矩阵运算实现。经过前述优化后,模拟计算加速了5倍左右。表1为原始社会力模型和本发明实施例的社会力模型的模拟细节的对比,包括各自的时间消耗和迭代频率。从表1可以看出,当活动行人增加时,原始社会力模型的迭代频率会严重下降。在行人-行人排斥力中,需要用社会力来计算每对行人之间的相互作用。因此,社会力模型的复杂度为o(n2)。通过基于gpu的实现和重要值的缓存,本发明实施例的社会力模型的效率显著提高。通过比较1小时的时间消耗,本发明实施例只消耗相当于原始社会力模型的5%的时间。
[0065][0066]
表1
[0067]
请参照图5,本发明实施例提供的基于社会力模型的行人轨迹模拟方法,可以总结为以下步骤:
[0068]
步骤51,获取目标区域的边界坐标、目标区域所包括的各个子区域的边界坐标、目标区域的全局人口分布信息;以及,获取每个行人的个体参数,所述个体参数至少包括:进入目标区域的进入位置点和进入时间、预期经过的各个子区域、预期离开目标区域的离开位置点和离开时间。
[0069]
这里,目标区域的全局人口分布信息可以通过利用目标区域的人口分布的历史数据,通过训练神经网络模型生成得到,本发明实施例对此不再赘述。所述全局人口分布信息反映了目标区域的人口分布随时间的变化信息,例如,可以包括不同时间段的全局人口分布的热力图。在实际模拟时,可以根据模拟的时长,例如,在需要模拟一整天的行人轨迹时,可以预先获得一整天的全局人口分布信息,具体可以按照预定的时长,如将一天24小时按照每10分钟划分成多个时间段,每个时间段对应于一个全局人口分布信息,等等。
[0070]
步骤52,针对每个行人,分别生成一个包括有多个驻停时间的序列,将所述序列中的各个驻停时间依次分配到该行人预期经过的各个子区域,其中,所述序列中的所有驻停时间之和不超过该行人在目标区域内的总停留时间。
[0071]
这里,在生成所述驻停时间的序列时,可以对一个期望值为预设时间的指数分布
函数进行采样,然后,判断当前采样得到的驻停时间与所述序列中的所有驻停时间的和值,是否超出所述总停留时间:若是,则输出当前的序列,否则,将当前采样得到的驻停时间加入所述序列,并返回对一个期望值为预设等待时间的指数分布进行采样的步骤,以继续采样下一个驻停时间。所述预设时间可以按照前文介绍的方式确定。
[0072]
将所述序列中的驻停时间分配到各个子区域中,具体可以是:根据该行人预期经过的各个子区域的面积、子区域中的兴趣点的数量,确定分配到各个子区域中的驻停时间的数量;然后,按照该行人通过各个子区域的次序,确定各个子区域的分配顺序;按照所述分配顺序,确定当前分配的子区域以及该子区域中的驻停时间的数量,并依次将所述序列中相应数量的驻停时间分配到该子区域,最终将序列中的所有驻停时间都分配到子区域中。
[0073]
步骤53,根据所述全局人口分布信息,确定每个驻停时间所属的子区域在该驻停时间内的局部人口分布信息,并根据所述局部人口信息,确定该驻停时间对应的驻停点的坐标;将所述序列中的每个驻停时间对应的驻停点依次插入到该行人的行进路线中,生成该行人的驻停点列表。
[0074]
这里,可以预先获得一段时间目标区域的全局人口分布信息,然后,针对每个驻停时间,根据该行人的进入时间以及该驻停时间在所述序列之前的所有驻停时间的和值,确定该驻停时间对应的时间范围;根据该驻停时间对应的时间范围,从所述全局人口分布信息中确定出所述驻停时间所属的子区域在所述时间范围的局部人口分布信息。
[0075]
例如,针对驻停点i对应的驻停时间,假设行人的进入时间为t0,驻停点1~驻停点i-1的驻停时间的和值为t,驻停点i的驻停时间为ti,驻停点i所属的子区域为子区域i,则该驻停时间ti对应的时间范围为是从t0+t起始,到t0+t+ti为止的一段时间,此时可以从全局人口分布信息中查得到子区域i在该时间范围的局部人口分布信息。
[0076]
在获得局部人口分布信息之后,可以对所述局部人口信息对应的人口分布热力图进行归一化处理,得到所述驻停时间所属的子区域的人口概率分布;然后,对所述驻停时间所属的子区域的人口概率分布进行采样,将采样获得的各个结果,作为该子区域的各个驻停时间对应的驻停点的坐标。
[0077]
另外,行人的行进路线是根据预先确定的行人在目标区域的各个子区域的通行顺序确定的,该路线包括行人依次经过的各个子区域,其中该路线中的首个子区域和最后一个子区域分别是行人的进入位置点所在的子区域和离开位置点所在的子区域。
[0078]
步骤54,利用社会力模型,计算该行人依次去往驻停点列表中的各个驻停点时的轨迹,生成该行人的运动轨迹。
[0079]
这里,以行人的进入位置点为起始的驻停点,依次计算并记录行人去往驻停点列表中的下一个驻停点的过程中的更新位置的坐标,从而生成行人的运动轨迹。另外,本发明实施例可以预先计算和缓存的与社会力模型相关的缓存值,所述缓存值包括:行人与下一个驻停点之间的方向、行人与下一个驻停点之间的距离、行人与下一个驻停点之间的向量;采用基于gpu加速的矩阵运算,计算多个行人的运动轨迹,以提高模拟效率。上述模拟过程具体包括:
[0080]
判断行人是否到达所述驻停点列表中的最后一个驻停点:
[0081]
若是,则输出生成的运动轨迹;
[0082]
否则,将行人在驻停点列表中的下一个驻停点作为目标,利用行人与目标之间的吸引力、行人与障碍物之间的排斥力和行人与行人之间的排斥力,计算行人的加速度和速度;根据所述行人的速度和所述行人的当前位置坐标,更新所述行人的位置坐标,并在更新后的位置坐标与下一个驻停点之间的距离处于预设距离门限时,确定行人到达该下一个驻停点,将该下一个驻停点作为当前驻停点并开始计时,在计时值达到当前驻停点对应的驻留时间时,将当前驻停点的位置坐标作为行人的当前位置坐标,返回所述判断行人是否到达所述驻停点列表中的最后一个驻停点的步骤。
[0083]
通过以上步骤,本发明实施例利用室内辅助场景信息和人口分布信息生成行人轨迹,并在行人路线中引入了驻停与随机探索行为,提高了社会力模型轨迹模拟结果的真实性。另外,本发明实施例还通过缓存重要的缓存值,并利用基于gpu加速的矩阵运算,通过并行计算功能,大大提高了计算效率。
[0084]
基于以上的行人轨迹模拟方法,本发明实施例还可以使用一系列个体的,可能影响轨迹的特征对行人进行建模,以实现在不同的特征下的行人轨迹模拟,具体包括:
[0085]
1)引入不同移动管控措施:
[0086]
在室内场景中,由于人移动行为的复杂性,往往会引发一些潜在风险。本发明实施例引入了一系列风险管控措施,评估不同风险管控手段下的个体移动轨迹,包括增强社交距离、增加安检窗口数量、增加步行梯、减小人探索行为等。
[0087]
2)引入行人的多种个体信息:
[0088]
本发明实施例在社会力模型中,加入了行人个体特征,并模拟了这些特征对行人移动行为的影响。第一,建模了行人的进入时间与登机时间,并建模了这两个时间对行人行为的影响,具体来说,行人如果离登机时间较长,将有更高的概率进行驻停行为或进入商业区。第二,建模了行人的年龄对移动的影响,老年人的移动可能明显比年轻人更慢,在疫情防控状态下,公共场所可考虑为老年人开辟绿通道,以降低在疫情面前脆弱的老年人的风险。
[0089]
以上介绍了本发明实施例的各种方法。下面将进一步提供实施上述方法的装置。
[0090]
请参照图6,本发明实施例提供了一种基于社会力模型的行人轨迹模拟系统,包括:
[0091]
信息获取模块61,用于获取目标区域的边界坐标、目标区域所包括的各个子区域的边界坐标、目标区域的全局人口分布信息;以及,获取每个行人的个体参数,所述个体参数至少包括:进入目标区域的进入位置点和进入时间、预期经过的各个子区域、预期离开目标区域的离开位置点和离开时间;
[0092]
驻留时间生成模块62,用于针对每个行人,分别生成一个包括有多个驻停时间的序列,将所述序列中的各个驻停时间依次分配到该行人预期经过的各个子区域,其中,所述序列中的所有驻停时间之和不超过该行人在目标区域内的总停留时间;
[0093]
驻停点生成模块63,用于根据所述全局人口分布信息,确定每个驻停时间所属的子区域在该驻停时间内的局部人口分布信息,并根据所述局部人口信息,确定该驻停时间对应的驻停点的坐标;将所述序列中的每个驻停时间对应的驻停点依次插入到该行人的行进路线中,生成该行人的驻停点列表;
[0094]
模拟计算模块64,用于利用社会力模型,计算该行人依次去往驻停点列表中的各
个驻停点时的轨迹,生成该行人的运动轨迹。
[0095]
通过以上系统,本发明实施例能够提高了社会力模型轨迹模拟结果的真实性和计算效率。
[0096]
可选的,所述驻留时间生成模块,包括:
[0097]
序列生成单元,用于对一个期望值为预设时间的指数分布函数进行采样;
[0098]
判断当前采样得到的驻停时间与所述序列中的所有驻停时间的和值,是否超出所述总停留时间:若是,则输出当前的序列,否则,将当前采样得到的驻停时间加入所述序列,并返回对一个期望值为预设等待时间的指数分布进行采样的步骤。
[0099]
可选的,所述驻留时间生成模块,包括:
[0100]
时间分配单元,用于根据该行人预期经过的各个子区域的面积、子区域中的兴趣点的数量,确定分配到各个子区域中的驻停时间的数量;按照该行人通过各个子区域的次序,确定各个子区域的分配顺序;按照所述分配顺序,确定当前分配的子区域以及该子区域中的驻停时间的数量,并依次将所述序列中相应数量的驻停时间分配到该子区域。
[0101]
可选的,所述驻停点生成模块,包括:
[0102]
人口分布确定模块,用于针对每个驻停时间,根据该行人的进入时间以及该驻停时间在所述序列之前的所有驻停时间的和值,确定该驻停时间对应的时间范围;根据该驻停时间对应的时间范围,从所述全局人口分布信息中确定出所述驻停时间所属的子区域在所述时间范围的局部人口分布信息。
[0103]
可选的,所述驻停点生成模块,包括:
[0104]
驻停点指标确定模块,用于对所述局部人口信息对应的人口分布热力图进行归一化处理,得到所述驻停时间所属的子区域的人口概率分布;对所述驻停时间所属的子区域的人口概率分布进行采样,将采样获得的各个结果,作为该子区域的各个驻停时间对应的驻停点的坐标。
[0105]
可选的,所述模拟计算模块,具体用于:以行人的进入位置点为起始的驻停点,判断行人是否到达所述驻停点列表中的最后一个驻停点:若是,则输出生成的运动轨迹;否则,将行人在驻停点列表中的下一个驻停点作为目标,利用行人与目标之间的吸引力、行人与障碍物之间的排斥力和行人与行人之间的排斥力,计算行人的加速度和速度;根据所述行人的速度和所述行人的当前位置坐标,更新所述行人的位置坐标,并在更新后的位置坐标与下一个驻停点之间的距离处于预设距离门限时,确定行人到达该下一个驻停点,将该下一个驻停点作为当前驻停点并开始计时,在计时值达到当前驻停点对应的驻留时间时,将当前驻停点的位置坐标作为行人的当前位置坐标,返回所述判断行人是否到达所述驻停点列表中的最后一个驻停点的步骤。
[0106]
可选的,所述系统还包括:
[0107]
缓存模块,用于预先计算和缓存的与社会力模型相关的缓存值,所述缓存值包括:行人与下一个驻停点之间的方向、行人与下一个驻停点之间的距离、行人与下一个驻停点之间的向量;
[0108]
所述模拟计算模块,采用基于gpu加速的矩阵运算,计算多个行人的运动轨迹。
[0109]
请参考图7,本发明实施例提供了基于深度学习的人口分布补全系统700的一结构示意图,包括:处理器701、收发机702、存储器703和总线接口,其中:
[0110]
在本发明实施例中,第一设备700还包括:存储在存储器上703并可在处理器701上运行的程序,所述程序被处理器701执行时实现如下步骤:
[0111]
获取目标区域的边界坐标、目标区域所包括的各个子区域的边界坐标、目标区域的全局人口分布信息;以及,获取每个行人的个体参数,所述个体参数至少包括:进入目标区域的进入位置点和进入时间、预期经过的各个子区域、预期离开目标区域的离开位置点和离开时间;
[0112]
针对每个行人,分别生成一个包括有多个驻停时间的序列,将所述序列中的各个驻停时间依次分配到该行人预期经过的各个子区域,其中,所述序列中的所有驻停时间之和不超过该行人在目标区域内的总停留时间;
[0113]
根据所述全局人口分布信息,确定每个驻停时间所属的子区域在该驻停时间内的局部人口分布信息,并根据所述局部人口信息,确定该驻停时间对应的驻停点的坐标;将所述序列中的每个驻停时间对应的驻停点依次插入到该行人的行进路线中,生成该行人的驻停点列表;
[0114]
利用社会力模型,计算该行人依次去往驻停点列表中的各个驻停点时的轨迹,生成该行人的运动轨迹。
[0115]
可理解的,本发明实施例中,所述计算机程序被处理器701执行时可实现上述图5所示的基于社会力模型的行人轨迹模拟方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
[0116]
在图7中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器701代表的一个或多个处理器和存储器703代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。收发机702可以是多个元件,即包括发送机和接收机,提供用于在传输介质上与各种其他装置通信的单元。
[0117]
处理器701负责管理总线架构和通常的处理,存储器703可以存储处理器701在执行操作时所使用的数据。
[0118]
需要说明的是,该实施例中的终端是与上述图2所示的方法对应的设备,上述各实施例中的实现方式均适用于该终端的实施例中,也能达到相同的技术效果。该设备中,收发机702与存储器703,以及收发机702与处理器701均可以通过总线接口通讯连接,处理器701的功能也可以由收发机702实现,收发机702的功能也可以由处理器701实现。在此需要说明的是,本发明实施例提供的上述设备,能够实现上述方法实施例所实现的所有方法步骤,且能够达到相同的技术效果,在此不再对本实施例中与方法实施例相同的部分及有益效果进行具体赘述。
[0119]
在本发明的一些实施例中,还提供了一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现以下步骤:
[0120]
获取目标区域的边界坐标、目标区域所包括的各个子区域的边界坐标、目标区域的全局人口分布信息;以及,获取每个行人的个体参数,所述个体参数至少包括:进入目标区域的进入位置点和进入时间、预期经过的各个子区域、预期离开目标区域的离开位置点和离开时间;
[0121]
针对每个行人,分别生成一个包括有多个驻停时间的序列,将所述序列中的各个
驻停时间依次分配到该行人预期经过的各个子区域,其中,所述序列中的所有驻停时间之和不超过该行人在目标区域内的总停留时间;
[0122]
根据所述全局人口分布信息,确定每个驻停时间所属的子区域在该驻停时间内的局部人口分布信息,并根据所述局部人口信息,确定该驻停时间对应的驻停点的坐标;将所述序列中的每个驻停时间对应的驻停点依次插入到该行人的行进路线中,生成该行人的驻停点列表;
[0123]
利用社会力模型,计算该行人依次去往驻停点列表中的各个驻停点时的轨迹,生成该行人的运动轨迹。
[0124]
该程序被处理器执行时能实现上述方法中的所有实现方式,且能达到相同的技术效果,为避免重复,此处不再赘述。
[0125]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0126]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0127]
在本技术所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0128]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
[0129]
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0130]
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0131]
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利
要求的保护范围为准。

技术特征:


1.一种基于社会力模型的行人轨迹模拟方法,其特征在于,包括:获取目标区域的边界坐标、目标区域所包括的各个子区域的边界坐标、目标区域的全局人口分布信息;以及,获取每个行人的个体参数,所述个体参数至少包括:进入目标区域的进入位置点和进入时间、预期经过的各个子区域、预期离开目标区域的离开位置点和离开时间;针对每个行人,分别生成一个包括有多个驻停时间的序列,将所述序列中的各个驻停时间依次分配到该行人预期经过的各个子区域,其中,所述序列中的所有驻停时间之和不超过该行人在目标区域内的总停留时间;根据所述全局人口分布信息,确定每个驻停时间所属的子区域在该驻停时间内的局部人口分布信息,并根据所述局部人口信息,确定该驻停时间对应的驻停点的坐标;将所述序列中的每个驻停时间对应的驻停点依次插入到该行人的行进路线中,生成该行人的驻停点列表;利用社会力模型,计算该行人依次去往驻停点列表中的各个驻停点时的轨迹,生成该行人的运动轨迹。2.如权利要求1所述的方法,其特征在于,所述生成一个包括有多个驻停时间的序列,具体包括:对一个期望值为预设时间的指数分布函数进行采样;判断当前采样得到的驻停时间与所述序列中的所有驻停时间的和值,是否超出所述总停留时间:若是,则输出当前的序列,否则,将当前采样得到的驻停时间加入所述序列,并返回对一个期望值为预设等待时间的指数分布进行采样的步骤。3.如权利要求1所述的方法,其特征在于,所述将所述序列中的各个驻停时间依次分配到该行人预期经过的各个子区域,具体包括:根据该行人预期经过的各个子区域的面积、子区域中的兴趣点的数量,确定分配到各个子区域中的驻停时间的数量;按照该行人通过各个子区域的次序,确定各个子区域的分配顺序;按照所述分配顺序,确定当前分配的子区域以及该子区域中的驻停时间的数量,并依次将所述序列中相应数量的驻停时间分配到该子区域。4.如权利要求1所述的方法,其特征在于,所述根据所述全局人口分布信息,确定每个驻停时间所属的子区域在该驻停时间内的局部人口分布信息,具体包括:针对每个驻停时间,根据该行人的进入时间以及该驻停时间在所述序列之前的所有驻停时间的和值,确定该驻停时间对应的时间范围;根据该驻停时间对应的时间范围,从所述全局人口分布信息中确定出所述驻停时间所属的子区域在所述时间范围的局部人口分布信息。5.如权利要求1所述的方法,其特征在于,所述根据所述局部人口信息,确定该驻停时间对应的驻停点的坐标,具体包括:对所述局部人口信息对应的人口分布热力图进行归一化处理,得到所述驻停时间所属的子区域的人口概率分布;对所述驻停时间所属的子区域的人口概率分布进行采样,将采样获得的各个结果,作为该子区域的各个驻停时间对应的驻停点的坐标。
6.如权利要求1所述的方法,其特征在于,所述利用社会力模型,计算该行人依次去往驻停点列表中的各个驻停点时的轨迹,生成该行人的运动轨迹,具体包括:以行人的进入位置点为起始的驻停点,判断行人是否到达所述驻停点列表中的最后一个驻停点:若是,则输出生成的运动轨迹;否则,将行人在驻停点列表中的下一个驻停点作为目标,利用行人与目标之间的吸引力、行人与障碍物之间的排斥力和行人与行人之间的排斥力,计算行人的加速度和速度;根据所述行人的速度和所述行人的当前位置坐标,更新所述行人的位置坐标,并在更新后的位置坐标与下一个驻停点之间的距离处于预设距离门限时,确定行人到达该下一个驻停点,将该下一个驻停点作为当前驻停点并开始计时,在计时值达到当前驻停点对应的驻留时间时,将当前驻停点的位置坐标作为行人的当前位置坐标,返回所述判断行人是否到达所述驻停点列表中的最后一个驻停点的步骤。7.如权利要求1所述的方法,其特征在于,预先计算和缓存的与社会力模型相关的缓存值,所述缓存值包括:行人与下一个驻停点之间的方向、行人与下一个驻停点之间的距离、行人与下一个驻停点之间的向量;采用基于gpu加速的矩阵运算,计算多个行人的运动轨迹。8.一种基于社会力模型的行人轨迹模拟系统,其特征在于,包括:信息获取模块,用于获取目标区域的边界坐标、目标区域所包括的各个子区域的边界坐标、目标区域的全局人口分布信息;以及,获取每个行人的个体参数,所述个体参数至少包括:进入目标区域的进入位置点和进入时间、预期经过的各个子区域、预期离开目标区域的离开位置点和离开时间;驻留时间生成模块,用于针对每个行人,分别生成一个包括有多个驻停时间的序列,将所述序列中的各个驻停时间依次分配到该行人预期经过的各个子区域,其中,所述序列中的所有驻停时间之和不超过该行人在目标区域内的总停留时间;驻停点生成模块,用于根据所述全局人口分布信息,确定每个驻停时间所属的子区域在该驻停时间内的局部人口分布信息,并根据所述局部人口信息,确定该驻停时间对应的驻停点的坐标;将所述序列中的每个驻停时间对应的驻停点依次插入到该行人的行进路线中,生成该行人的驻停点列表;模拟计算模块,用于利用社会力模型,计算该行人依次去往驻停点列表中的各个驻停点时的轨迹,生成该行人的运动轨迹。9.如权利要求8所述的系统,其特征在于,所述驻留时间生成模块,包括:序列生成单元,用于对一个期望值为预设时间的指数分布函数进行采样;判断当前采样得到的驻停时间与所述序列中的所有驻停时间的和值,是否超出所述总停留时间:若是,则输出当前的序列,否则,将当前采样得到的驻停时间加入所述序列,并返回对一个期望值为预设等待时间的指数分布进行采样的步骤。10.如权利要求8所述的系统,其特征在于,所述驻留时间生成模块,包括:时间分配单元,用于根据该行人预期经过的各个子区域的面积、子区域中的兴趣点的
数量,确定分配到各个子区域中的驻停时间的数量;按照该行人通过各个子区域的次序,确定各个子区域的分配顺序;按照所述分配顺序,确定当前分配的子区域以及该子区域中的驻停时间的数量,并依次将所述序列中相应数量的驻停时间分配到该子区域。11.如权利要求8所述的系统,其特征在于,所述驻停点生成模块,包括:人口分布确定模块,用于针对每个驻停时间,根据该行人的进入时间以及该驻停时间在所述序列之前的所有驻停时间的和值,确定该驻停时间对应的时间范围;根据该驻停时间对应的时间范围,从所述全局人口分布信息中确定出所述驻停时间所属的子区域在所述时间范围的局部人口分布信息。12.如权利要求8所述的系统,其特征在于,所述驻停点生成模块,包括:驻停点指标确定模块,用于对所述局部人口信息对应的人口分布热力图进行归一化处理,得到所述驻停时间所属的子区域的人口概率分布;对所述驻停时间所属的子区域的人口概率分布进行采样,将采样获得的各个结果,作为该子区域的各个驻停时间对应的驻停点的坐标。13.如权利要求8所述的系统,其特征在于,所述模拟计算模块,具体用于:以行人的进入位置点为起始的驻停点,判断行人是否到达所述驻停点列表中的最后一个驻停点:若是,则输出生成的运动轨迹;否则,将行人在驻停点列表中的下一个驻停点作为目标,利用行人与目标之间的吸引力、行人与障碍物之间的排斥力和行人与行人之间的排斥力,计算行人的加速度和速度;根据所述行人的速度和所述行人的当前位置坐标,更新所述行人的位置坐标,并在更新后的位置坐标与下一个驻停点之间的距离处于预设距离门限时,确定行人到达该下一个驻停点,将该下一个驻停点作为当前驻停点并开始计时,在计时值达到当前驻停点对应的驻留时间时,将当前驻停点的位置坐标作为行人的当前位置坐标,返回所述判断行人是否到达所述驻停点列表中的最后一个驻停点的步骤。14.如权利要求8所述的系统,其特征在于,还包括:缓存模块,用于预先计算和缓存的与社会力模型相关的缓存值,所述缓存值包括:行人与下一个驻停点之间的方向、行人与下一个驻停点之间的距离、行人与下一个驻停点之间的向量;所述模拟计算模块,采用基于gpu加速的矩阵运算,计算多个行人的运动轨迹。

技术总结


本发明提供了一种基于社会力模型的行人轨迹模拟方法及系统。本发明实施例引入了人口分布信息辅助生成行人随机驻停和随机探索的驻停点,并插入到行人路线中。本发明实施例基于室内辅助场景信息生成行人路线,并引入行人的驻停与随机探索行为,生成行人在各个子区域中的驻停点。通过精细的行人特征建模与行人环境互动建模,显著提高了室内行人移动轨迹模拟的真实性。另外,本发明实施例还通过缓存机制和GPU运算,提高了轨迹生成的效率。并且,本发明实施例能够支持模拟多种类型的干预政策的干预效果。干预效果。干预效果。


技术研发人员:

邵尔卓 韩振宇 高昌正 马思然 李勇 张杨 谢雨来 耿璐

受保护的技术使用者:

清华大学

技术研发日:

2021.06.24

技术公布日:

2022/12/26

本文发布于:2024-09-22 18:30:24,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/48818.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:行人   时间   所述   区域
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议