劉文平 薛宏佺 付茂闖
1.中車南京浦鎮(zhèn)車輛有限公司 江蘇 南京 210031
2.四川銳明智通科技有限公司 四川 成都 610213
隨著中國鐵路的高速發(fā)展,鐵路運(yùn)輸已經(jīng)成為中國運(yùn)輸業(yè)不可或缺的一部分,在2019年全國鐵路旅客運(yùn)輸量達(dá)到了36.6億人次。鐵路運(yùn)輸環(huán)境復(fù)雜,人員流動(dòng)性大等問題對(duì)鐵路管理部門提出了極大的挑戰(zhàn)[1]。視頻監(jiān)控系統(tǒng)可從安全運(yùn)營的角度緩解當(dāng)前存在的問題。視頻監(jiān)控系統(tǒng)通常采用人工的方式來查看和處理視頻信息,存在著工作效率低,人工成本高,實(shí)時(shí)性低等問題。因此需要考慮采用智能視頻分析系統(tǒng)來對(duì)視頻信息進(jìn)行實(shí)時(shí)分析,實(shí)時(shí)預(yù)警,提升列車運(yùn)營安全性。
人臉檢測(cè)技術(shù)在近年來得到了深入的發(fā)展與廣泛的應(yīng)用,但傳統(tǒng)的人臉檢測(cè)方法難以滿足各個(gè)場(chǎng)景下人臉檢測(cè)的速度與精度。深度學(xué)習(xí)在特征提取上具有其特有的優(yōu)勢(shì)且結(jié)合了特征分類的功能,卷積神經(jīng)網(wǎng)絡(luò)是圖像識(shí)別領(lǐng)域中深度學(xué)習(xí)的主要代表[2]。當(dāng)前基于卷積神經(jīng)網(wǎng)絡(luò)的人臉檢測(cè)算法主要包括Faster R-CNN算法,YOLO算法和SSD算法,其中SSD算法結(jié)合了YOLO算法的快速性和Faster R-CNN算法窗口預(yù)測(cè)的精準(zhǔn)性[3]。因此本文主要采用SSD算法進(jìn)行人臉檢測(cè),首先介紹了SSD算法的基本原理,然后基于SSD算法從司機(jī)狀態(tài)識(shí)別和乘客信息識(shí)別兩個(gè)方面來應(yīng)用于列車視頻監(jiān)控系統(tǒng)。
深度學(xué)習(xí)是采用多層次結(jié)構(gòu),通過整體的方式完成特征學(xué)習(xí),特征抽象和模型學(xué)習(xí)等步驟。卷積神經(jīng)網(wǎng)絡(luò)是最常用的一種深度學(xué)習(xí)方法,主要由輸入層,卷積層,激活層,池化層和輸出層等按照一定順序堆疊而成[4]。
輸入層將圖像像素點(diǎn)轉(zhuǎn)換為計(jì)算機(jī)能識(shí)別的三維矩陣,作為神經(jīng)網(wǎng)絡(luò)后續(xù)處理的原始數(shù)據(jù)。
卷積層是特征信息提取的整個(gè)卷積神經(jīng)網(wǎng)絡(luò)的核心層。卷積層通過采用卷積核對(duì)圖像局部區(qū)域提取特征,不同卷積層有不同的權(quán)值參數(shù),在每層卷積中通過滑動(dòng)窗口的方式依次將卷積核與和卷積核相同大小的局部圖像作卷積,通過反向傳播算法調(diào)整偏置卷積核參數(shù),并將上一層結(jié)果作為下一層卷積的輸入。
激活層用于進(jìn)行非線性分析。卷積對(duì)每個(gè)像素點(diǎn)分配一定的權(quán)重系數(shù),屬于線性模型,僅適用于線性分析,當(dāng)需要進(jìn)行非線性分析時(shí),需要引入非線性的激活函數(shù)。卷積神經(jīng)網(wǎng)絡(luò)常用的激活函數(shù)為ReLU函數(shù),其是將響應(yīng)大于0的結(jié)果保留,將相應(yīng)小于0的結(jié)果設(shè)為0,公式為:
池化層主要有三個(gè)方面的作用,保持特征不變性,特征降維,減小過擬合現(xiàn)象。池化對(duì)特征數(shù)據(jù)進(jìn)行降維處理,目前應(yīng)用最廣的有最大池化和均值池化,最大池化是保留卷積特征層中最大值,均值池化為保留卷積特征層中平均值。池化壓縮了特征數(shù)據(jù)量,但是保留了不同區(qū)域間的特征關(guān)系,同時(shí)減小了數(shù)據(jù)信息達(dá)到防止過擬合的現(xiàn)象。
SSD算法是一種基于YOLO算法和Faster R-CNN算法提出的端到端的目標(biāo)圖像檢測(cè)算法,優(yōu)點(diǎn)是結(jié)合了YOLO算法的檢測(cè)速度和Faster R-CNN算法的檢測(cè)精度。SSD算法基礎(chǔ)網(wǎng)絡(luò)采用VGG-16網(wǎng)絡(luò),并在其基礎(chǔ)上增加了4個(gè)卷積層,如圖1所示[5]。SSD分別分析每一層卷積網(wǎng)絡(luò)中的特征信息,通過非極大值抑制輸出結(jié)果回歸輸出。
圖1 SSD算法框架[5]
(1)默認(rèn)框生成
SSD算法基于anchor理念采用默認(rèn)框機(jī)制,通過生成大小和尺度不一樣的默認(rèn)框?qū)D像中目標(biāo)完全覆蓋。默認(rèn)框的尺度大小,高寬比,位置是需要注意設(shè)計(jì)的影響預(yù)測(cè)精度的參數(shù)。第k層特征層對(duì)應(yīng)的尺寸大小計(jì)算公式為:
其中,為特征圖個(gè)數(shù),本文設(shè)置為6。是默認(rèn)框相對(duì)于與原圖大小比例,和分別為該比例所取的最大值與最小值。第1層Conv4_3尺寸設(shè)置為0.1,第2至第6層的尺寸可得到分別為0.2,0.375,0.55,0.725,0.9。
默認(rèn)框的高度和寬度計(jì)算公式為:
(2)先驗(yàn)框匹配
默認(rèn)框形成后需要進(jìn)行一定的篩選,去除無意義的候選框,避免出現(xiàn)冗余計(jì)算的情況。采用IOU方法篩選候選框,IOU是計(jì)算檢測(cè)邊框與實(shí)際邊框交集與并集的比值,公式可表示為:
(3)損失函數(shù)設(shè)計(jì)
采用多任務(wù)損失函數(shù)進(jìn)行判斷置信度以及位置回歸,將兩者加權(quán)求和,計(jì)算公式可表示為:
其中,x為匹配成功的先驗(yàn)框,c為置信度預(yù)測(cè)值,l為預(yù)測(cè)框,g為標(biāo)注框,N為先驗(yàn)框數(shù)量,為權(quán)重因子,Lconf為置信度損失,Lloc為位置損失。
(4)非極大值抑制
非極大值抑制算法在SSD算法中對(duì)于篩選合適的候選框異常重要,可避免僅采用IOU方法時(shí)出現(xiàn)的漏檢或重復(fù)檢測(cè)。非極大值抑制算法是對(duì)通過分類器進(jìn)行類別判斷時(shí)得到的類別概率值進(jìn)行排序,首先找出其中的最大概率值,同時(shí)設(shè)置好判別閾值,計(jì)算所有檢測(cè)框與最大概率值之間的IOU,刪掉其中IOU大于閾值的重疊率高的檢測(cè)框。再對(duì)未刪的檢測(cè)框進(jìn)行重新排序,重復(fù)上述過程,處理完所有檢測(cè)框后,輸出結(jié)果。
視頻分析架構(gòu)主要可分為前端分析與后端分析[6],前端分析將視頻分析模塊內(nèi)嵌在前端設(shè)備中,前端設(shè)備將分析結(jié)果數(shù)據(jù)傳輸至中心節(jié)點(diǎn),是較為常用的視頻智能分析方式。這種分析方式可有效減少帶寬資源以及處理能力的限制,本文主要采用前端分析方式。
后端分析將采集到的視頻傳輸至后端或關(guān)鍵節(jié)點(diǎn)處做視頻分析處理,攝像機(jī)僅提供視頻采集功能。后端分析方式對(duì)視頻數(shù)據(jù)做統(tǒng)一處理與分析,處理靈活性強(qiáng)。但視頻分析計(jì)算復(fù)雜度和計(jì)算量較大,因此對(duì)與后端處理性能和帶寬要求較高。
得益于SSD算法在人臉檢測(cè)中的快速性和精準(zhǔn)性,視頻監(jiān)控系統(tǒng)可以實(shí)現(xiàn)更多的智能應(yīng)用,本節(jié)主要研究基于SSD算法的人臉檢測(cè)在司機(jī)狀態(tài)識(shí)別和乘客信息識(shí)別兩個(gè)場(chǎng)景下的智能應(yīng)用。
列車司機(jī)疲勞駕駛是造成列車運(yùn)營安全事故的主要原因之一,當(dāng)前列車視頻監(jiān)控系統(tǒng)中對(duì)于列車司機(jī)駕駛狀態(tài)的監(jiān)測(cè)還比較薄弱,因此對(duì)司機(jī)的狀態(tài)監(jiān)測(cè)的研究與應(yīng)用就尤為重要。司機(jī)駕駛列車是相對(duì)枯燥的過程,在運(yùn)行過程中可能會(huì)發(fā)生司機(jī)疲勞閉眼,分心等影響駕駛安全的行為[7]。采用人臉檢測(cè)技術(shù)實(shí)時(shí)監(jiān)測(cè)司機(jī)駕駛狀態(tài),當(dāng)檢測(cè)到異常情況后可向司機(jī)和管理人員發(fā)出主動(dòng)提醒,避免由于司機(jī)異常駕駛行為造成的安全事故。
圖2 人臉監(jiān)測(cè)流程
司機(jī)駕駛狀態(tài)監(jiān)測(cè)實(shí)現(xiàn)流程如圖2所示。首先由前端攝像機(jī)采集司機(jī)面部視頻信息。前端設(shè)備通過SSD算法檢測(cè)人臉,提取人臉特征,識(shí)別人臉位置及大小。然后進(jìn)行人臉跟蹤,跟蹤人臉?biāo)幬恢?。最后進(jìn)行人臉對(duì)齊,即識(shí)別出人臉上關(guān)鍵點(diǎn),根據(jù)關(guān)鍵點(diǎn)識(shí)別司機(jī)狀態(tài),識(shí)別司機(jī)疲勞駕駛,分心駕駛等影響列車安全運(yùn)營的行為。若檢測(cè)到發(fā)生違規(guī)行為,通過前端設(shè)備對(duì)司機(jī)發(fā)出語音提醒。人臉檢測(cè)算法實(shí)現(xiàn)效果如圖3所示,涉及隱私部分打碼處理。分別對(duì)閉眼疲勞和分心駕駛這兩種影響安全運(yùn)營的行為進(jìn)行了100次試驗(yàn),兩種行為的識(shí)別準(zhǔn)確率如表1所示,識(shí)別率都達(dá)到了95%以上。駕駛狀態(tài)監(jiān)測(cè)應(yīng)用于列車司機(jī)監(jiān)控可很好的避免由于司機(jī)注意不集中而導(dǎo)致的交通安全事故。
圖3 人臉檢測(cè)效果
表1 司機(jī)疲勞駕駛和分心駕駛識(shí)別率
針對(duì)于鐵路運(yùn)營中可能存在的逃票、買短乘長等問題。采用人臉識(shí)別技術(shù)自動(dòng)檢測(cè)與識(shí)別面部信息,聯(lián)動(dòng)客票數(shù)據(jù)庫判斷車上人員是否為該車乘客,以及是否按照區(qū)間乘車。視頻監(jiān)控系統(tǒng)識(shí)別出異常后發(fā)出報(bào)警信息提示工作人員處理,避免出現(xiàn)逃票、買短乘長等擾亂列車運(yùn)營管理的行為。效果如圖4所示,采用乘客信息識(shí)別可提升鐵路部門運(yùn)營管理效率。
圖4 乘客信息識(shí)別效果
針對(duì)現(xiàn)有傳統(tǒng)列車視頻監(jiān)控系統(tǒng)效率低,人工成本高,時(shí)效性差等問題,本文介紹了卷積神經(jīng)網(wǎng)絡(luò)和SSD算法的基本原理及結(jié)構(gòu),研究了應(yīng)用基于SSD算法的人臉檢測(cè)在列車視頻監(jiān)控系統(tǒng)中的智能應(yīng)用,主要結(jié)論如下:
(1)在司機(jī)駕駛狀態(tài)的識(shí)別中,人臉檢測(cè)識(shí)別疲勞駕駛和分心駕駛的準(zhǔn)確率達(dá)到90%以上;在乘客信息識(shí)別中,技術(shù)方案可有效比對(duì)乘客信息,智能應(yīng)用效果良好。
(2)鐵路部門推行智能視頻監(jiān)控系統(tǒng),將被動(dòng)監(jiān)控變?yōu)橹鲃?dòng)監(jiān)控,可有效提升運(yùn)營安全性及管理高效性。