邢志祥,顧凰琳,魏振剛,錢 輝,張 瑩,汪李金
(常州大學(xué)環(huán)境與安全工程學(xué)院,江蘇 常州 213164)
在車站、商場等人員密集的公共場所,如果發(fā)生突發(fā)事件,容易引起人群擁堵、踩踏等事故,如果對行人進行有效的檢測和預(yù)警,可以及時阻止此類事件的發(fā)生。行人檢測的方法有多種,近幾年來智能安監(jiān)技術(shù)、無人駕駛技術(shù)等由于計算機視覺的興起已成為研究的熱點,計算機視覺的快速發(fā)展也提供了許多新的行人檢測方法。
針對傳統(tǒng)的計算機行人檢測方法已有較多研究。如何鵬[1]提出了一種基于改進背景減除法的類圓形目標檢測算法,這種方法可以降低背景變化和噪聲對檢測結(jié)果的影響,但也可能會出現(xiàn)目標丟失和偽目標的現(xiàn)象;陳亮[2]采用光流法的視頻分析技術(shù)對地鐵客流進行了監(jiān)測,該技術(shù)可以較為準確地反映對象的平移運動,但是步驟較為繁瑣、復(fù)雜。可見,一些傳統(tǒng)的計算機行人檢測方法都具有一定的局限性。
近幾年來隨著深度學(xué)習(xí)的快速發(fā)展,許多基于卷積神經(jīng)網(wǎng)絡(luò)的行人檢測方法開始興起。本文基于卷積神經(jīng)網(wǎng)絡(luò),主要研究了幾種不同的行人人頭檢測方法,通過不同的行人人頭特征提取與目標檢測結(jié)構(gòu)組合的方式來探索最優(yōu)的行人人頭檢測方法。傳統(tǒng)方法對車站、商場、地鐵等人員密集的公共場所的客流進行統(tǒng)計時,一般都是檢測行人,但由于行人高矮不一、胖瘦不均等原因,容易出現(xiàn)遮擋等情況,所以本文嘗試通過高位攝像頭采集行人的人頭數(shù)據(jù),這樣可以減少遮擋的情況,從而更容易、準確地統(tǒng)計客流。
卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)[3-4]是一種受到生物自然視覺感知啟發(fā)而建立的一種深度學(xué)習(xí)體系結(jié)構(gòu),是一種至少使用一層卷積運算來替代一般的矩陣乘法運算的神經(jīng)網(wǎng)絡(luò)。卷積神經(jīng)網(wǎng)絡(luò)主要由輸入層、卷積層、池化層、全連接層和輸出層構(gòu)成,其復(fù)合了多個卷積層和池化層對輸入數(shù)據(jù)進行加工,并在連接層實現(xiàn)與輸出目標之間的映射。卷積神經(jīng)網(wǎng)絡(luò)的經(jīng)典模型——LeNet-5的網(wǎng)絡(luò)結(jié)構(gòu),見圖1。
圖1 卷積神經(jīng)網(wǎng)絡(luò)的經(jīng)典模型——LeNet-5的網(wǎng)絡(luò)結(jié)構(gòu)Fig.1 Structure of the classical Convolutional Neural Network model -LeNet-5 network
對行人人頭的檢測可以看成是一個目標檢測的問題,目標檢測一般要確定三個問題:目標定位、目標檢測和目標分類。其中,目標定位是確定候選區(qū)域,即確定行人人頭的位置;目標檢測是對候選區(qū)域進行特征提取,提取目標分類所需要的行人人頭特征;目標分類是通過提取的行人人頭特征來進行所需要的分類,本文主要分為兩類,即‘是行人人頭’和‘非行人人頭’?;诰矸e神經(jīng)網(wǎng)絡(luò)的行人人頭檢測的主要步驟,見圖2。
圖2 基于卷積神經(jīng)網(wǎng)絡(luò)的行人人頭檢測的主要步驟Fig.2 Main steps of pedestrian head detection based on convolutional neural network
在行人人頭檢測時,需要對行人人頭進行數(shù)據(jù)采集,本文在常州某車站安檢站臺處通過高位攝像頭采集行人的人頭數(shù)據(jù),通過一段30 min的視頻監(jiān)控截取464張圖片并進行標簽,本文選取其中一張圖片的人頭候選區(qū)域作為例圖,見圖3。
圖3 行人人頭檢測圖像Fig.3 Images of pedestrian head detection
為了使采集的行人人頭圖像數(shù)據(jù)在試驗中可以使用,必須將所需要的行人人頭圖像進行歸一化處理后再進行標簽。由于是通過視頻截圖,圖像的分辨率是一致的,所以不需要再對行人人頭圖像進行另外的歸一化處理,主要是對樣本進行標簽。通過Spyder軟件將行人人頭圖像數(shù)據(jù)導(dǎo)入,通過編寫腳本程序來對樣本進行標簽,標簽完成后就可以將行人人頭圖像數(shù)據(jù)和標簽數(shù)據(jù)用來試驗。圖3為通過腳本程序手動選擇的行人人頭檢測區(qū)域,圖4為腳本程序運行后與圖3相對應(yīng)打上標簽的行人人頭數(shù)據(jù)標簽,即將圖片里的行人人頭區(qū)域轉(zhuǎn)化為數(shù)據(jù)的形式以方便之后的試驗。圖4中的第一行代表了本張圖片中的行人人頭區(qū)域個數(shù),下面的數(shù)據(jù)則分別代表行人人頭區(qū)域的范圍(通過x、y軸的最大值、最小值來確定行人人頭區(qū)域范圍)。
圖4 行人人頭檢測數(shù)據(jù)標簽Fig.4 Data label of pedestrian head detection
卷積神經(jīng)網(wǎng)絡(luò)的特征提取網(wǎng)絡(luò)有多種形式,本文主要研究3種特征提取網(wǎng)絡(luò):Inception模塊、ResNet特征提取網(wǎng)絡(luò)和MobileNet特征提取網(wǎng)絡(luò)。
(1) Inception模塊:Inception模塊最初是由Szegedy在2014年提出的,可以廣泛應(yīng)用到卷積神經(jīng)網(wǎng)絡(luò)中,目前主要的Inception模塊有Inception V1~V4[5-8]。其中,Inception V1主要構(gòu)建了1×1、3×3、5×5的卷積層和3×3的池化層,同時使用MLP池化和全局平均池化,擴寬了卷積層網(wǎng)絡(luò)寬度,增加了網(wǎng)絡(luò)對尺度的適應(yīng)性;Inception V2提出了BN方法,同時使用兩個3×3的卷積核代替5×5的卷積核,在降低參數(shù)量的同時提高了網(wǎng)絡(luò)學(xué)習(xí)的能力;Inception V3引入了Factorization;Inception V4研究了Inception模塊結(jié)合Residual Connection。本文通過閱讀文獻選擇了較為常見的Inception V2特征提取網(wǎng)絡(luò)。
(2) ResNet特征提取網(wǎng)絡(luò):ResNet特征提取網(wǎng)絡(luò)[9]是由何凱明博士的團隊于2015年首次提出,ResNet網(wǎng)絡(luò)也稱為深度殘差網(wǎng)絡(luò),一般較常用的是Resnet 50和ResNet 101兩種類型。ResNet網(wǎng)絡(luò)主要是應(yīng)用了一種叫identity mapping的連接方式,可以解決“隨著網(wǎng)絡(luò)加深,準確率不下降”的問題。
(3) MobileNet特征提取網(wǎng)絡(luò):MobileNet特征提取網(wǎng)絡(luò)[10]是一種輕量級、低延遲的卷積神經(jīng)網(wǎng)絡(luò)模型,可以將標準卷積分解成一個深度卷積和一個1×1卷積核,通過深度可分離的卷積來構(gòu)建輕量級的深層神經(jīng)網(wǎng)絡(luò),可廣泛應(yīng)用于物體檢測、細粒度分類、人臉屬性識別和大規(guī)模地理定位等。
目標檢測結(jié)構(gòu)的卷積神經(jīng)網(wǎng)絡(luò)也有很多種類,本次試驗所用到的3種目標檢測結(jié)構(gòu)為:Faster R-CNN、R-FCN和SSD。
(1) Faster R-CNN目標檢測結(jié)構(gòu):Faster R-CNN最初是由Girshick團隊[11]于2015年提出的一種目標檢測結(jié)構(gòu),它是R-CNN、SPP-Net和Fast R-CNN等目標檢測結(jié)構(gòu)系列的最終版,其準確率和檢測速度都有了很大的提升。Faster R-CNN是主要由RPN候選框提取模塊和Fast R-CNN檢測模塊組成的算法,其中RPN候選框提取模塊可以輸出區(qū)域建議的物體分類和預(yù)測物體的回歸邊界;Fast R-CNN檢測模塊是在得到的RPN候選框提取模塊中進行最終的目標檢測與分類。具體的Faster R-CNN目標檢測結(jié)構(gòu)的網(wǎng)絡(luò)框架,見圖5。
圖5 Faster R-CNN/R-FCN目標檢測結(jié)構(gòu)的網(wǎng)絡(luò)框架Fig.5 Network framework of Faster R-CNN/R-FCN
(2) R-FCN目標檢測結(jié)構(gòu):R-FCN網(wǎng)絡(luò)是由代季峰等[12]于2016年首次提出的基于區(qū)域的全卷積神經(jīng)網(wǎng)絡(luò),這是一種全新的目標檢測結(jié)構(gòu)。R-FCN網(wǎng)絡(luò)在進行目標檢測時所有的步驟與Faster R-CNN網(wǎng)絡(luò)一樣(見圖5),都是先確定候選框,再進行目標的檢測與分類,不過它的主要目的是通過最大化共享計算來提升速度。
(3) SSD目標檢測結(jié)構(gòu):相比以上兩個目標檢測的算法,SSD[13]的目標檢測結(jié)構(gòu)網(wǎng)絡(luò)就簡單了許多,它是由Wei Liu最先在ECCV 2016上提出的一種目標檢測算法。盡管SSD網(wǎng)絡(luò)的目標檢測率雖不如以上兩個目標檢測算法,但是它的檢測速度卻大大提高了。SSD目標檢測結(jié)構(gòu)將目標檢測與分類一體化,實現(xiàn)端對端的訓(xùn)練,它最大的特點是不同時考慮圖像每個位置的每個邊界及其分類,而是選擇可信度最大者來進行目標檢測與分類。SSD目標檢測結(jié)構(gòu)的網(wǎng)絡(luò)框架,見圖6。
圖6 SSD目標檢測結(jié)構(gòu)的網(wǎng)絡(luò)框架Fig.6 Network framework of SSD
由前述可知,目標檢測中特征提取網(wǎng)絡(luò)有Inception模塊、ResNet和MobileNet等,目標檢測結(jié)構(gòu)有Faster R-CNN、SSD、R-FCN等。通過將不同行人特征提取網(wǎng)絡(luò)與目標檢測結(jié)構(gòu)相組合的方式設(shè)計模型試驗,對比研究各種行人人頭檢測組合模型的準確率和檢測速度。因此,本次試驗在采集的行人人頭數(shù)據(jù)庫的基礎(chǔ)上設(shè)計了基于卷積神經(jīng)網(wǎng)絡(luò)的行人人頭檢測組合模型,見表1。
表1 基于卷積神經(jīng)網(wǎng)絡(luò)的行人人頭檢測組合模型的試驗設(shè)計
注:表中的“√”表示不同的特征提取網(wǎng)絡(luò)和目標檢測結(jié)構(gòu)相互組合的選擇。
由于模型組合較多,本文僅選擇幾種比較具有可行性的模型組合方式來進行研究。根據(jù)試驗所設(shè)計的基于卷積神經(jīng)網(wǎng)絡(luò)的行人人頭檢測模型利用Tensor flow軟件進行試驗訓(xùn)練,并給出最終的試驗數(shù)據(jù)。Tensor flow是一種使用數(shù)據(jù)流和圖來進行數(shù)值計算的開源軟件,主要用于機器學(xué)習(xí)和深度神經(jīng)網(wǎng)絡(luò)的研究。
2.2.1 不同組合模型的準確率與檢測速度對比分析
不同的組合模型對行人人頭檢測的效果不同,本試驗所得到的行人人頭檢測不同組合模型的準確率和單張圖片檢測時間見表2和表3,不同組合模型的單張圖片檢測時間與準確率效果圖見圖7。
表2 行人人頭檢測不同組合模型的準確率
表3 行人人頭檢測不同組合模型的單張圖片檢測時間
由表2和表3可知,由目標檢測結(jié)構(gòu)Faster R-CNN和R-FCN與各種特征提取網(wǎng)絡(luò)組成的組合模型比目標檢測結(jié)構(gòu)SSD與各種特征提取網(wǎng)絡(luò)組成的組合模型的準確率要高,但其檢測速度比由目標檢測結(jié)構(gòu)為SDD與各種特征提取網(wǎng)絡(luò)組成的組合模型慢。由此可歸結(jié)出:①目標檢測模型的準確率與檢測速度有一定的相關(guān)性,一般來說檢測模型的準確率越高,其檢測速度則越低,因此需要平衡準確率與檢測速度來探索最優(yōu)的目標檢測模型;②不同的特征提取網(wǎng)絡(luò)也會影響目標檢測模型的檢測效果,特征提取網(wǎng)絡(luò)的層數(shù)越多,目標檢測模型的準確率越高,但同時檢測速度越慢,如Faster R-CNN目標檢測結(jié)構(gòu)在Resnet 50和Resnet 101不同特征提取網(wǎng)絡(luò)下的檢測效果不同。
圖7 行人人頭檢測不同組合模型的單張圖片檢測時間與準確率效果圖Fig.7 Single image detection time and accuracy of different combined models for pedestrian head detection
通過分析圖7并結(jié)合本文的行人人頭檢測實例可知,可選擇Faster R-CNN目標檢測結(jié)構(gòu)與Inception V2的特征提取網(wǎng)絡(luò)組合的目標檢測模型,其在保證準確率的同時也具有一定的實時可操作性,屬于最優(yōu)的目標檢測模型,可以用于車站的行人人頭檢測。
2.2.2 不同平臺上各組合模型的檢測速度對比分析
為了研究各種行人人頭檢測組合模型在不同平臺上的檢測速度,本文設(shè)計了對比試驗,即將這些組合模型分別在計算機單機和服務(wù)器平臺上運行來進行試驗。計算機單機的操作系統(tǒng)為Windows10系統(tǒng),CPU為Intel Core i5,主頻為2.10 GHz,無顯卡;服務(wù)器的系統(tǒng)為Ubuntu-16.04,CPU為Intel Xeon E5-2620 v4,單顯卡為GeForce GTX 1080 Ti,服務(wù)器端使用的處理計算機與計算機單機的配置相同。計算機單機和服務(wù)器平臺上相同圖片的單張檢測時間對比見表4。
表4 不同平臺上相同圖片的單張檢測時間對比
由表4可知,計算機單機對這些組合模型的檢測速度遠遠低于服務(wù)器平臺的檢測速度。因此在進行實際的行人人頭檢測中,在考慮實時性的條件下,建議使用檢測效果較好的服務(wù)器平臺來進行試驗。
2.2.3 不同組合模型的檢測效果分析
本試驗運行后行人人頭檢測不同組合模型的效果圖,見圖8。
圖8 行人人頭檢測不同組合模型的檢測效果圖Fig.8 Model diagram of pedestrian head detection by different combined models
由圖8可見,不同特征提取網(wǎng)絡(luò)與目標檢測結(jié)構(gòu)的組合模型對行人人頭檢測的效果不盡相同,其中Faster R-CNN目標檢測結(jié)構(gòu)與各種特征提取網(wǎng)絡(luò)組成的組合模型幾乎都可以檢測出大部分的人頭,R-FCN目標檢測結(jié)構(gòu)與ResNet101特征提取網(wǎng)絡(luò)組成的組合模型對行人人頭的檢測效果也較好,但目標檢測結(jié)構(gòu)為SSD與各種特征提取網(wǎng)絡(luò)組成的組合模型的檢測精度沒有其他的組合模型高,且還存在漏檢的情況。因此,在考慮精度的條件下,建議選擇目標檢測結(jié)構(gòu)為Faster R-CNN和R-FCN與各種特征提取網(wǎng)絡(luò)組成的組合模型對車站等公共場所的行人人頭進行檢測。
本文利用基于卷積神經(jīng)網(wǎng)絡(luò)的組合模型對行人人頭檢測進行試驗研究與分析,得到以下結(jié)論:
(1) 在實際的行人人頭檢測過程中,使用Inception-V2特征提取網(wǎng)絡(luò)與Faster R-CNN目標檢測結(jié)構(gòu)相組合的檢測方法,可以滿足準確率和實時性的要求。
(2) 在行人人頭檢測研究的試驗中,還需要考慮的是測試平臺的實用性,本文通過對比分析計算機單機與服務(wù)器平臺上的檢測速度,結(jié)果顯示試驗在降低精度要求、滿足基本需求的情況下,采用計算機單機也可以完成行人人頭檢測任務(wù)。
計算機視覺技術(shù)的快速發(fā)展給人們帶來了很多便利,尤其在行人檢測方面,促使許多基于卷積神經(jīng)網(wǎng)絡(luò)的特征提取和目標檢測方法也有了快速發(fā)展。本文研究的行人人頭檢測方法可以滿足準確率和實時性的要求,如果再配備服務(wù)器資源,就可以順利地進行各種目標檢測模型的試驗研究。該研究對客流統(tǒng)計具有一定的應(yīng)用價值,可以讓公共場所的管理人員及時了解客流情況,從而在發(fā)生火災(zāi)或其他突發(fā)事件時能及時疏散群眾,以避免安全事故的發(fā)生。