楊 義,李毅波,馬逐曦,陳峰宇,黃前斌
(中南大學(xué) 輕合金研究院,湖南 長沙 410083)
鋼板表面的缺陷檢測技術(shù)一直是工業(yè)制造領(lǐng)域的重要檢測技術(shù)之一,而工業(yè)現(xiàn)場采集到的圖像通常包含噪聲[1],因此需要對采集到的缺陷圖像進(jìn)行去噪處理,以便于機(jī)器處理或人眼檢測。圖像去噪主要可以分為空域去噪和頻域去噪[2],研究者們也先后提出了很多去噪數(shù)學(xué)模型和算法,并取得了一定成效。經(jīng)典的空間域去噪方法有均值濾波、中值濾波法等[3],雖然能在一定程度上濾除噪聲,但是也會平滑圖像的紋理細(xì)節(jié)部分。隨后,Buades等人[4]結(jié)合圖像塊之間的結(jié)構(gòu)相似性,提出了非局部均值濾波(Non-local Means,NLM),該算法充分利用了圖像中的冗余信息,在濾除噪聲的同時最大程度地保留了圖像細(xì)節(jié)特征,但該算法存在時間成本高,且加權(quán)核函 數(shù) 分 配 不 均 的 問 題。Hernández-Gutiérrez等人[5]在傳統(tǒng)NLM的基礎(chǔ)上提出了改進(jìn)的預(yù)分類非局部均值濾波法(Improved Preclassification Non-local Means,IPNLM),該算法對噪聲圖像中的每個搜索窗口使用描述符評估,對分布在同質(zhì)區(qū)域和邊緣區(qū)域像素點分別采取不同的去噪方式。陸海清等人[6]針對傳統(tǒng)NLM算法不能準(zhǔn)確反映圖像塊之間的相似性問題,提出了一種混合魯棒權(quán)重和改進(jìn)方法噪聲的兩級非局部均值去噪算法(Two Stage-NLM,TSNLM)。Huo等人[7]提出了一種噪聲定位的兩階段圖像去噪算法(Two Stage Filter,TSF),該算法雖然能較為準(zhǔn)確地找到噪聲點并進(jìn)行去噪,但是邊緣檢測的精度對去噪效果影響較大。經(jīng)典的頻域濾波有維納濾波、小波去噪和稀疏表示去噪。Huang等人[8]結(jié)合維納濾波和小波閾值,提出了一種利用圖像小波系數(shù)之間相關(guān)性的去噪方法;Zhu等人[9]針對傳統(tǒng)閾值不連續(xù)和常偏差的缺陷,提出了一種綜合閾值小波去噪算法(Comprehensive Threshold Walvet Transform,CTWT)。Mallat等人[10]率先提出基于字典的稀疏表示概念,引發(fā)了大量研究者對稀疏表示理論和字典學(xué)習(xí)的研究。Sahoo等人[11]和Aharon等人[12]分別提出了正交匹配追蹤算法(OMP)和K-SVD字典學(xué)習(xí)算法來求解稀疏系數(shù)并得到匹配度更高的字典,但是算法計算復(fù)雜度較高。Dabov等人[13]在NLM和稀疏表示的基礎(chǔ)上,提出了一種三維塊匹配去噪算法(Block-matching and 3D Filtering,BM3D)。該方法不局限于單個像素的估計,而是在相似塊的基礎(chǔ)上進(jìn)行加權(quán)平均,通過聯(lián)合濾波對圖像進(jìn)行高度稀疏,從而達(dá)到更好的去噪效果,與其他方法相比更具優(yōu)勢。針對傳統(tǒng)BM3D算法無法自適應(yīng)濾波的問題,研究人員進(jìn)行了深入研究。王燕等人[14]提出了一種通過估計噪聲方差來選取合適的距離閾值的自適應(yīng)BM3D去噪算法(ABM3D),雖然該算法在一定程度上實現(xiàn)了自適應(yīng),但是圖像的去噪效果提升不大,仍具有一定的局限性。馮象初等人[15]提出了一種利用方向擴(kuò)散方程進(jìn)行修正的三維塊匹配濾波圖像去噪改進(jìn)算法,在一定程度上改善了去噪效果。Dai等人[16]針對傳統(tǒng)BM3D在低噪聲和高噪聲強(qiáng)度下分別存在計算量大和去噪效果差的不足,提出了一種基于自適應(yīng)距離硬閾值函數(shù)的改進(jìn)BM3D算法,但是該算法在噪聲強(qiáng)度較高時去噪效果尚不理想。Cheng等人[17]提出了基于曼哈頓距離的自適應(yīng)BM3D算法來去除激光散斑對比度成像中的非均勻噪聲,該算法提高了強(qiáng)噪聲下塊匹配的精度且具有較好的自適應(yīng)性。Feng等人[18]通過分別引入高斯函數(shù)和歸一化角距離來選取硬閾值和度量相似塊距離,相較于原算法去噪效果有所提升。Yahya等人[19]通過在去噪第一階段和第二階段分別引入自適應(yīng)濾波函數(shù)和自適應(yīng)權(quán)重函數(shù)來去除噪聲以更多的保留圖像細(xì)節(jié),但該算法計算復(fù)雜度較高。
針對傳統(tǒng)BM3D去噪算法存在無法自適應(yīng)選取距離閾值的問題,本文以傳統(tǒng)BM3D算法為基礎(chǔ),提出了一種基于噪聲估計和閾值函數(shù)的自適應(yīng)BM3D去噪算法——TFBM3D。該算法先根據(jù)估計的噪聲標(biāo)準(zhǔn)差自適應(yīng)選取基礎(chǔ)估計和最終估計階段的最佳閾值,再對缺陷圖像進(jìn)行去噪,在去除噪聲的同時還保留了大部分圖像中的缺陷細(xì)節(jié)。
BM3D去噪算法是一種根據(jù)圖像塊間相似性進(jìn)行去噪的三維濾波算法[20],該算法實現(xiàn)的過程主要分為基礎(chǔ)估計和最終估計兩個步驟。其算法流程如圖1所示。
圖1 BM3D算法流程Fig.1 Flow chart of BM3D algorithm
第一步:基礎(chǔ)估計。首先將鋼板表面圖像I分割成N1×N1大小的圖像塊,取圖像中某一參考點xR處的參考塊ZxR,然后構(gòu)造N1×N1的凱撒窗口,在以該點為中心、大小為W1×W1的搜索窗口內(nèi)以一定的步長p1搜索與參考塊相似的圖像塊,搜索過程中的滑動窗用Zx表示。
尋找相似塊的度量公式如下:
其中:γ'和Th2D分別為硬閾值濾波和二維線性變換。選擇適當(dāng)?shù)木嚯x閾值τ1,將滿足d<τ1的圖像塊按照與當(dāng)前參考塊距離從小到大排列,形成相似三維數(shù)組Th。即:
然后再將得到的相似群組Th二維矩陣進(jìn)行二維余弦變換和其第三個維度上進(jìn)行一維Haar小波變換,再進(jìn)行硬閾值濾波后通過三維逆變換就可以得到相似群組的估計值:
其中:u為相似群組Th中圖像塊的矩陣系數(shù),σ和λ3D分別為噪聲標(biāo)準(zhǔn)差和硬閾值收縮系數(shù)。通過硬閾值收縮將噪聲所對應(yīng)的較小系數(shù)置零去除,而保留圖像大部分真實信息所對應(yīng)的較大系數(shù)。
在得到每一參考塊的估計值后,再根據(jù)相似群組Th經(jīng)硬閾值收縮后非零系數(shù)的個數(shù)Nh來計算其估計值的權(quán)重ωh:
最后,因為對于某一像素x來說,它可能會出現(xiàn)在多個圖像塊內(nèi),所以需要對包含像素點x的重疊圖像塊進(jìn)行加權(quán)平均來得到該點的基本估計:
其中,?xm(x)為相似塊的特征函數(shù)。
第二步:最終估計。將基礎(chǔ)估計得到的圖像再次進(jìn)行分塊并逐塊估計。首先,在基礎(chǔ)估計圖像中進(jìn)行塊匹配分組,此時會得到基礎(chǔ)估計結(jié)果的三維矩陣T'h和噪聲圖像形成的三維矩陣Th,T'h表達(dá)式如下:
其次,再將得到的兩個三維群組都進(jìn)行二維余弦變換和一維Haar小波變換。利用基礎(chǔ)估計的三維矩陣T'h來對原始噪聲圖片的三維矩陣Th進(jìn)行聯(lián)合維納濾波,以得到其維納濾波收縮系數(shù):
隨后再利用三維逆變換即可得到相似群組的估計值:
最后將所有的參考塊進(jìn)行加權(quán)聚合即可得到最終估計圖像:
采用BM3D去噪算法對含有不同高斯噪聲強(qiáng)度的圖片進(jìn)行去噪時,需要選擇合適的基礎(chǔ)估計距離閾值τ1和最終估計距離閾值τ2才能尋找到最佳數(shù)量的相似塊,故距離閾值的選取對于最終的圖像去噪質(zhì)量起著關(guān)鍵作用。由于傳統(tǒng)BM3D去噪算法是先將噪聲強(qiáng)度劃分為低噪聲區(qū)間和高噪聲區(qū)間,然后人為在這兩個區(qū)間內(nèi)引入固定距離閾值,最后再進(jìn)行去噪,所以該策略無法確定不同噪聲強(qiáng)度下的最優(yōu)閾值,即不能自適應(yīng)選取最佳距離閾值以指導(dǎo)后續(xù)去噪,導(dǎo)致其去噪效果不能達(dá)到最理想的效果。
基于此,本文先對劃痕、麻面以及夾雜三組鋼板缺陷圖片人為添加不同強(qiáng)度的高斯噪聲,再利用網(wǎng)格搜索法對每張缺陷圖片同時尋找最佳距離閾值τ1和τ2,然后將各圖片在相同噪聲強(qiáng)度下的最優(yōu)距離閾值取平均,最后將最優(yōu)閾值點τ1和τ2分別與噪聲標(biāo)準(zhǔn)差σ進(jìn)行擬合,分析擬合效果。通過對基礎(chǔ)估計閾值τ1和最終估計閾值τ2的曲線擬合發(fā)現(xiàn),其最優(yōu)閾值τ1與噪聲標(biāo)準(zhǔn)差大致符合二次函數(shù)關(guān)系式,而閾值τ2與噪聲強(qiáng)度大致符合四次多項式函數(shù)關(guān)系。
其中,距離閾值τ1和τ2的搜索區(qū)間分別為[100,5 000]和[100,3 500],搜索步長均為100,噪聲標(biāo)準(zhǔn)差σ搜索區(qū)間[5,40],步長為5。
不同噪聲標(biāo)準(zhǔn)差σ與閾值τ1的擬合曲線如圖2所示。由圖2可知,在[5,40]的噪聲區(qū)間內(nèi),基礎(chǔ)估計中的最優(yōu)距離閾值τ1會隨著噪聲強(qiáng)度σ的增大而增加,且大致符合二次函數(shù)的趨勢,這是由于基于估計的去噪依據(jù)是原噪聲圖像,而隨著噪聲水平的增加,圖像中可用的真實信息減少,故需要增加距離閾值匹配更多的相似塊來對參考塊進(jìn)行去噪。
圖2 基礎(chǔ)估計閾值擬合函數(shù)圖Fig.2 Fitting function graph of basic estimate threshold
再對不同噪聲標(biāo)準(zhǔn)差σ和最優(yōu)閾值τ2進(jìn)行擬合,最終估計閾值擬合效果如圖3所示。由圖3可得,最佳距離閾值τ2與噪聲強(qiáng)度σ的關(guān)系大致滿足四次多項式的變換趨勢,且平均最優(yōu)取值集中在150至300之間。這是因為最終估計是在基礎(chǔ)估計后的圖像上進(jìn)行的,而經(jīng)過基礎(chǔ)估計后圖像中的大部分噪聲已經(jīng)濾除,故最終估計閾值相對基礎(chǔ)估計閾值要小很多,且集中在一定的區(qū)間內(nèi),以選擇合適的相似塊進(jìn)行去噪。
圖3 最終估計閾值擬合函數(shù)圖Fig.3 Fitting function graph of final estimate threshold
最終我們可以得到不同噪聲水平下的基礎(chǔ)估計和最終估計閾值選取函數(shù)表達(dá)式:
其 中:A、B、C分 別 取1.707 94、44.761 9和14.952 38;A1、B1、C1、D1依次取值為-0.001 16、0.105 22、-3.118 43、35.663 9、73.452 38。
由于傳統(tǒng)BM3D去噪算法將噪聲方差作為已知的先驗知識,而工業(yè)上采集的圖像噪聲往往是未知的,故圖像去噪之前需要先進(jìn)行噪聲方差估計,以便于后續(xù)的圖像去噪以及進(jìn)一步的圖像處理。由于采集到的鋼板圖像均勻區(qū)域相對較多,故本文采用Liu等人[21]提出的SVD域圖像噪聲估計方法,該方法非常適合對零均值的高斯噪聲進(jìn)行估計,且此方法估計的準(zhǔn)確度高、速度快。引入的SVD域噪聲估計方法作為TFBM3D算法的預(yù)處理以估計出圖像中的噪聲標(biāo)準(zhǔn)差,再根據(jù)噪聲標(biāo)準(zhǔn)差以及上述得到的閾值函數(shù)選取基礎(chǔ)估計和最終估計中的最佳距離閾值,最后用算法進(jìn)行去噪。TFBM3D算法去噪流程如圖4所示。
圖4 TFBM3D算法去噪流程Fig.4 Flow chart of TFBM3D algorithm denoising
本文試驗環(huán)境為64位Win10、Intel(R)Core(TM)-i5-10400處理器以及16 GB的內(nèi)存,試驗平臺為Python 3.6。為驗證本文算法的有效性,分別從去噪效果圖、去噪性能評價指標(biāo)以及殘余圖像三個方面進(jìn)行對比試驗。從東北大學(xué)NEUDET鋼板數(shù)據(jù)集中選取三張缺陷分別為劃痕、夾雜及麻面的圖片作為測試數(shù)據(jù),大小均為200×200,如圖5所示。分別對上述三幅測試圖片添加均值為0、標(biāo)準(zhǔn)差σ為10、15、20、25、30的高斯白噪聲,然后分別使用高斯濾波(Gaussian Filter,GF)、改進(jìn)的預(yù)分類非局部均值濾波(IPNLM)[5]、兩級非局部均值濾波(TSNLM)[6]、兩階段濾波(TSF)[7]、綜合閾值小波去噪(CTWT)[9]、BM3D算法[4]、自適應(yīng)BM3D算法(ABM3D)[14]、以及本文提出的基于閾值函數(shù)的自適應(yīng)BM3D算法(TFBM3D)進(jìn)行去噪對比試驗。
圖5 三種測試圖片F(xiàn)ig.5 Three testing images
選取峰值信噪比(Peak Signal to Noise Ratio,PSNR)和結(jié)構(gòu)相似性(Structural Similarity,SSIM)作為評價圖像去噪質(zhì)量的客觀指標(biāo),PSNR和SSIM的定義式分別如(14)式和(15)式所示。其中:O代表去噪后的圖像,MN是圖像的大小,μo、μI分別表示去噪后圖像和原始圖像的平均值,σo、σI以及σoI則分別代表去噪圖像的標(biāo)準(zhǔn)差、原始圖像的標(biāo)準(zhǔn)差以及兩圖像的協(xié)方差,C1和C2是保持穩(wěn)定的常數(shù),L代表圖像素值的動態(tài)范圍255,K1=0.01,K2=0.03。PSNR的值越大,表明去噪后的圖像和原圖像的相似性越高,去噪效果就越好。SSIM是一個0到1之間的數(shù),其值越大則表明輸出圖像和原始圖像的差距越小,即圖像質(zhì)量越好。表1列出了在高斯噪聲標(biāo)準(zhǔn)差為10的情況下本文去噪算法中基礎(chǔ)估計和最終估計的超參數(shù)設(shè)置以及閾值選取,其中距離閾值是根據(jù)上述擬合出的閾值函數(shù)計算得來的。表2至表4列出了八種算法在不同噪聲強(qiáng)度 下的PSNR和SSIM對比結(jié)果,其中加粗部分為最優(yōu)值??梢园l(fā)現(xiàn),本文提出的TFBM3D算法的評價指標(biāo)值是最高的,相對于傳統(tǒng)BM3D算法和ABM3D算法都有著一定程度提升。這是因為TFBM3D算法能根據(jù)噪聲水平自適應(yīng)選取最佳距離閾值以盡可能聚集搜索窗口中的合適相似塊來進(jìn)行去噪,克服了傳統(tǒng)BM3D距離閾值無法自適應(yīng)根據(jù)噪聲水平調(diào)節(jié)的問題,最大程度地保留圖像中的結(jié)構(gòu)信息,因此在PSNR和SSIM上又有了進(jìn)一步提升。
表1 σ為10時新算法參數(shù)設(shè)置Tab.1 Parameter settings for the new algorithm when σ is 10
表2 不同去噪算法在劃痕圖片上的PSNR和SSIM指標(biāo)Tab.2 PSNR and SSIM indexes of different denoising algorithms on the scratch image
表4 不同去噪算法在麻面圖片上的PSNR和SSIM指標(biāo)Tab.4 PSNR and SSIM indexes of different denoising algorithms on the pitted-surface image
表3 不同去噪算法在夾雜圖片上的PSNR和SSIM指標(biāo)Tab.3 PSNR and SSIM indexes of different denoising algorithms on the inclusion image
圖6至圖8依次給出了TFBM3D算法與其他七種算法對劃痕、夾雜以及麻面圖像的PSNR和SSIM曲線。從圖中可更加直觀看出,本文算法、IPNLM與BM3D算法相較于其他算法有著更好的去噪性能。在噪聲強(qiáng)度較低時,這三種算法去噪性能接近,但是隨著噪聲強(qiáng)度的升高,TFBM3D去噪算法相對于其他算法的優(yōu)勢更加明顯,仍能保持較好的去噪效果。無論是峰值信噪比還是結(jié)構(gòu)相似度,TFBM3D都取得了更好的效果。圖9和圖10分別給出了幾種算法在具有不同噪聲標(biāo)準(zhǔn)差的不同缺陷圖像上的主觀去噪效果。從圖中9可以看出,GF、TSNLM算法去噪后圖像的視覺質(zhì)量和清晰度雖有一定的提升,但是仍然存在相當(dāng)一部分噪聲沒有被濾除;TSF、CTWT和IPNLM算法在缺陷邊緣處產(chǎn)生了失真或過渡平滑(如劃痕圖片中的缺陷部分);BM3D和ABM3D算法在平坦區(qū)域出現(xiàn)了不同程度的失真。
圖6 各算法對劃痕圖像的PSNR和SSIM曲線Fig.6 PSNR and SSIM curves of each algorithm on the scratch image
圖8 各算法對麻面圖像的PSNR和SSIM曲線Fig.8 PSNR and SSIM curves of each algorithm on the pitted-surface image
圖10 σ=30時不同算法對夾雜圖像的去噪效果Fig.10 Denosing performance of different algorithms on the inclusion image while σ=30
圖7 各算法對夾雜圖像的PSNR和SSIM曲線Fig.7 PSNR and SSIM curves of each algorithm on the inclusion image
從 圖10中 可 看 出,GF、TSNLM、TSF和CTWT算法去噪后的圖像中仍殘留一部分噪聲;IPNLM算法去噪后圖像變得較為模糊;BM3D和ABM3D算法在平坦區(qū)域出現(xiàn)了明顯的塊效應(yīng)。本文算法的去噪圖像具有很高的對比度,缺陷邊緣處保持更好,平坦區(qū)域更加平滑且對圖像中噪聲的抑制能力更突出,整體的視覺效果最好。因此,TFBM3D算法具有良好的去噪質(zhì)量和去噪效果。
圖11和圖12分別為不同算法對麻面缺陷圖像去噪后主觀去噪效果和殘余圖像。從圖11可以發(fā)現(xiàn),GF、TSNLM和TSF算法去噪后的圖像中仍然殘留大部分噪聲;CTWT算法和IPNLM算法導(dǎo)致去噪后圖像出現(xiàn)了較多失真和模糊;BM3D和ABM3D算法在黑斑塊處出現(xiàn)明顯的振蕩,而本文算法在缺陷信息的保持和噪聲去除兩方面相較于其他算法更好。從圖12可以看出,TFBM3D算法得出的殘余圖像相對于其他算法的而言,包含的結(jié)構(gòu)信息更少,比較接近純噪聲。而其他算法,比如TSNLM、TSF等得到的殘余圖像中能比較明顯地看出麻面缺陷邊緣細(xì)節(jié)信息,這說明這些算法在去噪時將圖像中的邊緣等結(jié)構(gòu)當(dāng)作噪聲去除了,表明TFBM3D算法能較好地保持邊緣細(xì)節(jié)等信息,且優(yōu)于其他算法。綜上分析可知,本文提出的TFBM3D算法在去噪性能、視覺質(zhì)量以及圖像結(jié)構(gòu)信息的保護(hù)能力方面相較于其他算法具有較為顯著的優(yōu)勢。
圖11 σ=25時不同算法對麻面圖像的去噪效果Fig.11 Denosing performance of different algorithms on the pitted-surface image while σ=25
圖12 σ=25時不同算法對麻面圖像去噪后的殘余圖像Fig.12 Residual images of different denosing algorithms on the pitted-surface image while σ=25
為了衡量各算法對后續(xù)缺陷圖像處理以及最終缺陷檢出的影響,本文以劃痕圖像為例,使用閾值分割的方式,分別對各算法基于噪聲強(qiáng)度為10的劃痕缺陷圖像去噪后的圖像進(jìn)行圖像分割。具體分割效果對比圖如圖13所示。由圖可知,GF、TSNLM、TSF算法去噪后的分割圖像中殘留大部分噪聲,表明去噪后的圖像有較大面積的噪聲未濾除;CTWT和IPNLM算法去噪后中的分割圖像中缺陷處出現(xiàn)了明顯的缺失;BM3D算法和ABM3D算法去噪后的分割圖像中分別存在下邊緣缺陷特征缺失和殘留噪聲的問題;而在本文提出的算法去噪后的分割圖像中,既較好地保留了邊緣信息,又極大程度上去除了圖像中的噪聲。
圖13 σ=10時不同算法對劃痕圖像去噪后的圖像缺陷分割效果Fig.13 Image defect segmentation effect of different denosing algorithms on the scratch image while σ=10
本文提出了一種基于閾值函數(shù)和噪聲估計的自適應(yīng)BM3D去噪算法,通過在基礎(chǔ)估計階段和最終估計階段分別引入二次曲線閾值函數(shù)和四次多項式閾值函數(shù),根據(jù)噪聲估計階段所得出的噪聲標(biāo)準(zhǔn)差來自適應(yīng)選取最佳閾值以指導(dǎo)最終的圖像去噪。通過仿真對比試驗表明,該方法在客觀評價指標(biāo)和主觀視覺效果上均優(yōu)于大多主流算法。特別地,在噪聲標(biāo)準(zhǔn)差為30時,本文提出的TFBM3D算法的PSNR和SSIM指標(biāo)分別在33 dB和0.85以上。在今后的工作中,我們將研究出更有力的算法來去除鋼板缺陷圖像中的混合噪聲,如脈沖噪聲、瑞利噪聲等。