邢志祥,顧凰琳,魏振剛,錢 輝,張 瑩,汪李金
(常州大學環境與安全工程學院,江蘇 常州 213164)
在車站、商場等人員密集的公共場所,如果發生突發事件,容易引起人群擁堵、踩踏等事故,如果對行人進行有效的檢測和預警,可以及時阻止此類事件的發生。行人檢測的方法有多種,近幾年來智能安監技術、無人駕駛技術等由于計算機視覺的興起已成為研究的熱點,計算機視覺的快速發展也提供了許多新的行人檢測方法。
針對傳統的計算機行人檢測方法已有較多研究。如何鵬[1]提出了一種基于改進背景減除法的類圓形目標檢測算法,這種方法可以降低背景變化和噪聲對檢測結果的影響,但也可能會出現目標丟失和偽目標的現象;陳亮[2]采用光流法的視頻分析技術對地鐵客流進行了監測,該技術可以較為準確地反映對象的平移運動,但是步驟較為繁瑣、復雜。可見,一些傳統的計算機行人檢測方法都具有一定的局限性。
近幾年來隨著深度學習的快速發展,許多基于卷積神經網絡的行人檢測方法開始興起。本文基于卷積神經網絡,主要研究了幾種不同的行人人頭檢測方法,通過不同的行人人頭特征提取與目標檢測結構組合的方式來探索最優的行人人頭檢測方法。傳統方法對車站、商場、地鐵等人員密集的公共場所的客流進行統計時,一般都是檢測行人,但由于行人高矮不一、胖瘦不均等原因,容易出現遮擋等情況,所以本文嘗試通過高位攝像頭采集行人的人頭數據,這樣可以減少遮擋的情況,從而更容易、準確地統計客流。
卷積神經網絡(Convolutional Neural Network,CNN)[3-4]是一種受到生物自然視覺感知啟發而建立的一種深度學習體系結構,是一種至少使用一層卷積運算來替代一般的矩陣乘法運算的神經網絡。卷積神經網絡主要由輸入層、卷積層、池化層、全連接層和輸出層構成,其復合了多個卷積層和池化層對輸入數據進行加工,并在連接層實現與輸出目標之間的映射。卷積神經網絡的經典模型——LeNet-5的網絡結構,見圖1。

圖1 卷積神經網絡的經典模型——LeNet-5的網絡結構Fig.1 Structure of the classical Convolutional Neural Network model -LeNet-5 network
對行人人頭的檢測可以看成是一個目標檢測的問題,目標檢測一般要確定三個問題:目標定位、目標檢測和目標分類。其中,目標定位是確定候選區域,即確定行人人頭的位置;目標檢測是對候選區域進行特征提取,提取目標分類所需要的行人人頭特征;目標分類是通過提取的行人人頭特征來進行所需要的分類,本文主要分為兩類,即‘是行人人頭’和‘非行人人頭’。基于卷積神經網絡的行人人頭檢測的主要步驟,見圖2。

圖2 基于卷積神經網絡的行人人頭檢測的主要步驟Fig.2 Main steps of pedestrian head detection based on convolutional neural network
在行人人頭檢測時,需要對行人人頭進行數據采集,本文在常州某車站安檢站臺處通過高位攝像頭采集行人的人頭數據,通過一段30 min的視頻監控截取464張圖片并進行標簽,本文選取其中一張圖片的人頭候選區域作為例圖,見圖3。

圖3 行人人頭檢測圖像Fig.3 Images of pedestrian head detection
為了使采集的行人人頭圖像數據在試驗中可以使用,必須將所需要的行人人頭圖像進行歸一化處理后再進行標簽。由于是通過視頻截圖,圖像的分辨率是一致的,所以不需要再對行人人頭圖像進行另外的歸一化處理,主要是對樣本進行標簽。通過Spyder軟件將行人人頭圖像數據導入,通過編寫腳本程序來對樣本進行標簽,標簽完成后就可以將行人人頭圖像數據和標簽數據用來試驗。圖3為通過腳本程序手動選擇的行人人頭檢測區域,圖4為腳本程序運行后與圖3相對應打上標簽的行人人頭數據標簽,即將圖片里的行人人頭區域轉化為數據的形式以方便之后的試驗。圖4中的第一行代表了本張圖片中的行人人頭區域個數,下面的數據則分別代表行人人頭區域的范圍(通過x、y軸的最大值、最小值來確定行人人頭區域范圍)。

