沈 拓, 謝遠翔, 盛 峰, 謝蘭欣, 張 穎, 安雪暉, 曾小清
(1. 同濟大學 上海市軌道交通結構耐久與系統安全重點實驗室,上海 201804;2. 清華大學 土木水利學院,北京 100084;3. 中電建路橋集團有限公司,北京 100070;4. 上海澤高電子工程技術股份有限公司,上海 201900)
車輛定位技術作為列車運行控制系統中的一項關鍵技術,為高速鐵路列車運行控制系統實時提供可靠的速度和位置信息,其定位精度將影響列車運行效率、安全性和服務質量。將車輛定位技術用于高速鐵路施工車輛定位,現有軌道車輛定位方式,主要是以“車載+軌旁”測量方式來實現“誤差累積+復位”。該定位模式強依賴于軌旁設備和信號系統,不僅存在軌道交通線路建設難度大,維修成本高等問題,而且列車長期運行會出現因軌旁設備或信號系統故障,導致傳輸過程中列車定位失效,從而影響軌道交通的運營秩序。此外,地鐵的運行環境多為地下長隧道,因此全球導航衛星系統(global navigation satellite system,GNSS)等精準定位方法不具有適用性。現行軌道車輛定位方法主要有軌道電路定位方法、查詢應答器/信標定位方法、無線擴頻定位方法、全球衛星導航定位和地圖匹配方法,但這些方案依賴信號系統傳輸數據,易受干擾和控制,且無法避免特殊環境如大量長隧道運行環境下衛星信號較差的局限性。隨著下一代高速鐵路列控系統中的列車測速定位系統精確性、實時性,可靠性等應用需求越來越高,“車載中心化”的列車自主定位方式已成為新的研究發展方向。
基于視覺的前方目標定位測速測距方法因具有遠量程、非接觸和高精度等特點,很多學者致力于使用單幅圖像來實現車輛路徑的保持和跟蹤,車輛導航和定位等。軌道交通的視覺定位研究主要有基于人工標志的定位[1-3]、實時定位與建圖[4-5](simultaneous localization and mapping,SLAM)和基于局部運動估計的定位[6-7]三種類型,具有遠量程、非接觸等優點,但是易受光照影響。隨著圖像處理技術的不斷發展,視覺傳感器等硬件成本的不斷降低,其環境適應性和感知準確性都得到較大幅度提升,將為車輛定位研究提供更加精確可靠的基礎性能保障。
為適應全自動運行列車技術的發展和推廣,并能夠滿足負責調車作業和搶險救援等的軌道工程車的自主定位需求,本研究提出一種基于列車前視相機拍攝百米標視頻的軌道車輛自主定位方法。百米標是設置在軌道線路旁的一類標識,表示正線每百米距離該線路起點的長度。因此,利用視頻識別到軌旁百米標數字編號即可確定百米標的位置信息,從而實現對線路運行列車定位。該方法分別構建了百米標目標檢測模型和百米標數字文本識別模型。首先針對軌道交通環境復雜、軌旁標識多樣、百米標成像小和定位性能要求,使用單階段類型的YOLOX 目標檢測算法并進行改進,實現復雜環境下的百米標檢測;其次,在檢測到百米標之后,為解決百米標文本傾斜模糊、光線不均等問題,提出一種結合圖像預處理的改進卷積循環神經網絡(convolutional recurrent neural network,CRNN)百米標文本識別算法,實現對百米標的線路位置信息提取,從而完成對軌道車輛的定位。最后通過實驗驗證了算法的有效性和環境適應性。
YOLO 算法是由曠視科技于2021 年提出的新一代YOLO系列目標檢測算法。YOLOX網絡在提升檢測速度的同時兼具相當的檢測精度,正被廣泛應用于各個領域對的目標檢測任務中。YOLOX 網絡主要由4 個模塊構成,分別是輸入模塊Inputs、網絡主干模塊Backbone、特征增強模塊Neck以及預測模塊Prediction。
針對前文所述的百米標檢測存在的問題,本研究選取綜合性能最好的YOLOX-s 網絡進行改進并構建百米標目標檢測模型,來完成百米標檢測的任務。在進一步提高識別準確率的同時,保持原模型的輕量化和檢測速度。首先在Mixup和Mosaic圖像增強的基礎上繼續增加隨機改變亮度、對比度、旋轉以及加入高斯噪聲等方式完成數據增強,以適應軌道交通光線變化范圍廣的復雜環境。然后,改進原YOLOX-s網絡結構以提升檢測速率和精度,具體方法為:基于原YOLOX-s 框架,在主干網絡CSPDarknet 的CSPLayer 結構中引入注意力機制(efficient channel attention,ECA),增強重要特征;引入自適應空間特征融合(adaptive spatial feature fusion,ASFF),使得提取后的三個特征層自適應地學習各尺度特征,增強特征融合效果;最后對損失函數進行優化,以提高模型精度和加快收斂速度。
1.1.1 CSPLayer引入ECA注意力機制
注意力機制的原理可簡單地描述成通過某些網絡來學習特征權重,得出各特征圖重要程度,以及基于上述計算的重要程度,給各特征圖賦予權重值。以便于讓神經網絡把注意力集中在重要的特征圖上,通過增強重要特征向量且削弱不重要特征向量來優化模型[8]。本研究將ECA 注意機制引入到YOLOX 的主干網絡的CSPLayer 結構中,網絡將更加關注重要特征的提取。具體步驟如下:
(1)首先輸入特征圖x,維度是H*W*C;
(2)對輸入特征圖進行空間特征壓縮,使用全局平均池化(global average pooling,GAP)方法,得到1*1*C的特征圖;
(3)對壓縮后的特征圖進行通道特征學習;采用自適應內核尺寸(設卷積核大小為k)的一維卷積方式實現局部跨通道的信息交互,通過Sigmoid激活函數,此時輸出的維度還是1*1*C;
卷積和自適應函數定義如下:
式中: |t|odd表示距離t最近的奇數;γ和b是線性參數,分別取值為2和1。
(4)完成通道注意力結合,將通道注意力的特征圖1*1*C、原始輸入特征圖H*W*C進行逐通道乘,最終輸出具有通道注意力的特征圖,維度是H*W*C。

