譚 嵋,劉士豪,周 婉,陳國文,胡學敏
(湖北大學計算機與信息工程學院,武漢 430062)
人員應急疏散安全是公共安全的一個重要環(huán)節(jié),在人群密集的地方,如商場、醫(yī)院大廳、地鐵隧道等公共場所發(fā)生突發(fā)事件時,極易造成嚴重的擁堵,甚至是踩踏和傷亡事件。因此,高效安全地疏散人群成為保障社會安全問題的關鍵。
近年來,人群疏散問題得到了科研工作者的關注和重視?,F有的疏散模型主要有兩大類[1],一類是以人群整體為考察對象的宏觀模型,如流體力學模型[2],另一類是以行人個體為考察對象的微觀模型,如元胞自動機模型[3]和社會力模型[4-5]。流體力學模型將行人視為連續(xù)的流體,不考慮行人之間的作用力,忽視個體差異,因而該模型不適用于突發(fā)情形下的人群疏散。盡管元胞自動機因算法難度低而得到廣泛運用,但其離散的狀態(tài)和時空不連續(xù)導致模擬結果不準確,難以反映緊急情況下人群逃生時的真實狀況。社會力模型考慮了行人的主觀心理、行人之間的安全距離以及行人回避障礙物的行為等真實現象,有效地體現了行人在緊急情況下的運動狀況。
計算機軟硬件技術的快速發(fā)展使得研究人員能夠利用智能設備、計算機技術等研究人群疏散問題。文獻[6]提出利用智能移動終端內的傳感器采集行人數據,能較為準確地疏散行人并引導至出口。文獻[7]提出了利用機器人的自身運動來影響行人運動狀態(tài)的方法,雖然人群疏散的效率得到有效提升,但是機器人單一的直線運動使其無法應用于其他復雜的疏散場景,靈活性較低。因此,更多研究者將機器學習的方法[8]應用到機器人運動規(guī)劃領域,其中一種重要的模型就是深度Q 網絡(Deep Q-Network,DQN)[9]。DQN 僅通過圖像輸入就能實現從感知到動作的端到端學習,并在基于視頻感知的控制任務領域[10]以及無人機[11]、多智能體[12]領域取得了較高的成就。而機器人疏散人群時需要借助人群疏散場景圖中的人群位置、機器人位置等空間特征進一步分析從而采取相應的疏散措施,因而將深度強化學習應用于機器人疏散人群范疇是一個有效手段。文獻[13]利用DQN 使機器人根據特定的場景學習獲得疏散人群的運動策略,該方法對相似場景的移植性強,但網絡模型較簡單,難以提取復雜場景的空間特征。
長短期記憶網絡[14](Long Short-Term Memory,LSTM)的提出較好地解決了時序數據表達的問題,LSTM吸引了大量研究者的關注并得到優(yōu)化和發(fā)展,且在文本分類[15]和位置預測[16]領域也有很好的應用。而人群疏散是一個不間斷的、前后時間有關聯(lián)性的過程,如果只考慮每個獨立幀的人群狀態(tài)而忽視前后幀之間的時間特征,則在一定程度上會影響機器人疏散人群的效率。
針對目前人群疏散方法中存在機器人單一的運動規(guī)則、機器人靈活性差、場景適用性有限的問題,本文利用人機社會力模型,通過機器人的運動來“控制”周圍人群的運動狀態(tài),設計一種基于深度時空Q網絡(Deep Spatial-Temporal Q-Network,DSTQN)的機器人疏散人群的算法,通過加深CNN 的網絡層數提取復雜場景的空間特征,并在深度Q 網絡的基礎上融入LSTM,研究人群疏散場景的時間關聯(lián)性。
機器人疏散人群的前提是機器人能夠與人群進行交互,利用機器人的運動來影響和“控制”人群的運動。本文采用的人機社會力模型是建立在文獻[4]提出的社會力模型基礎上,實現機器人與行人的交互。社會力模型的理論基礎是牛頓第二定律,通過將行人看作具有自驅動力的粒子,并計算粒子的自驅動力、粒子間的相互作用力以及粒子與障礙物的相互作用力之和來分析行人運動狀態(tài),綜合考慮行人的主觀心理和外界干擾因素而設計的行人運動力學模型,達到真實模擬行人在緊急情況下逃生狀況的目的。人機社會力模型利用機器人和行人的相互作用力,即人機作用力來影響行人運動的方向和速度[7],進而達到人群疏散的目的,基本公式如式(1)所示:
式(1)定量地描述了行人i的受力情況,其中,mi是質量,v(it)是當前速度,fs是自驅動力,fij是其與行人j的相互作用力,fiw是障礙物與行人i之間的相互作用力,人機作用力的計算如式(2)所示:
其中,Ar和Br分別代表人機作用力的強度和范圍,rir是機器人與人的幾何中心距離,Kr、κr是系數,nir是機器人指向行人i的單位向量,tir是其正交單位向量,Δvi(rt)是機器人與行人i的速度差。
本文設計的基于深度時空Q 網絡的人群疏散算法流程如圖1 所示,將人群疏散的場景圖作為狀態(tài)S輸入DSTQN,通過CNN 提取復雜的人機交互場景圖像的空間特征xt,再送入LSTM 提取時間特征vt,經過維度處理后輸出一維的帶有時空特征的特征序列,最后經過Q 網絡單元計算Q值得到當前疏散人群的動作A,并根據與環(huán)境交互得到的獎勵r來判斷此時動作的優(yōu)劣。如此循環(huán)迭代,機器人再根據下一個狀態(tài)和獎勵不斷學習,優(yōu)化疏散人群的動作并輸出得到更高的獎勵。
圖1 基于深度時空Q 網絡的人群疏散算法流程Fig.1 Procedure of crowd evacuation algorithm based on deep spatio-temporal Q-network
DQN 是一種結合卷積神經網絡(Convolutional Neural Network,CNN)[17]和強化學習的Q 學習[18]經典強化學習算法,用深度神經網絡取代強化學習的Q 表,使機器人在新環(huán)境中探索學習。狀態(tài)、動作和獎勵構成了DQN 的核心三要素,DQN 模型的建立依據Q 學習和馬爾科夫決策。本文采用的Q 網絡模型基于文獻[19],由兩層輸出節(jié)點數量分別為512 和4的全連接層構成,模型將機器人與環(huán)境交互的狀態(tài)輸入到主Q 網絡,機器人則根據Q值計算得到該值最大時的動作。目標Q 網絡的參數通過定期復制主Q 網絡的參數得到,并最小化當前Q值和目標Q值的均方誤差更新網絡參數以降低兩者之間的相關性。DQN 利用經驗回放機制將機器人與環(huán)境交互的轉移樣本存儲在記憶池,隨機抽取小批量的樣本通過隨機梯度下降算法反向更新網絡參數θ,不斷重復直至損失函數收斂,使機器人找到最優(yōu)的策略疏散人群。損失函數如式(3)所示,當前動作的Q值如式(4)所示,目標Q值如式(5)所示。
其中,s為是機器人的當前狀態(tài),s′則是下一個狀態(tài),a是當前動作,a′是下一個動作,r是當前動作的獎勵值,α是學習率,γ是折扣因子,θ為主網絡權值參數,θ′為目標網絡權值參數。
本文將LSTM 融入到DQN 中來提取人群疏散場景圖像前后幀之間的時間特征,并將包含時空特征的序列送入到Q 網絡中得到機器人的運動指令。因此,本文設計的DSTQN 模型由CNN 層網絡、LSTM 層網絡和Q 網絡組成,如圖1 所示。
因為DQN 算法的輸入是原始的圖像,所以本文將人群疏散場景的仿真圖作為環(huán)境來提取狀態(tài)信息。與原始DQN 類似,本文DSTQN 算法運用CNN擬合Q 函數以減少算法復雜度,提取人群疏散場景圖像的特征。在提取環(huán)境信息時,太淺的卷積網絡只能提取簡單的人群疏散場景的特征[13],無法提取復雜的人機交互的狀態(tài)特征;過于深的卷積網絡雖然能提取復雜的特征,但需要耗費大量的計算資源,難以收斂且有過擬合的風險。AlexNet 是一種經典的CNN 模型[19],在大規(guī)模視覺識別和圖像分類等領域取得了很好的成效。如圖2 所示,本文參照AlexNet,設計的CNN 包含5 個卷積層與1 個全連接層。5個卷積層的卷積核大小依次為11×11、5×5、3×3、3×3、3×3,通道數依次是48、128、192、192、128,最終全連接層輸出帶有1×1×512 個節(jié)點的映射集合。
圖2 CNN 層網絡結構Fig.2 Network structure of CNN layer
原始DQN 只能表達靜態(tài)人群疏散場景圖像的空間特征,無法表達視頻前后幀之間的時間信息。而動態(tài)人群疏散場景圖像既有空間特征,又有前后幀對應位置的像素點,即時間特征,因此關聯(lián)時間特征有利于機器人長期疏散人群,從而提高人群疏散的效率。LSTM 是一種經典的時序特征提取模型,可以對視頻進行時序性建模達到機器人長期記憶的目的,并在視頻識別動作任務[20]中取得了較好的成果。因此,本文提出的DSTQN 算法通過將CNN 提取的空間特征送入LSTM 層來實現時間關聯(lián)。
本文LSTM 層結構如圖3 所示,其中,虛線矩形框描述了LSTM 單元內部結構,σ表示sigmoid 函數,□表示tanh 函數。
圖3 LSTM 層結構Fig.3 Structure of LSTM layer
LSTM 利用4 個“門”來決定信息在細胞狀態(tài)的去留,從細胞狀態(tài)中丟棄的信息由遺忘門確定,首先讀取上一個LSTM 單元的輸出ht-1和當前LSTM 單元的輸入xt,然后通過sigmoid 激活函數丟棄的信息輸出到?t。?t取值范圍為[0,1],1 表示“完全保留”,0 表示“完全舍棄”。輸入門決定存放哪些新信息,通過sigmoid 函數輸出需要更新的信息it;輸出調制門利用tanh 激活函數輸出新的候選值向量mt;新信息it×mt加上舊狀態(tài)細胞ct-1×ft完成細胞更新。輸出門確定輸出值,利用sigmoid 函數輸出[0,1]區(qū)間的ot,并與通過tanh 函數處理的新的細胞狀態(tài)ct相乘,得到最終輸出ht。LSTM 各單元門的工作原理如式(6)~式(11)所示:
其中,Wx與b分別表示對應門控單元的權值與偏差,“˙”表示點乘。
本文在提取人群疏散場景前后幀的時間特征時,首先把處理后的人群場景圖像輸入CNN 提取空間特征xt,然后將距離當前時刻最近的N(N=10)幀圖像的空間特征xt送入LSTM 網絡關聯(lián)時間信息,輸出帶有時間和空間信息的特征vt,最后將vt送入Q 網絡中學習和優(yōu)化機器人選擇運動指令的策略。
在人群疏散算法中,機器人依據當前從CNN 和LSTM 提取的人群疏散場景狀態(tài)st中,選擇最好的疏散動作at,利用獎勵函數得到當前獎勵rt,再進入下一個狀態(tài)st+1。機器人依據獎勵辯別當前獎勵的優(yōu)劣,且更新目標Q 網絡的參數。不斷重復以上過程,最終得到優(yōu)化的目標Q 網絡。因此,狀態(tài)、動作和獎勵的設計是機器人疏散人群算法的重要內容。
1)狀態(tài)空間S
狀態(tài)集合S是機器人感知到的環(huán)境信息,也是對環(huán)境信息的數學表達。由于原始圖像尺寸過大且包含了許多無效的信息,為了優(yōu)化計算,降低網絡的訓練難度,本文設定輸入DSTQN 的狀態(tài)是機器人附近的區(qū)域。首先通過縮放和灰度化處理距離當前時刻最近的4(經驗值)幀場景圖像使其尺寸為84×84×4,然后輸入到CNN 層中,狀態(tài)集合如式(12)所示:
其中,st是輸入的當前時刻狀態(tài)圖像,t為當前時刻。
2)動作空間A
動作空間A集合了機器人依據此時環(huán)境而選擇的動作。機器人在疏散人群時,如果選取兩個方向的運動,則動作局限性大且難以有效疏散人群;而選取八向運動則導致強化學習搜索空間過大,模型訓練時難以收斂。為保證在一定的訓練難度下有較好的疏散效果,本文設計的機器人可向上、下、左、右運動,動作集合如式(13)所示:
其中,A為機器人動作空間集合,au、ad al、ar分別表示機器人上、下、左、右4 個方向運動指令。
3)獎勵函數r
機器人通過獎勵函數r判別當前動作的優(yōu)劣,同時獎勵函數引導機器人學習,強化學習的每一個動作都有相應的獎勵。本文中機器人目的是更快地降低疏散場景中人群擁擠度,所以對機器人而言最直接的獎勵是當前時刻疏散的人數。如果機器人當前動作使得后續(xù)有較多的人數逃生而當前很少甚至是沒有人逃生,亦不可認定本次動作無效。因此,本文將智能體采取一個動作后的k(k=5 為經驗值)次迭代的疏散總人數作為環(huán)境反饋給機器人的獎勵,獎勵函數如式(14)所示:
其中,t表示當前時刻,Mi是時刻i的疏散人數值,rt是當前時刻t的獎勵值。
4)其他參數和模型訓練策略
參數的合理設計與適當調整對訓練深度強化學習算法起著重要的作用。基于DSTQN 的人群疏散算法的參數設置如表1 所示。
表1 DSTQN 算法參數Table 1 Parameters of DSTQN algorithm
在表1 中,學習率是更新策略時更新網絡權重的幅度大小,折扣因子體現時間對獎勵的影響,記憶池用來存儲樣本數據,訓練批次大小等同于每次訓練神經網絡送入模型的樣本數,周期性地更新目標Q 網絡可以提高算法穩(wěn)定性。采用貪婪算法[21]訓練策略,按照設定的探索因子的大小來確定動作模式,不同的探索因子對應不同階段選取動作的概率。在訓練初始階段,機器人在初始探索因子ε的概率下進行探索,隨機選擇動作,ε隨著訓練次數增加而減小,最終機器人以穩(wěn)定的終止探索因子,ε′概率選擇當前最優(yōu)的動作。
本文使用Python 語言實現人群疏散仿真環(huán)境和人群疏散算法,DSTQN 算法基于Keras 平臺實現。硬件平臺CPU 為Intel i7-7700K,GPU 為NVIDIA GTX 1080Ti,內存為32 GB。在實驗場景方面,本文設計單出口室內人群疏散與走廊兩群行人交錯2 種場景進行實驗。
帶有一個疏散口的室內場景是一個典型的人群疏散場景。圖4 為本文建立的大小為11 m×11 m 并帶有一個3 m 寬出口的室內實驗場景,其中,實心圓表示行人,空心圓表示新增行人,方形表示機器人。當緊急事件發(fā)生時,行人出于恐慌心理在自驅動力的作用下快速向出口逃離。不同方向的行人逐漸聚集到出口附近,導致人群疏散效率降低。
圖4 單出口室內人群疏散場景和機器運動范圍Fig.4 Single exit indoor crowd evacuation scene and machine movement range
為有效疏散人群,在室內場景中加入一個機器人進行仿真實驗。圖4 左側6 m×6 m 的外側虛線框代表室內場景中人群主要聚集的區(qū)域,觀察該區(qū)域并通過均勻采樣得到84 像素×84 像素的圖像后送入DSTQN 網絡來計算機器人的環(huán)境狀態(tài)。此外,將機器人的運動范圍劃定在出口附近處行人逃生的矩形區(qū)域,如圖4 左側3.6 m×5.4 m 內側虛線框所示。綜合考慮噪聲和有限的計算資源,行人期望速度定為6 m/s[22],每秒迭代10 次;機器人運動速度是0.6 m/s,每秒迭代2 次,每次移動0.3 m。圖4 右側12 m×18 m的矩形網格是機器人在場景中的運動位置。在每輪實驗中,人群初始人數是100 人,疏散的時間是100 s,人群初始位置隨機分布在場景中。在圖4 中左側每秒產生3 個行人(用空心圓表示),他們的水平速度是6 m/s,縱向速度是0,目的是為了讓行人源源不斷地進入場景,避免狀態(tài)空間太大。
本文的評判標準是單位時間(100 s)內疏散的人數,從而檢驗本文算法的有效性。文獻[7,13]與本文算法都是基于人機社會力模型研究單出口的室內場景的人群疏散工作。為檢驗時空Q 網絡在人群疏散應用的效果,本文將未加入LSTM 的原始DQN 與加入了LSTM 的DSTQN 進行對比。
圖5 為不同算法在室內場景的訓練過程中疏散總人數變化曲線。在訓練的前200 輪時,DSTQN 處于的觀察前期,機器人隨機選擇疏散人群的動作;在200 輪~400 輪時處于探索中期,機器人將從經驗池采集的樣本優(yōu)化機器人疏散人群的動作序列;在400輪之后訓練收斂時,機器人根據學到的人群疏散策略來選擇最合適的疏散人群動作,此時DSTQN 算法在每輪實驗中疏散人群的數量最多。
圖5 單出口室內場景訓練過程中疏散人數曲線Fig.5 Curves of evacuee number in training process of indoor scene with a single exit
從圖5 可以看出,本文提出的DSTQN 算法疏散人群效果優(yōu)于DQN 和文獻[7]算法。3 種算法都是利用機器人自身運動狀態(tài)來“控制”人群的運動狀態(tài),在文獻[7]的算法中,機器人只是簡單地在出口上下往復運動,盡管一定程度上提高了人群疏散效率,但這種單一的疏散路徑不能根據場景內擁擠程度調整疏散策略;DSTQN、DQN 算法中機器人則是在場景內學習高效的疏散人群策略來引導人群逃生,相比文獻[7]的算法,這兩種算法大幅提升了人群的疏散效率。同DQN 算法相比,本文提出的DSTQN 算法重新設計了CNN 的結構來提取人群疏散場景圖像復雜的空間特征,并且通過引入LSTM構成深度時空Q 網絡,關聯(lián)人群疏散場景前后幀之間的時間信息,故機器人能夠長期記憶之前學習到的信息,進一步提升了人群疏散的效率。
表2 為室內單出口場景不同算法的人群疏散結果對比,其中DQN 和DSTQN 都是訓練800 輪之后的測試結果。從表2 可知,與無機器人相比,文獻[7,13]、DQN、DSTQN 等算法在每輪實驗中人群的疏散效率分別增加7.63、13.74、11.83、17.18 個百分點。本文DQN 與文獻[13]算法主要區(qū)別在于CNN 的網絡結構。本文重新設計了CNN 的網絡結構,目的是提取更復雜的空間特征。從疏散的效果來看,本文設計的CNN 網絡結構好于文獻[13]算法。若僅使用DQN,機器人在提取人群圖像的特征上只能獲得每一個單獨幀的人群位置、機器人的位置等空間信息,忽略了前后之間的時間信息。加入LSTM 的網絡有利于機器人根據前后幀之間的時間相關性,更快、更好地學習到某一時刻在何位置疏散人群效率高,同時機器人可以根據之前學習到的經驗,如前后時刻人群場景中擁擠度的對比、前后時刻疏散人群效率對比等進一步提高人群的疏散效率。因此,在現有的算法中,本文DSTQN 算法疏散人群的效果最好,效率最高。
表2 室內單出口場景的不同算法人群疏散結果對比結果Table 2 Comparative results of different crowd evacuation algorithm in indoor scene with a single exit
走廊通道如地鐵隧道、商場通道等場景也人群疏散研究的典型場所。本文建立的走廊場景長8 m、寬4 m,墻壁用上下實線代替,行人的進出口用左右兩邊虛線表示,如圖6 所示。為到達各自的期望地點,兩群行人對向而行,在走廊相遇的位置發(fā)生嚴重的擁堵。
圖6 走廊兩群行人交錯場景和機器運動范圍Fig.6 Corridor two groups of pedestrians interlaced scenes and machine motion range
由于文獻[7]的算法沒有涉及該類型場景,因此在實驗過程中只將本文算法與DQN 以及無機器人疏散的結果進行對比。實驗中走廊左右兩邊的初始人數各設置30 人,每輪訓練中設定人群疏散的時間是100 s,在走廊左右兩側分別產生1 個行人,其水平速度是6 m/s,縱向速度為0。本文選擇走廊中部附近人群主要聚集的區(qū)域作為狀態(tài)觀測和機器人運動的范圍,見圖6 中5.1 m×3.3 m 矩形虛線框。
與室內單出口人群疏散場景相比,走廊兩群行人交錯的場景更為復雜。圖7 為走廊場景的訓練過程中疏散人數變化曲線。
圖7 走廊場景訓練過程中疏散人數變化曲線Fig.7 Change curve of the number of people evacuated during the corridor scene training process
從實驗結果可以看出,DSTQN 的疏散效果優(yōu)于DQN。雖然在50 輪~100 輪時DQN 疏散的人數數量領先于其他算法,但在訓練前100 輪訓練時,無論是DSTQN 還是DQN 都處于訓練前期的觀察狀態(tài),此時機器人隨機選擇疏散人群的動作。在訓練中期以及訓練后期,DSTQN 算法疏散效果一直處于最優(yōu)的地位,機器人利用回放池中的樣本學習到越來越好的疏散人群的動作。模型收斂后,機器人依賴學習到的策略選擇最優(yōu)的疏散人群的動作,因此,DSTQN 的人群疏散效率最高。
表3 為訓練330 輪之后的實驗結果,從表3 可以看出,相比無機器人,DQN 在每輪實驗中人群的疏散效率增加了135.71%,而DSTQN 在每輪實驗中人群疏散效率增加了182.14%。DSTQN 算法利用機器人自身的運動來“控制”行人的運動,在不同的場景下也能極大程度地提升人群疏散的效率,由此說明本文提出的DSTQN 方法具有良好的場景移植性,能夠遷移至不同的人群疏散場景,并且與現有的算法相比,DSTQN 的疏散效果最優(yōu)。
表3 走廊兩群行人交錯場景的人群疏散結果統(tǒng)計Table 3 Statistical results of crowd evacuation experiments in the scene with two groups of crowds crossing a corridor
為觀察機器人疏散人群的過程,在訓練收斂時(330 輪之后)進行實驗,保存人群場景圖像,如圖8所示。
圖8 基于DSTQN 的人群疏散過程示意圖Fig.8 Schematic diagram of crowd evacuation process based on DSTQN
從圖8(a)可以看出,在t=2 s 時,人群在走廊中部相遇并形成嚴重的擁堵,此時機器人利用學習到的策略做出疏散人群的動作向上方運動;在t=8 s時,該位置的人群被“沖散”,如圖8(b)所示。在t=25 s 和t=32 s 時可看出,機器人會通過自身運動來影響行人運動,降低人群的擁堵程度,進而疏散行人,如圖8(c)、圖8(d)所示。
本文提出一種基于深度時空Q 網絡的機器人疏散人群算法,在原始DQN 中引入LSTM 網絡以關聯(lián)人機交互場景圖像的時間特征,通過改進CNN 網絡提取更復雜的空間特征,并設計一種機器人疏散人群的學習策略。在單出口室內場景和走廊兩群行人交錯場景上的實驗結果表明,該算法與DQN 算法相比,明顯提高了人群疏散效率。下一步將改善機器人動作設計,采用360°的連續(xù)動作取代上下左右4 個離散動作來解決機器人疏散人群的問題。