張增輝 唐平 馬若雯
(中國電子科技集團公司電子科學研究院 北京市 100041)
在過去的二十年中,人群多智能體建模主要有兩種方法:社會力模型和元胞自動機模型。前者是連續(xù)的,后者是離散的,通常情況下社會力模型仿真過程中需要進行更多的計算。隨著計算機計算水平的增加,社會力模型因其連續(xù)性的特點逐漸成為主流[1,2]。社會力模型的最大特點是其普適性,它可以輕松應用于任何場景,但其微觀行為和宏觀統(tǒng)計數(shù)據(jù)與真實情況存在一定差距。
目前,越來越多的研究開始專注于使用神經(jīng)網(wǎng)絡(luò)來進行人群運動仿真。Ma 和Lee[3]提出了一種基于人工智能的人群運動仿真方法,該方法需要通過馬路上的監(jiān)控收集大量的微觀行人運動數(shù)據(jù),并通過一個神經(jīng)網(wǎng)絡(luò)來學習,他們的結(jié)果顯示該神經(jīng)網(wǎng)絡(luò)可以模擬行人通過人行橫道時的微觀行為。與此同時,Alahi[4]利用循環(huán)神經(jīng)網(wǎng)絡(luò)完成了在指定區(qū)域內(nèi)行人軌跡的預測工作,還有許多研究[5-9]表明神經(jīng)網(wǎng)絡(luò)模型比社會力模型更能準確的模擬行人行為,但普遍存在場景約束。
本文所設(shè)計的行人神經(jīng)網(wǎng)絡(luò)模型將在滿足多場景仿真要求的同時,力爭在準確性方面超過社會力模型,這主要取決用于訓練的數(shù)據(jù)集的質(zhì)量。
根據(jù)社會力模型,行人在t 時刻的速度變化由公式(1)-(4)得到:
考慮到上述社會力模型的上述功能,本文人工神經(jīng)網(wǎng)絡(luò)(ANN)的輸入設(shè)計如下:
(1)本文由A*算法計算出的期望的運動方向由表示。這個運動方向可以代表目標的期望方向和避開障礙的計劃方向。它代表
(3)采用數(shù)組W,如公式(5)所示,來存儲主體人物周圍的人群信息。為了實現(xiàn)模型的計算復雜度和保真度之間的平衡,考慮五個最近的鄰居來計算 的相互作用力。如圖1 所示:
圖1:相互作用力計算示意圖
圖2:對流現(xiàn)象仿真圖
W 是20 個元素的相鄰數(shù)組。因為人工神經(jīng)網(wǎng)絡(luò)需要固定數(shù)量的輸入,但是鄰居數(shù)量可能少于5 個。為了解決這個問題,本文使用歸一化的 和 來表示該行人與其鄰居之間的相對位置。當鄰居靠近主體時, 和 接近1。當鄰居數(shù)目小于5 時,相應空余的為0。W 數(shù)組內(nèi)數(shù)據(jù)的計算公式如公式(6)-(8)所示。
本文首先利用仿真模擬行人典型行為,并采集數(shù)據(jù)來驗證行人神經(jīng)網(wǎng)絡(luò)的有效性。針對典型行為進行的實驗如下。
圖3:圓形障礙物堵塞
圖4:驗證場景示意圖
2.1.1 對流現(xiàn)象
當人群朝著相反的方向前進時,人群會自行組織創(chuàng)建不同的通道。從圖2 可以看出行人被分為黑白兩種顏色,分別從兩邊的入口進入。實驗中設(shè)置行人生成速率為1 人/秒,測試持續(xù)時間為100 秒。
2.1.2 擁擠堵塞
假如在緊急情況下需要從出口逃生,大密度的人群往同一個狹窄出口移動,行人不會自覺排隊,那么行人就會在出口處產(chǎn)生如圖3 所示的拱形堵塞。實驗中設(shè)置疏散行人總數(shù)為100 人,障礙物尺寸為矩形2 米*2 米,圓半徑為1 米,門寬為1.3 米。
本文中人工神經(jīng)網(wǎng)絡(luò)輸入單元的數(shù)量是22 個,輸出單元的數(shù)量是2 個。該網(wǎng)絡(luò)有兩個隱藏層,都有60 個神經(jīng)元,主要學習方法是反向傳播(BP),它將預測結(jié)果與實際數(shù)據(jù)之間的差異進行反饋,并調(diào)整權(quán)值以達到誤差的最小化。該過程被重復許多次,直至迭代次數(shù)達到預定值,或者均方誤差(MSE)下降到某個閾值以下。本文中迭代次數(shù)的上限為1000次,均方根RMSE誤差的閾值為0.05。在所提出的人工神經(jīng)網(wǎng)絡(luò)中,90%的樣本(36573)作為為訓練組,10%為作為測試組。最終,本文所設(shè)計的人群神經(jīng)網(wǎng)絡(luò)模型的訓練均方誤差(MSE)為0.050504,測試均方誤差為0.06179。
驗證場景為房間疏散場景,如圖4 所示。
本文基于驗證場景對人工神經(jīng)網(wǎng)絡(luò)模型進行了測試,測試效果如圖5、圖6 所示。左圖為行人的運動軌跡圖,右圖為仿真進行到5s 時的截圖。
從圖中可以看出,神經(jīng)網(wǎng)絡(luò)模型與社會力模型相比,人與人之間的相對距離更加真實,不現(xiàn)實的軌跡波動更少。通過計算每1/15s 步長內(nèi)兩個模型與實際行人位置的誤差,社會力模型的平均誤差為(x: 0.201m, y: -0.151m),神經(jīng)網(wǎng)絡(luò)模型的平均誤差為(x: -0.177m, y: -0.160m)。這意味著社會力模型和神經(jīng)網(wǎng)絡(luò)模型在垂直(y)方向上有類似的誤差,但社會力模型在水平(x)軸上的誤差相對較大。
圖5:社會力模型測試軌跡圖及實驗截圖
圖6:人工神經(jīng)網(wǎng)絡(luò)模型測試軌跡圖及實驗截圖
本文設(shè)計了一個面向多場景的神經(jīng)網(wǎng)絡(luò)人群運動模型,可以既滿足普適性的要求,又能在微觀表現(xiàn)、準確性和真實性方面超過現(xiàn)有的主流人群模型,如社會力模型。
本節(jié)提出的神經(jīng)網(wǎng)絡(luò)人群模型是由數(shù)據(jù)驅(qū)動的,將多場景行人行為封裝成四層神經(jīng)網(wǎng)絡(luò),從而產(chǎn)生行人的速度和位置。仿真結(jié)果表明,本文設(shè)計的人工神經(jīng)網(wǎng)絡(luò)模型不會像社會力模型那樣出現(xiàn)嚴重的不真實的位置波動,并且在速度密度曲線方面非常接近真實情況。本模型是由數(shù)據(jù)驅(qū)動的,因此在神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)確定的情況下,隨著訓練數(shù)據(jù)質(zhì)量和數(shù)量的不斷提高,本模型可以更加接近真實情況。此外,社會力模型要求仿真步長必須小于0.008 秒,否則仿真中的行人會出現(xiàn)非正常移動,而本文所設(shè)計的神經(jīng)網(wǎng)絡(luò)可以在0.06 秒步長下成功模擬行人行為,仿真性能優(yōu)異。