王明哲,張研,楊棟,張秋亮
(中國鐵道科學研究院集團有限公司 電子計算技術研究所,北京 100081)
隨著人工智能、深度學習等新技術的發展,智能客運車站的建設突飛猛進。智能客運車站是在現代鐵路管理、服務理念和云計算、物聯網、大數據、人工智能、機器人等最新信息技術基礎上,以旅客便捷出行、車站溫馨服務、生產高效組織、安全實時保障、設備節能環保為目標,實現鐵路客運車站智能出行服務、智能生產組織、智能安全保障、智能綠色節能有機統一的新型生產服務系統[1-3]。車站旅客密度是智能客運車站建設中的關鍵信息,可提升客運生產作業的智能化水平,實現作業人員實時動態調配,對提高客運生產作業效率具有重要意義。
車站旅客密度的檢測主要依靠機器學習技術分析前端攝像頭拍攝的畫面,統計區域范圍內的旅客人數,得出旅客密度。傳統圖像檢測技術主要依靠Svm、Adaboost 等分類算法,結合Haar 特征、Hog 特征等人為選定的特征進行圖像檢測[4-5],復雜場景中的識別準確率不高,無法滿足現場實際需求。
近年來,深度卷積神經網絡在圖像領域發展迅速,深度卷積神經網絡AlexNet[6]、GoogLeNet[7]、VGGNet[8]、ResNet 等的出現,大幅提高了圖像分類、目標檢測領域的準確率。隨著目標檢測技術準確率的不斷提升,檢測的實時性問題也成為圖像領域的研究熱點。在RCNN 和Fast-RCNN 算 法 基 礎 上,Ren 等[9]提 出Faster-RCNN 算法,算法通過選取推薦、目標分類2 步實現目標檢測,在ZF-model 下達到了17 F/s 的檢測速率;為了進一步提高檢測速率,Liu 等[10]提出SSD 算法,算法將Faster-RCNN 算法中的選取推薦、目標分類2 步合并為1 步,直接檢測目標,SSD300 模型的檢測速率達到了59 F/s。深度學習技術在目標檢測領域的迅速發展為實時、準確檢測車站旅客密度提供了新思路。
將圖像輸入卷積神經網絡進行特征提取,對提取的圖像特征運行Faster-RCNN 算法,以進行圖片分類。Faster-RCNN 算法主要包括候選框推薦和分類檢測2 個步驟,其原理見圖1。

圖1 Faster-RCNN 算法原理
輸入圖像(image)進入卷積層(conv layers)進行特征提取,得到特征圖譜(feature maps),這一步中的卷積層可以是任意神經網絡,如ZF-model、VGG16、Res-Net 等深度神經網絡;特征圖譜信息經過選區推薦網絡(region proposal network)產生候選區(proposals),推薦的候選區僅表示有無目標,選取推薦網絡的損失函數(損失函數由邊框分類損失和邊框回歸損失兩部分構成)定義如下:

式中:pi為方框預測為目標的概率為方框的標簽,0 為負樣本,1 為正樣本為分類損失;為2 組線性變換為將方框變換到預測框的線性變換為將方框變換到標定框的線性變換為回歸損失。
最后對候選區進行感興趣區域池化(RoI pooling),輸出固定長度的特征向量,并進行分類和回歸,確定最終的分類結果(classifier)。
SSD 算法基于VGG16 網絡對輸入圖片進行特征提取,通過綜合多尺度的特征圖譜,直接進行目標分類和邊框回歸,得到最終檢測結果,其原理見圖2。

圖2 SSD 算法原理
在圖2 中,輸入圖像尺寸為300×300 像素固定尺寸,算法也支持512×512 像素輸入的圖像。SSD 通過類似VGG16 的卷積神經網絡進行特征提取,從6 個不同尺度的特征圖進行特征提取,底層提取特征預測小目標,高層提取特征預測大目標。最終匯集不同特征尺度上的邊界框,對每個類別可得到8 732 個邊界框,直接對邊界框進行分類和回歸,完成最終預測。SSD算法的損失函數定義如下:

式中:x為的簡寫,為第i個邊界框預測為第j個真實框且分類為p;c為置信度;l為預測框;g為真實框。
損失函數由分類損失函數Lconf和位置損失函數Lloc構成,Lconf為Softmax 損失函數,Lloc與Faster-RCNN 算法類似,為SmoothL1損失函數。
車站旅客密度檢測的主要任務是獲取實時視頻流,截取圖片,并識別圖片中的所有人,進而評估區域旅客密度,并在密度過高時給予報警。定義人數檢測準確率指標P以評價算法準確性,定義如下:

