專利名稱:帶有現(xiàn)實環(huán)境估算的增強現(xiàn)實的方法及其系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于增強現(xiàn)實技術(shù)領(lǐng)域,特別涉及增強現(xiàn)實的方法及系統(tǒng),應(yīng)用于虛擬現(xiàn)實與計 算機視覺領(lǐng)域,利用模式識別與虛擬現(xiàn)實技術(shù)對視頻采集到的現(xiàn)實圖像幀起到添加內(nèi)容、增 強效果的作用。
背景技術(shù):
增強現(xiàn)實(AR, Augmented Reality)是利用虛擬物體對真實場景進行現(xiàn)實增強的技術(shù)。增 強現(xiàn)實基于攝像頭等采集器件采集到的真實物理環(huán)境,通過將文本、二維圖像、三維模型等 虛擬生成的信息標注在顯示屏所顯示的真實物理環(huán)境中的物體上,從而實現(xiàn)對用戶身處的現(xiàn) 實物理環(huán)境的注釋、說明,或者增強、強調(diào)現(xiàn)實環(huán)境的某些效果。比如用戶戴上專用的增強 現(xiàn)實顯示眼鏡,觀察某個復(fù)雜機械時,他不僅可以看到現(xiàn)實世界中存在的機械結(jié)構(gòu)本身,還 可以同時看到通過增強現(xiàn)實技術(shù)附加的多媒體信息如機械各個部分的介紹等。增強現(xiàn)實技術(shù) 給用戶一種虛擬對象與現(xiàn)實環(huán)境兩相融合的體驗,它能有效地幫助用戶認知周圍環(huán)境,增添 周圍環(huán)境的信息,實現(xiàn)用戶與周圍環(huán)境的交互。
"ARToolkit"是一種可用于增強現(xiàn)實的開源軟件包。ARtoolkit使用計算機視覺技術(shù)來 計算真實攝像場景與標記符號之間的相對位置關(guān)系。ARToolkit的主要算法流程為輸入實時 捕獲的視頻圖像幀,通過可設(shè)定的閾值將其轉(zhuǎn)換成黑白二值圖;搜索場景中標志物的黑框顏 色所對應(yīng)的連通區(qū)域,作為標志物黑框的候選對象;得到各連通區(qū)域的輪廓線,若能提取出 四條相交的直邊,則作為可能的標志物;利用四條直邊找到的角特征,進行形變矯正,并計 算出標志物變換成前視圖的一個單應(yīng)性矩陣(homography)變換;利用該單應(yīng)性矩陣在標志物 的黑框內(nèi)部區(qū)域進行采樣,采樣模板一般為16X16,共得到256個采樣點構(gòu)成一個采樣向量; 將這個采樣向量與預(yù)先存放在標志物數(shù)據(jù)庫的標志物逐個進行比較,計算標志物上相應(yīng)點構(gòu) 成的向量與采樣向量的歸一化向量點積,得到一個可信度值;如果可信度值低于一個閾值, 就當作是未匹配成功,否則就是匹配成功。根據(jù)匹配成功的標志物查找到相對應(yīng)的虛擬物體, 將虛擬物體按相機與標志物的當前相對方位進行變換,使之與標志物相吻合。
現(xiàn)有技術(shù)中,有基于ARToolKit包與二維可視編碼技術(shù)實現(xiàn)三維增強現(xiàn)實的方法和系統(tǒng), 用以實現(xiàn)虛實物體之間映射關(guān)系的建立。該系統(tǒng)具體包括視頻幀捕獲模塊、視頻跟蹤模塊、 虛擬圖形系統(tǒng)模塊、虛實合成模塊以及視頻顯示模塊,各個部分功能具體為A、 視頻幀捕獲模塊,用于捕獲二維可視編碼標志物的視頻幀,并將該視頻幀發(fā)送給視頻 跟蹤模塊;
B、 視頻跟蹤模塊,用于計算處理獲得的標志物視頻幀,根據(jù)計算處理結(jié)果獲得從標志物 坐標系到相機坐標系的變換矩陣;通過采樣二維可視編碼中編碼圖案,獲得標志物編碼值, 檢索出與該編碼值對應(yīng)的三維模型,并根據(jù)該三維模型的頂點數(shù)組與變換矩陣的乘積,得到 該三維圖形在相機坐標系下的坐標數(shù)組。
C、 虛擬圖形系統(tǒng)模塊,用于根據(jù)獲得的三維圖形在相機坐標系下的坐標數(shù)組繪制對應(yīng)的 三維圖形,并將該三維圖形存儲在幀緩存中,生成虛擬圖形幀。
D、 虛實合成模塊,用于將獲得的虛擬圖形幀與二維可視編碼標志物的視頻幀進行合成, 得到合成視頻幀。
該技術(shù)方案的主要特點為
1、 在現(xiàn)有的三維增強現(xiàn)實技術(shù)中引入規(guī)范的二維可視化編碼圖像作為跟蹤所用標志物, 以代替現(xiàn)有技術(shù)中ARToolkit采用的任意形狀的標志物,從而提高了 ARToolkit中的跟蹤算 法速度以及可靠性、并且加快了模式匹配處理速度。
2、 在現(xiàn)有的二維可視化編碼基礎(chǔ)上引入對三維相對變換信息的計算與提取,檢索出相應(yīng) 的三維媒體信息并且三維注冊合成的增強現(xiàn)實技術(shù),該技術(shù)可識別出二維可視編碼,還能將 得到的其對應(yīng)的三維空間位置,通過編碼檢索到的三維模型實時地增強顯示在編碼圖形上, 進而實現(xiàn)增強現(xiàn)實功能。
3、 主要用于在計算資源相對有限的手持移動計算設(shè)備上實施增強現(xiàn)實技術(shù),拓展增強 現(xiàn)實技術(shù)的應(yīng)用領(lǐng)域。
其缺點是,對標志物的要求較高,要求標志物形態(tài)簡單,形狀邊沿與背景色的反差非常 清晰明顯,并且必須有四條直邊組成的四邊形邊框作為清晰邊界,否則會影響識別效果。
發(fā)明內(nèi)容
本發(fā)明的目的在于,提供一種帶有現(xiàn)實環(huán)境估算的增強現(xiàn)實的方法及其系統(tǒng),通過判斷特 定標志物區(qū)域是否被覆蓋的方式改變虛擬物體與真實場景的合成效果,增強與用戶的交互性。 本發(fā)明采用如下技術(shù)方案
一種帶有現(xiàn)實環(huán)境估算的增強現(xiàn)實的方法,包括以下步驟 步驟10)、初始化系統(tǒng)環(huán)境、配置系統(tǒng)參數(shù);
步驟20)、選擇或提取一幅標志物正視圖,對標志物進行訓練,獲得訓練數(shù)據(jù);步驟30)、計算標志物圖像的相機內(nèi)部參數(shù)并進行校正;
步驟40)、對攝像頭拍攝到的真實環(huán)境中的每一幀,利用步驟30)中的數(shù)據(jù)進行校正,再 基于步驟20)中的訓練數(shù)據(jù)識別標志物,若含有標志物,則計算該標志物在攝像頭坐標系中 的相對位置矩陣;
步驟50)、通過識別出的標志物尋找對應(yīng)虛擬模型,利用提取出的標志物位置矩陣確定模 型的位置;
步驟60)、在真實拍攝的視頻幀上根據(jù)計算出的相對位置繪制虛擬模型; 步驟70)、通過對己識別標志物和標志物正視圖的亮度進行比對來估算標志物所處環(huán)境的 光照信息,進行現(xiàn)實環(huán)境光源估算,估算出現(xiàn)實光源的位置,生成陰影。 進一步地,所述步驟70)具體包括以下步驟 步驟71)、將標志物平面轉(zhuǎn)向各個方向,獲取識別出標志物的幀; 步驟72)、保存該幀中當前標志物的亮度及法向量坐標值;
步驟73)、判斷識別到標志物并保存亮度信息的幀的總數(shù)是否達到一定數(shù)目,若達到,則 進入步驟74),若未達到,轉(zhuǎn)步驟71);
步驟74)、找到滿足一定數(shù)目的幀,這些幀的標志物法向量指向同一個方向,并且其亮度 值均值為最大,將這些幀的法向量坐標的均值作為光源方向的估算位置;
步驟75)、根據(jù)光源估算的位置,生成陰影。
進一步地,所述步驟20)具體包括以下步驟
步驟21)、將彩色圖轉(zhuǎn)化為灰度步驟22)、初步提取特征點,具體提取特征點的方法如下-
對于圖片上的每個象素m,若以ra為中點、圍繞著m的八個象素中的任意兩個滿足以下兩 個條件,則排除這個像素m:
a、 這兩個像素處于以ra為中點的這圈像素的某條直徑兩端,
b、 這兩個像素的灰度值均與m接近;
步驟23)、把灰度圖進行正視圖視角變換,在變換后的視圖中提取特征點,用來得到更為 穩(wěn)定的特征點;
步驟24)、將所有經(jīng)不同角度的透視變換的正視圖中的同一個特征點取出,構(gòu)成一個"特 定視點集合",得到N個"特定視點集合",每個"特定視點集合"對應(yīng)一個穩(wěn)定特征點; 步驟25)、構(gòu)建隨機樹用以特征點分類和識別。 進一步地,所述步驟24)中"特定視點集合"的構(gòu)成方法為
7將原始正視圖分別繞x軸、y軸按(-;r, +;r)的范圍旋轉(zhuǎn)進行透視變換,將繞x軸的轉(zhuǎn) 向均分為Lx個角度,將繞y軸的轉(zhuǎn)向均分為Ly個角度,得L=LxXLy幅變換視圖,將所有變 換視圖中編號相同的特征點取出,得到N個集合V ={Vnl, v 2……vj, l《n《N,每個Vn就是對 應(yīng)一個特征點的"特定視點集合",該集合中的每個元素包含了在不同視角變換下同一特征點 的不同位置。
進一步地,所述步驟23)具體為
對于一幅給定的標志物的正視圖,用步驟22)中的方法提取出M個特征點,按特征點的 坐標位置順序編號,構(gòu)成一個特征點集合KHk" k2……kM},集合中每個元素表示相應(yīng)編號的 一個特征點;
對該標志物原始正視圖進行多個不同角度的透視變換,并給變換后的正視圖加上白噪聲, 之后再利用步驟22)中的方法提取變換后的視圖的特征點,再利用反變換將提取出的特征點 還原為相應(yīng)的正視圖特征點;統(tǒng)計多個經(jīng)過不同角度變換的視圖經(jīng)上述"變換-提取-還原" 后的特征點仍能找到原始正視圖相對應(yīng)特征點的概率,概率最高的N個點被確認為"穩(wěn)定" 的特征點,集合K的元素數(shù)由M減為N,即&0d, K2……M。
進一步地,所述步驟25)中構(gòu)建隨機樹用以特征點分類和識別,具體如下 隨機樹采用二叉樹結(jié)構(gòu),輸入的數(shù)據(jù)為32X32像素的面片,在訓練時將大量包含"特定 視點集合"中的特征點的面片輸入隨機樹,讓每個面片進入某一片樹葉,當所有的面片都進 入樹葉后,計算每片葉子對應(yīng)所有"穩(wěn)定"的特征點的概率分布,某片樹葉包含的概率分布 可由如下公式表示
其中,p代表32X32像素的一塊面片,Y 0 )是該面片所包含的特征點對應(yīng)的特征點標 號,ce{-l, 1, 2……N},其中-l表示不包含任何特征點的面片,l為隨機樹的編號,"代表
p面片投入第1棵樹所到達的那片樹葉; 為每個結(jié)點選取的判斷公式如下,
其中,/(/ ,附)表示面片P在雙點的亮度,m,,附2,附3,附4為面片p中隨機挑選的四個位置不 同像素。
進一步地,所述步驟40)具體包括以下步驟
如果/(>,》21)-^>,附2)^(/ ,附3)-/(/^4),進入左節(jié)點 其他 ,進入右節(jié)點將采集的一幀圖像分解為32X32像素的面片,將每片面片輸入步驟25)中構(gòu)建的不同的 隨機樹;
表示面片p所包含特征點經(jīng)估算得到的特征點標號,利用以下公式算得-
一 1 y(/ )-argmax/ cCp)-argmax丁 2尸,(/,w (R/O = c)
該公式是將面片p在不同樹中所到達的葉片的概率分布相加取平均值,得到一個平均概率 分布,將這個平均概率分布中概率最大的那個穩(wěn)定特征點的標號,作為面片p對應(yīng)的特征點
的標號;利用該公式建立新采集圖像特征點和原始正視圖特征點的對應(yīng)。 本發(fā)明還提供一種帶有現(xiàn)實環(huán)境估算的增強現(xiàn)實的方法,包括
視頻幀訓練模塊,用于選擇或提取一幅標志物正視圖,對標志物進行訓練,獲得訓練數(shù)據(jù); 視頻幀校正模塊,與所述視頻幀訓練模塊相連接,用于計算標志物圖像的相機內(nèi)部參數(shù)并 進行校正;
視頻幀捕獲模塊,與所述視頻幀訓練模塊和所述視頻幀校正模塊相連接,用于對攝像頭拍 攝到的真實環(huán)境中的每一幀,利用所述視頻幀校正模塊中的數(shù)據(jù)進行校正,再基于所述視頻 幀訓練模塊中的訓練數(shù)據(jù)識別標志物,若含有標志物,則計算該標志物在攝像頭坐標系中的 相對位置矩陣,并通過對已識別標志物和標志物正視圖的亮度進行比對來估算標志物所處環(huán) 境的光照信息;
虛實合成模塊,與視頻幀捕獲模塊相連接,用于通過識別出的標志物尋找對應(yīng)虛擬模型, 利用提取出的標志物位置矩陣確定模型的位置,在真實拍攝的視頻幀上根據(jù)計算出的相對位 置繪制虛擬模型,
現(xiàn)實環(huán)境光源估算模塊,與所述虛實合成模塊相連接,用于進行現(xiàn)實環(huán)境光源估算,根據(jù) 估算出的現(xiàn)實光源位置,生成陰影。
相對于已有的其他發(fā)明,如ARToolkit開發(fā)包與華為的系統(tǒng),本系統(tǒng)極大地減少了對標志 物的限制,這些限制主要包括以下幾條
(1) 、要求標志物色彩深而單一,與背景色反差大。
(2) 、標志物形態(tài)為簡單圖形。
(3) 、標志物四周有四邊形的清晰邊框作為識別的邊界。 而本系統(tǒng)所對應(yīng)標志物無需任何邊界,可截取任意二維圖像中包含一定紋理特征的任意四
邊形區(qū)域,主要面向真實環(huán)境中用攝像頭、照相機等攝取的含真實景物、具有照片特性的二維圖像,圖形內(nèi)容可以極為復(fù)雜。系統(tǒng)的這些特性極大地擴展了增強現(xiàn)實的使用范圍。
本系統(tǒng)可用于對地圖與復(fù)雜二維圖像進行標示,也可在任意二維圖像上合成三維模型,形 成立體、生動的效果。
并且通過現(xiàn)實環(huán)境光源估算模塊,估算出的現(xiàn)實光源位置,生成陰影,增添的效果的生動 性,進一步提高了用戶現(xiàn)實體驗。
以下結(jié)合附圖及實施例進一步說明本發(fā)明。
圖1為本發(fā)明基于圖像特征點提取與隨機樹分類的增強現(xiàn)實的系統(tǒng)實施例示意圖2為本發(fā)明帶有現(xiàn)實環(huán)境估算的增強現(xiàn)實的方法實施例流程圖3為本發(fā)明方法實施例中對標志物進行訓練的流程圖4為一頁書上特征點對應(yīng)的實際情況;
圖5為本發(fā)明實施例中現(xiàn)實環(huán)境光源估算步驟流程圖6為ShadowMap法生成陰影示意圖。
具體實施例方式
如圖1所示, 一種帶有現(xiàn)實環(huán)境估算的增強現(xiàn)實的系統(tǒng),包括
視頻幀訓練模塊,用于選擇或提取一幅標志物正視圖,對標志物進行訓練,獲得訓練數(shù)據(jù); 視頻幀校正模塊,與所述視頻幀訓練模塊相連接,用于計算標志物圖像的相機內(nèi)部參數(shù)并 進行校正;
視頻幀捕獲模塊,與所述視頻幀訓練模塊和所述視頻幀校正模塊相連接,用于對攝像頭拍 攝到的真實環(huán)境中的每一幀,利用所述視頻幀校正模塊中的數(shù)據(jù)進行校正,再基于所述視頻 幀訓練模塊中的訓練數(shù)據(jù)識別標志物,若含有標志物,則計算該標志物在攝像頭坐標系中的 相對位置矩陣,并通過對已識別標志物和標志物正視圖的亮度進行比對來估算標志物所處環(huán) 境的光照信息;
虛實合成模塊,與視頻幀捕獲模塊相連接,用于通過識別出的標志物尋找對應(yīng)虛擬模型, 利用提取出的標志物位置矩陣確定模型的位置,在真實拍攝的視頻幀上根據(jù)計算出的相對位 置繪制虛擬模型。
現(xiàn)實環(huán)境光源估算模塊,與所述虛實合成模塊相連接,用于進行現(xiàn)實環(huán)境光源估算,根據(jù)
10估算出的現(xiàn)實光源位置,生成陰影。
如圖2所示, 一種帶有現(xiàn)實環(huán)境估算的增強現(xiàn)實的方法,包括以下步驟
步驟IO)、初始化系統(tǒng)環(huán)境、配置系統(tǒng)參數(shù);主要包括搭建系統(tǒng)硬件平臺,設(shè)置能夠支持 二維和三維圖形的繪圖環(huán)境,分配圖像緩存空間,識別攝像頭等;
步驟20)、從文件中選擇一幅標志物正視圖的圖像文件或者從攝像頭中提取標志物正視 圖,對標志物進行訓練。訓練主要包括灰度處理與特征點處理等;
步驟30)、計算標志物圖像的內(nèi)參并進行校正。相機內(nèi)部參數(shù)是指攝像頭相機的焦距和形 變等內(nèi)部固有參數(shù),該參數(shù)確定了攝像頭相機的投影變換矩陣,它取決于相機本身的屬性, 所以對同一個相機來說其內(nèi)部參數(shù)是恒定不變的。本系統(tǒng)通過在多個不同角度拍攝標志物, 通過對不同角度的標志物與標志物正視圖的比對,計算相機的內(nèi)參并讀入系統(tǒng),用來對之后 虛實合成的每一幀圖形進行校正;
步驟40)、對攝像頭拍攝到的真實環(huán)境中的每一幀,利用步驟30)中的數(shù)據(jù)進行校正,再 基于步驟20)中的訓練數(shù)據(jù)識別標志物,若含有標志物,則計算該標志物在攝像頭坐標系中 的相對位置矩陣與光照等信息;
標志物在相機平面上成相的過程,相當于構(gòu)成標志物的每個象素點坐標從三維坐標系上變 換到相機坐標系上,然后投影到相機平面上形成標志物的二維圖像。這一變換可由相對位置 矩陣來表達。步驟40)即用來計算這一位置矩陣。之后通過對已識別標志物和標志物正視圖 的亮度進行比對來估算標志物所處環(huán)境的光照信息;
步驟50)、由識別出的標志物尋找對應(yīng)虛擬模型,利用提取出的標志物位置矩陣確定模型 的位置;
步驟60)、在真實拍攝的視頻幀上根據(jù)計算出的相對位置繪制虛擬模型,實現(xiàn)增強現(xiàn)實;
步驟70)、通過對己識別標志物和標志物正視圖的亮度進行比對來估算標志物所處環(huán)境的 光照信息,進行現(xiàn)實環(huán)境光源估算,估算出現(xiàn)實光源的位置,生成陰影。
本實施例中的光源估算是對標志物所在的現(xiàn)實環(huán)境中的光的方向與強度進行估算。該步 驟也可在訓練結(jié)束之后,識別與合成階段剛開始的n幀進行。實踐中n取100。在最開始的n 幀中采集標志物法向量指向各個不同方向時標志物的亮度值,經(jīng)統(tǒng)計得到亮度值最大的方向, 并將該方向作為光源的估算方向。所述步驟70)具體如圖5所示,包括以下步驟
步驟71)、將標志物平面轉(zhuǎn)向各個方向,獲取識別出標志物的幀;由于需要得到標志物朝 向各個不同方向時的表面亮度值,故在這個階段,要手動將標志物平面緩緩轉(zhuǎn)向各個方向, 并且速度要緩和,因為若是轉(zhuǎn)動過則快無法識別標志物,導致無法判斷亮度;步驟72)、保存該幀中當前標志物的亮度及法向量坐標值;
步驟73)、判斷識別到標志物并保存亮度信息的幀的總數(shù)是否達到一定數(shù)目,若達到,則 進入步驟74),若未達到,轉(zhuǎn)步驟71);
步驟74)、找到滿足一定數(shù)目的幀,這些幀的標志物法向量指向同一個方向,并且其亮度 值均值為最大,將這些幀的法向量坐標的均值作為光源方向的估算位置;
步驟75)、根據(jù)光源估算的位置,生成陰影,增添的效果的生動性。
其中,所述步驟75)中采用現(xiàn)有的ShadowMap法生成陰影。ShadowMap法是一種簡單高效 的陰影生成算法。它的主要優(yōu)點在于不需要計算場景幾何物體的形狀,即便對于復(fù)雜場景也 只需要產(chǎn)生一張圖(Map)就可以進行陰影生成。該方法如圖6所示,首先設(shè)置一臺攝像機以 光源為視點觀察物體,進行投影變換。由常識可知,從光源的角度觀察物體,看不到由這個 光源所形成的任何陰影。因此從該視角觀察物體,任何在默認攝像頭中應(yīng)渲染為陰影的點都 被遮擋,無法被觀察到。由該光源視角觀察物體,渲染出一幅帶深度緩沖的平面陰影貼圖, 該貼圖即為ShadowMap。該貼圖中的灰度代表以燈光視點出發(fā),穿過投影面形成的射線經(jīng)過的 所有場景中的點中離燈光最近的那個點的深度值。ShadowM即中的顏色灰度記錄了從燈光視角 點出發(fā)一條射線上所有頂點的Z深度值信息中最接近光源的點所轉(zhuǎn)化為的灰度,而那些被遮 擋的頂點即是產(chǎn)生陰影的點。再以光源為試點,進行投影變換,但這一次記錄投影變換后場 景中的每個點的真實的Z深度值。將每個點真實的Z深度值與ShadowM鄰中同一位置上的點 的灰度值進行對比,如果是被光照到的點,則這兩個值相同;如果是該被渲染為陰影的點, 則這兩個值不同。由此可判斷哪些點是處在陰影中的點。在正常攝像機的視角中將判斷為處 在陰影中的點渲染為黑色,即得到物體的陰影。利用ShadowMap方法可快速生成合成圖像的 陰影。
圖6中A、 B、 C三點在正常攝像機中都可被觀察到,圖中 A點的Map灰度值=2小于攝像機Z深度值=7,因此渲染為黑色; B點的Map灰度值=2小于攝像機Z深度值=6,因此渲染為黑色,-C點的Map灰度值==2等于攝像機Z深度值=2,因此渲染光照。
從燈光視角觀察物體,生成ShadowMap灰度圖,則在直線ABC上的點的z深度值都用點C 的z深度值替代,保存在ShadowMap中。渲染時將從燈光視角得到的A、 B、 C三點的真實z 深度值和灰度圖中的值對比,即可得A、 B兩點為應(yīng)該渲染為陰影的點。
進一步地,如圖3所示,所述步驟20)具體包括以下步驟-
步驟21)、將彩色圖轉(zhuǎn)化為灰度圖;步驟22)、初步提取特征點,具體提取特征點的方法如下
對于圖片上的每個象素m,若以m為中點、圍繞著m的八個象素中的任意兩個滿足以下兩 個條件
a、 這兩個像素處于以m為中點的這圈像素的某條直徑兩端;
b、 這兩個像素的灰度值均與m接近。
則這個像素m被認為是"不穩(wěn)定"的點。排除所有"不穩(wěn)定"的像素后,剩下的即為初步 提取出的"較穩(wěn)定"特征點。這樣可以很快地去除位于灰度值較平均的區(qū)域與位于邊緣上的 點;
步驟23)、把灰度圖進行正視圖視角變換,在變換后的視圖中提取特征點,用來得到更為 穩(wěn)定的特征點,具體如下
對于一幅給定的標志物的正視圖,用步驟22)中的方法提取出M個特征點,按特征點的 坐標位置順序編號,構(gòu)成一個特征點集合K二^u k2……kM},集合中每個元素表示相應(yīng)編號的 一個特征點。
對該標志物原始正視圖進行多個不同角度的透視變換,并給變換后的正視圖加上白噪聲, 之后再利用步驟22)中的方法提取變換后的視圖的特征點,再利用反變換將提取出的特征點 還原為相應(yīng)的正視圖特征點。統(tǒng)計多個經(jīng)過不同角度變換的視圖經(jīng)上述"變換-提取-還原" 后的特征點仍能找到原始正視圖相對應(yīng)特征點的概率,概率最高的N個點被最終確認為"穩(wěn) 定"的特征點。通過該方法可對步驟22)中提取出的特征點進行進一步篩選,得到最為穩(wěn)定 的特征點。集合K的元素數(shù)由M減為N,即K2……KN};
步驟24)、構(gòu)建"特定視點集合",該"特定視點集合"用于步驟25)中訓練與構(gòu)建"隨 機樹";
本發(fā)明基于特征點提取與隨機樹分類對標志物進行識別且計算標志物在攝像頭坐標系中 的位置,其中一個最為關(guān)鍵的問題是,判斷待識別幀中是否包含正視圖上的"穩(wěn)定特征點", 以及包含的是哪個特征點。為實現(xiàn)此目的,構(gòu)建了 "特定視點集合",對其的解釋如下
將所有經(jīng)不同角度的透視變換的正視圖中的同一個特征點取出,專門構(gòu)成一個集合,可得 到N個集合,每個集合對應(yīng)一個穩(wěn)定特征點,這些集合即所謂的"特定視點集合"。例如,將 原始正視圖分別繞x軸、y軸按(-;r, +;r)的范圍旋轉(zhuǎn)進行透視變換,將繞x軸的轉(zhuǎn)向均分 為Lx個角度,將繞y軸的轉(zhuǎn)向均分為Ly個角度,最終可得L=LxXLy幅變換視圖,將所有變 換視圖中編號相同的特征點取出,可得到N個集合Vn={vnl, v 2……VnL}, 1《n《N,每個Vn就是 對應(yīng)一個特征點的"特定視點集合",該集合中的每個元素包含了在不同視角變換下同一特征點的不同位置;
步驟25)、構(gòu)建隨機樹用以特征點分類和識別;隨機樹分類法是一種快速簡潔的分類法。其具體構(gòu)建方法如下
隨機樹采用二叉樹結(jié)構(gòu),只有一個樹冠,分出兩個節(jié)點,每個節(jié)點再分出兩個節(jié)點,依次遞歸,直到最底層的節(jié)點不再有分支,稱之為樹葉。每個節(jié)點都有一個判斷公式,當一個數(shù)據(jù)從樹冠輸入后,每個節(jié)點的判斷公式會對其進行判斷,以決定將其放入左邊還是右邊的節(jié)點,放入下一層節(jié)點后再進行判斷,直到進入某一個樹葉。本發(fā)明中,輸入的數(shù)據(jù)為32X32像素的面片,每個面片可包含或不包含特征點。在訓練時將大量包含"特定視點集合"中的特征點的面片輸入隨機樹,讓每個面片進入某一片樹葉,當所有的面片都進入樹葉后,便可計算每片葉子對應(yīng)所有"穩(wěn)定"的特征點的概率分布,即數(shù)一下進入這個葉片的每個編號的特征點的總數(shù)占進入這個葉片的總面片數(shù)的比例。這樣,每片葉子都包含各自的一組面向所有"穩(wěn)定"特征點的概率分布。本實施例中使用了多棵隨機樹來增加識別的準確性。某片樹葉包含的概率分布可由如下公式表示
其中,p代表32X32像素的一塊面片,Y (p)是該面片所包含的特征點對應(yīng)的特征點標號,ce{-1, 1, 2……N},其中-l表示不包含任何特征點的面片。l為隨機樹的編號,"代表
P面片投入第1棵樹所到達的那片樹葉。
為每個結(jié)點選取的多種判斷公式,本實施例中為每個結(jié)點選取的判斷公式如下
^ 、[如果/0 ,^)-^ ,附2)^(^附3)-/0^4)進入左節(jié)點
c("^,"^H 其他 進入右節(jié)點
其中,/(/7,M)表示面片P在/B點的亮度,/^,附2,附3,m4為面片p中隨機挑選的四個位置不
同像素。
這樣便構(gòu)建起了一棵隨機樹,其主要特征就是各個結(jié)點上的判斷公式以及各片葉子上不同的概率分布。
通過以不同方式分割面片與計算每個像素不同方向的梯度值,可為每個節(jié)點設(shè)置不同的判斷公式,進而構(gòu)建出多棵不同的隨機樹。
進一步地,所述步驟40)具體包括以下步驟
將攝像頭采集的一幀圖像分解為32X32像素的面片,將每片面片輸入步驟25)中構(gòu)建的不同的隨機樹;fQ7)表示面片p所包含特征點經(jīng)估算得到的特征點標號,f07)可利用以下公式算得一 1
<formula>formula see original document page 15</formula>
該公式的含義是將面片p在不同樹中所到達的葉片的概率分布相加取平均值,得到一個平均概率分布,將這個平均概率分布中概率最大的那個穩(wěn)定特征點的標號,作為面片p對應(yīng)的特征點的標號。利用該公式便可以建立新采集圖像特征點和原始正視圖特征點的對應(yīng)。實驗
表明,該對應(yīng)的正確率在90%以上。在建立了特征點的對應(yīng)之后,便可以利用計算機視覺中常用的算法來計算標志物在攝像頭坐標系中的位置。圖4顯示了一頁書上特征點對應(yīng)的情況。
以上所述的實施例僅用于說明本發(fā)明的技術(shù)思想及特點,其目的在使本領(lǐng)域內(nèi)的技術(shù)人員能夠了解本發(fā)明的內(nèi)容并據(jù)以實施,當不能僅以本實施例來限定本發(fā)明的專利范圍,即凡依本發(fā)明所揭示的精神所作的同等變化或修飾,仍落在本發(fā)明的專利范圍內(nèi)。
權(quán)利要求
1、一種帶有現(xiàn)實環(huán)境估算的增強現(xiàn)實的方法,其特征在于包括以下步驟步驟10)、初始化系統(tǒng)環(huán)境、配置系統(tǒng)參數(shù);步驟20)、選擇或提取一幅標志物正視圖,對標志物進行訓練,獲得訓練數(shù)據(jù);步驟30)、計算標志物圖像的相機內(nèi)部參數(shù)并進行校正;步驟40)、對攝像頭拍攝到的真實環(huán)境中的每一幀,利用步驟30)中的數(shù)據(jù)進行校正,再基于步驟20)中的訓練數(shù)據(jù)識別標志物,若含有標志物,則計算該標志物在攝像頭坐標系中的相對位置矩陣;步驟50)、通過識別出的標志物尋找對應(yīng)虛擬模型,利用提取出的標志物位置矩陣確定模型的位置;步驟60)、在真實拍攝的視頻幀上根據(jù)計算出的相對位置繪制虛擬模型;步驟70)、通過對已識別標志物和標志物正視圖的亮度進行比對來估算標志物所處環(huán)境的光照信息,進行現(xiàn)實環(huán)境光源估算,估算出現(xiàn)實光源的位置,生成陰影。
2、 根據(jù)權(quán)利要求1所述的帶有現(xiàn)實環(huán)境估算的增強現(xiàn)實的方法,其特征在于,所述步驟 70)具體包括以下步驟步驟71)、將標志物平面轉(zhuǎn)向各個方向,獲取識別出標志物的幀; 步驟72)、保存該幀中當前標志物的亮度及法向量坐標值;步驟73X判斷識別到標志物并保存亮度信息的幀的總數(shù)是否達到一定數(shù)目,若達到,則 進入步驟74),若未達到,轉(zhuǎn)步驟71);步驟74)、找到滿足一定數(shù)目的幀,這些幀的標志物法向量指向同一個方向,并且其亮度 值均值為最大,將這些幀的法向量坐標的均值作為光源方向的估算位置;步驟75)、根據(jù)光源估算的位置,生成陰影。
3、 根據(jù)權(quán)利要求1或2所述的帶有現(xiàn)實環(huán)境估算的增強現(xiàn)實的方法,其特征在于,所述 步驟20)具體包括以下歩驟步驟21)、將彩色圖轉(zhuǎn)化為灰度圖;步驟22)、初步提取特征點,具體提取特征點的方法如下對于圖片上的每個象素m,若以m為中點、圍繞著m的八個象素中的任意兩個滿足以下兩 個條件,則排除這個像素m:a、 這兩個像素處于以m為中點的這圈像素的某條直徑兩端,b、 這兩個像素的灰度值均與m接近;步驟23)、把灰度圖進行正視圖視角變換,在變換后的視圖中提取特征點,用來得到更為穩(wěn)定的特征點;步驟24)、將所有經(jīng)不同角度的透視變換的正視圖中的同一個特征點取出,構(gòu)成一個"特 定視點集合",得到N個"特定視點集合",每個"特定視點集合"對應(yīng)一個穩(wěn)定特征點; 步驟25)、構(gòu)建隨機樹用以特征點分類和識別。
4、 根據(jù)權(quán)利要求3所述的帶有現(xiàn)實環(huán)境估算的增強現(xiàn)實的方法,其特征在于,所述步驟24) 中"特定視點集合"的構(gòu)成方法為將原始正視圖分別繞x軸、y軸按(-;r, +7)的范圍旋轉(zhuǎn)進行透視變換,將繞x軸的轉(zhuǎn) 向均分為Lx個角度,將繞y軸的轉(zhuǎn)向均分為Ly個角度,得L=LxXLy幅變換視圖,將所有變 換視圖中編號相同的特征點取出,得到N個集合V^Wn,,Vn2……vJ,l《n《N,每個V。就是對 應(yīng)一個特征點的"特定視點集合",該集合中的每個元素包含了在不同視角變換下同一特征點 的不同位置。
5、 根據(jù)權(quán)利要求4所述的帶有現(xiàn)實環(huán)境估算的增強現(xiàn)實的方法,其特征在于,所述步驟 23)具體為對于一幅給定的標志物的正視圖,用步驟22)中的方法提取出M個特征點,按特征點的 坐標位置順序編號,構(gòu)成一個特征點集合K^ki, k2……kM},集合中每個元素表示相應(yīng)編號的 一個特征點;對該標志物原始正視圖進行多個不同角度的透視變換,并給變換后的正視圖加上白噪聲, 之后再利用步驟22)中的方法提取變換后的視圖的特征點,再利用反變換將提取出的特征點 還原為相應(yīng)的正視圖特征點;統(tǒng)計多個經(jīng)過不同角度變換的視圖經(jīng)上述"變換-提取-還原" 后的特征點仍能找到原始正視圖相對應(yīng)特征點的概率,概率最高的N個點被確認為"穩(wěn)定" 的特征點,集合K的元素數(shù)由M減為N,即KHld, K2……KN}。
6、 根據(jù)權(quán)利要求5所述的帶有現(xiàn)實環(huán)境估算的增強現(xiàn)實的方法,其特征在于,所述步驟25) 中構(gòu)建隨機樹用以特征點分類和識別,具體如下隨機樹采用二叉樹結(jié)構(gòu),輸入的數(shù)據(jù)為32X32像素的面片,在訓練時將大量包含"特定 視點集合"中的特征點的面片輸入隨機樹,讓每個面片進入某一片樹葉,當所有的面片都進 入樹葉后,計算每片葉子對應(yīng)所有"穩(wěn)定"的特征點的概率分布,某片樹葉包含的概率分布 可由如下公式表示其中,p代表32X32像素的一塊面片,Y (p)是該面片所包含的特征點對應(yīng)的特征點標號,ce{-1, 1, 2……N},其中-l表示不包含任何特征點的面片,l為隨機樹的編號,;;代表p面片投入第1棵樹所到達的那片樹葉,為每個結(jié)點選取的判斷公式如下,/如果/(/ ,^)-/(^, 2)《/(^, 3)-/(/ ,加4),進入左節(jié)點其中,/(p,w)表示面片p在頂點的亮度,w,m2,附3,附4為面片p中隨機挑選的四個位置不 同像素;所述步驟40)具體包括以下步驟將采集的一幀圖像分解為32X32像素的面片,將每片面片輸入步驟25)中構(gòu)建的不同的 隨機樹;f(/7)表示面片p所包含特征點經(jīng)估算得到的特征點標號,f(;0利用以下公式算得該公式是將面片p在不同樹中所到達的葉片的概率分布相加取平均值,得到一個平均概率 分布,將這個平均概率分布中概率最大的那個穩(wěn)定特征點的標號,作為面片P對應(yīng)的特征點 的標號;利用該公式建立新采集圖像特征點和原始正視圖特征點的對應(yīng)。
7、 一種帶有交互功能的增強現(xiàn)實的系統(tǒng),其特征在于包括視頻幀訓練模塊,用于選擇或提取一幅標志物正視圖,對標志物進行訓練,獲得訓練數(shù)據(jù); 視頻幀校正模塊,與所述視頻幀訓練模塊相連接,用于計算標志物圖像的相機內(nèi)部參數(shù)并 進行校正;視頻幀捕獲模塊,與所述視頻幀訓練模塊和所述視頻幀校正模塊相連接,用于對攝像頭拍 攝到的真實環(huán)境中的每一幀,利用所述視頻幀校正模塊中的數(shù)據(jù)進行校正,再基于所述視頻 幀訓練模塊中的訓練數(shù)據(jù)識別標志物,若含有標志物,則計算該標志物在攝像頭坐標系中的 相對位置矩陣,并通過對已識別標志物和標志物正視圖的亮度進行比對來估算標志物所處環(huán) 境的光照信息;虛實合成模塊,與視頻幀捕獲模塊相連接,用于通過識別出的標志物尋找對應(yīng)虛擬模型, 利用提取出的標志物位置矩陣確定模型的位置,在真實拍攝的視頻幀上根據(jù)計算出的相對位 置繪制虛擬模型;現(xiàn)實環(huán)境光源估算模塊,與所述虛實合成模塊相連接,用于進行現(xiàn)實環(huán)境光源估算,根據(jù) 估算出的現(xiàn)實光源位置,生成陰影。,進入右節(jié)點= argmax a (/ ) = argmax丁工(7G ) = c)
全文摘要
帶有現(xiàn)實環(huán)境估算的增強現(xiàn)實的方法及其系統(tǒng),包括初始化系統(tǒng)環(huán)境、配置系統(tǒng)參數(shù);選擇或提取一幅標志物正視圖,對標志物進行訓練,獲得訓練數(shù)據(jù);計算標志物圖像的相機內(nèi)部參數(shù)并進行校正;對攝像頭拍攝到的真實環(huán)境中的每一幀,進行校正,基于訓練數(shù)據(jù)識別標志物,計算該標志物在攝像頭坐標系中的相對位置矩陣;通過識別出的標志物尋找對應(yīng)虛擬模型,利用提取出的標志物位置矩陣確定模型的位置,繪制虛擬模型,通過對已識別標志物和標志物正視圖的亮度進行比對來估算標志物所處環(huán)境的光照信息,進行現(xiàn)實環(huán)境光源估算,估算出現(xiàn)實光源的位置,生成陰影。本發(fā)明極大地減少了對標志物的限制,可用于對地圖與復(fù)雜二維圖像進行標示。
文檔編號G06T17/00GK101520904SQ20091004811
公開日2009年9月2日 申請日期2009年3月24日 優(yōu)先權(quán)日2009年3月24日
發(fā)明者周暖云, 季斐翀, 晉 潘, 濤 陸 申請人:上海水晶石信息技術(shù)有限公司