梁建偉, 袁緒昌, 李 慧, 鐘賢青
(1.江西理工大學(xué)電氣工程與自動化學(xué)院, 江西 贛州 341000;2.贛南科技學(xué)院, 江西 贛州 341000;3.開異智能技術(shù)有限公司, 上海 200000)
汽車整體外觀檢測是產(chǎn)品交付的最后一步,而車燈燈罩表面作為汽車整體的一部分,對外觀缺陷檢測要求尤其嚴(yán)格。由于車燈燈罩生產(chǎn)工藝上的特點,對車燈燈罩的缺陷檢測仍然停留在人工檢測階段。
隨著機器視覺技術(shù)的長足發(fā)展,在工業(yè)缺陷檢測[1-3]領(lǐng)域,該技術(shù)也得到了廣泛應(yīng)用。簡川霞等[4]研究OLED 顯示屏表面缺陷自動檢測的方法,提出對圖像進行奇異值分解,并選取兩個較大的奇異值對圖像進行重構(gòu),之后作差分運算得到殘差圖像,采用模糊C 均值的聚類方法,根據(jù)圖像像素的隸屬度值聚類為兩類,即背景和缺陷,達到缺陷分割的目的。劉浩等[5]研究刀具表面檢測及分類的方法,采用基于雙邊濾波的降噪方法和基于差分的對比度增強方法,提取缺陷的形狀特征、灰度特征和紋理特征,然后采用支持向量機的分類方法對缺陷進行自動分類。楊勍等[6]研究TFT-LCD 圖像異物缺陷自動分割的方法,采用基于空間信息多尺度顯著性的缺陷提取,并結(jié)合缺陷與屏幕像素間隙的空間分布關(guān)系,找到被像素間隙截斷的對應(yīng)缺陷塊組,利用局部凸包擬合算法將缺陷區(qū)域進行連通,實現(xiàn)缺陷的精確分割。然而,現(xiàn)有文獻對于車燈燈罩表面缺陷檢測的研究還處于實驗階段。因此,本文作者所在的團隊針對這一問題,進行了大量的調(diào)研和研究,歸納出限制這一自動化進程的主要原因有三點:其一,車燈燈罩種類繁多且形狀不規(guī)則,多為異形曲面,缺陷數(shù)據(jù)難以采集;其二,車燈燈罩表面的缺陷主要由于生產(chǎn)過程中碰撞、刮擦等方式在其表面產(chǎn)生的痕跡以及臟污斑點,因此,缺陷產(chǎn)生的位置及形狀沒有統(tǒng)一的范式;其三,車燈燈罩表面存在高反光區(qū)域(鍍鋁面)和非高反光區(qū)域(磨砂面),難以進行打光成像。
本文針對車燈燈罩表面缺陷檢測任務(wù),首先從照明方案設(shè)計著手,采用LED 光源條形打光的方式,能夠非常清晰的顯現(xiàn)缺陷位置的像素,然后設(shè)計缺陷檢測算法,對于條紋背景采用改進Mean Shift 算法分割,之后再在白色條紋的基礎(chǔ)之上采用模糊C 均值算法,最終定位缺陷位置所在的像素坐標(biāo),從而達到分割出缺陷部分像素的目的。
機器視覺系統(tǒng)的核心是圖像的采集和處理,且圖像的質(zhì)量對整個視覺系統(tǒng)極為關(guān)鍵,即一幅好的圖像可以提高整個系統(tǒng)的穩(wěn)定性,從而大大降低圖像處理算法的難度,同時提高系統(tǒng)的精度和可靠性[7]。而一幅好的圖像應(yīng)該具備如下四個條件:
1)對比度:對比度明顯,目標(biāo)與背景的邊界對比清晰,要求目標(biāo)與背景灰度值至少相差30 以上;
2)均勻性:要求圖片整體亮度均勻,或整體不均勻但灰度差不影響圖像處理;
3)真實性:與顏色有關(guān)的還需要顏色真實,亮度適中,不過度曝光,過度像素滿足精度檢測要求;
4)干擾性:背景盡量淡化。
因此,綜合以上分析,對于光源的選擇以及打光方案的確定是機器視覺系統(tǒng)設(shè)計中第一步也是關(guān)鍵一步。表1 為常見的光源類別及其優(yōu)缺點匯總。
表1 常見光源性能參數(shù)
如表2 所示,本文將詳細描述常見的照明方法及對應(yīng)的照明方案,并分析其優(yōu)缺點及在項目中的主要應(yīng)用。
表2 常見照明方案
通過對比常見的不同光源的參數(shù)特性,LED 光源在使用壽命相比于其他光源更持久,且LED 光源的光色純正,對于車燈表面的缺陷顯影更加有利,而且其響應(yīng)時間更短,滿足工業(yè)質(zhì)檢的檢測速度要求。打工方式選取折射光面陣式照明,該方法能夠?qū)嚐魺粽诌@類透明介質(zhì)上的缺陷進行顯影,有利于后續(xù)分割算法的設(shè)計與處理。
本文綜合資源節(jié)約性、方便經(jīng)濟性以及機器視覺系統(tǒng)的穩(wěn)定性考慮,采用LED 光源及散射光照明的方式對車燈燈罩表面進行條形光打光處理。車燈燈罩經(jīng)打光后的缺陷圖像如圖1 所示,可以明顯看出缺陷區(qū)域存在于白色條紋處,其灰度值與周圍區(qū)域的灰度值存在明顯差異。
圖1 車燈燈罩經(jīng)條形光源打光后的缺陷成像
獲取的缺陷信息可以分為三種形式:類別標(biāo)簽、外接矩形和像素掩碼[8]。對應(yīng)的方法分別是分類、目標(biāo)檢測和分割,本文對缺陷信息的獲取采用像素掩碼的形式,即分割的方法。
研究車燈燈罩的打光圖像,缺陷所在的區(qū)域主要存在于白色條紋處且僅與周圍像素有一定的差異,但是,缺陷所形成的區(qū)域并不具有語義性(即缺陷區(qū)域形成的形狀沒有范式),僅僅是灰度值的差異[9],若從整幅圖像的角度去分割出缺陷存在的區(qū)域相當(dāng)困難,可以把條紋區(qū)域看作圖像中的紋理模式(即黑白條紋區(qū)域),首先提取整幅圖像內(nèi)的紋理模式,然后再在黑白條紋處確定缺陷所在區(qū)域的像素。
那么,順應(yīng)這種思路,首先,確定Mean Shift 算法[10]用于提取整幅圖像中的黑白條紋區(qū)域,Mean Shift算法有兩個優(yōu)勢:一是該算法可調(diào)超參數(shù)少只有一個,即頻帶寬度,方便操作;二是該算法不需要指定聚類個數(shù)可自動確定,魯棒性強。然后,在確定了黑白條紋區(qū)域之后,對所在區(qū)域內(nèi)的像素采用模糊C 均值[11]的方法確定最終的缺陷分割像素掩碼。缺陷區(qū)域分割的算法流程如圖2 所示。
圖2 缺陷區(qū)域分割的流程
分析成像圖像,缺陷的位置存在于條紋區(qū)域內(nèi),而且,條紋區(qū)域特征空間的模式相對于整幅圖像而言比較簡單,這對于特征空間的參數(shù)分析極為有利,因此,如何將條紋區(qū)域從整幅圖像上分割出來成為本文第一個需要解決的問題。Mean Shift 是一種基于核密度估計的非參數(shù)聚類算法。該算法不需要指定聚類個數(shù)即可自動分類,且分割形成的形狀不受限制。
2.1.1 核密度估計與Mean Shift
核密度估計的作用主要是估計樣本在特征空間的密度分布模式,即通過相同的核函數(shù)對數(shù)據(jù)集中每一個樣本點進行計算,然后對所有核函數(shù)相加,得到數(shù)據(jù)集的核密度估計。
若給定數(shù)據(jù)集{xi}x∈Rd,i=1,…,n,定義徑向?qū)ΨQ核函數(shù):
且核密度估計:
其中,
式中:H為頻帶寬度矩陣或者H=h2I。
則最終的核密度估計:
式中:h為核函數(shù)k(x)的參數(shù)頻帶寬度;ck,d為歸一化常數(shù)。
Mean Shift 算法的基本目標(biāo)是將樣本點向局部密度增加的方向移動。梯度是函數(shù)增加最快的方向。
對核密度估計式(4)求偏導(dǎo):
定義函數(shù):
并定義核函數(shù):
則核函數(shù)G(x)所對應(yīng)的核密度估計為:
此時,將式(6)代入式(5)中:
其中,Mean Shift 向量的表達式為:
此時,將式(8)與式(10)代入式(9)中:
通過式(11)可以看出,使用核函數(shù)G(x)計算的Mean Shift 向量與使用核函數(shù)K(x)計算的密度梯度估計成正比,因此,Mean Shift 向量總是指向密度增加最快的方向。
2.1.2 Mean Shift 圖像分割
Mean Shift 算法對彩色圖像作分割任務(wù)不是在RGB 顏色空間,而是在LUV 顏色空間。具體因為RGB 顏色空間是非均勻空間且主要用于存儲和編碼,而LUV 顏色空間是均勻空間,L代表亮度,取值范圍為(0,100),U和V代表色度,取值范圍為(-100,100),而感知顏色空間的差異一般采用特征空間中的歐氏距離度量,因此,對于RGB 顏色空間并不能完全保證有效的歐氏距離度量。
一般而言,設(shè)備獲取到的圖像是基于RGB 顏色空間的,因此,對于獲取到的RGB 圖像應(yīng)先轉(zhuǎn)換到LUV 顏色空間進行表示。
首先,將RGB 圖像轉(zhuǎn)換到標(biāo)準(zhǔn)XYZ 顏色空間,有如下轉(zhuǎn)換關(guān)系:
然后,將標(biāo)準(zhǔn)XYZ 顏色空間圖像轉(zhuǎn)換到LUV 顏色空間,有如下轉(zhuǎn)換關(guān)系:
其中,
Mean Shift 算法描述的是特征空間內(nèi)密度的估計,因此,對于彩色圖像而言,包含空間域即圖像矩陣的重采樣網(wǎng)格,以及色彩域即彩色圖像的顏色值,則描述多元核密度函數(shù)的參數(shù)即頻帶寬度分別為hs和hr。多元核函數(shù)如式(15)所示:
式中:C為歸一化常數(shù);xs為空間域的輸入向量;xr為色彩域的輸入向量。
Mean Shift 算法描述如下:
令xi和zi(i=1,…,n)為聯(lián)合空間- 色彩域中的維輸入數(shù)據(jù)和Mean Shift 收斂數(shù)據(jù),Li為分割圖像中第i個像素的標(biāo)簽。
1)對輸入圖像計算Mean Shift 向量,將維收斂點的所有信息存儲在中。
2)分別在空間域和色彩域上計算歐氏距離使得比hs和hr更接近的zi合并得到聚類集群{Cp}p=1,…,m。
3)對圖像上的每一個像素,分配標(biāo)簽Li={p|zi∈Cp}。
4)可選操作:消除包含小于M個像素的空間區(qū)域。
模糊C 均值聚類[11]結(jié)合了模糊理論的概念。一般情況下,數(shù)據(jù)集合都具有非線性性,因此,其中的樣本不能準(zhǔn)確劃分為明顯分離的集合,相較于K 均值的硬聚類,模糊C 均值聚類提供了更加靈活的聚類結(jié)果。樣本與分類集合之間的接近程度由隸屬度衡量,一個樣本與某一集合之間的隸屬度值越大則該樣本越可能屬于該集合。
給定數(shù)據(jù)集X={x1,x2,…,xn},mj{j=1,2,…,k}為聚類中心,k為類別數(shù),μj(Xi)為第i個樣本對應(yīng)第j類的隸屬度函數(shù)。則基于隸屬度函數(shù)的聚類損失函數(shù)為:
其中,b為加權(quán)指數(shù),也稱作平滑因子,控制樣本隸屬度模式在模糊集類間的分享程度。
任意樣本對全部類的隸屬度之和為1,
求聚類損失函數(shù)最小值,可使用拉格朗日乘子法將式(17)代入式(16)中:
令Jf對mj求偏導(dǎo)并令其為零:
求解式(19)得:
令Jf對μj(Xi)求偏導(dǎo)并令其為零:
求解式(21)并結(jié)合式(17)得:
隨機賦值給μj(Xi),在滿足約束條件的情況下通過迭代公式(20)計算出聚類中心mj,再將mj代入式(22)中計算出新的隸屬度μj(Xi),循環(huán)迭代,直至滿足終止條件:
式中:ε 為設(shè)定的停止迭代閾值。
模糊C均值算法步驟:
1)對于數(shù)據(jù)集Xi{i=1,2,…,n},初始化隸屬度矩陣U,設(shè)定類別數(shù)k,平滑因子b=2,停止迭代閾值ε,隸屬度矩陣U∈Rn×k;
2)根據(jù)式(20)更新聚類中心mj{j=1,…,k};
3)根據(jù)式(22)更新隸屬矩陣U(t),U(t+1);
基于模糊C 均值的缺陷分割流程如圖3 所示。
圖3 基于模糊C 均值的缺陷分割流程
本文采用工業(yè)相機獲取汽車車燈燈罩上具有缺陷區(qū)域的黑白條紋圖像,其圖像分辨率為1920×1080,算法的C++代碼運行硬件環(huán)境為AMD Ryzen 75800H。為了驗證該算法各部分的功能及分割效果,首先,分別在單幅圖像和多幅圖像上提取條紋區(qū)域并分析其分割效果,然后,分別對比了本文提出的算法與分水嶺算法和最大類間方差算法分割的效果,并采用精確率與召回率量化評估三種分割算法的性能。
Mean Shift 算法只有一個可調(diào)參數(shù),即頻帶寬度。對于彩色圖像而言即,對應(yīng)于空間域頻帶寬度,對應(yīng)于色彩域頻帶寬度。在均值偏移的過程中,頻帶寬度的選擇至關(guān)重要。
將Mean Shift 算法應(yīng)用于具有條紋的RGB 圖像。如圖5-1 所示為原始圖像,分辨率為1920×1080 像素;如圖4-2 和圖4-3 分別為圖4-1 在RGB 顏色空間和LUV 顏色空間的散點圖。
圖4 Mean Shift 算法應(yīng)用于具有條紋的三通道圖像
圖5 分別對3 幅圖像應(yīng)用相同的頻帶寬度(hs,hr)=(16,8)
對比圖4 中4-4、4-5 和4-6 或者4-7、4-8 和4-9 可知,在固定色彩域的頻帶寬度時,隨著空間域頻帶寬度的增大,條紋區(qū)域在邊界處的分割界限不斷明顯而超過一定值后將不具有區(qū)分度;而對比4-4 和4-7 或者4-5 和4-8 或者4-6 和4-9 可知,色彩域的頻帶寬度hr對條紋區(qū)域分割結(jié)果的影響不明顯,因此,綜合以上分析,對于條紋圖像的分割主要受到空間域的頻帶寬度hs的影響,即圖像的空間尺度問題。在圖4 中圖像的空間尺度情況下,頻帶寬度hs=16 即為最優(yōu)值。
下面分別對3 幅條紋圖像應(yīng)用Mean Shift 算法,如圖5 所示,其中,圖5-1、圖5-2 和圖5-3 為原圖像,圖5-4、圖5-5 和圖5-6 分別為原圖像應(yīng)用Mean Shift 算法且頻帶寬度(hs,hr)均為(16,8)所對應(yīng)的分割圖像。
由Mean Shift 算法對原始圖像聚類分割后,獲得具有類標(biāo)簽的標(biāo)記圖像。缺陷分割的作用域是基于原始圖像和具有類標(biāo)簽的標(biāo)記圖像的融合,即在具有同類標(biāo)簽的作用域內(nèi)執(zhí)行模糊C 均值算法以對缺陷進行分割。
在既定的作用域內(nèi)執(zhí)行模糊C 均值算法:設(shè)定分類個數(shù)k=2,平滑因子b=2,停止迭代閾值ε=10-6,隨機初始化隸屬度矩陣U,并設(shè)定最大迭代次數(shù)為20 次。
對圖6 中的6-1 執(zhí)行Mean Shift 算法可確定方框區(qū)域內(nèi)存在缺陷,即圖6 中6-2,對其執(zhí)行以上過程,分割得到的圖像如圖6-3 所示。
圖6 基于模糊C 均值的缺陷圖像分割
為了評估該算法對于缺陷區(qū)域的分割效果,本文對比了分水嶺法和最大類間方差法[12-13]在缺陷分割上的性能。
本文采用精確率、召回率兩個指標(biāo)來定量地評價上述3 種缺陷分割方法的分割性能。精確率和召回率的定義為:
式中:PT為正確分割為缺陷區(qū)域的像素數(shù)目;PF為將非缺陷區(qū)域錯誤分割為缺陷區(qū)域的像素數(shù)目;NF為實際為缺陷區(qū)域但未識別出的缺陷區(qū)域像素數(shù)目。
精確率表示預(yù)測為正例的那些數(shù)據(jù)里預(yù)測正確的數(shù)據(jù)個數(shù),召回率表示真實為正例的那些數(shù)據(jù)里預(yù)測正確的數(shù)據(jù)個數(shù)。因此,精確率越高表明該算法預(yù)測精確度越好,而召回率越高表明該算法越有把握分類正確。
如圖7 所示為3 種方法的分割效果。圖7-1 為原圖,圖7-2 為本文算法分割效果,圖7-3 為分水嶺算法分效果,圖7-4 為最大類間方差分割效果,與原圖像上的缺陷部分相比,本文提出的處理算法較另外兩種算法分割效果更好。
圖7 3 種方法的分割效果
如表3 所示為基于區(qū)域灰度一致性的評估標(biāo)準(zhǔn),分別對3 種圖像分割算法在同一幅具有缺陷區(qū)域的圖像上計算精確率與召回率,本文算法的精確率和召回率分別為95.25%和93.13%,相比于分水嶺算法和最大類間方差算法表現(xiàn)更好。
表3 3 種圖像分割方法在同一幅具有缺陷區(qū)域的圖像上計算的精確率與召回率
為了評估三種分割方法在具有缺陷區(qū)域的圖像上分割效果的魯棒性,如表4 所示為在10 幅具有缺陷區(qū)域的圖像上計算精確率與召回率及其平均值,從平均值來看,本文算法精確率和召回率的平均值分別為94.96%和93.03%,而分水嶺法精確率和召回率的平均值分別為91.03%和87.94%,最大類間方差法精確率和召回率的平均值分別為88.53%和85.73%,由此表明,本文提出的圖像分割算法相較于另外兩種分割算法在多幅圖像的均值效果更好。
表4 3 種圖像分割方法在10 幅具有缺陷區(qū)域的圖像上計算的精確率與召回率
1)分析了不同光源以及打工方式對后續(xù)算法的影響,最終確定選取500 萬工業(yè)面陣相機,采用LED光源條形打光的方式獲取數(shù)字圖像,然后對獲取的缺陷顯影圖像采用改進Mean Shift 算法獲取條紋區(qū)域,之后采用模糊C 均值算法對提取的條紋區(qū)域進行分割,最終獲得真正的缺陷區(qū)域。
2)通過實驗驗證了該算法的有效性,并與分水嶺算法和最大類間方差算法分割后的效果做了對比,可以看到提出的算法能夠很好的把缺陷區(qū)域進行分割,之后通過對比精確率與召回率定量的評價3 種算法的有效性,提出的算法在單幅圖像上精確率達到了95.25%,召回率達到了93.13%,均高于另外兩種算法,之后又在隨機抽取的10 張樣本圖像上做對比,本文算法的平均精確率和平均召回率分別為94.96%和93.03%,同樣均高于另外兩種算法。此外,由于本文算法具有迭代的特性,對于復(fù)雜圖像的缺陷分割可能會增加耗時,因此在時間穩(wěn)定性方面有待進一步提高,未來會在該方面做進一步優(yōu)化,并將該算法應(yīng)用于其他類型的缺陷分割。