石 旭,李 輝,李心怡,姚世嚴,李天宇,鄭劍飛
(北京軌道交通路網管理有限公司,北京 100101)
人工智能技術在安防、金融等諸多行業已經有了較為廣泛的應用,但是通過深入調研分析,伴隨應用場景的差異化,其所能夠選用的算法也是千差萬別的,而且同樣的算法可能在軌交行業精準度大幅下降,難以滿足業務需求。因此,軌道交通行業在引入人工智能技術的過程中,絕不能簡單地一蹴而就,需要做好充分準備,針對自身行業特性,對所選用的各類智慧化方案核心算法加以改造、優化,以便更加契合實際應用場景,從而實現精度、成本和穩定性達到行業應用水平的目標。基于當前智能視頻分析算法精準度普遍難以滿足應用要求的現狀,為此,本文提出了一種針對軌道交通行業大客流環境的新型目標檢測算法。
目標檢測是一種計算機視覺技術,它使我們能夠將視頻中的對象進行識別和定位。通過這種識別和定位,目標檢測可用于計算場景中的對象并確定、跟蹤它們的精確位置,同時準確地標記它們[1]。在視頻圖像分析研究中,核心問題包括運動目標檢測、目標跟蹤、圖像分割與行為理解。而目標檢測算法是其中最為基礎、最重要的算法,其存在是為了解決計算機視覺里的一個最基本任務,那就是我們感興趣的目標在圖像中的什么位置。
目前,業界比較通用的檢測模型可分為兩階段模型(two-stage)和單階段模型(one-stage)兩類。兩階段檢測模型精度高而耗時長,往往對硬件配置的需求高,且難以做到實時檢測,在實際項目中無法規模化應用。單階段模型選擇犧牲一定的精度,換取速度上的大幅提升。就單階段模型而言,在一些復雜場景下,由于目標尺寸分布廣泛,如果骨干網絡過淺,檢測網絡設計又過于簡單,參數利用不充分,就會導致目標特征信息提取不到位,從而導致檢出困難,誤檢多;反之,如果骨干網絡過深,檢測網絡較為復雜,又會導致模型速度過慢,無法做到實時檢測,也就失去了應用價值。
正是鑒于目標檢測算法的這種基礎性地位,我們選取了一部分廠商的現有算法來進行有針對性測試,進而發現在面對軌道交通行業的大客流、遠視角的特有環境條件時,現有算法均存在一定概率的漏檢和誤檢,無法滿足正式使用要求。對于這些現有技術的不足之處,以更加適應軌道交通行業的特有環境為出發點,基于單階段檢測網絡進行了以下改進,從而解決上述這些技術問題。
(1)提出了一個由20層卷積神經架構組成的骨干網絡。
(2)檢測網絡部分采用特征金字塔的思想,對骨干網絡最后一層的輸出進行兩次上采樣,從而獲取到3個尺度的特征圖,同時將深層語義信息和淺層輪廓信息進行特征融合,并分別在3個尺度的特征圖上對不同尺度的目標進行檢測。
依據目標檢測算法改進思路,本文提出了一種新型目標檢測算法,核心模塊由兩個網絡組成。
(1)20層的骨干網絡:該骨干網絡全部由卷積構成,由尺寸為3×3、步長為2的卷積完成圖像的下采樣,總共對圖像進行了6次下采樣。
(2)檢測網絡:我們參考了FPN金字塔結構,對最后一個尺度的特征圖進行兩次上采樣(upsample),并且利用通道數拼接(concat)的方式來融合對應尺寸的淺層特征信息(backbone feature map),然后再對其進行一次特征提取,來進行檢測校驗。
新型目標檢測算法利用以下步驟,都能夠以一定的精度將視頻中的目標物體進行定位和識別[2]。
第一步,準備模型訓練所需要的圖片及其對應的預標注文件。在預標注文件里標注的是待檢測目標的最小外接框(x,y,w,h),其中,x表示標注框中心點的橫坐標,y表示標注框中心點的縱坐標,w表示標注框寬,h表示標注框高。
第二步,開始設定每張尺度特征圖上所使用的錨框(anchor)個數。為了保證模型訓練的效果,即精度與速度達到預先想要的平衡,我們需要在每張尺度特征圖上選取3個尺寸的錨框。因此,在上述模型中一共需要使用三個尺度的特征圖,每個尺度的特征圖上使用3個錨框,錨框總數為9。在下述過程中,我們會默認每個尺度的特征圖上都使用3個尺寸的錨框[3]。
第三步,要對訓練集中的標注框分別按照尺寸進行聚類,聚類的簇數與錨框總個數一致,采用聚類得到的結果來做為錨框尺寸。其可視化說明如圖1所示。

