?

基于背景差分與最大熵的軌面缺陷分割①

2022-11-07 09:07王國偉陳光武魏宗壽
計算機系統應用 2022年10期
關鍵詞:適應度差分灰度

王國偉,陳光武,魏宗壽

1(蘭州交通大學 光電技術與智能控制教育部重點實驗室,蘭州 730070)

2(蘭州交通大學 自動化與電氣工程學院,蘭州 730070)

3(甘肅省高原交通信息工程及控制重點實驗室,蘭州 730070)

隨著機車高速、重載和高密度的運行以及自然環境的長期影響,鋼軌表面不可避免地會形成孔洞、擦傷和疤痕等各種缺陷[1].列車在表面有缺陷的鋼軌上運行會產生振動,不僅會影響列車車輪和鋼軌的壽命,甚至可能會導致車輪脫軌,造成嚴重的行車事故[2].因此需要工作人員能夠及時發現鋼軌缺陷并進行維護處理,以確保列車能夠安全、連續的運行[3,4].傳統的人工巡檢法由于受外界環境以及巡道工主觀因素的影響較大,且勞動強度大、檢測效率低,已經不能滿足現代鐵路的檢測要求[5].因此,想要確保鐵路運輸的安全與暢通,必須采用現代化的檢測手段來對鋼軌的狀態進行檢測[6],而機器視覺通過結合圖像處理與模式識別算法,能夠對鋼軌表面缺陷區域進行檢測并完成分類,且由于其具有高速度、高精度、低成本和非接觸等優點,目前已經被廣泛應用于鋼軌表面缺陷的檢測[7].

吳祿慎等[8]設計了基于機器視覺的軌道缺陷自動檢測系統,通過改進最大類間方差法來實現軌面缺陷的檢測,但是對軌道圖片濾波后直接進行閾值分割會導致分割的準確率不高.陳后金等[9]根據鋼軌表面缺陷的灰度和梯度特征,提出基于灰度-梯度共生矩陣的鋼軌表面缺陷檢測方法,該方法能夠避免銹跡區域的干擾,較好地檢測出塊狀缺陷,但是當雜質點分布比較集中或存在有規律的微小傷痕的時候,該方法容易產生誤判; 賀振東等[10]將視頻中的背景差分法應用到單張的軌面圖像上,提出了一種基于背景差分的鋼軌表面缺陷分割方法,該方法在一定程度上解決了分割過程中光照變化和反射不均等因素的影響,但是在背景建模過程中會受到極端灰度值的影響而導致背景模型不穩定,降低缺陷分割的準確率; 李曉梅等[11]提出一種將灰度對比圖和形態學重構相結合,然后利用最大熵法進行軌面缺陷分割的算法,該方法能夠在緩解軌面圖像灰度不均和過度曝光等帶來的影響,但是算法耗時長且容易產生誤分割; 閔永智等[12]提出了基于圖像灰度梯度特征的背景差分軌面缺陷檢測方法,該方法基于雙邊濾波思想設計了背景平滑濾波器,利用局部灰度和梯度變化信息對原圖像進行平滑得到背景圖像,該方法雖然能夠較好地檢測出裂紋和疤痕缺陷,但是參數過多,且對于不同的缺陷需要設置不同的參數.

針對上述算法中存在的缺點,本文提出了一種基于背景差分與最大熵的鋼軌表面缺陷分割算法.該算法主要包括3 個步驟: 首先對鋼軌圖像進行背景建模并將原圖像與背景圖像進行差分操作得到差分圖像;然后利用改進遺傳算法的最大熵值法找出差分圖像的最佳分割閾值來對其進行二值化; 最后對二值圖進行圖像濾波完成鋼軌表面缺陷的分割.該方法能夠避免光照變化、反射不均以及干擾區域的影響,可以快速準確地提取出軌面缺陷區域.

1 鋼軌圖像背景建模及差分

為了減少光照變化和反射不均對軌面缺陷檢測的影響,凸顯出鋼軌表面圖像中的缺陷部分,首先要建立準確的背景圖像模型,然后再將原圖像與背景圖像進行差分操作后取絕對值,以此得到了差分圖像,為后續軌面缺陷的準確分割奠定了基礎.

