黃 靜,楊博雄,陳嘉杰
(北京師范大學(xué)珠海分校 信息技術(shù)學(xué)院,珠海 519087)
混合現(xiàn)實(shí)技術(shù) (Mixed Reality,MR)是由“智能硬件之父”多倫多大學(xué)教授Steve Mann提出.混合現(xiàn)實(shí)技術(shù)是通過計(jì)算機(jī)圖形技術(shù)和可視化技術(shù)產(chǎn)生現(xiàn)實(shí)環(huán)境中不存在的虛擬對(duì)象,并通過傳感技術(shù)將虛擬對(duì)象疊加到真實(shí)環(huán)境中,真實(shí)的環(huán)境和虛擬的對(duì)象實(shí)時(shí)地顯示在同一個(gè)畫面或空間,用戶利用顯示設(shè)備,便可以看到一個(gè)感官效果真實(shí)的新環(huán)境.混合現(xiàn)實(shí)技術(shù)涉及到多種最新的計(jì)算機(jī)應(yīng)用技術(shù),包括計(jì)算機(jī)視覺、計(jì)算機(jī)圖形學(xué)、多媒體、網(wǎng)絡(luò)技術(shù)等,來描述對(duì)我們空間的感覺,它可以讓我們跟這些物體或者照片進(jìn)行互動(dòng),跟虛擬世界進(jìn)行互動(dòng)[1–6].現(xiàn)實(shí)生活中很多時(shí)候需要測量距離、計(jì)算某些場地面積的體積,但往往因障礙物無法直接測量距離,也無法自動(dòng)計(jì)算面積和空間體積.混合現(xiàn)實(shí)技術(shù)這種黑科技的發(fā)展給我們帶來炫酷體驗(yàn)的同時(shí),還能解決測量過程中目前無法解決的這些問題.
本文提出了一種基于混合現(xiàn)實(shí)技術(shù)的交互非接觸式測量方法.這種方法借助微軟混合現(xiàn)實(shí)技術(shù)產(chǎn)品-HoloLens頭盔的深度攝像頭的空間掃描功能,通過人的目測和手勢能夠確定場景中的測量點(diǎn),從而通過自行開發(fā)的測量軟件自動(dòng)計(jì)算目標(biāo)點(diǎn)之間的距離、面積和體積等功能,此外還能運(yùn)用語音識(shí)別功能來進(jìn)行交互.通過本文研發(fā)的交互測量工具能使人們用自然的交互方式進(jìn)行非接觸式測量,相對(duì)于傳統(tǒng)的測量工具而言,測量過程中人的雙手被釋放,本文開發(fā)的交互測量工具所測量的范圍更大更廣,不僅可以測量距離,同時(shí)還可以自動(dòng)計(jì)算面積和體積,有些不方便尺子測量的地方,通過本文的非接觸式測量工具可以進(jìn)行輕松測量.
2015年1月22日微軟正式發(fā)布自主研發(fā)的混合現(xiàn)實(shí)黑科技技術(shù)產(chǎn)品——HoloLens虛擬頭盔設(shè)備,如圖1所示[7].
圖1 HoloLens 頭盔眼鏡
用戶戴上HoloLens頭盔眼鏡可置身虛實(shí)相結(jié)合的場景中并可進(jìn)行互動(dòng).HoloLens配置了若干傳感器,包括慣性測量裝置、環(huán)境光感應(yīng)器、四個(gè)環(huán)境感應(yīng)攝像頭和深度感應(yīng)攝像頭等,如圖2所示.這些設(shè)施使得HoloLens能夠?qū)崟r(shí)描繪出當(dāng)前的空間,對(duì)環(huán)境進(jìn)行實(shí)時(shí)掃描,并以HoloLens深度攝像頭中心點(diǎn)為空間坐標(biāo)原點(diǎn),水平方向?yàn)閄坐標(biāo)軸,垂直方向?yàn)閅坐標(biāo)軸,深度方向?yàn)閆坐標(biāo)軸,如圖3所示,此坐標(biāo)系為基于笛卡爾坐標(biāo)系的世界坐標(biāo)系,所觀測的空間物體位置由此坐標(biāo)系來定位,HoloLens頭盔所觀測的虛擬物體和真實(shí)物體都共用這一個(gè)坐標(biāo)系,它們的單位都是米,這是一種1:1的現(xiàn)實(shí)世界尺度,會(huì)極大地增加真實(shí)感.因此HoloLens能識(shí)別環(huán)境中的平面、墻體以及桌面等較大的物體.HoloLens有跟蹤以及空間錨點(diǎn)等功能.微軟還給HoloLens配置了自創(chuàng)的全息處理單元(HPU),用來處理用于實(shí)時(shí)掃描和處理海量級(jí)數(shù)據(jù)[8].
圖2 HoloLens 配置圖
圖3 HoloLens 坐標(biāo)系的建立
現(xiàn)階段,HoloLens只有三種交互方式: 凝視功能(Gaze)、手勢功能(Gesture)和音功能(Voice).凝視的功能是通過HoloLens上的傳感器向用戶的前方發(fā)射一條射線來實(shí)現(xiàn),用體驗(yàn)者的頭部來控制方向,發(fā)射出來的射線可以識(shí)別它所碰撞的物體,檢測到碰撞的物體之后,HoloLens上的光標(biāo)會(huì)有一個(gè)小圓點(diǎn),告訴用戶檢測到對(duì)象,可以進(jìn)行相關(guān)的操作.HoloLens通過前面的四個(gè)攝像頭識(shí)別用戶的左右手的手勢,HoloLens目前為用戶提供了兩種手勢,一種是確認(rèn)手勢(Air Tap),一種是返回或取消手勢(Boom).Air Tap手勢是伸出手指,將食指和大拇指伸出,首先張開,然后并攏,這樣HoloLens就能識(shí)別到你的確認(rèn)指令.圖4為凝視和手勢示例.
圖4 凝視和手勢示例
本文研發(fā)的交互測量系統(tǒng)由HoloLens硬件設(shè)備和自行開發(fā)的軟件 My Tool組成.系統(tǒng)軟件 My Tool通過 Unity 游戲引擎和 Visual Studio C#腳本開發(fā),軟件開發(fā)完成后通過局域網(wǎng)導(dǎo)入安裝HoloLens里面進(jìn)行測試修改,用戶戴上HoloLens頭盔就可以進(jìn)行所在空間的數(shù)據(jù)測量了.整個(gè)項(xiàng)目開發(fā)流程如圖5所示.
圖5 項(xiàng)目開發(fā)流程
系統(tǒng)通過HoloLens的凝視和手勢功能獲取測量目標(biāo)點(diǎn),當(dāng)用戶戴上HoloLens開始凝視外界物體時(shí),系統(tǒng)從HoloLens坐標(biāo)系原點(diǎn)發(fā)出一束光束,最后停留在被凝視物體的表面,形成一個(gè)聚焦點(diǎn),當(dāng)用戶做出確認(rèn)手勢時(shí),該測量點(diǎn)被確認(rèn)下來,其坐標(biāo)值被HoloLens自動(dòng)記錄在系統(tǒng)中,稱之為空間錨點(diǎn).本文開發(fā)的軟件正是根據(jù)HoloLens中記錄的這些空間錨點(diǎn)坐標(biāo)值,可以計(jì)算得出所測量的目標(biāo)點(diǎn)之間的距離、面積和體積.
假定場景中被HoloLens記錄的空間錨點(diǎn)的坐標(biāo)值分別為根據(jù)平面和空間解幾何原理,兩點(diǎn)測量距離D2、三點(diǎn)面積S3、四點(diǎn)體積V4公式分別如式(1)~(3)所示.而根據(jù)四點(diǎn)需要計(jì)算面積時(shí)則可將四邊形拆分為兩個(gè)三角形,先分別計(jì)算兩個(gè)三角形的面積,再將形成的兩個(gè)三角形面積相加即可.
其中,
當(dāng)用戶戴上頭盔后開始凝視目標(biāo)點(diǎn),一旦手勢確認(rèn),即確定空間錨點(diǎn),或稱之為測量目標(biāo)點(diǎn),根據(jù)目標(biāo)點(diǎn)的位置和數(shù)量進(jìn)行判斷和計(jì)算,并輸出結(jié)果信息.整個(gè)軟件設(shè)計(jì)流程如圖6所示.
圖7–10為戴上HoloLens頭盔的測量實(shí)例,圖中,小白圓點(diǎn)即為生成的空間錨點(diǎn)-目標(biāo)測量點(diǎn),距離測量單位為米,面積單位為 m2,體積單位為 m3,三角網(wǎng)格表示所觀測物體表面網(wǎng)狀結(jié)構(gòu),這是用戶戴上頭盔觀看周圍空間環(huán)境測量時(shí)HoloLens自動(dòng)生成的.
當(dāng)用戶頭部不斷移動(dòng)時(shí),在被凝視物體表面的聚焦點(diǎn)會(huì)不斷地隨著目光凝視的方向而改變,但一旦用戶做出確認(rèn)手勢,空間錨點(diǎn)就會(huì)生成,固定不變,測量目標(biāo)點(diǎn)因此產(chǎn)生.此時(shí),若用戶再移動(dòng)頭部,則同樣的步驟為下一個(gè)測量目標(biāo)點(diǎn)做準(zhǔn)備.無論用戶測量時(shí)離被測物體近還是遠(yuǎn),一旦生成生成空間錨點(diǎn),用戶與測量點(diǎn)的距離不會(huì)影響測量的精度.表1為使用本文的測量方法與傳統(tǒng)卷尺測量結(jié)果對(duì)比,每個(gè)距離數(shù)據(jù)取前后兩次測量數(shù)據(jù)的平均值進(jìn)行測量分析,結(jié)果表明本文的測量方法兩次測量數(shù)據(jù)重復(fù)度為99.99%,與傳統(tǒng)卷尺所測結(jié)果誤差范圍在0.01 m之內(nèi).表2為測量同一用戶身高時(shí),使用者佩戴HoloLens頭盔與被測用戶的距離不同時(shí)測出的用戶身高值,可以看到誤差范圍在毫米級(jí)范圍之內(nèi).
圖6 羽毛飄落光流擾動(dòng)效應(yīng)檢測
傳統(tǒng)的測量方法直接得到的數(shù)據(jù)只有長度,如果想要其他數(shù)據(jù),只能是用戶再通過數(shù)學(xué)函數(shù)計(jì)算出來.而文本的交互測量工具利用HoloLens頭盔眼鏡作為載體,秉承HoloLens頭盔眼鏡的交互功能,用戶不僅可以得到兩點(diǎn)之間的距離,還可以同時(shí)得出目標(biāo)點(diǎn)之間的面積和體積數(shù)據(jù),測量誤差范圍小于0.01 m.HoloLens頭盔眼鏡不會(huì)因?yàn)闇y量距離中有物體的阻擋而產(chǎn)生誤差.如果在測量過程中,有物體阻擋了測量,傳統(tǒng)的卷尺就需要移開障礙物體,或者需要重新測量別的相同長度的被阻擋東西,而當(dāng)使用本文開發(fā)的交互測量工具時(shí),用戶可以在被測物體之間不斷移動(dòng)調(diào)整,一旦系統(tǒng)在被測物體表面生成空間錨點(diǎn)-測量目標(biāo)確認(rèn)小球點(diǎn),小球點(diǎn)的坐標(biāo)值就會(huì)自動(dòng)記錄下來,不會(huì)消失,系統(tǒng)可根據(jù)事先被紀(jì)錄的空間錨點(diǎn)坐標(biāo)值來計(jì)算物體的測量值,這樣即使兩個(gè)被測物體之間有障礙物,甚至所測量的周圍環(huán)境有所變動(dòng)也不會(huì)影響測量值,測量時(shí)人的雙手被釋放可用于處理其他事務(wù),不用繞過阻擋物體也無需接觸物體,較復(fù)雜的環(huán)境都不會(huì)對(duì)物體的測量結(jié)果造成影響.由于本文所涉及的技術(shù)與產(chǎn)品比較新穎,開發(fā)資源比較少,它還存在一些不足之處,例如HoloLens設(shè)備本身價(jià)格昂貴,深度攝像頭只有30 m的范圍,只能在掃描到的墻體、地面、桌面等較大的物體上進(jìn)行測量,不能在空間的懸空點(diǎn)上進(jìn)行測量,希望將來得以繼續(xù)改進(jìn).
圖7 測量 4 點(diǎn)之中的兩點(diǎn)距離
圖8 測量用戶身高(用戶實(shí)際身高1.78米)
圖9 測量 3 點(diǎn)面積
圖10 測量 4 點(diǎn)體積
表1 本文方法與傳統(tǒng)卷尺測量結(jié)果對(duì)比 (單位: m)
表2 用戶與被測物體距離調(diào)整結(jié)果對(duì)比 (單位: m)
參考文獻(xiàn)
1陳寶權(quán),秦學(xué)英.混合現(xiàn)實(shí)中的虛實(shí)融合與人機(jī)智能交融.中國科學(xué): 信息科學(xué),2016,46(12): 1737–1747.
2黃進(jìn),韓冬奇,陳毅能,等.混合現(xiàn)實(shí)中的人機(jī)交互綜述.計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào),2016,28(6): 869–880.
3微軟黑科技HoloLens虛擬成像走進(jìn)未來.信息技術(shù)與信息化,2015,(6): 16.
4張洋.混合現(xiàn)實(shí)的人機(jī)交互軟硬件系統(tǒng)的研究與設(shè)計(jì)[碩士學(xué)位論文].上海: 華東師范大學(xué),2014.
5Hololens全息眼鏡的應(yīng)用: 可看火星表面.信息技術(shù)與信息化,2016,(12): 17.
6錢童心.HoloLens: 敲碎虛擬與現(xiàn)實(shí)的界限.第一財(cái)經(jīng)日?qǐng)?bào),2016-06-03(A08).
7Scott.微軟演示虛擬現(xiàn)實(shí)眼鏡HoloLens憑空搭建城堡.今日電子,2015,(7): 25.
8Ghosh A,Nirala AK.Formation of uniform fringe pattern free from diffraction noise at LDA measurement volume using holographic imaging configuration.Measurement Science and Technology,2016,27(5): 055202.[doi: 10.1088/0957-0233/27/5/055202]
9Syed AZ,Zakaria A,Lozanoff S.Dark room to augmented reality: Application of HoloLens technology for oral radiological diagnosis.Oral Surgery,Oral Medicine,Oral Pathology and Oral Radiology,2017,124(1): e33.