孫 洋 孫 林* 夾尚豐 余振軍
1(山東科技大學(xué)測(cè)繪科學(xué)與工程學(xué)院 山東 青島 266590)
2(青島星科瑞升信息科技有限公司 山東 青島 266590)
工業(yè)上字符印刷缺陷的檢測(cè)有著巨大的需求。字符在印刷中容易出現(xiàn)漏印、錯(cuò)印、遮擋等問(wèn)題。目前大部分工業(yè)產(chǎn)品的檢測(cè)主要是依靠人眼檢測(cè),這樣的檢測(cè)方法工廠要承擔(dān)巨大的人工成本和管理成本,而且檢測(cè)的精度和穩(wěn)定性也難以得到有效的保證??焖佟?zhǔn)確、自動(dòng)檢測(cè)印刷字符的缺陷,具有重要意義[1-3]。
隨著工業(yè)智能化、自動(dòng)化水平的提高,圖像處理技術(shù)得到了快速的發(fā)展,工業(yè)上字符缺陷檢測(cè)技術(shù)也有了很大的提高。
模板匹配技術(shù)由于其原理簡(jiǎn)單、適應(yīng)性強(qiáng),以及處理復(fù)雜場(chǎng)景的能力,被廣泛應(yīng)用于印刷品的缺陷檢測(cè)中。模板匹配是使用預(yù)先定義的模板來(lái)搜索圖像以找到匹配的目標(biāo)。基于匹配特征的不同,用于匹配的模板可以分為多種類(lèi)型。首先發(fā)展起來(lái)的模板匹配算法以灰度特征作為匹配對(duì)象。Brown[4]提出了平均絕對(duì)差算法,該算法匹配精度高,但運(yùn)算量大,抗干擾性差。Barnea等[5]提出了序貫相似性檢測(cè)算法,該算法通過(guò)設(shè)置閾值終止計(jì)算的策略,有效地減少了算法的處理時(shí)間。Zitová等[6]提出了歸一化互相關(guān)匹配法,根據(jù)模板圖像與目標(biāo)圖像的互相關(guān)值來(lái)確定匹配度。該算法抗噪聲干擾能力強(qiáng),但是受光照影響較大。后來(lái)發(fā)展起來(lái)的模板匹配算法以形狀特征作為匹配對(duì)象,通過(guò)計(jì)算模板圖像與目標(biāo)圖像形狀相似度來(lái)進(jìn)行匹配。Moravec[7]提出Moravec角點(diǎn)檢測(cè)算法,通過(guò)計(jì)算灰度方差值來(lái)提取特征點(diǎn),該算法計(jì)算過(guò)程簡(jiǎn)單,但誤檢測(cè)率高,算法運(yùn)行速度較慢。Harris等[8]提出Harris角點(diǎn)檢測(cè)算法,是對(duì)Moravec角點(diǎn)檢測(cè)算法進(jìn)行改進(jìn),克服了Moravec角點(diǎn)檢測(cè)算法對(duì)邊緣的敏感性,提高了算法的穩(wěn)定性。以及Lowe[9]在1999年提出并在2004年完善總結(jié)的Sift角點(diǎn)檢測(cè)法,這種算法在圖像發(fā)生平移、旋轉(zhuǎn)、縮放時(shí)都具有良好的適應(yīng)性。但是Moravec、Harris和Sift等該類(lèi)點(diǎn)特征都存在計(jì)算特征點(diǎn)過(guò)于復(fù)雜、運(yùn)算速度較慢的問(wèn)題。
針對(duì)上述算法受光照影響大、計(jì)算過(guò)程復(fù)雜等問(wèn)題,本文提出一種基于邊緣形狀特征匹配的算法,并應(yīng)用于字符的缺陷檢測(cè)。算法首先通過(guò)提取最優(yōu)描述字符的輪廓點(diǎn),計(jì)算輪廓點(diǎn)梯度與待檢測(cè)圖像對(duì)應(yīng)點(diǎn)梯度的點(diǎn)乘值作為相似性度量,然后根據(jù)字符輪廓點(diǎn)相似度來(lái)定位字符缺陷。由于本文采用的相似性度量不受遮擋、混亂、線(xiàn)性與非線(xiàn)性光照變化等情況的影響,所以在光照變化環(huán)境下依然可以快速準(zhǔn)確地定位字符印刷缺陷。
在圖像中檢測(cè)某一特定物體最基本的方法之一是模板匹配法,這種方法如今被廣泛地應(yīng)用在各類(lèi)工業(yè)檢測(cè)系統(tǒng)中,也是一種典型的機(jī)器視覺(jué)檢測(cè)算法,這種方法原理簡(jiǎn)單、實(shí)現(xiàn)容易,但是該算法的計(jì)算量相對(duì)較大。因此,在不降低可靠性的情況下,減小計(jì)算量是關(guān)鍵。本文通過(guò)Sobel算子濾波后得到的梯度數(shù)據(jù)為基礎(chǔ),根據(jù)邊緣連通域長(zhǎng)度來(lái)確定最優(yōu)的邊緣分割閾值,通過(guò)閾值分割得到字符輪廓點(diǎn)信息,來(lái)建立輪廓點(diǎn)匹配模板,以此減少模板中點(diǎn)的數(shù)量。由于待檢測(cè)圖像中的目標(biāo)角度是隨機(jī)的,因此為了精確定位到目標(biāo)位置,還應(yīng)當(dāng)確定適當(dāng)?shù)男D(zhuǎn)角度步長(zhǎng)。
為了得到模板字符輪廓點(diǎn)的梯度方向向量,首先要得到字符輪廓的邊緣。由于Sobel算子可以得到較為精確的圖像邊緣,因此本文采用Sobel算子來(lái)提取圖像的邊緣。該算子包含水平和豎直兩個(gè)方向的3×3矩陣的卷積因子,分別與原灰度圖像進(jìn)行卷積運(yùn)算可以得到兩個(gè)方向的亮度差分近似值。
(1)
(2)
式中:A代表原始灰度圖像;Gx及Gy分別代表經(jīng)水平和豎直兩個(gè)方向邊緣檢測(cè)的圖像灰度值。則該點(diǎn)灰度的大小為:
(3)
梯度方向θ為:
(4)
由于Sobel算子得到的圖像邊緣會(huì)受到噪聲的影響,因此為了將屬于字符輪廓的邊緣與噪聲或紋理引起的邊緣區(qū)分開(kāi),本文在Sobel算子提取圖像邊緣的基礎(chǔ)上,進(jìn)一步在高曲率點(diǎn)分割邊緣區(qū)域,根據(jù)邊緣平均長(zhǎng)度確定邊緣分割閾值。
(5)
依次根據(jù)所有邊緣梯度值從模板圖像中提取大于該閾值的邊緣經(jīng)過(guò)非極大值抑制,然后在高曲率邊緣點(diǎn)上分割邊緣區(qū)域。將得到的字符邊緣label值賦值為0,將背景l(fā)abel值賦值為-1。采用Two-Pass連通區(qū)域標(biāo)記算法[10]對(duì)邊緣二值圖像進(jìn)行處理。該算法是對(duì)分割后的邊緣二值圖像進(jìn)行兩遍掃描來(lái)確定連通區(qū)域。兩遍掃描規(guī)則及步驟如下:
(1) 第一次掃描:從左到右、從上到下進(jìn)行掃描,當(dāng)圖像像素label值為0時(shí),則通過(guò)該像素的左鄰像素和上鄰像素label值進(jìn)行判斷。此時(shí)存在三種情況:當(dāng)該像素的左鄰像素和上鄰像素label值均為-1時(shí),則給該像素賦值一個(gè)新的label值,label值逐漸遞加;當(dāng)該像素的左鄰像素和上鄰像素label值有一個(gè)不為-1時(shí),則將該位置處的label值賦值給該像素的label值;當(dāng)該像素的左鄰像素和上鄰像素label值均不為-1時(shí),則選取其中較小的label值賦值給該像素的label值。記錄每個(gè)label值不為-1的像素點(diǎn)屬于哪一個(gè)連通區(qū)域。
第一次掃描過(guò)程如圖1所示。
(a) 分割后的邊緣二值圖
(2) 第二次掃描:對(duì)于屬于同一連通區(qū)域的像素點(diǎn)label值賦值為同屬一個(gè)連通區(qū)域中最小的label值。完成掃描后,圖像中具有相同label值的像素就組成了同一個(gè)連通區(qū)域。第二次掃描結(jié)果如圖2所示。
經(jīng)過(guò)如上連通區(qū)域標(biāo)記算法來(lái)獲取連通域個(gè)數(shù),計(jì)算邊緣總長(zhǎng)度除以連通域的個(gè)數(shù)得到邊緣平均長(zhǎng)度。
(6)
式中:T表示邊緣平均長(zhǎng)度;L表示邊緣總長(zhǎng)度;N表示連通域的個(gè)數(shù)。因?yàn)橥ǔ儆趯?duì)象的邊緣段的長(zhǎng)度較長(zhǎng),而屬于圖像噪聲或紋理的邊緣段的長(zhǎng)度較短,故求取平均長(zhǎng)度最大值對(duì)應(yīng)的梯度幅值設(shè)為邊緣分割閾值。Sobel算子提取的圖像邊緣及本文通過(guò)計(jì)算最優(yōu)邊緣分割閾值分割得到的邊緣經(jīng)過(guò)非極大值抑制得到的字符邊緣示意圖如圖3所示。
根據(jù)圖3可以看出Sobel算子由于受到噪聲和紋理的影響,提取的邊緣存在漏提和多提現(xiàn)象。而本文通過(guò)計(jì)算邊緣連通域長(zhǎng)度,確定最優(yōu)的邊緣分割閾值得到的字符邊緣有效避免了噪聲和紋理的影響,較好地保留了字符邊緣形狀特征,為接下來(lái)的邊緣輪廓點(diǎn)匹配提供了有力的支撐。
由于要檢測(cè)的圖像中的目標(biāo)角度是隨機(jī)的,因此為了定位到目標(biāo)的精確位置,應(yīng)當(dāng)確定適當(dāng)?shù)男D(zhuǎn)角度步長(zhǎng)。本文根據(jù)余弦定理計(jì)算距模板中心最遠(yuǎn)的輪廓點(diǎn)繞模板中心旋轉(zhuǎn)角度來(lái)求旋轉(zhuǎn)角度步長(zhǎng)。如圖4所示,設(shè)點(diǎn)O為模板中心點(diǎn),點(diǎn)A為最遠(yuǎn)輪廓點(diǎn),點(diǎn)B為點(diǎn)A旋轉(zhuǎn)后的點(diǎn),設(shè)邊長(zhǎng)AB=1,OA=OB=a,由余弦定理求OA與OB夾角φ角。
圖4 旋轉(zhuǎn)步長(zhǎng)確定示意圖
(7)
φ角為可保證模板旋轉(zhuǎn)前后所對(duì)應(yīng)的角度。為了避免匹配不上,旋轉(zhuǎn)角度步長(zhǎng)不宜設(shè)置過(guò)大,以模板輪廓圖最遠(yuǎn)輪廓點(diǎn)距離模板中心點(diǎn)連線(xiàn)旋轉(zhuǎn)2個(gè)像素對(duì)應(yīng)的角度φ作為旋轉(zhuǎn)步長(zhǎng)。
在求得最佳邊緣輪廓分割閾值后,利用得到的輪廓點(diǎn)坐標(biāo)位置和歸一化后的梯度方向向量制作模板,模板轉(zhuǎn)換成由一系列字符輪廓點(diǎn)Pi=(Xi,Yi)T,i=1,2,…,n構(gòu)成,對(duì)應(yīng)于每個(gè)點(diǎn)求得歸一化后的梯度方向向量di=(ti,ui)T。對(duì)于搜索圖像使用Sobel算子濾波計(jì)算出每個(gè)點(diǎn)(X,Y)歸一化后的梯度方向向量ex,y=(vx,y,wx,y)T。
在搜索圖上遍歷,根據(jù)模板字符輪廓點(diǎn)相對(duì)重心的位置,采取模板輪廓點(diǎn)和搜索圖邊緣點(diǎn)向量轉(zhuǎn)換成單位向量后進(jìn)行匹配。光照變化雖然會(huì)影響邊緣點(diǎn)梯度大小,但是不會(huì)改變梯度的方向。
相似度量函數(shù)為:
(8)
在搜索圖上每一個(gè)點(diǎn)上遍歷完以后,根據(jù)搜索圖上匹配度最大的點(diǎn)確定字符所在位置。
由于遍歷整幅搜索圖來(lái)尋找目標(biāo)耗時(shí)較多,雖然本文在搜索圖上遍歷過(guò)程中,只計(jì)算模板輪廓點(diǎn)和搜索圖相對(duì)應(yīng)位置點(diǎn)的匹配度,已經(jīng)大大減少了計(jì)算量,但是當(dāng)搜索圖像較大時(shí),計(jì)算量依舊很大,因此為了進(jìn)一步加快算法處理速度,減少計(jì)算量。本文采取提前結(jié)束非可能目標(biāo)位置的計(jì)算并結(jié)合圖像金字塔的策略。
由于在搜索圖字符以外區(qū)域匹配度得分較低,因此可以采取一定的策略,在非目標(biāo)點(diǎn)提前結(jié)束計(jì)算,進(jìn)行下一個(gè)位置處的匹配。這樣可以有效加快算法處理速度,減少遍歷過(guò)程中的計(jì)算量,從而使算法達(dá)到工業(yè)檢測(cè)中的實(shí)時(shí)性要求。根據(jù)相似性度量函數(shù),我們可以得到相似度量的部分和公式為:
(9)
因?yàn)橄蛄縟i和ex,y是歸一化后的梯度方向向量,所以由公式可知,前j項(xiàng)的和小于j/n,那么剩余n-j項(xiàng)的和小于(n-j)/n=1-j/n,所以當(dāng)部分和滿(mǎn)足Sj Sj 式中:f=(1-gSmin)/(1-Smin),在這里,Smin設(shè)置為0.7,g設(shè)置為0.75。 采取設(shè)置閾值終止計(jì)算的策略可以減少算法運(yùn)行時(shí)間,但是這并不會(huì)改變算法的復(fù)雜度。其算法的復(fù)雜度為O(whn),其中:w和h是搜索圖像的寬和高;n是模板中點(diǎn)的數(shù)量。因此采用由粗到精的搜索策略可以有效降低算法的復(fù)雜度,即通過(guò)降低圖像的分辨率得到一個(gè)大概的位置,再在高分辨率下得到精確位置。圖像金字塔可以通過(guò)下采樣獲得一幅圖像一系列高分辨率和低分辨率圖像的集合。 圖像金字塔是一個(gè)圖像序列。一幅圖像金字塔是對(duì)原始圖像進(jìn)行濾波,從而得到一系列不同尺度的影像,按照分辨率的大小根據(jù)金字塔形狀進(jìn)行排列。本文采用的是Gaussian金字塔。是通過(guò)對(duì)待處理圖像梯次下采樣獲得一系列圖像的集合,金字塔的底部是待處理圖像的高分辨率表示,金字塔的頂部是待處理圖像的低分辨率表示。以L(fǎng)ena圖像為例的Gaussian金字塔圖像序列如圖5所示。 圖5 Lena圖像的Gaussian金字塔圖像序列 本文根據(jù)邊緣輪廓點(diǎn)的數(shù)量設(shè)置閾值來(lái)確定金字塔層數(shù)[12]。根據(jù)大量樣本測(cè)試,對(duì)于大多數(shù)字符而言,當(dāng)其圖像金字塔在某層輪廓點(diǎn)數(shù)在100個(gè)左右,再高一層則小于此值時(shí),字符圖像在該層仍有較完整的輪廓特征點(diǎn),我們就將該層定為圖像金字塔最高層。 表1 輪廓點(diǎn)匹配度 圖6 搜索圖原圖 模板字符經(jīng)閾值分割以后,得到的邊緣輪廓點(diǎn)個(gè)數(shù)總共為1 558個(gè),在搜索圖上匹配到目標(biāo)位置后,匹配到的字符輪廓點(diǎn)中,匹配度大于等于0.75的,占了100%,匹配度小于0.75的,占了0%,說(shuō)明本文采用閾值分割得到的邊緣輪廓點(diǎn)進(jìn)行匹配的算法匹配效果良好。 在輪廓匹配之后,每個(gè)輪廓點(diǎn)都有一個(gè)得分。在缺陷提取的過(guò)程中,采用粗篩選和精篩選相結(jié)合的方式來(lái)尋找缺陷點(diǎn),基于缺陷點(diǎn)填充求最小外接矩形的方法來(lái)提取缺陷,具體流程如下所述。 (1) 粗篩選:將搜索圖字符輪廓點(diǎn)得分大于等于0.75的點(diǎn)剔除,將得分小于0.75的點(diǎn)保留。 (2) 精篩選:考慮到噪點(diǎn)的影響,經(jīng)過(guò)粗篩選得到的輪廓點(diǎn)可能不是真正的缺陷點(diǎn),因此需要進(jìn)一步篩選??紤]到噪點(diǎn)一般是孤立存在的,故在粗篩選得到的點(diǎn)的12×12區(qū)域進(jìn)行遍歷,如果該區(qū)域有超過(guò)19個(gè)得分小于0.75的點(diǎn),則認(rèn)為該點(diǎn)是真正的缺陷點(diǎn)。 (3) 基于缺陷點(diǎn)填充:在得到真正的缺陷點(diǎn)以后,因?yàn)槿毕蔹c(diǎn)是離散存在的,不方便確定缺陷邊界坐標(biāo)。因此為了定位字符缺陷所在的區(qū)域,將缺陷點(diǎn)周?chē)?2×12區(qū)域內(nèi)灰度值填充為255,其他位置灰度值設(shè)置為0。然后尋找二值圖輪廓所在最小外接矩形,即為字符缺陷區(qū)域。 圖7為常見(jiàn)的印刷品缺陷中漏印情況,白色方框標(biāo)識(shí)區(qū)域?yàn)椴杉瘓D像過(guò)程中,亮度發(fā)生變化。采用差影法會(huì)對(duì)缺陷造成誤判。這主要是因?yàn)?差影法是將待檢測(cè)圖像與模板圖像配準(zhǔn)后進(jìn)行剪影操作,最后可以根據(jù)檢測(cè)結(jié)果圖像灰度值不為0的點(diǎn)判斷為缺陷點(diǎn)。其數(shù)學(xué)表達(dá)式為: 圖7 印刷品缺陷圖像實(shí)例 r(i,j)=|f(i,j)-g(i,j)| (10) 式中:f(i,j)為模板圖像像素點(diǎn)(i,j)的灰度值;g(i,j)為搜索圖像的目標(biāo)區(qū)域像素點(diǎn)(i,j)的灰度值;r(i,j)為模板圖像和搜索圖像相減后的灰度值。 圖8為差影法和本文算法對(duì)印刷品缺陷圖像檢測(cè)出的缺陷點(diǎn)個(gè)數(shù)曲線(xiàn)圖,其中橫坐標(biāo)表示缺陷圖像列坐標(biāo),縱坐標(biāo)表示缺陷點(diǎn)個(gè)數(shù)。 可以看出,差影法雖然在字符漏印區(qū)域檢測(cè)到的缺陷點(diǎn)比較集中,個(gè)數(shù)也比較多,但是在圖像第100列到第200列光照變化區(qū)域檢測(cè)出的缺陷區(qū)域也比較集中,并且檢測(cè)出的缺陷點(diǎn)個(gè)數(shù)較多,均大于50個(gè)。從圖9(a)可以看出差影法因采集圖像光照發(fā)生變化,對(duì)缺陷造成誤判,把光照變化區(qū)域檢測(cè)為缺陷,導(dǎo)致檢測(cè)失敗。 (a) 差影法 (b) 本文算法 本文算法對(duì)印刷品缺陷圖像檢測(cè)出來(lái)的缺陷主要集中在字符漏印區(qū)域,還有幾列在圖像第100列到第200列光照變化區(qū)域,但是由于這幾列是離散存在的,并且缺陷點(diǎn)個(gè)數(shù)均小于10,因此可以通過(guò)精確篩選給去除。從圖9(b)可以清晰地看出本文算法在采集圖像光照發(fā)生變化時(shí)可以正確地檢測(cè)到缺陷,并準(zhǔn)確地標(biāo)記缺陷區(qū)域,沒(méi)有因采集圖像光照發(fā)生變化而導(dǎo)致檢測(cè)失敗,說(shuō)明本文算法在復(fù)雜光照條件下對(duì)印刷品缺陷檢測(cè)精度要優(yōu)于差影法。 為了測(cè)試算法的穩(wěn)定性,測(cè)試當(dāng)待檢測(cè)印刷圖像出現(xiàn)典型的漏印、遮擋等缺陷在旋轉(zhuǎn)、線(xiàn)性光照變化、非線(xiàn)性光照變化下,算法檢測(cè)缺陷的效果。 圖10(a)、圖10(d)、圖10(g)是三組標(biāo)準(zhǔn)印刷圖像,圖10(b)、圖10(e)、圖10(h)為這三組標(biāo)準(zhǔn)印刷圖像出現(xiàn)字符漏印時(shí),在旋轉(zhuǎn)、線(xiàn)性光照變化、非線(xiàn)性光照變化下的圖像,圖10(c)、圖10(f)、圖10(i)為這三組標(biāo)準(zhǔn)印刷圖像出現(xiàn)字符遮擋時(shí),在旋轉(zhuǎn)、線(xiàn)性光照變化、非線(xiàn)性光照變化下的圖像。可以看出當(dāng)待檢測(cè)印刷圖像出現(xiàn)典型的漏印、遮擋等缺陷在旋轉(zhuǎn)、線(xiàn)性光照變化、非線(xiàn)性光照變化下,仍然可以準(zhǔn)確定位字符缺陷。 (a) (b) (c) 為了測(cè)試算法在采集不同角度的圖像下算法的準(zhǔn)確率,選取180組光照發(fā)生變化的印刷品圖像,分為三組,每組60幅,旋轉(zhuǎn)角度范圍分別在(0°,60°)、(60°,120°)、(120°,180°),每組圖像無(wú)缺陷和有缺陷印刷品各30幅。 為了驗(yàn)證本文算法在復(fù)雜光照下,采集的旋轉(zhuǎn)不同角度的圖像進(jìn)行測(cè)試的效果,可由真正率(Pse)、真負(fù)率(Psp)和準(zhǔn)確率(Pac)進(jìn)行評(píng)價(jià),分別定義為: (11) (12) (13) 式中:Pse為有缺陷圖像識(shí)別的準(zhǔn)確率;Psp為無(wú)缺陷圖像識(shí)別的準(zhǔn)確率;Pac為旋轉(zhuǎn)不同角度下印刷品缺陷總的準(zhǔn)確率;PT為有缺陷圖像被正確識(shí)別的數(shù)量;NF為有缺陷圖像被錯(cuò)誤識(shí)別的數(shù)量;PF為無(wú)缺陷圖像被錯(cuò)誤識(shí)別的數(shù)量;NT為無(wú)缺陷圖像被正確識(shí)別的數(shù)量。 缺陷檢測(cè)實(shí)驗(yàn)后得到的混合矩陣見(jiàn)表2。根據(jù)表2中的檢測(cè)結(jié)果以及式(11)-式(13),可以得到真正率、真負(fù)率和準(zhǔn)確率,結(jié)果見(jiàn)表3。 表2 復(fù)雜光照下旋轉(zhuǎn)不同角度的印刷品缺陷 表3 復(fù)雜光照下旋轉(zhuǎn)不同角度的印刷品缺陷 由表3可知在采集不同角度的圖像下無(wú)缺陷的圖像被錯(cuò)誤識(shí)別為有缺陷圖像的數(shù)量為0,真負(fù)率達(dá)到100%,真正率達(dá)到93%以上,準(zhǔn)確率達(dá)到96%以上,說(shuō)明本文算法在復(fù)雜光照條件下匹配效果良好,并且基于缺陷點(diǎn)填充求最小外接矩形的方法進(jìn)行缺陷檢測(cè)是可行的。在表2中,有5幅有缺陷的圖像被判斷錯(cuò)誤,這是由于本文對(duì)缺陷進(jìn)行檢測(cè)是基于字符輪廓點(diǎn)匹配度進(jìn)行判斷,而這5幅圖像的缺陷是在字符輪廓內(nèi)部,所以導(dǎo)致檢測(cè)失敗。 工業(yè)檢測(cè)一般要達(dá)到實(shí)時(shí)性要求,因此對(duì)算法的處理時(shí)間要求比較高,一般要求能達(dá)到毫秒級(jí)別。實(shí)驗(yàn)測(cè)試計(jì)算機(jī)處理器為Inter Core i5-9500 3.00 GHz,8 GB內(nèi)存,在Windows 10環(huán)境下,用VS2010+OpenCV編程實(shí)現(xiàn)。其中模板圖像大小為309 pixel×64 pixel,隨機(jī)采集100幅測(cè)試圖像,測(cè)試圖像大小均為1 024 pixel×768 pixel。本文對(duì)本文算法與經(jīng)典的歸一化互相關(guān)系數(shù)匹配算法、基于形狀模板匹配算法[13-17]進(jìn)行比較,結(jié)果如表4所示。 表4 算法匹配時(shí)間 單位:ms 可以看出本文算法匹配速度可以達(dá)到毫秒級(jí)別,能滿(mǎn)足工業(yè)檢測(cè)的實(shí)時(shí)性要求,并且本文算法在匹配耗時(shí)上要少于經(jīng)典的歸一化互相關(guān)系數(shù)匹配算法和基于形狀模板匹配算法,從平均匹配時(shí)間上來(lái)看大概是歸一化互相關(guān)系數(shù)匹配算法的1/6,基于形狀模板匹配算法的1/3。 本文提出一種適用于工業(yè)檢測(cè)的基于邊緣形狀特征的字符缺陷檢測(cè)算法。由于本文采用的相似性度量不受遮擋、混亂、線(xiàn)性光照變化、非線(xiàn)性光照變化等情況的影響,所以在復(fù)雜光照條件下依然可以準(zhǔn)確地定位到目標(biāo)位置。在定位到目標(biāo)位置后,根據(jù)輪廓點(diǎn)的匹配度來(lái)尋找缺陷點(diǎn),基于缺陷點(diǎn)填充求最小外接矩形的方法來(lái)提取缺陷,可以有效避免由于光照的變化,影響對(duì)缺陷的判斷。由于本文采用圖像金字塔算法和通過(guò)閾值判斷提前結(jié)束的搜索策略,可以滿(mǎn)足工業(yè)檢測(cè)實(shí)時(shí)性要求。 本文算法存在著對(duì)個(gè)別字符內(nèi)部缺陷檢測(cè)效果不理想的情況,在下一階段,根據(jù)字符輪廓判斷輪廓內(nèi)部的缺陷是研究的重點(diǎn)。3.2 圖像金字塔
4 實(shí)驗(yàn)結(jié)果與分析
4.1 輪廓匹配
4.2 缺陷檢測(cè)
4.3 算法性能測(cè)試
5 結(jié) 語(yǔ)