1.1 背景建模

鋼軌表面圖像具有以下特征:

(1)在無缺陷的條件下,沿鋼軌方向圖像的灰度值基本不變;

(2)垂直于鋼軌方向圖像的灰度值變化范圍較大.

基于列灰度均值的背景圖像模型建立方法就是根據上述中鋼軌表面圖像所具有特征來進行軌面背景圖像模型的建立[10],具體如下.

定義垂直鋼軌方向為x軸,沿鋼軌方向為y軸.計算圖像每一列的灰度均值,完成背景圖像模型的建立:

其中,Im(x)表示背景圖像模型中第x列的灰度值;mean(·)為均值函數;Iy(x)為軌面圖像中第x列上所有像素點的灰度值;col為軌面圖像的列數.

基于列灰度均值的背景建模法容易受到部分列極端灰度值的影響而導致所建立的背景模型不穩定,進而導致所得的差分圖像不能夠很好地凸顯出軌面圖像中的缺陷區域,這將影響后續缺陷分割的準確度.為此,本文提出了一種新的背景圖像模型建立方法,該方法在基于列灰度均值背景建模法上進行改進,其耗時短且建模結果也更加穩定,更適用于做背景差分,具體如算法1.

算法1.背景圖像模型建立算法1)計算出軌面圖像中每一列的像素灰度均值,取圖像第x 列的像素灰度均值為Ia(x);2)對每一列上的每一個像素點依次進行判斷,假設對圖像第x 列上的像素點進行判斷,若像素點的灰度值小于2Ia(x)/3,則舍棄,反之保留;3)計算出每一列中保留像素點的灰度均值,并將其作為背景圖像對應列上所有像素點的灰度值,取圖像第x 列中保留像素點的灰度均值為Ib(x),則背景圖像中第x 列上所有像素點的灰度值都取Ib(x),以此完成背景圖像模型的建立.

本文所提出的背景圖像模型方法通過加入像素點灰度值判斷的過程,舍棄掉一部分灰度值極低的像素點,從而避免了極端灰度值的影響,由此所得到的背景圖像模型作差分效果會更好.還有,鋼軌表面長期與列車車輪進行摩擦,其亮度高且較均勻,因此軌面灰度圖中絕大多數像素點的灰度值較高且均勻,故不需要考慮舍棄灰度值極高的像素點.

1.2 背景差分

將原鋼軌表面圖像與背景圖像進行差分運算并取絕對值,由此得到差分圖像ΔI(x,y):

其中,I(x,y)表示原軌面圖像中任一點(x,y)的灰度值,Ib(x,y)表示背景圖像模型中任一點(x,y)的灰度值.

通過運算所得到的差分圖像背景均勻,能夠很好地突出缺陷部分,因此對差分圖進行缺陷分割會更容易且更準確.如圖1 所示,圖1(a)、圖1(b)和圖1(c)分別是原軌面灰度圖、通過本文算法得到的背景建模圖像以及差分圖像,其中差分圖像背景均勻,缺陷區域明顯.

圖1 原灰度圖、背景圖及差分圖

2 鋼軌表面缺陷分割

本文提出了基于改進遺傳算法的最大熵值法來確定差分圖像的分割閾值,該方法不僅能夠找出圖像的最佳分割閾值,同時還可以加快算法的運行速度,然后再利用該方法所確定的閾值對差分圖像進行二值化,即可準確地完成鋼軌表面缺陷的分割.

2.1 最大熵閾值分割法

熵是信息論中的一個重要概念,是平均信息量的表征,用以確定隨機數據源中所包含的信息數量[13].簡單來說,熵就是用來衡量一個分布的均勻程度,熵值越大,說明分布越均勻.圖像的熵被認為是圖像灰度空間分布狀態不穩定的量度[14,15].

最大熵閾值分割法是由Kapur 等[16]首次提出,利用圖像熵為準則進行圖像分割,其將圖像劃分為目標區域O及背景區域B兩部分,使目標熵和背景熵之和達到最大時的閾值為最優閾值[17].具體思路如下:

假設有一幅圖像I尺寸為M×N,灰度級為L,灰度范圍為{0,1,2,…,L-1},則圖像中灰度值i(0≤i≤L-1)出現的概率pi計算公式如下:

其中,h(i)表示圖像I中灰度值為i的像素數,

設圖像I的分割閾值為t,灰度級小于t的像素點構成目標區域O,灰度級大于t的像素點構成背景區域B.目標區域O和背景區域B的灰度級累積概率分別為

目標區域O的概率分布為:

背景區域B的概率分布為:

目標區域O的熵為:

背景區域B的熵為:

圖像I的總熵φ(t)是目標熵與背景熵的和,即:

當圖像總熵φ(t)達到最大值時,其所對應的灰度值t就是所求的最佳閾值t=argmax(φ(t)).

傳統最大熵閾值法需要遍歷窮舉閾值T(0-255),計算出所有閾值下的圖像總熵,這導致算法的運行時間較長.為了加快算法的運行速度,可以根據圖像的動態范圍來縮小最佳分割閾值的取值范圍或者與尋優算法相結合來搜索最佳分割閾值.

2.2 改進遺傳算法

2.2.1 遺傳算法介紹

遺傳算法(genetic algorithm,GA)是模擬達爾文生物進化論的自然選擇和遺傳學機理的生物進化過程的計算模型,是一種通過模擬自然進化過程搜索最優解的方法[18].

遺傳操作是模擬生物基因遺傳的做法.在遺傳算法中,首先進行編碼并生成初始種群,然后進行遺傳操作,即對群體的每一個個體根據它們的環境適應度來進行一定的操作,從而實現優勝劣汰的進化過程.遺傳操作會使問題的解一代又一代地優化,逐漸逼近最優解[19].遺傳算法的過程如圖2 所示.

圖2 遺傳算法流程圖

遺傳操作包括3 個基本遺傳算子: 選擇、交叉和變異.遺傳操作的效果與這3 個遺傳算子所取得操作概率、編碼方法、群體大小、初始種群和適應度函數的設定密切相關[14].

2.2.2 改進遺傳算法介紹

傳統的遺傳算法存在收斂性差和容易陷入局部最優解的問題,容易導致圖像的分割結果不佳.為了避免此問題,對傳統的遺傳因子進行了優化,具體操作如下:

(1)改進選擇算子

輪盤賭選擇法是遺傳算法中最常用且最簡單的選擇方法,但該方法容易引起“早熟收斂”和“搜索遲鈍”問題.在輪盤賭選擇法后采用最優保留策略能夠有效解決此問題,即將上一代中適應度值最大的個體直接傳遞到下一代,通過強制保留最優個體保證種群不會產生退化,加快算法的尋優過程[20].

(2)改變種群操作中的交叉概率

傳統遺傳算法的交叉概率為一個固定值,而固定的交叉概率存在嚴重的缺點: 首先,每一代種群中的個體適應度值是不同的,對于適應度高的個體,我們應該減小交叉的概率,而對于劣質個體則應該增大交叉概率,采用相同的交叉概率是不合理的,再者,交叉概率采用固定值不能很好地滿足種群進化過程的需要,會影響算法的收斂性和效率.因此,采用自適應方法對傳統遺傳算法進行改進,根據迭代次數和個體適應度值的不同自適應地改變交叉概率Pc的值[21].

首先,隨迭代次數的變化自適應改變Pc的值: 在進化的初始階段設置較高的交叉概率,以此獲得更多新的個體來避免陷入局部最優解,隨著迭代次數的增加,為了不破壞優秀個體和加快收斂速度,應逐步降低Pc的值.其次,對于處于同一代的所有個體也要根據其適應度值的不同對應不同的Pc值: 適應度值較高的個體對應較低的Pc值,以此使它們在進化過程中被破壞的概率降低,反之,要提高適應度較低的個體在進化過程中被破壞的概率.具體設置如下:

其中,fmax表示第g代種群中的最大適應度值,favg表示第g代種群中的平均適應度值,fi表示第i對要交叉的個體中較大的適應度值.

Pc(g)的含義如式(10)所示:

其中,PcM和Pcm分別表示最大交叉概率和最小交叉概率,gmax表示最大代數,g表示當前代數.

(3)改變遺傳操作中的變異算子