圖4 行人人頭檢測數據標簽Fig.4 Data label of pedestrian head detection
卷積神經網絡的特征提取網絡有多種形式,本文主要研究3種特征提取網絡:Inception模塊、ResNet特征提取網絡和MobileNet特征提取網絡。
(1) Inception模塊:Inception模塊最初是由Szegedy在2014年提出的,可以廣泛應用到卷積神經網絡中,目前主要的Inception模塊有Inception V1~V4[5-8]。其中,Inception V1主要構建了1×1、3×3、5×5的卷積層和3×3的池化層,同時使用MLP池化和全局平均池化,擴寬了卷積層網絡寬度,增加了網絡對尺度的適應性;Inception V2提出了BN方法,同時使用兩個3×3的卷積核代替5×5的卷積核,在降低參數量的同時提高了網絡學習的能力;Inception V3引入了Factorization;Inception V4研究了Inception模塊結合Residual Connection。本文通過閱讀文獻選擇了較為常見的Inception V2特征提取網絡。
(2) ResNet特征提取網絡:ResNet特征提取網絡[9]是由何凱明博士的團隊于2015年首次提出,ResNet網絡也稱為深度殘差網絡,一般較常用的是Resnet 50和ResNet 101兩種類型。ResNet網絡主要是應用了一種叫identity mapping的連接方式,可以解決“隨著網絡加深,準確率不下降”的問題。
(3) MobileNet特征提取網絡:MobileNet特征提取網絡[10]是一種輕量級、低延遲的卷積神經網絡模型,可以將標準卷積分解成一個深度卷積和一個1×1卷積核,通過深度可分離的卷積來構建輕量級的深層神經網絡,可廣泛應用于物體檢測、細粒度分類、人臉屬性識別和大規模地理定位等。
目標檢測結構的卷積神經網絡也有很多種類,本次試驗所用到的3種目標檢測結構為:Faster R-CNN、R-FCN和SSD。
(1) Faster R-CNN目標檢測結構:Faster R-CNN最初是由Girshick團隊[11]于2015年提出的一種目標檢測結構,它是R-CNN、SPP-Net和Fast R-CNN等目標檢測結構系列的最終版,其準確率和檢測速度都有了很大的提升。Faster R-CNN是主要由RPN候選框提取模塊和Fast R-CNN檢測模塊組成的算法,其中RPN候選框提取模塊可以輸出區域建議的物體分類和預測物體的回歸邊界;Fast R-CNN檢測模塊是在得到的RPN候選框提取模塊中進行最終的目標檢測與分類。具體的Faster R-CNN目標檢測結構的網絡框架,見圖5。

圖5 Faster R-CNN/R-FCN目標檢測結構的網絡框架Fig.5 Network framework of Faster R-CNN/R-FCN
(2) R-FCN目標檢測結構:R-FCN網絡是由代季峰等[12]于2016年首次提出的基于區域的全卷積神經網絡,這是一種全新的目標檢測結構。R-FCN網絡在進行目標檢測時所有的步驟與Faster R-CNN網絡一樣(見圖5),都是先確定候選框,再進行目標的檢測與分類,不過它的主要目的是通過最大化共享計算來提升速度。
(3) SSD目標檢測結構:相比以上兩個目標檢測的算法,SSD[13]的目標檢測結構網絡就簡單了許多,它是由Wei Liu最先在ECCV 2016上提出的一種目標檢測算法。盡管SSD網絡的目標檢測率雖不如以上兩個目標檢測算法,但是它的檢測速度卻大大提高了。SSD目標檢測結構將目標檢測與分類一體化,實現端對端的訓練,它最大的特點是不同時考慮圖像每個位置的每個邊界及其分類,而是選擇可信度最大者來進行目標檢測與分類。SSD目標檢測結構的網絡框架,見圖6。

圖6 SSD目標檢測結構的網絡框架Fig.6 Network framework of SSD
由前述可知,目標檢測中特征提取網絡有Inception模塊、ResNet和MobileNet等,目標檢測結構有Faster R-CNN、SSD、R-FCN等。通過將不同行人特征提取網絡與目標檢測結構相組合的方式設計模型試驗,對比研究各種行人人頭檢測組合模型的準確率和檢測速度。因此,本次試驗在采集的行人人頭數據庫的基礎上設計了基于卷積神經網絡的行人人頭檢測組合模型,見表1。

表1 基于卷積神經網絡的行人人頭檢測組合模型的試驗設計
注:表中的“√”表示不同的特征提取網絡和目標檢測結構相互組合的選擇。
由于模型組合較多,本文僅選擇幾種比較具有可行性的模型組合方式來進行研究。根據試驗所設計的基于卷積神經網絡的行人人頭檢測模型利用Tensor flow軟件進行試驗訓練,并給出最終的試驗數據。Tensor flow是一種使用數據流和圖來進行數值計算的開源軟件,主要用于機器學習和深度神經網絡的研究。
2.2.1 不同組合模型的準確率與檢測速度對比分析
不同的組合模型對行人人頭檢測的效果不同,本試驗所得到的行人人頭檢測不同組合模型的準確率和單張圖片檢測時間見表2和表3,不同組合模型的單張圖片檢測時間與準確率效果圖見圖7。

