王廷銀,郭 威,吳允平
1(福建師范大學(xué) 光電與信息工程學(xué)院,福州 350007)
2(數(shù)字福建環(huán)境監(jiān)測(cè)物聯(lián)網(wǎng)實(shí)驗(yàn)室,福州 350117)
3(福建省光電傳感應(yīng)用工程技術(shù)研究中心,福州 350007)
電梯是現(xiàn)代人類出行活動(dòng)最后50 米的交通工具[1],它方便人們的生活,使得人們對(duì)電梯使用的需求也日益劇增.截至2019年,我國(guó)電梯的保有量已達(dá)到709 萬(wàn)臺(tái),位居世界第一,但其中也包括大量的老舊電梯.電梯作為特種設(shè)備的一種,其信息化水平與乘梯的安全性直接掛鉤,由于老舊電梯的信息化水平普遍不足以及我國(guó)電梯的使用呈現(xiàn)負(fù)載高、運(yùn)量大、隨機(jī)性強(qiáng)等特點(diǎn),使得電梯事故時(shí)有發(fā)生[2].當(dāng)遇到電梯事故時(shí),如何準(zhǔn)確了解到轎廂人員情況,是電梯安全監(jiān)測(cè)系統(tǒng)研究工作中重要的一環(huán),它有助于快速展開救援工作避免不必要的生命財(cái)產(chǎn)損失.有的學(xué)者在電梯監(jiān)測(cè)系統(tǒng)中應(yīng)用紅外傳感器來檢測(cè)識(shí)別電梯事故時(shí)是否有乘客[3],但由于紅外傳感器易受噪聲影響而導(dǎo)致誤檢的情況發(fā)生[4].為此,一些學(xué)者們通過機(jī)器視覺中傳統(tǒng)人臉檢測(cè)算法如Haar-like[5]、HOG[6]識(shí)別電梯乘客,避免紅外傳感易誤檢的問題,例如,2015年,王瀟宇提出HOG 人臉檢測(cè)算法應(yīng)用于電梯乘客識(shí)別,該方法在簡(jiǎn)單實(shí)驗(yàn)環(huán)境下有較好的效果,但實(shí)際應(yīng)用情況不太理想[7];2016年,Kumar 利用Haar-like 人臉檢測(cè)算法進(jìn)行轎廂人員的檢測(cè),但是利用傳統(tǒng)算法所提取的人臉特征難以充分反映真實(shí)的人臉特征,導(dǎo)致在實(shí)際應(yīng)用中檢測(cè)的精度不高[8].
這些年,隨著深度學(xué)習(xí)的發(fā)展[9],基于卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)的模型層出不窮,如Faster R-CNN (Faster Region- Convolutional Neural Networks)、SSD (Single Shot multibox Detector)、YOLO (You Only Look Once)、MTCNN (Multi-Task Convolutional Neural Network),它們?cè)谌四槞z測(cè)的精度上比傳統(tǒng)算法高,從而被應(yīng)用到無人機(jī)、地鐵、安全監(jiān)控多個(gè)領(lǐng)域中,2018年,Shen 等將MTCNN 的人臉檢測(cè)應(yīng)用到無人機(jī)監(jiān)控系統(tǒng)中,克服了傳統(tǒng)檢測(cè)算法檢測(cè)效果不想理的情況,提高了無人機(jī)對(duì)人員檢測(cè)的精度[10];胡玲玲將MTCNN和anchor 機(jī)制結(jié)合提高網(wǎng)絡(luò)檢測(cè)的精度同時(shí)引入奇異值分解提高網(wǎng)絡(luò)在移動(dòng)端的檢測(cè)速度[11].2019年,周慧娟等應(yīng)用YOLO 對(duì)地鐵乘客進(jìn)行人臉檢測(cè)實(shí)現(xiàn)進(jìn)站客流量統(tǒng)計(jì),避免傳統(tǒng)人臉檢測(cè)算法在實(shí)際客流量統(tǒng)計(jì)中精度不理想的問題,有利于站管人員根據(jù)客流情況做出相應(yīng)措施,保障人流安全[12];同年9月,易詩(shī)等針對(duì)目前視頻監(jiān)控球機(jī)識(shí)別、跟蹤效果不佳等問題,運(yùn)用SSD 網(wǎng)絡(luò)人臉檢測(cè)功能提升對(duì)目標(biāo)識(shí)別的精度[13];同年10月,Halawa 等面對(duì)停車場(chǎng)的人為監(jiān)控效果不理想的情況,在閉路監(jiān)控中應(yīng)用Faster R-CNN 進(jìn)行人臉檢測(cè),并利用Inception結(jié)構(gòu)優(yōu)化網(wǎng)絡(luò),保障對(duì)停車場(chǎng)人員高精度監(jiān)控[14].
相較于Faster R-CNN、YOLO、SSD 等卷積神經(jīng)網(wǎng)絡(luò),多任務(wù)級(jí)聯(lián)卷積神經(jīng)網(wǎng)絡(luò)算法(MTCNN)具有計(jì)算較快、模型較小的優(yōu)點(diǎn)[15].綜上,將MTCNN 人臉檢測(cè)算法應(yīng)用于電梯乘客識(shí)別,并對(duì)其網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行改進(jìn),實(shí)現(xiàn)高精度檢測(cè),避免因紅外傳感容易受噪聲影響導(dǎo)致乘客的誤檢和傳統(tǒng)人臉檢測(cè)算法檢測(cè)精度低的問題的同時(shí),還能與電梯運(yùn)行狀態(tài)分析相融合,對(duì)電梯運(yùn)行進(jìn)行安全評(píng)估,當(dāng)遇到電梯事故時(shí),有助于救援工作的開展.
MTCNN是一種深層次的多任務(wù)級(jí)聯(lián)卷積神經(jīng)網(wǎng)絡(luò)框架[16],由3 個(gè)簡(jiǎn)單的卷積神經(jīng)網(wǎng)絡(luò)級(jí)聯(lián)組成,通過由粗略到精細(xì)的方式檢測(cè)人臉以及關(guān)鍵點(diǎn)的回歸.檢測(cè)過程如圖1所示,首先對(duì)輸入的圖像進(jìn)行尺度變換,得到圖像金字塔,然后把圖像金字塔輸入到第1 級(jí)網(wǎng)絡(luò)P-Net (Proposal Network)中,生成多尺度的人臉候選框,通過邊框回歸校準(zhǔn)候選框,并采用非極大抑制(NMS)合并重疊的候選框,將候選框圖輸入到第2 級(jí)網(wǎng)絡(luò)R-Net (Refine Network)中;R-Net 網(wǎng)絡(luò)使用邊框回歸和NMS 來剔除大部分錯(cuò)誤的候選框,將精確后的候選框圖輸入到第3 級(jí)網(wǎng)絡(luò)O-Net (Output Network)中;O-Net 對(duì)候選框進(jìn)行再次精選得到最終人臉框圖以及人臉關(guān)鍵點(diǎn).
圖1 MTCNN 算法檢測(cè)圖
MTCNN 各級(jí)的網(wǎng)絡(luò)結(jié)構(gòu)圖,如圖2所示.它們從內(nèi)容上看起來很相似,但是各自的作用還是有所不同的[17].P-Net 的網(wǎng)絡(luò)結(jié)構(gòu)如圖2(a)所示,P-Net是3 個(gè)網(wǎng)絡(luò)中深度最淺的,且是一個(gè)全卷積神經(jīng)網(wǎng)絡(luò),它主要的任務(wù)是獲得大量人臉區(qū)域候選框.圖2(b)是R-Net 的網(wǎng)絡(luò)結(jié)構(gòu)圖,它的任務(wù)是過濾錯(cuò)誤的候選框,在結(jié)構(gòu)上比P-Net 新增一層池化層與全連接層,使得R-Net 網(wǎng)絡(luò)的學(xué)習(xí)能力更強(qiáng),進(jìn)而可以較好地抑制錯(cuò)誤的候選框.圖2(c)是O-Net 的網(wǎng)絡(luò)結(jié)構(gòu)圖,它比R-Net 增加一層卷積層與池化層,在結(jié)構(gòu)上更加的復(fù)雜,從而更嚴(yán)格地抑制錯(cuò)誤的候選框,輸出最終人臉候選框和5 個(gè)面部關(guān)鍵點(diǎn).
圖2 MTCNN 各級(jí)網(wǎng)絡(luò)結(jié)構(gòu)圖
MTCNN 中的每級(jí)網(wǎng)絡(luò)都需要進(jìn)行人臉分類、邊框回歸、關(guān)鍵點(diǎn)回歸3 個(gè)任務(wù)的訓(xùn)練.
人臉分類屬于二分類任務(wù),通過交叉熵?fù)p失函數(shù)計(jì)算每個(gè)樣本Xi的損失值,如式(1)所示.
其中,pi表示網(wǎng)絡(luò)預(yù)測(cè)樣本屬于人臉的概率,∈{0,1}屬于樣本標(biāo)簽,0是非人臉,1是人臉.
邊框回歸是回歸問題.邊框包含了左上角坐標(biāo)(X,Y)以及邊框的寬和高4 個(gè)數(shù)值,通過解算網(wǎng)絡(luò)預(yù)測(cè)邊框坐標(biāo)與真實(shí)標(biāo)注邊框坐標(biāo)的歐幾里德?lián)p失值糾正坐標(biāo)位置,如式(2)所示.
關(guān)鍵點(diǎn)回歸也是屬于回歸問題.關(guān)鍵點(diǎn)包含左右眼、鼻子、左右嘴角5 個(gè)坐標(biāo),共10 個(gè)數(shù)值,通過解算網(wǎng)絡(luò)預(yù)測(cè)的臉部關(guān)鍵點(diǎn)坐標(biāo)和真實(shí)臉部關(guān)鍵點(diǎn)坐標(biāo)的歐幾里德?lián)p失值從而修正坐標(biāo)位置,如式(3)所示.
在訓(xùn)練時(shí),各個(gè)網(wǎng)絡(luò)的總損失函數(shù)通過上述3 種損失函數(shù)以加權(quán)形式表示,如式(4)所示.
其中,N表示訓(xùn)練樣本數(shù)量,αj是各任務(wù)權(quán)重系數(shù),表示該任務(wù)在網(wǎng)絡(luò)中的重要程度,βij∈{0,1}表示樣本類型標(biāo)簽,在計(jì)算各個(gè)網(wǎng)絡(luò)的損失值時(shí),根據(jù)網(wǎng)絡(luò)對(duì)各個(gè)任務(wù)的注重程度不同來設(shè)置權(quán)重系數(shù)[18].
本文通過引入Inception 模塊和BN 算法進(jìn)行MTCNN 算法的改進(jìn)優(yōu)化研究.
由于不同大小的卷積核對(duì)圖片處理能力不同,Szegedy等因此而設(shè)計(jì)Inception 模塊并應(yīng)用在GoogLeNet中[19],其特點(diǎn)是并行使用多個(gè)大小不同的卷積核,增強(qiáng)整體網(wǎng)絡(luò)的特征提取能力,圖3就是典型的Inception模塊結(jié)構(gòu)圖.由于轎廂人員的人臉在圖片中的比例大小不固定,在卷積神經(jīng)網(wǎng)絡(luò)中使用固定大小的卷積核會(huì)影響人臉檢測(cè)的準(zhǔn)確率,所以將GoogLeNet 中Inception 模塊的思想與MTCNN 網(wǎng)絡(luò)結(jié)合,增強(qiáng)網(wǎng)絡(luò)多尺度特征提取的能力,進(jìn)而提高人臉檢測(cè)的準(zhǔn)確性.
圖3 Inception 模塊結(jié)構(gòu)圖
在訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò)的時(shí)候,各參數(shù)的初始化設(shè)置會(huì)影響到訓(xùn)練的結(jié)果.而BN (Batch Normalization)算法可以避免此影響[20],有效加快收斂過程,同時(shí),BN 算法還具有正則化的作用可增強(qiáng)網(wǎng)絡(luò)分類效果,所以在MTCNN 網(wǎng)絡(luò)中加入BN 層.BN 算法的傳導(dǎo)過程如圖4所示,其中①是對(duì)數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)正態(tài)分布處理,加快收斂;②是進(jìn)行線性變換處理,恢復(fù)數(shù)據(jù)特征,避免標(biāo)準(zhǔn)正態(tài)分布對(duì)數(shù)據(jù)特性以及網(wǎng)絡(luò)表達(dá)能力的影響.
圖4 BN 算法傳導(dǎo)過程圖
改進(jìn)后的MTCNN 網(wǎng)絡(luò)結(jié)構(gòu)圖如圖5所示,通過并行不同大小的卷積核來對(duì)特征圖進(jìn)行處理,并在每個(gè)卷積層后面添加BN 層,增加網(wǎng)絡(luò)的寬度和深度,同時(shí)也增強(qiáng)網(wǎng)絡(luò)的分類能力.
圖5 改進(jìn)后的MTCNN 網(wǎng)絡(luò)結(jié)構(gòu)圖
本實(shí)驗(yàn)中軟件環(huán)境為:Python 2.7、VS 2015、OpenCV、Caffe、Android Studio;硬件環(huán)境為:NVIDIA960 顯卡的主機(jī)和RK3288 嵌入式開發(fā)板.
使用公開的WINDERFACE 人臉檢測(cè)數(shù)據(jù)集進(jìn)行人臉分類任務(wù)和人臉邊框回歸任務(wù)訓(xùn)練.WINDERFACE人臉數(shù)據(jù)集包含32 203 張圖片,共393 703 張人臉,具有各種尺度、姿勢(shì)、表情、光照等特征,非常匹配于電梯場(chǎng)景的乘客人臉情況,將其中16 106 張圖片(包含198 485 張人臉)有人臉標(biāo)注的作為訓(xùn)練集.使用文獻(xiàn)[21]提供的數(shù)據(jù)集進(jìn)行人臉關(guān)鍵點(diǎn)回歸任務(wù)訓(xùn)練,該數(shù)據(jù)集有13 466 張人臉圖像,每張人臉都標(biāo)注5 個(gè)關(guān)鍵點(diǎn),其中5590 張來自LFW 數(shù)據(jù)集,另外7876 張來自互聯(lián)網(wǎng).使用FDDB 數(shù)據(jù)集對(duì)網(wǎng)絡(luò)進(jìn)行測(cè)試評(píng)估,該數(shù)據(jù)集常用于人臉檢測(cè)算法的驗(yàn)證,共有2485 張圖片,共5171 張人臉.
將訓(xùn)練的數(shù)據(jù)集劃分成4 個(gè)不同類型的數(shù)據(jù)集用于對(duì)應(yīng)任務(wù)的訓(xùn)練,分別為正樣本集、負(fù)樣本集、半人臉樣本集、關(guān)鍵點(diǎn)樣本集.其中,負(fù)樣本集:與真實(shí)人臉框的重疊率IOU 小于0.3;正樣本集:與真實(shí)人臉框的重疊率IOU 大于0.65;半人臉樣本集:與真實(shí)人臉框的重疊率IOU 在0.3和0.65 之間;關(guān)鍵點(diǎn)樣本集:標(biāo)注了人臉面部5 個(gè)關(guān)鍵點(diǎn)位置.其中,正樣本集和負(fù)樣本集用于訓(xùn)練人臉分類任務(wù),正樣本集和半人臉樣本集用于訓(xùn)練人臉邊框回歸任務(wù),關(guān)鍵點(diǎn)樣本集用于訓(xùn)練人臉關(guān)鍵點(diǎn)回歸的任務(wù).在訓(xùn)練時(shí),由于每個(gè)網(wǎng)絡(luò)對(duì)各個(gè)任務(wù)的注重程度不同,所以各個(gè)網(wǎng)絡(luò)損失函數(shù)的權(quán)重系數(shù)也有所差異,其中P-Net和R-Net 中人臉分類的任務(wù)更為重要,所以人臉分類任務(wù)、人臉邊框回歸任務(wù)、人臉關(guān)鍵點(diǎn)回歸任務(wù)三者權(quán)重比為1:0.5:0.5,而O-Net 增大了人臉關(guān)鍵點(diǎn)回歸的重要程度,3 個(gè)任務(wù)的權(quán)重比為1:0.5:1.
通過在各級(jí)網(wǎng)絡(luò)中加入Batch Normalization 算法對(duì)訓(xùn)練過程進(jìn)行優(yōu)化,圖6中的3 個(gè)子圖分別是改進(jìn)前后P-Net、R-Net 以及O-Net 的損失曲線對(duì)比圖.從圖中可以看出,改進(jìn)后各網(wǎng)絡(luò)的收斂速度更快,訓(xùn)練損失值更加的穩(wěn)定,迭代步數(shù)也相對(duì)減少,從而減少不必要的訓(xùn)練時(shí)間.
圖6 網(wǎng)絡(luò)改進(jìn)前后損失曲線對(duì)比圖
通過在網(wǎng)絡(luò)中使用大小不同卷積核并行的方式,結(jié)合Batch Normalization 算法的優(yōu)化策略,對(duì)各級(jí)網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行調(diào)整.表1是各級(jí)改進(jìn)前后的網(wǎng)絡(luò)在訓(xùn)練集上人臉檢測(cè)精度的對(duì)比結(jié)果.由表1可見,本文所述的優(yōu)化改進(jìn)方案對(duì)人臉檢測(cè)準(zhǔn)確率有一定的提高.
表1 改進(jìn)前后各個(gè)網(wǎng)絡(luò)訓(xùn)練集上準(zhǔn)確率對(duì)比(%)
在FDDB 數(shù)據(jù)集上使用ROC 曲線對(duì)改進(jìn)前后算法、文獻(xiàn)[11]算法、Faster R-CNN、Haar-like 進(jìn)行測(cè)試評(píng)估,如圖7所示,其中橫坐標(biāo)假正例數(shù)FP(False Positives)表示的是誤檢數(shù)目,即把非人臉檢測(cè)為人臉,縱坐標(biāo)真正例率TPR (True Positives Rate)為數(shù)據(jù)集中標(biāo)注的人臉被檢測(cè)出的比例,圖中MTCNN 算法、本文算法、文獻(xiàn)[11]算法以及Faster R-CNN 算法它們的準(zhǔn)確率都要遠(yuǎn)高于傳統(tǒng)算法Haar-like,本文算法比MTCNN和文獻(xiàn)[11]算法有更好的檢測(cè)效果,雖然三者的準(zhǔn)確率都低于Faster R-CNN,但是Faster R-CNN的網(wǎng)絡(luò)較深、模型較大,難以部署在移動(dòng)端并實(shí)時(shí)檢測(cè).
圖7 FDDB 數(shù)據(jù)集的ROC 曲線圖
對(duì)隨機(jī)拍攝到的100 張電梯人員人臉圖片,分別使用改進(jìn)前后的MTCNN 算法進(jìn)行檢測(cè),將檢測(cè)的準(zhǔn)確率和模型大小以及在基于嵌入式平臺(tái)開發(fā)的電梯信息終端上電梯乘客人臉檢測(cè)的速度進(jìn)行綜合性能對(duì)比,如表2所示,雖然增大了模型但對(duì)檢測(cè)速度沒有造成過大的影響,而且改進(jìn)后的模型檢測(cè)的準(zhǔn)確率比原來高.圖8是兩種算法電梯乘客人臉檢測(cè)的效果對(duì)比圖,圖9是兩種算法是電梯乘客多人人臉檢測(cè)的效果對(duì)比圖,可見本文算法對(duì)電梯乘客識(shí)別效果更好.
圖8 電梯乘客人臉檢測(cè)的效果對(duì)比圖
圖9 電梯乘客多人人臉檢測(cè)的效果對(duì)比圖
表2 MTCNN 改進(jìn)前后算法模型的性能綜合比對(duì)
在電梯安全監(jiān)測(cè)系統(tǒng)中使用傳統(tǒng)人臉檢測(cè)算法識(shí)別電梯乘客,但檢測(cè)精度并不高難以滿足實(shí)際情況的應(yīng)用,本文將MTCNN 人臉檢測(cè)算法應(yīng)用于電梯人員檢測(cè),并在此基礎(chǔ)上,結(jié)合Inception 模塊的設(shè)計(jì)思想,通過并行操作多個(gè)大小不同的卷積核,來加深加寬各級(jí)網(wǎng)絡(luò)的結(jié)構(gòu),增強(qiáng)各級(jí)網(wǎng)絡(luò)的表達(dá)能力,同時(shí)基于BN 算法能夠避免訓(xùn)練時(shí)人工參數(shù)選擇的隨機(jī)性提高訓(xùn)練的收斂速度以及BN 算法具有一定增強(qiáng)網(wǎng)絡(luò)的分類能力的優(yōu)點(diǎn),將二者引入到MTCNN 的網(wǎng)絡(luò)結(jié)構(gòu)中,提高網(wǎng)絡(luò)對(duì)人臉檢測(cè)的準(zhǔn)確率,使得改進(jìn)后的MTCNN人臉檢測(cè)算法對(duì)電梯乘客的識(shí)別更加理想,在電梯安全監(jiān)測(cè)系統(tǒng)應(yīng)用中,能準(zhǔn)確了解轎廂乘客具體情況,當(dāng)電梯出現(xiàn)異常時(shí),有利于救援工作的展開,進(jìn)一步提高了乘梯安全.