黃竹安,宋浩然,王浩然,劉俊博,顧子晨,戴 鵬
(1. 中車南京浦鎮車輛有限公司,南京 210031;2. 中國鐵道科學研究院集團有限公司基礎設施檢測研究所,北京 100081;3. 中國鐵道科學研究院,北京 100081;4. 北京鐵科英邁技術有限公司,北京 100081)
接觸網支柱是電氣化鐵路中的重要基礎設施,用于支撐接觸網,向列車提供電力。接觸網支柱一般由鋼制或混凝土制成,高度通常為8~10 m,根據實際需要也有更高的支柱。它們以大約50 m的間距分布在軌道兩側,在接觸網線路的彎道處密集排列,并以自定義格式編號標識。構建接觸網支柱的數字化數據庫可以幫助鐵路管理部門更加準確、快速地了解接觸網支柱的分布、數量、狀態等信息,便于及時發現和解決問題。通過動態普查手段構建接觸網支柱的數字數據庫,是實現鐵路基礎設施臺賬數字化管理,構建數字孿生鐵路的關鍵環節。接觸網支柱數據的采集主要有采用移動視頻拍攝[1]和激光雷達[2]掃描等手段。其中移動視頻可以獲取顏色、紋理等細節信息,且成像設備價格低廉、部署方便、易于操作,使其成為首選考慮的成像手段。接觸網支柱識別的傳統方法是由專業技術人員進行外觀檢查和維護,這種方法操作過程繁瑣,效率低下,而且在高速列車運行的情況下存在安全隱患。所以,基于高速移動視頻的接觸網支柱自動識別技術開始受到廣泛的關注。
基于移動視頻進行接觸網支柱的自動識別主要存在以下難點:1)高速移動視頻背景多變,且視頻圖像中可能隨機出現多根支柱,而一般只需要關注距拍攝觀測點最近的支柱就可以滿足需求,同一場景中出現的多個同類目標會影響機器識別準確性;2)接觸網支柱的號牌在單幅圖像中占比極小,且不同結構接觸網號牌的樣式、字體、格式均存在差異,字符文本也表現為長度不定,數字和英文字母混合等特點,因此要求識別系統具備準確定位的能力和適應復雜文本的識別能力。
針對接觸網支柱及桿號識別問題,國內外學者開展了廣泛的研究。武翔宇提出結合支持向量機利用灰度直方圖特征對接觸網桿號進行定位的方法,通過優化算法實現精細分割,根據圖像灰度統計值準確提取單個字符圖像并分別進行識別[3]。陳忠革提出基于特征算子提取支柱和桿號區域,將桿號文本分割為單個文字,最終采用HOG特征和支持向量機實現字符識別的方法[4]。楊文靜為消除采集圖像質量差異帶來的影響,提高桿號文字識別準確率,提出了基于重心形狀的上下文特征識別支柱桿號文字的方法[5]。楊梅提出了一種基于形狀模板匹配的自適應策略算法,通過Shape Context匹配算法針對已知的模板字符及桿號圖像進行桿號的識別與定位,并利用自適應策略算法在實時分析場景下更準確識別不同類型的桿號[6]。閔鋒等采用HOG特征提取和SVM分類器的算法定位桿號牌位置,隨后利用投影矩陣的極值點得到候選分割點,分析其距離的變異系數得到合理的字符分割點[7]。鄭巧等針對桿號牌可能出現的遮擋、傾斜問題,提出了一種基于幾何特征檢測及自適應投影分割的接觸網號牌字符提取方法,采用拆分檢測與線條檢測的方式得到不同號牌矩形結構的精細區域,再采用自適應投影分割方法對單個字符進行提取[8]。近年來,隨著深度學習技術[9]在圖像識別領域取得的巨大成功,一些學者開始將深度學習的方法應用于接觸網的桿號識別任務上。徐可佳采用Faster R-CNN算法定位號牌單個字符進行識別得到桿號信息,通過特定圖像處理算法擴充樣本數據,使端到端的在線識別檢測算法具有更好的適應性能力[10]。侯明斌等提出一種包含深度殘差YOLO模型(DR-YOLO)定位模塊和SRM識別模塊的支柱號圖像序列識別方法[11],該方法泛化能力好,可以字符序列為整體進行識別,解決了分割字符過程中產生的誤差,可實現對于不定長文本桿號的識別。在鐵路運行安全保障領域,楊棟等提出了基于智能識別技術的鐵路安檢輔助分析方法與系統[12],在多進程思路設計當中采用了改進的殘差網絡模塊和CenterNet算法,實現了更有效的特征提取和檢測。
盡管現有方法已經初步實現了對于接觸網桿號區域進行定位并對于桿號信息進行自動識別的功能,但從應用效果來看,現有智能識別系統的精度難以適應不同類型線路接觸網桿號模式的復雜多樣性,存在誤報率較高、泛化性不強等問題。為此,本文提出了一種針對高速移動視頻中接觸網支柱和桿號區域表觀特性的識別算法,并在我國高速鐵路實際線路數據上進行實測應用驗證,證明了算法的有效性。該算法針對高速移動視頻中接觸網支柱的復雜多樣性進行了設計,能夠準確地識別接觸網支柱及其桿號。本算法的應用可優化鐵路管理部門對鐵路基礎設施臺賬數字化管理和數字孿生鐵路的建設。
算法的任務目標為從視頻單幀圖像中識別得到距拍攝觀察點最近的接觸網支柱,并識別出對應桿號。圖1給出了3種不同接觸網支柱結構的視頻截圖。從3張圖中可以看出,前向拍攝視頻中會出現多個支柱。不同接觸網支柱結構,桿號牌的安裝位置也存在差異。

