賈科進 李佳玥 杜云 李飛飛 張效瑋



關鍵詞:人工智能理論;路徑規劃;人工魚群算法;建筑火災;柵格法;人臉識別
中圖分類號:TP391.9 文獻標識碼:A DOI: 10.7535/hbgykj.2023yx01005
近年來,大型建筑物的設計愈加復雜,建筑火災等安全隱患一直存在。一旦出現火情,建筑自身結構和材料的復雜性,煙氣流動和風力作用,使得火勢蔓延迅速、火災撲救困難、人員撤離緩慢,而傳統的靜態疏散系統因為無法根據著火點信息和人員擁擠程度對路徑進行及時調整,容易造成堵塞,無法引導人群快速逃生,延誤最佳逃生時間。因此,動態疏散系統的研究對保障人員安全、快速有效疏散具有重要意義。
近些年來,學者們對如何利用人群疏散系統更合理、更智能地進行路徑規劃[1]開展了大量的研究。PELECHANO等[2]基于擁擠仿真模型,把應急疏散過程中人員受安全教育程度和個體相互協助對疏散效率的影響考慮進去,得到最優路徑。ALIZADEH[3]提出一種動態的元胞自動機模型[4]來模擬在有障礙的空間下進行的疏散,分別考慮疏散人員的心理、出口位置、寬度和障礙物的位置等基本參數,認為疏散人員的初始分布在獲得的結果中起重要作用。學者們還將遺傳算法、Dijkstra算法[5]和蟻群算法[6]等智能優化算法引入建筑火災疏散的路徑規劃研究中,不斷對疏散模型進行改進優化。如張慧彬等[7]基于遺傳算法的優化方法,采用自然數編碼進行路徑規劃,確定輪盤賭算子、單點交叉算子和互換變異算子,然后通過數值實驗模擬疏散,分析計算出最優路徑。曹祥紅等[8]提出了基于Dijkstra-ACO混合算法的應急疏散路徑動態規劃,先在算法迭代進程中利用經典Dijkstra算法依次通過路徑相關節點,來生成初始次優路徑,然后在初始路徑的基礎上,應用蟻群算法求解出全局最優路徑的方案,實現動態疏散。
但是這些疏散系統依舊存在著不足,無法兼顧人群行為、火災信息和擁堵情況來實現動態疏散。而人工魚群算法的魚類群體協作過程與疏散中的人群行為表現類似,能夠形象化地描述人員疏散的不同行為[9]。因此,本文結合圖像識別,將人工魚群算法應用于建筑火災疏散的路徑優化問題中。
完整的火災應急疏散系統包括火災智能檢測裝置(攝像頭、傳感器等)、服務器、中央電源控制器、智能控制器分機、疏散示意圖和動態消防指示燈、應急照明燈等幾部分[10-11]。本文研究的建筑火災動態疏散路徑規劃問題,是服務器基于著火點和人群擁堵程度進行動態疏散人群的軟硬件結合的應用。本文只涉及算法部分,通過構建柵格地圖,用魚群覓食來模擬建筑火災下的人員疏散過程,再通過引入魚群的可行解代替最優解,避免魚群陷入局部最優和全局最優相互干擾的情況,然后結合攝像頭判斷當前路徑是否擁擠,從而實現火災疏散路徑的動態優化,然后通過控制疏散指示燈,引導人群實現動態疏散。能夠同時顧及個體本能反應和群體影響,解決了靜態疏散系統規劃路徑固定、不能隨火災發生情況和人群擁擠程度及時更新的問題。
1 相關研究基礎
1.1 環境建模
當火災發生時,算法的任務是通過已知內部建筑結構的前提下,進行全局路徑規劃,為了測試算法的可行性,以一單層建筑為例,對建模環境有如下描述。
1)已知該樓層所有建筑信息和火災情況。
2)已知建筑內人員的數量和所有安全通道出口的位置[12],假設逃生人員聚集在同一區域中,并且初始位置已知。
3)逃生過程中需要考慮逃生路線長度、環境溫度、有毒氣體濃度、以及逃生路線的擁擠度。
為了方便分析和研究,將所有環境信息進行柵格化處理,建立相應的數字矩陣,而后根據矩陣來生成對應柵格地圖[13]。在矩陣中,分別用0和1來表示柵格環境下的障礙物區域和可行區域。如圖1所示,柵格地圖可通過矩陣行列的坐標轉換來實現一一對應。
式中:Nx和Ny分別表示矩陣a 的行數和列數;mod函數為求余函數,其格式為mod(number,divisor),number為被除數,divisor為除數,求解結果為兩數值作除法運算后的余數,且結果符號與除數符號相同;fix函數是一種取整函數、截斷函數,其格式為fix(number),取整規則是向最靠近零取整,即刪除number參數的小數部分并返回以整數表示的結果。
在柵格環境下建立規模為20×20的仿真模型,同時根據已知的相關建筑信息和火災情況進行障礙物的設置,模擬真實環境。在20×20的柵格環境中,柵格序號是由從下至上、從左至右的數字進行填充,即填充1~400。
模擬建筑正常和火災時環境的柵格地圖如圖2所示,其中黑色區域表示障礙物,不可通行;白色區域表示可行區域,而疏散路徑的規劃只能在可行區域內進行;黃色區域表示著火點的位置(11,8),當柵格地圖上出現黃色區域時,表示當前有火災發生,需要繞行。
通過引入可行解解決了局部最優解和全局最優解相互干擾的問題,可行解是記錄個體魚的位置信息,傳統人工魚群算法是在魚群中所有個體魚本次迭代中的最優位置,即局部最優解,進而當局部最優解相連接時,可能會出現全局解越障的行為。
1.3 圖像檢測人數信息
擁堵,是指一種人多擁擠且移動速度緩慢的現象。通常情況下,同一范圍內的人數越多,人與人之間的距離會越小,人員的移動速度就會越慢。比如,在一個攝像頭的監控范圍內,該空間最多容納15個人才能保持一定的移動速度,那么當識別到人數超過15人時,則認為該監控范圍內的路徑出現擁堵。
路徑是否出現擁堵情況是影響人員疏散的重要因素之一。由于最后通向安全出口位置的路徑一般比較簡單,大多是直通通道,且安全通道滿足消防規范要求的凈寬度即可,通常不會設置太寬,因此人數過多時容易造成擁堵。而交叉口和轉角等位置也容易聚集人員,具有很大的擁堵可能性。應急疏散指示燈可根據圖4進行設置,來分散一些人員壓力。3種疏散指示如圖5所示。
此外,還需要通過安置在各個安全出口、交叉口等位置的監控攝像頭來采集人數信息,并判斷擁堵情況、選擇合適疏散路徑。
根據建筑室內信息,在出入口位置和十字路口位置安裝可旋轉式監控攝像頭,可以選取TP-LINK的TL-IPC44K-4;其余過道、小房間門口等位置安裝固定式監控攝像頭,可以選取海康威視3326FWDA3/C-IS。
監控點位置布局如圖6 所示,紫色圓點表示360°可旋轉監控攝像頭位置,大概需要12個,紅色圓點表示固定式監控攝像頭位置,大概需要24個。監控攝像頭的具體安裝高度和角度需根據實際情況進行調整。
選擇疏散路徑的流程圖如圖7所示,首先用攝像頭采集圖像信息,然后通過OpenCV 進行人臉識別來檢測人數信息,再根據實際安全通道出口的容量設置一個合適的臨界值。當識別到的人數大于等于臨界值時視為當前安全通道呈擁堵狀態,需要調整次優疏散路徑為臨時的最優路徑,從而減輕擁堵安全通道的逃生負擔,保障疏散快速進行;當識別到的人數小于臨界值時視為安全通道呈暢通狀態,可保持當前的最優疏散路徑繼續正常通行。圖像檢測人數信息結果如圖8所示。
2 疏散模型的構建及算法實現
2.1 人工魚群算法疏散模型構建基礎
為了驗證基于人工魚群算法進行建筑火災人員疏散方案的有效性,以一大型商場為仿真實驗的工程背景,目前只考慮該建筑一層的人員疏散路徑規劃。構建20×20的柵格地圖,標記當前所在位置為起始位置START,4個安全通道出口上、下、左、右各一個,記為目標點并在圖中用GOAL標出。
人群朝各個出口疏散過程可類似看作魚群的覓食過程,疏散個體可看作人工魚個體,將疏散人群的數目、位置、步長和感知范圍等參數數據根據魚群算法一一設定。
2.2 算法的實現過程
算法的具體實現步驟如下。
Step1:初始化相關參數。參數包括數量N 、步長step、感知范圍visual、擁擠度因子δ 和最大迭代次數等。
Step2:初始化目標點。
Step3:條件判斷。判斷是否執行覓食行為,是則更新公告板信息,否則執行下一步。
Step4:條件判斷。判斷是否執行聚群或追尾行為,是則更新公告板信息,否則執行隨機行為后更新公告板信息。
Step5:條件判斷。判斷是否找到目標位置,是則計算最短路徑并跳到Step6。
Step6:條件判斷。判斷是否達到迭代次數,是則繼續執行下一步,否則返回到Step3。
Step7:條件判斷。判斷是否計劃了所有目標點,是則繼續下一步,否則返回Step2。
Step8:找到最短且不擁堵的路徑,結束。
算法流程圖如圖9所示。
3 仿真模擬及結果分析
在上述建立的20×20的柵格環境中驗證基于人工魚群算法的疏散效果。
在模擬建筑環境和模擬建筑火災環境兩種柵格地圖下,設置起始點位置START,即人員當前位置為(11,10),用紅色實心點表示。目標點位置GOAL有4個,從最下面的安全通道出口開始,按順時針順序分別設置在(9,1)、(1,10)、(10,20)、(20,10),其目標點位置對應是161,10,200,390,可分別記為出口1、出口2、出口3以及出口4,用綠色實心點表示。人工魚群算法規劃路徑的結果用紅色圓圈實線表示。
3.1 正常情況下到各出口的疏散路徑規劃
從起始點位置分別到4個目標點位置的最短距離如表1所示。
在當前位置下,如圖10的a)—d)所示,分別是到4個安全通道出口的最短路徑規劃結果。
3.2 火災發生時到各出口的疏散路徑規劃
在火災發生的情況下,將著火點位置添加到柵格地圖中,柵格圖的障礙區域和可通行區域發生改變,從起始點位置分別到4個目標點位置的最短路徑長度會根據火災點位置的變化而發生變化。當前最短距離如表2所示。
如圖11所示,著火點的位置坐標為(11,8),到4個安全通道出口的最短路徑規劃結果如圖11的a)—d)所示。
人工魚群算法在不同情況下的路徑規劃圖如圖12所示。疏散示意圖可根據圖12 b)中的最優路徑顯示,調節動態消防指示燈,按規劃出的路線指引逃生。若攝像頭通過采集圖像識別到通往最優路徑的安全出口逃生的人數過多時,則判斷該條路徑為擁堵,擁堵的安全通道出口用品紅色標記。為避免擁堵,保證所規劃的路徑可以快速地疏散人群,可先調節應急指示燈指向次優路徑的安全出口逃生,如圖12 c)所示,通過分散人群來縮短疏散時間。若經過一定的緩沖時間,安全通道出口的負擔減輕后,可繼續按圖12 b)調節動態消防指示燈,優先指向最佳可行路徑。
3.3 多起點到各出口的疏散路徑規劃
在模擬火災環境的柵格地圖中,添加一個新的起始位置,坐標為(15,14),并用藍色實心點表示,旁邊標有藍色的START 字樣。其他信息不變,還是按照之前的起始位置、火災點位置和4個出口位置來設置。如圖13所示,是人工魚群算法在多起點情況下的路徑規劃圖。其中,紅色圓圈并用實線連接的路徑是起點(11,10)的規劃圖,藍色圓圈并用實線連接的路徑是起點(15,14)的規劃圖。
根據規劃結果可以發現,在2個起點位置規劃出的路徑會在出口1方向上進行重疊,這極易造成出口1出現擁堵情況,擁堵后的路徑規劃如圖14所示。
根據路徑規劃圖及時調整疏散指示燈的方向,待擁堵狀態緩解后,重新規劃的路徑如圖15所示。
3.4 不同算法下疏散效果對比分析
遺傳算法是通過模仿自然界的選擇與遺傳的機理來尋找最優解的進化算法,是具有隨機性的全局優化算法。遺傳算法有3個基本算子:選擇、交叉和變異。
蟻群算法是一種用來尋找優化路徑的概率型算法。其靈感來源于螞蟻覓食過程中發現路徑的行為:不同的環境下,螞蟻尋找到最短到達食物源的路徑后,通過蟻群內螞蟻間的信息傳遞,在經過一段時間后,使得整個蟻群都沿著最短路徑到達食物源。
分別用遺傳算法和蟻群算法在著火時的柵格環境下進行路徑規劃,遺傳算法的路徑規劃圖如圖16所示,規劃結果用綠色星星實線表示;蟻群算法的路徑規劃圖如圖17所示,規劃結果用藍色星星實線表示。然后與上文中人工魚群算法規劃出來的結果圖12 b)相比較,對比3種算法的疏散效果。
經多次仿真可發現,蟻群算法容易陷入局部最優,出現如圖18所示的死鎖狀態。為了便于對比分析,分別記錄3種算法的20次有效數據,包括同一起點到各個出口的路徑長度、總路徑長度和運行時間等。
經計算,20次仿真的平均數值結果如表3所示。根據表3中的數據可知,人工魚群算法的平均運行時間比遺傳算法慢了1.06 s,但總路徑長度減少了約2.86 m,與蟻群算法相比,平均運行時間提快了2.76 s,規劃出的平均總路徑長度約減少了12.22 m,整體疏散效率有所提高。人工魚群算法規劃的路徑存在少量冗余路段,各出口承擔的逃生壓力比較均衡,規劃出的路徑同最短路徑差異不大,規劃結果相對穩定;遺傳算法規劃的路徑中冗余路段較多,各出口規劃效果相對穩定但復雜地圖上的隨機性較大;蟻群算法規劃的路徑,出口1和出口3能直接規劃最短路徑,但遇到這種地圖上稍復雜些時,出口2和出口4便會規劃出大量冗余路段,各出口路徑相差過大,規劃結果不穩定,使得出口1和出口3的逃生負擔加重,不利于快速疏散。由此可知,人工魚群算法的穩定性相對更好一些。
再根據記錄的這3種算法運行后得到的時間和路徑長度等仿真數據來繪制對比圖。其中,人工魚群算法的數據結果用紅色圓圈標出,遺傳算法的數據結果用綠色星星標出,蟻群算法的數據結果用藍色星星標出,并分別用與數據點相同顏色的直線進行連接,得到折線對比圖。如圖19所示,是3種算法運行時間對比圖,其中橫坐標的數值表示第幾次仿真測試,取值范圍為1~20的整數,縱坐標表示每次運行后所對應的時間。如圖20所示,是3種算法規劃的路徑長度對比圖,其中橫坐標的數值依舊表示第幾次仿真測試,取值范圍還是1~20的整數,而縱坐標則表示每次運行后所對應的規劃出的路徑長度。
根據上述時間和路徑長度的對比圖可知,遺傳算法整體用時比人工魚群算法少1.06 s,但規劃的路徑效果相對較差一些,路徑長度的整體變化浮動都高于人工魚群算法。而人工魚群算法整體看來比蟻群算法用時要少,平均運行時間快了2.76 s。在相近的時間內,人工魚群算法規劃的路徑長度明顯更短,主要集中在46~50,且變化幅度相對平緩;蟻群算法規劃的路徑長度相對更長,且變化幅度較大,主要集中在60左右。由此可見,人工魚群算法與遺傳算法、蟻群算法相比,運行時間相近,規劃路徑更短,穩定性更好,疏散效率更高。
4 結語
本文將人工魚群算法應用于建筑火災人員疏散的方案中,利用人工魚群算法來模擬人群疏散過程,尋找最優路徑,同時可結合人臉識別來及時更新各個路段上的人數信息,避免大量人員擁堵,造成個別安全通道逃生負擔加重,在時間和空間的雙重約束下實現動態疏散人群。
仿真實驗表明,該算法可行,通過將魚群的最優解替換為可行解,使魚群避免陷入局部最優或死鎖狀態。與遺傳算法和蟻群算法相比,該算法計算結果質量更好且更加穩定,在相同運行時間內規劃出的路徑長度更短,使得人群可以通過更少時間、更短路徑、更高效率進行動態疏散。本文僅通過仿真實驗對著火擁堵等情況下的人員疏散路徑進行了規劃,未來還需在實際環境中進一步驗證和改進。