何軍
摘 要: 增強(qiáng)現(xiàn)實(shí)技術(shù)的發(fā)展,為還原場景的正確遮擋關(guān)系,據(jù)此提出了一種基于Kinect與ARToolkit的虛實(shí)遮擋一致性算法。
關(guān)鍵詞: 虛實(shí)物體;Kinect;ARToolkit;遮擋一致性
中圖分類號(hào): TB????? 文獻(xiàn)標(biāo)識(shí)碼: A????? doi:10.19311/j.cnki.1672-3198.2019.13.090
1 引言
本文提出了一種基于Kinect與ARToolkit的虛實(shí)遮擋一致性算法。通過坐標(biāo)映射分別在Kinect與ARToolkit中真實(shí)物體像素與虛擬物體像素的深度值,然后將真實(shí)物體像素重新繪制在融合場景中。
2 虛實(shí)遮擋一致性算法
該算法主要分為三個(gè)階段:第一階段通過像素濾波算法將Kinect獲取到的真實(shí)場景深度圖修復(fù)處理;第二階段通過坐標(biāo)映射求出真實(shí)物體與虛擬物體的深度值;第三階段為判斷虛實(shí)物體間遮擋關(guān)系以及實(shí)現(xiàn)遮擋一致性的過程。
以虛擬物體上的A點(diǎn)與B點(diǎn)為例,介紹實(shí)現(xiàn)虛擬物體所占區(qū)域中每個(gè)像素點(diǎn)所對(duì)應(yīng)正確虛實(shí)遮擋關(guān)系的具體過程,步驟如下所示:
(1)使用像素濾波算法對(duì)深度圖中真實(shí)物體邊緣的空洞區(qū)域進(jìn)行了修復(fù),得到更加準(zhǔn)確的深度圖。
(2)在ARToolkit中將Kinect獲取到的彩色圖與深度圖實(shí)時(shí)顯示并完成在真實(shí)場景中虛擬物體的注冊(cè)跟蹤。
(3)在已完成虛擬物體注冊(cè)工作的基礎(chǔ)上,結(jié)合標(biāo)定Kinect彩色攝像機(jī)的內(nèi)參以及攝像機(jī)相對(duì)于標(biāo)識(shí)卡的轉(zhuǎn)換矩陣計(jì)算虛擬物體每個(gè)像素點(diǎn)在融合場景中的像素坐標(biāo)。該坐標(biāo)既是注冊(cè)之后的虛擬物體像素在融合場景圖像中的位置,也是注冊(cè)之前的真實(shí)物體像素在真實(shí)場景圖像中的位置,如圖2所示,虛擬物體的A與B點(diǎn)分別與真實(shí)場景的A′與B′點(diǎn)在融合場景中對(duì)應(yīng)著同一像素。
(4)根據(jù)該坐標(biāo)值找出真實(shí)物體在已修復(fù)深度圖中相對(duì)應(yīng)像素的坐標(biāo)值及深度值d1,在圖2中,彩色圖像中A′與B′點(diǎn)分別對(duì)應(yīng)于深度圖中A″點(diǎn)與B″點(diǎn)。
(5)由于虛擬物體的注冊(cè)位置是已知的,通過Kinect相機(jī)與虛擬物體在虛擬世界坐標(biāo)系中的位置計(jì)算得到虛擬物體的深度值d2。
(6)比較該像素相對(duì)應(yīng)的虛擬物體與真實(shí)物體的深度值d1與d2,若d1大于d2,則不作處理;若d1小于d2,則重新繪制該像素所對(duì)應(yīng)的真實(shí)物體。
3 實(shí)驗(yàn)結(jié)果與分析
通過Kinect 2.0實(shí)時(shí)獲取不同真實(shí)場景的彩色圖與深度圖,對(duì)該遮擋一致性算法進(jìn)行了測試,彩色圖視頻幀的大小為1920x1080,幀率為30f/s,像素為RGB格式,深度圖視頻幀的大小為512×424,幀率為30f/s,每個(gè)像素都是用16位表示的,深度有效范圍為0.5m-4.5m。
3.1 深度圖優(yōu)化實(shí)驗(yàn)
通過對(duì)Kinect獲取到的深度圖中深度圖為0的像素進(jìn)行像素濾波處理,如圖3所示,圖(a)為真實(shí)場景彩色圖像。圖(b)為原始深度圖,圖中藍(lán)色部分為深度值為0的像素點(diǎn),在該場景中導(dǎo)致像素深度值為0的主要因素是手、電腦與標(biāo)識(shí)卡的邊緣、紅外光在電腦顯示器上發(fā)生鏡面反射以及桌子離Kinect攝像機(jī)太近。圖3為像素濾波后的深度圖,比較圖(b)與(c)可以看出,該像素濾波處理最明顯的變化就是手、電腦與標(biāo)識(shí)卡的邊緣的空洞區(qū)域被填充,這些像素得到具體的深度值,有助于后續(xù)虛實(shí)遮擋關(guān)系的判斷。
3.2 遮擋一致性算法實(shí)驗(yàn)
如圖4所示,分別為不同真實(shí)物體與虛擬物體之間的遮擋關(guān)系處理前后效果圖。其中圖(a)與圖(b)分別為手指合并時(shí)與虛擬物體之間的遮擋一致性與錯(cuò)誤遮擋關(guān)系,先將圖(b)中虛擬物體每一像素的三維坐標(biāo)轉(zhuǎn)換到融合場景圖像的二維坐標(biāo),找出在融合場景中的與虛擬物體發(fā)生遮擋關(guān)系的真實(shí)物體區(qū)域,獲取該區(qū)域中每一像素在經(jīng)過像素濾波處理后的深度圖中的對(duì)應(yīng)像素坐標(biāo)以及深度值,然后根據(jù)Kinect攝像機(jī)與標(biāo)識(shí)卡之間的轉(zhuǎn)換矩陣計(jì)算虛擬物體像素的深度值,最后判斷其遮擋關(guān)系以及進(jìn)行虛實(shí)遮擋一致性的渲染實(shí)現(xiàn)。圖(c)與圖(d)為水杯與虛擬物體發(fā)生部分遮擋時(shí)的實(shí)遮擋效果圖。從實(shí)驗(yàn)結(jié)果可以看出,針對(duì)任何的真實(shí)物體都能在AR系統(tǒng)中與虛擬物體實(shí)現(xiàn)遮擋一致性的關(guān)系。
下面分別是當(dāng)標(biāo)識(shí)卡被遮擋時(shí)真實(shí)物體與虛擬物體之間的遮擋關(guān)系處理前后的效果圖比較,如圖5所示,左邊為未經(jīng)處理的虛實(shí)融合場景,右邊為經(jīng)過本文遮擋一致性算法處理之后的具有正確遮擋關(guān)系的場景圖。如圖(a)所示,針對(duì)當(dāng)紙張遮擋標(biāo)識(shí)卡時(shí),虛擬物體仍能成功注冊(cè)的在真實(shí)場景中,同時(shí)紙與虛擬物體也有錯(cuò)誤遮擋關(guān)系,在圖(b)中還原了它們之間的正確遮擋關(guān)系。圖(c)與圖(d)為手遮擋標(biāo)識(shí)卡情況下的虛擬注冊(cè)與虛實(shí)遮擋一致性效果圖。因此,本算法也適用于標(biāo)識(shí)卡被遮擋情況下的虛實(shí)遮擋關(guān)系處理。
4 結(jié)束語
為了提高虛實(shí)遮擋一致性效果,本文首先利用像素濾波器對(duì)Kinect深度圖做了空洞修復(fù)處理,消除了物體邊緣的噪聲。最后,通過坐標(biāo)轉(zhuǎn)換獲取虛擬物體中每一像素對(duì)應(yīng)的真實(shí)物體的深度值,以及進(jìn)行深度比較之后重新繪制真實(shí)物體最終實(shí)現(xiàn)正確的虛實(shí)遮擋關(guān)系。
參考文獻(xiàn)
[1] 羅斌,王涌天,沈浩等.增強(qiáng)現(xiàn)實(shí)混合跟蹤技術(shù)綜述[J].自動(dòng)化學(xué)報(bào),2013,39(08):118-1201.
[2]鄭毅.增強(qiáng)現(xiàn)實(shí)虛實(shí)遮擋方法評(píng)述與展望[J].系統(tǒng)仿真學(xué)報(bào),2014,26(1):1-10.