同交叉算子的改進方法一樣,將傳統遺傳算法中的變異概率固定值改為隨迭代次數和個體適應度值不同而自適應變化的變異概率值Pm[21].

首先,隨迭代次數的變化自適應改變Pm的值: 在進化的初始階段設置較低的Pm值,在不破壞原有的完整模式下保持種群的多元性; 隨著進化的推進,逐漸增大Pm值,擴大算法的搜索空間,算法開始收斂; 在進化后期過程中,搜索已經接近最優解領域,因此再逐漸減小Pm值,使種群在局部重點進化,加快收斂速度.具體設置如下:

其中,fj表示發生變異的個體j的適應度值.

Pm(g)的含義如式(12)所示:

其中,PmM和Pmm分別表示最大變異概率和最小變異概率.

2.3 基于改進遺傳算法的最大熵值法

基于改進遺傳算法的最大熵值法將改進遺傳算法與最大熵閾值分割法相結合來找出圖像的最佳分割閾值,加快了算法的運算速度,提高了軌面圖像缺陷分割的效率.具體步驟如算法2.

算法2.基于改進遺傳算法的最大熵值法1)數據輸入.讀入鋼軌表面圖像灰度差分圖;2)編碼.圖像的灰度值在0-255 之間,每個灰度值視為一個個體,將每個個體編碼為8 位二進制碼,即用00000000-11111111 之間的一個8 位二進制代碼代表一個圖像分閾值;3)確定算法參數.種群規模n 設置為20,迭代次數gmax 設置為100,PcM 設置為0.8,Pcm 設置為0.4,PmM 設置為0.1,Pmm 設置為0.02;4)初始化種群.以同等概率在00000000-11111111 之間隨機生成n 個個體作為第一次尋優的初始種群;5)適應度函數設計.適應度函數是用來判斷群體中個體的優劣程度的指標,它是根據所求問題的目標函數來進行評估的.在本算法中,采用式(8)作為適應度函數;6)終止條件.終止條件設為最大迭代次數,達到預定最大的迭代次數,則轉步驟(10),否則進入步驟(7),如此循環,直到滿足終止條件為止;7)選擇.采用第2.2 節中改進的選擇算子進行選擇操作;8)交叉.根據第2.2 節中改進的交叉概率,采用單點交叉方式來完成交叉操作;9)變異.根據第2.2 節中改進的變異概率,采用基本變異算子來完成變異運算;10)解碼.將最后一代種群中適應度值最大的個體作為本算法所尋找的最優結果,將其解碼為將0-255 之間的灰度值th,即為所求的最佳分割閾值;11)圖像二值化.將差分圖像二值化: 灰度值大于分割閾值th 的點認為是缺陷點,將灰度值置為255; 反之,則認為是背景點,將灰度值置為0.

利用該算法得到的閾值對差分圖像進行二值化后得到的結果如圖3 所示.由圖3(b)可知,該算法可以準確地分割出軌面中的缺陷部分,但除此以外,還分割出部分噪聲干擾區域.

圖3 原灰度圖與二值圖

2.4 圖像濾波

本文采用形態學圖像處理方法和基于缺陷面積圖像的濾波方法來濾除圖像中的孤立噪聲點,實現缺陷的精確分割.

(1)閉運算.對二值圖進行圖像閉運算,依次經過膨脹、腐蝕處理的過程.閉運算能夠填充小孔,彌合小裂縫,而總的位置和形狀不變.

(2)圖像濾波.采用基于缺陷面積的濾波方法對圖像進行處理,本文將濾波面積設置為16,將小于16 像素的區域視為噪聲點并進行濾除.

經圖像濾波后的結果如圖4 所示,其中的孤立噪聲點都被濾除,精確地分割出了缺陷區域.

圖4 圖像濾波結果圖

3 仿真結果與分析

