2016 年被大家稱為 VR 元年,當(dāng)時(shí)用戶能感受到的僅僅是最初級(jí)的 VR 體驗(yàn),就是一些頭盔硬件,把手機(jī)插在頭盔里。目前,在 VR/AR、自動(dòng)駕駛、無(wú)人機(jī)這些新興領(lǐng)域,傳統(tǒng)的交互方式已經(jīng)不能滿足用戶的需求。隨著深度學(xué)習(xí)、計(jì)算機(jī)視覺等領(lǐng)域的突破性進(jìn)展,一些新的交互方式已經(jīng)成為可能。
基于過往經(jīng)驗(yàn)來(lái)看,研發(fā) VR/AR 技術(shù)主要就是打造沉浸感,沉浸感是 VR/AR 帶給用戶不同于手機(jī)的特殊體驗(yàn)。實(shí)現(xiàn)沉浸感,需要有交互、顯示和移動(dòng)性這三方面技術(shù)支撐,以下內(nèi)容,我們將以交互技術(shù)為核心展開。
在 AR/VR 領(lǐng)域中,交互不再用鼠標(biāo)和鍵盤,大部分交互技術(shù)均采用手柄。還有位置跟蹤技術(shù),在一些高檔的 VR 設(shè)備中會(huì)提供,但成本較高,且需要連接電腦或主機(jī)來(lái)實(shí)現(xiàn)。未來(lái),可能會(huì)采用用手直接抓取的方式,目前也有很多手勢(shì)交互方案提供商。
uSens 主要側(cè)重 AR/VR Interaction:
左側(cè)的 HCI((Human-ComputerInteraction)就是人機(jī)交互界面,uSens 主要提供 Gesture(手勢(shì)識(shí)別)、View Direction(頭轉(zhuǎn)向識(shí)別)和 Position Tracking(位置追蹤)。右側(cè)是顯示技術(shù),AR 和 VR 的顯示技術(shù)雖不同,但交互技術(shù)卻相通。
手勢(shì)交互技術(shù)
如下圖,手勢(shì)交互分為符號(hào)型、間接型和直接型三種:
如下圖,是常見的硬件對(duì)三個(gè)場(chǎng)景的實(shí)現(xiàn)能力分析:
手勢(shì)交互技術(shù)的使用場(chǎng)景
手勢(shì)交互技術(shù)的使用場(chǎng)景很廣泛,不光在 VR 領(lǐng)域,如下圖所示:
如圖中所示,像 Game、3D UI、Drive、Public Display、Medical 和 Intelligent Home 等,前三種是為了更好的體驗(yàn),后三種則是在公共場(chǎng)合下的應(yīng)用;像手術(shù)、做飯等出于干凈、衛(wèi)生等方面考慮。
基于 AI 的手勢(shì)交互技術(shù)
uSens 從 2014 年開始,用深度學(xué)習(xí)算法來(lái)解決手的識(shí)別問題。雖然研究手勢(shì)識(shí)別的人不多,但是和圖像識(shí)別、人臉識(shí)別一樣,都可以用深度學(xué)習(xí)來(lái)實(shí)現(xiàn)。
uSens 用深度學(xué)習(xí)研發(fā) 26 自由度手勢(shì)識(shí)別,可以從圖像里邊把手的關(guān)節(jié)點(diǎn)和關(guān)節(jié)點(diǎn)角度與位置識(shí)別出來(lái)。
如下圖,是 26 自由度手勢(shì)識(shí)別算法的大致思路:
參考 2014 年深度學(xué)習(xí)的一個(gè)案例,主要是借鑒 CNN 方式,不同圖像通過不同尺度的 CNN 進(jìn)行卷積,得到一個(gè)大的向量,再用兩層全連接的深度網(wǎng)絡(luò)得到關(guān)節(jié)點(diǎn)的 heat-maps。
heat-maps 就是關(guān)節(jié)點(diǎn)在圖像上的概率分布,如上黑框中所示,藍(lán)色的點(diǎn)就是小指指尖分布圖,在這個(gè)點(diǎn)權(quán)重比較大,其他位置減弱。得到每個(gè)關(guān)節(jié)點(diǎn)的權(quán)重圖,再用反向動(dòng)力學(xué)、濾波等方法,就可以跟蹤出手 26 自由度的運(yùn)動(dòng)。
運(yùn)動(dòng)跟蹤(空間定位技術(shù))
如下圖,是運(yùn)動(dòng)追蹤的主要應(yīng)用場(chǎng)景:
如圖中所示,運(yùn)動(dòng)追蹤最早在軍事上使用,如導(dǎo)彈、飛機(jī)等需要在空中定位自己的位置,空間定位技術(shù)優(yōu)化之后用于智能機(jī)器人、無(wú)人車、掃地機(jī)器人等。
VR/AR 也需要這樣的空間定位技術(shù),如下是當(dāng)前研發(fā)和掌握空間定位技術(shù)的公司及產(chǎn)品:Google Tango、Microsoft Hololens、Qualcomm VR SDK、Apple ARKit、Snapchat、Facebook和 uSens。
空間定位技術(shù)/視覺方法
空間定位技術(shù)需要結(jié)合視覺和傳感器兩方面的信息。
如下圖,是視覺特征模型:
如圖右側(cè)中所示,是一個(gè)相機(jī)成像,通過相機(jī)觀測(cè)三維空間中的一個(gè)點(diǎn),可以得到一張圖像,3D 點(diǎn)和圖像滿足下放投影方程。
左邊是三個(gè)比較常用的問題:
視覺 SLAM 方法
視覺 SLAM 方法包含 Tracking 和 Mapping 兩個(gè)模塊,Tracking 模塊的功能是已知 3D 點(diǎn)位置,求解每幀圖像的相機(jī) pose。Mapping 模塊的功能是用來(lái)更新 3D 點(diǎn)的位置。
視覺特征
空間定位技術(shù)的視覺特征可分為如下兩種:
基于圖像特征點(diǎn)的方法,如 PTAM,ORB。
直接法,比較像素灰度差,如 LSD-SLAM、DSO-SLAM。
求解方法
根據(jù)上圖所示方程,求解方式有基于濾波的算法和基于優(yōu)化的算法兩種,這些方法目前沒有好壞之分,在實(shí)際系統(tǒng)中都可以達(dá)到相似效果。
空間定位技術(shù)/傳感器
上述的視覺方法能夠達(dá)到實(shí)用的程度,要?dú)w功于傳感器的進(jìn)步及傳感器信號(hào)融合到算法中,使得系統(tǒng)性能得到提升。
如下圖,是傳感器:Mechanic Gyroscope、LaserGyroscope 和 MEMs Gyroscope:
如上圖,左一是 Mechanic Gyroscope(機(jī)械陀螺儀),利用角動(dòng)量保持不變的特性。當(dāng)中間的轉(zhuǎn)子保持高速旋轉(zhuǎn),但中間轉(zhuǎn)子方向不變,這樣可以得到設(shè)備的旋轉(zhuǎn)方向。這樣老式的機(jī)械陀螺儀用于幾百年前的輪船中。
當(dāng)前,Laser Gyroscope(激光陀螺儀)高精度陀螺儀都是用激光的方式,如上圖中間小圖所示,用于導(dǎo)彈在空中飛行,幾個(gè)小時(shí)誤差約在 100 米左右。
激光陀螺儀中間有一個(gè)激光源,向兩個(gè)方向發(fā)射激光。如物體靜止不動(dòng),兩條光線的光路長(zhǎng)度相同,在接收端的兩條光路相差是零;如果物體旋轉(zhuǎn),兩條光路就會(huì)發(fā)生特別微小的變化,就會(huì)產(chǎn)生相差,通過識(shí)別相差,得到整個(gè)設(shè)備的旋轉(zhuǎn)速度。
MEMs Gyroscope(微機(jī)械陀螺儀),用于手機(jī)或 VR 頭盔中。這種陀螺儀做的很小,會(huì)用到一些機(jī)械結(jié)構(gòu)來(lái)識(shí)別運(yùn)動(dòng)。
在微機(jī)械陀螺儀中,有兩個(gè)可以活動(dòng)的扇片,當(dāng)物體旋轉(zhuǎn),扇片會(huì)保持不動(dòng),通過識(shí)別角度,就可以推斷旋轉(zhuǎn)速度。
這種微機(jī)械陀螺儀會(huì)比激光械陀螺儀差很多,如單獨(dú)使用是沒辦法達(dá)到預(yù)期效果,所以必須要結(jié)合陀螺儀和視覺信息一起進(jìn)行。
IMU(慣性測(cè)量單位)
如下圖,是 IMU 中的陀螺儀和加速度計(jì):
IMU 中的陀螺儀,輸出的是相鄰時(shí)刻相機(jī)旋轉(zhuǎn)的角度。IMU 中的加速度計(jì),輸出的是相鄰時(shí)刻相機(jī)的加速度,即速度的變化率。
空間定位技術(shù)/傳感器存在的問題
如下圖,是傳感器存在的問題:
傳感器數(shù)據(jù)采樣有離散和漂移的,如圖一所示,連續(xù)線是實(shí)際的加速度,但是 IMU 采樣是離散的,所以最高點(diǎn)并沒有采樣到,導(dǎo)致結(jié)果出現(xiàn)有誤差。
IMU 得到的加速度是包含重力的,實(shí)際中,重力產(chǎn)生的加速度是遠(yuǎn)大于一般移動(dòng)時(shí)產(chǎn)生的加速度,所以要去掉重力就需精確估計(jì)朝向。
IMU 和相機(jī)的相對(duì)位置和方向影響很大,兩個(gè)位置是不在一起的,它們之間有相對(duì)位移且由于工業(yè)生產(chǎn)原因,兩者之間的相差很小一個(gè)角度。
經(jīng)研究發(fā)現(xiàn),哪怕角度差一度,對(duì)最后整個(gè)系統(tǒng)的精度影響也會(huì)很大,所以必須在線標(biāo)定兩者之間的角度和位移。
IMU 和圖像的采集時(shí)間不一致,相機(jī)采樣頻率大概是 60、30 幀,但 IMU 采樣頻率很高,一般都是 500、800、1000,采樣頻率、采樣時(shí)間不一。
解決這些問題的方式是:傳感器+視覺融合
如下圖是預(yù)積分與攝像機(jī)標(biāo)定:
當(dāng) IMU 的采樣率比圖像高很多時(shí),采用預(yù)積分的方法,可以把圖像幀之間的 IMU 信息積分起來(lái),當(dāng)成一量。這樣就不需要優(yōu)化每幀 IMU 的點(diǎn)。
相機(jī) IMU 和世界坐標(biāo)系之間的關(guān)系,需要精確的標(biāo)定,如果差一度,整個(gè)系統(tǒng)就會(huì)完全崩潰。
空間定位技術(shù)/ATW
ATW(Asynchronous Timewarp)是一種生成中間幀技術(shù),可有效減小延遲, 通過預(yù)測(cè)未來(lái)的雙眼位置來(lái)提前渲染。
相機(jī)圖像采集,SLAM 算法,渲染,這些過程都需要處理時(shí)間,統(tǒng)稱為“Motion to Photon Latency”。在 VR 應(yīng)用中,需要小于 20ms,才能保證用戶不會(huì)眩暈。
如下圖,是渲染過程:
從圖中看出,整個(gè)過程包括了很多運(yùn)算,有圖像獲取時(shí)間、算法處理時(shí)間和渲染時(shí)間,渲染結(jié)果到最終結(jié)果顯示時(shí)間,這些可以通過 IMU 數(shù)據(jù)得到,但有些必須經(jīng)過預(yù)測(cè)。
uSens Hardware
如下圖是 uSens 的硬件產(chǎn)品進(jìn)化過程體現(xiàn)在更小、compact、更易于嵌入式、功耗更低。
如下圖,是硬件規(guī)格(Hardware Spec):
產(chǎn)品硬件經(jīng)過幾次迭代,從尺寸上和功耗上都比之前小很多。紅色標(biāo)注是對(duì)效果影響比較大的因素,如全局曝光分辨率、雙系統(tǒng)、左右相機(jī)同時(shí)采樣等。
未來(lái),VR/AR 技術(shù)面臨的問題
如下圖是智能視覺系統(tǒng):
當(dāng)前應(yīng)用在 VR/AR 場(chǎng)景中,實(shí)際上它可以應(yīng)用如上圖所示的更多場(chǎng)景中,比如廣告機(jī)、車載手勢(shì)識(shí)別、機(jī)器人和無(wú)人機(jī)。
人機(jī)交互技術(shù)的發(fā)展由兩方面的因素決定:一方面是用戶希望擁有更自然的交互方式;另一方面是技術(shù)的進(jìn)步使得交互更加自然和方便。未來(lái)人機(jī)交互方式將會(huì)包含自然手勢(shì)理解和環(huán)境感知這兩個(gè)核心功能。