圖1 3種不同結構接觸網支柱及桿號標識牌圖像
為了實現算法的目標,該算法設計為兩步。首先,在第一步中,通過定位算法模型來定位整幅圖像中的支柱區域,并使用區域相關分析技術計算這些區域的交疊區域,以獲得距離拍攝觀察點最近的支柱和對應的號牌區域。這個過程旨在實現支柱及其對應號牌的區域定位,以便后續處理。在第二步中,基于前面定位出的桿號,使用OCR文本識別模型實現對于接觸網支柱桿號牌文字信息的識別。此步驟利用深度學習技術,將圖像中的桿號牌轉換為電子文本格式,以便進一步的處理和分析。整個算法的設計考慮到了視頻單幀圖像中存在多個支柱、不同結構導致的號牌安裝位置差異等特點,并通過兩個步驟的處理實現了對接觸網支柱及其號牌的準確定位和識別。
算法流程如圖2所示。

圖2 接觸網桿號識別算法流程
在移動視頻圖像具有待識別目標多、號牌目標較小的問題。傳統的桿號牌定位算法通常采用首先定位接觸網支柱區域,然后根據預設定相對位置關系確定號牌區域的方式進行定位。然而,這種方法在應用時需要較多的人工干預,并且存在對不同線路的泛化性和適應性不足的問題。而本文提出的方法采用多區域相關性分析的方法,實現桿號及對應標識牌的自適應聯合定位。具體來說,該方法利用圖像處理技術,在整個圖像中找到多個可能屬于接觸網支柱的區域,并結合桿號牌的特征信息,通過多區域相關性分析的方式自適應地確定每個支柱的桿號牌區域。具體原理如下:
1)數據標注:以前述提到的我國高速鐵路主要干線接觸網支柱視頻作為基礎數據,根據不同結構和號牌標識的結構特點,對接觸網支柱區域、號牌區域作為兩類檢測目標對象進行標注,如圖3所示。

圖3 接觸網區域定位標注示意圖
2)區域定位模型:對標注好的數據集采用YOLO v4[13]進行訓練,得到一個包含2個檢測類別(支柱、桿號牌)的目標檢測模型,網絡模型的結構如圖4所示。

