王海亮
摘 要:近幾年來,人工智能、物聯(lián)網(wǎng)技術得到了高速發(fā)展,傳統(tǒng)的交通行業(yè)在二者的輔助下也得到了發(fā)展。本文針對智慧交通系統(tǒng)中的行人過街系統(tǒng)進行了改進,提出一種基于人臉檢測和人臉識別的行人過街系統(tǒng)。該系統(tǒng)由圖像采集模塊、人臉檢測及識別模塊、數(shù)據(jù)分析及處理模塊等部分組成,借助MTCNN、FaceNet等深度卷積神經(jīng)網(wǎng)絡算法實現(xiàn)人臉檢測和人臉識別,同時在年齡識別模塊中調整了AlexNet模型的網(wǎng)絡參數(shù),并對模型進行重新訓練。行人過街系統(tǒng)借助深度學習算法,可以實現(xiàn)無感知放行,有效提升道路通行率及行人過馬路的安全性。
關鍵詞:人臉檢測;人臉識別;行人過街;MTCNN
中圖分類號:TN911.73;TP391.4文獻標識碼:A文章編號:1003-5168(2020)32-0010-04
Abstract: In recent years, artificial intelligence and Internet of Things technologies have developed rapidly, and the traditional transportation industry has also developed with the assistance of the two. This paper improved the pedestrian crossing system in the smart transportation system, and proposed a pedestrian crossing system based on face detection and face recognition. The system consists of an image acquisition module, a face detection and recognition module, a data analysis and processing module, etc, it uses deep convolutional neural network algorithms such as MTCNN and FaceNet to realize face detection and face recognition, at the same time, it adjusts the network parameters of the AlexNet model in the age recognition module and retrains the model. The pedestrian crossing system uses deep learning algorithms to realize non-perceptual clearance, effectively improving road traffic rate and pedestrian crossing safety.
Keywords: face detection;face recognition;pedestrian crossing;MTCNN
智能交通系統(tǒng)通常簡稱為ITS(Intelligent Transportation System),是將先進的信息技術、數(shù)據(jù)通信傳輸技術、電子傳感技術、控制技術及計算機技術等有效地集成并運用于交通系統(tǒng),從而提高交通系統(tǒng)效率的綜合性應用系統(tǒng)。除了北京、上海、廣州和深圳,天津、重慶、武漢等也正在邁向超大城市行列。與此同時,城市道路人車搶道的問題日益嚴重,行人既是道路通行中的弱者,也是引起交通秩序混亂和效率低下的根源之一,因此,全國各地紛紛涌現(xiàn)出不同形式的智能行人過街系統(tǒng)。行人過街系統(tǒng)作為ITS系統(tǒng)的一部分,實現(xiàn)智能化是未來交通系統(tǒng)發(fā)展的方向,也是未來車聯(lián)網(wǎng)的重要組成部分。
1 行人過街系統(tǒng)
本文設計的是一種基于人臉識別的智能行人過街系統(tǒng),該類控制系統(tǒng)以機動車放行為強控制權、行人放行為弱控制權,通過動態(tài)分配放行權的方式實現(xiàn)路口的控制,在保障機動車通行效率的同時,也能動態(tài)分配行人通行的權利,最大限度保障道路的暢通。目前,比較常見的行人過街控制系統(tǒng)有按鈕式行人過街控制系統(tǒng)及感應式行人過街控制系統(tǒng)[1]。
與按鈕式行人過街控制系統(tǒng)相比,感應式行人過街控制系統(tǒng)用行人檢測模塊替換了行人過街的按鈕,行人檢測模塊負責檢測在固定等待區(qū)內的行人過街請求,可以動態(tài)檢測過街行人的數(shù)量,動態(tài)調整行人放行的時間。目前,該系統(tǒng)感應模塊主要通過溫度、光等傳感器實現(xiàn)觸發(fā)。
按鈕式行人過街控制系統(tǒng)安裝簡單,但存在不夠靈活、按鍵容易損壞等問題,而溫度、光等感應式系統(tǒng)受環(huán)境、使用時間等因素影響,感應精度偏低?,F(xiàn)在,基于深度學習的行人檢測算法已經(jīng)比較成熟,因此本文采用該方案來構建感應式行人過街控制系統(tǒng)[2]。
2 基于人臉識別的行人過街系統(tǒng)
本文設計的行人過街系統(tǒng)由前端視頻采集模塊、IoT(OneNET)平臺及后端識別三部分組成。前端視頻采集模塊采用高清或標清的攝像機,首先在視頻范圍內劃分行人虛擬等待區(qū),如果有行人進入虛擬等待區(qū),則觸發(fā)攝像機運行并將視頻流通過IoT(OneNET)平臺實時推送到后端平臺服務器中,后端平臺獲取每一幀視頻數(shù)據(jù)后通過人臉檢測和人臉識別算法提取行人數(shù)量、行人運動軌跡、行人年齡等特征,并通過特征加權形成放行方案后傳輸至道路交通控制系統(tǒng),最終形成行人的智能化放行方案。
2.1 人臉識別網(wǎng)絡模型
一個完整的人臉識別過程包括人臉檢測、人臉識別兩個過程,首先通過人臉檢測算法提取出人臉的候選框,接著通過人臉識別算法識別候選框中的人臉并進行人臉比對,最后完成人臉識別的過程。
從2006年提出深度學習概念,NVIDIA發(fā)布了一系列高性能顯卡,使得深度學習的訓練時間大大縮短。同時,Caffe、TensorFlow等深度學習框架逐漸成熟,封裝了深度學習的主要流行框架,大大降低了深度學習的難度。
本文的人臉檢測及識別模塊采用卷積神經(jīng)網(wǎng)絡結構,卷積神經(jīng)網(wǎng)絡[3](Convolutional Neural Network)的簡稱是CNN,是深度學習里面最熱門的一種網(wǎng)絡結構,在圖像識別、物體檢測等領域普遍應用。與傳統(tǒng)神經(jīng)網(wǎng)絡相比,卷積神經(jīng)網(wǎng)絡依舊是層級結構,主要由輸入層、卷積層、池化層及輸出分類層組成,其各層的功能和形式做了變化,通過卷積計算層替換傳統(tǒng)神經(jīng)網(wǎng)絡的全連接層。卷積神經(jīng)網(wǎng)絡在低層使用卷積來獲得圖像的局部特征,高層對低層獲得的圖像局部特征進一步卷積可獲得更細化的局部特征,最后通過全連接層實現(xiàn)全部特征的提取。
2.2 系統(tǒng)框架
系統(tǒng)由前端信息采集模塊、人臉檢測及識別模塊、云端數(shù)據(jù)處理模塊及交通控制模塊四部分組成,前端信息采集模塊通過視頻攝像機將實時數(shù)據(jù)流推送到云端平臺,云端平臺通過人臉檢測及識別模塊將行人的人臉特征解析出來并送至數(shù)據(jù)處理模塊,數(shù)據(jù)處理模塊根據(jù)行人特征信息、權重等參數(shù)決定當前行人放行的策略。生成好的策略最后傳送至交通控制系統(tǒng)。系統(tǒng)結構框圖如圖1所示。
2.3 數(shù)據(jù)采集模塊
數(shù)據(jù)采集模塊采集的是人臉數(shù)據(jù),人臉采集分為人臉檢測和人臉識別[4]兩個功能模塊,其中人臉檢測是進行人臉識別、處理的基礎。其間通過檢測出實時視頻流中的人臉,返回高精度的人臉框坐標及特征點。為了節(jié)省方案整體的成本,人臉檢測、人臉識別及處理部分均置于云端平臺??紤]到路過攝像頭的行人會對檢測結果形成干擾,攝像機部署時要求攝像頭面向行人過街的方向,最大程度降低非過街行人對本系統(tǒng)的影響。
2.4 人臉檢測及識別模塊
2.4.1 行人虛擬等待區(qū)檢測。與傳統(tǒng)的行人檢測方法不同,本文通過視頻識別人臉方式實現(xiàn)行人過街。首先需要在視頻檢測區(qū)域內劃出行人虛擬等待區(qū),只有進入該區(qū)域內的行人才會觸發(fā)人臉識別檢測。當行人進入該區(qū)域后,攝像機對該行人進行人臉檢測及人臉跟蹤。檢測工作流程如圖2所示。
2.4.2 人臉檢測。本文人臉檢測算法采用MTCNN的深度學習網(wǎng)絡模型[5],該模型是一種多任務的人臉檢測框架,使用了3個CNN級聯(lián)算法結構P-Net、R-Net及O-Net,通過考慮人臉邊框回歸、面部關鍵點檢測等方法將人臉坐標及特征值同時提取出來。
算法將每一幀圖像按照不同的縮放比例,縮放成不同大小的圖片,形成特征金字塔。P-Net獲取人臉區(qū)域內人臉的候選窗口和邊界框的回歸向量,并對邊界框進行回歸,實現(xiàn)候選窗口的校準,最后通過非極大值抑制來合并IoU高的候選框。P-Net生成的候選框經(jīng)過R-Net網(wǎng)絡層中繼續(xù)訓練,利用邊界框回歸值微調候選人臉窗體,同樣再通過非極大值抑制來合并候選框。P-Net和R-Net網(wǎng)絡層的輸出數(shù)據(jù)最后通過O-Net實現(xiàn)人臉的關鍵點定位。
人臉檢測模塊輸出參數(shù)包括人臉框圖、行人數(shù)量、行人等待時間等,其中,行人數(shù)量特征參數(shù)將會作為本系統(tǒng)的重要特征輸入數(shù)據(jù)綜合處理模塊來決定行人過街的綠燈初始放行時間。
2.4.3 人臉識別。人臉識別的目的是為了分析出一段時間內行人虛擬等待區(qū)內同一個人的運動軌跡,本云端系統(tǒng)實時處理人臉檢測模塊中識別出來人臉框的圖片。人臉識別采用Google的FaceNet網(wǎng)絡模型[6],F(xiàn)aceNet以圖像到歐式空間的距離作為依據(jù),采用基于深度神經(jīng)網(wǎng)絡的圖像映射方法和基于Treiplets的損失函數(shù)訓練神經(jīng)網(wǎng)絡,網(wǎng)絡直接輸出為128維度的向量空間。具體算法實現(xiàn)流程如圖3所示。
FaceNet網(wǎng)絡模型的末端使用Triplet Loss來進行分類,Triplet Loss將每個個體的人臉圖像與其他人臉圖像分開,三元組是三個樣例,利用距離關系來進行判斷。在盡可能多的三元組中,要使正樣本與錨點的距離小于負樣本與錨點的距離。
2.4.4 人臉跟蹤。在行人等待區(qū)域內識別單個行人軌跡的主要目的是判斷該行人是否有過街的需求,避免正常路過的行人識別錯誤,從而引起不必要的過街請求。實際上,本系統(tǒng)只需要行人進入虛擬等待區(qū)識別出的第一張照片和行人靜止狀態(tài)的照片即可勾畫出該行人的行動軌跡,并不需要形成嚴格的行動軌跡。人臉識別是實現(xiàn)人臉跟蹤的必要條件,人臉跟蹤模塊中使用人臉識別中已經(jīng)識別好的人臉數(shù)據(jù),根據(jù)多張圖像中檢測的人臉進行比對,當同一個行人進入虛擬等待區(qū)內開始,直至其靜止,通過人臉跟蹤獲得該行人的運動軌跡。
2.4.5 年齡識別。行人過街的時間除了跟需要過街的行人數(shù)量有關,還跟過街的行人年齡段有關。當過街行人中有老人,本系統(tǒng)會識別出并給出加權因子,調整放行策略。年齡識別的算法[7]在AlexNet模型的基礎上做些修改,采用3個卷積層、2個全連接層,與AlexNet相比,CNN網(wǎng)絡模型簡化了很多,對于年齡的識別,考慮到分類精度,因此只劃分了2個年齡段,相當于2個分類,具體為青壯年、老年兩分類。圖像輸入是人臉識別模塊輸出的人臉框圖。模型框圖如圖4所示。
不同于FaceNet及MTCNN模型,本文需要對AlexNet衍射出來的網(wǎng)絡結構進行fine-tuning,將輸出的10分類調整為2分類。該網(wǎng)絡結構是一個全卷積層的神經(jīng)網(wǎng)絡,模型輸入為227×227×3大小的圖片,層一為96個11×11的卷積核和3×3的MP,通過該層后生成96個55×55的特征圖;層二為256個5×5的卷積核和3×3的MP,通過該層后生成256個27×27的特征圖;層三為384個3×3的卷積核,通過該層生成384個13×13的特征圖;層四為384個3×3的卷積核生成384大小的全連接層;層五、層六為512個全連接層,最后輸出人臉的2個分類。
本文基于TensorFlow框架對整個網(wǎng)絡進行了重新訓練。具體步驟為:下載AlexNet及其衍生網(wǎng)絡模型的數(shù)據(jù)集,并導入訓練模型中;初始化模型權重、卷積核等參數(shù),采用標準差為0.1、均值為0的高斯分布數(shù)據(jù);為了防止過擬合,dropout選擇為0.5。min-batch選擇為100,學習率為0.001,當?shù)螖?shù)超過5 000次后,調整學習率為0.000 1,迭代次數(shù)為1 000次或梯度不發(fā)生降低時停止;將人臉檢測輸出的resize為227×227的圖片輸入該模型中并進行預測。
經(jīng)過重新訓練后,在測試數(shù)據(jù)集上最終預測精度為0.9左右,基本滿足需求。
2.4.6 行人路段檢測。將道路中間的行人過街斑馬線劃分為虛擬行人過街檢測區(qū)域,當當前道路放行狀態(tài)處于行人放行時,攝像頭將處于識別狀態(tài),實時識別斑馬線上的行人狀態(tài)。行人路段的檢測算法也采用MTCNN,如果剩余的行人過街時間不夠,就會主動反饋信息給信號控制系統(tǒng),使得道路交通信號控制系統(tǒng)進行行人放行配時調整,保證行人安全過街。
2.5 數(shù)據(jù)綜合處理模塊
經(jīng)過人臉檢測及人臉識別,多個特征參數(shù)形成,包含行人等待數(shù)量、行人已等待時間、等待行人中老年人占比率等,云端平臺將處理后的數(shù)據(jù)進行加權分析,并形成放行策略傳輸給道路交通控制系統(tǒng),道路交通控制系統(tǒng)在執(zhí)行該放行策略時根據(jù)行人路段檢測模塊傳輸?shù)男畔⑦M行動態(tài)調整。處理流程如圖5所示。
權重參數(shù)并不是固定值,由特征參數(shù)的類型決定,如果某個時間段等待行人數(shù)量過多但等待時間較短,則權重1值相應調高,權重2值相應調低,如果某時間段等待行人數(shù)量很少,但等待的行人中老年人占比過多,其權重3會相應調高,通過動態(tài)調整權重,實現(xiàn)最優(yōu)行人放行策略。
3 結論
本文設計了一種基于人臉識別的行人過街系統(tǒng),介紹了總體架構,詳細闡述了各個子模塊的功能。在人臉檢測及識別過程中,本研究通過算法級聯(lián)的方式實現(xiàn)多種算法在實際應用中的融合,構建無感知行人過街系統(tǒng)。本文設計的系統(tǒng)可以作為V2X的子系統(tǒng),實現(xiàn)道路信號主動控制,包括機動車輔助駕駛、信號自適應控制、特殊車輛優(yōu)先控制、行人安全報警等,行駛車輛通過與該路側系統(tǒng)的互聯(lián)互通,獲取精準的路口信號配時方案、控制方案、相位相序信息、同步信號狀態(tài)、倒計時信息、行人流量、行人避讓和行人畫像等信息,提升道路通行安全性。
參考文獻:
[1]張惠榮,蔡章輝,高霄.行人過街智能控制系統(tǒng)設計探討[J].現(xiàn)代建筑電氣,2018(7):72-75.
[2]張惠榮,蔡章輝,高霄.淺談行人過街智能控制系統(tǒng)發(fā)展現(xiàn)狀[C]//第十三屆中國智能交通年會.2018.
[3]Larochelle H,Erhan D,Courville A,er al.An empirical evaluation of deep architectures on problems with many factors of variation[C]//The 24th International Conference on Machine Learning.2007.
[4]韋勇,萬旭,徐海黎,等.基于人臉跟蹤與識別的行人闖紅燈取證系統(tǒng)的設計與實現(xiàn)[J].現(xiàn)代電子技術,2018(19):36-39.
[5]Zhang K,Zhang Z,Li Z,et al.Joint Face Detection and Alignment using Multi-task Cascaded Convolutional Networks[J].IEEE Signal Processing Letters,2016(10):1499-1503.
[6]Schroff F,Kalenichenko D,Philbin J.FaceNet:A Unified Embedding for Face Recognition and Clustering[J].Computer Vision and Pattern Recognition,2015(1):815-823.
[7]Levi G,Hassncer T.Age and Gender Classification using Convolutional Neural Networks[J].IEEE Computer Society,2015(1):34-42.