呂佳歡 陳子昂 冷佳昱 銀培宇 于杭
摘 要:確認(rèn)呼喚作為機(jī)車乘務(wù)員行車過程的重要制度,通過物件指示、口誦確認(rèn)、心手并用,將人的安全意識(shí)水平提升到清醒狀態(tài),以減少人為失誤導(dǎo)致的意外,在我國鐵路安全方面起到了重要作用。本項(xiàng)目組設(shè)計(jì)的基于機(jī)器學(xué)習(xí)的機(jī)車乘務(wù)員確認(rèn)呼喚判別系統(tǒng),分為視頻取幀、目標(biāo)檢測(cè)、機(jī)器識(shí)別、語音識(shí)別、判斷提醒五大模塊,達(dá)到對(duì)司機(jī)的確認(rèn)呼喚行為進(jìn)行監(jiān)測(cè),對(duì)錯(cuò)誤行為進(jìn)行及時(shí)提醒的效果,創(chuàng)新性地解決了目前人工察看機(jī)車乘務(wù)員駕駛行為的效率低、工作量大、時(shí)效性差等問題,有效提高鐵路安全技術(shù)的智能化、數(shù)字化與信息化水平。
關(guān)鍵詞:確認(rèn)呼喚;機(jī)器學(xué)習(xí);目標(biāo)檢測(cè)
中圖分類號(hào):TP181 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1671-2064(2020)06-0041-02
1研究背景
火車作為一種特殊的交通工具,它為人們出行帶來了巨大的方便。機(jī)車乘務(wù)員在駕駛過程中需進(jìn)行指差確認(rèn)來保持良好的注意力以確保駕駛的安全。目前和諧機(jī)車上安裝的車載安全防護(hù)系統(tǒng)(6A系統(tǒng))能對(duì)駕駛員在駕駛過程中的確認(rèn)呼喚作業(yè)進(jìn)行視頻監(jiān)控,但視頻數(shù)據(jù)的地面分析采用人工瀏覽察看方式,此方式不僅需要配備大量的視頻數(shù)據(jù)分析人員和設(shè)備,分析效率低、工作量巨大、容易遺漏,并且無法對(duì)駕駛員在機(jī)車運(yùn)行過程中不當(dāng)行為進(jìn)行實(shí)時(shí)提醒。
目前國內(nèi)外已有不少學(xué)者進(jìn)行了相關(guān)研究:專利公告號(hào)為CN101639894B[1]的中國發(fā)明專利公開了在線監(jiān)測(cè)列車駕駛員行為和疲勞狀態(tài)的方法及其檢測(cè)系統(tǒng),其僅是通過檢測(cè)視野范圍內(nèi)是否有人臉來判斷駕駛員是否脫崗,但無法對(duì)列車駕駛員所做出的動(dòng)作或手勢(shì)進(jìn)行進(jìn)一步識(shí)別。論文《基于表情及姿態(tài)的機(jī)車司機(jī)疲勞駕駛檢測(cè)技術(shù)》(北京交通大學(xué))[2]通過混合高斯模型提取運(yùn)動(dòng)目標(biāo),然后利用幀間差分法和膚色模型提取手部,利用形狀上下文和HOG+Adaboost的方式對(duì)手勢(shì)進(jìn)行判斷,該技術(shù)僅檢測(cè)手部手勢(shì),并不對(duì)整個(gè)上臂的動(dòng)作進(jìn)行識(shí)別,因此容易造成誤報(bào),此外采用HOG+Adaboost的方式的魯棒性不高。
我們基于機(jī)器學(xué)習(xí)技術(shù)設(shè)計(jì)了機(jī)車乘務(wù)員確認(rèn)呼喚判別系統(tǒng),此系統(tǒng)能大幅降低回看錄像的人力、時(shí)間成本,實(shí)現(xiàn)不規(guī)范行為的實(shí)時(shí)提醒,保障機(jī)車運(yùn)行安全,有效節(jié)省鐵路局運(yùn)營成本。
2技術(shù)原理
2.1 技術(shù)路線
本系統(tǒng)的功能是通過GPS定位,當(dāng)機(jī)車運(yùn)行到某個(gè)路段時(shí),事先向系統(tǒng)輸入標(biāo)準(zhǔn)的動(dòng)作序列和標(biāo)準(zhǔn)用語,啟動(dòng)車內(nèi)攝像頭拍攝視頻,即可實(shí)時(shí)地監(jiān)測(cè)乘務(wù)員是否按要求執(zhí)行確認(rèn)呼喚作業(yè)。若動(dòng)作缺失或用語不正確,則實(shí)時(shí)向駕駛室發(fā)出語音提醒,減少機(jī)車乘務(wù)員的失誤,進(jìn)而提升列車的運(yùn)行安全性。最終將產(chǎn)品的全部功能集成在APP中。
本系統(tǒng)的核心部分為監(jiān)測(cè)乘務(wù)員是否按要求執(zhí)行確認(rèn)呼喚作業(yè),其工作流程如下:由列車駕駛室的攝像頭采集一段視頻,對(duì)視頻進(jìn)行取幀處理獲取圖片,用ImageAI主體識(shí)別將圖片中的人裁剪生成主體圖像,之后并行實(shí)現(xiàn)另外兩個(gè)功能。其一是語音提取及語音識(shí)別,由判別器鑒別口令是否正確;其二是根據(jù)主體圖像,利用訓(xùn)練好的CNN網(wǎng)絡(luò)將姿勢(shì)分成幾個(gè)大類,再將姿勢(shì)較像的幾種動(dòng)作做手部截取及手勢(shì)識(shí)別,進(jìn)一步細(xì)化分類,提高分類準(zhǔn)確度。兩個(gè)功能完成后,最終由判別器輸出判別結(jié)果,輸出語音提醒,告知機(jī)車乘務(wù)員,如圖1所示。
2.2組成模塊
本系統(tǒng)主要組成結(jié)構(gòu)為:數(shù)據(jù)集圖片預(yù)處理模塊、CNN卷積分類模型準(zhǔn)備模塊、視頻處理取幀模塊、ImageAI主體識(shí)別模塊、CNN網(wǎng)絡(luò)分類模塊、手部截取及手勢(shì)識(shí)別模塊、動(dòng)作分類輸出模塊、語音識(shí)別及判別模塊、產(chǎn)品界面模塊。
2.2.1數(shù)據(jù)集圖片收集與預(yù)處理模塊
(1)收集。在開始項(xiàng)目之前,我們對(duì)機(jī)車乘務(wù)員的確認(rèn)呼喚機(jī)制做了充分的研究,弄清了每個(gè)動(dòng)作和用語的含義,并從中挑選了一部分動(dòng)作與用語用于系統(tǒng)實(shí)現(xiàn)。通過上網(wǎng)搜索、自行拍攝等方法,對(duì)直行通過、正向徑路停車、側(cè)向徑路運(yùn)行等常規(guī)動(dòng)作進(jìn)行規(guī)范的數(shù)據(jù)采集,要求每個(gè)動(dòng)作采集到的圖像數(shù)據(jù)達(dá)到500張。
(2)預(yù)處理。利用打標(biāo)簽工具LabelImg為圖片添加label,將圖片和xml保存在不同文件夾。新建一個(gè)帶有2個(gè)子文件夾的文件夾,分別存放測(cè)試圖片與訓(xùn)練圖片。這兩個(gè)文件夾下再分別建立N個(gè)子文件夾,按照xml中的標(biāo)簽數(shù)據(jù)將目標(biāo)剪裁后按類別保存在不同子文件夾,每個(gè)子文件夾代表一個(gè)分類,一共有N類。
在圖片輸入訓(xùn)練模型之前將圖片尺寸統(tǒng)一為256×256,之后將圖片轉(zhuǎn)換為計(jì)算機(jī)可以識(shí)別的tensor數(shù)據(jù)類型并歸一化。測(cè)試集圖片和訓(xùn)練集圖片處理方法相似。
2.2.2 CNN卷積神經(jīng)網(wǎng)絡(luò)模型的建立、訓(xùn)練與優(yōu)化模塊
本系統(tǒng)的核心就是建立機(jī)器學(xué)習(xí)模型,訓(xùn)練神經(jīng)網(wǎng)絡(luò)使其具備對(duì)圖片分類的能力。由于涉及圖片處理及分類,所以我們選擇神經(jīng)網(wǎng)絡(luò)模型中的卷積神經(jīng)網(wǎng)絡(luò)(CNN)對(duì)圖片數(shù)據(jù)進(jìn)行學(xué)習(xí),并根據(jù)實(shí)際情況調(diào)整模型參數(shù),優(yōu)化算法性能。
神經(jīng)網(wǎng)絡(luò)(neural networks)的基本組成包括輸入層、隱藏層、輸出層。而卷積神經(jīng)網(wǎng)絡(luò)的特點(diǎn)在于隱藏層分為卷積層和池化層(pooling layer,又叫下采樣層)。
卷積層和池化層的工作就是提取特征,并減少原始圖像帶來的參數(shù)。然而,為了生成最終的輸出,我們需要應(yīng)用全連接層來生成一個(gè)等于我們需要的類的數(shù)量的分類器。[3]
在整個(gè)卷積網(wǎng)絡(luò)中,有卷積(CONV)、激活(RELU)、池化(POOL)等步驟,每一層神經(jīng)網(wǎng)絡(luò)都必須包含CONV、RELU和POOL三個(gè)部分。最后是一個(gè)全連接層(FC)輸出類別,這個(gè)和目標(biāo)值的類別個(gè)數(shù)有關(guān)[4]。
在我們的模型中,我們使用的輸入圖片尺寸為256×256,3通道RGB圖像,采用16個(gè)輸出高度,卷積的觀察窗口大小為5×5,步長為1,批訓(xùn)練的數(shù)據(jù)個(gè)數(shù)32,學(xué)習(xí)率0.001的設(shè)置下學(xué)習(xí),最終得到的模型準(zhǔn)確度達(dá)到98%。
2.2.3視頻處理取幀模塊
此模塊模擬列車攝像頭采集視頻數(shù)據(jù),由于我們的模型基于圖像分類且需要進(jìn)行語音識(shí)別,所以需要對(duì)視頻進(jìn)行處理,分為幀序列和聲音部分。為了不產(chǎn)生較多圖片占用內(nèi)存且不會(huì)錯(cuò)過每一個(gè)動(dòng)作,我們此處設(shè)置為每2幀取一張圖片,在接下來的模塊中再對(duì)幀序列進(jìn)行主體識(shí)別。
2.2.4 ImageAI主體識(shí)別模塊
由于訓(xùn)練模型時(shí)的輸入為圖片中只有人的部分,所以對(duì)駕駛員姿勢(shì)判別之前需要先實(shí)現(xiàn)主體識(shí)別,將圖片中只有人的部分提取出來。在該模塊,我們采用python中的ImageAI庫對(duì)視頻中圖片進(jìn)行主體識(shí)別。
2.2.5 CNN網(wǎng)絡(luò)分類模塊
主體識(shí)別之后,需要對(duì)駕駛員的姿勢(shì)進(jìn)行判別。此處我們利用之前訓(xùn)練好的CNN網(wǎng)絡(luò),輸入主體識(shí)別之后的圖片,對(duì)動(dòng)作進(jìn)行大體分類,即除手部姿勢(shì)外都一樣的姿勢(shì)當(dāng)做一類。
2.2.6手部截取及手勢(shì)識(shí)別模塊
對(duì)上一模塊中獲得的大類進(jìn)行進(jìn)一步細(xì)化分類,對(duì)手部進(jìn)行截取,運(yùn)用手勢(shì)識(shí)別模塊再次識(shí)別,以實(shí)現(xiàn)更高性能更加精準(zhǔn)的動(dòng)作分類。
2.2.7動(dòng)作分類輸出模塊
每一張圖片都會(huì)產(chǎn)生一個(gè)代表類別的數(shù)字,則一個(gè)視頻會(huì)產(chǎn)生一個(gè)序列。由于圖片來自于視頻取幀,所以駕駛員的同一個(gè)姿勢(shì)會(huì)產(chǎn)生多個(gè)圖像,從而一個(gè)姿勢(shì)在輸出序列中不只有一個(gè)數(shù)字。此處我們?cè)O(shè)置為只有三個(gè)以上連續(xù)的數(shù)字有效算為一個(gè)動(dòng)作,對(duì)序列進(jìn)行處理后輸出與視頻動(dòng)作匹配的短序列。
2.2.8語音識(shí)別及判別模塊
利用ffmpeg獲取視頻中的聲音為MP3格式,之后格式轉(zhuǎn)換為pcm形式,再對(duì)聲音部分進(jìn)行語音識(shí)別,與標(biāo)準(zhǔn)用語進(jìn)行比較。圖1為語音識(shí)別之后產(chǎn)生的文件。
2.2.9產(chǎn)品界面模塊
我們整合了視頻取幀、ImageAI主體識(shí)別、CNN判別、手勢(shì)提取及識(shí)別、語音識(shí)別等各個(gè)模塊,最終實(shí)現(xiàn)了從MP4視頻中判別并輸出動(dòng)作及口令的正誤情況。
為了實(shí)現(xiàn)友好的人機(jī)交互,提高系統(tǒng)的適用性,我們利用tkinter模塊實(shí)現(xiàn)可視化界面。
通過路徑選擇來選擇視頻檢測(cè),進(jìn)行主體識(shí)別時(shí)同時(shí)播放視頻,并將主體識(shí)別結(jié)果顯示在視頻上。視頻播放完畢之后進(jìn)行語音識(shí)別和動(dòng)作識(shí)別,并將結(jié)果顯示在界面上,其中藍(lán)色進(jìn)度條顯示程序進(jìn)度。
3創(chuàng)新特色
基于機(jī)器學(xué)習(xí)的機(jī)車乘務(wù)員確認(rèn)呼喚判別技術(shù)具有效率高,實(shí)時(shí)性強(qiáng)等優(yōu)點(diǎn),所以利用它代替人工識(shí)別具有深遠(yuǎn)的意義和研究前景。本課題的創(chuàng)新點(diǎn)如下:(1)新功能:系統(tǒng)在提升動(dòng)作識(shí)別專業(yè)度的基礎(chǔ)上,增加了語音識(shí)別功能。(2)及時(shí)性:系統(tǒng)在列車員做手勢(shì)以及說口令時(shí)可以檢測(cè)并起到實(shí)時(shí)提醒作用。(3)高效性:系統(tǒng)可以提取列車的運(yùn)行狀態(tài)及道路信息產(chǎn)生相應(yīng)的行為序列,并與司機(jī)的行為比對(duì)。(4)準(zhǔn)確性:細(xì)化識(shí)別:先識(shí)別姿勢(shì),再識(shí)別手勢(shì),大大提高識(shí)別系統(tǒng)的準(zhǔn)確率。(5)復(fù)雜環(huán)境適應(yīng)性:從形態(tài)學(xué)、色彩信息以及亮度信息等多個(gè)方面進(jìn)行探索,找到適用于復(fù)雜環(huán)境的人體行為檢測(cè)方法。(6)低成本:系統(tǒng)所需成本低,能夠節(jié)省大量的人力成本,同時(shí)也為人工檢測(cè)存在的一些缺陷提供了可行的解決方案。
4結(jié)語
本文介紹了基于機(jī)器學(xué)習(xí)的機(jī)車乘務(wù)員確認(rèn)呼喚判別系統(tǒng)的基本架構(gòu),目前已經(jīng)實(shí)現(xiàn)了部分指差確認(rèn)的手勢(shì)和口誦識(shí)別。該系統(tǒng)不僅可以運(yùn)用到鐵路領(lǐng)域,在民航領(lǐng)域、建造業(yè)、制造業(yè)、機(jī)電工程業(yè)等需要進(jìn)行指差確認(rèn)的地方都很適用。例如,在民航領(lǐng)域,空姐在每次飛機(jī)起飛前要對(duì)乘客進(jìn)行一整套的應(yīng)急疏散教育,包括嚴(yán)格的動(dòng)作和語言提示。我們的系統(tǒng)可對(duì)這一套動(dòng)作進(jìn)行判別,從而對(duì)空姐的行為進(jìn)行監(jiān)督。同時(shí)也可以應(yīng)用于飛機(jī)乘務(wù)員的培訓(xùn)。
后期還需要錄入整套手勢(shì)信號(hào)、擴(kuò)大數(shù)據(jù)庫以提高判別系統(tǒng)在不同背景下的準(zhǔn)確率。該確認(rèn)呼喚判別系統(tǒng)運(yùn)用到識(shí)別機(jī)車乘務(wù)員行為的時(shí)候還需與列車原有6A系統(tǒng)等安全控制系統(tǒng)相結(jié)合,以便判斷是否在正確時(shí)間點(diǎn)完成指差確認(rèn)作業(yè)。同時(shí),為應(yīng)對(duì)更復(fù)雜的駕駛環(huán)境和更嚴(yán)苛的評(píng)判標(biāo)準(zhǔn),可以在不同的角度增加攝像頭數(shù)量,以此保證對(duì)多個(gè)機(jī)車乘務(wù)員動(dòng)作的識(shí)別準(zhǔn)確率。
參考文獻(xiàn)
[1] 秦華標(biāo),程?hào)|旭,倪向東.在線檢測(cè)列車駕駛員行為和疲勞狀態(tài)的方法及其檢測(cè)系統(tǒng),CN101639894[P].2010-02-03.
[2] 王瑩.基于表情及姿態(tài)的機(jī)車司機(jī)疲勞駕駛監(jiān)測(cè)技術(shù)[D].北京:北京交通大學(xué),2012.
[3] 袁冰清.深度學(xué)習(xí)[J].數(shù)字通信世界,2019(6):01.
[4] 張莉.神經(jīng)網(wǎng)絡(luò)概述[J].中國高新技術(shù)企業(yè),2008(21):109+114.