彭秋萍,萬莉莉,孫夢圓,田 勇
(南京航空航天大學 民航學院,南京 211106)
隨著城市建設的迅速發(fā)展,機場、地鐵站、商場等公共場所的客流量不斷增多,自動扶梯被廣泛應用,但也存在一定的安全隱患.其中,摔倒事故尤為頻發(fā).傳統(tǒng)的扶梯通過設置急停按鈕,在緊急情況下制停扶梯,但該方法需要人工制停、操作熟練才可避免事故的發(fā)生,具有局限性.因此,研究扶梯自動急停系統(tǒng)具有重要的意義.
關于自動制停扶梯的研究,鄺庚廉等根據(jù)采集的圖像判斷是否有人單獨進入扶梯,根據(jù)判斷緩慢停梯[1];王紫旖研究了一套通過事故當事人或其他人發(fā)出被控制系統(tǒng)識別的求救聲來制停自動扶梯的急停系統(tǒng)[2];Ghadamossoltani HA 提出一種扶梯智能急停系統(tǒng),該系統(tǒng)根據(jù)扶梯上乘客的平衡條件,在發(fā)生事故時立即使扶梯停止運行[3];詹元設計了一種通過觸動裝置上的柔索,在扶梯上任意位置都可制停扶梯并報警的急停裝置[4];周俊等通過計算人體對象角點光流判斷異常行為,以便及時采取扶梯急停等措施[5];Lee HY 等的研究是通過自動感測扶梯的異常速度制停扶梯,以防止乘客跌落[6].這些研究方法具有檢測準確、時效性好等優(yōu)勢,同時也存在針對人群單一、未完全解放人力等局限性.
本文在已有研究成果的基礎上,針對扶梯上乘客摔倒問題,設計了一套扶梯自動急停系統(tǒng).首先,采用OpenPose 關節(jié)點檢測算法和Inception V3 網(wǎng)絡模型搭建的分類器實現(xiàn)對人體摔倒行為的識別并輸出檢測結(jié)果.其次,利用STM32 微控制器及多種傳感器構(gòu)成扶梯自動急停裝置對扶梯實施控制.最后,通過無線通訊方式連接摔倒行為識別端與扶梯控制端,并在模擬的扶梯環(huán)境下進行實驗測試,以驗證該系統(tǒng)的可行性.
隨著神經(jīng)網(wǎng)絡在機器學習領域的發(fā)展,基于各種網(wǎng)絡模型的姿態(tài)估計算法被廣泛應用于機器視覺、行為檢測以及動作跟蹤定標等人工智能領域.一個成熟的多人姿態(tài)估計算法應包含目標檢測、特征分割、特征點提取和特征描邊等部分[7].本文采用OpenPose 關節(jié)點檢測算法識別扶梯上乘客摔倒行為,得到人體骨骼模型圖,利用基于卷積神經(jīng)網(wǎng)絡的圖片識別模型Inception V3 搭建分類器進行圖像分類訓練,得到正常(站立)與異常(摔倒)兩種圖片訓練集,從而實現(xiàn)對扶梯上乘客姿勢的檢測與判斷.
OpenPose 關節(jié)點檢測算法是由卡內(nèi)基梅隆大學認知計算研究室提出的一種用于多人環(huán)境下對目標人體的身體結(jié)構(gòu)、四肢形態(tài)進行實時估計的框架.該框架采用部分親和域(PAFs)實現(xiàn)從關節(jié)點特征到人體骨架重建的算法結(jié)構(gòu)[8].傳統(tǒng)的檢測算法大多采用自上而下的識別原理,其搭建的檢測網(wǎng)絡的識別速度會由于檢測人數(shù)增加而降低,但采用OpenPose 框架的識別速度基本不受檢測目標數(shù)量的影響.
OpenPose 框架采用VGG 預訓練網(wǎng)絡結(jié)構(gòu)作為主體骨架,利用PAFs 來描述像素點在骨架中的走向L(p),通過兩條分支分別回歸L(p)和S(p),并在每個階段進行一次Loss 運算,然后將原始輸入與L(p)和S(p)聯(lián)系,進行下個階段的訓練處理.階段之間的迭代關系如圖1 所示.
圖1 OpenPose 雙分支迭代關系圖
圖1 中,S(p)表示對應的關節(jié)點位置響應,p表示圖像中的像素點.
對于響應S(p)的處理方法:首先,按照每一類的關節(jié)點特征頻率生成相應的真值域,然后,通過多個高斯分布取極大值的處理方法保留每個像素點的響應峰值.最后,根據(jù)目標個體肢體類的PAFs 處理L(p),即檢測出關節(jié)點后通過PAFs 推斷來構(gòu)建骨架.為了準確獲得整個人形姿態(tài)骨架,采用匈牙利算法對相鄰節(jié)點進行最優(yōu)匹配,比如利用小臂的PAFs 計算邊權來完成一堆左手腕節(jié)點和一堆左手肘節(jié)點的最優(yōu)匹配[9].
根據(jù)OpenPose 關節(jié)點檢測算法的開發(fā)環(huán)境安裝其配置,安裝完成后,通過編寫圖片測試程序提取骨骼特征,輸入含有多人體的jpg 格式的圖片,調(diào)用處理程序找出特征點;然后,將特征點連線構(gòu)成人體骨骼模型圖;最后,將處理后的結(jié)果顯示出來.以單人圖片為例,其特征提取流程如圖2 所示.
圖2 圖片特征提取流程圖
對輸入圖片處理后,修改測試程序.主要分為視頻和攝像頭測試,對視頻和攝像頭的測試程序與圖片測試類似.首先,輸入多人體的MP4 格式視頻或打開攝像頭進行實時采集,然后,將讀取到的視頻文件按幀處理并輸出,構(gòu)造出骨骼模型圖并實時顯示.
人體行為樣本集主要圍繞3 人以內(nèi)的正常站立以及異常摔倒等狀態(tài)特征進行擴充,擴充方法包括模擬環(huán)境、網(wǎng)絡抓取以及通過開源數(shù)據(jù)庫的挑選等.
為了采集扶梯環(huán)境相關數(shù)據(jù),提高識別度,需要模擬多種場景的扶梯環(huán)境.以3 人為總樣本,分別以1 人、2 人以及3 人進行批次錄像.首先,通過不同站位和站姿來模擬正常行為狀態(tài),然后,依次在不同位置演示下蹲到摔倒的過程來模擬異常行為狀態(tài),將這個演示過程進行錄像并按幀轉(zhuǎn)換成圖片集,該圖片集分成正常、異常行為兩個集合.最后,單獨拍攝一段視頻,截取相應圖片作為測試集樣本(包含正常、異常狀況).
通過對比分析可知,直接利用未經(jīng)特征提取的圖片進行訓練分類無法滿足普適性要求,且容易受環(huán)境干擾,分類效果差,所以本次設計將以提取后的骨骼模型圖為基準來完成相關樣本集的制作.對樣本集進行特征提取處理的步驟為:
Step 1.修改圖片測試程序,依次輸入所有樣本圖片;
Step 2.轉(zhuǎn)化為人體骨骼模型圖;
Step 3.去除背景后輸出,制作出正常和異常狀態(tài)的樣本集.
制作完成正常與異常狀態(tài)的特征圖片樣本集,進行分類訓練.為了提高效率,滿足識別精度,本文采用基于卷積神經(jīng)網(wǎng)絡的圖片識別模型Inception V3.Inception V3 是Tensorflow 中的預訓練模型之一,可完成對數(shù)千個種類的識別分類[10].利用Tensorflow 對Inception V3 的調(diào)用效率較高,只需將分類樣本集中的圖像依次輸入網(wǎng)絡,不需改變網(wǎng)絡模型的中間層參數(shù),就可生成相應的特征向量,將這些向量保存為文本信息,利用該信息訓練Softmax 分類器[11].模型下載完成后,在計算機中執(zhí)行以下指令:
Step 1.全路徑運行重訓練腳本文件;
Step 2.創(chuàng)建訓練節(jié)點文件;
Step 3.輸入訓練次數(shù);
Step 4.加載Inception V3 模型;
Step 5.輸出訓練模型文件;
Step 6.輸出標簽文件;
Step 7.加載特征圖片訓練集的地址.
由于條件有限,本設計中用于分類模型制作的特征圖片樣本數(shù)量并不充分,為了進一步擴充樣本數(shù)量,采用鏡像、反轉(zhuǎn)以及特征變換等圖像處理方式對樣本集圖像批量處理,最終得到3000 張標準特征圖像.其中,單人站姿1000 張,單人異常姿態(tài)1000 張,多人(3 人以內(nèi))正常和異常狀態(tài)圖像1000 張.
將樣本集圖片按其類別放在不同子文件夾中,通過計算機運行自動完成訓練.訓練結(jié)果包括訓練精度、驗證精度、交叉熵等3 個參數(shù)值.單人樣本通過200 次訓練測試,得出的訓練精度為99.0%,驗證精度為95.0%,交叉熵損失值降到0.078 513,最終測試精度為98.9%.多人樣本通過200 次訓練后得到的測試精度為80.0%,單人樣本部分訓練次序的各參數(shù)值如表1所示.
基于模擬扶梯環(huán)境下的數(shù)據(jù)集分類模型制作完成后,需進行訓練結(jié)果測試.人體摔倒行為檢測總框圖如圖3 所示.首先,編寫測試程序,依次加載模型和標簽文件;然后,從特征提取后的測試圖片集中取出幾張圖片用于分類器的測試,輸入測試圖片,經(jīng)過測試程序分類處理后將輸出正常和異常類的置信度,通過比較置信度的大小,可以判斷該圖像的種類.最后,摔倒行為識別端輸出最終分類結(jié)果.
表1 單人樣本訓練參數(shù)值
圖3 人體摔倒行為檢測總框圖
搭建自動扶梯的簡易模型作為被控對象,選用直流電機作為驅(qū)動裝置,實現(xiàn)扶梯啟??刂啤⒄崔D(zhuǎn)控制、自動調(diào)速等基礎功能的設計.完成扶梯基本功能的設計之后,需采用藍牙串口通訊模塊實現(xiàn)摔倒行為識別端與自動扶梯控制端之間的通訊.
相比于STC89C51,STM32 性能強大、外圍接口豐富、工作速度快.因此,選擇STM32 作為急停裝置中的主控制器[12].
在實現(xiàn)正反轉(zhuǎn)功能時,選用直流電機驅(qū)動模塊.本設計采用兩路直流電機驅(qū)動模塊,該模塊的輸入端可連接單片機IO 端口或其他信號源,兩路輸出可分別連至兩個電機,以控制其中一個電機為例,其邏輯真值表如 表2 所示.
表2 直流電機MOTOR-A 驅(qū)動邏輯真值表
通過改變電機驅(qū)動模塊輸入端口IN1、IN2 的邏輯值,實現(xiàn)扶梯的正反轉(zhuǎn),并在實物中設計了正反轉(zhuǎn)切換按鈕,使扶梯具有向上和向下兩種運行狀態(tài).
為實現(xiàn)扶梯處于自動化操作模式的控制要求,根據(jù)現(xiàn)有扶梯具備的基本功能,通過改變PWM 脈沖的占空比調(diào)節(jié)扶梯的運行速度,以實現(xiàn)扶梯自動調(diào)速的功能.
硬件模塊選用紅外傳感器和壓力傳感器對扶梯上有無乘客進行檢測,從而根據(jù)檢測情況自動調(diào)整扶梯的運行速度.紅外傳感器向外界發(fā)射紅外線并根據(jù)接收反射回來的紅外線的情況,檢測扶梯入口處是否有乘客通過[13];壓力傳感器安裝于扶梯每級臺階下面,檢測乘客是否踏上扶梯.當檢測到入口處有乘客通過并采集到具體的壓力數(shù)據(jù)時,扶梯高速運行,否則,低速運行,這樣可節(jié)省一定的電能[14].
本次實物設計使用一個壓力傳感器,但在實際應用中,壓力傳感器應遍布扶梯每級臺階,以保證檢測到每個梯級上乘客的壓力值.在扶梯高速運行程序設計中,每個壓力傳感器之間為“或”的關系,任意一個傳感器檢測到有壓力數(shù)值,扶梯都將提高速度運行;在扶梯低速運行程序設計中,每個壓力傳感器之間為“與”的關系,只有所有梯級上的壓力都消失,扶梯才能低速運行.
完成人體摔倒行為的識別和扶梯自動急停裝置設計后,需建立兩者之間的連接以構(gòu)成一個完整的系統(tǒng).人體摔倒行為識別端即上位機檢測系統(tǒng),扶梯自動急停裝置即下位機控制系統(tǒng).本設計采用無線通訊方式傳輸信息,選用藍牙串口通訊模塊作為硬件,該模塊的通訊距離約為10 米,可直接當作串口使用,使用者可根據(jù)實際需要更改主、從模式.
在通訊設計中,將藍牙串口通訊模塊設置為從模式,并作為信息接收者與上位機檢測系統(tǒng)配對.配對成功后,上位機檢測系統(tǒng)實時采集扶梯中乘客的圖像信息,并根據(jù)識別結(jié)果發(fā)送0/1 數(shù)字信號至下位機控制系統(tǒng).當控制端接收到高電平信號時表明有乘客摔倒,則立即控制扶梯停止運行;否則,扶梯保持其原有狀態(tài)運行.
實現(xiàn)人體摔倒行為識別端和扶梯控制端的通訊后,基于機器視覺的扶梯自動急停系統(tǒng)搭建完成,系統(tǒng)的組織結(jié)構(gòu)如圖4 所示.
圖4 扶梯急停系統(tǒng)組織結(jié)構(gòu)圖
由于Python 版本的環(huán)境支持Tensorflow 平臺,且Python 語言簡單、復現(xiàn)較容易,因此本次實驗以基于Python語言Tensorflow環(huán)境的開源版本作為OpenPose 框架的實現(xiàn)平臺,以驗證系統(tǒng)的有效性.由于實際的扶梯環(huán)境存在人員較多、突發(fā)情況復雜,不便進行實際操作.因此,本實驗利用樓梯模擬扶梯環(huán)境,選取光照條件較好且有扶手的樓梯,以保證圖像的采集.由于實際操作中設備條件限制,為確保攝像時可以捕捉到整個樓梯的圖像,實驗選取具有較少臺階數(shù)(11 級臺階)的樓梯作為實驗環(huán)境,實驗背景信息見表3.
表3 實驗背景信息表
在人體摔倒行為識別端與扶梯控制端連接成功后進行測試.打開攝像頭,實時采集樓梯間的圖像信息.此次實驗分為單人檢測和多人檢測兩種情況,共五組實驗.其中,以3 人模擬多人檢測的情況.
(1)單人檢測情況
1)第一組實驗:當實驗者踏上樓梯且正常站立時,如圖5(a)所示,紅外傳感器檢測到有人通過;同時壓力傳感器感應到壓力值,扶梯自動變速至高速運行,如圖5(b)所示.
圖5 單人站立測試圖
2)第二組實驗:當實驗者摔倒時,如圖6(a)所示,識別端發(fā)送異常行為信號至控制端,控制端接收到后立即控制扶梯停止運行,如圖6(b)所示.
圖6 單人摔倒測試圖
(2)多人檢測情況
1)第三組實驗:當多人踏上樓梯且都正常站立時,如圖7(a)所示,紅外傳感器檢測到有人通過,乘客站立在不同階梯下的壓力傳感器感應到壓力值,扶梯將自動變?yōu)楦咚龠\行,如圖7(b)所示.
圖7 多人站立測試圖
2)第四、五組實驗:當樓梯上的3 人中有一人摔倒或兩人摔倒時,如圖8(a)、圖8(b)所示,識別端都可以準確檢測出人的摔倒行為,并發(fā)送異常行為信號至控制端,控制端接收后立即控制扶梯急停,如圖8(c)所示.
圖8 多人摔倒測試圖
本次實驗測試中,5 組實驗都達到了預期的識別與控制效果,系統(tǒng)響應時間約為1.5 s 且能發(fā)送準確信號至扶梯控制端.扶梯自動急停裝置在接收到識別端信號后立即實施對扶梯的控制,實時性良好,驗證了系統(tǒng)的有效性.根據(jù)測試結(jié)果可知,系統(tǒng)在單人情況下的實際檢測精度可高達95.0%,在多人情況下檢測精度可達80.0%,實際檢測精度與訓練測試精度存在一定誤差.與單人環(huán)境相比,多人環(huán)境下干擾因素多,不同類狀態(tài)下的數(shù)據(jù)信息量龐大,所以進行分類訓練時,在條件有限的情況下無法采集到較全面的類狀態(tài)信息,導致訓練出的分類集完整度不夠,從而對測試準確率有一定影響.未來可增加更多樣本集或優(yōu)化網(wǎng)絡結(jié)構(gòu)來進一步提高分類模型的精度.
本文基于OpenPose 關節(jié)點檢測算法和Inception V3 圖片識別模型建立了人體摔倒行為檢測系統(tǒng),完成了扶梯簡易模型的搭建以及扶梯自動急停裝置的設計.實現(xiàn)了上位機檢測系統(tǒng)與下位機控制系統(tǒng)的通訊,通過實驗測試證明了該系統(tǒng)的行為識別速度和控制實時性良好,達到了當檢測到有乘客摔倒后扶梯可自動急停的目的.未來可考慮采用更加高效的方法在真實扶梯環(huán)境中進行多人識別檢測與扶梯急停系統(tǒng)的應用,進一步提高系統(tǒng)的高效性與實用性.