在Matlab_R2014b 中編程實現本文所提出的基于背景差分與最大熵結合的鋼軌表面缺陷分割方法,并利用含有不同缺陷的鋼軌表面圖像來進行實驗驗證.實驗所用的計算機的配置為Intel(R)Core(TM)i5-8300H CPU @ 2.30 GHz,機帶RAM 8 GB,64 位操作系統.實驗采用500 張軌面圖像對算法進行測試,其中300 張不含缺陷,200 張包含缺陷,缺陷總數為316.分別利用最大熵法、文獻[10]算法、文獻[11]算法以及本文算法對軌面圖像進行缺陷分割實驗,其中文獻[10]算法中的參數C取10,部分實驗結果對比圖如圖5 所示,圖中列出了a、b、c、d 共4 組軌面缺陷分割結果對比圖,在每一組對比圖中從左到右依次是原軌面灰度圖、利用最大熵法、文獻[10]算法、文獻[11]算法以及本文算法所得到的缺陷分割圖.

由圖5 中所列出的4 組對比圖中可以看出,不同軌面灰度圖上的缺陷位置、大小、數量、形狀等特征都不相同,其中最大熵法的抗干擾能力差,容易將與缺陷灰度相似的背景區域誤檢為缺陷,產生大面積的過分割; 文獻[10]算法和文獻[11]算法比最大熵法的分割效果好,但是對于小的或者不連續的缺陷區域,容易造成漏檢,對于部分干擾區域,也會存在誤檢; 利用本文算法進行缺陷分割的效果最好,相比較文獻[10]和文獻[11]算法,本文算法的抗干擾能力較強,誤檢缺陷和漏檢缺陷較少,且檢測出的缺陷區域與實際缺陷區域幾乎相同,但由圖5(c)可以看出,鋼軌存在的不連續的磨損缺陷,其具有多級灰度且分布不集中,對于此類缺陷,本文算法的分割結果不理想,僅能分割出缺陷中灰度值較低部分的區域,但分割效果仍優于文獻[10]和文獻[11]的算法.為了能夠更加客觀、科學地檢測算法的性能,本文采用精確率Pre、召回率Rec和正確率Acc三項指標來對這4 種不同算法的性能進行定量評價,分別為:

圖5 不同軌面缺陷算法的仿真結果對比圖

其中,Tp表示正確檢測到的缺陷圖像數目;Fn表示被漏檢的缺陷圖像數目;Fp表示被誤檢為缺陷的圖像數目;Tn表示被正確排除的非缺陷圖像數目.最終的性能比較結果見表1.

表1 不同缺陷分割算法的性能數據對比

由表1 可見,4 種算法中,本文算法的精準率和正確率最高,雖然召回率略低于最大熵法,但是最大熵法很容易產生誤檢,其精準率和正確率都很低,因此,本文算法的分割結果是最好的.從耗時性上相比,利用最大熵法進行缺陷分割的平均耗時最短,但是其缺陷分割效果太差,本文算法的平均耗時大于最大熵法,但是小于文獻[10]和文獻[11]算法,因此綜合來看,本文算法的性能最優,能在較短的時耗中更準確地分割出軌面缺陷.

4 結論與展望

本文提出了基于背景差分與改進遺傳算法最大熵法的軌面缺陷分割算法.首先利用背景差分操作更準確地凸顯出軌面的缺陷區域,以此避免了光照變化和軌面反射不均造成的影響; 然后利用改進遺傳算法最大熵法來尋找圖像的最佳分割閾值,不僅能保證最佳閾值的準確性,還能夠提高算法的運行速度; 最后對圖像進行二值化和圖像濾波,完成缺陷分割.仿真結果表明該算法能夠快速準確地分割出軌面中的缺陷區域,缺陷分割的精確率、召回率和正確率分別達88.6%、93.4%和90.6%.

本文只對軌面缺陷分割做了進一步的研究,在后續的工作中,還需要設計缺陷分類器來對分割出的缺陷進行分類識別.

猜你喜歡
適應度差分灰度
一類分數階q-差分方程正解的存在性與不存在性(英文)
天津港智慧工作平臺灰度發布系統和流程設計
華為“灰度”哲學
一個求非線性差分方程所有多項式解的算法(英)
Arduino小車巡線程序的灰度閾值優化方案
一類caputo分數階差分方程依賴于參數的正解存在和不存在性
基于差分隱私的數據匿名化隱私保護方法
啟發式搜索算法進行樂曲編輯的基本原理分析
基于改進演化算法的自適應醫學圖像多模態校準
基于人群搜索算法的上市公司的Z—Score模型財務預警研究
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合