圖1 兩種IoU交并比計算情況Fig. 1 Calculation of two IoU cross-combination ratios
1.1.2 Neck網絡引入ASFF機制
特征金字塔網絡(feature pyramid network,FPN) 結構會導致檢測結果受不同層的特征影響,如果目標在某一層中被判斷為正類后,其他層會將其判斷為負類。然而當特征融合時,判別為負類的無用信息可能也會被融合,從而產生大量冗余信息。因此本研究在路徑聚合特征金字塔網絡(path aggregation feature pyramid network,PAFPN)尾部添加自適應空間特征融合ASFF機制[9],能夠自適應地學習不同尺寸特征的融合權重,而不是基于元素和抑或級聯方式的特征融合。該方法可以緩解特征金字塔中不同尺度特征的不一致性缺點,達到最優融合效果。
將PAFPN 中的三個不同尺度的特征圖通過ASFF機制,學習融合權重,理解不同特征尺度在預測特征圖中的貢獻程度,最后融合成對應尺度的三個特征圖。以ASFF3 為例,經過PAFPN 得到的三個不同尺度的特征層Level 1~3,通過分別與權重參數α、β、γ相乘,然后相加,就得到了ASFF3,上述過程可描述如下:
式中:y(l)ij為通過ASFF 特征融合得到的新特征圖;分別為第1、2、3 層到第l層特征層的特征向量分別為三個不同特征層的權重參數。
由于求和公式要求各層特征維度保持一致,因此還需要通過下采樣且調整通道數的方式對各層特征進行降維。對于權重參數α、β、γ,經過拼接之后通過softmax 函數使其范圍都在[0,1]內,并且和為1,上述過程可由式(3)來描述(λ(l)表示與網絡的第l層相關的一個超參數,用于調整softmax函數中指數的尺度):
1.1.3 損失函數優化
YOLOX-s網絡會生成大量檢測幀,大多數的檢測幀都是負樣本。損失函數中負樣本數量過多會導致正樣本權重較小,從而對網絡最終訓練效果造成影響。對此,本研究對于損失函數的改進方法如下:
(1)對象置信度損失函數改進
對象損失函數利用置信度來判斷邊界框內的目標是否為正負樣本,若超過置信度閾值,則判定為正樣本,若小于置信度閾值,則判定為負樣本(即背景)。由于百米標檢測場景下,被檢測目標較小,會存在大量負樣本,若使用二元交叉熵損失函數BCEloss對目標置信度進行回歸,很難克服YOLOXs因負樣本過多而導致權重不平衡的問題。因此,本研究試圖對YOLOX-s 算法中的置信度損失函數進行改進,把 BCEloss函數改進為 Focalloss函數,該損失函數能夠降低負樣本所占權重,以確保網絡訓練過程更加專注于正樣本。Focalloss損失函數公式如下:
式中:αp為平衡參數,用于解決正負樣本數量不均的問題,將其設置為0.35;pt為預測目標的置信度;γ是調制因子,將其設置為2。
關于對象類型的確定,仍沿用 BCEloss計算方法。計算公式如下:
(2)邊界框回歸損失函數改進
YOLOX-s 算法采用 IoUloss函數對檢測目標邊界框進行回歸。IoU是計算框(prediction box, P)和真實框(ground truth box, G)的交并比,用于衡量P和G之間的距離,IoUloss的計算公式為
如圖1a 所示,當所述預測框P 和所述真實框G沒有重疊時,IoU=0,這時無法反映出兩者的真實距離,此時若將IoU作為回歸損失對模型進行回歸,由于IoU為0,梯度無法回傳更新。此外,如圖1b所示,IoU 值相等,但這2 種情況下兩者的真實距離不等。而IoU不能反映兩者的回歸效果。
而除 IoUloss函數外,常用的還有 GIoUloss、DIoUloss、CIoUloss等損失函數。
GIoU,首先計算P 與G 的最小封閉區域面積Ac,然后再采用 IoU 減去封閉區域中不含兩個框的區域在封閉區域中的占比,GIoUloss損失函數計算公式為
GIoU清楚反映出兩框的重合程度。但GIoU也存在問題:當P 完全包含G 時G 在P 內的分布位置不同或者當P完全被包含G時,P在G內的分布位置不同,GIoUloss仍然相同,此時也無法反映出各自回歸效果。
DIoU,通過約束這個最小封閉區域面積和預測框、真實框中心點的位置,讓網絡學習移動P向G靠近。但 DIoUloss還存在一種問題:沒有考慮P 與G的長寬比。DIoUloss損失函數公式為:
式中:ρ表示預測框與目標框中心點之間的歐幾里得距離;c為能同時包含預測框和真實框的最小矩形對角線長度;(b,bGT)代表了預測框和真實框的中心點。
因此,本研究在DIoU 基礎上把長寬比考慮進來,得到CIoU,即同時考慮了覆蓋面積、中心點距離和長寬比三種情形。CIoU計算公式為
式中:v為P 與G 長寬比(h為框長,w為框寬)的距離,計算公式為
α是一個權重系數,計算公式為
計算 DCIoUloss損失函數的公式為
理論上說,CIoU 效果最好,因此,本研究將原YOLOX-s 算法邊界框回歸損失函數使用的 IoUloss函數改為 CIoUloss函數。
1.2.1 數據集制作
軌道交通線路上有設置指示線路狀態和位置的線路標識,包括公里標、百米標、曲線標、坡度標等;也有設置指示司機完成相關作業的信號標識,包括警沖標、站界標、駕駛員鳴笛標、停車位置標等,這些線路標志的外形十分相似。因此,為防止百米標誤檢、漏檢,需要把其他標識考慮在目標檢測范圍內。鑒于已有公開數據集并沒有可以有效囊括軌道工況的數據,無法滿足軌道環境檢測應用需求。為適應本研究的百米標檢測需要,采集某線路上列車前視相機拍攝的各類天氣全天候運行視頻,截取視頻中高架、隧道、陰天、夜間等場景的視頻幀制成圖像數據集。
(1)圖像數據增強
由于人工采集數據工作量大,并且數量仍然不充分。對此首先增加了大量基于實測軌道為背景的正、負樣本數據;并且通過圖像增強方法對數據集進行擴充,包括圖像翻轉、旋轉、裁剪、縮放、顏色變換等,使用擴充后的數據集訓練模型能夠增強模型的魯棒性和泛化能力。
(2)圖像數據標注
本研究使用labeLImg 工具標注出被探測目標所屬類別和目標區域,標簽設為5 類常見標識:hundred、speedlimit、stationname、curve、warning,分別代表百米標、限速標、站牌、曲線標、警沖標。最后按照8:1:1 的比例將數據集劃分為訓練集、測試集和驗證集。
1.2.2 模型訓練
本研究將圖像尺寸統一為640*640,Epoch 迭代次數設置為1 000,batch_size 設置為118,初始學習率為0.01,選擇余弦退火衰減(Cosine annealing scheduler)動態學習策略,最低學習率為0.000 1,IoU 閾值設置為0.5。訓練過程中Loss 損失如圖2和圖3所示。