由于1 張圖片中的人數多少、遮擋等因素對檢測準確率會產生較大影響,因此將檢測場景分為低密度場景和高密度場景2 種,選取具有代表性的100 張低密度場景圖片和30 張高密度場景圖片,分別評價算法的準確性,圖片分辨率為1 080P。對每張圖片的人數檢測準確率進行算術平均,得到最終算法準確率。
深度學習的訓練依賴大量帶有標注的樣本構成的數據集,常用的公開數據集有VOC2007、VOC2012、COCO 等數據集。VOC2007 數據集由訓練集和測試集2 部分構成,其中,訓練集有5 011 張標注圖片,測試集有4 952 張標注圖片,共有20 種標注類別;VOC2012 數據集與VOC2007 數據集的樣本類別相同,圖片數量更多;COCO 數據集有80 個樣本類別,圖片數量超過10 萬張。
選取VOC2007 數據集和VOC2012 數據集一起訓練模型。針對Faster-RCNN 算法,采用VGG16 卷積神經網絡訓練檢測模型;針對SSD 算法,分別訓練SSD300 和SSD512 兩個檢測模型。對得到的3 個模型進行評價,Faster-RCNN、SSD300、SSD512 算法的檢測準確率見表1。

表1 公開數據集下的檢測準確率 %
VOC 數 據 集 下 訓 練 的Faster-RCNN、SSD300、SSD512 算法在低密度場景、高密度場景的檢測結果見圖3、圖4。

圖3 VOC 數據集下訓練的各算法低密度場景檢測結果

圖4 VOC 數據集下訓練的各算法高密度場景檢測結果
分析上述試驗結果,3 種算法在VOC 數據集上訓練的模型檢測準確率均不高,無法滿足現場需求。相比而言,Faster-RCNN 算法在低密度場景和高密度場景下的準確率均明顯高于SSD300 算法和SSD512 算法。針對公開數據訓練的模型在車站旅客密度檢測任務中準確率不高的問題,建立車站行人數據集,采用Faster-RCNN 算法訓練模型,并分析檢測準確率。
通過采集車站各種場景的視頻流,截取圖片,并標注其中的行人,建立車站行人數據集。車站行人數據集由500 張1 080P 分辨率的圖片組成,標注類別為“行人”一個類別,數據集格式為VOC 格式。
選取數據集中80%數據構成訓練集,剩余20%數據構成驗證集。采用由ImageNet 網絡預訓練的VGG16 模型進行訓練,并固定VGG16 網絡的前3 層網絡參數,學習率設置為0.001,訓練次數設置為70 000。訓練和測試中的輸入圖片歸一化尺寸均設置為1 920×1 080 像素,侯選區推薦數量設置為12 000,非極大值抑制后保留的候選區數量設置為2 000。對訓練的模型進行評價,分別測試低密度場景和高密度場景的檢測準確率,結果見表2。

表2 車站行人數據集下的檢測準確率 %
車站行人數據集下訓練的Faster-RCNN 算法在低密度場景和高密度場景的檢測結果見圖5、圖6。

圖5 Faster-RCNN 算法低密度場景檢測結果

圖6 Faster-RCNN 算法高密度場景檢測結果
(1)在車站場景中,使用Faster-RCNN、SSD300、SSD512 算法在VOC 數據集下訓練的模型,行人檢測準確率均不高,分析如下:車站攝像頭的安裝位置角度大多為遠距離大場景俯視拍攝,而VOC 數據集中的行人大多為特寫,這個差異對檢測結果有較大影響。
(2)SSD300、SSD512 算法的檢測準確率很低,與Faster-RCNN 算法存在明顯差距,分析如下:檢測圖片的原始分辨率為1 920×1 080 像素,SSD300 算法將分析圖片壓縮到300×300 像素進行檢測,SSD512算法將分析圖片壓縮到512×512 像素進行檢測,原始畫面中的行人目標在大比例壓縮尺寸后變得難以檢測。
(3)針對畫面角度、圖片尺寸壓縮過大的問題,在車站行人數據集下訓練的Faster-RCNN 算法準確率明顯提升。
(4)在車站行人數據集下訓練的Faster-RCNN 算法,在低密度場景和高密度場景的準確率差異不大,分析如下:低密度場景中人數較少,單個目標的漏檢會大幅降低整體準確率。
車站旅客密度是智能客運車站的重要基礎信息,對客運生產作業提質增效具有重要意義?;诠_數據集的模型和算法難以適應鐵路客運站的復雜場景,通過車站行人數據集訓練的模型可有效提升旅客密度檢測準確率,解決現場問題。目前,車站旅客密度信息已接入旅客服務與生產管控平臺,并在智能京張高鐵、京雄城際鐵路開展工程化應用。