本發(fā)明涉及計(jì)算器視覺效果領(lǐng)域,具體涉及一種圖像追蹤方法及應(yīng)用該方法的擴(kuò)增實(shí)境實(shí)現(xiàn)方法。
背景技術(shù):
擴(kuò)增實(shí)境技術(shù)即AR,全稱為Augmented Reality,其將虛擬世界的視效、音效及空間信息等信息整合至真實(shí)環(huán)境信息的技術(shù),擴(kuò)增實(shí)境技術(shù)不僅展現(xiàn)真實(shí)環(huán)境的信息,亦同時(shí)將虛擬的信息顯示出來(lái),藉由兩種信息相互補(bǔ)充、迭加,藉此讓使用者可獲得更豐富的感知信息,通常,搭載擴(kuò)增實(shí)境技術(shù)的電子裝置可透過(guò)配置于其上的攝像鏡頭捕捉真實(shí)環(huán)境的影像,并實(shí)時(shí)地計(jì)算所捕捉影像的位置、角度,同時(shí)加上相應(yīng)虛擬圖像,其目的是在顯示屏幕上把虛擬世界信息套在現(xiàn)實(shí)環(huán)境信息中,讓用戶透過(guò)所捕捉的影像與虛擬世界的信息進(jìn)行互動(dòng)。
現(xiàn)今擴(kuò)增實(shí)境技術(shù)主要應(yīng)用于智能手機(jī)、平板計(jì)算機(jī)等移動(dòng)裝置,近年來(lái)由于虛擬現(xiàn)實(shí)(Virtual Reality,VR)技術(shù)的發(fā)展,也開始將擴(kuò)增實(shí)境技術(shù)應(yīng)用于智能頭盔、智能眼鏡等穿戴式設(shè)備上。透過(guò)3D圖像動(dòng)畫的渲染,多媒體視頻、音頻的播放,擴(kuò)增實(shí)境技術(shù)被廣泛地應(yīng)用于電玩游戲、媒體傳播及教育等領(lǐng)域。
擴(kuò)增實(shí)境技術(shù)利用虛擬特效增強(qiáng)真實(shí)環(huán)境中的場(chǎng)景,將需要被展示或被突顯的目標(biāo)事物更加生動(dòng)且具體,帶給用戶強(qiáng)烈鮮明的視覺效果?,F(xiàn)有的擴(kuò)增現(xiàn)實(shí)應(yīng)用是以一張有豐富細(xì)節(jié)的圖像作為標(biāo)志物,透過(guò)顯示屏幕在圖像上渲染出真實(shí)生動(dòng)的三維模型。其圖像追蹤是基于模板識(shí)別匹配的算法,其精度只達(dá)到像素即整數(shù)級(jí)別。當(dāng)用預(yù)測(cè)的2D-3D位姿矩陣即浮點(diǎn)型元素作用在該像素點(diǎn)后,得到的結(jié)果將被還原成整數(shù)級(jí)。因此造成了點(diǎn)在小范圍內(nèi)的誤差,進(jìn)而影響當(dāng)前幀計(jì)算2D-3D位姿矩陣的結(jié)果。其視覺效果便是在虛擬三維模型隨著標(biāo)志物的運(yùn)動(dòng)而運(yùn)動(dòng)時(shí),虛擬三維模型會(huì)出現(xiàn)在畫面中抖動(dòng)或者運(yùn)動(dòng)反應(yīng)滯后于標(biāo)志物的情況。該現(xiàn)象會(huì)影響擴(kuò)增實(shí)境特效的展示,影響用戶的視覺體驗(yàn)。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提供一種圖像追蹤方法及應(yīng)用該方法的擴(kuò)增實(shí)境實(shí)現(xiàn)方法,解決了畫面抖動(dòng)和運(yùn)動(dòng)反應(yīng)滯后于標(biāo)志物的情況。
本發(fā)明通過(guò)下述技術(shù)方案實(shí)現(xiàn):
一種圖像追蹤方法,包括以下步驟:
A1、獲取目標(biāo)標(biāo)志物;
A2、計(jì)算目標(biāo)標(biāo)志物的初始位姿矩陣;
A3、讀入目標(biāo)標(biāo)志物的下一幀數(shù)據(jù),利用模板匹配、馬爾可夫模型運(yùn)動(dòng)狀態(tài)預(yù)測(cè)、卡爾曼濾波算法的方法進(jìn)入追蹤執(zhí)行線程,以確定新的位姿矩陣;
A4、根據(jù)新的位姿矩陣對(duì)圖像進(jìn)行相應(yīng)的位置變換;
A5、采用A3至A4的步驟直至目標(biāo)標(biāo)志物消失。
本方法在現(xiàn)有的圖像追蹤方法上做了改進(jìn),利用模板匹配、馬爾可夫模型運(yùn)動(dòng)狀態(tài)預(yù)測(cè)、卡爾曼濾波算法的方法追蹤執(zhí)行線程,有效的解決畫面抖動(dòng)和運(yùn)動(dòng)反應(yīng)滯后于標(biāo)志物的情況。
一種基于圖像追蹤的擴(kuò)增實(shí)境實(shí)現(xiàn)方法,包括以下步驟:
1)、生成目標(biāo)標(biāo)志物;
2)、初始化擴(kuò)增實(shí)境系統(tǒng);
3)、獲取真實(shí)場(chǎng)景圖像;
4)、檢測(cè)并匹配目標(biāo)標(biāo)志物,獲取目標(biāo)標(biāo)志物的初始位姿矩陣;
5)、渲染3D引擎動(dòng)畫特效;
6)、采用模板匹配、馬爾可夫模型運(yùn)動(dòng)狀態(tài)預(yù)測(cè)、卡爾曼濾波算法的方法開始進(jìn)入追蹤執(zhí)行線程,確定目標(biāo)標(biāo)志物新的位姿矩陣;
7)、根據(jù)新的位姿矩陣更新擴(kuò)增實(shí)境動(dòng)畫特效;
8)、重復(fù)5)至7)直至目標(biāo)標(biāo)志物在屏幕中消失、重新獲取真實(shí)場(chǎng)景圖像或擴(kuò)增實(shí)境系統(tǒng)停止運(yùn)作。
進(jìn)一步的,采用模板匹配的方法具體為:擴(kuò)增實(shí)境系統(tǒng)根據(jù)上一幀的位姿矩陣將跟蹤組的點(diǎn)投影至屏幕上,在點(diǎn)附近的一定范圍內(nèi)做模板匹配,譬如該點(diǎn)15*15像素的正方形區(qū)域,判斷模板的匹配由模板所有像素值的歸一化互相關(guān)系數(shù)決定。
進(jìn)一步的,采用卡爾曼濾波算法的方法具體為:對(duì)之前的數(shù)幀位姿矩陣和當(dāng)前幀的位姿矩陣做濾波處理,對(duì)之前的數(shù)幀位姿矩陣進(jìn)行加權(quán),之后對(duì)當(dāng)前幀求得的新的位姿矩陣做最優(yōu)化估計(jì)處理。
進(jìn)一步的,采用馬爾可夫模型運(yùn)動(dòng)狀態(tài)預(yù)測(cè)的方法具體為:
預(yù)測(cè)目標(biāo)標(biāo)志物的運(yùn)動(dòng)狀態(tài);
根據(jù)運(yùn)動(dòng)狀態(tài)實(shí)時(shí)調(diào)整濾波參數(shù)。
進(jìn)一步的,預(yù)測(cè)目標(biāo)標(biāo)志物的運(yùn)動(dòng)狀態(tài)的具體方法為:
跟蹤組的中點(diǎn)集通過(guò)模板匹配的方式配對(duì)后,計(jì)算點(diǎn)集中每個(gè)點(diǎn)在當(dāng)前幀的坐標(biāo)與前一幀的坐標(biāo)距離,根據(jù)該距離對(duì)運(yùn)動(dòng)狀態(tài)進(jìn)行判斷。
生成目標(biāo)標(biāo)志物的方法包括:
選取圖像;
運(yùn)用線性插值的方法對(duì)圖像進(jìn)行不同尺度的縮小,建立圖層塔,使增強(qiáng)現(xiàn)實(shí)系統(tǒng)可以匹配到攝像頭獲取的圖像中多種尺寸的標(biāo)志物;
生成跟蹤組的點(diǎn);
生成匹配組的特征點(diǎn)及描述子。
本發(fā)明與現(xiàn)有技術(shù)相比,具有如下的優(yōu)點(diǎn)和有益效果:
1、本發(fā)明的圖像追蹤方法采用模板匹配、馬爾可夫模型運(yùn)動(dòng)狀態(tài)預(yù)測(cè)、卡爾曼濾波算法的方法追蹤執(zhí)行線程,有效的解決畫面抖動(dòng)和運(yùn)動(dòng)反應(yīng)滯后于標(biāo)志物的情況。
2、本發(fā)明將上述圖像追蹤方法應(yīng)用到擴(kuò)增實(shí)境,有效的解決了虛擬三維模型隨著標(biāo)志物在運(yùn)動(dòng)時(shí)出現(xiàn)在畫面中抖動(dòng)或者運(yùn)動(dòng)反應(yīng)滯后于標(biāo)志物的情況,增強(qiáng)了用戶體驗(yàn)。
附圖說(shuō)明
此處所說(shuō)明的附圖用來(lái)提供對(duì)本發(fā)明實(shí)施例的進(jìn)一步理解,構(gòu)成本申請(qǐng)的一部分,并不構(gòu)成對(duì)本發(fā)明實(shí)施例的限定。在附圖中:
圖1為目標(biāo)點(diǎn)在該狀態(tài)下下一幀可能進(jìn)入的運(yùn)動(dòng)狀態(tài)圖。
具體實(shí)施方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,下面結(jié)合實(shí)施例和附圖,對(duì)本發(fā)明作進(jìn)一步的詳細(xì)說(shuō)明,本發(fā)明的示意性實(shí)施方式及其說(shuō)明僅用于解釋本發(fā)明,并不作為對(duì)本發(fā)明的限定。
實(shí)施例1
一種圖像追蹤方法,包括以下步驟:
A1、獲取目標(biāo)標(biāo)志物;
A2、計(jì)算目標(biāo)標(biāo)志物的初始位姿矩陣;
A3、讀入目標(biāo)標(biāo)志物的下一幀數(shù)據(jù),利用模板匹配、馬爾可夫模型運(yùn)動(dòng)狀態(tài)預(yù)測(cè)、卡爾曼濾波算法的方法進(jìn)入追蹤執(zhí)行線程,以確定新的位姿矩陣;
A4、根據(jù)新的位姿矩陣對(duì)圖像進(jìn)行相應(yīng)的位置變換;
A5、采用A3至A4的步驟直至目標(biāo)標(biāo)志物消失。
本圖像追蹤方法可應(yīng)用到很多很多系統(tǒng)應(yīng)用中。下面以擴(kuò)增實(shí)境系統(tǒng)的應(yīng)用對(duì)本方法的詳細(xì)步驟進(jìn)行闡述。
實(shí)施例2
一種基于圖像追蹤的擴(kuò)增實(shí)境實(shí)現(xiàn)方法,包括以下步驟:
1)、生成目標(biāo)標(biāo)志物;
2)、初始化擴(kuò)增實(shí)境系統(tǒng);
3)、獲取真實(shí)場(chǎng)景圖像;
4)、檢測(cè)并匹配目標(biāo)標(biāo)志物,獲取目標(biāo)標(biāo)志物的初始位姿矩陣;
5)、渲染3D引擎動(dòng)畫特效;
6)、開啟追蹤執(zhí)行線程,確定目標(biāo)標(biāo)志物新的位姿矩陣;
7)、根據(jù)新的位姿矩陣更新擴(kuò)增實(shí)境動(dòng)畫特效;
8)、重復(fù)5)至7)直至目標(biāo)標(biāo)志物在屏幕中消失、重新獲取真實(shí)場(chǎng)景圖像或擴(kuò)增實(shí)境系統(tǒng)停止運(yùn)作。
具體的,步驟2)中,擴(kuò)增實(shí)境系統(tǒng)可以在帶有攝像頭的設(shè)備上實(shí)現(xiàn),譬如手機(jī)、平板計(jì)算機(jī)、智能眼鏡或頭盔等。初始化擴(kuò)增實(shí)境系統(tǒng)主要包括兩方面:1.攝像頭的校準(zhǔn)及初始化,用于獲取真實(shí)場(chǎng)景圖像,初始化攝像頭具體指將攝像頭的焦距和形變等內(nèi)部固有參數(shù)讀取到內(nèi)存中;2.擴(kuò)增實(shí)境系統(tǒng)讀取實(shí)現(xiàn)技術(shù)需要的預(yù)存好的本地?cái)?shù)據(jù),包括目標(biāo)標(biāo)志物文件,3D模型的信息。
步驟3)通過(guò)攝像頭獲取一個(gè)真實(shí)場(chǎng)景的圖像。
檢測(cè)圖像內(nèi)是否含有目標(biāo)標(biāo)志物,若有流程繼續(xù)進(jìn)行,否則重新獲取圖像與檢測(cè)。
建立目標(biāo)標(biāo)志物在攝像頭中的屏幕坐標(biāo)與目標(biāo)標(biāo)志物在真實(shí)場(chǎng)景中的位姿坐標(biāo)的2D-3D位姿矩陣,確定3D模型在屏幕中的擺放位置、大小,以及在每一維上的旋轉(zhuǎn)角度,然后用3D引擎畫出帶動(dòng)畫的3D模型。
將跟蹤組的點(diǎn)在真實(shí)場(chǎng)景中的位姿坐標(biāo)根據(jù)2D-3D位姿矩陣投影到屏幕上的二維坐標(biāo)系。
采用模板匹配、馬爾可夫模型運(yùn)動(dòng)狀態(tài)預(yù)測(cè)、卡爾曼濾波算法的方法開始追蹤執(zhí)行線程,確定并優(yōu)化目標(biāo)標(biāo)志物新的位姿矩陣。
具體的,采用卡爾曼濾波算法的方法具體為:對(duì)之前的數(shù)幀位姿矩陣進(jìn)行加權(quán),之后對(duì)當(dāng)前幀求得的新的位姿矩陣做最優(yōu)化估計(jì)處理。還要設(shè)置一個(gè)鋁箔參數(shù),對(duì)之前的數(shù)幀位姿矩陣和當(dāng)前幀的位姿矩陣做濾波處理。該參數(shù)較大時(shí),越靠近當(dāng)前幀的2D-3D位姿矩陣獲得的權(quán)重越大,造成的結(jié)果是當(dāng)前幀的2D-3D位姿矩陣更新迅速,但點(diǎn)的位置存在像素級(jí)的偏差,反映在屏幕上就是擴(kuò)增實(shí)境特效出現(xiàn)抖動(dòng)。反之該參數(shù)越小,權(quán)重較平均分布在之前數(shù)幀的2D-3D位姿矩陣上,造成的結(jié)果是當(dāng)前幀的2D-3D位姿矩陣需要一小段的時(shí)間回歸至最優(yōu)解,反映在屏幕上就是擴(kuò)增實(shí)境特效的運(yùn)動(dòng)狀態(tài)滯后于圖像變化。當(dāng)標(biāo)志物快速運(yùn)動(dòng)時(shí),抖動(dòng)在視覺上可以忽略,但需要大濾波參數(shù)使得擴(kuò)增現(xiàn)實(shí)特效跟上標(biāo)志物的運(yùn)動(dòng)狀態(tài)。當(dāng)標(biāo)志物低速運(yùn)動(dòng)或靜止時(shí),滯后效果不明顯,但需要小濾波參數(shù)使得擴(kuò)增現(xiàn)實(shí)特效顯示更加平穩(wěn)不抖動(dòng)。故需要根據(jù)目標(biāo)標(biāo)志物的運(yùn)動(dòng)狀態(tài)對(duì)濾波參數(shù)進(jìn)行調(diào)整,使得擴(kuò)增實(shí)境特效在視覺上的抖動(dòng)與滯后降到最低。。
具體的,對(duì)濾波參數(shù)進(jìn)行調(diào)整的方法采用馬爾可夫模型運(yùn)動(dòng)狀態(tài)預(yù)測(cè)的方法。首先,預(yù)測(cè)目標(biāo)標(biāo)志物的運(yùn)動(dòng)狀態(tài);再根據(jù)運(yùn)動(dòng)狀態(tài)實(shí)時(shí)調(diào)整濾波參數(shù)。物體的運(yùn)動(dòng)方式可能性分為四種狀態(tài),靜止、加速、最大速度、減速,在實(shí)現(xiàn)中可分別用序號(hào)0、1、2、3表示。預(yù)測(cè)目標(biāo)標(biāo)志物在當(dāng)前幀的運(yùn)動(dòng)狀態(tài)方法可采用:跟蹤組的中點(diǎn)集通過(guò)范本匹配的方式配對(duì)后,計(jì)算點(diǎn)集中每個(gè)點(diǎn)在當(dāng)前幀的坐標(biāo)與前一幀的坐標(biāo)距離,將得到距離進(jìn)行投票,介于0和閾值一,則計(jì)入運(yùn)動(dòng)狀態(tài)為0的集合,即靜止;距離介于閾值一與閾值二,則計(jì)入運(yùn)動(dòng)狀態(tài)為1或3的集合;大于閾值二則計(jì)入運(yùn)動(dòng)狀態(tài)為2的集合。取被計(jì)入次數(shù)最多的集合為標(biāo)志物的當(dāng)前運(yùn)動(dòng)狀態(tài)。取近五幀之間四個(gè)連續(xù)狀態(tài)的組合,可以對(duì)不同的組合進(jìn)行標(biāo)志物整體運(yùn)動(dòng)性的判斷與預(yù)測(cè),賦予當(dāng)前幀一個(gè)合適的濾波算法參數(shù)。
見圖1,點(diǎn)箭頭表示點(diǎn)在該狀態(tài)下下一幀可能進(jìn)入的運(yùn)動(dòng)狀態(tài)。比如點(diǎn)在0狀態(tài)下,下一幀可能進(jìn)入的狀態(tài)為0或者1。
假設(shè)前三幀與當(dāng)前幀的標(biāo)志物狀態(tài)組合為0000,則標(biāo)志物的運(yùn)動(dòng)狀態(tài)估計(jì)為靜止,那么就需要設(shè)置一個(gè)較小的濾波器參數(shù)來(lái)防止3D模型抖動(dòng)。
假設(shè)前三幀與當(dāng)前幀的標(biāo)志物狀態(tài)組合為2222,則標(biāo)志物的運(yùn)動(dòng)狀態(tài)估計(jì)為高速運(yùn)動(dòng),那么就需要設(shè)置一個(gè)較大的濾波器參數(shù)來(lái)防止3D模型運(yùn)動(dòng)滯后。
該算法對(duì)不同的數(shù)字組合都設(shè)定了對(duì)應(yīng)的濾波器參數(shù)來(lái)保證擴(kuò)增現(xiàn)實(shí)特效的顯示效果,同時(shí),由于只考慮了四幀圖像的狀態(tài),因此產(chǎn)生的噪聲忽略不計(jì),比如2121這種狀態(tài)反復(fù)的情況。
實(shí)施例3
本實(shí)施例在實(shí)施例2的基礎(chǔ)上對(duì)步驟1)進(jìn)行了細(xì)化,具體包括以下步驟:
選取一張圖像,為了達(dá)到穩(wěn)定的增強(qiáng)現(xiàn)實(shí)效果,圖像的像素?cái)?shù)量不能過(guò)低,圖像不能過(guò)于簡(jiǎn)單和單調(diào),理想情況是有足夠多的特征點(diǎn);
運(yùn)用線性插值的方法對(duì)圖像進(jìn)行不同尺度的縮小,建立圖層塔,使增強(qiáng)現(xiàn)實(shí)系統(tǒng)可以匹配到攝像頭獲取的圖像中多種尺寸的標(biāo)志物;
生成跟蹤組的點(diǎn),先對(duì)圖像提取角點(diǎn),之后再對(duì)提取出來(lái)的角點(diǎn)做x,y方向上梯度的計(jì)算,留下梯度最大的20%數(shù)量的角點(diǎn)作為跟蹤組的點(diǎn);
生成匹配組的特征點(diǎn)及描述子,圖像做特征點(diǎn)提取及生成對(duì)應(yīng)的描述子,用于檢測(cè)和匹配。
以上所述的具體實(shí)施方式,對(duì)本發(fā)明的目的、技術(shù)方案和有益效果進(jìn)行了進(jìn)一步詳細(xì)說(shuō)明,所應(yīng)理解的是,以上所述僅為本發(fā)明的具體實(shí)施方式而已,并不用于限定本發(fā)明的保護(hù)范圍,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。