張志敏,李 彬+,田聯(lián)房,丁煥文
(1.華南理工大學(xué) 自動(dòng)化科學(xué)與工程學(xué)院,廣東 廣州 510641;2.華南理工大學(xué) 醫(yī)學(xué)院,廣東 廣州 510006)
計(jì)算機(jī)輔助骨科手術(shù)系統(tǒng)有卓越的表現(xiàn),受到各國(guó)骨科醫(yī)生的高度重視[1],同時(shí)諸多研究結(jié)果表明在計(jì)算機(jī)輔助骨科手術(shù)中應(yīng)用增強(qiáng)現(xiàn)實(shí)技術(shù)[2](augmented reality,AR)具有非常高的臨床應(yīng)用價(jià)值。AR技術(shù)的實(shí)現(xiàn)依賴于視頻圖像,需要對(duì)其中的目標(biāo)進(jìn)行檢測(cè)匹配跟蹤。但由于視頻圖像中復(fù)雜目標(biāo)、光線及視角變化等因素影響,使得視頻圖像的目標(biāo)檢測(cè)匹配成為了一個(gè)頗具挑戰(zhàn)的問(wèn)題。研究人員為解決這一難題提出了許多不同的視頻圖像匹配方法,其中基于SURF[3,4]特征點(diǎn)匹配方法最適合于視頻圖像匹配。近些年,很多學(xué)者對(duì)SURF特征點(diǎn)做了大量的研究,提出了不同的改進(jìn)方法。Shene等[5]改進(jìn)了SURF特征點(diǎn)的提取步驟;Oszust等[6]對(duì)SURF特征點(diǎn)的描述符算子進(jìn)行了改進(jìn);Feng等[7]提出了改進(jìn)的匹配方法。但這些改進(jìn)的算法僅適用于簡(jiǎn)單的圖像特征點(diǎn)匹配或者視頻的個(gè)別幀圖像匹配,無(wú)法直接應(yīng)用到視頻連續(xù)的幀圖像中。
基于上述背景,本文針對(duì)視頻圖像匹配提出了一種基于SURF特征點(diǎn)的改進(jìn)FLANN[8,9]匹配算法。首先改進(jìn)了SURF特征點(diǎn)的描述符算子,然后以FLANN算法為基礎(chǔ),結(jié)合隨機(jī)抽樣一致性(random sample consensus,RANSAC)算法,剔除大量誤匹配、無(wú)用的特征點(diǎn),從而大幅提高匹配速度。經(jīng)實(shí)驗(yàn)驗(yàn)證,本方法的穩(wěn)定性及快速性較好,能夠在計(jì)算機(jī)輔助骨科手術(shù)系統(tǒng)中實(shí)現(xiàn)AR的過(guò)程,有效輔助醫(yī)生對(duì)骨科手術(shù)患者中病灶區(qū)域的定位。
本文提出的基于SURF特征點(diǎn)的改進(jìn)FLANN圖像匹配算法。算法的流程如圖1所示。
圖1 基于SURF特征點(diǎn)的FLANN視頻圖像匹配算法流程
SURF是SIFT的加速版,具有旋轉(zhuǎn)尺度不變特征,其不但能測(cè)出圖像中的關(guān)鍵點(diǎn),穩(wěn)定描述關(guān)鍵點(diǎn)的局部信息,而且理論上是SIFT算子速度的3倍。
提取SURF特征點(diǎn)的過(guò)程,首先是用圖像的Hessian矩陣行列式構(gòu)成SURF尺度空間,用非極大值抑制提取特征點(diǎn)。特征點(diǎn)受Hessian行列式閾值的影響,閾值越大得到的特征點(diǎn)的魯棒性越好,實(shí)際中需要適當(dāng)?shù)恼{(diào)整閾值。
在復(fù)雜的視頻圖像匹配中,由于匹配對(duì)圖像特征點(diǎn)描述的局部信息依賴性較高,單個(gè)特征點(diǎn)不足以描述該特征點(diǎn)的局部區(qū)域信息。針對(duì)此問(wèn)題,在不改變SURF特征點(diǎn)原有的旋轉(zhuǎn)尺度不變性的前提下,本文提出了改進(jìn)的特征點(diǎn)描述符,在特征向量中加入了特征點(diǎn)4-領(lǐng)域內(nèi)的特征點(diǎn)描述符信息。
在構(gòu)成的SURF尺度空間中提取到的特征點(diǎn),用f0表示該特征點(diǎn)原有的描述符。在圖像中該特征點(diǎn)的4個(gè)方向距離10 s(s為特征點(diǎn)所在的尺度)的特征點(diǎn)分別用f1、f2、f3、f4表示。為了使該特征點(diǎn)能夠更準(zhǔn)確地描述局部信息,構(gòu)建特征點(diǎn)4-領(lǐng)域的描述符f1、f2、f3、f4都使用f0的主方向,以確保特征點(diǎn)的旋轉(zhuǎn)不變性。然后由該特征點(diǎn)及其它4個(gè)特征點(diǎn)描述符構(gòu)建新的描述符,作為特征點(diǎn)的特征向量,表示為v={f0,f1,f2,f3,f4}。新構(gòu)成的特征點(diǎn)不僅保留SURF特征點(diǎn)原有的旋轉(zhuǎn)尺度不變性,還加大對(duì)局部信息的描述,對(duì)復(fù)雜的目標(biāo)有更大的區(qū)分度。
SURF特征點(diǎn)的匹配主要是通過(guò)Lowe等提出的FLANN算法來(lái)匹配,該算法是通過(guò)判斷兩特征點(diǎn)的歐氏距離來(lái)確定匹配度。然而FLANN算法的匹配速度并不滿足視頻圖像匹配的需求。因此本文提出了一種改進(jìn)的FLANN搜索算法,在原來(lái)的基礎(chǔ)上結(jié)合RANSAC算法,剔除無(wú)匹配、誤匹配的特征點(diǎn),進(jìn)一步提升匹配速度。
FLANN匹配算法需要兩兩計(jì)算求出最佳匹配點(diǎn)對(duì),其中誤匹配、不相關(guān)的特征點(diǎn)也參與到計(jì)算,而RANSAC算法則需要對(duì)特征點(diǎn)進(jìn)行多次迭代,求出概率最大的模型,均不符合視頻圖像匹配快速性的要求。因此本文提出了一種改進(jìn)的FLANN算法,其結(jié)合了RANSAC算法的思想來(lái)剔除大部分不相關(guān)的特征點(diǎn)以達(dá)到快速匹配的效果。在現(xiàn)實(shí)場(chǎng)景中圖像常被檢測(cè)出大量無(wú)用的SURF特征點(diǎn),在提取SURF特征點(diǎn)之前先對(duì)原視頻圖像序列進(jìn)行下采樣,以減少一部分不必要的特征點(diǎn)。其次在計(jì)算兩點(diǎn)的歐氏距離之前先利用他們的跡做初步篩選,特征點(diǎn)跡的符號(hào)相同即表示兩特征點(diǎn)具有相同方向上的對(duì)比度變化。改進(jìn)算法的流程如圖2所示。
圖2 改進(jìn)的FLANN算法流程
改進(jìn)的FLANN匹配算法步驟如下:
(1)在原來(lái)的FLANN算法中,利用RANSAC[10]算法增加特征點(diǎn)的匹配先驗(yàn)信息,以減少大量的配對(duì)計(jì)算。首先根據(jù)前一幀圖像求得的匹配點(diǎn)對(duì),利用RANSAC算法求出配對(duì)點(diǎn)之間的映射關(guān)系;
原來(lái)的RANSAC算法是通過(guò)迭代循環(huán)找出一個(gè)數(shù)據(jù)集的模型。RANSAC每次迭代都隨機(jī)選取4組特征點(diǎn)計(jì)算出它們的映射關(guān)系,統(tǒng)計(jì)符合該映射的特征點(diǎn)。迭代一定次數(shù)后選出符合特征點(diǎn)數(shù)量最多的模型作為最終模型。
將RANSAC算法加入到FLANN算法中。由于前一幀已經(jīng)求得最佳的配對(duì)點(diǎn),故不需要迭代,只需從前一幀中配對(duì)好的特征點(diǎn)選出4組即可求出映射矩陣H。其中的映射關(guān)系如式(1)所示
(1)
其中,(x′,y′)是特征點(diǎn)(x,y)的映射點(diǎn)坐標(biāo),H是映射矩陣。映射矩陣H的求解可將式(1)展開,得到式(2)
(2)
將式(2)整理可得式(3)
(3)
由于變換矩陣H可進(jìn)行任意尺度縮放,故令h33=1。每組匹配的特征點(diǎn)可以得到兩個(gè)方程組,因此通過(guò)4組特征點(diǎn)可得4組方程(3),即可算出矩陣H的8個(gè)參數(shù),得到矩陣H。求得映射矩陣進(jìn)入步驟(3)。
若當(dāng)前幀是視頻的第一幀或者上一幀沒(méi)找到配對(duì)點(diǎn)則跳過(guò)這步進(jìn)入步驟(3),直接用原來(lái)的FLANN算法求配對(duì)點(diǎn)。
(2)在FLANN算法中,根據(jù)RANSAC算法增加了配對(duì)點(diǎn)的預(yù)測(cè)區(qū)域,在局部區(qū)域搜索配對(duì)點(diǎn)。通過(guò)計(jì)算特征點(diǎn)p0(x0,y0)的預(yù)測(cè)配對(duì)點(diǎn),以該預(yù)測(cè)點(diǎn)的30領(lǐng)域作為配對(duì)點(diǎn)的預(yù)測(cè)區(qū)域。首先通過(guò)式(1)計(jì)算出p0的映射點(diǎn)坐標(biāo),然后優(yōu)先在映射點(diǎn)的30領(lǐng)域內(nèi)搜索配對(duì)點(diǎn),找到與p0點(diǎn)領(lǐng)域內(nèi)有最小歐氏距離的配對(duì)點(diǎn)。
假設(shè)兩個(gè)m維特征向量分別為p(xp1,xp2,…,xpm)、q(xq1,xq2,…,xqm),則他們的歐氏距離Dpq如式(4)所示
(4)
在p0的映射點(diǎn)領(lǐng)域內(nèi)有很大概率可以找到最小歐氏距離小于100的最佳配對(duì)點(diǎn),因?yàn)橥ǔG昂笠粠瑘D像移動(dòng)范圍會(huì)比較小。否則進(jìn)入步驟(3)和步驟(4)繼續(xù)調(diào)用原來(lái)的FLANN算法搜索剩余的特征點(diǎn)。
(3)在進(jìn)行FLANN算法匹配之前,先對(duì)特征點(diǎn)的跡符號(hào)歸類,以進(jìn)一步篩選配對(duì)點(diǎn),減少配對(duì)計(jì)算量。判斷兩個(gè)特征點(diǎn)的跡符號(hào)是否相同,若符號(hào)相同再進(jìn)行下一步,否則跳過(guò)歐氏距離計(jì)算直接判為不同點(diǎn),如式(5)所示
(5)
(4)FLANN算法的核心是計(jì)算兩特征點(diǎn)的歐氏距離。通過(guò)判斷距離某SURF特征點(diǎn)最小歐氏距離和次小歐氏距離的比值是否低于某閾值,來(lái)篩選該特征點(diǎn)是否存在唯一的匹配點(diǎn)??赏ㄟ^(guò)式(6)進(jìn)一步篩選特征點(diǎn)匹配對(duì)
(6)
式中:Dpq為距離特征點(diǎn)p的最小歐氏距離,Dpk為距離特征點(diǎn)p的次小歐氏距離。T為比率閾值,本文經(jīng)過(guò)多次實(shí)驗(yàn)得出T=0.6最為合適。
使用改進(jìn)的FLANN算法進(jìn)行特征點(diǎn)匹配時(shí),只要視頻畫面不是高速移動(dòng),該算法都可以找到特征點(diǎn)對(duì)應(yīng)的配對(duì)點(diǎn)。高速移動(dòng)也會(huì)出現(xiàn)視頻丟幀或幀模糊的情況,這種情況也無(wú)法找到相應(yīng)的配對(duì)點(diǎn)。
本文用于匹配的三維模型是實(shí)際患者的三維骨骼模型,是由醫(yī)學(xué)圖像DICOM序列經(jīng)過(guò)一系列的解析、處理后,通過(guò)Marching Cubes[11]面繪制算法構(gòu)成的,它可以反應(yīng)出患者的真實(shí)信息,為輔助醫(yī)師診斷提供更多的信息。
得到的三維模型結(jié)果由于其原點(diǎn)坐標(biāo)不在其中心位置,旋轉(zhuǎn)、平移等操作不繞其中心位置變化,人機(jī)交互性很差,因此在匹配初始化時(shí),首先加載三維模型,并對(duì)其坐標(biāo)初始化,使原點(diǎn)在其中心位置。初始化主要是將三維模型的每個(gè)三角形面片中心Ci與對(duì)應(yīng)的三角形面片的面積Si的乘積累加求和,再除以總的三角形面積的加和S便得到模型的中心C。如式(7)所示
(7)
然后將每個(gè)三角形面片的頂點(diǎn)坐標(biāo)減去中心位置C,得到三維模型新的坐標(biāo),即可在不改變?nèi)S模型的形狀、相對(duì)位置的情況下將其坐標(biāo)同一化。本文提出的算法是通過(guò)手動(dòng)選取初始特征點(diǎn),因此在初始化時(shí),首先要確定三維模型世界坐標(biāo)空間中的4個(gè)坐標(biāo)點(diǎn),然后在二維圖像中選取對(duì)應(yīng)的點(diǎn)才能做進(jìn)一步的目標(biāo)跟蹤。
在二維圖像與三維模型上選取了4組匹配的特征點(diǎn)后,經(jīng)過(guò)PNP問(wèn)題[12-14]的求解,可以得到三維模型世界空間坐標(biāo)系的旋轉(zhuǎn)矩陣R和平移矩陣t,即可在實(shí)時(shí)渲染三維模型時(shí)對(duì)目標(biāo)進(jìn)行相應(yīng)的旋轉(zhuǎn)和平移,最終在二維屏幕上表現(xiàn)出相應(yīng)的姿態(tài)。
三維模型的位姿估計(jì)會(huì)出現(xiàn)誤差,主要是來(lái)源于三維模型的初始化位置、二維圖像特征點(diǎn)的匹配跟蹤的誤差以及三維模型位姿求解誤差。三維模型的位姿估計(jì)結(jié)果是求得旋轉(zhuǎn)矩陣R和平移矩陣t,其旋轉(zhuǎn)誤差計(jì)算需要將旋轉(zhuǎn)矩陣R轉(zhuǎn)換為對(duì)應(yīng)的旋轉(zhuǎn)角度(θx,θy,θz),如式(8)所示
(8)
式中:rij是旋轉(zhuǎn)矩陣的第i行第j列的元素。然后按式(9)計(jì)算旋轉(zhuǎn)誤差ER和式(10)計(jì)算平移誤差Et
(9)
(10)
本文通過(guò)實(shí)驗(yàn)驗(yàn)證提出算法的穩(wěn)定性和快速性。為了模擬手術(shù)場(chǎng)景,實(shí)驗(yàn)所采用的三維模型是由軍區(qū)總醫(yī)院提供的脊柱CT經(jīng)三維重建得到的模型,并將對(duì)應(yīng)的三維模型3D打印出來(lái),用于替代手術(shù)中的患者。實(shí)驗(yàn)中使用的攝像機(jī)是鈺創(chuàng)免驅(qū)攝像頭驅(qū)動(dòng)2012版:分辨率是640*480,最大幀率:50 Hz,視頻編碼格式:YUY2/MJPG。實(shí)驗(yàn)的硬件環(huán)境為:CPU Intel(R)Core(TM)i5-3230M,主頻2.60 Ghz;內(nèi)存8.00 GB。軟件環(huán)境為:Microsoft Visual Studio 2013、Qt5.60。
為了驗(yàn)證結(jié)果,實(shí)驗(yàn)一共使用10組不同的人體脊柱三維模型來(lái)驗(yàn)證本文提出的算法。
5.1.1 實(shí)驗(yàn)數(shù)據(jù)
所使用的CT圖像序列是由廣州軍區(qū)總醫(yī)院提供的脊椎CT圖像序列,如表1所示,每個(gè)序列切片數(shù)量約為200~500張。部分CT切片效果如圖3所示。
表1 脊柱CT圖像序列數(shù)據(jù)
圖3 CT序列圖像
5.1.2 實(shí)驗(yàn)結(jié)果
三維模型由上一節(jié)所述的CT圖像序列,通過(guò)項(xiàng)目組開發(fā)平臺(tái)算法Marching Cubes面繪制算法構(gòu)成,結(jié)果如圖4所示。實(shí)際使用的三維模型是通過(guò)3D打印技術(shù)生成的三維模型。
圖4 三維重建平臺(tái)
使用本文提出的匹配算法對(duì)攝像機(jī)中的目標(biāo)進(jìn)行匹配跟蹤,并估計(jì)目標(biāo)的三維位姿,實(shí)時(shí)渲染三維模型。實(shí)驗(yàn)使用10組不同的三維模型驗(yàn)證本文提出的算法,部分效果如圖5所示。
圖5 現(xiàn)實(shí)場(chǎng)景目標(biāo)與三維模型的匹配效果
其中圖5(a)和圖5(c)是使用一個(gè)假的骨骼模型來(lái)模擬現(xiàn)實(shí)手術(shù)中的患者,與本實(shí)驗(yàn)室的一個(gè)數(shù)字三維模型進(jìn)行匹配,效果如圖5(b)和圖5(d)所示,可以實(shí)現(xiàn)匹配跟蹤效果。
而圖5(e)、圖5(g)、圖5(i)、圖5(k)的實(shí)際模型是通過(guò)項(xiàng)目組平臺(tái)生成的三維模型,然后將對(duì)應(yīng)的三維模型通過(guò)3D打印技術(shù)打印出來(lái),實(shí)際縮放尺寸均在133*100*200 mm上下浮動(dòng),材質(zhì)是光敏樹脂。將數(shù)字三維模型與對(duì)應(yīng)的實(shí)體模型用于驗(yàn)證該算法,其匹配效果分別如圖5(f)、圖5(h)、圖5(j)、圖5(l)所示。對(duì)比結(jié)果圖5中的每組圖像,可以發(fā)現(xiàn)數(shù)字三維模型與現(xiàn)實(shí)的模型匹配度非常高,實(shí)驗(yàn)結(jié)果表明了提出算法的有效性,具體的匹配定量分析將在5.5節(jié)分析。
在SURF特征的提取中,Hessian行列式閾值h是篩選特征點(diǎn)的主要依據(jù),h值越大,特征點(diǎn)的數(shù)量越少且越穩(wěn)定,魯棒性越好。但是當(dāng)特征點(diǎn)的數(shù)量太少時(shí),有可能會(huì)出現(xiàn)局部位置特征點(diǎn)較少或者沒(méi)有的情況,進(jìn)而導(dǎo)致較后面的幀圖像丟失該區(qū)域的匹配特征點(diǎn);而特征點(diǎn)數(shù)量太多則會(huì)影響匹配速度,降低視頻的幀率。本節(jié)針對(duì)不同的h值進(jìn)行多組實(shí)驗(yàn),取結(jié)果的平均值,見表2。根據(jù)表2的實(shí)驗(yàn)結(jié)果,畫出匹配的特征點(diǎn)個(gè)數(shù)與h值的關(guān)系以及匹配時(shí)間與匹配的特征點(diǎn)個(gè)數(shù)的關(guān)系曲線,如圖6、圖7所示。
表2 不同的Hessian行列式閾值的SURF特征點(diǎn)匹配結(jié)果
圖6 匹配的特征點(diǎn)個(gè)數(shù)與Hessian行列式閾值的關(guān)系
圖7 匹配時(shí)間與SURF特征點(diǎn)個(gè)數(shù)的關(guān)系
由表2可見,以及綜合圖6、圖7的實(shí)驗(yàn)結(jié)果,在理想情況下,特征點(diǎn)個(gè)數(shù)是隨著h值的增大而減少,而匹配時(shí)間也會(huì)隨著特征點(diǎn)個(gè)數(shù)的減少而降低。在本研究中既要保證穩(wěn)定性,也要保證快速性,因此在SURF特征點(diǎn)的個(gè)數(shù)要從具體實(shí)驗(yàn)中測(cè)試,來(lái)選擇適中的個(gè)數(shù)。
對(duì)比以上兩圖可以發(fā)現(xiàn),h值為2000和2500時(shí),特征點(diǎn)數(shù)量不多也不少,而且匹配速度也比較快。考慮到特征點(diǎn)的分布(圖8),h值為2500時(shí),部分區(qū)域的特征點(diǎn)非常稀疏,從穩(wěn)定性方面考慮,選擇最優(yōu)的h值為2000,在保證穩(wěn)定性的同時(shí)不失快速性。
圖8 不同的Hessian行列式閾值時(shí)SURF特征點(diǎn)的分布
通過(guò)特征點(diǎn)的最近鄰距離與次近鄰距離的比值來(lái)篩選錯(cuò)誤的匹配點(diǎn)對(duì)。為了選出最適合的閾值T,在實(shí)驗(yàn)中截取兩幀圖像,改變閾值T,分析不同的T值對(duì)匹配結(jié)果的影響。由于FLANN算法匹配的特征點(diǎn)對(duì)比較多,難以一一驗(yàn)證每組配對(duì)點(diǎn)是否正確匹配,故通過(guò)特征點(diǎn)配對(duì)連線效果圖觀察有無(wú)錯(cuò)誤配對(duì)特征點(diǎn),來(lái)判斷是否最優(yōu)的T值。配對(duì)效果如圖9所示。
圖9 不同的閾值T的特征點(diǎn)匹配連線效果
雖然無(wú)法直接統(tǒng)計(jì)特征點(diǎn)的正確匹配率,但通過(guò)觀察特征點(diǎn)配對(duì)連線圖,可以發(fā)現(xiàn)隨著T值減小錯(cuò)誤的匹配對(duì)逐漸減少。當(dāng)T=0.7時(shí)還存在少數(shù)的錯(cuò)誤配對(duì),T=0.6時(shí)已無(wú)錯(cuò)誤配對(duì),T小于0.6時(shí)配對(duì)的特征點(diǎn)數(shù)逐漸減少。在T=0.6時(shí),使用不同的實(shí)體模型進(jìn)行特征點(diǎn)匹配,也無(wú)錯(cuò)誤的特征點(diǎn)匹配,其效果如圖10所示。因此,在確保準(zhǔn)確配對(duì)時(shí)T=0.6是最優(yōu)的閾值。
圖10 不同模型的特征點(diǎn)匹配連線效果
為了驗(yàn)證本文改進(jìn)的FLANN算法的有效性及快速性,在實(shí)驗(yàn)中用SURF特征點(diǎn)的匹配時(shí)間和匹配成功率作為匹配評(píng)估指標(biāo),并且與前人改進(jìn)的算法做對(duì)比實(shí)驗(yàn)。在同一實(shí)驗(yàn)環(huán)境下,并采用相同的視頻圖像數(shù)據(jù),測(cè)試上述不同算法的性能指標(biāo)。實(shí)驗(yàn)中使用10組模型,每組模型使用攝像機(jī)連續(xù)截取100幀視頻圖像,測(cè)試得到結(jié)果并取平均值,見表3。
表3 不同的匹配算法的性能指標(biāo)
提出的算法與對(duì)比的算法都是先得到粗配對(duì)的結(jié)果,經(jīng)過(guò)算法篩選才得到正確的配對(duì),匹配成功率是通過(guò)最終成功配對(duì)的數(shù)量除以初配對(duì)的數(shù)量得到的。特征點(diǎn)對(duì)是否正確匹配是通過(guò)觀察它們的匹配連線圖來(lái)判斷的。
由表3可見,文獻(xiàn)[7]中算法的FLANN算法是直接通過(guò)最近鄰與次近鄰的比值來(lái)篩選最佳匹配特征點(diǎn),特征點(diǎn)配對(duì)時(shí)進(jìn)行全局特征點(diǎn)匹配,需要配對(duì)的特征點(diǎn)總數(shù)比較多,導(dǎo)致匹配耗時(shí)較長(zhǎng),且匹配正確度不高;而文獻(xiàn)[15]算法使用RANSAC策略來(lái)剔除無(wú)效的特征點(diǎn),雖提高了匹配正確度,但找出最佳的RANSAC模型需要進(jìn)行多次迭代,導(dǎo)致匹配耗時(shí)更長(zhǎng)。本文提出的改進(jìn)FLANN算法,首先選取待匹配的局部區(qū)域(如圖11每個(gè)圖的左圖),然后根據(jù)上一次匹配的結(jié)果計(jì)算出兩幀之間的映射關(guān)系,找出配對(duì)特征點(diǎn)的預(yù)測(cè)區(qū)域,最后在預(yù)測(cè)的局部區(qū)域搜索匹配特征點(diǎn),因此減少大量的無(wú)用特征點(diǎn)匹配,比前兩者的匹配速度快,而且也有較高的匹配成功率。實(shí)驗(yàn)結(jié)果表明了本文改進(jìn)的FLANN算法對(duì)視頻圖像匹配的快速性。
圖11 改進(jìn)的FLANN算法匹配
為了進(jìn)一步驗(yàn)證提出算法的準(zhǔn)確性,通過(guò)三維模型位姿估計(jì)的誤差來(lái)評(píng)估,采用10組不同的三維模型(數(shù)字三維模型與打印的三維模型,部分如圖5(e)、5(g)、5(i)、5(k)所示),在實(shí)驗(yàn)室中測(cè)量模型的真實(shí)旋轉(zhuǎn)角度與平移量的平均值,通過(guò)式(9)、式(10)來(lái)計(jì)算三維模型位姿估計(jì)的誤差,結(jié)果如圖12所示。由于是手工測(cè)量實(shí)際的旋轉(zhuǎn)平移量,其旋轉(zhuǎn)角度的測(cè)量精度是±1°,平移精度是5 mm,取多個(gè)測(cè)量值的平均值作為結(jié)果。
由圖12、圖13可見,位姿估計(jì)的誤差確實(shí)存在的,但其誤差相對(duì)三維模型的尺寸來(lái)說(shuō)影響不大,最終的視覺(jué)效果(圖5)在可控制的范圍內(nèi)。減少誤差主要從以下幾方面考慮:①初始化選點(diǎn)時(shí),二維圖像目標(biāo)要與三維模型準(zhǔn)確對(duì)應(yīng);②盡量保持環(huán)境光線明亮,提高特征點(diǎn)匹配率;③平穩(wěn)移動(dòng)攝像機(jī),保證不丟失目標(biāo);④提高攝像機(jī)的分辨率,提高特征點(diǎn)描述符的辨識(shí)度。
圖12 位姿估計(jì)的角度誤差
圖13 位姿估計(jì)的平移量誤差
本文針對(duì)視頻圖像匹配提出了基于SURF特征點(diǎn)的改進(jìn)FLANN算法,該算法是基于上一幀的匹配結(jié)果,利用RANSAC算法的改進(jìn)FLANN匹配算法,先找到特征點(diǎn)匹配的預(yù)測(cè)區(qū)域,然后在預(yù)測(cè)區(qū)域進(jìn)行特征點(diǎn)搜索,避免了大量無(wú)用特征點(diǎn)的匹配,從而提高匹配效率。實(shí)驗(yàn)結(jié)果表明,本文提出的算法對(duì)視頻圖像匹配的穩(wěn)定性及快速性。目前該算法在目標(biāo)低速移動(dòng)的視頻匹配有良好的表現(xiàn),下一步的研究主要進(jìn)一步優(yōu)化提出的算法,并將該算法應(yīng)用到快速移動(dòng)的視頻圖像中。