劉慧芳,甄國(guó)涌,儲(chǔ)成群
(中北大學(xué)儀器與電子學(xué)院,太原 030051)
隨著我國(guó)工業(yè)自動(dòng)化與信息化程度的提高,對(duì)工業(yè)生產(chǎn)中工件識(shí)別的準(zhǔn)確性與實(shí)時(shí)性也提出了更高要求。傳統(tǒng)的工件識(shí)別方法多為模板匹配技術(shù),其中基于特征點(diǎn)檢測(cè)與描述的圖像匹配[1-3]方法由于其良好的旋轉(zhuǎn)不變性、尺度不變性、抗噪不變性等特性成為了圖像識(shí)別與匹配領(lǐng)域研究的熱點(diǎn)。但是在工業(yè)零件分揀生產(chǎn)線上,工件圖像往往會(huì)因?yàn)槭艿叫D(zhuǎn)、平移、噪聲、尺度以及亮度等變化及影響導(dǎo)致識(shí)別效率不高,識(shí)別精度極差。
近年來(lái),許多學(xué)者對(duì)基于局部特征與描述的圖像識(shí)別與匹配算法做出了研究與改進(jìn)。鐘鵬程等[4]結(jié)合快速特征點(diǎn)提取和描述(ORB)算法[5-6]與快速魯棒特征(SURF)算法[7]的優(yōu)點(diǎn),先利用ORB算法進(jìn)行角點(diǎn)檢測(cè),然后為角點(diǎn)添加SURF特征描述符,最后用快速近似最近鄰搜索算法進(jìn)行特征點(diǎn)相似性度量完成工件圖像匹配,對(duì)發(fā)生尺度、旋轉(zhuǎn)變化的工作圖像識(shí)別準(zhǔn)確性有一定程度提高,但是當(dāng)圖像視角尺度發(fā)生極大變化時(shí),匹配難度增長(zhǎng),誤匹配對(duì)增多,降低了匹配精度;席劍輝等[8]為提高工件識(shí)別效率,在用SURF算法完成特征點(diǎn)檢測(cè)與描述后,用歐氏距離進(jìn)行了特征點(diǎn)匹配,并用隨機(jī)抽樣一致性(RANSAC)算法[9-10]找到滿足局部最優(yōu)模型的“內(nèi)點(diǎn)”,提高了匹配的精度,但是當(dāng)樣本數(shù)據(jù)極多且外點(diǎn)比例所占過(guò)高時(shí),會(huì)導(dǎo)致RANSAC算法計(jì)算局部最優(yōu)模型時(shí)間呈指數(shù)增長(zhǎng),即使算法完成后可能還會(huì)有大量誤匹配點(diǎn)存在;張明路等[11]在工件匹配階段,構(gòu)建了基于K-Means聚類的詞袋模型,并生成描述向量模型以此來(lái)改進(jìn)SURF算法的特征匹配階段,最終實(shí)現(xiàn)工件識(shí)別速度的提高;劉敬華等[12]提出一種改進(jìn)的SURF_FREAK算法,在特征描述階段對(duì)FREAK算法[13]進(jìn)行中距離點(diǎn)對(duì)的添加,之后對(duì)添加極線約束的工件圖像進(jìn)行漢明距離相似性度量以實(shí)現(xiàn)工件圖像的識(shí)別與匹配;BIAN等[14]提出一種基于網(wǎng)格運(yùn)動(dòng)估計(jì)(GMS)的特征匹配算法,該算法將運(yùn)動(dòng)平滑性轉(zhuǎn)化為統(tǒng)計(jì)問(wèn)題以判別是否有誤配,可以快速區(qū)分出正確的匹配和錯(cuò)誤的匹配,即將較高的特征點(diǎn)匹配數(shù)量轉(zhuǎn)化為較高質(zhì)量的匹配,使得算法更加快速和魯棒,在低紋理、模糊和旋轉(zhuǎn)位移較大的等情況下具有很強(qiáng)的魯棒性。
結(jié)合多位學(xué)者在特征點(diǎn)檢測(cè)與描述、特征匹配以及誤匹配去除階段的改進(jìn)與優(yōu)化以及多種算法的優(yōu)缺點(diǎn),本文提出了一種基于網(wǎng)格運(yùn)動(dòng)估計(jì)的改進(jìn)工件識(shí)別算法:首先對(duì)SURF算法進(jìn)行改進(jìn),將特征點(diǎn)提取階段改用FAST算法,加快提取速度;然后用SURF描述符進(jìn)行特征描述,并用FLANN算法進(jìn)行預(yù)匹配得到初始匹配集;最后采用改進(jìn)GMS算法進(jìn)行誤匹配點(diǎn)的去除,實(shí)現(xiàn)工件圖像的準(zhǔn)確匹配。
傳統(tǒng)圖像匹配算法常采用RANSAC算法去除誤匹配,但是當(dāng)樣本集中數(shù)據(jù)量大、誤匹配點(diǎn)對(duì)較多、圖像變換不符合參數(shù)模型時(shí),RANSAC算法的計(jì)算代價(jià)會(huì)急劇增加,算法的運(yùn)行時(shí)間也將增長(zhǎng)。GMS[14]的主要思想為對(duì)圖像進(jìn)行網(wǎng)格劃分作為特征點(diǎn)鄰域?qū)λ惴ㄟM(jìn)行加速,依據(jù)運(yùn)動(dòng)的平滑性約束了正確匹配的特點(diǎn)鄰域內(nèi)也會(huì)有較多的匹配支持點(diǎn),以此通過(guò)統(tǒng)計(jì)匹配點(diǎn)鄰域支持點(diǎn)的數(shù)量來(lái)達(dá)到區(qū)分真實(shí)匹配與錯(cuò)誤匹配的目的。假設(shè)Ia為匹配圖,Ib為待匹配圖,兩幅圖檢測(cè)到的特征點(diǎn)個(gè)數(shù)分別為M、N,特征點(diǎn)匹配集合表示為{M,N},粗匹配完成后,圖像Ia到Ib的最近鄰特征點(diǎn)匹配集合為{x1,x2,…,xn},其中xi=(Mi,Ni)表示一對(duì)匹配特征點(diǎn)對(duì),a、b為兩幅圖的匹配區(qū)域。正確匹配的特征點(diǎn)鄰域內(nèi)會(huì)存在若干個(gè)支持它的匹配點(diǎn)對(duì),相反錯(cuò)誤匹配的特征點(diǎn)鄰域內(nèi)很少甚至幾乎沒(méi)有對(duì)其支持的匹配點(diǎn)對(duì)。設(shè)Si為正確匹配對(duì)xi的鄰域特征點(diǎn)支持量,則:
Si=xi)|-1
(1)
式中,xi)|為鄰域內(nèi)正確匹配對(duì)的數(shù)目;-1表示減去原始的匹配正確項(xiàng)。
(2)
(3)
(4)
根據(jù)式(3)和式(4),Si和xi的二項(xiàng)式分布如下:
(5)
為了加快去除誤匹配的速度,對(duì)匹配圖與待匹配圖進(jìn)行網(wǎng)格劃分,每個(gè)單元網(wǎng)格代表鄰域支持統(tǒng)計(jì)量,通過(guò)計(jì)算單元格支持統(tǒng)計(jì)量代替計(jì)算每個(gè)特征點(diǎn)支持統(tǒng)計(jì)量來(lái)加快對(duì)正確匹配與錯(cuò)誤匹配的區(qū)分速度,則式(5)變成:
(6)
式中,K為與xi所在網(wǎng)格區(qū)域相連但不相交的網(wǎng)格數(shù)量,由式(6)可得Si的均值與標(biāo)準(zhǔn)差可表示為:
(7)
最后通過(guò)標(biāo)準(zhǔn)差與均值來(lái)確定一個(gè)閾值τ以區(qū)分正確匹配與錯(cuò)誤匹配,τ可近似表達(dá)為:
(8)
式中,α為權(quán)重值,通過(guò)式(8)將鄰域特征點(diǎn)支持量Si大于τ的網(wǎng)格區(qū)域內(nèi)的匹配對(duì)保留下來(lái),不滿足條件的予以剔除,最終實(shí)現(xiàn)GMS算法的魯棒匹配。
SURF算法是尺度不變特征變換(SIFT)算法[15-16]的優(yōu)化,比SIFT算法運(yùn)行速度快,同時(shí)也具有很好的旋轉(zhuǎn)尺度穩(wěn)健性。SURF算法使用積分圖像加速算法并用近似的Hessian矩陣行列式的最大值來(lái)定位特征點(diǎn)的位置,同時(shí)采用Haar小波變換增加算法的魯棒性,其主要算法步驟如下:
如今中國(guó)的中職語(yǔ)文教育缺乏應(yīng)有的應(yīng)用性和科學(xué)性,沒(méi)有形成最適合中職語(yǔ)文教育的自己的道路,而是延用以往中學(xué)語(yǔ)文的教學(xué)方法,甚至是模仿本科語(yǔ)文課堂的教學(xué)。這樣的中職語(yǔ)文教育根本不符合中職培養(yǎng)的人才目標(biāo),嚴(yán)重偏離了實(shí)用性和應(yīng)用性,大部分中職學(xué)生是希望來(lái)學(xué)校獲得未來(lái)工作和個(gè)人發(fā)展所需的資本和能力的,他們渴望的是可以滿足以后就業(yè)需求點(diǎn)的知識(shí),這就造成了有限的教學(xué)收獲和教學(xué)目標(biāo)之間形成了強(qiáng)烈反差。職業(yè)教育的實(shí)用性在教學(xué)資源投入和團(tuán)隊(duì)建設(shè)中往往起關(guān)鍵性作用,語(yǔ)文教育的脫離實(shí)踐和定位不清晰導(dǎo)致在學(xué)校教學(xué)資源中陷入占比越來(lái)越少的窘境。
(1)計(jì)算積分圖像,利用Hessian矩陣提取特征點(diǎn);
(2)構(gòu)建尺度空間與高斯金字塔;
(3)進(jìn)行特征點(diǎn)主方向確定;
(4)構(gòu)建64維特征描述符;
(5)利用特征點(diǎn)描述符進(jìn)行特征匹配。
FAST是一種快速的角點(diǎn)檢測(cè)算法,主要通過(guò)比較候選點(diǎn)與周圍鄰域像素點(diǎn)的灰度值差來(lái)進(jìn)行檢測(cè),算法主要步驟如下:
(1)如圖1所示,在圖像上選擇一個(gè)像素p,其像素值為Ip,以p為中心建立半徑為3的圓,可見(jiàn)在圓的最外層有16個(gè)像素點(diǎn)(p1、p2、…、p16);
圖1 FAST算法
(2)選擇一個(gè)閾值t,判斷16個(gè)像素點(diǎn)是否有n個(gè)連續(xù)的像素點(diǎn)的灰度值與Ip差的絕對(duì)值大于t,如果有的話,則認(rèn)為p是特征點(diǎn),否則,排除p點(diǎn)。一般n取9或12;
(3)計(jì)算由(2)選出的特征點(diǎn)的響應(yīng)大小,響應(yīng)值為中心點(diǎn)與16個(gè)點(diǎn)灰度值差值的絕對(duì)值總和,通過(guò)比較相鄰特征點(diǎn)的響應(yīng)值大小,將響應(yīng)值偏低的特征點(diǎn)去掉。
本文基于網(wǎng)格運(yùn)動(dòng)統(tǒng)計(jì)(GMS)算法,對(duì)基于特征點(diǎn)檢測(cè)與匹配的工件識(shí)別算法進(jìn)行了如下改進(jìn):
(1)為了加快SURF算法特征點(diǎn)提取速度,改用FAST算法進(jìn)行特征點(diǎn)檢測(cè),提取特征點(diǎn)時(shí)間短,簡(jiǎn)單快速;
(2)因?yàn)镕AST角點(diǎn)不具有特征點(diǎn)方向信息,因此在特征點(diǎn)檢測(cè)完成后,用SURF描述符為特征點(diǎn)建立方向描述信息,使特征點(diǎn)具有旋轉(zhuǎn)尺度不變性;
(3)在用FLANN進(jìn)行最近鄰點(diǎn)與次近鄰點(diǎn)距離比值與設(shè)定閾值的比較后,得到粗匹配結(jié)果;
(4)得到粗匹配對(duì)后,求解單應(yīng)性變換矩陣,可保證圖片發(fā)生投影畸變后仍能正常匹配,最后用GMS算法保留正確匹配對(duì),完成工件圖像的識(shí)別。
改進(jìn)算法流程如圖2所示。
圖2 改進(jìn)工件識(shí)別算法流程圖
本實(shí)驗(yàn)測(cè)試環(huán)境為:Windows10操作系統(tǒng)(64位),Intel Core i5-6200U CPU@2.30 GHz,8 GB內(nèi)存,運(yùn)行環(huán)境為PyCharm2020與OpenCv3.4.2;實(shí)驗(yàn)?zāi)康臑轵?yàn)證本文算法與SIFT、SURF、ORB、文獻(xiàn)[4]算法在工件圖像受到亮度、旋轉(zhuǎn)、尺度以及平移變化時(shí)識(shí)別精度與速度的優(yōu)異性;測(cè)試圖像為圖3所示,包括一幅待識(shí)別工件圖,以及一幅螺母原圖和發(fā)生亮度變化、旋轉(zhuǎn)尺度平移變化的螺母圖;實(shí)驗(yàn)過(guò)程為各匹配算法對(duì)最后一幅圖片與前面三幅圖片依次進(jìn)行匹配,并以實(shí)驗(yàn)序號(hào)1~3加以區(qū)分,然后比較各次實(shí)驗(yàn)的匹配精確度與匹配時(shí)間,記錄分析測(cè)試結(jié)果,實(shí)驗(yàn)結(jié)果如圖4和圖5所示。
(a) 螺母原圖 (b) 亮度變化
(c) 旋轉(zhuǎn)尺度平移變化 (d) 待識(shí)別工件圖圖3 工件測(cè)試圖
圖4 匹配精度對(duì)比 圖5 匹配時(shí)間對(duì)比
實(shí)驗(yàn)分析中采用匹配精確度(precision)與匹配時(shí)間T兩個(gè)指標(biāo)對(duì)各圖像匹配算法進(jìn)行評(píng)價(jià)與分析。precision定義為:
precision=matchescorrect/matches
(9)
式中,matchescorrect為正確匹配的特征點(diǎn)對(duì)數(shù)目;matches為特征匹配對(duì)總數(shù)。顯然,precision值越大,代表該算法匹配精度越高;T值越小,代表該算法實(shí)時(shí)性越好。
圖4和圖5分別展示了本文算法與SIFT、SURF、ORB、文獻(xiàn)[4]算法在包含不同圖像變換的測(cè)試圖像上經(jīng)過(guò)匹配實(shí)驗(yàn)后得到的匹配精確度與匹配時(shí)間的對(duì)比實(shí)驗(yàn)結(jié)果。從圖4可以看出,無(wú)論是亮度變化還是旋轉(zhuǎn)尺度平移變化,本文算法與文獻(xiàn)[4]算法的匹配精度都比另外三種算法高,并且本文算法比文獻(xiàn)[4]算法更具有優(yōu)勢(shì),因?yàn)殡m然隨著變換模型改變?cè)黾恿似ヅ潆y度,但本文算法的匹配精度始終能達(dá)到90%以上,且比文獻(xiàn)[4]算法匹配精度更高;同時(shí)由圖5分析,本文算法與文獻(xiàn)[4]算法、ORB算法的匹配時(shí)間終低于SIFT與SURF算法,實(shí)時(shí)性更好。所以,從匹配精確度與匹配時(shí)間T兩個(gè)指標(biāo)綜合分析,在不同圖像變換場(chǎng)景下,本文算法的匹配精度最好,匹配時(shí)間也具有一定優(yōu)勢(shì),綜合性能最優(yōu)。
為了更直觀展示本文算法在實(shí)際場(chǎng)景的優(yōu)越性,選取了一組旋轉(zhuǎn)尺度大的圖像,分析比較了其在不同圖像匹配算法下的匹配效果,結(jié)果如圖6與表1所示。
(a) 匹配原圖 (b) SIFT (c) SURF
(d) ORB (e) 文獻(xiàn)[4]算法 (f) 改進(jìn)算法圖6 各算法匹配結(jié)果圖
表1 不同算法測(cè)試結(jié)果比較
從表1分析可得,在旋轉(zhuǎn)尺度較大時(shí),本文算法的匹配時(shí)間雖然與其他算法相比沒(méi)有太大優(yōu)勢(shì),但是匹配精度仍能達(dá)到95%,并且從圖6看到,在運(yùn)用GMS算法基礎(chǔ)上,本文算法的誤匹配去除能力得到了顯著提升,與其他算法相比,誤匹配對(duì)大幅減少,匹配精度極好,能夠準(zhǔn)確定位到目標(biāo)工件。
本文針對(duì)復(fù)雜環(huán)境下工件圖像利用SURF算法識(shí)別精度差等問(wèn)題,提出一種基于網(wǎng)格運(yùn)動(dòng)統(tǒng)計(jì)(GMS)的改進(jìn)工件識(shí)別算法。經(jīng)過(guò)不同變化測(cè)試工件圖像的驗(yàn)證,本文算法比SIFT、SURF、ORB以及文獻(xiàn)[4]等算法在識(shí)別精度與匹配時(shí)間上都具有一定優(yōu)勢(shì),能夠?yàn)楣I(yè)生產(chǎn)中工件識(shí)別的高效性工作提供支持與幫助。但是本文算法正確匹配的前提是粗匹配對(duì)足夠多,所以針對(duì)一些特殊情況下的工件圖像場(chǎng)景,比如遮擋、堆疊等情況,工件識(shí)別算法仍需進(jìn)一步改進(jìn)。