圖2 YOLOX-s訓練過程Loss曲線Fig. 2 Loss curves of YOLOX-s training process

圖3 改進YOLOX-s訓練過程Loss曲線Fig. 3 Loss curves of improvement of YOLOX-s training process
檢測到圖像中含有百米標后,繼續對百米標進行文本識別,以提取百米標的線路位置信息。文本識別的算法主要分為傳統光學字符識別(optical character recognition,OCR)方法和基于深度學習OCR 算法兩種。傳統OCR 處理流程包括圖像預處理、基于連通域的文本行檢測、字符分割并提取特征、基于分類器的單字符識別和后處理輸出5 個步驟。在背景簡單的前提下能夠精準識別文本序列,但在復雜環境下文本識別效果較差。
本研究需要識別的百米標數字序列存在運動模糊、噪聲點多、目標小和文本傾斜等問題,因此本研究選擇實際應用中效果更好的基于深度學習的OCR 算法。 其中,CRNN+CTC(connectionist temporal classification,連接主義時序分類)識別算法具有可以識別任意長度的文本,識別速度快,準確率高的優點,廣泛應用于各個領域的識別任務中。因此本研究針對軌道交通特殊環境,使用圖像預處理+改進CRNN+CTC 方法,來完成百米標的文本識別任務,提取百米標的位置信息。首先針對百米標進行圖像預處理,便于提高后續CRNN 網絡識別速率和準確率;然后使用CRNN+CTC 文本識別方法對百米標文本進行識別,提取出百米標的線路位置信息。
由于圖像檢測到的百米標文本序列存在運動模糊、目標小和文本傾斜等問題。因此,在使用CRNN網絡進行文本識別之前,先對帶有噪聲的百米標圖像進行處理。文本預處理流程如圖4 所示,主要包括:圖像裁剪、灰度化、二值化、傾斜檢測與校正、圖像平滑與圖像規范化。
本研究選擇的文本識別CRNN網絡依次使用了CNN 結構和RNN 結構。圖5 是CRNN 網絡結構,前兩部分卷積層(CNN)和循環層(RNN)都采用了基于結構相似性的特征提取方法,后者轉錄層(CTC)采用的是基于概率統計特性的特征抽取算法。

