閔 鋒,侯澤銘+
(1.武漢工程大學 計算機科學與工程學院,湖北 武漢 430205; 2.武漢工程大學 智能機器人湖北省重點實驗室,湖北 武漢 430205)
隨著鐵路相關技術的快速發(fā)展,我國的鐵路總里程一躍成為世界第一。為保證鐵路系統(tǒng)的安全運行,需要對接觸網(wǎng)上主要部件的狀態(tài)進行檢測,其中需要檢測的鐵路接觸網(wǎng)主要零部件有絕緣子、雙耳抱箍、套管雙耳、定位器底座、定位線夾、承力索底座。過去,主要依靠人工沿鐵路線通過肉眼觀察的方式來判斷零部件的狀態(tài),在4C(接觸網(wǎng)懸掛狀態(tài)檢測監(jiān)測裝置)裝置推廣應用后,將4C裝置搭載在接觸網(wǎng)檢測車上,利用安裝在接觸網(wǎng)檢測車車頂?shù)?8個角度不同的工業(yè)相機分別對接觸網(wǎng)的不同角度拍攝高清圖片,然后依靠人工對4C裝置拍攝到的高清照片進行觀察,從而進一步分析部件的正常與否。但依靠人工對圖片進行分析,不僅需要多次反復縮放圖片觀察部件,而且由于長時間肉眼觀察,容易造成視覺疲勞,導致?lián)p壞部件的漏檢。因此需要一種準確的接觸網(wǎng)主要部件的定位檢測算法替代人工縮放查看圖片。
隨著深度學習技術的快速發(fā)展[1],各種目標檢測算法不斷被提出。目前主流的目標檢測算法主要分為兩種,一種是兩階段目標檢測算法,如Fast RCNN[2]、Faster RCNN[3]等。這類算法特點是準確率較高,但是檢測速度慢。另一種是單階段目標檢測算法,如SSD[4]、YOLOv3[5]、YOLOv4[6]等。單階段算法將目標檢測看作是回歸問題,算法將整張圖片作為輸入,然后直接在圖片的多個區(qū)域回歸出目標的位置和類別信息。相比較兩階段算法,單階段算法速度較快,但準確率稍低,尤其是對于小目標,漏檢率較大。
本文針對4C裝置拍攝的鐵路接觸網(wǎng)圖像數(shù)量多,分辨率高,需要較快檢測速度的實際情況,改進了YOLOv4-tiny算法。一方面,針對接觸網(wǎng)圖片尺寸大、冗余信息多的問題,本文采用圖像預處理的方式裁減掉部分無用的背景信息。另一方面,通過改進YOLOv4-tiny的主干特征提取網(wǎng)絡、特征融合層及輸出特征圖,達到一個準確率高、定位準確的鐵路接觸網(wǎng)目標檢測算法。實驗結果表明,本文改進的YOLOv4-tiny相比原算法,準確率大大提升,與單階段最先進的目標檢測算法之一YOLOv4相差不到1%,在模型大小和速度方面,相比YOLOv4有著較大的提升。
4C裝置拍攝到的接觸網(wǎng)圖片尺寸為6600*4400,對于14號鏡頭得到的接觸網(wǎng)全景圖片,如圖1(a)所示,其存在大量的黑色背景,一些主要部件,如雙耳抱箍、套管雙耳等,僅有圖片的1%左右,由于圖片大,目標小,在網(wǎng)絡前向傳播經(jīng)過池化層的時候易導致小目標信息的丟失,最后致使目標的漏檢。因此按照下列步驟,去除冗余的黑色背景,提高主要部件的相對大小[7,8],以解決小目標漏檢率較大的問題。
(1)縮小圖片至660*440,減少后期二值化、形態(tài)學運算和灰度投影的計算量。
(2)同一鏡頭所拍的圖片中接觸網(wǎng)大小、角度、明暗程度基本一致,對于14號鏡頭拍攝的圖片而言,可以選擇一個合適的閾值統(tǒng)一進行二值化。為保證接觸網(wǎng)平腕臂和斜腕臂輪廓的完整性,盡可能不引入接觸網(wǎng)支柱區(qū)域,最終選取90作為二值化閾值,二值化結果如圖1(b)所示。
(3)對二值化后的圖片進行開、閉運算。開運算可以消除噪音干擾,去除孤立的小點、毛刺,而使形狀輪廓大體不變。閉運算能夠填平前景物體內的小裂縫、間斷和小孔,而使總的位置和形狀不變。從二值化結果圖可以看出,接觸網(wǎng)的右側是黑色背景,接觸網(wǎng)左側存在很多的類似噪聲的區(qū)域,而上方則是輸電線。這些小區(qū)域的存在會對下一步灰度投影造成干擾影響,從而導致邊界位置分割不準確。因此對二值化的圖片進行一次開、閉預算,盡可能去除這些區(qū)域。形態(tài)學處理結果如圖1(c)所示。
(4)將上一步得到的圖片進行垂直投影和水平投影,結果如圖1(d)、圖1(e)所示。根據(jù)垂直投影圖,可以得到接觸網(wǎng)的左右邊界。根據(jù)水平投影圖,可以得到接觸網(wǎng)的下邊界。在獲取接觸網(wǎng)的上邊界時,由于接觸網(wǎng)上方的輸電線存在,左上方接觸網(wǎng)支柱區(qū)域因材質和類型不同,形態(tài)學處理后的結果不統(tǒng)一,不能以0作為閾值截取上方邊界,本文采用接觸網(wǎng)右半部分的水平投影結果圖,以投影結果平均值的1/3作為閾值自中而上遍歷投影圖截取上邊界。在獲得上下左右邊界后,為保證截取到完整的接觸網(wǎng),在以上基礎上邊界擴大30像素。
(5)根據(jù)縮放倍數(shù)和上一步得到的邊界值截取圖片,結果如圖1(f)所示。
YOLO是繼Fast RCNN和Faster RCNN兩階段檢測算法之后一種新的端到端的單階段的目標檢測算法,其使用一個完整的卷積神經(jīng)網(wǎng)絡提取圖像特征,并在網(wǎng)絡的輸出層對目標的位置和類別統(tǒng)一進行回歸預測。算法將圖片分成S*S個小網(wǎng)格,每個網(wǎng)格對于中心落在網(wǎng)格內的目標負責檢測,最終預測出該目標的位置和置信度。相對于兩階段目標檢測算法,YOLO并沒有提前生成建議框,所以速度快。
YOLOv4-tiny是YOLOv4簡化版,相比于之前任何簡化的YOLO網(wǎng)絡,YOLOv4-tiny無論是在準確率和運行速度上都有巨大的提升。其網(wǎng)絡結構采用簡化版的CSPDarknet53[9],主要由CBL結構和CSP結構組成,CBL層主要由卷積層、批歸一化層和激活函數(shù)層組成,在主干網(wǎng)絡中,CBL結構主要負責提取特征圖信息和下采樣,CSP結構將上一階段輸出的特征圖分成兩組,只用其中一組送入后續(xù)的卷積層,同時通過跨通道合并連接,進一步增加模型的魯棒性和學習能力。簡化版的YOLOv4網(wǎng)絡結構層數(shù)少,在提取圖像的特征時,提取能力不足,提取的高層語義信息稍差。在特征融合階段,YOLOv4采用SPP[10](spatial pyramid pooling)和PAN(path aggregation network)[10]結構,對高層的語義信息和底層的顏色、紋理等特征進行充分融合。相比于此,YOLOv4-tiny為了保證算法的速度,舍棄了SPP結構,使用參數(shù)量少的FPN(feature pyramid networks)[12]融合結構,最終保留YOLOv4中兩個較小的輸出特征圖,這就導致YOLOv4-tiny的參數(shù)量少,速度快,容易導致一些小目標的漏檢和定位不準確。
在YOLOv4-tiny中,算法最后輸出下采樣32倍和16倍的13*13,26*26大小的兩個特征圖,其中小的特征圖用來預測大的目標,大的特征圖下采樣倍數(shù)小,用來預測小的目標。但由于26*26的特征圖仍是下采樣16倍的結果,對于接觸網(wǎng)中存在的一些小目標,如雙耳抱箍而言,特征圖中由于前面的多層池化和卷積,語義信息存在量大大減少,致使漏檢率和誤差率較大,因此本文改進YOLOv4-tiny的輸出,在此基礎上,增加一個下采樣為8倍的52*52的輸出特征圖,以此改進原算法對于接觸網(wǎng)中的小目標漏檢誤差大的情況。
SPP即為空間金字塔池化,算法最初提出是為了解決CNN輸入圖片大小固定的問題,從而避免圖片的放大縮小及裁剪變形問題。SPP通過不同尺度的最大池化,可以增大感受野,獲得圖片的不同尺度的特征,可以提升模型對于空間布局和物體變形的魯棒性,提高后期檢測的準確率。在主干網(wǎng)絡的最后,分別用1*1、5*5、9*9和13*13這4個尺度的最大池化核對主干網(wǎng)絡輸出的特征圖進行池化,然后將池化特征圖在通道維度拼接并經(jīng)過1*1卷積降維、特征融合后,再送入后續(xù)結構。加入SPP結構可以獲得接觸網(wǎng)不同大小部件的特征,避免小目標信息的丟失,提高小部件的檢測準確率。
在目標檢測算法中,Neck部分最主要的作用是融合不同特征圖的信息,最常用的就是FPN[13]。而YOLOv4-tiny4采用的就是FPN結構,F(xiàn)PN是自上而下逐步上采樣并與下層的特征圖進行相加融合,與FPN結構相比,PAN在上采樣之后并不是輸出相應的特征圖,而是又增加了一步下采樣操作與高層的特征圖再次融合,這樣通過上采樣和下采樣及兩步特征融合,可以使不同尺度的特征融合更充分,使得網(wǎng)絡模型更有表達力。
通過增加第3個尺度輸出,可以減少小目標信息丟失,降低定位不準確,漏檢問題[13,14]。通過增加SPP和PAN結構,提高低層的位置、形狀等信息和高層語義信息之間的融合,可以使不同尺度的特征和不同層次的特征充分進行融合,提高模型的準確率、魯棒性。與YOLOv4中的SPP和PAN結構不同的是,此處的SPP和PAN在卷積層通道數(shù)目上進行壓縮,僅為前者的一半,盡可能降低結構的參數(shù)量。改進的網(wǎng)絡結構如圖2所示。
簡化版的CSPDarknet53主要由卷積層和池化層組成,與融入了殘差結構和CSPNet[15]思想的CSPDarknet53相比,簡化版的CSPDarknet53沒有采用shortcut連接,而是使用了跨層的Concat操作替代原來的shortcut連接,同時舍棄計算量較大的Mish激活函數(shù),使用計算量較小的Leaky Relu。在網(wǎng)絡的深度上,前者38層,后者包含了162層。因此YOLOv4-tiny不需要占用大量的內存,計算速度快,對硬件的要求低。但由于網(wǎng)絡結構簡單,深度不足,對輸入圖像的特征無法充分提取,致使其準確率低。
在CSPDarknet53網(wǎng)絡結構中,所有的卷積大小都為3*3,隨著網(wǎng)絡層數(shù)的增加,其提取到的特征越來越抽象,特征圖中的每個位置對應的感受野也越來越大。為了避免一些小目標的特征隨著感受野的增大而降低在特征圖上的占比和丟失問題,本文將堆疊的殘差結構中的3*3卷積改進為并列的卷積核分別為1*1,3*3和5*5這3個卷積,同時保留原結構中的Concat連接。3*3和5*5可進一步提取輸入圖像中較大目標的高級語義特征。1*1的卷積可以解決小目標信息在特征圖上的丟失減少問題,同時實現(xiàn)信息的跨通道融合,提取更高的語義信息,通過Concat連接,可以進一步融合上一層特征,同時又可以提高小目標在特征圖上的占比。由于5*5卷積和兩個3*3卷積的感受野相同,但參數(shù)量大,導致運算速度慢,本文將5*5卷積改進為兩個連續(xù)的3*3卷積,通過此連續(xù)結構,既能夠保證感受野范圍不減小,同時又減少了參數(shù)量,改進的結構如圖3所示。
本文改進的算法損失主要分為3個部分:置信度損失、分類損失和位置損失。其置信度損失和分類損失采用二元交叉熵損失,位置損失采用CIoU 損失。
其置信度損失如式(1)所示
(1)
分類損失如式(2)所示
(2)
位置損失如式(3)~式(5)所示
(3)
(4)
(5)
其中,RIoU是真實框和預測框的交并比,b和bgt代表預測框和真實框的中心點,p代表歐氏距離,C為同時可以覆蓋真實框和預測框的最小包圍框的對角線長度,w和h是預測框的寬高,wgt和hgt是真實框的寬高。
針對目前國內沒有公開的鐵路接觸網(wǎng)數(shù)據(jù)集,本文選取了1387張4C裝置的14號相機拍攝的鐵路接觸網(wǎng)全景圖片。在經(jīng)過1.1節(jié)的預處理之后,使用LABELIMG程序對主要部件進行畫框標記,制作VOC格式數(shù)據(jù)集。在畫框標記時,為了避免中文標簽,我們將圖4中主要部件的中文名稱轉變?yōu)橛⑽男问降臉撕?,對應關系分別如下:平腕臂絕緣子(JYZ1)、平腕臂雙耳抱箍(SEBG1)、承力索底座(CLSDZ)、斜腕臂絕緣子(JYZ2)、斜腕臂雙耳抱箍(SEBG2)、斜腕臂套管雙耳(TGSE1)、定位器底座(DWQDZ)、定位線夾(DWXJ)、定位區(qū)域套管雙耳(TGSE2)。
為了驗證算法的魯棒性,本文采用225張5號相機,225張6號相機,225張8號相機和325張14號相機拍攝得到的總計1000張鐵路接觸網(wǎng)圖片經(jīng)過預處理后作為測試集,在測試時,為了加以區(qū)分,對不同部件用不同顏色的框進行識別標記,并在框的左上角給出部件的標簽名稱。
對于5號、6號相機分別拍攝的是接觸網(wǎng)平腕臂區(qū)域和斜腕臂區(qū)域,角度差異小,且存在更多的冗余背景信息,采用預處理方式會進一步增加預處理時長,因此經(jīng)過統(tǒng)計分析,采用直接切除的方式裁減掉多余區(qū)域,以提高部件的相對大小。
8號相機拍攝的是接觸網(wǎng)支撐區(qū)域、定位區(qū)域,14號相機拍攝的是接觸網(wǎng)全景區(qū)域,二者都是在接觸網(wǎng)的上方、下方和右側存在一定的黑色背景,因此采用1.1節(jié)的預處理方式裁去多余背景信息,以提高部件的相對大小。其中8號相機拍攝的圖片二值化閾值為80。預處理結果如圖5所示。
實驗平臺如下:操作系統(tǒng)Ubuntu 18.04,深度學習框架pytorch 1.2,CPU為i9-9900K,內存為32 GB,GPU為NVIDIA GeForce 2080S,顯存為8 G,CUDA 10.0,cuDNN 7.6.5。
k-Means算法的評價標準是聚類簇中心與真實框的平均交并比,平均交并比越高,表明聚類的效果越好,為了使算法在先驗框回歸時達到最高的準確率,在訓練開始前,使用k-Means算法針對此數(shù)據(jù)集重新聚類生成9個先驗框,以對應輸出的3個特征圖。通過在此數(shù)據(jù)集上進行維度聚類,相比于人為預設的先驗框,可以得到最為理想的先驗框,使模型在訓練時更加容易產(chǎn)生準確的預測框。其先驗框分為[15,33],[19,39],[23,46],[29,36],[32,50],[63,54],[68,90],[68,67],[74,109]。
為了使模型泛化性能和魯棒性更好,算法對歸一化的圖像做實時數(shù)據(jù)增強的隨機預處理,包括隨機改變圖片大小、隨機翻轉、改變圖片亮度等,同時,算法采用了Mosaic數(shù)據(jù)增強。Mosaic數(shù)據(jù)增強是在訓練時隨機讀取4張圖片,然后進行旋轉和翻轉等操作,最后將這4張圖片按照一定比例組合成一張圖片,通過此數(shù)據(jù)增強,可以降低模型對于目標出現(xiàn)位置的依賴性,進一步提高模型的泛化能力,提高模型對目標位置隨機性的適應能力。
設置訓練的初始學習率為0.001,迭代次數(shù)為300,批次大小為16,優(yōu)化器選擇自適應學習率參數(shù)更新算法(Adam),每次更新后的學習率衰減值設為0.0005,為了加快網(wǎng)絡的訓練速度,減少訓練時長,在前150個epoch,本文采取對特征提取主干網(wǎng)絡的參數(shù)進行凍結的訓練方式,之后解凍參數(shù)訓練至結束。訓練損失曲線如圖6所示。
本文改進了YOLOv4-tiny,為了驗證改進算法的效果,對改進后的算法與單階段目標檢測算法YOLOv4、YOLOv4-tiny和兩階段經(jīng)典目標檢測算法Faster RCNN作對比實驗。單階段算法和兩階段算法統(tǒng)一采用416*416的輸入大小。在目標檢測算法中,為了定量分析改進網(wǎng)絡的性能,本文采用平均檢測精確度(mAP),模型大小,單張檢測時間3個指標進行分析。結果見表1。為了體現(xiàn)本文算法在小部件上檢測上的優(yōu)勢,對于圖中的雙耳抱箍、套管雙耳等小部件,單獨采用單類平均檢測精確度(AP)進行分析,其結果見表2。
表1 實驗結果對比
從表1可以看出,對比原算法YOLOv4-tiny,雖然速度有所下降,但改進的算法在準確率上提高了32.11%。由表2可以看出,針對接觸網(wǎng)中的小部件,如雙耳抱箍和套管雙耳等小部件,其平均精確度大大提高,小目標漏檢、定位不準確的問題得到改善,同時雙耳抱箍的檢測精確度超過YOLOv4。
表2 小部件結果對比
從表1可以看出,本文改進的YOLOv4-tiny準確率是96.56%,單張檢測時間是0.006 s,模型大小為52 M。YOLOv4的準確率是97.06%,單張檢測時間為0.012 s,模型大小為256 M。雖然改進的模型大小和速度較原算法略有下降,但是在準確率取得了大幅度提升。在模型的準確率上,本文改進的算法與單階段最先進的算法之一YOLOv4相差不到1%,而在模型大小和運算速度上,都遠遠優(yōu)于YOLOv4算法。相比較于兩階段目標檢測算法Faster RCNN,本文改進的算法在準確率上高出9.75%,模型大小不到前者的1/2,在單張檢測時間上不到前者的1/4。
綜合以上實驗結果可以看出,本文改進的算法不僅準確率相比原算法大大提高,而且和YOLOv4相差不到1%,同時在模型大小和檢測速度上都優(yōu)于YOLOv4,降低了硬件需求,基本滿足實際運用中的高精度,高速度和低硬件成本的條件,為算法運用到實際提供了可能。
本算法僅僅在14號相機拍攝的鐵路網(wǎng)全景圖片上進行訓練,但仍然可以檢測出存在一定角度偏差的其它相機拍攝的接觸網(wǎng)圖片中的主要部件,部分實驗結果如圖7所示,從實驗結果圖可以看出,本文改進的算法不僅可以準確檢測出各個主要部件,并且有著相當高的置信度,對于8號相機拍攝的圖片而言,存在不完整的絕緣子部件,本算法依然可以檢測。由此可以看出,在特征融合層通過高層的語義信息和低層的顏色、形狀和紋理信息的融合,模型可以學習到部件的高級語義信息,不僅可以精確定位主要部件,而且對一些不完整的部件也可以識別檢測。因此,本文改進的算法可以做到一個角度的圖片訓練,多個角度的圖片檢測識別,節(jié)約訓練時長,同時又滿足算法的魯棒性要求。
測試圖片在送入模型檢測之前,還需要一定的預處理,相比較于模型在檢測時用GPU加速而言,預處理是在CPU上計算,因此速度較慢。經(jīng)過計算,測試集的1000張圖片的預處理總時長為489 s,平均每張圖片耗時0.48 s,因此在實際應用中,每張圖片所需的平均時間為0.5 s左右,對比傳統(tǒng)的人工手動縮放查看高清圖片中部件的狀態(tài),本實驗可以精確定位出鐵路接觸網(wǎng)主要部件,避免了人工縮放操作,為后序分析各主要部件的狀態(tài)打下基礎,同時又基本滿足了鐵路接觸網(wǎng)檢測的速度快,準確率高的要求。
綜上所述,本文結合YOLOv4-tiny算法,利用圖像預處理縮小圖片尺寸,提高小部件在圖中的占比和相對大小,避免網(wǎng)絡前向傳播時的信息丟失,增加輸出特征圖和改進主干特征提取網(wǎng)絡結構,以促進網(wǎng)絡低層和高層信息之間的融合。實驗結果表明本文方法有效解決了原算法中目標漏檢、定位不準確的問題,基本滿足接觸網(wǎng)檢測的高精度、快速度的要求,且模型大小滿足實際部署的硬件條件,同時模型具有較高的魯棒性和泛化性。在接下來的研究工作中,將對定位檢測到的各個部件進行缺陷識別研究。