圖4 YOLOv4模型網絡結構
YOLOv4模型的主干網絡采用了CSPDarknet53[14],沿用了Darknet53網絡的濾波器尺寸和整體結構,在每組跳躍連接加上一個跨階段部分結構,減少了模型整體參數且保留了圖像在淺層網絡的小目標的形態特征,提升模型對桿號牌區域識別效果,并快速實現對于桿號牌區域和接觸網支柱的定位。
模型的特征融合模塊采用了PANet(path aggregation network)[15]與FPN(feature pyramid network)[16]結合的結構,PANet在FPN網絡的結構基礎上做出了改進,網絡加入了自底向上的融合結構,原有的淺層特征經過較少的層數和高層次特征加以融合,加深模型對接觸網圖像中目標形態特征和語義特征的理解,從而同時提升對于尺寸較大的支柱和尺寸較小目標的桿號牌目標的識別效果。
此外,YOLOv4還引入了SAM(spatial attention module)模塊,它可以自適應地調整特征圖中不同區域的重要性,以便更好地識別小目標。SAM模塊通過計算特征圖中每個位置的平均值和最大值,確定了不同區域的重要性,并將其作為權重應用到特征圖上。
為提升對圖像的感知效果,YOLOv4還采用了SPP(spatial pyramid pooling)結構,該結構可以在固定的感受野內提取多個不同尺度的特征。這種方法可以增加特征圖的維度,并且可以在不改變感受野大小的情況下適應不同尺寸的物體。
在后處理方面,YOLOv4使用Distance-IoU NMS(DIOU-NMS)進行目標框篩選。DIOU-NMS考慮了目標框之間的距離和IoU值,從而在NMS過程中更加準確地判斷哪些框需要被保留下來。
YOLOv4中采用了一系列創新的技術,從而具有高效、準確、全面和實時等優點,適用于本文支柱及號牌區域的定位問題。
3)區域相關分析:首先確定圖像中與觀察點最近的支柱。依據目標與觀測點越近區域像素面積占比越大的原則,取面積最大的支柱檢測區域作為定位對象,然后設計算法確定與之對應的桿號牌。為克服圖像中存在多個支柱和號牌影響定位準確性的問題,按照支柱主體結構將支柱圖像裁剪為支柱外側、橫腕臂、支柱本體3個子區域,如圖5所示。

圖5 接觸網支柱桿號牌ROI區域劃分
以下通過分析號牌區域與3個裁剪區域的相關性確定支柱結構類型,計算原理如下:
假定桿號牌區域為A,裁剪區域定義為集合B,則A和B可由式(1)~(2)表示:
A={(x,y)|xa1≤x≤xa2,ya1≤y≤ya2,x,y∈R}
(1)
B={(x,y)|xb1≤x≤xb2,yb1≤y≤yb2,x,y∈R}
(2)
其中:桿號牌區域A的在圖像中左上頂點和右下頂點的坐標分為(xa1,ya1),(xa2,ya2),感興趣區域B的左上頂點和右下頂點的坐標分為(xb1,yb1),(xb2,yb2)。
則桿號牌區域A和裁剪區域B的交并比計算公式如式(3)所示:
(3)
IoUrec=max(IoU11,IoU12,IoU13,…,IoUi1,IoUi2,IoUi3)
(4)
對于圖像中模型定位出的全部桿號牌邊界框,將其與3個分別預設的ROI區域分別按上述公式計算A類和B類區域交并比,并得到各區域之間的相關性表示集合,見式(4)。式中,IoUi1,IoUi2,IoUi3分別表示定位出的第個邊界框與3個裁剪區域的交并比。
取集合最大值元素對應的號牌區域并確定其對應裁剪區域,即可確定支柱結構類型和待識別桿號文本。
由于我國高鐵線路類型多樣,不同類型的接觸網支柱的號牌在文字樣式、字體、文本長度、格式上均存在差異。圖6 給出了部分號牌示例。

圖6 部分線路桿號圖像示例
本文設計一種能夠自適應自動識別各類桿號文本的OCR模型,該模型基于深度神經網絡框架SVTR-tiny[17]構建。針對桿號牌文本的特點進行具體設計,保證模型能夠準確地識別不同類型的桿號文本內容。圖7展示了該網絡結構。