圖5 CRNN網絡結構Fig. 5 Structure of CRNN network
原CRNN 算法的特征提取的主干網絡為VGG16網絡,會存在梯度消失以及多層卷積之后信息丟失嚴重的問題,因此,本研究在VGG16 網絡的第3 層和第4 層加入如圖6b 所示的殘差結構,選擇殘差卷積網絡作為特征提取的主干網絡。該網絡以跨層連接(shortcut connection)的方式連接各層網絡,能夠提高網絡計算效率和性能。

圖6 殘差單元結構Fig. 6 Structure of residual cell
殘差學習模塊有兩種形式:兩層結構稱為BasicBlock(圖6a),一般適用于Resnet18 和Resnet34。weight layer 卷積層為用于學習輸入特征的權重,relu 為激活函數;三層結構稱為Bottleneck(圖6b),是對BasicBlock的優化,旨在縮小特征圖的大小,由此減少參數量。
此種殘差單元結構將F(x)學習的內容由x變為x的殘差,由于殘差的值是接近0 的,故模型學習比VGG每層堆疊更加高效,并且能解決訓練集隨著網絡深度的增加誤差反而增大的退化問題。
ResNet中任意一層的計算公式為
式中:xL為L層的特征信息;xl為比L層淺一層的特征信息;F(xi,wi)為殘差函數。
2.3.1 文本圖像預處理
百米標文本圖像的預處理流程及對應的效果如圖7所示。

圖7 百米標文本圖像預處理流程Fig. 7 Preprocessing process of 100-metre sign text image
可以看到,此時的百米標不再傾斜,文本更加清晰,極大地降低了后續文本識別算法的計算量。在依次進行了圖像裁剪、灰度化、二值化、傾斜檢測與校正、圖像平滑與圖像規范化之后,生成的標準百米標圖像作為后續CRNN網絡的輸入。
2.3.2 數據集制作
本研究參照ICDAR2015文本識別數據集格式,制作百米標文本識別數據集。標注文件如圖8 所示。其標注格式為

