本發(fā)明屬于計(jì)算機(jī)視覺(jué)技術(shù)領(lǐng)域,特別涉及了一種基于orb算法的大視角圖像快速識(shí)別方法。
背景技術(shù):
圖像匹配技術(shù)在很多領(lǐng)域都有廣泛的應(yīng)用,大約有40%的計(jì)算機(jī)視覺(jué)應(yīng)用中都會(huì)用到圖像匹配技術(shù)。人臉識(shí)別、指紋識(shí)別、筆跡識(shí)別、機(jī)器人定位等技術(shù)已經(jīng)廣泛應(yīng)用到社會(huì)生活中,其安全性與圖像匹配算法的性能有著不可分割的聯(lián)系。在軍事、工業(yè)和精密農(nóng)業(yè)等領(lǐng)域中,擁有高精度優(yōu)點(diǎn)的景象匹配技術(shù)是發(fā)展主流。巡航導(dǎo)彈就是應(yīng)用景象匹配技術(shù)來(lái)實(shí)現(xiàn)匹配制導(dǎo)的典型例子,且制導(dǎo)系統(tǒng)的性能決定了巡航導(dǎo)彈的制導(dǎo)精度,而巡航導(dǎo)彈末端制導(dǎo)系統(tǒng)的重要組成部分是景象匹配技術(shù)。提高景象匹配技術(shù)的匹配性能提高工作任務(wù)系統(tǒng)的精確率和準(zhǔn)確率。
經(jīng)典的圖像匹配算法可分為基于灰度信息的圖像匹配算法、基于變換域的圖像匹配算法和基于特征的圖像匹配算法?;谔卣鞯膱D像匹配算法是通過(guò)圖像上有代表性的特征信息,如點(diǎn)、線、面等,進(jìn)行圖像間匹配的算法,主要分為特征提取、特征描述和特征匹配三部分。優(yōu)秀的不變特征量至少滿足三個(gè)不變性,即平移不變性、旋轉(zhuǎn)不變性和縮放不變性,這樣基于特征的方法具有更強(qiáng)的普適性和穩(wěn)健性,不僅對(duì)同源圖像間的匹配效果很好,對(duì)異源圖像之間的匹配效果較好?;谔卣鞯膱D像匹配算法操作相對(duì)簡(jiǎn)單,計(jì)算量比較少,有一定的抗噪聲、抗形變能力,是當(dāng)前圖像匹配技術(shù)的主流方向。
目前,國(guó)內(nèi)外學(xué)者對(duì)大視角圖像匹配算法有著廣泛而深入的研究。國(guó)外,mser、harris-affine、hessian-affine、asift等算法均實(shí)現(xiàn)了尺度不變性和一定程度的仿射不變性,能夠在大視角差異下正常工作。國(guó)內(nèi),中國(guó)礦業(yè)大學(xué)、河南理工大學(xué)、國(guó)防科大、上海大學(xué)、長(zhǎng)春光學(xué)精密機(jī)械與物理研究所等均提出了相關(guān)算法,可以在一定大視角情況獲得較好的效果。上述算法可以在一定大視角情況獲得較好的效果,但是匹配速度慢,提高匹配算法的速度就成了關(guān)鍵。
技術(shù)實(shí)現(xiàn)要素:
為了解決上述背景技術(shù)提出的技術(shù)問(wèn)題,本發(fā)明旨在提供一種基于orb算法的大視角圖像快速識(shí)別方法,該方法結(jié)合了透視變換模型和orb算法,在粗匹配算法獲得單應(yīng)性矩陣基礎(chǔ)上進(jìn)行精匹配,有效減少了模擬次數(shù),并提高了算法運(yùn)算效率。
為了實(shí)現(xiàn)上述技術(shù)目的,本發(fā)明的技術(shù)方案為:
一種基于orb算法的大視角圖像快速識(shí)別方法,包括以下步驟:
(1)建立世界坐標(biāo)系w-xwywzw、相機(jī)坐標(biāo)系c-xcyczc和圖像坐標(biāo)系o-uv,設(shè)物體平面位于世界坐標(biāo)系w-xwywzw中xwwyw平面的中心,根據(jù)相機(jī)成像原理和世界坐標(biāo)系w-xwywzw與相機(jī)坐標(biāo)系c-xcyczc的位置關(guān)系,建立透視變換模型,用于表征同一點(diǎn)在圖像坐標(biāo)系o-uv與世界坐標(biāo)系w-xwywzw中的對(duì)應(yīng)關(guān)系;
(2)通過(guò)采樣的方式設(shè)置透視變換模型的相機(jī)外參參數(shù),獲得不同的透視變換矩陣,對(duì)目標(biāo)圖像o進(jìn)行透視變換,得到模擬圖像集s;
(3)按順序選擇模擬圖像集s中的某一子圖si,對(duì)子圖si和基準(zhǔn)圖像b進(jìn)行尺度不變orb特征提取與描述,采用最小漢明距離度量特征點(diǎn)間的相似性進(jìn)行粗匹配,將子圖si中粗匹配點(diǎn)映射到目標(biāo)圖像o中,保存目標(biāo)圖像o中粗匹配點(diǎn)位置及其描述符至匹配點(diǎn)對(duì)集d1、基準(zhǔn)圖像b中粗匹配點(diǎn)的位置及其描述符至匹配點(diǎn)對(duì)集d2;
(4)當(dāng)子圖si與基準(zhǔn)圖像b的粗匹配點(diǎn)對(duì)達(dá)到設(shè)定對(duì)數(shù)n時(shí),停止粗匹配,進(jìn)入步驟(5);若子圖si不為模擬圖像集s中最后一幅圖像,且獲得的粗匹配點(diǎn)對(duì)少于n時(shí),重新選擇模擬圖像集s中的子圖s′i,返回步驟(3),若子圖si為模擬圖像集s中最后一幅圖像,且獲得的粗匹配點(diǎn)對(duì)少于n時(shí),則算法失效;
(5)對(duì)匹配點(diǎn)對(duì)集d1、d2中所有特征點(diǎn)進(jìn)行雙向匹配以篩除錯(cuò)誤匹配點(diǎn)對(duì),得到篩除后的特征點(diǎn)對(duì)集t1、t2,根據(jù)t1和t2,利用ransac算法獲取基準(zhǔn)圖像b和目標(biāo)圖像o之間的單應(yīng)性矩陣h,并對(duì)目標(biāo)圖像o進(jìn)行重采樣,獲得重采樣圖像r;
(6)對(duì)重采樣圖像r和基準(zhǔn)圖像b進(jìn)行尺度不變orb特征提取與描述,根據(jù)最近次臨近原則,采用最小漢明距離度量特征點(diǎn)間的相似性完成精匹配;利用單應(yīng)性矩陣h將重采樣圖像r和基準(zhǔn)圖像b的匹配結(jié)果投影到基準(zhǔn)圖像b和目標(biāo)圖像o中。
進(jìn)一步地,在步驟(1)中,根據(jù)相機(jī)成像原理,同一點(diǎn)p在世界坐標(biāo)系w-xwywzw、相機(jī)坐標(biāo)系c-xcyczc和圖像坐標(biāo)系o-uv的位置關(guān)系如下:
上式中,
設(shè)相機(jī)光軸czc在xwwzw平面的投影與wzw的夾角為θ,相機(jī)光軸czc與xwwzw平面的夾角為
上式中,ci表示cosi,sγ表示sini,
將式(2)、(3)代入式(1)中,得到透視變換模型
進(jìn)一步地,在步驟(2)中,透視變換模型中相機(jī)外參參數(shù)
θ∈[0,2π),γ∈[0,2π)
上式中,b為設(shè)定的常數(shù),決定了采樣間隔。
進(jìn)一步地,在步驟(3)中,建立多尺度空間,獲得不同尺度下像素點(diǎn)的hessian矩陣行列式,將尺度空間中的hessian矩陣的行列式局部極值點(diǎn)作為特征點(diǎn),依據(jù)灰度質(zhì)心法獲得特征點(diǎn)的主方向,將特征點(diǎn)位置與其主方向輸入orb描述符獲得尺度不變orb特征點(diǎn)描述符。
進(jìn)一步地,利用特征點(diǎn)到鄰域灰度質(zhì)心的向量方向表示特征點(diǎn)的主方向,對(duì)任意一個(gè)特征點(diǎn),定義其局部區(qū)域灰度矩為:
其中,m(x,y)為點(diǎn)(x,y)處的灰度值,p與q的和為灰度矩的階數(shù),局部區(qū)域零階灰度矩
特征點(diǎn)的主方向?yàn)椋?/p>
θ=arctan(m01,m10)(6)
進(jìn)一步地,設(shè)i(x,y)表示圖像,(x,y)表示圖像中某一點(diǎn),尺度為σ的hessian矩陣:
上式中,lxx(x,y,σ)、lxy(x,y,σ)、lyy(x,y,σ)是高斯濾波后的圖像點(diǎn)(x,y)的二階導(dǎo)數(shù),
用方框?yàn)V波器與圖像i(x,y)的卷積dxx(x,y,σ)、dxy(x,y,σ)、dyy(x,y,σ)近似代替lxx(x,y,σ)、lxy(x,y,σ)、lyy(x,y,σ),將hessian矩陣近似表示:
采用行列式
進(jìn)一步地,行列式
進(jìn)一步地,在步驟(5)中,獲取基準(zhǔn)圖像b和目標(biāo)圖像o之間的單應(yīng)性矩陣h的過(guò)程:
在特征點(diǎn)對(duì)集t1中隨機(jī)選取4個(gè)特征點(diǎn),要求其中3個(gè)特征點(diǎn)為非共線的,根據(jù)這4個(gè)點(diǎn)及其對(duì)應(yīng)的t2中的點(diǎn)獲得變換矩陣,即初始單應(yīng)性矩陣;然后將t1中的其他各點(diǎn)通過(guò)變換矩陣變換得到點(diǎn)集temp_t1,求得t2中各點(diǎn)與temp_t1中對(duì)應(yīng)點(diǎn)的誤差;當(dāng)誤差小于設(shè)定值時(shí),該點(diǎn)為內(nèi)點(diǎn),統(tǒng)計(jì)初始單應(yīng)性矩陣下的內(nèi)點(diǎn)數(shù)目;重復(fù)前述過(guò)程,選擇內(nèi)點(diǎn)數(shù)最多時(shí)的初始單應(yīng)性矩陣為所求的單應(yīng)性矩陣h。
采用上述技術(shù)方案帶來(lái)的有益效果:
本發(fā)明采用的基于球坐標(biāo)系的透視變換模型,從相機(jī)成像原理出發(fā),將相機(jī)內(nèi)參帶入模型中,與傳統(tǒng)的仿射變換模型相比,更能夠描述三維場(chǎng)景到二維圖像的映射,更精確。
本發(fā)明采用基于單應(yīng)性矩陣的精匹配算法,有效減少模擬視角變換的次數(shù),加快了算法運(yùn)算效率;先篩除錯(cuò)誤匹配點(diǎn)對(duì)再采用ransac算法計(jì)算單應(yīng)性矩陣,不存在由于采樣間隔選取產(chǎn)生的圖像模擬誤差,更精確地描述基準(zhǔn)圖像和目標(biāo)圖像坐標(biāo)間的對(duì)應(yīng)關(guān)系,提高了匹配正確率。
附圖說(shuō)明
圖1是本發(fā)明的整體流程示意圖。
圖2是攝像機(jī)成像模型。
圖3是基于球坐標(biāo)的透視變換模型。
圖4是方框?yàn)V波器示意圖。
具體實(shí)施方式
以下將結(jié)合附圖,對(duì)本發(fā)明的技術(shù)方案進(jìn)行詳細(xì)說(shuō)明。
一種基于orb算法的大視角圖像快速識(shí)別方法,如圖1所示,利用目標(biāo)圖像根據(jù)透視變換模型和其采樣參數(shù)生成一組模擬圖像,依次對(duì)基準(zhǔn)圖像和模擬圖像集中子圖進(jìn)行粗匹配,求解單應(yīng)性矩陣,根據(jù)單應(yīng)性矩陣獲得重采樣圖像,進(jìn)行精匹配。下文將具體闡述本發(fā)明的過(guò)程。
步驟1:如圖2所示,建立世界坐標(biāo)系w-xwywzw、相機(jī)坐標(biāo)系c-xcyczc和圖像坐標(biāo)系o-uv,w、c、o分別為世界坐標(biāo)系、相機(jī)坐標(biāo)系、圖像坐標(biāo)系的原點(diǎn),設(shè)物體平面位于世界坐標(biāo)系w-xwywzw中xwwyw平面的中心,根據(jù)相機(jī)成像原理和世界坐標(biāo)系w-xwywzw與相機(jī)坐標(biāo)系c-xcyczc的位置關(guān)系,建立基于球坐標(biāo)系的透視變換模型,用于表征同一點(diǎn)在圖像坐標(biāo)系o-uv與世界坐標(biāo)系w-xwywzw中的對(duì)應(yīng)關(guān)系。
根據(jù)相機(jī)成像原理,同一點(diǎn)p在世界坐標(biāo)系w-xwywzw、相機(jī)坐標(biāo)系c-xcyczc和圖像坐標(biāo)系o-uv的位置關(guān)系如下:
上式中,
世界坐標(biāo)系w-xwywzw和相機(jī)坐標(biāo)系c-xcyczc的位置關(guān)系如圖3所示。相機(jī)初始位置位于世界坐標(biāo)系wzw軸上,相機(jī)光軸wzw垂直于xwwyw平面,物體中心位于世界坐標(biāo)系原點(diǎn)。設(shè)相機(jī)光軸czc在xwwzw平面的投影與wzw的夾角為θ,相機(jī)光軸czc與xwwzw平面的夾角為
上式中,ci表示cosi,sγ表示sini,
將式(2)、(3)代入式(1)中,得到透視變換模型
步驟2:通過(guò)采樣的方式設(shè)置透視變換模型的相機(jī)外參參數(shù),獲得不同的透視變換矩陣,對(duì)目標(biāo)圖像o進(jìn)行透視變換,得到模擬圖像集s。
透視變換模型中相機(jī)外參參數(shù)
θ∈[0,2π),γ∈[0,2π)
上式中,b為設(shè)定的常數(shù),決定了采樣間隔,本實(shí)施例設(shè)定b=0.4。
步驟3:按順序選擇模擬圖像集s中的某一子圖si,對(duì)子圖si和基準(zhǔn)圖像b進(jìn)行尺度不變orb特征提取與描述,采用最小漢明距離度量特征點(diǎn)間的相似性進(jìn)行粗匹配,將子圖si中粗匹配點(diǎn)映射到目標(biāo)圖像o中,保存目標(biāo)圖像o中粗匹配點(diǎn)位置及其描述符至匹配點(diǎn)對(duì)集d1、基準(zhǔn)圖像b中粗匹配點(diǎn)的位置及其描述符至匹配點(diǎn)對(duì)集d2。
建立多尺度空間,獲得不同尺度下像素點(diǎn)的hessian矩陣行列式,將尺度空間中的hessian矩陣的行列式局部極值點(diǎn)作為特征點(diǎn),依據(jù)灰度質(zhì)心法獲得特征點(diǎn)的主方向,將特征點(diǎn)位置與其主方向輸入orb描述符獲得尺度不變orb特征點(diǎn)描述符。
利用特征點(diǎn)到鄰域灰度質(zhì)心的向量方向表示特征點(diǎn)的主方向,對(duì)任意一個(gè)特征點(diǎn),定義其局部區(qū)域灰度矩為:
其中,m(x,y)為點(diǎn)(x,y)處的灰度值,p與q的和為灰度矩的階數(shù),局部區(qū)域零階灰度矩
特征點(diǎn)的主方向?yàn)椋?/p>
θ=arctan(m01,m10)(6)
設(shè)i(x,y)表示圖像,(x,y)表示圖像中某一點(diǎn),尺度為σ的hessian矩陣:
上式中,lxx(x,y,σ)、lxy(x,y,σ)、lyy(x,y,σ)是高斯濾波后的圖像點(diǎn)(x,y)的二階導(dǎo)數(shù),
在離散的像素點(diǎn)中,可以用方框?yàn)V波器近似表示
采用行列式
其中,ω是為補(bǔ)償近似所產(chǎn)生的誤差而設(shè)定的比例因子,本實(shí)施例設(shè)定為0.9。
將每個(gè)像素點(diǎn)與在尺度空間鄰域內(nèi)26個(gè)點(diǎn)的
步驟4:當(dāng)子圖si與基準(zhǔn)圖像b的粗匹配點(diǎn)對(duì)達(dá)到設(shè)定對(duì)數(shù)n時(shí),停止粗匹配,進(jìn)入步驟5;若子圖si不為模擬圖像集s中最后一幅圖像,且獲得的粗匹配點(diǎn)對(duì)少于n時(shí),重新選擇模擬圖像集s中的子圖s′i,返回步驟3,若子圖si為模擬圖像集s中最后一幅圖像,且獲得的粗匹配點(diǎn)對(duì)少于n時(shí),則算法失效。
步驟5:先將粗匹配階段獲得的匹配點(diǎn)對(duì)集d1和d2中所有特征點(diǎn)進(jìn)行雙向匹配,即計(jì)算出d1和d2中既滿足匹配映射關(guān)系{d1→d2}又滿足{d2→d1}的匹配點(diǎn)對(duì)集合t1、t2,特征點(diǎn)對(duì)集t1、t2分別對(duì)應(yīng)目標(biāo)圖像o和基準(zhǔn)圖像b。根據(jù)t1和t2利用ransac算法獲取基準(zhǔn)圖像b和目標(biāo)圖像o間的單應(yīng)性矩陣h。特征點(diǎn)對(duì)集t1、t2將粗匹配階段所有正確匹配點(diǎn)對(duì)保留,增加匹配利用率,獲得更精確的單應(yīng)性矩陣h;再根據(jù)h進(jìn)行視角變換,消除部分變形,獲得重采樣圖像r。
在特征點(diǎn)對(duì)集t1中隨機(jī)選取4個(gè)特征點(diǎn),要求其中3個(gè)特征點(diǎn)為非共線的,根據(jù)這4個(gè)點(diǎn)及其對(duì)應(yīng)的t2中的點(diǎn)獲得變換矩陣,即初始單應(yīng)性矩陣;然后將t1中的其他各點(diǎn)通過(guò)變換矩陣變換得到點(diǎn)集temp_t1,求得t2中各點(diǎn)與temp_t1中對(duì)應(yīng)點(diǎn)的誤差;當(dāng)誤差小于設(shè)定值時(shí),該點(diǎn)為內(nèi)點(diǎn),統(tǒng)計(jì)初始單應(yīng)性矩陣下的內(nèi)點(diǎn)數(shù)目;重復(fù)前述過(guò)程,選擇內(nèi)點(diǎn)數(shù)最多時(shí)的初始單應(yīng)性矩陣為所求的單應(yīng)性矩陣h。
步驟6:對(duì)重采樣圖像r和基準(zhǔn)圖像b進(jìn)行尺度不變orb特征提取與描述,根據(jù)最近次臨近原則,采用最小漢明距離度量特征點(diǎn)間的相似性完成精匹配;利用單應(yīng)性矩陣h將重采樣圖像r和基準(zhǔn)圖像b的匹配結(jié)果投影到基準(zhǔn)圖像b和目標(biāo)圖像o中。
實(shí)施例僅為說(shuō)明本發(fā)明的技術(shù)思想,不能以此限定本發(fā)明的保護(hù)范圍,凡是按照本發(fā)明提出的技術(shù)思想,在技術(shù)方案基礎(chǔ)上所做的任何改動(dòng),均落入本發(fā)明保護(hù)范圍之內(nèi)。