圖7 SVTR桿號文本識別模型
SVTR-tiny網絡采用了Transformer架構[18-19]設計。首先將輸入圖像分成小的字符組件,即文本塊。之后采用組件級別的混合、合并和/或組合進行層次遞歸處理,生成多粒度字符組件感知結果。感知模塊中設計了全局和局部混合塊以感知字符間和字符內部的模式。其中,采用全局多頭注意力機制混合模塊用于提取號牌字符之間的相關性和文本與非文本的相關性,采用局部的多頭注意力機制混合模塊用于提取字符的形態信息。網絡的3個運算階段功能如下:第一階段主要進行局部特征分析,在較為淺層網絡捕捉識別字符的形態信息;第二階段進行局部和全局區域的相關性預算,提取字符形態信息和抽象的語義信息,確定文本字符類型;第三階段進行全局區域的文字相關性語義信息提取。其后采用特征池化和全連接層進行特征組合后分類得到字符的識別結果。
SVTR-tiny網絡可通過單個視覺模型端到端地實現對于輸入圖像的文本識別,通過自注意機制直接實現對整幅圖像中所有字符形態信息和圖像字符相關性信息提取突破了傳統的對單個字符進行分割提取后再進行特征提取和文本轉錄的限制,可對不定長文本信息加以識別。
此外,本方法針對桿號文字包含中英文的特點,對研究中SVTR-tiny網絡的基礎數據集進行了擴展,以提升模型對桿號文字的識別效果。首先將SVTR-tiny網絡在大規模中英文文本識別任務數據集上進行模型的預訓練,之后再將預訓練后的模型在桿號文本圖像數據集上進行遷移學習,從而使得該模型具備同時識別中英文文字的嫩體力,更好地適應桿號文本數字-英文混合,中文字符樣式、字體多樣性的特點。
通過在時速300 km/h高速綜合檢測列車動車組安裝的高清攝像機采集的移動視頻數據驗證本文算法。數據包括3種不同類型的接觸網支柱結構。其中第一種結構2 012張,第二種結構2 314張,第三種結構2 145張。選取5 177張混合后作為訓練集,按照觸網支柱和號牌兩類對象對訓練集進行標注。選取1 294張作為測試集,用于對模型性能進行測試。
模型訓練的實驗計算平臺硬件配置為Intel Xeon@2.4GHz CPU、Nvidia Geforce RTX 3090 GPU×4,軟件配置為Ubuntu 18.04,Python 3.8,CUDA 11.3。
YOLOv4定位模型的訓練設置為每批次64張圖片,采用SGD隨機梯度下降訓練策略,學習率設置為0.001,總計進行100 000次迭代訓練。SVTR桿號文本識別模型每個訓練批次設置為128張圖片,采用ADAM優化算法[20],一階矩衰減系數設置為0.9,二階矩衰減系數設置為0.99;學習率設置為0.005,總計訓練100 000次迭代訓練。
在對定位模型性能的評估中,選取接觸網區域定位的檢出率(Recall)和精確率(Precision)作為模型對于定位精確程度的評價指標,用于評價模型定位部件的能力。
檢出率、精確率計算公式如下所示:
(5)
(6)
式中,TP為正確識別為對應類別區域的數目,FN為對應類別區域漏識的數目,FP為誤報為對應類別區域的數目。
桿號文本模型的識別效果采用準確率作為評價指標計算公式如下所示:
(7)
式中,n表示測試樣本數目;xi表示輸入第i張圖像;f(xi)表示模型預測桿號文本;yi表示數據標簽文本;I()表示判斷統計預測和實際標簽是否一致的函數,當模型預測類別和數據標簽類別一致時為1,否則為0。
將本文提出的接觸網識別算法在移動視頻上采集某三條實際線路的數據進行了測試,三條線路的桿號區域分別位于支柱本體、橫腕臂、支柱外側。實驗測試結果評價了算法對于距離最近支柱的桿號區域的檢出率、精確率以及檢出桿號區域的文本識別的準確率,實驗結果如表1、圖8所示。

