張雷洪 熊銳
摘要:在實(shí)際的印刷品缺陷檢測(cè)過程中,存在因相機(jī)支架的顫動(dòng)而導(dǎo)致標(biāo)準(zhǔn)印刷圖像和待檢測(cè)圖像在空間位置上配準(zhǔn)不精確的問題。為此,在圖像去抖動(dòng)技術(shù)的基礎(chǔ)上,提出了一種融合SURF(speeded-up robust features)和ORB(oriented FAST and rotated BRlEF)的運(yùn)動(dòng)估計(jì)算法。首先,基于SURF算法提取標(biāo)準(zhǔn)印刷圖像和待檢測(cè)圖像的特征點(diǎn);其次,基于ORB算法對(duì)提取的特征點(diǎn)進(jìn)行描述和匹配;再次,將正確匹配的特征點(diǎn)通過仿射模型來求取全局運(yùn)動(dòng)矢量;最后,通過求得的全局運(yùn)動(dòng)矢量來補(bǔ)償圖像,并完成待檢測(cè)圖像與標(biāo)準(zhǔn)印刷圖像的配準(zhǔn)。針對(duì)待測(cè)圖像存在的平移、尺度和旋轉(zhuǎn)三種不同變化,分別采用SURF-ORB、ORB和SIFT(scale-invariant feature transform)的運(yùn)動(dòng)估計(jì)算法進(jìn)行了性能分析。結(jié)果表明,SURF-ORB的特征點(diǎn)匹配對(duì)數(shù)量最多,匹配效果最好,SURB-ORB的運(yùn)動(dòng)估計(jì)時(shí)間控制在毫秒級(jí)別,滿足現(xiàn)代印刷品缺陷檢測(cè)的實(shí)時(shí)性要求。因此,融合SURF和ORB的運(yùn)動(dòng)估計(jì)算法能夠?qū)D像進(jìn)行精確、實(shí)時(shí)的配準(zhǔn)。
關(guān)鍵詞:配準(zhǔn);抖動(dòng)補(bǔ)償;特征點(diǎn)匹配;仿射模型
中圖分類號(hào):TP273 文獻(xiàn)標(biāo)志碼:A
引言
在現(xiàn)代印刷行業(yè)中,基于機(jī)器視覺的印刷缺陷檢測(cè)技術(shù)可以精確地分析印刷圖像質(zhì)量,確定印刷品是否存在缺陷并實(shí)現(xiàn)印刷質(zhì)量的在線檢測(cè)。但是在實(shí)際的印刷品檢測(cè)過程中,由于設(shè)備引起相機(jī)支架的顫動(dòng)等因素的影響,使得采集的待檢測(cè)圖像相對(duì)于標(biāo)準(zhǔn)樣張圖像發(fā)生平移、尺度和旋轉(zhuǎn)等變化,從而影響檢測(cè)結(jié)果的穩(wěn)定性和準(zhǔn)確性。
目前,機(jī)器視覺檢測(cè)系統(tǒng)中的去抖動(dòng)方法主要分為機(jī)械去抖動(dòng)、光學(xué)去抖動(dòng)以及圖像去抖動(dòng)。其中,機(jī)械去抖動(dòng)和光學(xué)去抖動(dòng)的發(fā)展和應(yīng)用由于需要價(jià)格昂貴、精確度高的測(cè)量元件而受到了限制,而圖像去抖動(dòng)是利用數(shù)字圖像技術(shù)直接在像素面上檢測(cè)出圖像間的像素偏移量,從而對(duì)其進(jìn)行補(bǔ)償,該技術(shù)以體積小、攜帶容易、穩(wěn)定性好以及成本低等優(yōu)勢(shì)被廣泛應(yīng)用在各種檢測(cè)中。
圖像去抖動(dòng)方法應(yīng)用在印刷品缺陷檢測(cè)系統(tǒng)中時(shí),主要是對(duì)采集的印刷圖像進(jìn)行運(yùn)動(dòng)的估計(jì)與補(bǔ)償。其中,特征點(diǎn)估計(jì)算法是一種常用的運(yùn)動(dòng)估計(jì)算法,其主要由特征點(diǎn)的提取、描述、匹配以及全局運(yùn)動(dòng)矢量的確定組成。針對(duì)圖像的特征點(diǎn)提取、描述和匹配,已經(jīng)有很多研究人員做出了針對(duì)性的算法。比如Lowe早在2004年就提出了一種尺度不變特征變換算法SIFT,接著快速魯棒性特征算法SURF針對(duì)SIFT算法包含信息較多、復(fù)雜度高以及實(shí)際利用率低等問題,利用Hessian矩陣和Hear小波相結(jié)合的方法有效地提高了運(yùn)算速度,但是提取的特征點(diǎn)穩(wěn)定性不夠好。2011年,Rublee等提出的局部不變特征匹配算法ORB,較SIFT和SURF算法大大地提高了其運(yùn)算速度,且運(yùn)行時(shí)間短,具備旋轉(zhuǎn)不變性。但是ORB算法本身不具備尺度不變性,所以在特征點(diǎn)匹配時(shí)會(huì)出現(xiàn)很多錯(cuò)誤,進(jìn)一步對(duì)圖像的處理產(chǎn)生不良影響。
因此,本文在圖像去抖動(dòng)方法的基礎(chǔ)上,對(duì)待檢測(cè)圖像進(jìn)行抖動(dòng)補(bǔ)償,并完成與標(biāo)準(zhǔn)樣張圖像的配準(zhǔn)工作。針對(duì)ORB算法不具備尺度不變性的缺點(diǎn),將具備尺度不變性特征的SURF算法與ORB算法相結(jié)合來對(duì)圖像的特征點(diǎn)進(jìn)行提取、描述和匹配。根據(jù)仿射模型的參數(shù)較多,更符合實(shí)際設(shè)備的抖動(dòng)情況,選用仿射模型作為圖像去抖動(dòng)算法中的數(shù)學(xué)模型來求取全局運(yùn)動(dòng)矢量,最后通過求得的全局運(yùn)動(dòng)矢量來補(bǔ)償圖像,并完成與標(biāo)準(zhǔn)樣張圖像的配準(zhǔn)。
1融合SuRF和ORB的特征點(diǎn)匹配算法
1.1基于SURF算法提取特征點(diǎn)
SURF算法使用Hessian算子提取不同尺度的圖像特征點(diǎn)。假設(shè)原始圖像I在點(diǎn)(x,y)處,尺度為σ的Hessian矩陣為
因此,為了得到多個(gè)尺度的圖像,SURF算法只需要改變箱型濾波器的大小,然后重復(fù)上述步驟,就可以得到不同尺度下的Dxx、Dxy和Dyy值,從而求得極值點(diǎn)。將此極值點(diǎn)與3x3x3的尺度空間中其他26個(gè)點(diǎn)進(jìn)行比較,得到符合條件的特征點(diǎn),此時(shí)的特征點(diǎn)具備尺度不變性。
1.2基于ORB算法生成特征點(diǎn)描述子
首先,為了使得這些特征點(diǎn)具有旋轉(zhuǎn)不變性,需要確定每個(gè)特征點(diǎn)的主方向。因此,采用Haar小波響應(yīng)確定主方向的方法,來計(jì)算特征點(diǎn)的主方向。該過程為:以特征點(diǎn)為中心,計(jì)算半徑為60'(σ‘為特征點(diǎn)對(duì)應(yīng)的尺度)的圓內(nèi)的點(diǎn)在x和y方向上的Haar小波響應(yīng)值,再以60°的扇形區(qū)域作為滑動(dòng)窗口,使用該窗口以一定的步長(zhǎng)旋轉(zhuǎn)遍歷整個(gè)圓形領(lǐng)域,并計(jì)算每次旋轉(zhuǎn)時(shí)窗口內(nèi)所有Haar小波響應(yīng)的累加值,得到新矢量,選出其中最長(zhǎng)矢量的方向作為該特征點(diǎn)的主方向。
最后,利用二進(jìn)制函數(shù)進(jìn)行比較,得到長(zhǎng)度為256維的二進(jìn)制串,并將其作為特征點(diǎn)的描述子。此時(shí)所得的特征點(diǎn)的描述子具有了旋轉(zhuǎn)不變性和尺度不變性的特點(diǎn)。
1.3特征點(diǎn)的匹配
本文采用暴力匹配方法對(duì)提取出的特征點(diǎn)進(jìn)行匹配,該方法的匹配過程為:對(duì)標(biāo)準(zhǔn)圖像上的每一個(gè)特征點(diǎn),采用漢明距離來計(jì)算它與待檢測(cè)圖像上每一個(gè)特征點(diǎn)描述子的距離,并取距離最小的特征點(diǎn)作為匹配點(diǎn)。由于匹配的特征點(diǎn)對(duì)仍然存在一些誤匹配的情況,所以需要剔除它們來提高運(yùn)動(dòng)估計(jì)算法的精度。因隨機(jī)抽樣一致算法(RANSAC)可以將特征點(diǎn)的數(shù)據(jù)集分為內(nèi)點(diǎn)集和外點(diǎn)集(內(nèi)點(diǎn)是指正常的可以被數(shù)學(xué)模型描述的特征點(diǎn),外點(diǎn)是指出現(xiàn)異常以及無法適應(yīng)該數(shù)學(xué)模型的特征點(diǎn)),可以以不停迭代、假設(shè)的方式計(jì)算出最佳的數(shù)學(xué)模型參數(shù),使得到的計(jì)算結(jié)果更接近真實(shí)值,所以本文選擇RANSAC來篩除誤配的特征點(diǎn)對(duì)。
2建立數(shù)學(xué)模型
利用得到的正確特征點(diǎn)對(duì)來估計(jì)當(dāng)前所采集的圖像與制定的標(biāo)準(zhǔn)印刷圖像之間的像素偏移量,該偏移量也稱為全局運(yùn)動(dòng)矢量。全局運(yùn)動(dòng)矢量是通過圖像的數(shù)學(xué)模型來獲得,將獲得的像素偏移量作為補(bǔ)償量就可以將待檢測(cè)圖像逆變換為標(biāo)準(zhǔn)圖像。假設(shè)(XI1,yI1)、(xI2,YI2)分別代表標(biāo)準(zhǔn)圖像和待檢測(cè)圖像中相對(duì)應(yīng)的兩點(diǎn),則兩圖之間的空間幾何變換定義如下:
在計(jì)算全局運(yùn)動(dòng)矢量之前需要先確定用于計(jì)算的數(shù)學(xué)模型。目前,常用的數(shù)學(xué)模型有平移模型、相似模型和仿射模型,其中:平移模型是圖像的平移變換;相似模型是在平移模型的基礎(chǔ)上增加了縮放因素;仿射模型包含了平移、旋轉(zhuǎn)和尺度,該特點(diǎn)是原圖中平行的兩條直線,經(jīng)仿射變換后仍然保持平行。因此如果圖像同時(shí)存在平移、旋轉(zhuǎn)和尺度變化時(shí),用仿射模型更能準(zhǔn)確表達(dá),其表達(dá)式為
可以將式(7)中的模型參數(shù)轉(zhuǎn)換為仿射變換矩陣T,即式中包含六個(gè)變量,因此至少需要三對(duì)特征點(diǎn)對(duì)來求解T(T亦稱為全局運(yùn)動(dòng)矢量)。因此,通過求得的全局運(yùn)動(dòng)矢量來對(duì)待檢測(cè)圖像進(jìn)行補(bǔ)償,就可以得到最終的配準(zhǔn)圖像。
3實(shí)驗(yàn)與分析
3.1實(shí)驗(yàn)流程
在印刷品缺陷檢測(cè)的圖像采集過程中,由于外界因素的干擾造成采集的圖像存在平移、尺度、旋轉(zhuǎn)等變化,對(duì)此本文在配置有開源計(jì)算機(jī)視覺圖像處理庫OpenCV的Visual Studio2017環(huán)境下,對(duì)采集的圖像進(jìn)行補(bǔ)償實(shí)驗(yàn),具體實(shí)驗(yàn)流程如圖1所示。
本文采用順華利SHL-500WS型的CCD工業(yè)相機(jī)來制定標(biāo)準(zhǔn)印刷圖像以及采集存在平移變化、尺度變化和旋轉(zhuǎn)變化的待檢測(cè)圖像,其中標(biāo)準(zhǔn)印刷圖像和待檢測(cè)圖像的尺寸為340像素×340像素,實(shí)驗(yàn)圖像如圖2所示。
3.2三種算法的特征點(diǎn)匹配效果比較
分別使用SURF-ORB算法、SIFT算法和ORB算法來對(duì)圖像的特征點(diǎn)進(jìn)行提取、描述和匹配,統(tǒng)計(jì)各個(gè)算法在圖像發(fā)生平移、尺度、旋轉(zhuǎn)變化時(shí)提取的特征點(diǎn)個(gè)數(shù)、算法耗時(shí)以及最后匹配的點(diǎn)對(duì)數(shù),并以此進(jìn)行算法性能分析。
圖3為待檢測(cè)圖像存在平移變化的情況下,三種算法的特征點(diǎn)匹配效果圖,表1為平移變換時(shí)的實(shí)驗(yàn)結(jié)果。
由圖3可見:從匹配的特征點(diǎn)對(duì)數(shù)來看,SURF-ORB算法匹配的特征點(diǎn)對(duì)數(shù)最多,其次是ORB算法,最后是SIFT算法;從匹配的特征點(diǎn)對(duì)效果來看,SURF-ORB算法的匹配效果最好,ORB算法和SIFT算法都出現(xiàn)了一定程度的誤匹配。
圖4為待檢測(cè)圖像發(fā)生尺度變化時(shí)三種算法的特征點(diǎn)匹配效果圖,表2為此時(shí)三種算法的實(shí)驗(yàn)結(jié)果。
從圖4可以看出,當(dāng)檢測(cè)圖像發(fā)生尺度變化時(shí),ORB算法耗時(shí)是最短的,其次是SURF-ORB算法,而SIFT算法所用時(shí)間最長(zhǎng)。雖然ORB算法的耗時(shí)最少,但是匹配的特征點(diǎn)對(duì)沒有SURF-ORB算法理想,出現(xiàn)了誤匹配,并且SURF-ORB算法提取的特征點(diǎn)對(duì)數(shù)最多。
圖5為三種算法在待檢測(cè)圖像發(fā)生旋轉(zhuǎn)變化時(shí)的特征點(diǎn)匹配效果圖,表3為此時(shí)三種算法的實(shí)驗(yàn)結(jié)果。從圖5可以看出,當(dāng)檢測(cè)圖像因旋轉(zhuǎn)變化而導(dǎo)致特征點(diǎn)周圍的方向信息和梯度信息發(fā)生了變化,從特征點(diǎn)對(duì)的數(shù)量上來看,SURF-ORB算法提取的特征點(diǎn)對(duì)數(shù)最多,其次是ORB算法,最后是SIFT算法。雖然SURF-ORB算法、ORB算法和SIFT算法都出現(xiàn)了一定程度的誤匹配,但是SURF-ORB算法在匹配的特征點(diǎn)對(duì)的數(shù)量上優(yōu)于ORB算法,在算法耗時(shí)上優(yōu)于SIFT算法。
綜上可知:在算法時(shí)間長(zhǎng)短上,ORB算法和SURF-ORB算法都能夠達(dá)到毫秒級(jí)別,而SIFT算法由于不停迭代卷積延長(zhǎng)了算法的速度,導(dǎo)致算法的耗時(shí)是其他兩種算法的幾倍;在匹配的特征點(diǎn)對(duì)數(shù)量上,最多的是SURF—ORB算法,其次是ORB算法和SIFT算法,并且ORB算法和SIFT算法出現(xiàn)誤匹配更多。SURF-ORB算法結(jié)合了其他兩種算法的優(yōu)點(diǎn),與SIFT算法比較縮短了匹配時(shí)間,與ORB算法相比降低了匹配誤差,因此將SURF算法和ORB算法相融合來進(jìn)行特征點(diǎn)的提取、描述和匹配是可行的,且效果好。
3.3運(yùn)動(dòng)補(bǔ)償完成配準(zhǔn)
在數(shù)學(xué)模型的建立中提到只需要三對(duì)特征點(diǎn)對(duì)就可以求得變換矩陣T1,表4為SURF-ORB算法在未使用RANSAC時(shí)得到的匹配特征點(diǎn)對(duì)的實(shí)驗(yàn)結(jié)果。
從表4可以看出,在不使用RANSAC篩除的情況下,無論是平移變換、尺度變換還是旋轉(zhuǎn)變換都出現(xiàn)了大量的誤匹配點(diǎn),如果不對(duì)這些錯(cuò)誤的特征點(diǎn)對(duì)進(jìn)行篩除,將會(huì)降低后續(xù)配準(zhǔn)的精度,因此在得到特征點(diǎn)對(duì)后利用RANSAC篩除誤匹配的特征點(diǎn)很有必要。
本文利用RANSAC篩選出的內(nèi)點(diǎn)集與外點(diǎn)集,結(jié)合仿射模型求得全局運(yùn)動(dòng)矢量,從而對(duì)圖像進(jìn)行補(bǔ)償,并獲得配準(zhǔn)后的待檢測(cè)圖像,如圖6所示。
為了驗(yàn)證配準(zhǔn)后的待檢測(cè)圖像的效果,采用相似度(NC)來客觀評(píng)價(jià)標(biāo)準(zhǔn)樣張圖像分別與抖動(dòng)的待檢測(cè)圖像和補(bǔ)償恢復(fù)的配準(zhǔn)圖像之間的相似程度。對(duì)于大小為MxN的圖像,相似度NC的數(shù)學(xué)表達(dá)式為
式中:X(i,j)為標(biāo)準(zhǔn)樣張圖像像素點(diǎn)的灰度值;x'(i,j)為抖動(dòng)的圖像或補(bǔ)償恢復(fù)的圖像像素點(diǎn)的灰度值。其計(jì)算結(jié)果如表5所示。
從表5可以看出,抖動(dòng)的待檢測(cè)圖像與標(biāo)準(zhǔn)樣張圖像之間的相似性程度較小,而經(jīng)上述方法補(bǔ)償后的圖像與標(biāo)準(zhǔn)樣張圖像相比相似程度高,雖然也存在誤差,但是只存在少量的像素誤差,對(duì)后續(xù)的印刷缺陷的檢測(cè)和模式識(shí)別造成的影響不大??傊?,融合SURF-ORB的特征點(diǎn)匹配算法在匹配正確的特征點(diǎn)對(duì)和運(yùn)行時(shí)間上具有優(yōu)勢(shì),有利于后續(xù)利用正確的特征點(diǎn)對(duì)計(jì)算全局運(yùn)動(dòng)矢量和進(jìn)行抖動(dòng)補(bǔ)償,并以此提高了配準(zhǔn)的精確程度。
4結(jié)論
本文針對(duì)印刷品缺陷檢測(cè)中,因外界因素造成采集的待檢測(cè)圖像相對(duì)于標(biāo)準(zhǔn)樣張圖像發(fā)生平移、尺度和旋轉(zhuǎn)變換而使后續(xù)的配準(zhǔn)、缺陷檢測(cè)帶來誤差等問題,提出了一種融合SURE-ORB的特征點(diǎn)匹配算法,并結(jié)合仿射模型求出全局運(yùn)動(dòng)矢量,完成抖動(dòng)的補(bǔ)償和配準(zhǔn)。通過實(shí)驗(yàn)可以證明融合SURE-ORB算法在匹配正確的特征點(diǎn)對(duì)和運(yùn)行時(shí)間上具有優(yōu)勢(shì),效果良好。