龐婷婷, 王瑋
(西安交通工程學院,交通運輸學院,陜西,西安 710000)
隨著計算機技術、網絡技術應用在公共交通系統的逐步深入,公共交通出行將向著智能化、網絡化、信息化方向發展,乘客對公共交通的便捷性提出更高的需求。地鐵車廂內客流量信息可為乘客提供實時的車廂擁擠情況信息,避開人流高峰期,提高出行效率和舒適度。同時,車廂客流信息可為地鐵調度策略提供參考依據。地鐵車廂客流量識別問題成為近年熱門研究課題。DALEY等[1]利用紅外溫度檢測技術對車廂客流進行檢測,實現對車廂內乘客數量的統計。MUDOI等[2]采用背景差分法,通過人工神經網絡對目標圖像進行訓練,并結合目標形狀和顏色特征實現對車廂擁擠度的識別。徐明遠等[3]利用卷積神經網絡,通過神經網絡的改進實現對車廂擁擠程度的判別。本文以車廂監測視頻圖像為對象,利用卷積神經網絡實現對車廂乘客流量的識別,通過卷積神經網絡的結構優化,提升了網絡訓練速度和檢測準確性。
地鐵客流識別系統框架如圖1所示[4]。該算法的核心在于卷積神經網絡的設計,主要原理是通過對圖像特征的訓練優化神經網絡參數,從而建立客流識別模型。首先利用車廂內視頻監控系統獲取車廂內的實時圖像信息;然后對圖像做進一步的預處理,使其滿足卷積神經網絡模型輸入格式的要求,主要包括圖像剪切、灰度處理、圖像直方圖處理等。將處理后的圖像輸入卷積神經網絡模型,通過樣本訓練優化網絡參數,將訓練完成后的網絡作為檢測識別模型,實現對車廂客流的實時輸出。卷積神經網絡主要包含卷積層、池化層,可實現圖像的特征提取,減少了需要調整的參數數量,降低了模型復雜度。

圖1 客流識別系統框架
卷積層屬于卷積神經網絡的特征提取層,網絡輸入數據在該層實現卷積運算,是該網絡模型的基本組成單元。其中,卷積核存在于卷積層中,起到濾波作用。通過卷積核運算可得出特征圖矩陣,且特征圖層數與卷積核的數目相關。卷積層降低了模型參數的個數,提升了模型的適用性,通過樣本訓練可將卷積核用于形狀、顏色、邊緣等特征的檢測器。卷積層公式為
(1)

卷積層的計算過程如圖1所示。最頂端為圖像輸入,圖像設定為3個通道,圖像大小為8*8;第二層為卷積核,每個卷積核的結構相同且參數共享,卷積核之間互相獨立。卷積核在輸入圖片后依次進行卷積運算,輸出特征圖的大小,將卷積核輸出的所有特征圖進行組合則得到所需要的特征圖組。
池化層同樣是卷積神經網絡的基本單元,局部運算對卷積層輸出的特征圖,保持數據主要特征的同時降低特征向量數目,降低特征向量緯度,減少模型參數數量,從而防止網絡發生過擬合現象[5-6]。池化層可以保留數據平移、旋轉、拉伸等特性,但在對特征向量降維的過程中會造成部分信息的損失,且隨著池化矩陣大小的增大,特征信息丟失得越厲害,因此池化矩陣尺寸選擇應適中。
池化最常用的方法有概率池化法、平均池化法和最大池化法[7]。其中,平均池化法是直接采用圖像特征值的平均值作為其特征值。最大池化法是取圖像特征值中的最大數值作為其特征值。概率池化法主要是利用概率矩陣尺寸,通過對概率矩陣進行加權后再進行均值計算,完成池化運算。
隱含層中的非線性激活函數對神經網絡模型提取數據特征具有關鍵性作用,且具有較好的擬合能力,具備對抽象特征和層次特征的提取能力。由于現實研究的問題多為非線性問題,無法實現線性分割,需要通過非線性映射關系,將數據特征從低維度空間映射到高維度空間,在高維度空間中再對數據特征進行線性分割,非線性激活函數在這一過程中起到至關重要的作用。常用的激活函數可分為Sigmoid函數、Tanh函數、Relu函數,三種函數曲線圖如圖2所示[8-9]。

