曹義親,丁要男
(華東交通大學 軟件學院,江西 南昌 330013)
隨著現(xiàn)代鐵路行業(yè)的高速發(fā)展,列車行駛速度不斷加快,運行里程不斷增長,鐵路運輸及其基礎設施安全隱患也隨之增多[1]。鋼軌表面產(chǎn)生各種類型的磨蝕和缺陷,軌道健康狀況發(fā)生變化,嚴重威脅列車行車安全[2]。采用高效、精確的技術方法來檢測鋼軌表面缺陷,為維修部門提供準確可靠的數(shù)據(jù),對鐵路運維工作而言顯得日益重要和迫切[3]。
基于計算機視覺的檢測方法因檢測精度較高、耗時較短等優(yōu)點,在鋼軌缺陷檢測領域中應用廣泛,并取得了一定的研究成果。文獻[4]提出一種基于最大穩(wěn)定極值域的缺陷檢測方法,首先分析缺陷的特征,再進行缺陷的提取和標記,將標記的結(jié)果采用最大穩(wěn)定極值域方法來完成缺陷的檢測。文獻[5]采用一種基于深度學習的檢測方法,運用語義分割框架實現(xiàn)缺陷的自動分割,其分割效果較好,缺陷的邊緣信息也比較完整。文獻[6]提出一種鋼軌缺陷識別模型,通過對不同尺度的缺陷進行分析、標記、檢測,仿真實驗結(jié)果驗證了算法的性能。文獻[7]提出一種基于灰度標準差與投影積分的閾值分割方法,能夠?qū)Σ煌愋偷娜毕葸M行檢測,其魯棒性較強。然而,實際獲取到的軌道圖像中不僅包含目標區(qū)域,即鋼軌表面區(qū)域,同時還包括非目標區(qū)域,如軌枕、扣件、碎石等,為了降低非目標區(qū)域的干擾,減少圖像處理運算的時間,提高軌面缺陷檢測的效率和精度,軌道表面區(qū)域提取就顯得非常重要。
文獻[8]提出一種手動確定左右兩邊界的軌面區(qū)域提取算法,采用水平投影方法對軌面區(qū)域進行提取,此算法計算方法簡單,但需要手動確定軌面左右邊界。文獻[9]提出了一種基于豎直投影法的軌面區(qū)域提取算法,采用灰度均值二值化的方法來確定軌面左右邊界,該方法在軌面區(qū)域提取過程中有一定的精確性,但是其自適應性較差。文獻[10]采用一種基于列直方圖最小值方法對軌面區(qū)域進行提取,通過計算得到軌道圖像的列直方圖,搜索固定軌寬間隔的最小值來完成軌面區(qū)域的提取,該算法能夠消除部分光照的影響,但仍需要預先設定軌面的寬度。文獻[11]提出了一種基于平均強度投影輪廓的軌面區(qū)域提取算法,此算法首先計算出縱向線的平均強度投影輪廓,對輪廓區(qū)間進行排序搜索,得到其最大值,完成軌面區(qū)域的提取,能夠去除部分噪聲的干擾,但是可變參數(shù)較多,不便于調(diào)節(jié)。文獻[12]提出了一種基于列像素累積灰度強度的軌面區(qū)域提取算法,計算每列的像素值,通過垂直投影曲線來確定左右邊界,此方法能夠有效完成軌面區(qū)域的提取,但抗光照干擾性較差,提取結(jié)果的邊緣信息不完整。文獻[13]采用一種基于HLS色彩空間的軌面提取方法,通過將H分量圖像單獨分離出來,進行軌面區(qū)域的提取,能夠消除部分光照的干擾,但是不能消除噪聲的干擾。
在RGB空間圖像中,軌道圖像灰度值分布規(guī)律性不強,難以克服光照不均和環(huán)境噪聲的干擾,利用HSV空間圖像中S分量圖像具有對光照干擾不敏感、抗光照不均能力較強的特點,本文提出一種基于HSV色彩空間S分量的軌面區(qū)域提取方法。新方法首先使用自適應加權中值濾波調(diào)節(jié)濾波窗口的大小,結(jié)合相似度值給不同濾波窗口的像素點分配相應的權重,將細小而雜亂的噪聲消除;然后將去噪后的RGB軌道圖像轉(zhuǎn)化為HSV色彩空間軌道圖像,將S空間分量圖像單獨提取出來,以此來克服光照條件變化對鋼軌表面區(qū)域提取帶來的干擾,同時采用改進的線性函數(shù)對S空間分量圖像進行增強,有效增強不同區(qū)域之間的差異;最后通過繪制灰度投影曲線,搜索列曲線左右兩側(cè)的最大值和次大值,確定軌面區(qū)域左右邊界,完成軌面區(qū)域的提取。
在RGB軌道圖像中,可以進行識別的圖像特征十分有限,獲取的有效信息不足,因此有必要對圖像進行灰度分析。軌道圖像一般包括兩大區(qū)域部分:目標區(qū)域,即軌道表面區(qū)域;干擾區(qū)域,包括軌枕、扣件、碎石等,如圖1(a)所示。為了降低軌面區(qū)域提取的難度,本文進行軌道圖像灰度分析,通過計算不同區(qū)域間的灰度特征,獲取區(qū)域間的灰度分布規(guī)律。
軌道圖像灰度劃分圖如圖1(b)所示,分析可知,根據(jù)灰度值的大小可以將其劃分為不同部分的軌道區(qū)域,用不同顏色的直線進行描述劃分,經(jīng)過軌道表面區(qū)域的直線有C3、C4、C5,其他5條直線經(jīng)過干擾區(qū)域。分析圖1(c)、圖1(d)可知:對于灰度值而言,正常情況下的軌面區(qū)域變化較為平緩,干擾區(qū)域變化的幅度較大,且在數(shù)值上,前者的灰度值大于后者的灰度值;由于軌道圖像包括非目標區(qū)域,容易影響灰度的正常分布,增加提取的難度;軌面中的列灰度值大于其均值,但是在存在外部噪聲的情況下,其值會低于均值,在光照的不均的情況下,其值會高于均值。
圖1 軌道圖像灰度分布圖
綜上所述,在RGB空間圖像中,由于存在光照不均和環(huán)境噪聲的干擾,軌道圖像灰度值分布規(guī)律性不強,給基于RGB空間圖像的軌面區(qū)域提取方法帶來了一定的困難。然而,在HSV色彩空間中,S分量圖像具有對光照干擾不敏感、抗光照不均能力較強的特點,本文將RGB空間圖像轉(zhuǎn)換為HSV空間的圖像,通過對S分量圖像的處理,以減弱或消除光照帶來的影響。
HSV是一種基于六角錐體將RGB色彩空間中的不同點之間的關系表示出來的方法模型,其描述的顏色感知關系準確,計算簡單,是一種直觀的、相互獨立的顏色。在HSV顏色模型中,包括3種不同的模型顏色空間,如圖2所示,色調(diào)H表示的是圍繞中心點轉(zhuǎn)動的角度,取值范圍為0°~360°,飽和度S和明度V分別表示不同的點和頂點到截面圓心的距離。RGB空間圖像能夠轉(zhuǎn)換為HSV空間的圖像,轉(zhuǎn)換公式如式(1)~(3)所示。max表示(r,g,b)之間的最大值,min表示(r,g,b)之間的最小值。
圖2 HSV顏色空間
(1)
(2)
V=max
(3)
在采集和傳輸鋼軌圖像的過程中,圖像不可避免地會受到噪聲的污染,導致鋼軌圖像部分細節(jié)的清晰度不高,有時鋼軌圖像較為模糊,導致圖像的整體質(zhì)量下降,給鋼軌表面區(qū)域提取造成一定的困難。
傳統(tǒng)的中值濾波去噪是通過將圖像中每個點的灰度值設定成該點鄰域內(nèi)所有像素點的中值,從而消除孤立的噪聲點,實現(xiàn)圖像去噪,該方法在軌道圖像中去噪效果不明顯,存在細小而雜亂的噪聲。為了提高圖像降噪的效果,本文采用自適應加權中值濾波方法[14]實現(xiàn)軌道圖像的去噪,根據(jù)圖像中噪聲點的個數(shù)自適應調(diào)節(jié)濾波窗口的尺寸大小,計算每個像素點的相似度,結(jié)合相似度的大小將不同濾波窗口的像素點分配相應的權重大小,將圖像中的噪聲點進行消除。此算法在有效去除圖像噪聲的同時,還能較好地保護圖像的細節(jié)信息。
2.3.1 S分量的提取
首先將自適應加權中值濾波處理后的RGB軌道圖像通過非線性變換式(1)~(3)轉(zhuǎn)化成為HSV空間軌道圖像,再將HSV空間中的S空間分量圖像單獨提取出來,提取后的圖像記作為q(x,y)。在HSV空間中,S空間分量圖像代表其飽和度圖像,利用其對光照不敏感的優(yōu)勢來克服光照不均的干擾,進行軌面區(qū)域的提取,提高提取的準確率,如圖3所示。
圖3 HSV顏色空間及S空間分量
2.3.2 基于線性變換的圖像增強
為了進一步提高鋼軌表面區(qū)域和其他區(qū)域的對比度,有效增強不同區(qū)域之間的差異,需要進行圖像增強處理。在S分量圖像中,使用簡單的線性變換增強,其增強效果不明顯,不同區(qū)域間的對比度差異性較低,不利于下一步的區(qū)域提取。
本文基于簡單的線性變換增強進行改進,采用線性變換函數(shù)[15]對S空間分量圖像q(x,y)進行圖像增強,引入兩個飽和度增強強度參數(shù)m1和m2來提高算法的通用性,以此達到飽和度增強的效果,計算公式如式(4)所示,其中增強后的灰度大小范圍為(m1×a,m2×b),原始圖像的范圍為(a,b)。
(4)
通過多次實驗,當m1取0.4,m2取1.6時,能較好地實現(xiàn)鋼軌表面區(qū)域和其他區(qū)域的對比度拉伸,有效提升不同區(qū)域間的對比度,有利于提高軌面區(qū)域提取的精度,取得較好的圖像增強效果,變換后的圖像Q(x,y)如圖4所示。
圖4 圖像的增強
2.3.3 軌面區(qū)域左右邊界的確定
通過式(5)計算軌道圖像Q(x,y)中每列的灰度,并得到灰度投影曲線。設t(x)表示是第x列的灰度和,將每列的灰度投影曲線進行疊加,若計算出來的列灰度值大于最大灰度值255,需要通過式(6)進行縱坐標的變換,反之不需要。其中h表示的是圖像Q(x,y)的高度,T(x)表示的是進行變換后的值。
(5)
T(x)=t(x)/255
(6)
計算HSV顏色空間中S空間分量圖像Q(x,y)的中間點,記為p/2,對灰度和值的大小進行排序,找到其中間點p/2的左邊灰度投影曲線的最大值A1和次大值A2、右邊的灰度投影曲線的最大值B1和次大值B2。最后對左右端邊界點進行確定,若A1所屬的列的值大于A2,則圖像的左端邊界點row(A)=A1,反之圖像的左端邊界點row(A)=A2;若B1所屬的列的值大于B2,則圖像的右端邊界點row(A)=B1,反之圖像的右端邊界點row(A)=B2。
確定軌面左右邊界點后,根據(jù)兩邊界點完成對鋼軌表面區(qū)域的提取。
2.3.4 軌面區(qū)域提取算法流程
軌面區(qū)域提取算法流程如圖5所示。
圖5 軌面區(qū)域提取算法流程圖
實驗配置環(huán)境如下:CPU的型號為Intel(R)Core(TM)i7-6700,CPU頻率為3.4 GHz,編程環(huán)境為MATLAB R2019a,操作系統(tǒng)為Windows10 64位,16GB內(nèi)存。
在進行提取的過程中,由于算法提取的結(jié)果和人工標注的軌面邊界不完全一致,為了驗證算法的精度,本文引入交并比(Intersection over union, IoU)值[16]和提取準確率來對算法提取的精度進行評價。
IoU值是計算算法提取軌面邊界結(jié)果和人工手動標注邊框結(jié)果的交集與并集之間的比值,即交疊率,其計算公式如式(7)所示。其中圓形C表示的是算法提取的預測結(jié)果,圓形D表示的是人工標注的實際結(jié)果,如圖6所示。在圓形C和D進行交并運算中,其二者的交疊率值越大,反映二者的重疊度越高,預測結(jié)果和實際結(jié)果就越接近,其精度就越高。最理想情況是完全重疊,即比值為1。
圖6 IoU示意圖
IoU=(C∩D)/(C∪D)
(7)
從本實驗室收集整理的軌道圖像數(shù)據(jù)集中選取250張RGB鋼軌缺陷圖像(尺寸大小為5.40 cm×4.25 cm)進行軌面區(qū)域提取實驗,設定交并比值IoU和提取準確率作為軌面提取的精度性能指標,算法運行10次的平均消耗時長作為其時耗性能指標。
為了更加精確測試不同軌面提取算法的有效性和提取的性能,本文參考文獻[13],設定軌面區(qū)域提取的IoU值大于0.85判斷是正確提取,反之判斷其為提取失敗。將本文算法與不同的軌面提取算法進行實驗對比。
圖7是不同算法的軌面圖像提取的結(jié)果,表1是圖7第一幅圖不同算法的交并比值,其圖像的真實邊界為:[900,1500]。
通過表1的數(shù)值對比不難發(fā)現(xiàn),本文算法預測的邊界與圖像的真實邊界最為接近,IoU值均高于其他對比算法,且提升幅度較大。相對而言,本文算法提取精度最佳、算法的性能最好。
表1 不同算法的交并比值對比
分析圖7可以看出:文獻[8]和文獻[9]的提取效果不佳,兩者都是基于計算灰度投影曲線進行軌面區(qū)域提取,其中文獻[8]采用的是計算軌面圖像中每列的白色像素數(shù)量的一半和灰度投影曲線相連接的交點作為軌面邊界,文獻[9]則是將灰度投影曲線中第一次連續(xù)出現(xiàn)1或0時的值判定為軌面邊界的端點,這兩種方法太理想化,對軌道圖像質(zhì)量要求較高。文獻[10]相對于文獻[8]和文獻[9]的提取效果有較大提升,但仍存在提取效果不佳、軌面邊緣信息不完整的問題,其原因是通過預先設定的寬度對軌面區(qū)域進行提取,默認其寬度間隔搜索的最小值作為邊界,但此最小值可能出現(xiàn)在非軌面區(qū)域部分。
圖7 不同算法軌面提取的結(jié)果
文獻[11]和文獻[12]的提取效果與文獻[10]相當,算法通過計算灰度值大小進行軌面區(qū)域提取,分別使用列灰度均值和列灰度和值進行搜索,將列灰度均值與列灰度和值進行迭代相加得到最大的定長區(qū)間來對軌面邊界進行確定,此方法容易受到光照不均的影響,導致計算的灰度分布出現(xiàn)偏差,進而影響軌面提取效果,降低了提取的精度。文獻[13]的提取效果較文獻[11]和文獻[12]有所提升,方法采用基于HLS色彩空間的軌面區(qū)域提取方法,首先把H分量的圖像單獨分離出來,雖然在一定的程度上可以消除光照條件下的干擾,但是不能消除噪聲的干擾,因而影響提取的效果,其IoU值較低。本文算法的提取效果與前面的方法相比,有明顯的提升,新方法將去噪后的圖像進行HSV色彩空間轉(zhuǎn)化,對S分量圖像進行分離提取,采用線性變換函數(shù)對S分量圖像進行增強,在S分量圖像中繪制灰度投影曲線,來自動確定軌面區(qū)域的左右邊界,其提取效果最佳。
圖8是不同算法進行軌面區(qū)域提取的平均消耗時長對比結(jié)果。文獻[8]提出的算法耗時最長,達到48.4 ms,其原因是需要手動對區(qū)域邊界進行確定,耗時較長。文獻[9]提出的算法耗時24.9 ms,其原因是采用豎直投影法進行軌面區(qū)域的提取,自適應性較差。文獻[10]、[11]和[12]不需要對色彩空間進行轉(zhuǎn)換,算法耗時相對較少,其值分別為16.4 ms、15.2 ms和17.7 ms。本文算法由于需要將RGB色彩空間轉(zhuǎn)化為HSV色彩空間,一定程度上增加了時耗,故在平均消耗時長上高于不需要對色彩空間進行轉(zhuǎn)換的算法。但相對于其他需要進行色彩空間轉(zhuǎn)換的對比算法,本文算法耗時較低,僅需要22.8 ms,低于文獻[13]的39.4 ms,可以滿足實時性的需要,原因是本算法通過繪制灰度投影曲線,尋找軌面邊界左右兩側(cè)列曲線的最大值和次大值,來確定軌面區(qū)域左右的邊界,一定程度上減少了搜索的時長。
圖8 不同算法提取的平均耗時
為了進一步定量說明本文算法的有效性,采用準確率作為評價指標,進行實驗對比,結(jié)果如表2所示。文獻[8]和文獻[9]算法對軌道圖像的質(zhì)量要求較高,過于理想化,且需要人工確定軌面邊界,在本文實驗過程中,當實際的軌道圖像質(zhì)量達不到方法要求,文獻[8]和文獻[9]算法無法正確提取軌面區(qū)域,所以不再統(tǒng)計其準確率。文獻[10]進行軌面區(qū)域提取的準確率為83.2%,影響準確率的原因是基于列直方圖進行區(qū)域提取的方法可能導致整體的結(jié)果向左右兩邊平移,而文獻[11]和文獻[12]相比于文獻[10]準確率降低,原因是文獻[11]和文獻[12]都需要提前設定軌面寬度,通過計算平均強度投影輪廓和像素累積灰度強度,對邊界進行確定,進行區(qū)域提取,存在一定的誤差,準確率分別為81.6%和82%。文獻[13]的準確率為84%,在一定的程度上可以克服光照不均的影響,但是不能消除銹跡、陰影等帶來的干擾。本文算法使用自適應中值濾波實現(xiàn)對軌道缺陷圖像的去噪,將RGB顏色空間向HSV色彩空間進行轉(zhuǎn)化,進而提取S分量圖像,消除光照條件的干擾,通過對S分量圖像進行增強,有效增強不同區(qū)域之間的差異,所涉及的操作均有利于邊界提取,準確率為94%,在相關對比算法中準確率最高,且提升幅度較為明顯。
表2 不同軌面提取算法準確率對比
針對鋼軌圖像存在光照不均和噪聲影響的問題,同時為了進一步提升軌面區(qū)域提取的效果,本文提出一種基于HSV色彩空間S分量的軌面區(qū)域提取方法。采用自適應加權中值濾波方法對軌道圖像進行處理,達到消除噪聲干擾和保護圖像邊緣信息的目的;基于HSV顏色空間提取出S分量圖像,以此來克服對光照敏感的不足;采用線性變換函數(shù)對S空間分量圖像進行增強,提高不同區(qū)域間的差異,增強對比度,有利于軌面區(qū)域提取;通過繪制灰度投影曲線,確定軌面區(qū)域的邊界,完成軌面區(qū)域提取,避免手動設定軌面的寬度,自適應性較強。本文算法可控性強,可變參數(shù)較少,方便進行調(diào)節(jié)。
仿真實驗結(jié)果表明,該方法對軌面區(qū)域提取的效果較為理想,提取精度較高,準確率為94%,平均提取時間為22.8ms,可以滿足實時性的需要,具有一定的實用價值。本文僅考慮了光照和噪聲對軌面區(qū)域提取的影響,后續(xù)工作將進一步研究不同光照條件和不同噪聲條件下的軌面提取問題。