摘 要:近年來,列車檢修逐漸由人檢轉換為機檢,針對在踏面損傷檢測圖像處理過程中,由于環境光照、背景區域復雜等因素影響,導致圖像踏面目標區域邊緣檢測效果差、細節信息丟失等問題,提出一種基于引導濾波改進Canny算子的邊緣檢測算法。首先,利用中值濾波和引導濾波組成的混合濾波進行圖像去噪處理,在濾除噪聲的同時具有良好的保邊特性;接著,擴展梯度模板的計算方向來獲得梯度幅值;最后,利用邊緣信息改進全局閾值的方法自適應獲得高低閾值?;谝龑V波改進Canny算子的邊緣檢測算法能夠有效濾除圖像噪聲,同時檢測出更多的踏面損傷邊緣信息。
關鍵詞:列車;車輪踏面;損傷;邊緣檢測;引導濾波
中圖分類號:U292.9 文獻標志碼:A 文章編號:2095-2945(2024)31-0017-07
Abstract: In recent years, train maintenance has gradually shifted from human inspection to machine inspection. In view of the problem of poor edge detection in the image processing process of tread damage detection, due to factors such as environmental lighting and complex background areas, the edge detection effect of the image tread target area is poor and the detail information is lost, an edge detection algorithm based on guided filtering to improve the canny operator is proposed. First, a hybrid filter composed of median filter and guided filter is used to denoise the image, which filters out noise and has good edge preservation characteristics; then, the calculation direction of the gradient template is expanded to obtain the gradient amplitude; finally, edge information is used to improve the global threshold method adaptively obtains high and low thresholds. The edge detection algorithm based on guided filtering and improved canny operator can effectively filter out image noise and detect more edge information of tread damage.
Keywords: train; wheel tread; damage; edge detection; guided filtering
列車車輪是走行部的關鍵零部件,經過長時間的使用,輪對踏面容易產生擦傷、剝離等缺陷,給車輛安全運行帶來隱患。自20世紀70年代開始,國內外學者就對車輪踏面損傷檢測技術進行了研究,并取得了不錯的成果[1]。國內學者葛林富等[2]在損傷檢測方面,采用振動加速度法計算出擦傷深度和位置;Krummenacher等[3]提出了2種自動檢測車輪缺陷的機器學習方法,該檢測方法比較完整,但采集裝置穩定性不能保證,存在干擾噪聲。此外,超聲檢測法[4]、機械檢測法等也被廣泛應用于踏面損傷檢測。上述方法檢測速度快、精度高,但同時檢測步驟也比較復雜,存在檢測效率低等問題,并未能完全投入現場正常使用。
隨著機器視覺技術的高速發展,其優越性越發突出,基于圖像處理的輪對踏面損傷檢測逐漸成為了一種行之有效的方法。邊緣檢測技術是列車輪對踏面損傷檢測圖像處理方法中的重要一環,通過邊緣檢測,既能將復雜背景和踏面區域分開,又能提取出損傷區域邊緣信息,為后續進一步損傷類型識別提供基礎[5]。經典的邊緣檢測算子有Prewitt算子、Sobel算子、Canny算子和拉普拉斯算子等[6]。Canny算子因具有高精度、高信噪比、單一邊緣點響應等優點,相比之下檢測效果較優,被廣泛應用。但在實際運用過程中,隨著圖像復雜程度增加、成像質量高低不一等情況出現,傳統的Canny檢測算法在實際檢測輪對踏面和損傷區域邊緣時,存在邊緣信息丟失等問題。本文針對上述問題,利用真實現場采集的輪對踏面圖像,提出一種改進的Canny邊緣檢測算法,該算法能有效抑制虛假邊緣,保留更多輪對邊緣信息,有效反映踏面表面損傷真實情況,提升列車輪對檢修效率和精度,同時,有助于建立高效實用的輪對踏面損傷檢測系統。
1 傳統Canny邊緣檢測算法
1.1 檢測流程
傳統的Canny算法是一種多級邊緣檢測算法,由John F.Canny于1986年首次提出,該算法主要由4個步驟組成[7]。
高斯濾波平滑圖像。由于在成像過程中,受元器件和電路結構、信號傳輸過程等因素影響,不可避免地會產生圖像噪聲,這些噪聲會降低圖像質量,干擾邊緣檢測效果,導致偽邊緣結果增多。傳統Canny邊緣檢測算法在去除灰度圖像f(x,y)中的噪聲時采用高斯濾波方法,濾波后圖像為g(x,y)。二維高斯函數為
式中:?滓為標準差。
計算梯度幅值和方向。若要進行邊緣檢測,則需得到圖像梯度信息,傳統Canny算法采用一階差分算子計算像素點的梯度方向和幅值。偏導矩陣在水平和豎直2個方向上的數學表達式為
利用式(2)、式(3)計算像素梯度幅值M(x,y)和梯度方向?茲的計算分別如式(4)、式(5)所示
非極大值抑制。在獲得圖像各像素點的梯度方向和幅值后,對像素梯度幅值進行非極大值抑制操作,尋找圖像中可能的邊緣點。具體方法為,判斷某像素點梯度幅值是否是周圍具有相同梯度方向中最大的,若不是,則將該點灰度值置零,反之則保留該點作為候選邊緣點。
滯后閾值檢測。經過上述步驟,圖像大部分實際邊緣可以被比較準確檢測,但此時可能錯誤保留了部分偽邊緣,若要進一步確定真正的邊界,需通過高低雙閾值對偽邊緣等情況進行濾除。具體操作:當圖像的灰度梯度高于高閾值時認為是真的邊緣,若低于低閾值的點則會被舍棄;如果介于兩者之間,需進一步判斷其8領域內的像素點情況,若其8領域內存在真正的邊緣點,則保留該點,否則刪除。
1.2 存在的不足
傳統Canny算法計算過程相對簡單,檢測效果較好,作為一種標準算法,廣泛應用于各項研究,但在使用過程中卻仍存在部分問題。
第一,Canny算子中使用的高斯濾波是一種線性的平滑濾波,適用于消除高斯噪聲,對于椒鹽噪聲過濾效果不是很好;同時式(1)中的標準差參數?滓取值是根據經驗選取的[8],對于不同的處理圖像并不統一適用。
第二,傳統Canny算子在計算梯度幅值和方向時,只考慮了水平和豎直2個方向的檢測,利用梯度信息較少,易出現邊緣斷裂或產生偽邊緣等情況。
第三,Canny算子中閾值滯后檢測的高低閾值往往依靠人為經驗預先確定,沒有固定的選取標準且自適應性低[9]。若選取的閾值與圖像本身特征不適配,則容易導致圖像邊緣信息丟失嚴重,結果不理想。
2 改進Canny邊緣檢測算法
受安裝位置空間限制,在現場采集的圖像除了輪對踏面區域,還包含輪對周圍區域。在進行踏面損傷缺陷識別處理時,研究對象主要是踏面區域,不僅需要通過邊緣檢測把踏面的區域與背景區域進行分割,同時盡可能多地檢測到損傷邊緣信息。直接利用傳統Canny算子尋找踏面及損傷邊緣,存在細節缺失,邊緣不完整等情況,因此針對上述不足,提出一種改進的Canny邊緣檢測算法,具體改進如下。
2.1 改進濾波方法
2.1.1 中值濾波
中值濾波算法是基于統計排序原理的非線性平滑濾波技術[10],其可以很好地濾除圖像中含有的非線性噪聲,尤其是椒鹽噪聲。中值濾波是用某種尺寸的二維滑動模板,將模板內像素點按像素值大小排序,用排序后的中值替代當前像素點的值,由此可消除孤立的噪聲點。
例如以圖1中灰色方框像素點為例,其搜索鄰域為5×5大小,對該鄰域內像素點的像素值進行升序/降序排序,以圖1為例按升序排序后得到序列值:[35,35,36,36,36,38,38,40,46,46,46,46,47,49,51,52,55,56,56,58,58,63,69,69,75],在該序列中,處于中值點的值是47,因此,用該值替換原來的像素值56,作為當前點的新像素值。
2.1.2 引導濾波
引導濾波器是一種能夠在平滑圖像的同時起到較好保持邊界作用的線性濾波器,其被廣泛應用于邊緣感知平滑、細節增強、圖像摳圖和圖像去霧等各種計算機視覺和圖形處理方面[11]?,F定義輸入圖像為P,引導圖像為I,輸出圖像為Q,引導濾波器的關鍵假設前提是引導圖像I和濾波輸出圖像Q之間存在局部線性關系[12]。假設輸出圖像Q是I在以像素m為中心的濾波窗口中的線性變換表達為
, (6)
式中:i、m為像素點索引;am、bm為窗口化后的常數型線性系數;wm為濾波窗口。
8U5xIkT0G4LFvdbUjwgI3+3mXs+UlQWDxxEPYBplEWo=對式(6)兩邊取梯度,可得
。 (7)
由式(7)可知,只有當引導圖像I中有梯度時,輸出圖像Q也有類似的梯度,這也是引導濾波具有保邊特性的原因,即引導圖像存在邊緣,輸出圖像中也會保留該邊緣信息。
考慮輸入圖像與輸出圖像之間的關系,輸出圖像可認為是由輸入圖像過濾掉部分信息所得到
Qi=Pi-ni , (8)
式中:ni為需要去除的噪聲或者紋理信息。
為計算求出am、bm的值,構造最小化代價約束函數使得輸入圖像P和輸出圖像Q之間的差異最小,該代價函數定義為
線性系數am、bm的值決定梯度信息和平滑信息的權重大小,與引導濾波最終保邊特性效果具有高度的關聯性,且由式(10)、式(11)可知,am、bm的值由引導圖像和輸入圖像共同決定。在實際應用過程中,引導圖像和輸入圖像往往是同一張圖像,當二者相等時,假設?著的取值為大于0的正數,可得如下結論:當窗口區域內圖像相對連續、比較平滑時,則am≈0、bm≈m,此時濾波器濾波效果較強,保邊效果較弱;當窗口區域內圖像相對變化劇烈,存在邊緣信息時,則am≈1、bm≈0,此時濾波器保邊效果較強,濾波效果較弱。
綜合考慮濾波效果和邊緣保持要求,本文采用中值濾波與引導濾波組合的混合濾波方法對圖像進行降噪。首先,采用中值濾波方法去除圖像中的噪聲,尤其是椒鹽噪聲;然后,將中值濾波后的圖像作為引導濾波器的輸入圖像和引導圖像;最后,通過參數調節,得到具有良好保邊效果的圖像。
2.2 梯度幅值計算改進
考慮只從水平和豎直2個方向計算信息較少,無法完整準確地反映出圖像的輪廓特征,本文提出增加45°和135°多方向獲取圖像邊緣梯度信息。同時,借鑒Sobel算子的思想對計算模板進行進一步的改進[13],改進后的梯度計算模板大小為3×3。各方向計算模板如圖2所示。
將濾波后的圖像與上述4個方向的計算模板分別進行卷積運算,得到梯度分量Nx、Ny、N45°和N135°。將上述梯度分量按式(12)、式(13)可求得合成后的水平和垂直2個方向上的梯度幅值NX、NY
2.3 自適應計算閾值
在實際應用場所中,同一閾值對不同圖像的邊緣檢測效果千差萬別,人為設定固定閾值不具有普遍適用性,在以往的改進算法中常采用Ostu法來自適應地選取閾值[14],提高Canny檢測算法的自適應性和邊緣檢測的準確性,在大多數情況下,該方法能提取到較理想的分割閾值。但由于拍攝的初始圖像除了車輪踏面區域外,還含有背景區域,當背景區域與踏面區域灰度值分布相近時,直接采用全局直方圖進行閾值處理,很可能因為同一類型像素高度集中導致閾值選擇失敗,且受環境光照不均勻、車輪踏面局部反光等因素影響,會進一步加大檢測難度,易丟失損傷區域邊緣信息。針對上述問題,為提高Canny算法檢測的自適應性和準確性,文章采用利用邊緣信息改進全局閾值的方法自適應求取閾值代替人為的設定高低閾值,利用圖像的可能邊緣跡象信息,獲得更利于分割的閾值,提高算法整體邊緣檢測準確性,其具體操作如下。
1)計算圖像f(x,y)的梯度算子,得到梯度圖像。
2)指定一個閾值T。
3)用步驟2)中的閾值對梯度圖像進行二值處理,產生二值圖像gT(x,y)作為遮罩模板,以排除無效背景像素的影響。
4)當gT(x,y)中像素值為1時,在f(x,y)中找到對應位置的像素作為有效像素,進行直方圖統計計算。
5)用步驟4)中基于遮罩模板的直方圖分布,采用Otsu算法計算閾值T1。
6)使用Otsu算法得到的閾值T1為滯后閾值檢測的高閾值,高閾值的一半T2為滯后閾值檢測的低閾值。
上述步驟2)中初始閾值T的設置值若小于邊緣圖像的最小值的任何值,則求得的gT(x,y)將全部都是1,即步驟5)中用于計算的有效像素值將會是f(x,y)中的全部像素??紤]上述情況,一般不直接指定T為某一固定值,而是通過百分比的形式來初始化T,且一般選取較高的百分比,本次實驗選擇為90%,即以原圖像直方圖0.9分位的灰度值作為T值。
3 實驗結果與分析
為檢驗所提算法的可行性和有效性,本文實驗從某檢修車間實地采集部分含損傷的車輪踏面圖像,在Windows10下采用Python3.9編程實現。lmnlX4ZETzko8PH8uZfvwyNhxo+bujBLsUmR6WHHvU0=首先對提出的混合濾波方法的有效性進行驗證,選擇高斯濾波算法、中值濾波算法、雙邊濾波算法、引導濾波算法和本文提出的混合濾波方法進行比較;然后將傳統Canny算法、文獻[15]所提的改進算法[15]與本文的改進算法對比提取同一圖像的邊緣效果進行驗證。
首先,為驗證不同濾波方法的效果,本文選取了一張實地拍攝的含損傷車輪踏面圖像,向圖片中加入15%的椒鹽噪聲,分別用高斯濾波、中值濾波、雙邊濾波、引導濾波和混合濾波實驗效果如圖3所示。
從上述結果對比可知,高斯濾波、雙邊濾波及引導濾波在正則化參數?著較小時對于椒鹽噪聲的抑制效果均較差,幾乎無法實現濾波效果。中值濾波對椒鹽噪聲的去噪效果較好,能夠有效濾除絕大多數的椒鹽噪聲,但濾波效果和選取的模板大小有一定的關系,模板選擇較小時,濾波效果仍可能并不理想,無法濾除所有噪聲,當模板選擇較大時,濾波效果較為明顯,但是圖像也會隨之模糊嚴重,從而無法完整保留圖像原有邊緣信息。本文采用的混合濾波方法能有效濾除絕大多數的椒鹽噪聲,并且由于在中值濾波后加入了引導濾波,混合濾波后圖像相較于單一的中值濾波圖像結果更平滑,邊緣信息相對更突出、明顯。
為了驗證本文算法整體改進在邊緣檢測方面的性能,將傳統的Canny算法、文獻[15]所提改進算法以及本文改進的算法進行比較。本文選取了4張實地拍攝的車輪踏面圖像進行對比分析。實驗時,傳統Canny算法處理的高低閾值為同一組數據,Th=225,Tl=150,仿真實驗結果分別如圖4所示。
從上述圖像的對比結果來看,當傳統Canny算法選擇的初始閾值較為合適時,算法能夠保留大部分踏面與損傷邊緣,但仍存在邊緣斷裂、不完整等情況,且閾值選擇不具有自適應性,對于不同場景下拍攝到的圖像無法精準具體地進行邊緣檢測。文獻[15]改進的邊緣檢測算法能較完整保留踏面邊緣信息,但對于損傷區域附近的邊緣檢測干擾信息抑制效果不強,損傷邊界不明顯。本文改進的Canny邊緣檢測算法相較于上述2種算法,既能較為完整地保留邊緣信息,又能抑制邊緣線附近的干擾信息,具有良好的邊緣檢測效果。
4 結論
本文針對傳統Canny算法檢測輪對踏面及損傷區域邊緣時存在的不足,提出了一種基于引導濾波的改進Canny邊緣檢測算法。
1)針對傳統Canny算法對椒鹽噪聲抑制能力較弱問題,提出采用中值濾波與引導濾波組合的混合濾波方法代替原高斯濾波進行圖像去噪處理,改進后的方法抑制噪聲的能力較好,且具有良好的保邊效果。
2)借鑒Sobel算子思想,擴大梯度算子計算模板,同時增加45°和135°兩個方向計算梯度幅值,能獲取更多的邊緣信息。
3)針對傳統Canny算法閾值選取依賴人工經驗,且自適應性較低問題,利用邊緣信息改進全局閾值的方法自適應求取閾值,增強了算法的自適應性,同時也能保留更多的真實邊緣,減少斷裂邊緣產生。
本文提出的改進Canny邊緣檢測算法在一定程度上提高了邊緣檢測的準確率,相較于傳統邊緣算法能提取到更多的邊緣信息,抑制虛假邊緣的出現,但同時算法運行時間也增加了,實時性較低,下一步的工作應該是在現有算法基礎上,盡可能地優化算法,降低運行時間。
參考文獻:
[1] 肖乾,姜雄峰,劉海濤,等.鐵道車輪踏面損傷實時監測方法研究綜述[J].華東交通大學學報,2021,38(4):99-112,126.
[2] 葛林富,尹治本,朱懷芳.機車踏面擦傷計算機智能檢測原理及實現[J].鐵道學報,1993,15(2):35-39.
[3] KRUMMENACHER G, ONG C S, KOLLER S, et al. Wheel defect detection with machine learning[J]. IEEE Transactions on Intelligent Transportation Systems, 2018, 19(4):1176-1187.
[4] SALZBURGER H J, SCHUPPMANN M, WANG L, et al. In-motion ultrasonic testing of the tread of high-speed railway wheels using the inspection system AUROPA III[J]. INSIGHT, 2009, 51(7):370-372.
[5] DHIVYA R, PRAKASH R. Edge detection of satellite image using fuzzy logic[J].Cluster Computing,2019,22(5):11891-11898.
[6] 竇蕾萍,吳君欽.基于改進Canny算法的圖像邊緣檢測[J].軟件導刊,2023,22(8):216-220.
[7] 潘尚濤,張林貝子,農衛航,等.基于Canny-Hough算法的鍋具輪廓缺陷檢測[J].廣西大學學報(自然科學版),2023,48(2):362-372.
[8] 倪大民,周星源,齊晶晶.基于數學形態學改進Canny算法的紅外圖像邊緣檢測[J].輕工科技,2023,39(4):111-113.
[9] 杜春洋,郭俊杰,李昌非.基于改進Canny算子的焊縫圖像邊緣提取研究[J].激光雜志,2023,44(4):74-79.
[10] 尉佳,岳龍,楊睿,等.開關非局部中值濾波在海洋淺地層剖面隨機噪音處理中的應用[J].中國海洋大學學報(自然科學版),2023,53(7):104-110.
[11] 丁貴鵬,陶鋼,李英超,等.基于非下采樣輪廓波變換與引導濾波器的紅外及可見光圖像融合[J].兵工學報,2021,42(9):1911-1922.
[12] ZHOU B, LUO Y, YANG M, et al. An improved adaptive detail enhancement algorithm for infrared images based on guided image filter[J]. Journal of Modern Optics, 2018, 66(1):33-46.
[13] TIAN R, SUN G L, LIU X C, et al. Sobel edge detection based on weighted nuclear norm minimization image denoising[J]. Electronics, 2021,10(6):655.
[14] 余波,吳靜,周琦賓.一種基于改進Canny算子的邊緣檢測算法[J].制造業自動化,2022,44(8):24-26,43.
[15] 劉成剛,劉二林,姜香菊.改進Canny算子的列車輪對踏面邊緣檢測算法[J].鐵道機車車輛,2021,41(1):22-25.