表1 實際線路接觸網桿號算法實驗結果 %

圖8 實際線路接觸網桿號算法識別統計結果
實驗結果表明,接觸網桿號識別算法對于距離最近支柱桿號區域檢出率均達到97%以上,精確率達到90%以上,檢出桿號區域的文本識別準確率均達到94%以上,可以以較為精準的方式實現對于鐵路接觸網桿號的識別任務,表明該算法能夠適應不同類型線路的桿號識別需求,在實際線路的識別中具有良好的可用性。對算法的識別結果進行分析可以得出,桿號區域定位出現漏報的原因多由于遮擋或桿號牌區域在圖像中采集不完整引起,故相對于桿號牌區域位于橫腕臂和支柱外側,支柱本體區域的桿號牌檢出率較高,而定位誤報則為錯誤定位特征近似桿號牌區域的圖像區域。文本識別錯誤則多由定位區域成像質量不佳或號牌遮擋引起模型識別錯誤。
算法在實際線路的部分桿號識別如圖9所示,圖片右下角為該支柱對應的接觸網桿號號牌識別結果。圖9表明在支柱本體線路、支柱橫腕臂線路和支柱外側線路的不同桿號牌識別中,算法均獲得了精確的識別結果。首先,針對支柱本體線路的桿號牌識別,算法的檢出率和識別準確率均較高,這可能是因為支柱本體線路桿號牌的外觀特征較為明顯,桿號牌上的字符大小和排列方式相對固定,SVTR-tiny網絡可以較好地識別這種類型的桿號牌。同時,由于支柱本體線路的桿號牌在拍攝角度和距離上相對固定,因此YOLOv4網絡也可以準確地檢測出支柱區域和桿號牌標識區域,從而實現對該類型桿號牌的準確識別。

圖9 算法是實拍視頻中的識別運用效果
其次,對于支柱橫腕臂線路的桿號牌識別,可能存在一些挑戰,例如該類型桿號牌的尺寸和字符大小相對較小,排列方式也不太規則,這可能會影響SVTR-tiny網絡的識別效果。此外,支柱橫腕臂線路的拍攝角度和距離也可能與支柱本體線路不同,從而影響YOLOv4網絡對支柱區域和桿號牌標識區域的檢測效果。因此,在識別支柱橫腕臂線路的桿號牌時,算法的檢出率和識別準確率可能會稍微降低。
最后,對于支柱外側線路的桿號牌識別,由于支柱外側線路的桿號牌通常較為隱蔽,位置比較靠外,拍攝角度和距離也可能與支柱本體線路和支柱橫腕臂線路不同,因此,算法的檢出率和識別準確率可能會相對較低。針對這種情況,可以考慮增加更多的訓練樣本以提高模型的泛化性能,或者嘗試優化算法的網絡架構和參數以提高檢測和識別效果。
綜上所述,針對不同類型的桿號牌,算法的檢出率和識別準確率可能會有所不同,這可能與桿號牌的外觀特征、拍攝角度和距離等因素有關。為了進一步提高算法的識別精度和魯棒性,未來可以針對不同類型的桿號牌進行深入的分析和優化。
本文提出一種可適應我國高鐵主要干線接觸網設備的接觸網支柱定位和號牌識別智能算法。針對接觸網支柱區域和桿號牌分別進行區域檢測,然后通過裁剪支柱圖像并進行區域相關性分析定位的策略,可自適應判斷接觸網支柱結構類型并定位號牌區域。設計的基于SVTR-tiny網絡的識別模型可適應接觸網桿號文本中英文字符混合、字體多樣、文本長度變化等特點。經實際應用測試驗證,本文提出識別方法具有較高的識別精度和泛化性,可滿足我國主要鐵路干線接觸網支柱識別需求。該方法可提高接觸網支柱數字化管理效率和精度,從而為鐵路供電基礎設施的養護維修和保障列車行車安全提供了有力支持。