劉藝璇
(唐山市第二中學(xué),河北唐山,130200)
隨著我國(guó)社會(huì)主義現(xiàn)代化的不斷推進(jìn),大部分中小學(xué)教學(xué)設(shè)施配備基本完善。但由于人們對(duì)教育的要求不再只是單純學(xué)習(xí)書本知識(shí),更多的是追求不斷提高實(shí)踐與掌握的能力?,F(xiàn)階段我國(guó)正處于并將長(zhǎng)期處于社會(huì)主義初級(jí)階段,人口基數(shù)大,即使在普及了九年義務(wù)教育的情況下,大多數(shù)地區(qū)只能滿足學(xué)生上理論課的需求。教育資源和教學(xué)場(chǎng)地并不能滿足大部分學(xué)生的實(shí)驗(yàn)需要,且實(shí)驗(yàn)的安全性和可操作性也值得考慮。此外五大創(chuàng)新理念以及可持續(xù)發(fā)展戰(zhàn)略要求我們不能為了教學(xué)而忽視過(guò)多實(shí)驗(yàn)造成的資源浪費(fèi)。這就造成了一定的矛盾和分歧。而隨著高端技術(shù)的集成,VR以及AR技術(shù)在游戲中的應(yīng)用已經(jīng)十分廣泛且比較成熟,更重要的是在文物保護(hù)領(lǐng)域已經(jīng)做出了突出貢獻(xiàn)[1]。例如坐落在河西走廊西端,以精美的壁畫和塑像聞名于世的莫高窟。盡管一代又一代工匠們縱畢生之力,保護(hù)敦煌文化能夠綿延傳承,但游客們?cè)谟^賞壁畫時(shí)[2],僅僅呼吸就會(huì)對(duì)壁畫造成影響,其他種種因素更是會(huì)對(duì)壁畫造成不可逆的損害。對(duì)外開放的洞窟屈指可數(shù)。而運(yùn)用AR、VR等技術(shù)再現(xiàn)敦煌文化,經(jīng)數(shù)字化復(fù)原,鮮艷的敦煌壁畫重新呈現(xiàn)在世人面前,不僅打破了時(shí)間和空間限制,拉近了觀眾和文化遺產(chǎn)的距離。更使這些珍貴的國(guó)寶得以完好的保留。無(wú)獨(dú)有偶,北京故宮博物院一直緊隨科技潮流,不久之前正式在互聯(lián)網(wǎng)上推出了北京故宮博物院VR全景[3-5]。此舉不僅僅是為符合“互聯(lián)網(wǎng)+”的大趨勢(shì),同時(shí)也是希望借助北京故宮博物院VR全景讓更多無(wú)法親臨的人,可以在互聯(lián)網(wǎng)上身臨其境般的欣賞故宮博物院的壯觀景象和深厚的歷史底蘊(yùn)。由此觀之,將虛擬現(xiàn)實(shí)技術(shù)應(yīng)用于實(shí)驗(yàn)教學(xué)領(lǐng)域具有較大的可行性[6]。
視覺(jué)同時(shí)定位與建圖(Simultaneous localization and mapping, SLAM)是一套從機(jī)器人領(lǐng)域發(fā)展出來(lái)的算法,后來(lái)被廣泛應(yīng)用于自動(dòng)駕駛、機(jī)器人、增強(qiáng)現(xiàn)實(shí)和虛擬現(xiàn)實(shí)等各個(gè)領(lǐng)域。常見的視覺(jué)SLAM所使用的傳感器有單目相機(jī),雙目相機(jī)和深度相機(jī)[7,8]。對(duì)于單目相機(jī)而言,由于單個(gè)坐標(biāo)所對(duì)應(yīng)的是一條射線,單目很難去確定物體的確切位置[9]。相比較而言,雙目相機(jī)可以通過(guò)兩個(gè)固定的相機(jī)可以恢復(fù)出比較準(zhǔn)確的深度信息,但是會(huì)存在計(jì)算量比較大的問(wèn)題。而深度相機(jī)可以通過(guò)物理的方式測(cè)出比較準(zhǔn)確的深度信息,所以整體算法的速度比較快,得到的深度信息也準(zhǔn)確,但是在面臨比較空曠的場(chǎng)景時(shí)會(huì)出現(xiàn)大量的“空洞”。目前,三種方案都有著廣泛的應(yīng)用[10]。此外,還有結(jié)合多種傳感器的SLAM算法,可以顯著提高SLAM算法的穩(wěn)定性[11]。
本文在深入分析目前實(shí)踐教學(xué)和SLAM技術(shù)的基礎(chǔ)上,設(shè)計(jì)了一款可以用于虛擬實(shí)驗(yàn)教學(xué)的AR系統(tǒng)。該系統(tǒng)可以在節(jié)約教師資源等各種教學(xué)資源的基礎(chǔ)上,使學(xué)生能夠身臨其境地感受到實(shí)驗(yàn)的魅力。
圖1 視覺(jué)SLAM技術(shù)示意圖
如圖1所示,是視覺(jué)SLAM整體技術(shù)的示意圖。SLAM作為一項(xiàng)可以同時(shí)圖片恢復(fù)相機(jī)運(yùn)動(dòng)軌跡和周圍環(huán)境三維結(jié)構(gòu)的技術(shù)可以看做是相機(jī)拍照的一個(gè)逆過(guò)程。不同于人可以識(shí)別出兩幅圖片中相同的內(nèi)容,計(jì)算機(jī)中以矩陣的形式存放圖片,所以計(jì)算機(jī)無(wú)法直接識(shí)別出圖片。在SLAM算法中。需要有相機(jī)不停地采集周圍環(huán)境中的信息,如圖片等。為了計(jì)算相鄰兩幀圖片之間的相對(duì)運(yùn)動(dòng)關(guān)系,需要識(shí)別出兩幀圖片中共同出現(xiàn)過(guò)的位置。首先對(duì)單幅圖像進(jìn)行局部特征點(diǎn)的提取,目的是提取到圖片中有代表性且穩(wěn)定的局部特征點(diǎn),所謂“特征點(diǎn)”,通俗來(lái)說(shuō)就是在同一場(chǎng)景中采集的多幅圖片重復(fù)出現(xiàn)的具有突出特征的部分。即在不同的圖片中,檢測(cè)圖像的局部特征,找到同一物體獨(dú)一無(wú)二的、比較明顯的、區(qū)分度較高的一個(gè)點(diǎn),例如邊緣、角點(diǎn)等。這一類算法有FAST角點(diǎn)提取算法等。特征點(diǎn)檢測(cè)完成之后,得到的特征點(diǎn)只有在圖片中的位置信息,無(wú)法對(duì)不同的特征點(diǎn)進(jìn)行對(duì)比。此時(shí)需要利用以特征點(diǎn)為中心的區(qū)域信息,并充分利用該區(qū)域的信息,如灰度值直方圖等,并生成一個(gè)高緯度的描述符。另外,通過(guò)描述符可以消除視角的變化帶來(lái)圖像的尺度和方向的變化,能夠更好的在圖像間匹配。描述符需要對(duì)特征點(diǎn)及其周圍的像素點(diǎn)進(jìn)行計(jì)算。在得到兩幅相鄰圖像所有的局部描述符之后,需要對(duì)兩幅圖片的描述符進(jìn)行匹配。然后對(duì)幾幅圖片的像素點(diǎn)進(jìn)行匹配。最簡(jiǎn)單的方法是計(jì)算某一個(gè)描述符與其他所有描述符之間的距離,然后將得到的距離進(jìn)行排序,取距離最近的一個(gè)作為匹配點(diǎn)。因?yàn)檫@種辦法較簡(jiǎn)單,其結(jié)果也是準(zhǔn)確度相對(duì)較低,這時(shí)需要一些機(jī)制來(lái)將錯(cuò)誤的匹配減小到最低。通常兩幅照片匹配之后距離應(yīng)該較小,剩余像素點(diǎn)之間距離較大。當(dāng)計(jì)算機(jī)沒(méi)有匹配到相應(yīng)的點(diǎn)時(shí),所計(jì)算出的對(duì)應(yīng)點(diǎn)距離應(yīng)該都超出誤差范圍。若取另一個(gè)相似像素點(diǎn),計(jì)算后發(fā)現(xiàn)與最近距離像素點(diǎn)的值相近,則可認(rèn)為匹配正確;若計(jì)算結(jié)果相差較大,則是一個(gè)錯(cuò)誤的匹配。此外,還可通過(guò)交叉匹配來(lái)提高準(zhǔn)確率。把第一張圖對(duì)應(yīng)第二張圖片的像素點(diǎn)記錄,再用第二張圖片的像素點(diǎn)對(duì)應(yīng)第一張圖片。若兩張圖片對(duì)應(yīng)的像素點(diǎn)是相同的,則可認(rèn)為對(duì)應(yīng)正確。這樣就可大大提高匹配的準(zhǔn)確性。
在得到匹配的結(jié)果之后,可以通過(guò)匹配的結(jié)果計(jì)算兩幅圖像相對(duì)的運(yùn)動(dòng)關(guān)系。由于匹配的結(jié)果難免存在誤差,一般都會(huì)在隨機(jī)抽樣一致性(Random Sample Consensus,RANSAC)框架下進(jìn)行相對(duì)運(yùn)動(dòng)關(guān)系的計(jì)算。完成上述的步驟已經(jīng)得到一個(gè)比較粗糙的相對(duì)運(yùn)動(dòng)關(guān)系。通過(guò)不斷計(jì)算相鄰圖像之間的運(yùn)動(dòng)關(guān)系就可以得到相機(jī)的運(yùn)動(dòng)軌跡。由于計(jì)算的結(jié)果不可能完全準(zhǔn)確,因此在計(jì)算到當(dāng)前圖像的運(yùn)動(dòng)狀態(tài)之后,可以取當(dāng)前圖像周圍的圖像進(jìn)行運(yùn)動(dòng)關(guān)系進(jìn)行一次局部的優(yōu)化。在系統(tǒng)運(yùn)行一段時(shí)間之后,可以進(jìn)行一次全局的優(yōu)化過(guò)程。
除此之外,一套完整的SLAM算法還需要對(duì)系統(tǒng)的累計(jì)誤差進(jìn)行修正,通常都采用回環(huán)檢測(cè)算法,這一部分在本文中將不再贅述。
本文將以SLAM技術(shù)為核心進(jìn)行虛擬實(shí)驗(yàn)教學(xué)系統(tǒng)理論上的設(shè)計(jì)。基于AR的實(shí)驗(yàn)課教學(xué)系統(tǒng)技術(shù)路線示意圖如圖2所示。首先需要建立實(shí)驗(yàn)過(guò)程中需要用到的實(shí)驗(yàn)器材的三維模型。比如化學(xué)實(shí)驗(yàn)中的:試管,燒杯以及各種化學(xué)藥品等;物理實(shí)驗(yàn)中的電阻,開關(guān),燈泡等;以及實(shí)驗(yàn)過(guò)程中可能出現(xiàn)的實(shí)驗(yàn)現(xiàn)象,比如“氣泡”,“明亮的火焰”等各種三維模型。在實(shí)際使用的過(guò)程中需要對(duì)穿戴式設(shè)備的運(yùn)動(dòng)路徑進(jìn)行跟蹤,由于單純的視覺(jué)SLAM存在計(jì)算量大,運(yùn)行過(guò)程不穩(wěn)定的問(wèn)題。因此可以采用可穿戴式設(shè)備中的慣性測(cè)量單元(Inertial measurement unit, IMU)和單目相機(jī)結(jié)合的SLAM算法。在設(shè)備在運(yùn)動(dòng)的過(guò)程中,相鄰幀之間的相對(duì)運(yùn)動(dòng)關(guān)系可以通過(guò)IMU進(jìn)行計(jì)算,并結(jié)合視覺(jué)數(shù)據(jù)進(jìn)行優(yōu)化。而在設(shè)備重定位或者在累積誤差過(guò)大需要修正累計(jì)誤差進(jìn)行回環(huán)檢測(cè)時(shí),可以使用純視覺(jué)的方案進(jìn)行修正。在得到設(shè)備的運(yùn)動(dòng)軌跡之后,將運(yùn)動(dòng)軌跡輸入到顯示設(shè)備中,并將實(shí)際的運(yùn)動(dòng)軌跡作用到虛擬的模型中從而使虛擬的物體顯示出相應(yīng)的運(yùn)動(dòng)。此外,使用者可以通過(guò)AR設(shè)備向真實(shí)的環(huán)境中添加需要使用到的實(shí)驗(yàn)器材,物品等,整套系統(tǒng)可以內(nèi)置一個(gè)實(shí)驗(yàn)的仿真系統(tǒng),可以通過(guò)仿真的方式將實(shí)驗(yàn)的結(jié)果真實(shí)地呈現(xiàn)在AR設(shè)備中。
圖2 基于AR的虛擬實(shí)驗(yàn)教學(xué)系統(tǒng)設(shè)計(jì)
本文中針對(duì)目前我國(guó)的基礎(chǔ)教育中由于場(chǎng)地資源,教師資源以及經(jīng)濟(jì)等各方面限制而無(wú)法滿足學(xué)生實(shí)驗(yàn)教育的情況,提出了利用目前非?;馃岬腁R技術(shù)進(jìn)行虛擬實(shí)驗(yàn)教學(xué)系統(tǒng)。本文中首先對(duì)同時(shí)定位與建圖技術(shù)進(jìn)行了詳細(xì)和深入地分析,分析了目前主流的各種視覺(jué)SLAM的優(yōu)缺點(diǎn)。此外,對(duì)基于增強(qiáng)現(xiàn)實(shí)的虛擬實(shí)驗(yàn)教學(xué)系統(tǒng)進(jìn)行了設(shè)計(jì),考慮到純視覺(jué)的SLAM在使用過(guò)程中無(wú)法滿足穩(wěn)定性、實(shí)時(shí)性以及功耗等各個(gè)方面的需求,所以采用了慣性測(cè)量單元和視覺(jué)傳感器結(jié)合的算法。新提出的系統(tǒng)在理論上可以解決現(xiàn)在實(shí)驗(yàn)環(huán)境受限的問(wèn)題,并且可以克服傳統(tǒng)實(shí)驗(yàn)過(guò)程中存在的安全隱患,可以極大地提高資源利用效率。
但是目前該系統(tǒng)還存在一下的問(wèn)題:
(1)由于采用了局部描述符,所以在光照變化太大的環(huán)境中,工作可能會(huì)不夠穩(wěn)定。
(2)目前的系統(tǒng)無(wú)法捕捉到環(huán)境中的語(yǔ)義信息。
上述的問(wèn)題可以通過(guò)目前比較主流的深度學(xué)習(xí)進(jìn)行解決,這將是后續(xù)的工作方向。此外,由于條件的限制,文本中只針對(duì)基于AR的實(shí)驗(yàn)教學(xué)系統(tǒng)進(jìn)行了理論上的設(shè)計(jì),沒(méi)有完成實(shí)物的制作,這也是后續(xù)工作的重點(diǎn),在做出實(shí)物的基礎(chǔ)上進(jìn)行調(diào)整和系統(tǒng)設(shè)計(jì)的改進(jìn),優(yōu)化。