圖8 圖像文本標注示例Fig. 8 Annotation example of image text
其中,[x1,y1],[x2,y2],[x3,y3],[x4,y4]表示的是按順時針方向標注文本位置的4 個頂點坐標,“XXX”代表文本內容。
2.3.3 模型訓練
由于數字文本數量較少,可適當降低模型訓練迭代次數,節省訓練時間和消耗。本研究將模型參數batch_size設置為32,學習率設置為0.001,權重衰減系數為0.001,epoch 設置為300。CRNN 網絡訓練的Loss損失過程如圖9所示。

圖9 文本識別網絡訓練過程的Loss曲線Fig. 9 Loss curves of text recognition network training process
在PC機中基于Pytorch完成百米標線路位置信息提取所需的模型訓練和測試,該框架可通過GPU加速優化,結構清晰,并且可移植性強,可以在嵌入式設備上使用。PC機具體配置見表1。

表1 實驗環境配置Tab.1 Configuration of experimental environment
本研究在相同的實驗環境下以同樣的方式進行訓練,對改進YOLOX-s 算法和原始YOLOX-s 算法的百米標檢測效果進行對比。結果如表2 所示,改進YOLOX-s 算法的mAP(mean average precision,平均精度均值)值為96.60 %,FPS(frames per second)為52 幀·s-1;原始YOLOX-s 算法的mAP 值為94.24 %,FPS 為51幀·s-1;平均精確率提升了約2 %,百米標精確率提升0.91 %,并且檢測速度也有所提高。因此,改進YOLOX-s算法的百米標檢測的準確率能夠滿足系統功能要求。

表2 改進YOLOX-s算法檢測效果對比Tab. 2 Comparison of detection performance of improved YOLOX-s algorithm
圖10a 為改進YOLOX 算法在高架上檢測百米標效果,圖10b為改進YOLOX算法在隧道里檢測百米標效果。可以看出,當百米標距車輛較近時能被有效檢測出,當小目標百米標距車輛較遠且在高架環境里仍能被有效檢測出。

圖10 改進YOLOX-s算法百米標檢測效果Fig. 10 Improvement of YOLOX-s algorithm for detecting 100-metre markers
本研究設置檢測百米標是否有效的AP 判斷閾值為80 %,當被檢測百米標AP 值大于等于80 %,則判斷該目標為有效目標,送入文本識別模型中。
本研究在相同的實驗環境下以相同的訓練方式進行訓練,對CRNN算法和改進CRNN算法的百米標文本識別效果進行對比。結果如表3 所示,在相同環境下,改進CRNN模型的準確率(PR)和召回率(RR)比CRNN 模型分別提高了3.52 %和3.48 %,并且檢測速度也有所提高。可以看出,改進后的網絡模型可以很好地滿足系統在實際應用中的功能需求。

表3 改進CRNN文本識別算法檢測效果對比Tab. 3 Comparison of detection performance of improved CRNN text recognition algorithm
CRNN 文本識別網絡的輸出結果由6種元素組成, 其輸出格式為:
其中,前4 個元素為文本框的頂點坐標信息,′XXX′為分類結果,score為文本框置信度分數。
圖11a為改進CRNN算法的百米標文本識別結果,圖11b 為目標檢測后的有效百米標通過圖像預處理和改進CRNN算法的文本識別結果的可視化展示。以圖11b 為例,該有效百米標的文本檢測結果為321,則提取出百米標的線路位置信息為M321。

圖11 改進CRNN文本識別結果Fig. 11 Text recognition results of improved CRNN
本研究提出了一種適用于軌道交通復雜環境的基于百米標視頻的軌道施工車輛自主定位方法。介紹以下流程:首先分析軌道交通復雜的軌旁環境特點和百米標成像特點;然后,針對軌道復雜環境、小目標檢測和定位性能要求,選擇YOLOX-s網絡做改進并構建百米標目標檢測算法,完成百米標的目標檢測;若檢測出圖像含有百米標,則針對百米標文本傾斜模糊、光線不均等特點,結合圖像預處理方法和改進CRNN 算法構建百米標數字文本識別模型,實現對百米標的文本識別,輸出百米標的線路位置信息,從而實現對軌道車輛的定位。實驗結果表明該方法能夠快速準確定位軌道施工車輛的位置信息。
作者貢獻聲明:
沈 拓:建模,初稿撰寫。
謝遠翔:數據分析,修訂論文。
盛 峰:方法思路,需求分析。
謝蘭欣:數據搜集。
張 穎:算法測試。
安雪暉:框架建議。
曾小清:技術應用分析。