高虹霓,牛程弘,劉海平,王 崴,陳 同,瞿 玨,李承宇
(空軍工程大學(xué) 防空反導(dǎo)學(xué)院, 西安 710051)
近年來(lái),混合現(xiàn)實(shí)技術(shù)得到快速發(fā)展?;旌犀F(xiàn)實(shí)被應(yīng)用到了醫(yī)療、教育、軍事以及游戲娛樂(lè)等領(lǐng)域。尤其是隨著微軟推出了第二代混合現(xiàn)實(shí)設(shè)備HoloLens2,使得混合現(xiàn)實(shí)技術(shù)被更廣泛的應(yīng)用到各種場(chǎng)景中成為了一種可能。
其中軍事領(lǐng)域中,HoloLens2作為一款功能強(qiáng)大的混合現(xiàn)實(shí)設(shè)備,其獨(dú)特的顯示方式使其被應(yīng)用到誘導(dǎo)維修和輔助訓(xùn)練等多項(xiàng)輔助作業(yè)中[1]。HoloLens2利用LBS(laser beam scanning)光機(jī)采用光波導(dǎo)的顯示方式將全息影像投射到用戶(hù)的眼中。將真實(shí)物體進(jìn)行三維建模,以全息影像的方式顯示在用戶(hù)眼中,通過(guò)跟蹤注冊(cè)可以使得全息影像與真實(shí)物體虛實(shí)融合,就可以使用戶(hù)擺脫環(huán)境照度的限制,清楚地感知到物體的邊界和位置,并且與真實(shí)環(huán)境幾乎完全相同。
并且夜間作戰(zhàn)逐漸變?yōu)橐豁?xiàng)重要的訓(xùn)練科目。在夜間低光照的環(huán)境中,由于燈火管制以及隱蔽性需求,裝備的誘導(dǎo)維修和輔助作業(yè)等課目必須在無(wú)光或者微光環(huán)境中進(jìn)行,而在夜間環(huán)境中,HoloLens2的跟蹤注冊(cè)性能會(huì)失效,導(dǎo)致在白天能正常進(jìn)行的課目到了夜間就不能正常開(kāi)展?,F(xiàn)階段也沒(méi)有關(guān)于增強(qiáng)HoloLens2夜間跟蹤注冊(cè)功能的參考資料,這也就限制了HoloLens2在夜間低光照環(huán)境中的應(yīng)用。因此迫切需要研究一種方法,恢復(fù)HoloLens2在夜間的跟蹤注冊(cè)性能,允許HoloLens2被應(yīng)用到夜間作戰(zhàn)的輔助作業(yè)中,提升夜間輔助作業(yè)的效率。
目前關(guān)于低光照度下的跟蹤注冊(cè)研究,雖然不是基于HoloLens2,但是也具有參考價(jià)值。劉佳等[2]提出了一種新的AR標(biāo)記CH-Marker,它利用Hamming校驗(yàn)碼對(duì)多種顏色進(jìn)行編碼,該標(biāo)記在環(huán)境光照度為2 Lux且傳統(tǒng)的ARToolKit標(biāo)記失效的情況下,依然能夠?qū)崿F(xiàn)跟蹤注冊(cè)。Burak Benligiray等[3]提出了一種新的標(biāo)記STag,通過(guò)重復(fù)利用局部化特征來(lái)實(shí)現(xiàn)針對(duì)抖動(dòng)因素的魯棒性,顯著改善了低光照環(huán)境中姿態(tài)估計(jì)的魯棒性。Yazmin等[4]針對(duì)基于標(biāo)記的跟蹤系統(tǒng)對(duì)真實(shí)環(huán)境中光照條件的變化敏感問(wèn)題,提出了一種在光照條件動(dòng)態(tài)變化的半受控環(huán)境下估計(jì)目標(biāo)位置的方法。該方法提高了在低光照環(huán)境下標(biāo)記位置估計(jì)的準(zhǔn)確性。雖然上述研究工作改善了低光照環(huán)境下姿態(tài)估計(jì)的魯棒性,但是,客觀(guān)來(lái)說(shuō)其針對(duì)的低光照環(huán)境依然具有較強(qiáng)的能見(jiàn)度,所謂的低光照只是相對(duì)于光照較強(qiáng)的白天來(lái)說(shuō),并不是真正意義的低光照環(huán)境,依然具有良好的目視條件。而本文中用于實(shí)驗(yàn)的低光照環(huán)境是目視條件較差的環(huán)境。
因此,本文中針對(duì)夜間低光照環(huán)境中復(fù)雜的特種作業(yè),探究HoloLens2在夜間低光照環(huán)境下能穩(wěn)定跟蹤注冊(cè)的最低光照度,分析影響HoloLens2跟蹤注冊(cè)的因素,設(shè)計(jì)實(shí)驗(yàn),得出了一些具有指導(dǎo)性的結(jié)論。借此明晰HoloLens2的應(yīng)用范圍和潛力,為后續(xù)的混合現(xiàn)實(shí)項(xiàng)目開(kāi)發(fā)提供支撐。
與Google Glass、magic leap等AR設(shè)備只能在固定的位置呈現(xiàn)一個(gè)虛擬的顯示界面不同的是,HoloLens2能夠?qū)⑽锢憩F(xiàn)實(shí)與數(shù)字現(xiàn)實(shí)無(wú)縫地融合在一起,使生成的全息影像跟真實(shí)物體一樣,固定的“擺放”在真實(shí)環(huán)境中,并且能夠?qū)崿F(xiàn)視覺(jué)上的近大遠(yuǎn)小,相互遮擋,給人一種真實(shí)的感覺(jué)。要實(shí)現(xiàn)以上功能,HoloLens2需要實(shí)時(shí)地計(jì)算全息影像相對(duì)于自身以及真實(shí)環(huán)境的相對(duì)位置。
HoloLens2設(shè)備配備了1個(gè)深度攝像頭、1個(gè)RGB攝像機(jī)、4個(gè)可見(jiàn)光環(huán)境跟蹤攝像機(jī)和1個(gè)慣性測(cè)量單元(IMU),可提供完成其移動(dòng)室內(nèi)增強(qiáng)現(xiàn)實(shí)系統(tǒng)的不同任務(wù)所需的數(shù)據(jù),其中RGB相機(jī)不參與跟蹤,只允許用戶(hù)記錄截屏圖片和視頻[5]。圖1展示了它們?cè)谠O(shè)備上的排列方式。
圖1 HoloLens2中的傳感器Fig.1 The sensors in the HoloLens2
通過(guò)微軟官方提供的研究工具包,可以獲取HoloLens2中這些傳感器記錄的圖像[6],如圖2所示,序號(hào)①和序號(hào)②分別是HoloLens2中的左前和右前環(huán)境跟蹤相機(jī)記錄的灰度圖像,序號(hào)③代表由深度攝像頭捕獲的紅外信號(hào)計(jì)算得到的不受可見(jiàn)光影響的紅外圖像,序號(hào)④代表由深度攝像頭捕獲的深度圖像。
HoloLens2的深度攝像頭采集的深度信息精度并不高,若是由此來(lái)計(jì)算HoloLens2位置會(huì)使得誤差較大,可能會(huì)導(dǎo)致全息影像不能穩(wěn)定的固定在空間中。故HoloLens2通過(guò)視覺(jué)慣性SLAM算法(visual-inertial SLAM),用更為準(zhǔn)確的環(huán)境感知攝像頭來(lái)定位,IMU慣性單元來(lái)定姿。視覺(jué)慣性SLAM算法是融合相機(jī)和IMU數(shù)據(jù)實(shí)現(xiàn)SLAM的算法,相機(jī)和IMU融合有很好的互補(bǔ)性。經(jīng)典視覺(jué)慣性SLAM算法框架如圖3所示。
圖3 經(jīng)典視覺(jué)慣性SLAM算法流程Fig.3 Flow chart of the classical visual inertial SLAM algorithm
首先,通過(guò)將IMU估計(jì)的位姿序列和相機(jī)估計(jì)的位姿序列對(duì)齊,可以估計(jì)出相機(jī)軌跡的真實(shí)尺度,而且IMU可以很好地預(yù)測(cè)出圖像幀的位姿以及上一時(shí)刻特征點(diǎn)在下幀圖像的位置,提高特征跟蹤算法匹配速度和應(yīng)對(duì)快速旋轉(zhuǎn)的算法魯棒性,最后IMU中加速度計(jì)提供的重力向量可以將估計(jì)的位置轉(zhuǎn)為實(shí)際導(dǎo)航需要的世界坐標(biāo)系中。
通過(guò)分析算法,發(fā)現(xiàn)HoloLens2的跟蹤注冊(cè)功能在夜間失效的原因是特征提取步驟中沒(méi)有檢測(cè)到足夠的特征用于后續(xù)算法的匹配,所以要想增強(qiáng)HoloLens2在夜間的跟蹤注冊(cè)性能,就必須給HoloLens2提供足夠的可以被檢測(cè)到的特征。
HoloLens2用于頭部跟蹤的4個(gè)可見(jiàn)光相機(jī),其實(shí)是灰度相機(jī),它的功能是將實(shí)時(shí)錄制的視頻流傳輸給后臺(tái)實(shí)時(shí)運(yùn)行的跟蹤注冊(cè)進(jìn)程,進(jìn)行設(shè)備的位置解算,它敏感的輸入是視頻幀圖像各個(gè)像素灰度值的變化,簡(jiǎn)單來(lái)說(shuō)就是環(huán)境中的2D紋理。根據(jù)以上分析,可以判定環(huán)境中的2D紋理是影響HoloLens2跟蹤注冊(cè)的主要因素。但是具體是怎樣的2D紋理還需要從算法層面分析,典型的視覺(jué)慣性SLAM算法有OKVIS、VINS-mono及ORB-SLAM3。
1.2.1OKVIS
OKVIS是由Stefan Leutenegge等[7]提出的基于雙目與IMU融合的視覺(jué)慣性里程計(jì),它采用Brisk算法進(jìn)行特征提取,而B(niǎo)risk算法主要利用FAST9-16進(jìn)行特征點(diǎn)檢測(cè)。
首先針對(duì)原圖像構(gòu)造圖像金字塔,進(jìn)行多尺度表達(dá)得到多幅有角點(diǎn)信息的圖像,其次對(duì)原圖像進(jìn)行一次FAST5-8角點(diǎn)檢測(cè),得到一副有角點(diǎn)信息的圖像,接著對(duì)這幾幅圖像,進(jìn)行空間上的非極大值抑制(同SIFT算法的非極大值抑制):特征點(diǎn)在位置空間(8鄰域點(diǎn))和尺度空間(上下層2×9個(gè)點(diǎn)),共26個(gè)鄰域點(diǎn)的FAST的得分值要最大,否則不能當(dāng)做特征點(diǎn),而FAST的得分值就是中心點(diǎn)與周?chē)c(diǎn)像素差值的絕對(duì)值的總和。因此,OKVIS算法敏感的特征點(diǎn)就是圖像中的FAST角點(diǎn)。
1.2.2VINS-mono
VINS-mono算法是由Tong Qin等[8]提出的一種基于非線(xiàn)性?xún)?yōu)化的緊耦合的視覺(jué)慣性里程計(jì),它采用Shi-Tomasi角點(diǎn)檢測(cè)算子,是一種對(duì)Harris角點(diǎn)檢測(cè)算子的改進(jìn),雖然增加了檢測(cè)的復(fù)雜度,但是很好地控制了檢測(cè)到的角點(diǎn)的特性,比如角點(diǎn)個(gè)數(shù)、角點(diǎn)間最小間距等。因此,VINS-mono算法敏感的特征點(diǎn)就是圖像中的Harris角點(diǎn)。
1.2.3ORB-SLAM3
ORB-SLAM3算法是由Carlos Campos等[9-10]提出的一種基于特征的緊耦合的視覺(jué)慣性里程計(jì),它采用ORB方法進(jìn)行特征提取。而ORB方法也是在經(jīng)典的FAST方法上做了一些改進(jìn),增加了特征的尺度不變性和旋轉(zhuǎn)不變性。所以O(shè)RB-SLAM3算法敏感的特征點(diǎn)是FAST角點(diǎn)。
通常意義上來(lái)說(shuō),角點(diǎn)就是極值點(diǎn),即在某方面屬性特別突出的點(diǎn),是在某些屬性上強(qiáng)度最大或者最小的孤立點(diǎn)、線(xiàn)段的終點(diǎn)。對(duì)于圖像而言,圖4中紅色圓圈內(nèi)的部分,即為圖像的角點(diǎn),其是物體輪廓線(xiàn)的連接點(diǎn)。
圖4 角點(diǎn)特征Fig.4 Point features
根據(jù)對(duì)上述3種典型視覺(jué)慣性SLAM算法的分析,HoloLens2中內(nèi)置的視覺(jué)慣性算法敏感的2D紋理特征有可能是FAST角點(diǎn)、Harris角點(diǎn)。FAST角點(diǎn)和Harris角點(diǎn),雖然命名不同,但指的都是灰度值與周?chē)袼貙?duì)比明顯的像素點(diǎn)。綜上所述,HoloLens2的跟蹤注冊(cè)算法敏感的特征為角點(diǎn)。
本文中所有實(shí)驗(yàn)基于一個(gè)先驗(yàn)知識(shí),HoloLens2在跟蹤注冊(cè)完全失效的情況下,環(huán)境中注冊(cè)的全息圖會(huì)以相對(duì)固定的視角來(lái)呈現(xiàn),無(wú)論佩戴者怎樣移動(dòng),全息圖始終與佩戴者保持相對(duì)固定的位置不變;HoloLens2能夠穩(wěn)定跟蹤注冊(cè)時(shí),全息圖會(huì)固定在環(huán)境中,位置和方向不隨佩戴者的移動(dòng)而變化[11]。如圖5所示,當(dāng)佩戴者移動(dòng)時(shí),白天靶材位置固定,不隨佩戴者的移動(dòng)而變化,而在夜間靶材位置不能在空間中固定,始終與佩戴者保持相對(duì)固定的位置不變。
圖5 HoloLens2在白天和夜間的跟蹤注冊(cè)性能對(duì)比Fig.5 HoloLens2 tracking registration performance comparison during the day and at night
本文中不討論增強(qiáng)后HoloLens2跟蹤注冊(cè)的精度,因?yàn)楸疚闹械墓ぷ魇腔謴?fù)低光照度環(huán)境中HoloLens2的跟蹤注冊(cè)性能,全息圖的注冊(cè)精度還是取決于HoloLens2自身的跟蹤注冊(cè)算法,并且研究表明,HoloLens2的跟蹤注冊(cè)精度在2 cm左右[12],滿(mǎn)足絕大部分的應(yīng)用場(chǎng)景需求。
HoloLens2通過(guò)環(huán)境跟蹤相機(jī)和IMU進(jìn)行位置估計(jì),進(jìn)而完成跟蹤注冊(cè)。但是在夜間低光照環(huán)境中,環(huán)境跟蹤相機(jī)捕獲的幀圖像流作為視覺(jué)慣性SLAM算法的輸入,在特征點(diǎn)檢測(cè)步驟中無(wú)法檢測(cè)出特征點(diǎn)用于特征點(diǎn)匹配,更不用說(shuō)進(jìn)行位置估計(jì)了。所以需要測(cè)試HoloLens2穩(wěn)定跟蹤注冊(cè)所需的最低光照強(qiáng)度,指導(dǎo)后續(xù)研究恢復(fù)HoloLens2在夜間低光照環(huán)境中跟蹤注冊(cè)性能方法的實(shí)驗(yàn)環(huán)境設(shè)置。
在探究HoloLens2能夠穩(wěn)定跟蹤注冊(cè)所需的最低環(huán)境光照度實(shí)驗(yàn)中,選擇較為空曠的走廊作為實(shí)驗(yàn)環(huán)境,走廊為半透明式,一邊為透光玻璃,一邊為白色平面墻。HoloLens2設(shè)備固定在垂直面向墻壁的可移動(dòng)支架上并記錄視頻。為了消除實(shí)驗(yàn)設(shè)備之間的性能差別導(dǎo)致實(shí)驗(yàn)數(shù)據(jù)的差異,實(shí)驗(yàn)使用6臺(tái)Hololens2設(shè)備在相同環(huán)境中同時(shí)進(jìn)行實(shí)驗(yàn)。
首先,通過(guò)弱光照度計(jì)stl-86測(cè)量實(shí)驗(yàn)前1天19時(shí)到天色完全變暗之后的光照變化規(guī)律,且連續(xù)2 d相同的時(shí)間段,光照度的變化是相似的,這也為后續(xù)的試驗(yàn)提供依據(jù)。
其次,實(shí)驗(yàn)設(shè)備放置在距離白色墻面0.5 m的距離,墻壁填滿(mǎn)了攝像頭的整個(gè)視野。實(shí)驗(yàn)靶材在空間中距眼鏡垂直距離0.5 m,位于眼鏡的右前方,水平距離為0.3 m。根據(jù)之前預(yù)實(shí)驗(yàn)的結(jié)果,從3 Lux的環(huán)境光照度開(kāi)始,以0.1 Lux為梯度逐漸遞減至0.05 Lux,在每個(gè)光照度節(jié)點(diǎn),視頻以30 fps的幀速率連續(xù)記錄10 s,每次記錄,使HoloLens2跟隨固定支架勻速水平向右移動(dòng)0.6 m。實(shí)驗(yàn)設(shè)置如圖6所示。
圖6 實(shí)驗(yàn)設(shè)置Fig.6 Experimental setting
設(shè)計(jì)實(shí)驗(yàn)靶材如圖7所示,靶材上有一個(gè)藍(lán)色的圓形圖案,當(dāng)HoloLens2能夠穩(wěn)定跟蹤注冊(cè)時(shí),佩戴者位置的變化,會(huì)導(dǎo)致HoloLens2彩色RGB相機(jī)捕獲圖像的像素中心與圖像中藍(lán)色圓形中心之間的像素距離發(fā)生變化。隨后,分析各個(gè)視頻中兩者之間的像素距離變化,以表征HoloLens2是否恢復(fù)了跟蹤注冊(cè)性能。并且設(shè)置2個(gè)對(duì)照組,分別在環(huán)境光照度合適的環(huán)境以及在光照度最低的環(huán)境中,用相同的實(shí)驗(yàn)方法以30 fps的幀速率記錄10 s的視頻。
圖7 實(shí)驗(yàn)靶材Fig.7 Experimental target material
設(shè)置預(yù)實(shí)驗(yàn),測(cè)量實(shí)驗(yàn)環(huán)境自然光照度的變化規(guī)律,測(cè)量時(shí)間為2022年6月10日,且測(cè)量前后幾天的變化不會(huì)太大,不影響實(shí)驗(yàn)的開(kāi)展。結(jié)果如圖8所示。
圖8 實(shí)驗(yàn)環(huán)境自然光照度變化Fig.8 Natural illumination variation in the experimental environment
實(shí)驗(yàn)設(shè)置了對(duì)照組,并且使用了6臺(tái)HoloLens2進(jìn)行實(shí)驗(yàn)。對(duì)于實(shí)驗(yàn)錄制的視頻片段進(jìn)行抽幀處理,對(duì)每個(gè)視頻片段抽取50幀進(jìn)行數(shù)據(jù)處理,計(jì)算圖像中心與圓圈中心像素距離的變化,對(duì)照組實(shí)驗(yàn)結(jié)果如圖9所示,紅色數(shù)據(jù)對(duì)應(yīng)HoloLens2跟蹤注冊(cè)失效對(duì)照組,因?yàn)榘胁南鄬?duì)佩戴者保持相對(duì)位置不變,所以圖像像素中心和藍(lán)色圓圈中心之間的像素距離保持不變;藍(lán)色數(shù)據(jù)對(duì)應(yīng)HoloLens2跟蹤注冊(cè)未失效対照組,因?yàn)榘胁臅?huì)在空間中固定位置,當(dāng)佩戴者從靠近靶材中心左邊移動(dòng)到靠近靶材中心右邊后,圖像像素中心與藍(lán)色圓圈中心之間的像素距離會(huì)先減小后增大,呈現(xiàn)一個(gè)V字形。
圖9 對(duì)照組實(shí)驗(yàn)結(jié)果Fig.9 Results of the control group experiment
從圖9可以看出,HoloLens2的跟蹤注冊(cè)未失效時(shí),在實(shí)驗(yàn)中向右勻速移動(dòng)0.6 m,實(shí)驗(yàn)靶材圓心與圖像中心之間像素距離的變化可以看作是線(xiàn)性的;依據(jù)先驗(yàn)知識(shí),如果HoloLens2的跟蹤注冊(cè)性能失效,則像素距離不發(fā)生變化。參照對(duì)照組的實(shí)驗(yàn)結(jié)果,分析6臺(tái)HoloLens2的實(shí)驗(yàn)結(jié)果,符合對(duì)照組的結(jié)果記為1,不符合對(duì)照組的結(jié)果記為0。實(shí)驗(yàn)結(jié)果如表1所示。
表1 不同光照度下HoloLens2跟蹤注冊(cè)性能測(cè)試結(jié)果Table 1 HoloLens2 tracking registration performance test results at different illumination levels
由表1可知,有5臺(tái)HoloLens2在環(huán)境光照度為0.40 Lux時(shí),跟蹤注冊(cè)性能失效;有1臺(tái)HoloLens2在環(huán)境光照度為0.30 Lux時(shí),跟蹤注冊(cè)性能失效。雖然有1臺(tái)設(shè)備的實(shí)驗(yàn)數(shù)據(jù)與其他幾臺(tái)數(shù)據(jù)有較小的差異,但是大部分HoloLens2的閾值穩(wěn)定在0.40 Lux左右,并且因?yàn)閷?shí)驗(yàn)的自變量也就是光照度,其變化不是連續(xù)的,實(shí)驗(yàn)所尋求的真值不一定就是0.40 Lux,也有可能是在0.40 Lux上下波動(dòng)的某個(gè)值,但是考慮到結(jié)論的普適性以及環(huán)境照度精確到小數(shù)點(diǎn)后一位,已經(jīng)滿(mǎn)足絕大多數(shù)的應(yīng)用場(chǎng)景需求,所以可以認(rèn)為HoloLens2能夠穩(wěn)定跟蹤注冊(cè)的最低環(huán)境光照度為0.40 Lux。
實(shí)驗(yàn)二的目的是探明紋理對(duì)HoloLens2跟蹤注冊(cè)性能的影響規(guī)律,并得出紋理設(shè)計(jì)的指導(dǎo)性原則。因?yàn)樵诘凸庹斩拳h(huán)境下,如果不對(duì)2D紋理進(jìn)行特殊處理的話(huà),HoloLens2的攝像機(jī)根本無(wú)法捕獲到擁有紋理信息的視頻流,這是不能單純依靠改進(jìn)算法能夠解決的。圖10為在光照度分別為250 Lux和0.25 Lux的環(huán)境中,HoloLens2的攝像頭捕獲2D紋理圖像的對(duì)比。圖10(a)中,左上和右上2張圖分別是HoloLens2的左前和右前環(huán)境跟蹤相機(jī)捕獲的圖像,左下是HoloLens2的深度相機(jī)捕獲的紅外圖像,右下是HoloLens2的深度相機(jī)捕獲的深度圖。圖10(b)是對(duì)同一場(chǎng)景在不同光照度環(huán)境中拍攝的。左下和右下的紅框是深度相機(jī)捕獲的圖像,可以證明與圖10(a)的拍攝場(chǎng)景相同,都是對(duì)一只茶杯的近距離拍攝。左上和右上的紅框是環(huán)境跟蹤相機(jī)拍攝的圖像??梢钥闯?在低光照環(huán)境中,幾乎不能觀(guān)察到茶杯的存在。
圖10 不同光照度下Hololens2相機(jī)捕獲的圖像Fig.10 Images captured by the Hololens2 cameras at different illumination levels
本文中采用熒光增強(qiáng)方法,使用3D打印機(jī)打印含有特征信息的紋理,將含有紋理信息的部分打印為中空網(wǎng)格,并采用涂抹熒光顏料的方法增強(qiáng)紋理,這樣能夠使得熒光涂料涂抹均勻,發(fā)光效果較佳。圖11(a)是2D紋理的原型;圖11(b)是3D打印后涂抹熒光涂料的紋理,大小為8 cm×8 cm;圖11(c)是HoloLens2的環(huán)境跟蹤相機(jī)在低光照度環(huán)境中捕獲的圖像,可以清晰看到發(fā)光紋理,該紋理在HoloLens2的環(huán)境跟蹤相機(jī)捕獲圖像中占用的像素寬度為80。
圖11 熒光2D紋理Fig.11 Fluorescence 2D texture
依據(jù)第2節(jié)的結(jié)論,HoloLens2敏感的特征為環(huán)境跟蹤相機(jī)捕獲圖像中的角點(diǎn)信息。很多自然紋理都含有角點(diǎn),理論上來(lái)說(shuō)可以用來(lái)增強(qiáng)低光照環(huán)境下HoloLens2的跟蹤注冊(cè)性能,但是自然紋理較為復(fù)雜,不方便制作為熒光的紋理應(yīng)用于夜間。所以需要設(shè)計(jì)紋理簡(jiǎn)單且角點(diǎn)信息豐富的紋理,實(shí)現(xiàn)夜間HoloLens2的跟蹤注冊(cè)增強(qiáng)。
又因?yàn)槿斯ぴO(shè)計(jì)的標(biāo)記紋理簡(jiǎn)單且特征信息豐富,提供比場(chǎng)景中自然可用的特征更明確的特征[13],可以提升算法對(duì)于特征點(diǎn)的識(shí)別效率,所以本次實(shí)驗(yàn)部分選用了現(xiàn)有成熟標(biāo)記系統(tǒng)的標(biāo)記作為測(cè)試對(duì)象,部分為根據(jù)第2節(jié)的結(jié)論設(shè)計(jì)的標(biāo)記。
3.1.1紋理的選擇
實(shí)驗(yàn)紋理如圖12所示。
圖12 實(shí)驗(yàn)紋理Fig.12 Experimental texture
1) 在傳統(tǒng)的基于人工標(biāo)記的跟蹤注冊(cè)[14]中,對(duì)稱(chēng)的紋理會(huì)造成對(duì)位姿估計(jì)的混淆,這并不一定能恢復(fù)HoloLens2的夜間跟蹤注冊(cè)性能。因此選用紋理(a)、(b),探究對(duì)稱(chēng)的紋理是否能對(duì)HoloLens2實(shí)現(xiàn)增強(qiáng)。
2) 當(dāng)紋理的邊緣較模糊,檢測(cè)得到的特征角點(diǎn)的得分值相差不大[15],無(wú)法通過(guò)最大值抑制得到關(guān)鍵特征點(diǎn)。因此,選用了紋理(g)、(h)作為對(duì)比,探究紋理邊緣的銳度對(duì)于最終增強(qiáng)效果的影響。
3) 并且考慮到熒光紋理在夜間成像時(shí)會(huì)有光暈產(chǎn)生,使圖像中紋理的邊緣特征會(huì)發(fā)生模糊,這就導(dǎo)致較窄的條狀方格在圖形中變?yōu)榱艘粭l模糊的直線(xiàn),所以選取了(b)、(c)、(d)等3種特征相同但標(biāo)記寬度不同的紋理作對(duì)比,探究紋理的寬度對(duì)于最終增強(qiáng)效果的影響。
4) 在基于人工標(biāo)記的跟蹤系統(tǒng)中,標(biāo)記的輪廓可以幫助系統(tǒng)快速檢測(cè)圖像中的標(biāo)記,進(jìn)而去進(jìn)行特征點(diǎn)的檢測(cè)。所以,為了探究輪廓能否對(duì)于HoloLens2的跟蹤注冊(cè)起到增強(qiáng)的效果,選取了(i)、(j)等2種紋理做對(duì)比。
5) 在標(biāo)記寬度相同的情況下,特征點(diǎn)的數(shù)量是否會(huì)對(duì)最終的增強(qiáng)效果產(chǎn)生影響,本文中選取紋理(c)、(e)、(f)作為對(duì)比,探究紋理中角點(diǎn)的數(shù)量對(duì)于最終增強(qiáng)效果的影響。
本文中選擇這10種2D紋理作為實(shí)驗(yàn)測(cè)試對(duì)象,其中圖12(a)、(d)、(f)、(g)、(i)、(j)為依據(jù)本文中第2節(jié)分析設(shè)計(jì)的紋理特征N-Texture;圖12(b)、(c)、(e)為ARToolkit[16]系統(tǒng)中的標(biāo)記,圖12(h)為SIFTTag[17]系統(tǒng)中的標(biāo)記,以上4種紋理均為成熟標(biāo)記跟蹤系統(tǒng)采用的基準(zhǔn)標(biāo)記。
3.1.2實(shí)驗(yàn)步驟
測(cè)試上述所有紋理在HoloLens2的跟蹤注冊(cè)性能失效情況下對(duì)于HoloLens2的增強(qiáng)效果。實(shí)驗(yàn)的光照度設(shè)置為0.30 Lux到0.05 Lux,遞減梯度為0.05 Lux。此次實(shí)驗(yàn),本文中使用一臺(tái)HoloLens2捕獲固定標(biāo)記的圖像,使用8 cm×8 cm尺寸打印所有2D紋理,使用雙面膠固定在白色的墻面上,HoloLens2安裝在標(biāo)記高度的可移動(dòng)三腳架,具體設(shè)置同實(shí)驗(yàn)一。通過(guò)保持HoloLens2靜止并手動(dòng)操作夾具來(lái)調(diào)整視角和距離。為了消除實(shí)驗(yàn)中熒光紋理發(fā)光亮度不同導(dǎo)致試驗(yàn)效果的差異,本文中使用強(qiáng)光光源照射熒光紋理后,使用照度計(jì)貼近紋理測(cè)量發(fā)光亮度,當(dāng)熒光紋理發(fā)光亮度在2.5 Lux左右時(shí)開(kāi)始記錄實(shí)驗(yàn)數(shù)據(jù)。
在特定的環(huán)境光照度中,每次實(shí)驗(yàn)以30 fps的幀速率連續(xù)記錄10 s,同時(shí)支架勻速向右移動(dòng)0.6 m。并且設(shè)置一個(gè)參照組,在環(huán)境光照度合適的環(huán)境中,不施加紋理因素的影響,用相同實(shí)驗(yàn)方法以30 fps的幀速率記錄10 s的視頻。計(jì)算每幀圖像的像素中心與藍(lán)色圓圈中心的像素距離,以表征HoloLens2的跟蹤注冊(cè)性能。通過(guò)對(duì)比對(duì)照組幀圖像的像素中心與實(shí)驗(yàn)靶材上藍(lán)色圓圈中心的像素距離的變化,判斷在當(dāng)前環(huán)境光照度下,對(duì)HoloLens2施加特定的熒光紋理影響之后,HoloLens2是否能夠恢復(fù)跟蹤注冊(cè)性能。
在傳統(tǒng)的基于人工標(biāo)記的跟蹤注冊(cè)系統(tǒng)中,攝像頭與標(biāo)記之間的距離、角度和檢測(cè)時(shí)間一直作為評(píng)價(jià)標(biāo)記和跟蹤注冊(cè)算法性能的指標(biāo)[18-20]。所以本文中使用恢復(fù)跟蹤注冊(cè)耗費(fèi)時(shí)間、有效距離范圍及有效視角范圍3個(gè)指標(biāo)去評(píng)價(jià)不同的紋理對(duì)于HoloLens2跟蹤注冊(cè)性能的增強(qiáng)效果。
1) 針對(duì)耗費(fèi)時(shí)間的實(shí)驗(yàn),實(shí)驗(yàn)在光照度為0.05 Lux的環(huán)境下進(jìn)行,并測(cè)試所有紋理。首先,使用黑色紙板遮擋HoloLens2的可見(jiàn)光相機(jī);其次,打開(kāi)實(shí)驗(yàn)靶材的程序,同時(shí)以30 fps的幀速率記錄視頻;接著讓固定HoloLens2的支架沿著左右方向勻速進(jìn)行往復(fù)運(yùn)動(dòng),并在運(yùn)動(dòng)開(kāi)始大約2 s后移開(kāi)黑色紙板,記錄30 s的視頻用作后續(xù)數(shù)據(jù)分析。從視頻中熒光紋理出現(xiàn)的第一幀開(kāi)始,截取25 s的視頻。每秒抽取5幀,分析每幀圖像的中心與靶材上圓圈中心的像素距離的變化,進(jìn)而判斷HoloLens2是否恢復(fù)跟蹤注冊(cè)性能。
2) 針對(duì)有效距離的實(shí)驗(yàn),實(shí)驗(yàn)設(shè)置同上述實(shí)驗(yàn)。設(shè)置距離梯度為5 cm,從最開(kāi)始的30 cm開(kāi)始,逐漸遞增至200 cm。在每個(gè)距離節(jié)點(diǎn),打開(kāi)實(shí)驗(yàn)靶材程序后先靜止30 s,確保HoloLens2有充足的時(shí)間恢復(fù)跟蹤注冊(cè),接著讓固定HoloLens2的支架向右勻速移動(dòng)0.6 m,并以30 fps的幀速率記錄視頻。同樣分析每幀圖像的中心與靶材上圓圈中心的像素距離的變化,進(jìn)而判斷HoloLens2是否恢復(fù)跟蹤注冊(cè)性能。
3) 針對(duì)有效視角范圍的實(shí)驗(yàn),設(shè)置同上述實(shí)驗(yàn)。先設(shè)置角度梯度為5°,從0°開(kāi)始,逐漸遞增至80°。在每個(gè)角度節(jié)點(diǎn)以30 fps的幀速記錄10 s的視頻用作后續(xù)的數(shù)據(jù)分析。確定每種紋理的有效角度大致范圍,然后在有效范圍邊界左右浮動(dòng)10°,設(shè)置角度梯度為1°,重復(fù)進(jìn)行實(shí)驗(yàn)。
3.2.1實(shí)驗(yàn)結(jié)果分析
首先測(cè)試了10種2D紋理在不同環(huán)境光照度時(shí)對(duì)于HoloLens2的增強(qiáng)效果。參照對(duì)照組的實(shí)驗(yàn)結(jié)果,分析10種2D紋理在不同光照度下的實(shí)驗(yàn)結(jié)果如表2所示,發(fā)現(xiàn)在最低環(huán)境光照度下,除了紋理(h)不能使HoloLens2恢復(fù)跟蹤注冊(cè)性能,剩余的9種紋理都能讓HoloLens2恢復(fù)跟蹤注冊(cè)性能。這個(gè)結(jié)果說(shuō)明了即使在光照度很低的環(huán)境中,只要紋理的發(fā)光亮度達(dá)到HoloLens2可見(jiàn)光相機(jī)的敏感閾值并且紋理中含有角點(diǎn)信息,該紋理對(duì)于HoloLens2的夜間跟蹤注冊(cè)就有增強(qiáng)效果,只不過(guò)不同紋理對(duì)于增強(qiáng)效果的強(qiáng)弱不同。紋理(h)之所以不能使HoloLens2在夜間恢復(fù)跟蹤注冊(cè)性能,是因?yàn)槟:募y理邊緣會(huì)導(dǎo)致紋理中特征點(diǎn)不明顯,使得算法檢測(cè)不到特征點(diǎn)去估計(jì)HoloLens2的位置變化。
表2 不同紋理對(duì)HoloLens2跟蹤注冊(cè)性能增強(qiáng)效果Table 2 Different textures for HoloLens2 tracking registration performance enhancements
并且紋理對(duì)稱(chēng)與否不影響該紋理恢復(fù)HoloLens2的跟蹤注冊(cè)性能,差異只體現(xiàn)在某些指標(biāo)上增強(qiáng)的效果不同。這恰恰證明了HoloLens2是采用IMU來(lái)定姿,環(huán)境跟蹤相機(jī)來(lái)定位。HoloLens2位置的改變會(huì)導(dǎo)致環(huán)境跟蹤相機(jī)得到關(guān)鍵幀間特征點(diǎn)位置的變化,所以無(wú)論紋理是否對(duì)稱(chēng),依然能使HoloLens2在低光照環(huán)境中恢復(fù)跟蹤注冊(cè)性能。
關(guān)于恢復(fù)跟蹤注冊(cè)耗費(fèi)時(shí)間、有效距離范圍及有效視角范圍3種評(píng)價(jià)指標(biāo)的實(shí)驗(yàn)結(jié)果,如圖13所示。
圖13 3種指標(biāo)的實(shí)驗(yàn)結(jié)果Fig.13 Experimental results of the three indicators
1) 根據(jù)分別代表不同標(biāo)記寬度的紋理(a)、(c)、(d)的實(shí)驗(yàn)結(jié)果可知,隨著標(biāo)記寬度的增加,標(biāo)記在3種指標(biāo)方面的表現(xiàn)也逐漸提升。但這是建立在3種標(biāo)記紋理特征完全相同的前提下,與紋理(c)標(biāo)記寬度相同但是特征數(shù)量較多的紋理f在3種指標(biāo)方面的表現(xiàn)要優(yōu)于紋理(c)。這也說(shuō)明了紋理對(duì)于HoloLens2的增強(qiáng)效果是由特征數(shù)量和標(biāo)記寬度共同影響的。
并且,可以看出紋理(a)的標(biāo)記寬度是10種標(biāo)記中最大的,其只在距離指標(biāo)方面表現(xiàn)是最優(yōu)的。由此可以認(rèn)為標(biāo)記寬度對(duì)于標(biāo)記在距離上的表現(xiàn)是最關(guān)鍵的。更寬的標(biāo)記使得HoloLens2的環(huán)境跟蹤相機(jī)能夠在更遠(yuǎn)距離上清晰地分辨出紋理上的邊緣和角點(diǎn),進(jìn)而使HoloLens2能恢復(fù)跟蹤注冊(cè)功能。
2) 針對(duì)有無(wú)輪廓對(duì)于增強(qiáng)效果的影響,通過(guò)分析紋理(i)、(j)的實(shí)驗(yàn)結(jié)果得出,紋理(i)、(j)在時(shí)間指標(biāo)方面的表現(xiàn)相差不大,但是在距離和角度指標(biāo)方面差異較大。有輪廓的紋理在距離和角度指標(biāo)方面優(yōu)于無(wú)輪廓的紋理。說(shuō)明輪廓對(duì)于提升紋理在距離和角度指標(biāo)方面的表現(xiàn)起到了關(guān)鍵作用。輪廓的存在充分利用了紋理中的白色部分,輪廓與紋理中的白色部分結(jié)合,提供了更穩(wěn)定的角點(diǎn)特征信息,所以會(huì)提升紋理在距離和角度指標(biāo)方面的表現(xiàn)。
3) 針對(duì)角點(diǎn)數(shù)量對(duì)于增強(qiáng)效果的影響,通過(guò)對(duì)比紋理(c)、(e)、(f)可知,3種紋理的標(biāo)記寬度相同,角點(diǎn)數(shù)量不同。從圖13可以看出,在時(shí)間指標(biāo)方面,按照角點(diǎn)數(shù)量由多到少排序,(f)、(e)、(c)耗費(fèi)的時(shí)間分別為8.6、5.6、4.9 s。可以看出紋理(c)與(e)、(f)相差較大,但是紋理(e)、(f)之間相差不大。說(shuō)明特征點(diǎn)的數(shù)量越多,對(duì)于時(shí)間指標(biāo)的提升效果越好,但是當(dāng)特征點(diǎn)數(shù)量超過(guò)某個(gè)閾值的時(shí)候,對(duì)于指標(biāo)的提升效果就沒(méi)有那么明顯了。
4) 在距離指標(biāo)方面,三者的數(shù)據(jù)相差不大,非常相似。這說(shuō)明,紋理的標(biāo)記寬度對(duì)于紋理在距離指標(biāo)方面的影響是關(guān)鍵的,與紋理中角點(diǎn)的數(shù)量關(guān)系不大。
5) 在角度指標(biāo)方面,由實(shí)驗(yàn)結(jié)果可知,當(dāng)角點(diǎn)數(shù)量越多,紋理在角度指標(biāo)方面的表現(xiàn)越好。這說(shuō)明當(dāng)距離一定時(shí),角點(diǎn)的數(shù)量越多,在相機(jī)視角改變后,才能保證有足夠數(shù)量相互對(duì)應(yīng)的特征點(diǎn)被檢測(cè)到,用于估計(jì)相機(jī)的位置變化。
3.2.2實(shí)驗(yàn)結(jié)論
通過(guò)對(duì)比不同類(lèi)型的紋理對(duì)于HoloLens2的增強(qiáng)效果,總結(jié)出了5條紋理的設(shè)計(jì)原則。
1) 紋理設(shè)計(jì)不區(qū)分對(duì)稱(chēng)性。實(shí)驗(yàn)結(jié)果顯示無(wú)論紋理對(duì)稱(chēng)與否,都能夠增強(qiáng)HoloLens2的夜間跟蹤注冊(cè)功能。
2) 紋理中的邊緣必須是清晰的、高銳度的。邊緣模糊的紋理被實(shí)驗(yàn)證實(shí)不能夠增強(qiáng)HoloLens2的夜間跟蹤注冊(cè)功能。
3) 優(yōu)先選擇有輪廓的紋理。實(shí)驗(yàn)結(jié)果證明有輪廓的紋理在各方面都優(yōu)于無(wú)輪廓的紋理。
4) 標(biāo)記的像素寬度選擇10較為合適。實(shí)驗(yàn)結(jié)果證明選擇10像素寬度的紋理能夠在各個(gè)指標(biāo)方面綜合獲得更優(yōu)的效果。
5) 在紋理標(biāo)記寬度相同的情況下,應(yīng)選擇角點(diǎn)數(shù)量更多的紋理。實(shí)驗(yàn)結(jié)果證明當(dāng)標(biāo)記寬度相同時(shí),紋理中的角點(diǎn)數(shù)量越多,在角度指標(biāo)方面表現(xiàn)更優(yōu)。
以上5條設(shè)計(jì)原則為之后開(kāi)發(fā)夜間低光照環(huán)境下的混合現(xiàn)實(shí)項(xiàng)目提供了依據(jù),提高了開(kāi)發(fā)效率。
本文中設(shè)計(jì)了2個(gè)實(shí)驗(yàn),分別測(cè)試了HoloLens2在低光照環(huán)境下跟蹤注冊(cè)性能以及分析,并測(cè)試了不同紋理對(duì)于HoloLens2的增強(qiáng)效果。實(shí)驗(yàn)結(jié)果顯示HoloLens2能夠穩(wěn)定跟蹤注冊(cè)的最低光照強(qiáng)度為0.4 Lux,熒光紋理在夜間低光照環(huán)境用于增強(qiáng)HoloLens2的跟蹤注冊(cè)功能是可行的,并且效果滿(mǎn)足正常使用要求。
通過(guò)分析實(shí)驗(yàn)結(jié)果,總結(jié)出紋理的5條設(shè)計(jì)原則或建議,以用于指導(dǎo)后續(xù)的低照度環(huán)境項(xiàng)目開(kāi)發(fā),分別為:① 不區(qū)分對(duì)稱(chēng)性;② 清晰的邊緣;③ 擁有包絡(luò)輪廓;④ 標(biāo)記像素寬度為10能獲得較好的效果;⑤ 標(biāo)記寬度相同的前提下,應(yīng)有盡量多的特征角點(diǎn)。