劉 晨, 于微波, 楊宏韜, 王國秀, 謝家欣
(長春工業(yè)大學(xué) 電氣與電子工程學(xué)院, 吉林 長春 130012)
隨著工廠機(jī)械化程度的提高,機(jī)器視覺測量技術(shù)因具有非接觸、精度高、速度快的優(yōu)點(diǎn),被各種領(lǐng)域廣泛應(yīng)用,比如工件尺寸檢測等。在工件尺寸檢測中,特征提取是重要環(huán)節(jié),用以提高獲取工件圖像的質(zhì)量,便于計(jì)算機(jī)對其分析、識別。在對采集的工件圖像進(jìn)行預(yù)處理之后,為了能夠精確地對其進(jìn)行尺寸測量,需要對圖像的一些特征進(jìn)行提取,如角、點(diǎn)、線等。在進(jìn)行特征提取時(shí)采用的算法也會影響尺寸的測量精度,因此對工件特征提取算法的研究十分有意義。
將獲取的目標(biāo)圖像與背景之間的閉合曲線稱為圖像的輪廓。而輪廓提取則是將上述閉合曲線提取出來,并以較為明顯的方式顯示出來[1]。
經(jīng)典的輪廓檢測方法是先利用傳統(tǒng)的邊緣檢測算子檢測出目標(biāo)圖像的粗邊緣,再將多余的偽邊緣去除,達(dá)到細(xì)化邊緣的目的。缺點(diǎn)則是運(yùn)行時(shí)間過長且精度不高,不適合應(yīng)用于工廠實(shí)時(shí)在線檢測。隨著研究的深入,現(xiàn)階段出現(xiàn)了很多輪廓提取算法。其中,梯度法、形態(tài)學(xué)輪廓算法以及水平集算法[2],雖然去除了冗余的輪廓,減小了數(shù)據(jù)處理量,能較為準(zhǔn)確的將目標(biāo)輪廓提取,但是容易被噪聲干擾,而且應(yīng)用領(lǐng)域范圍太小,導(dǎo)致最終效果不理想。在現(xiàn)階段的活動輪廓法中應(yīng)用較廣的則是Snake模型法[3]。該算法結(jié)合了圖像數(shù)據(jù)、輪廓估計(jì)、模型收斂等方法,輪廓提取效果良好,缺點(diǎn)則是初始輪廓敏感,會影響最終的提取效果。因此,提出一種基于角點(diǎn)特征的工件圖像輪廓提取算法,利用Harris算子進(jìn)行Snake輪廓初始位置的設(shè)置,然后對圖像進(jìn)行輪廓提取。
將圖像中灰度變化劇烈或者在圖像邊界上曲率變化較大的點(diǎn)稱為角點(diǎn)[4]。角點(diǎn)檢測對于工件圖像的特征點(diǎn)定位有著重要作用,在進(jìn)行工件的特征提取時(shí),角點(diǎn)檢測能夠精確定位特征點(diǎn),提高工件圖像的特征提取精度[5-8]。
在進(jìn)行角點(diǎn)檢測過程中,可能會受到噪聲干擾以及圖像灰度變化的影響,從而導(dǎo)致角點(diǎn)檢測結(jié)果不準(zhǔn)確。而Harris角點(diǎn)檢測算法不僅可以有效地克服這些問題,而且計(jì)算量較少,實(shí)現(xiàn)簡單,使得檢測結(jié)果更加準(zhǔn)確。
在Harris算法檢測過程中,將圖像I(x,y)在點(diǎn)(u,v)平移(x,y)產(chǎn)生的灰度變化函數(shù)表示為
(1)
式中:w----高斯函數(shù)。
函數(shù)E(x,y)值在高斯窗口內(nèi)進(jìn)行任意方向的移動時(shí),若未產(chǎn)生任何變化或者有微小變化,則為非角點(diǎn);當(dāng)函數(shù)E(x,y)產(chǎn)生特別大或者特別小的變化時(shí),則將該點(diǎn)定義為角點(diǎn)。
在點(diǎn)(u,v)處對函數(shù)E(x,y)進(jìn)行一階泰勒展開,則函數(shù)E(x,y)可改寫成下式
Ax2+By2+2Cxy,
(2)
其中,A,B,C是二階方向微分的近似,定義如下
(3)
其中,X,Y分別表示在x和y兩個方向上的一階梯度值:
式中:h(x,y)----高斯濾波。
將式(3)代入式(2),可得到下式
(4)
其中,M為自相關(guān)矩陣,表示如下
(5)
計(jì)算自相關(guān)矩陣M特征值過程過于繁復(fù),所以Harris算法使用角點(diǎn)響應(yīng)函數(shù)進(jìn)行角點(diǎn)質(zhì)量判斷,如
R(x,y)=Det(M)-kTr(M)2,
(6)
式中:Det(M)----矩陣M行列式的值,Det(M)=AB-C2;
k----常數(shù)系數(shù);
Tr(M)----矩陣M的跡,Tr(M)=A+B。
若提前設(shè)置的閾值小于等于某點(diǎn)的R(x,y)值,該點(diǎn)則為角點(diǎn)。
Harris角點(diǎn)檢測流程如圖1所示。
圖1 Harris角點(diǎn)檢測流程圖
算法具體步驟如下:
1)獲取齒輪工件原圖的灰度圖像,計(jì)算其在x和y方向上的梯度值X和Y;
2)用高斯函數(shù)對工件灰度圖進(jìn)行濾波處理,并計(jì)算出自相關(guān)矩陣M;
3)將設(shè)定的閾值與計(jì)算得到的每個像素點(diǎn)的響應(yīng)值進(jìn)行比較,并判定該點(diǎn)是否為候選角點(diǎn);
4)利用非極大值抑制對3)中所獲得的候選角點(diǎn)進(jìn)行處理,以確定最終的角點(diǎn)。
在提取輪廓特征之前需要對圖像進(jìn)行分割,能夠更精確地提取工件圖像的輪廓特征。圖像分割算法的目的是將對象與背景分離,其步驟如下:
1)對整個圖像進(jìn)行搜索,并對目標(biāo)對象和背景進(jìn)行標(biāo)記;
2)將標(biāo)記的目標(biāo)和背景進(jìn)行區(qū)域分組;
3)將圖像中的目標(biāo)與背景分離[9]。
在眾多圖像分割算法中,閾值分割算法因其計(jì)算量少、實(shí)現(xiàn)簡單以及性能穩(wěn)定等優(yōu)點(diǎn)被廣泛應(yīng)用,所以最終選擇閾值分割算法進(jìn)行實(shí)驗(yàn)。而現(xiàn)階段在閾值分割法中,OTSU法(又叫大津法)是應(yīng)用最廣泛的分割算法。
大津法能夠進(jìn)行自適應(yīng)閾值分割,其原理是利用閾值將原圖像分成背景區(qū)域和目標(biāo)工件區(qū)域兩個部分,然后計(jì)算該最大類間方差的最佳閾值以使得兩區(qū)域的區(qū)別度最大。設(shè)大小為M×N的圖像在像素點(diǎn)(x,y)的灰度值為f(x,y),灰度取值范圍為[0,L-1],可記為HL=[0,1,2,…,L-1](L為灰度級)。設(shè)f(x,y)中灰度級為i出現(xiàn)的概率為
(7)
將獲取的圖像分為目標(biāo)工件區(qū)域A和背景區(qū)域B,若原來設(shè)置的分割閾值為T,則區(qū)域A的灰度級范圍為[0,T],區(qū)域B的灰度級范圍為[T+1,L-1],那么區(qū)域A和區(qū)域B的概率分別如下:
(8)
(9)
這兩區(qū)域各自對應(yīng)的灰度均值分別為:
(10)
(11)
計(jì)算工件圖像整體均值
(12)
然后計(jì)算目標(biāo)工件區(qū)域A和背景區(qū)域B的類間方差
σ2=ωA(μA-μ)2+ωB(μB-μ)2。
(13)
通過下式可知,當(dāng)σ2最大時(shí)為最佳閾值。該方法計(jì)算量較小且能夠自動確定最佳閾值,可準(zhǔn)確地分割目標(biāo)工件和背景區(qū)域。
T=maxσ2=
max|ωA(μA-μ)2+ωB(μB-μ)2|。
(14)
Snake模型輪廓提取算法最重要的一步是利用在原始圖像的封閉曲線最小能量函數(shù)表示工件圖像的輪廓。設(shè)原始圖像中閉合輪廓曲線為
V(s)=(x(s),y(s)),
其中,s∈[0,1]為輪廓曲線的弧長,通過找到一條連續(xù)閉合曲線使得Esnake最小,
(15)
外部能量計(jì)算方法為
Eext(V(s))=Eimage(V(s))+Econ(V(s)),
(16)
其中,Eimage(V(s))表示的圖像能量力能夠保證尋找的曲線接近物體真實(shí)輪廓。Econ(V(s))代表的控制力是外部作用力,由人為施加。它能使曲線更準(zhǔn)確地收斂到真實(shí)邊界。
共建是社會治理系統(tǒng)的建構(gòu)基礎(chǔ),也是社會治理系統(tǒng)功能發(fā)揮的基本前提。在共建共治共享社會治理格局的系統(tǒng)構(gòu)建中,如果說共建是系統(tǒng)治理的基礎(chǔ),那么共治就是實(shí)現(xiàn)系統(tǒng)治理的手段,而共享就是系統(tǒng)治理的目的。在復(fù)雜條件下實(shí)現(xiàn)政府治理與其他多元主體的合作共建,在理念創(chuàng)新上體現(xiàn)國家治理、政府治理和社會治理模式的轉(zhuǎn)變,而這種轉(zhuǎn)變就是以系統(tǒng)建構(gòu)的方式體現(xiàn)在多元主體的社會共識之中,具體化在多元主體合作共建的過程之中。為此需要從以下三個方面作出努力。
內(nèi)部能量計(jì)算方法為
β(s)|Vs′′(s)|2],
(17)
利用Harris算子與Snake模型相結(jié)合進(jìn)行輪廓提取的具體流程如圖2所示。
圖2 基于Harris算子的Snake模型的輪廓提取流程
為了驗(yàn)證基于角點(diǎn)特征的工件圖像輪廓提取算法能更好地提取工件圖像的輪廓,文中以齒輪工件為對象進(jìn)行實(shí)驗(yàn)研究。
為了驗(yàn)證Harris角點(diǎn)檢測算法能更好地對Snake輪廓的初始位置進(jìn)行設(shè)置,文中選用Harris算子和SUSAN算子分別對齒輪圖像進(jìn)行角點(diǎn)檢測,以角點(diǎn)錯檢率δ1和角點(diǎn)漏檢率δ2作為衡量標(biāo)準(zhǔn)。
(18)
(19)
式中:Nw----錯檢測的角點(diǎn)個數(shù);
Ns----檢測的角點(diǎn)總個數(shù);
Nl----漏檢測的角點(diǎn)個數(shù);
Nt----圖像實(shí)際檢測角點(diǎn)個數(shù)。
角點(diǎn)檢測結(jié)果和檢測情況分別如圖3和表1所示。
(a) SUSAN算子
(b) Harris算子
表1 角點(diǎn)檢測情況
通過實(shí)驗(yàn)可以看出,Harris算子可以將所需所有角點(diǎn)準(zhǔn)確檢測出來,且?guī)缀鯖]有偽角點(diǎn)與漏檢角點(diǎn),錯檢率為4.22%,漏檢率為2.81%。SUSAN算子在檢測角點(diǎn)時(shí),只檢測出一部分所需角點(diǎn),漏檢角點(diǎn)與偽角點(diǎn)較多,錯檢率為13.27%,漏檢率為14.29%。這表明Harris算法能準(zhǔn)確提取齒輪工件圖像的角點(diǎn),更好地對Snake輪廓的初始位置進(jìn)行設(shè)置。
在進(jìn)行輪廓提取之前,先采用OTSU閾值分割算法對齒輪工件進(jìn)行圖像分割。閾值分割效果如圖4所示。
圖4 OTSU閾值分割
之后,再對圖像分割后的齒輪工件圖像進(jìn)行輪廓特征提取實(shí)驗(yàn)。
1)輸入Harris算子檢測出角點(diǎn)坐標(biāo);
2)利用樣條插值對Snake初始位置進(jìn)行設(shè)置,如圖5所示。
圖5 Harris算子對Snake輪廓初始位置的設(shè)置
3)填充封閉的Snake邊緣區(qū)域,并將圖像輪廓提取,實(shí)驗(yàn)效果如圖6所示。
圖6 提取齒輪工件輪廓圖
從圖5和圖6中可以看出,Harris對Snake輪廓初始位置的設(shè)置更為準(zhǔn)確,最終提取到的齒輪工件的輪廓更連續(xù)、精確。
輪廓提取的精確性對工件尺寸測量的準(zhǔn)確至關(guān)重要,文中提出了基于角點(diǎn)特征的工件圖像輪廓提取算法,并進(jìn)行了實(shí)驗(yàn)驗(yàn)證。首先,利用Harris算子對Snake初始位置進(jìn)行了較為準(zhǔn)確的設(shè)置;然后用高斯濾波對獲取的圖像進(jìn)行去噪處理,并計(jì)算得到Snake輪廓的內(nèi)、外部能量;再以迭代的方法計(jì)算出Esnake的最小值,細(xì)化圖像輪廓外緣。最后填充封閉的Snake邊緣區(qū)域,得到準(zhǔn)確的工件輪廓。實(shí)驗(yàn)結(jié)果表明,算法能更好地提取工件輪廓,提高了工件圖像特征提取的準(zhǔn)確性。