姜闊勝,柯虎城
(安徽理工大學(xué) 機械工程學(xué)院, 安徽 淮南 232000)
基于機器視覺檢測技術(shù),獲取金屬零件表面圖像,并通過數(shù)字圖像處理技術(shù)達(dá)到目標(biāo)區(qū)域的提取、識別,對提高產(chǎn)品質(zhì)量檢測的效率和精準(zhǔn)度具有重要意義。但部分高亮金屬表面具有極強的反射特性,不是理想的漫反射體,使得面陣CCD光敏面上的曝光量超過其飽和曝光量,造成畫面亮度失真,淹沒了所要檢測的缺陷信息[1]。所以解決高亮金屬表面特征提取問題,是金屬表面缺陷檢測技術(shù)的一個重要研究方向。
高亮金屬表面缺陷檢測的核心是如何在高亮噪聲的背景下,對微弱缺陷特征的識別和提取。面對這一問題,文獻(xiàn)[1-2]提出了一種改進(jìn)光源的方法,利用一種比較均勻的平行光和散射光,通過降低光源的強度來減輕圖像的散斑噪聲,但這種方法會使圖像的邊緣柔化,對比度減小。從信號處理的角度出發(fā),郭皓然等[3]針對高反射類金屬表面散斑噪聲問題,提出了一種具備全局閾值自適應(yīng)調(diào)整的高亮金屬表面缺陷檢測的新方法;但該方法通用性有待提升、部分圖像的處理結(jié)果存在些許失真,缺乏工業(yè)檢測系統(tǒng)應(yīng)有的魯棒性。唐瑞尹[4]針對加工表面強黑、強白問題和局部強反射特點,提出局部能量梯度算子兩次曝光融合成高動態(tài)范圍圖像的獲取方法,利用高低兩次曝光融合成高動態(tài)范圍圖像,來解決高光表面在成像過程中的曝光過度帶來的相差問題;該方法能綜合緩解金屬零件表面強黑、強白問題和局部強反射問題,但復(fù)現(xiàn)較為困難,可移植性差。Forte等[5]針對高反射類零件提出了一種用于檢測鏡面局部缺陷的自動光學(xué)檢測系統(tǒng);該系統(tǒng)利用一系列結(jié)構(gòu)化的漫射照明模式和一種特殊數(shù)碼相機,用來獲取高亮金屬表面特征。張學(xué)武等[6]提出了一種基于小波紋理特性統(tǒng)計分析的銅帶表面缺陷視覺檢測方法。國內(nèi)外眾多學(xué)者也提出了一些相關(guān)的改進(jìn)方案[7-9]。上述方案雖然能減少金屬表面散斑噪聲的影響,很好地對圖像中的缺陷目標(biāo)進(jìn)行準(zhǔn)確識別,但仍然不能消除金屬零件高反射特性帶來的散斑噪聲的影響。
據(jù)此,本文首先探索一種強噪聲背景下微弱圖像獲取的新的檢測技術(shù),對輸入圖像進(jìn)行噪聲增強,使得非目標(biāo)成像的輻射能量也得到增強,進(jìn)而用高信噪比的鬼像替代主像,消除因金屬表面高反射特性帶來的強光污染。然后用QT框架在Visual Studio平臺上搭建用于缺陷檢測的可視化人機交互平臺,結(jié)合數(shù)字圖像處理技術(shù)改進(jìn)了圖像增強的算法,對其進(jìn)行對比和有效性分析。實驗證明,該方法作為一種非線性噪聲增強技術(shù),在強烈的光污染中能夠呈現(xiàn)出清晰的輪廓圖像,簡單、魯棒、周期短,適用于工業(yè)環(huán)境中的應(yīng)用。
圖1 照片中的鬼像
圖2 鬼像應(yīng)用結(jié)構(gòu)圖
在光學(xué)系統(tǒng)中,透射面都存在一定的反射比例,一些光線在透鏡表面多次反射,最后射在像面上。一般情況下,光線經(jīng)多次反射,能量相對于透射光路幾乎為零,肉眼無法識別。如果拍攝物體是強光源,多次反射后的光強依然比環(huán)境光強要強很多,圖像上就會出現(xiàn)一個清晰的光點,稱為鬼像。如圖1中,可以清晰地看到硬幣和燈的結(jié)構(gòu)完全淹沒在強光噪聲之中,卻在與其相近的位置出現(xiàn)了一個高信噪比的鬼像。主影輪廓完全淹沒在強光噪聲中,卻能出現(xiàn)一個結(jié)構(gòu)清晰的鬼像,這為我們研究高亮金屬表面強光污染問題,提供了一個可行的新思路。
鬼像成像原理復(fù)雜,成像條件苛刻,尤其應(yīng)用于視覺檢測技術(shù)?;诖?,本文對其基本原理開展仿真及試驗研究。通過提高光源強度和改進(jìn)鏡頭結(jié)構(gòu)來提高鬼像強度,然后通過數(shù)字圖像處理方法,獲取高光亮零件目標(biāo)缺陷區(qū)域,實現(xiàn)缺陷檢測的目的。本文結(jié)構(gòu)圖如圖2所示。
圖3 單透鏡下鬼像形成原理
鬼像的本質(zhì)是到達(dá)光學(xué)系統(tǒng)像面的非目標(biāo)成像的輻射能量,相當(dāng)于光學(xué)系統(tǒng)中的噪聲。在光學(xué)系統(tǒng)中大多學(xué)者一直將預(yù)防和減少鬼像作為研究重點[10-11],而本文致力于提高鬼像的強度,用鬼像替代主像,從而避免金屬高反光性的困擾。圖3為一個單透鏡,由光學(xué)矩陣式
(1)
可以得到一階鬼像的焦距f1:
(2)
同樣,圖中的二階、三階鬼像的焦距f2、f3分別為
(3)
(4)
對單透鏡來說,奇階次鬼像在入射光一側(cè),偶階次鬼像在出射光一側(cè)。沒有增益介質(zhì)時,鬼像階次越高能量越低、像差較大,峰值能量會遠(yuǎn)低于低階鬼像。分析式(2)、(3)、(4)可知,透鏡的鬼像分布與兩曲面的曲率半徑R1、R2密切相關(guān),根據(jù)系統(tǒng)的特點設(shè)計透鏡的曲率半徑,可以提高鬼像的清晰度和對比度。
相機的鏡頭組是由多個透鏡組成,其鬼像形成過程與單透鏡類似,由于多透鏡間距是不可忽略的,并且剩余反射面的個數(shù)也大大增加,用計算的方法得到鬼像的位置十分復(fù)雜。利用Zemax軟件,可以便捷地分析各種復(fù)雜光路的鬼像分布,其序列模式下的鬼像分析功能,可以精確地確定鬼像形成的位置,從而進(jìn)一步分析和優(yōu)化鬼像。按照光學(xué)系統(tǒng)參數(shù)要求,選擇3個膠合透鏡組組成的變焦鏡頭作為初始分析的鏡頭結(jié)構(gòu),所得的鬼像蹤跡數(shù)據(jù)和光路如表1和圖4所示。
圖4 鬼像位置光路圖
圖5 翅片蒸發(fā)器脊面示意圖
表1為3個膠合透鏡組組成的變焦鏡頭的鬼像蹤跡數(shù)據(jù),可以看出該系統(tǒng)中離像面最近的鬼像的焦點在第11面的第一次反射和第5面的第二次反射形成的。根據(jù)圖4分析,可以確定最清晰的鬼像的位置,在優(yōu)化透鏡組時應(yīng)該重點減小第11面和第5面的透過率,增加光線的反射強度,可以增加光線在鬼像焦點處的能量,以便獲取更清晰的鬼像。
脊面卡槽的擺放位置十分重要,卡槽錯位或者缺失會導(dǎo)致安裝時卡死,因此,出廠時需要開展卡槽缺陷檢測。本文將應(yīng)用鬼像這種圖像獲取的新方法應(yīng)用于蒸發(fā)器脊面卡槽特征缺陷檢測。搭建了缺陷檢測系統(tǒng),結(jié)合圖像處理技術(shù),對蒸發(fā)器脊面卡槽特征增強、提取,從而驗證圖像獲取和數(shù)字圖像處理方法的有效性。蒸發(fā)器脊面結(jié)構(gòu)如圖5所示。
缺陷檢測系統(tǒng)主要包括硬件和軟件系統(tǒng)。硬件系統(tǒng)主要包括相機、鏡頭、光源和計算機。為了滿足系統(tǒng)的檢測精度和質(zhì)量,本文選擇感光性好的CCD傳感器相機搭配白色點光源,用高速穩(wěn)定的工控機作為缺陷檢測系統(tǒng)的載體。
軟件系統(tǒng)是基于Windows操作系統(tǒng),開發(fā)語言為C++,利用可以跨平臺的Qt的框架,通過調(diào)用OpenCV的計算機視覺庫來進(jìn)行圖像處理,開發(fā)平臺則為Microsoft Visual Studio。用VS平臺來開發(fā)C++程序可以方便調(diào)試和編譯,縮短開發(fā)周期。
卡槽特征的識別是本文缺陷檢測系統(tǒng)的重要組成部分。為了突出卡槽部位,抑制噪聲,首先需要對圖像進(jìn)行增強處理,然后運用二值化函數(shù)對圖像進(jìn)行閾值分割,通過計算目標(biāo)圖像像素點對檢測結(jié)果進(jìn)行有效驗證和量化分析,讓系統(tǒng)自動判斷卡槽缺失產(chǎn)品,實現(xiàn)自動化缺陷檢測。
本文根據(jù)鬼像的特點,在原有算法的基礎(chǔ)上運用了一種基于局部特征的對比度拉伸增強算法[12-13]。該算法針對上述全局算法的缺陷,將圖像按照不同的灰度級劃分為不同的特征區(qū)域,進(jìn)行差異放大,對整幅圖像的強度和對比度進(jìn)行初步的調(diào)整后,再進(jìn)行對比度拉伸。
3.2.1 對圖像進(jìn)行局部的差異放大
將輸入圖像f(x,y)減去以像素為中心鄰域內(nèi)的灰度平均值m(x,y);再乘以一個比例系數(shù)A(x,y),該系數(shù)與標(biāo)準(zhǔn)差成反比,所以在圖像中對比度較小的區(qū)域,增強效果更明顯,從而達(dá)到增強局部區(qū)域的目的;最后再加上一個灰度值以恢復(fù)整幅圖像的區(qū)域,得到結(jié)果圖像g(x,y),公式如下:
(5)
灰度標(biāo)準(zhǔn)差σ(x,y)越大的地方,灰度變化越大,放大倍數(shù)越小;σ(x,y)越小的地方,越平滑,增強效果放大,使得不同的地方采用不同的放大倍數(shù)。
3.2.2 對圖像進(jìn)行對比度拉伸
對f(x,y)進(jìn)行了局部差異放大之后,對g(x,y)進(jìn)行對比度拉伸,圖像經(jīng)過差異放大之后,灰度值還是比較集中,很暗淡,對比度也不高。通過灰度拉伸,將灰度值拉伸到更大的區(qū)域,就可以增強圖像的對比度,達(dá)到圖像增強的效果。具體公式如下:
(6)
其中Imin、Imax是原始圖像的最小灰度值和最大灰度值,Nmin和Nmax是要拉伸到的灰度空間的灰度最小值和最大值。
(a) 兩個卡槽 (b) 一個卡槽 (c) 卡槽缺失圖6 卡槽特征識別
圖7 缺陷實驗結(jié)果對比
通過增強之后,圖像的對比度和清晰度有了很大的提高,然后使用二值化函數(shù)對卡槽圖像進(jìn)行閾值分割,圖像中卡槽灰度值大于設(shè)定閾值時,使得卡槽部分變?yōu)楹谏?,其余筋板部分為白色,則顯示有卡槽部分?jǐn)嚅_。最后通過像素點檢測的算法,算出圖像的像素值,有卡槽處是斷開的像素值小于無卡槽圖像的像素值,統(tǒng)計100張卡槽缺失圖像的像素值設(shè)定為閾值,像素值小于設(shè)定閾值則為合格品,反之為不合格產(chǎn)品。處理結(jié)果如圖6所示。
為了比較此方法與傳統(tǒng)檢測方法的檢測效果,針對蒸發(fā)器卡槽有無缺失的特征,對兩種不同噪聲污染程度進(jìn)行對比實驗。樣本圖像的尺寸為1024像素×1000像素,圖像處理的方法按前文所述,實驗效果對比如圖7所示。
圖7A中,運用普通點光源,獲取的蒸發(fā)器脊面圖像被強光噪聲覆蓋,造成畫面亮度失真,淹沒了所要檢測的缺陷的信息,導(dǎo)致圖7D的脊面筋肋以及上面的卡槽特征完全提取不出來,系統(tǒng)無法識別。圖7B中,運用了均勻散射光源,強光噪聲污染明顯減小,圖7E中卡槽特征依然無法提取,且圖中保留了較多的無關(guān)噪聲。圖7C中,利用鬼像原理提取的脊面筋肋以及卡槽特征,雖然圖像的對比度有待提高,但避免了表面高亮的噪聲污染,圖7F中識別結(jié)果中的細(xì)節(jié)信息保留較好,卡槽特征也能較為精準(zhǔn)地提取,能夠滿足自動識別缺陷特征的要求。
表2 本文算法誤差率及耗時分析
本文為測試系統(tǒng)的檢測精度和檢測速率,采集了200張蒸發(fā)器脊面圖片。如表2所示,在檢測精度方面,我們檢測出50、100、150、200個樣本時,誤檢率分別為8%、5%、7.4%、7.5%。在檢測速率方面,考慮到檢測表面缺陷不可避免地使用數(shù)字圖像處理算法,如前文中所提到的局部差異放大和對比度拉伸,在圖像清晰度不高的情況下,是較為耗時的。為減少檢測時間,算法中多次使用提取感興趣的區(qū)域以減小圖像尺寸。同時使用圖像增強算法充分增強邊緣輪廓,提高像素值提取的精準(zhǔn)度。通過實驗測試,單張圖像平均檢測時間被控制在1 s之內(nèi),檢測速率足以滿足實際需求。
高亮金屬表面具有極強的反光特性,對視覺檢測技術(shù)帶來困難。本文提出基于鬼像原理的視覺檢測技術(shù),為進(jìn)一步提高鬼像清晰度,對光源、透鏡組的參數(shù)做出了調(diào)整,用高信噪比的鬼像替代微弱的主影,再結(jié)合數(shù)字圖像處理技術(shù)改進(jìn)圖像增強算法,對高亮金屬表面的缺陷特征進(jìn)行分割、提取,實現(xiàn)對目標(biāo)區(qū)域的識別。該方法從檢測技術(shù)角度為高亮金屬表面缺陷檢測提供了有效的新方案。