表2 行人人頭檢測不同組合模型的準確率

表3 行人人頭檢測不同組合模型的單張圖片檢測時間
由表2和表3可知,由目標檢測結構Faster R-CNN和R-FCN與各種特征提取網絡組成的組合模型比目標檢測結構SSD與各種特征提取網絡組成的組合模型的準確率要高,但其檢測速度比由目標檢測結構為SDD與各種特征提取網絡組成的組合模型慢。由此可歸結出:①目標檢測模型的準確率與檢測速度有一定的相關性,一般來說檢測模型的準確率越高,其檢測速度則越低,因此需要平衡準確率與檢測速度來探索最優的目標檢測模型;②不同的特征提取網絡也會影響目標檢測模型的檢測效果,特征提取網絡的層數越多,目標檢測模型的準確率越高,但同時檢測速度越慢,如Faster R-CNN目標檢測結構在Resnet 50和Resnet 101不同特征提取網絡下的檢測效果不同。

圖7 行人人頭檢測不同組合模型的單張圖片檢測時間與準確率效果圖Fig.7 Single image detection time and accuracy of different combined models for pedestrian head detection
通過分析圖7并結合本文的行人人頭檢測實例可知,可選擇Faster R-CNN目標檢測結構與Inception V2的特征提取網絡組合的目標檢測模型,其在保證準確率的同時也具有一定的實時可操作性,屬于最優的目標檢測模型,可以用于車站的行人人頭檢測。
2.2.2 不同平臺上各組合模型的檢測速度對比分析
為了研究各種行人人頭檢測組合模型在不同平臺上的檢測速度,本文設計了對比試驗,即將這些組合模型分別在計算機單機和服務器平臺上運行來進行試驗。計算機單機的操作系統為Windows10系統,CPU為Intel Core i5,主頻為2.10 GHz,無顯卡;服務器的系統為Ubuntu-16.04,CPU為Intel Xeon E5-2620 v4,單顯卡為GeForce GTX 1080 Ti,服務器端使用的處理計算機與計算機單機的配置相同。計算機單機和服務器平臺上相同圖片的單張檢測時間對比見表4。

表4 不同平臺上相同圖片的單張檢測時間對比
由表4可知,計算機單機對這些組合模型的檢測速度遠遠低于服務器平臺的檢測速度。因此在進行實際的行人人頭檢測中,在考慮實時性的條件下,建議使用檢測效果較好的服務器平臺來進行試驗。
2.2.3 不同組合模型的檢測效果分析
本試驗運行后行人人頭檢測不同組合模型的效果圖,見圖8。

圖8 行人人頭檢測不同組合模型的檢測效果圖Fig.8 Model diagram of pedestrian head detection by different combined models
由圖8可見,不同特征提取網絡與目標檢測結構的組合模型對行人人頭檢測的效果不盡相同,其中Faster R-CNN目標檢測結構與各種特征提取網絡組成的組合模型幾乎都可以檢測出大部分的人頭,R-FCN目標檢測結構與ResNet101特征提取網絡組成的組合模型對行人人頭的檢測效果也較好,但目標檢測結構為SSD與各種特征提取網絡組成的組合模型的檢測精度沒有其他的組合模型高,且還存在漏檢的情況。因此,在考慮精度的條件下,建議選擇目標檢測結構為Faster R-CNN和R-FCN與各種特征提取網絡組成的組合模型對車站等公共場所的行人人頭進行檢測。
本文利用基于卷積神經網絡的組合模型對行人人頭檢測進行試驗研究與分析,得到以下結論:
(1) 在實際的行人人頭檢測過程中,使用Inception-V2特征提取網絡與Faster R-CNN目標檢測結構相組合的檢測方法,可以滿足準確率和實時性的要求。
(2) 在行人人頭檢測研究的試驗中,還需要考慮的是測試平臺的實用性,本文通過對比分析計算機單機與服務器平臺上的檢測速度,結果顯示試驗在降低精度要求、滿足基本需求的情況下,采用計算機單機也可以完成行人人頭檢測任務。
計算機視覺技術的快速發展給人們帶來了很多便利,尤其在行人檢測方面,促使許多基于卷積神經網絡的特征提取和目標檢測方法也有了快速發展。本文研究的行人人頭檢測方法可以滿足準確率和實時性的要求,如果再配備服務器資源,就可以順利地進行各種目標檢測模型的試驗研究。該研究對客流統計具有一定的應用價值,可以讓公共場所的管理人員及時了解客流情況,從而在發生火災或其他突發事件時能及時疏散群眾,以避免安全事故的發生。