圖1 關于步驟三的可視化說明
第四步,設置網絡檢測層所要輸出的通道數,通道數用C_out來表示:
C_out=(num_cls+4+1)×num_anchor (1)式中,num_cls表示待測類別數量;num_anchor表示每個尺度的特征圖上所選用的錨框個數(例如,在步驟二的前提下,num_anchor=3);4表示預測框中的4個位置坐標信息;1表示1個用于判定正負樣本的參數。
第五步,設定負樣本的判別閾值。在我們所研究的這個模型下,為了確保模型能夠有較高的召回率,選取了預測框與真實值(ground truth)IoU≥0.3的預測框來作為正樣本保留,其余預測樣本作為負樣本,后續不參與分類損失的計算。
第六步,對我們所構建的這個卷積神經網絡進行規模化樣本訓練,保存最終模型及參數。
第七步,隨機準備一張待檢測的圖片,加載進入我們已經訓練完成的卷積神經網絡模型,通過對所得出的檢測結果進行驗證,評價該模型可靠性。
目標檢測的目的是定位和分類視頻圖像中的現有目標,并用矩形邊界框對其進行標記,以顯示存在的可信度。一種方法遵循傳統的目標檢測管道,首先生成區域建議,然后將每個建議分類為不同的對象類別。另一種方法是將目標檢測視為一個回歸或分類問題,采用統一的框架直接獲得最終結果(類別和位置)[4]。基于區域建議的方法主要包括R-CNN、R-FCN、Fast R-CNN、Faster R-CNN、SPP-net、FPN和Mask R-CNN,其中一些方法相互關聯,如SPP-net使用SPP層修改RCNN[5]。基于回歸或分類的方法主要包括MultiBox、G-CNN、AttentionNet、YOLO、SSD、YOLOv2、DSSD和DSOD[6]。
相比以往目標檢測算法,新型目標檢測算法將在以下3個方面有明顯提升。
(1)設計的20層卷積神經架構參數量少,在利用feature extra block模塊降低參數量的同時,還能加深網絡深度,從而使得網絡對圖像中所需要關注的特征提取更加充分[7]。相比較于通常的下采樣方式,選用步長為2的卷積來完成下采樣工作(pooling),能夠在擴大感受野的同時,提取更多有效特征信息。
(2)在檢測網絡部分,分別在3個尺度的特征圖上做檢測,其中大特征圖感受野小,用于對應小目標,而小特征圖感受野大,用于對應大目標。采用這種方式使得模型對于尺度、比例分布廣的目標具備更強的魯棒性。除此之外,通過淺層網絡提取出來的特征更多是作為物體的邊緣以及輪廓相關信息,而深層網絡提取的特征則多作為物體的語義信息。隨著網絡的不斷加深、感受野的加大,這就會導致一些小目標的語義信息丟失,通過將深層語義信息與淺層輪廓信息相結合的方式,可以相對提升圖像中小目標的檢測效果。
(3)由于整體上需要定義的參數量很少,能夠在確保精度的同時,大幅地提升檢測速度,使FPS能夠達到130以上,完全滿足實時視頻監控系統的應用需求。
首先,該算法模型在搭建之初就是完全按照軌道交通行業特有的環境條件來進行設計的,在訓練過程中所使用的數據也全部基于線路、站廳及車輛等環境中現有視頻監控系統來進行采集。這使得該模型對于軌道交通行業業務場景的適配性非常強,能夠有效實現場景中所需各類目標的檢測,從而為進一步進行數據分析奠定了良好基礎[8]。例如,當使用在對換乘通道人員密度、流向等進行分析的場景中時,由于該檢測網絡模型能夠很好地識別圖片中出現的各種尺寸的目標,尤其是小目標,就可以更為準確地檢測出大客流、遠視角情況下,每一幀圖像中的頭肩數。
其次,該算法模型性能優越,能夠快速完成在單幀圖像中對目標內容的檢測,FPS≥130的幀率已覆蓋并超越軌道交通行業現有視頻監控系統全部前端采集設備的標準幀率[9]。在上述例子中,通過這種高速檢測,我們可以獲取視頻每一幀畫面內所需要關注的目標,并通過數據分析手段,判斷出每一個單獨目標的運行軌跡及運動趨勢,從而明確了解到該監測環境下的乘客走向,為精準導流的實現奠定了技術基礎。
最后,基于該算法模型簡單的結構以及更少的參數量,其對于硬件資源的消耗也較為友好,使得以邊緣計算形式進行利用成為可能,這既符合行業發展大方向,又能夠有效節約各類改造項目中的資源需求。
得益于近兩年云計算、物聯網、大數據等先進技術的發展和成熟,智能視頻監控獲得了強有力的技術支撐,未來視頻監控系統將從根本上改變信息采集、視頻傳輸處理、系統控制的方式和結構形式,有效提高視頻監控的智能化程度和使用價值。
本文通過分析智能視頻分析技術中最基礎、最核心的目標檢測算法的技術現狀,結合軌道交通行業特定的應用需求和場景,提出一個適應軌交行業大客流環境的新型目標檢測算法的技術思路,力爭解決智能視頻分析技術在軌道交通行業落地難的難題。后續,我們將深入研究各個應用場景的業務需求,在算法設計和研發過程中,根據測試效果對新型目標檢測算法的技術思路進行驗證和優化,為后續試點應用奠定堅實的技術基礎,為“智慧地鐵”的建設提供有力支撐。■