王釧文,王 磊,黃仁歡,覃 銳
(通號萬全信號設備有限公司,杭州 310000)
列車在自動駕駛過程中的安全性,主要依賴于列車自動保護系統(ATP)。而ATP強調的是車距與行車授權,對于行車過程中的如行人闖入等突發(fā)狀況,無法做到有效的防護與應對。因此列車在途障礙物檢測作為一種重要的列車安全防護手段,早已成為列車全自動運行研究過程中一個重要的分支。
對于列車在途障礙物檢測的研究,始于20世紀70年代,研究初期,主要利用各類傳感器,如激光雷達傳感器和視覺傳感器,以及各種傳統圖像處理算法,如HOG特征和SVM分類器等。由于硬件手段及軟件算法限制,當時并未獲得較為理想的檢測效果。2006年深度學習理論的提出,及其后硬件條件的不斷更新,為列車在途障礙物檢測,尤其是中低速列車的在途障礙物檢測研究注入了新的血液。2015年YOLO檢測算法的提出,為列車在途障礙物檢測提供了新的解決方案。YOLO檢測算法亦屬于卷積神經網絡,但由于對傳統的卷積神經網絡結構進行了優(yōu)化,在確保準確率的同時,極大程度上縮短了檢測時間。YOLOv3作為目前較優(yōu)的YOLO檢測算法版本,其理論識別速率為45 F/s(YOLOv3-320),官方給出的預訓練模型可識別超過100種不同物體,極為適合中低速列車在途障礙物識別使用。
本文以YOLOv3檢測算法為基礎,在其原有的預訓練模型基礎上做遷移學習,并結合freeman鏈碼邊緣檢測方法,提出一種基于YOLOv3的中低速列車在途障礙物檢測方法。
YOLOv3網絡由多個按特定順序排列的1×1和3×3卷積層組成。同時,在每個卷積層之后順序配置一個BN層和一個LeakyReLU層以實現其網絡的基礎功能。一般而言網絡中總共包含53個卷積層,所以又被稱為Darknet-53網絡,其詳細結構如圖1所示。預測過程中,利用(4+1+c) ×k個大小為1×1的卷積核進行卷積預測,以求提高識別準確度和識別效率。其中k為預設邊界框(bounding box prior)的個數(一般默認為3),c為預測目標的類別數。
圖1 YOLOv3網絡結構示意Fig.1 YOLOv3 network structure diagram
遷移學習的核心在于,選用已有的高效泛用模型,通過固定其基礎結構,同時利用已有數據對其輸出層或最后幾層進行重新訓練。從而針對某一特定場景建立更為高效的學習模型。由于只對部分網絡進行訓練,所以并不需要極大規(guī)模的樣本數據作為支撐。該做法的優(yōu)勢在于,節(jié)省了大量數據收集、處理、標注工作,同時確保了網絡的識別能力。
其主要的遷移過程如下:
訓練或引用一個標準網絡模型(base network);
將其前n層復制到最終需要得到的目標模型(target network)的前n層 ;
將target network剩下的其他層隨機初始化;
使用自身收集的與實際使用環(huán)境相契合的數據,訓練得到最終需要的目標模型。
訓練過程中可以選擇把遷移過來的這前n層“凍結”起來,即在訓練target task的時候,不改變這n層的值?;蛘撸粌鼋Y這前n層,而是不斷地在一定范圍內調整它們的值,該過程稱之為“微調”。大部分情況下,為了契合新的使用場景,都會使用到“微調”。
弗雷曼鏈碼(Freeman)是用曲線起始點的坐標和邊界點方向代碼來描述曲線或邊界的方法,對于求取圖片中全邊界有非常優(yōu)異的效果。
如圖2所示,在圖像上選定任意一個像素點,同時將與其相鄰的8個像素點分別標記為0~7;設i為圖像上某像素點索引值,目標曲線pi→b7的路徑為pi→b4→b5→b6→b7,則其相應的弗雷曼鏈碼可以表示為46000。此時,將其路徑改為pi→b0→b7,那么,它的弗雷曼鏈碼則變?yōu)?6。相對于鐵軌而言,若經統計發(fā)現其鏈碼中,某一字段出現頻率極高,那么,在軌道邊緣提取過程中,將該字段出現頻率最高的線段提取出來,即可得到準確的軌道邊緣。
圖2 弗雷曼鏈碼8鄰域標記方法示意Fig.2 Schematic diagram of Freeman chain code 8 neighborhood marking method
整合以上提到的檢測手段,配合現有的效果較優(yōu)的圖像與處理手段,結合車載視覺傳感器(車載攝像頭)獲取到的視頻信息,即可得到中低速列車在途障礙物檢測的完整方案,包括如下步驟:
1)車載攝像頭獲取到行車畫面,歸一化處理后,記錄原圖并拷貝兩個副本(副本一與副本二),副本與原圖應完全一致;
2)對副本一設置感興趣區(qū)域(ROI)標記出鐵軌大致位置;
3)圖像預處理、去噪;
4)使用canny算子獲取圖中的所有邊緣信息;
5)使用Freeman鏈碼提取軌道邊緣位置,并標記至原圖;
6)對副本二使用訓練好的YOLOv3網絡檢測可識別的物體;
7)若存在可識別的物體則進行步驟8),否則直接進行步驟9);
8)將可識別物體的位置與步驟5)得到的軌道邊緣做位置對比,若在軌道邊緣內,則在原圖上標記該物體并將報警信息上報至車載臺。否則只在原圖上對該物體進行標記;
9)在車載臺上顯示原圖。
依據步驟1)至步驟9)逐幀檢測車載攝像頭獲得的行車畫面,即可實時監(jiān)測列車運行過程中是否存在可能的障礙物,并及時預警。
本文使用天水有軌電車示范線一期工程中采集的車載視頻,共截取2 400張大小為1 024×768的圖片樣本,樣本目標包括社會車輛和信號機各1 200張(由于部分圖片中可能包含多種目標,故圖片有復用)。使用其中2 000張(每種1 000張)作為訓練集,400張作為測試集。
試驗過程中共計識別圖片400張,其中誤識別4張,漏識別6張,誤識別率1.0%,漏識別率1.5%,漏識別率相對較高。其主要原因在于,天水項目車載攝像頭安置于駕駛室內,受光線及駕駛室玻璃折射、散射影響較大,成像質量較差,嚴重制約識別效率。識別效果如圖3所示。
圖3 軌道邊緣及障礙物識別效果Fig.3 Track edge and obstacle identification effect picture
本文使用YOLOv3網絡及freeman鏈路算法,有效識別了軌道邊緣和列車運行前方障礙物,是一種適用于中低速列車的在途障礙物檢測方法。