黃竹安,宋浩然,王浩然,劉俊博,顧子晨,戴 鵬
(1. 中車南京浦鎮(zhèn)車輛有限公司,南京 210031;2. 中國鐵道科學研究院集團有限公司基礎設施檢測研究所,北京 100081;3. 中國鐵道科學研究院,北京 100081;4. 北京鐵科英邁技術有限公司,北京 100081)
接觸網(wǎng)支柱是電氣化鐵路中的重要基礎設施,用于支撐接觸網(wǎng),向列車提供電力。接觸網(wǎng)支柱一般由鋼制或混凝土制成,高度通常為8~10 m,根據(jù)實際需要也有更高的支柱。它們以大約50 m的間距分布在軌道兩側,在接觸網(wǎng)線路的彎道處密集排列,并以自定義格式編號標識。構建接觸網(wǎng)支柱的數(shù)字化數(shù)據(jù)庫可以幫助鐵路管理部門更加準確、快速地了解接觸網(wǎng)支柱的分布、數(shù)量、狀態(tài)等信息,便于及時發(fā)現(xiàn)和解決問題。通過動態(tài)普查手段構建接觸網(wǎng)支柱的數(shù)字數(shù)據(jù)庫,是實現(xiàn)鐵路基礎設施臺賬數(shù)字化管理,構建數(shù)字孿生鐵路的關鍵環(huán)節(jié)。接觸網(wǎng)支柱數(shù)據(jù)的采集主要有采用移動視頻拍攝[1]和激光雷達[2]掃描等手段。其中移動視頻可以獲取顏色、紋理等細節(jié)信息,且成像設備價格低廉、部署方便、易于操作,使其成為首選考慮的成像手段。接觸網(wǎng)支柱識別的傳統(tǒng)方法是由專業(yè)技術人員進行外觀檢查和維護,這種方法操作過程繁瑣,效率低下,而且在高速列車運行的情況下存在安全隱患。所以,基于高速移動視頻的接觸網(wǎng)支柱自動識別技術開始受到廣泛的關注。
基于移動視頻進行接觸網(wǎng)支柱的自動識別主要存在以下難點:1)高速移動視頻背景多變,且視頻圖像中可能隨機出現(xiàn)多根支柱,而一般只需要關注距拍攝觀測點最近的支柱就可以滿足需求,同一場景中出現(xiàn)的多個同類目標會影響機器識別準確性;2)接觸網(wǎng)支柱的號牌在單幅圖像中占比極小,且不同結構接觸網(wǎng)號牌的樣式、字體、格式均存在差異,字符文本也表現(xiàn)為長度不定,數(shù)字和英文字母混合等特點,因此要求識別系統(tǒng)具備準確定位的能力和適應復雜文本的識別能力。
針對接觸網(wǎng)支柱及桿號識別問題,國內(nèi)外學者開展了廣泛的研究。武翔宇提出結合支持向量機利用灰度直方圖特征對接觸網(wǎng)桿號進行定位的方法,通過優(yōu)化算法實現(xiàn)精細分割,根據(jù)圖像灰度統(tǒng)計值準確提取單個字符圖像并分別進行識別[3]。陳忠革提出基于特征算子提取支柱和桿號區(qū)域,將桿號文本分割為單個文字,最終采用HOG特征和支持向量機實現(xiàn)字符識別的方法[4]。楊文靜為消除采集圖像質量差異帶來的影響,提高桿號文字識別準確率,提出了基于重心形狀的上下文特征識別支柱桿號文字的方法[5]。楊梅提出了一種基于形狀模板匹配的自適應策略算法,通過Shape Context匹配算法針對已知的模板字符及桿號圖像進行桿號的識別與定位,并利用自適應策略算法在實時分析場景下更準確識別不同類型的桿號[6]。閔鋒等采用HOG特征提取和SVM分類器的算法定位桿號牌位置,隨后利用投影矩陣的極值點得到候選分割點,分析其距離的變異系數(shù)得到合理的字符分割點[7]。鄭巧等針對桿號牌可能出現(xiàn)的遮擋、傾斜問題,提出了一種基于幾何特征檢測及自適應投影分割的接觸網(wǎng)號牌字符提取方法,采用拆分檢測與線條檢測的方式得到不同號牌矩形結構的精細區(qū)域,再采用自適應投影分割方法對單個字符進行提取[8]。近年來,隨著深度學習技術[9]在圖像識別領域取得的巨大成功,一些學者開始將深度學習的方法應用于接觸網(wǎng)的桿號識別任務上。徐可佳采用Faster R-CNN算法定位號牌單個字符進行識別得到桿號信息,通過特定圖像處理算法擴充樣本數(shù)據(jù),使端到端的在線識別檢測算法具有更好的適應性能力[10]。侯明斌等提出一種包含深度殘差YOLO模型(DR-YOLO)定位模塊和SRM識別模塊的支柱號圖像序列識別方法[11],該方法泛化能力好,可以字符序列為整體進行識別,解決了分割字符過程中產(chǎn)生的誤差,可實現(xiàn)對于不定長文本桿號的識別。在鐵路運行安全保障領域,楊棟等提出了基于智能識別技術的鐵路安檢輔助分析方法與系統(tǒng)[12],在多進程思路設計當中采用了改進的殘差網(wǎng)絡模塊和CenterNet算法,實現(xiàn)了更有效的特征提取和檢測。
盡管現(xiàn)有方法已經(jīng)初步實現(xiàn)了對于接觸網(wǎng)桿號區(qū)域進行定位并對于桿號信息進行自動識別的功能,但從應用效果來看,現(xiàn)有智能識別系統(tǒng)的精度難以適應不同類型線路接觸網(wǎng)桿號模式的復雜多樣性,存在誤報率較高、泛化性不強等問題。為此,本文提出了一種針對高速移動視頻中接觸網(wǎng)支柱和桿號區(qū)域表觀特性的識別算法,并在我國高速鐵路實際線路數(shù)據(jù)上進行實測應用驗證,證明了算法的有效性。該算法針對高速移動視頻中接觸網(wǎng)支柱的復雜多樣性進行了設計,能夠準確地識別接觸網(wǎng)支柱及其桿號。本算法的應用可優(yōu)化鐵路管理部門對鐵路基礎設施臺賬數(shù)字化管理和數(shù)字孿生鐵路的建設。
算法的任務目標為從視頻單幀圖像中識別得到距拍攝觀察點最近的接觸網(wǎng)支柱,并識別出對應桿號。圖1給出了3種不同接觸網(wǎng)支柱結構的視頻截圖。從3張圖中可以看出,前向拍攝視頻中會出現(xiàn)多個支柱。不同接觸網(wǎng)支柱結構,桿號牌的安裝位置也存在差異。
圖1 3種不同結構接觸網(wǎng)支柱及桿號標識牌圖像
為了實現(xiàn)算法的目標,該算法設計為兩步。首先,在第一步中,通過定位算法模型來定位整幅圖像中的支柱區(qū)域,并使用區(qū)域相關分析技術計算這些區(qū)域的交疊區(qū)域,以獲得距離拍攝觀察點最近的支柱和對應的號牌區(qū)域。這個過程旨在實現(xiàn)支柱及其對應號牌的區(qū)域定位,以便后續(xù)處理。在第二步中,基于前面定位出的桿號,使用OCR文本識別模型實現(xiàn)對于接觸網(wǎng)支柱桿號牌文字信息的識別。此步驟利用深度學習技術,將圖像中的桿號牌轉換為電子文本格式,以便進一步的處理和分析。整個算法的設計考慮到了視頻單幀圖像中存在多個支柱、不同結構導致的號牌安裝位置差異等特點,并通過兩個步驟的處理實現(xiàn)了對接觸網(wǎng)支柱及其號牌的準確定位和識別。
算法流程如圖2所示。
圖2 接觸網(wǎng)桿號識別算法流程
在移動視頻圖像具有待識別目標多、號牌目標較小的問題。傳統(tǒng)的桿號牌定位算法通常采用首先定位接觸網(wǎng)支柱區(qū)域,然后根據(jù)預設定相對位置關系確定號牌區(qū)域的方式進行定位。然而,這種方法在應用時需要較多的人工干預,并且存在對不同線路的泛化性和適應性不足的問題。而本文提出的方法采用多區(qū)域相關性分析的方法,實現(xiàn)桿號及對應標識牌的自適應聯(lián)合定位。具體來說,該方法利用圖像處理技術,在整個圖像中找到多個可能屬于接觸網(wǎng)支柱的區(qū)域,并結合桿號牌的特征信息,通過多區(qū)域相關性分析的方式自適應地確定每個支柱的桿號牌區(qū)域。具體原理如下:
1)數(shù)據(jù)標注:以前述提到的我國高速鐵路主要干線接觸網(wǎng)支柱視頻作為基礎數(shù)據(jù),根據(jù)不同結構和號牌標識的結構特點,對接觸網(wǎng)支柱區(qū)域、號牌區(qū)域作為兩類檢測目標對象進行標注,如圖3所示。
圖3 接觸網(wǎng)區(qū)域定位標注示意圖
2)區(qū)域定位模型:對標注好的數(shù)據(jù)集采用YOLO v4[13]進行訓練,得到一個包含2個檢測類別(支柱、桿號牌)的目標檢測模型,網(wǎng)絡模型的結構如圖4所示。
圖4 YOLOv4模型網(wǎng)絡結構
YOLOv4模型的主干網(wǎng)絡采用了CSPDarknet53[14],沿用了Darknet53網(wǎng)絡的濾波器尺寸和整體結構,在每組跳躍連接加上一個跨階段部分結構,減少了模型整體參數(shù)且保留了圖像在淺層網(wǎng)絡的小目標的形態(tài)特征,提升模型對桿號牌區(qū)域識別效果,并快速實現(xiàn)對于桿號牌區(qū)域和接觸網(wǎng)支柱的定位。
模型的特征融合模塊采用了PANet(path aggregation network)[15]與FPN(feature pyramid network)[16]結合的結構,PANet在FPN網(wǎng)絡的結構基礎上做出了改進,網(wǎng)絡加入了自底向上的融合結構,原有的淺層特征經(jīng)過較少的層數(shù)和高層次特征加以融合,加深模型對接觸網(wǎng)圖像中目標形態(tài)特征和語義特征的理解,從而同時提升對于尺寸較大的支柱和尺寸較小目標的桿號牌目標的識別效果。
此外,YOLOv4還引入了SAM(spatial attention module)模塊,它可以自適應地調(diào)整特征圖中不同區(qū)域的重要性,以便更好地識別小目標。SAM模塊通過計算特征圖中每個位置的平均值和最大值,確定了不同區(qū)域的重要性,并將其作為權重應用到特征圖上。
為提升對圖像的感知效果,YOLOv4還采用了SPP(spatial pyramid pooling)結構,該結構可以在固定的感受野內(nèi)提取多個不同尺度的特征。這種方法可以增加特征圖的維度,并且可以在不改變感受野大小的情況下適應不同尺寸的物體。
在后處理方面,YOLOv4使用Distance-IoU NMS(DIOU-NMS)進行目標框篩選。DIOU-NMS考慮了目標框之間的距離和IoU值,從而在NMS過程中更加準確地判斷哪些框需要被保留下來。
YOLOv4中采用了一系列創(chuàng)新的技術,從而具有高效、準確、全面和實時等優(yōu)點,適用于本文支柱及號牌區(qū)域的定位問題。
3)區(qū)域相關分析:首先確定圖像中與觀察點最近的支柱。依據(jù)目標與觀測點越近區(qū)域像素面積占比越大的原則,取面積最大的支柱檢測區(qū)域作為定位對象,然后設計算法確定與之對應的桿號牌。為克服圖像中存在多個支柱和號牌影響定位準確性的問題,按照支柱主體結構將支柱圖像裁剪為支柱外側、橫腕臂、支柱本體3個子區(qū)域,如圖5所示。
圖5 接觸網(wǎng)支柱桿號牌ROI區(qū)域劃分
以下通過分析號牌區(qū)域與3個裁剪區(qū)域的相關性確定支柱結構類型,計算原理如下:
假定桿號牌區(qū)域為A,裁剪區(qū)域定義為集合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)
其中:桿號牌區(qū)域A的在圖像中左上頂點和右下頂點的坐標分為(xa1,ya1),(xa2,ya2),感興趣區(qū)域B的左上頂點和右下頂點的坐標分為(xb1,yb1),(xb2,yb2)。
則桿號牌區(qū)域A和裁剪區(qū)域B的交并比計算公式如式(3)所示:
(3)
IoUrec=max(IoU11,IoU12,IoU13,…,IoUi1,IoUi2,IoUi3)
(4)
對于圖像中模型定位出的全部桿號牌邊界框,將其與3個分別預設的ROI區(qū)域分別按上述公式計算A類和B類區(qū)域交并比,并得到各區(qū)域之間的相關性表示集合,見式(4)。式中,IoUi1,IoUi2,IoUi3分別表示定位出的第個邊界框與3個裁剪區(qū)域的交并比。
取集合最大值元素對應的號牌區(qū)域并確定其對應裁剪區(qū)域,即可確定支柱結構類型和待識別桿號文本。
由于我國高鐵線路類型多樣,不同類型的接觸網(wǎng)支柱的號牌在文字樣式、字體、文本長度、格式上均存在差異。圖6 給出了部分號牌示例。
圖6 部分線路桿號圖像示例
本文設計一種能夠自適應自動識別各類桿號文本的OCR模型,該模型基于深度神經(jīng)網(wǎng)絡框架SVTR-tiny[17]構建。針對桿號牌文本的特點進行具體設計,保證模型能夠準確地識別不同類型的桿號文本內(nèi)容。圖7展示了該網(wǎng)絡結構。
圖7 SVTR桿號文本識別模型
SVTR-tiny網(wǎng)絡采用了Transformer架構[18-19]設計。首先將輸入圖像分成小的字符組件,即文本塊。之后采用組件級別的混合、合并和/或組合進行層次遞歸處理,生成多粒度字符組件感知結果。感知模塊中設計了全局和局部混合塊以感知字符間和字符內(nèi)部的模式。其中,采用全局多頭注意力機制混合模塊用于提取號牌字符之間的相關性和文本與非文本的相關性,采用局部的多頭注意力機制混合模塊用于提取字符的形態(tài)信息。網(wǎng)絡的3個運算階段功能如下:第一階段主要進行局部特征分析,在較為淺層網(wǎng)絡捕捉識別字符的形態(tài)信息;第二階段進行局部和全局區(qū)域的相關性預算,提取字符形態(tài)信息和抽象的語義信息,確定文本字符類型;第三階段進行全局區(qū)域的文字相關性語義信息提取。其后采用特征池化和全連接層進行特征組合后分類得到字符的識別結果。
SVTR-tiny網(wǎng)絡可通過單個視覺模型端到端地實現(xiàn)對于輸入圖像的文本識別,通過自注意機制直接實現(xiàn)對整幅圖像中所有字符形態(tài)信息和圖像字符相關性信息提取突破了傳統(tǒng)的對單個字符進行分割提取后再進行特征提取和文本轉錄的限制,可對不定長文本信息加以識別。
此外,本方法針對桿號文字包含中英文的特點,對研究中SVTR-tiny網(wǎng)絡的基礎數(shù)據(jù)集進行了擴展,以提升模型對桿號文字的識別效果。首先將SVTR-tiny網(wǎng)絡在大規(guī)模中英文文本識別任務數(shù)據(jù)集上進行模型的預訓練,之后再將預訓練后的模型在桿號文本圖像數(shù)據(jù)集上進行遷移學習,從而使得該模型具備同時識別中英文文字的嫩體力,更好地適應桿號文本數(shù)字-英文混合,中文字符樣式、字體多樣性的特點。
通過在時速300 km/h高速綜合檢測列車動車組安裝的高清攝像機采集的移動視頻數(shù)據(jù)驗證本文算法。數(shù)據(jù)包括3種不同類型的接觸網(wǎng)支柱結構。其中第一種結構2 012張,第二種結構2 314張,第三種結構2 145張。選取5 177張混合后作為訓練集,按照觸網(wǎng)支柱和號牌兩類對象對訓練集進行標注。選取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優(yōu)化算法[20],一階矩衰減系數(shù)設置為0.9,二階矩衰減系數(shù)設置為0.99;學習率設置為0.005,總計訓練100 000次迭代訓練。
在對定位模型性能的評估中,選取接觸網(wǎng)區(qū)域定位的檢出率(Recall)和精確率(Precision)作為模型對于定位精確程度的評價指標,用于評價模型定位部件的能力。
檢出率、精確率計算公式如下所示:
(5)
(6)
式中,TP為正確識別為對應類別區(qū)域的數(shù)目,F(xiàn)N為對應類別區(qū)域漏識的數(shù)目,F(xiàn)P為誤報為對應類別區(qū)域的數(shù)目。
桿號文本模型的識別效果采用準確率作為評價指標計算公式如下所示:
(7)
式中,n表示測試樣本數(shù)目;xi表示輸入第i張圖像;f(xi)表示模型預測桿號文本;yi表示數(shù)據(jù)標簽文本;I()表示判斷統(tǒng)計預測和實際標簽是否一致的函數(shù),當模型預測類別和數(shù)據(jù)標簽類別一致時為1,否則為0。
將本文提出的接觸網(wǎng)識別算法在移動視頻上采集某三條實際線路的數(shù)據(jù)進行了測試,三條線路的桿號區(qū)域分別位于支柱本體、橫腕臂、支柱外側。實驗測試結果評價了算法對于距離最近支柱的桿號區(qū)域的檢出率、精確率以及檢出桿號區(qū)域的文本識別的準確率,實驗結果如表1、圖8所示。
表1 實際線路接觸網(wǎng)桿號算法實驗結果 %
圖8 實際線路接觸網(wǎng)桿號算法識別統(tǒng)計結果
實驗結果表明,接觸網(wǎng)桿號識別算法對于距離最近支柱桿號區(qū)域檢出率均達到97%以上,精確率達到90%以上,檢出桿號區(qū)域的文本識別準確率均達到94%以上,可以以較為精準的方式實現(xiàn)對于鐵路接觸網(wǎng)桿號的識別任務,表明該算法能夠適應不同類型線路的桿號識別需求,在實際線路的識別中具有良好的可用性。對算法的識別結果進行分析可以得出,桿號區(qū)域定位出現(xiàn)漏報的原因多由于遮擋或桿號牌區(qū)域在圖像中采集不完整引起,故相對于桿號牌區(qū)域位于橫腕臂和支柱外側,支柱本體區(qū)域的桿號牌檢出率較高,而定位誤報則為錯誤定位特征近似桿號牌區(qū)域的圖像區(qū)域。文本識別錯誤則多由定位區(qū)域成像質量不佳或號牌遮擋引起模型識別錯誤。
算法在實際線路的部分桿號識別如圖9所示,圖片右下角為該支柱對應的接觸網(wǎng)桿號號牌識別結果。圖9表明在支柱本體線路、支柱橫腕臂線路和支柱外側線路的不同桿號牌識別中,算法均獲得了精確的識別結果。首先,針對支柱本體線路的桿號牌識別,算法的檢出率和識別準確率均較高,這可能是因為支柱本體線路桿號牌的外觀特征較為明顯,桿號牌上的字符大小和排列方式相對固定,SVTR-tiny網(wǎng)絡可以較好地識別這種類型的桿號牌。同時,由于支柱本體線路的桿號牌在拍攝角度和距離上相對固定,因此YOLOv4網(wǎng)絡也可以準確地檢測出支柱區(qū)域和桿號牌標識區(qū)域,從而實現(xiàn)對該類型桿號牌的準確識別。
圖9 算法是實拍視頻中的識別運用效果
其次,對于支柱橫腕臂線路的桿號牌識別,可能存在一些挑戰(zhàn),例如該類型桿號牌的尺寸和字符大小相對較小,排列方式也不太規(guī)則,這可能會影響SVTR-tiny網(wǎng)絡的識別效果。此外,支柱橫腕臂線路的拍攝角度和距離也可能與支柱本體線路不同,從而影響YOLOv4網(wǎng)絡對支柱區(qū)域和桿號牌標識區(qū)域的檢測效果。因此,在識別支柱橫腕臂線路的桿號牌時,算法的檢出率和識別準確率可能會稍微降低。
最后,對于支柱外側線路的桿號牌識別,由于支柱外側線路的桿號牌通常較為隱蔽,位置比較靠外,拍攝角度和距離也可能與支柱本體線路和支柱橫腕臂線路不同,因此,算法的檢出率和識別準確率可能會相對較低。針對這種情況,可以考慮增加更多的訓練樣本以提高模型的泛化性能,或者嘗試優(yōu)化算法的網(wǎng)絡架構和參數(shù)以提高檢測和識別效果。
綜上所述,針對不同類型的桿號牌,算法的檢出率和識別準確率可能會有所不同,這可能與桿號牌的外觀特征、拍攝角度和距離等因素有關。為了進一步提高算法的識別精度和魯棒性,未來可以針對不同類型的桿號牌進行深入的分析和優(yōu)化。
本文提出一種可適應我國高鐵主要干線接觸網(wǎng)設備的接觸網(wǎng)支柱定位和號牌識別智能算法。針對接觸網(wǎng)支柱區(qū)域和桿號牌分別進行區(qū)域檢測,然后通過裁剪支柱圖像并進行區(qū)域相關性分析定位的策略,可自適應判斷接觸網(wǎng)支柱結構類型并定位號牌區(qū)域。設計的基于SVTR-tiny網(wǎng)絡的識別模型可適應接觸網(wǎng)桿號文本中英文字符混合、字體多樣、文本長度變化等特點。經(jīng)實際應用測試驗證,本文提出識別方法具有較高的識別精度和泛化性,可滿足我國主要鐵路干線接觸網(wǎng)支柱識別需求。該方法可提高接觸網(wǎng)支柱數(shù)字化管理效率和精度,從而為鐵路供電基礎設施的養(yǎng)護維修和保障列車行車安全提供了有力支持。