奚笑冬,顧正隆
(上海地鐵維護保障有限公司,上海 200025)
接觸網(wǎng)系統(tǒng)作為軌道交通系統(tǒng)中最重要的子系統(tǒng)之一,其工作環(huán)境復(fù)雜惡劣,容易發(fā)生多種類型的故障[1]。作為接觸網(wǎng)系統(tǒng)中重要部件之一,接觸網(wǎng)腕臂用以支撐接觸網(wǎng)各懸掛部件,承載著絕緣子、接觸線等元器件,其運行狀態(tài)直接影響其他接觸網(wǎng)元器件能否正常工作[2]。對接觸網(wǎng)腕臂進行檢測,可以提前識別接觸網(wǎng)系統(tǒng)相關(guān)故障及風(fēng)險,避免列車運行事故的發(fā)生,具有重要研究意義和應(yīng)用價值。
目前,對于接觸網(wǎng)腕臂的檢測仍主要通過人工目視或利用巡檢小車等方式進行巡檢[3]。上述方法雖簡單易行但效率低下,檢測結(jié)果會受作業(yè)人員的經(jīng)驗、專業(yè)素質(zhì)等主觀影響。此外,由于地鐵車輛運行空間內(nèi)環(huán)境較為惡劣,上述巡檢方式可能危及作業(yè)人員的人身安全[4]。
近年來,基于機器視覺的目標檢測方法由于具有部署簡單、檢測效率高等優(yōu)勢,逐漸在目標檢測領(lǐng)域得到廣泛應(yīng)用[5]。目標回歸檢測方法大多是以深度學(xué)習(xí)網(wǎng)絡(luò)模型為基礎(chǔ)展開,大致可以分為兩大類[6]:一種是以Faster R-CNN[7]為代表的兩階段檢測模型,其原理是先獲取侯選框再進行分類,精度很高,但存在著速度慢的缺點[8];另一種則是以YOLO(you only look once)為代表的一階段檢測模型,因其具有較高的檢測速度、良好的檢測精度和兼容多種硬件平臺等優(yōu)點而被廣泛應(yīng)用于生產(chǎn)生活中[9]。文獻[10]提出了一種基于圖像銳化和Hough變換對接觸網(wǎng)橫腕臂進行識別檢測的算法,其識別精度和準確度相對較高。
在對接觸網(wǎng)腕臂進行圖像采集的過程中,由于圖像采集設(shè)備一般放置在高速行駛的接觸網(wǎng)檢測車頂部,列車和接觸網(wǎng)腕臂存在著快速的相對位移,在采集圖像過程中,相機曝光時會發(fā)生腕臂位置的相對變化,造成采集到的圖像容易產(chǎn)生運動模糊[10]。因此,需要對原始采集圖像進行圖像增強處理。
基于上述分析,本文提出了一種基于YOLOv8目標檢測模型[11]和直線段識別(line segment detector,LSD)算法[12]的列車接觸網(wǎng)腕臂視覺檢測系統(tǒng),可準確識別和提取接觸網(wǎng)腕臂信息,提升對腕臂的識別準確度和識別精度。
為識別復(fù)雜圖像背景中列車接觸網(wǎng)腕臂的正反架,首先采用機器視覺中YOLOv8模型對圖像進行粗提取,準確分割出腕臂區(qū)域;然后對圖像進行HIS(hue-intensity-saturation)變換、濾波和補償,進一步增強圖像特征,濾除圖像噪聲;最后針對腕臂在空間中的鏤空特征,通過LSD算法,對腕臂直線段進行提取。具體算法流程如圖1所示。
圖1 基于YOLOv8與LSD算法流程圖
YOLOv8的網(wǎng)絡(luò)結(jié)構(gòu)[11]如圖2所示,主要包括Backbone骨干網(wǎng)絡(luò)、Neck頸部網(wǎng)絡(luò)兩部分。Backbone骨干網(wǎng)絡(luò)主要用于提取圖片中的信息,并提供給Neck頸部網(wǎng)絡(luò),其由Conv模塊、C2f模塊和SPPF模塊組成;Neck頸部網(wǎng)絡(luò)主要進行特征融合,對從骨干網(wǎng)絡(luò)提取到的特征進行處理。
圖2 YOLOv8網(wǎng)絡(luò)結(jié)構(gòu)
圖像增強預(yù)處理是指對腕臂輪廓進行突出強化,這一過程包含對采集到的腕臂圖像中的線條進行分辨識別,即線條的細節(jié)表現(xiàn)程度;判斷腕臂線條的邊緣清晰程度,即圖像邊緣過渡區(qū)域的寬窄。為將圖像灰度值產(chǎn)生突變的部位凸顯出來,首先,對檢測圖像進行濾波變換處理以提高圖像的對比度,然后利用二值化處理方法進行圖像邊緣增強處理。
本文采取的圖像預(yù)處理流程如下:
1) 根據(jù)第1節(jié)中基于YOLOv8模型得到的腕臂圖像,提取圖像的R(紅色)、G(綠色)、B(藍色)3種分量,并將其轉(zhuǎn)換到HSI色彩空間,獲得H(色調(diào))、I(亮度)以及S(飽和度)3種分量;
2) 對飽和度分量S,使用中值濾波進行處理;
3) 對亮度分量I,使用雙邊濾波來進行增強;
4) 對整副圖像的亮度進行補償;
5) 將飽和度分量S、亮度分量I以及原色調(diào)分量H這3個分量進行組合;
6) 對組合后的圖像進行二值化處理,將具有多個灰度級的圖像轉(zhuǎn)換為灰度值僅為0或1的圖像。
HIS是由Munseu提出的一種顏色模型[13],從人的視覺系統(tǒng)出發(fā),直接使用色調(diào)、飽和度和亮度來描述顏色,可以用一個圓錐空間模型描述,如圖3所示。
圖3 HIS顏色空間模型
列車高速相機在拍攝時采集到的噪聲中主要包含椒鹽噪聲和零均值高斯噪聲,噪聲易使圖像出現(xiàn)模糊、細節(jié)丟失及灰度值的失真等情況。為降低噪聲對圖像的影響,本文針對2.1節(jié)中處理后的HIS腕臂圖像,對其飽和度分量S使用中值濾波進行處理,對其亮度分量I使用雙邊濾波進行增強。
2.2.1中值濾波
中值濾波是基于排序統(tǒng)計理論的一種能有效抑制噪聲的非線性信號處理技術(shù),其運算簡單、速度快,濾除噪聲的同時還能很好地保留圖像的細節(jié)信息[14]。
對于二維圖像信號Xij,定義濾波窗口的長度為L=2N+1,N∈,其中N為在輸入信號邊界填充的信號個數(shù),然后在信號序列Xi+r,j+s中進行窗口滑動,其中r和s為窗口維度。接著對窗口中的Xi+r,j+s進行排序操作,位于(i,j)處的序列樣本值即為中值濾波的輸出Yij,用公式表示為:
Yij=med{Xi+r,j+s}
(1)
式中:med{·}表示取序列的中值。
2.2.2雙邊濾波
雙邊濾波[15]是一種非線性的濾波方法,可對圖像的空間鄰近度和像素值相似度進行折中處理,同時考慮空域信息和灰度相似性,并對圖像進行邊緣保存,具有簡單、非迭代、局部的特點。
假設(shè)原始圖像在點(x,y)的像素值為U(x,y),雙邊濾波后像素值對應(yīng)為V(x,y),則有:
(2)
式中:E(x,y)表示以點(x,y)為中心點、面積為(2N+1)2的正方形范圍,N∈;k(i,j)為加權(quán)系數(shù)。
常用的直線段檢測算法有Hough直線檢測算法和LSD算法等。相較于Hough算法,LSD算法具有識別準確、誤差可控、運行速度快、不需要調(diào)節(jié)參數(shù)等諸多優(yōu)點。本文使用LSD算法進行接觸網(wǎng)腕臂直線段識別。
LSD算法是一種直線段檢測方法[12],其基本思想是檢測圖像中梯度變化較大的像素點集,以達到在線性時間(linear-time)內(nèi)獲取亞像素精度的線段檢測結(jié)果。LSD算法基本流程如下:
1) 高斯降采樣,將圖像長、寬進行縮放,再進行高斯濾波;
2) 梯度計算,點(x,y)的灰度值為f(x,y),灰度圖像x方向的梯度gx(x,y)和y方向的梯度gy(x,y)可由下式計算:
gx(x,y)=[f(x+1,y)+f(x+1,y+1)-f(x,y)-f(x,y+1)]/2
(3)
gy(x,y)=[f(x,y+1)+f(x+1,y+1)-f(x,y)-f(x+1,y)]/2
(4)
3)區(qū)域生長,合并基準線場方向近似一致的像素;
4) 更新區(qū)域的傾斜度;
5) 直線段確定。
本文采集上海地鐵8號線實際運營某段監(jiān)控視頻,并對該視頻進行了分幀截取,共500張弓網(wǎng)圖,使用Open CV完成數(shù)據(jù)采集、數(shù)據(jù)標注等數(shù)據(jù)集前期準備工作。以下實驗中,數(shù)據(jù)集的劃分比例和方式相同,首先將制作的數(shù)據(jù)集(.xml和.jpg)按照固定的比例進行劃分,其中訓(xùn)練集占總數(shù)據(jù)集的80%,測試集占總數(shù)據(jù)集的20%,兩者比例為4∶1,驗證檢測算法的有效性。本文中所有實驗均是基于python+Open CV2開展的。
在訓(xùn)練集中對前文所述YOLOv8模型進行模型訓(xùn)練后,在測試集中進行算法檢測,部分檢測結(jié)果如圖4所示。從圖4可以看出,YOLOv8模型可以對接觸網(wǎng)腕臂正反架進行精準檢測,達到了預(yù)期設(shè)計目的。
圖4 訓(xùn)練后的腕臂正反架檢測圖
為進一步提取接觸網(wǎng)腕臂信息,針對4.1節(jié)基于YOLOv8模型識別出的接觸網(wǎng)正反架圖片進行圖像增強,原始圖像及增強后的HIS各分量圖像如圖5所示。
圖5 經(jīng)過HIS變換后的各分量圖像
去噪后,對圖像進行二值化灰度處理,然后選擇S+I-H作為算子進行閾值分割,如圖6所示。
圖6 閾值分割后的圖像
為了測試文中所述方法的性能,從訓(xùn)練樣本中選取部分圖像來評估算法的實際效果。圖7顯示了LSD對接觸網(wǎng)腕臂直線段的識別結(jié)果。
圖7 LSD算法處理后的圖像
類似地,采用相同算法流程,對接觸網(wǎng)反架腕臂進行處理,結(jié)果如圖8所示。
圖8 列車接觸網(wǎng)腕臂反架識別
由圖7及圖8可知,基于YOLOv8模型先對列車接觸網(wǎng)腕臂位置進行檢測,然后對腕臂的位置圖像進行增強處理,最后基于LSD算法對腕臂直線段信息進行提取的流程可以準確提取接觸網(wǎng)腕臂直線段信息。由于相機安裝在高速行駛的列車上,在拍攝過程中,相機的傾斜和光線的反射以及抖動等問題難以完全消除,依然存在部分圖像模糊等問題,導(dǎo)致圖8以及圖9中識別到的線段輪廓和實際腕臂形狀存在一定誤差,對接觸網(wǎng)腕臂的識別準確度造成了一些影響。
為實現(xiàn)復(fù)雜圖像背景中列車腕臂正反架識別,本文首先采用機器視覺中YOLOv8模型進行粗提取,準確分割出腕臂區(qū)域;其次對圖像進行HIS變換、濾波和補償,進一步增強了圖像特征;針對腕臂在空間中的鏤空特征,通過LSD算法,對腕臂直線段信息進行了檢測提取。通過實驗可以看出:針對小樣本數(shù)據(jù)集, YOLOv8模型依舊擁有很高的識別準確度;同時借助濾波變換等圖像增強處理方法以及LSD算法,獲得了更加準確的接觸網(wǎng)腕臂直線段輪廓。實際應(yīng)用中,相機抖動以及相機成像質(zhì)量等因素都會對接觸網(wǎng)腕臂的識別準確度造成不利影響,將是本文后續(xù)工作重點研究的方向。