圖2 三種激活函數曲線
其中,Sigmoid激活函數公式為
(2)
Tanh激活函數公式為
(3)
Relu激活函數公式為
(4)
Sigmoid函數可將輸入數據壓縮至[0,1]區間,其具有嚴格單調遞增性,比較適用于二類分類問題。但其存在兩方面缺陷:一方面是其輸出結果的平均值不為0,以至于后續的隱含層輸入的平均值也不為0,當輸入均值為正值時,導致隱含層梯度也為正值,影響模型訓練結果;另一方面,Sigmoid函數容易發生飽和,導致參數更新失敗,降低數據特征提取能力。Tanh函數可將輸入數據壓縮至[-1,1]區間,能夠保證輸出數據的平均值為0,但其同樣存在不足,當輸入數值過小或過大時,梯度變化速率將非常小,致使訓練收斂速度過慢。
Relu函數屬于分段函數,但輸入值小于0時,輸出值置零,當輸入置大于0時,輸出與輸入相等。該激活函數不用進行指數運算,僅需與設定的閾值做比較,計算簡單,大幅度提升了運算速度。另外,該函數不容易出現飽和現象,當輸入為正值時梯度值為常數,輸入為負數時梯度被置零,從而保證梯度一直存在。同時,該函數可使神經元狀態具有一定稀疏性,不易出現過擬合現象。比較三種激活函數的特性,選用Relu函數作為卷積神經網絡的激活函數。
對于地鐵車廂客流識別問題,需要同時考慮識別的準確性和快速性。在保證識別準確率符合需求的前提下,應盡量簡化網絡結構的寬度和深度,降低網絡規模和參數數量,以提升模型訓練和圖片處理速度,保證地鐵客流檢測的實時性。選用GoogLeNet模型作為客流檢測的基礎算法,該卷積神經網絡模型只需增加少量參數,即可實現網絡深度和寬度的提升,且具有很強的非線性表達能力。由于地鐵車廂客流識別算法需要運行于嵌入式設備,對網絡的規模和層深要求苛刻,改進型GoogLeNet模型結構比較適用于此類應用環境[10]。
GoogLeNet神經網絡模型是在LeNet和AlexNet模型的基礎上進行改進發展而來,提升了網絡層的最大深度,最大可達到22層,同時對網絡寬度進行了擴展,在參數增加很少的情況下,降低過擬合度,提升網絡性能,可大量節約計算資源。GoogLeNet神經網絡模中的Inception模塊可提升網絡的非線性表達能力,將相同輸入的特征圖通過多路卷積運算合并為一個特征圖,Inception模塊結構如圖3所示。

圖3 Inception模塊標準結構
為了提升模型運算效率,對GoogLeNet模型做進一步改進,Inception模塊中存在四路獨立的卷積運算通道,在每路卷積通道中分別存在一個1*1大小的卷積核,其主要作用是特征提取和降維,可對卷積核進行剪切刪除,只要保留不小于2個卷積核,其網絡模型性能就不會受到明顯影響。通過卷積核剪切,將原有的5*5卷積核簡化為3*3卷積核,數據運算量得到明顯減少,剪切改造后的Inception 模塊結構如圖4所示。

圖4 Inception模塊改進結構
對某地鐵線路中的一節車廂進行圖像采集,每10 s采集一幅圖片,共獲取15 000張圖片。如果將車內乘客簡單分為擁擠和寬松兩個狀態,分類不夠精細,無法為乘客和鐵路調度提供具有參考意義的客流量參考狀態。因此,將地鐵車廂內客流量分為5類狀態:S1(非常擁擠);S2(一般擁擠);S3(適中);S4(一般寬松);S5(非常寬松)。其中:S1(非常擁擠)狀態表示車廂內座位已坐滿且過道站立面積占用80%以上;S2(一般擁擠)狀態表示車廂內座位已坐滿且過道站立面積占用50%~80%左右;S3(適中)狀態表示車廂內座位基本坐滿且過道站立面積占用30%~50%左右;S4(一般寬松)狀態表示車廂內座位可有空余且過道站立面積占用不足30%;S5(非常寬松)狀態表示車廂內座位有明顯空余且過道幾乎沒有站立乘客。安排3名評審人員對每張圖片的狀態進行評估和標注,對于處于兩種相鄰狀態的圖片進行模糊評估,最終獲得5類狀態的圖片數目:S1為4 016張;S2為3 336張;S3為2 591張;S4為2 325張;S5為2 732張。
從每個狀態分組中隨機抽取出500張圖片作為測試圖片,其他圖片作為訓練樣本,訓練學習率設定為0.01,批處理數量定為32,限定最大迭代運算次數不超過5 000次,樣本訓練的損失函數與訓練次數的對應關系如圖5所示。

圖5 樣本訓練的損失函數曲線
由圖5可見,隨著運算迭代次數的增加,損失函數值向逐步減小的方向變化,且遞減速度逐漸減小,數值最終穩定收斂在0.15左右。模型訓練結果準確率與訓練次數的對應關系如圖6所示。隨著迭代次數的增加,準確率逐步上升,且上升速度逐步減少,準確率最終穩定收斂于95.5%左右。整個過渡過程中,訓練曲線無明顯大幅度波動,表明模型具有很好的穩定性和較快的學習速度。當訓練迭代次數超過4 000次,模型準確率基本穩定,提升幅度不大,單純的提高迭代次數已無法進一步提升準確率,可通過對模型結構的進一步優化研究(例如調整卷積核維度等)來實現準確率的提高。

圖6 識別準確率曲線
利用圖像信息實現車廂客流狀態的識別,可借助車廂原有的監控系統,無效額外增加前端檢測終端,簡化了系統結構且節約構建成本。本文將車廂客流狀態劃分了五類狀態,由于該改進型算法具有較快的訓練收斂速度,可對狀態做進一步擴充,在保證運算度的前提下,為乘客提供更精細的狀態分類。可對卷積神經網絡的卷積層和池化層做進一步的優化研究,擴充分類量,提升模型對相鄰分類之間模糊區域的特征提取和識別能力,使得系統具有更精細的識別能力。