VR 不完全科普指南
大家都了解VR是一種可以創建和體驗虛擬世界的計算機仿真系統,是利用計算機從而生成一種模擬環境,可以讓用戶沉浸到該環境中。下面這篇文章是筆者整理的關于VR的科普內容,想要了解的同學可以進來看一看。
一、上帝的畫筆
你有沒有想過創造一個世界?
或者,如果讓你當創世神的話,你知道該怎么構造這個世界嗎?
千百年來,人類一直試圖回答這個問題:用語言、用圖像、用視頻??墒沁€是不夠。我們從未能真正重現我們所感受的世界,只能憑借真實經驗的腦補,將它們當做真的而已。
媒介限制了我們對世界的描摹。
有沒有一種方式,能夠讓我們真正地拿起上帝的畫筆?
有一群人,試圖用 VR 給出答案。
VR 的歷史可以追溯至 20 世紀 60 年代,Philco (現被飛利浦收購)的兩位工程師 Charles Comeau 和 James Bryan 制造出了一款用于軍事目的頭戴式顯示器 HeadSight,該設備能夠顯示來自隔壁房間攝像頭的視頻畫面,攝像頭的位置可根據佩戴者的頭部移動而移動,從而塑造出一種臨場感。
圖一,圖片來自 THE VR SHOP
作為人類歷史上的第一款量產頭戴式顯示器,Philco Headsight 的視場角僅有 40°,刷新率也僅有 10 Hz,而重量則是…未知。
60 余年過去了,早 Philco Headsight 五年的達特茅斯會議,經歷過潮起潮落,終于在上一年迎來了它們最重磅的主角:ChatGPT。
而頭戴式設備也并非吳下阿蒙,空間定位、眼動追蹤、手勢識別、Micro LED、Pancake 光學模組,硬件、算法與工程學的結合,讓上帝的畫筆呼之欲出。
接下來,就讓我們進一步走進 VR 的世界。
二、我們應該如何呈現世界?
正如把大象塞進冰箱需要三步,制造一臺 VR 設備也是如此:
- 讓世界在我們的眼前呈現。
- 讓世界與我們進行實時地交互。
- 把一切都塞到一臺頭戴式設備上,讓其獨立運行。
我們先來談第一步。
讓世界在我們的眼前呈現,這件事我們并不陌生,已然創造了一個賽博世界的我們,透過手機的屏幕,另一個世界的光映入眼中。把手機換成 VR 設備,道理也是一樣的:我們需要一塊屏幕,然后我們把屏幕的光映入眼中。
1. 一塊屏幕
我們需要一塊屏幕,以顯示另一個世界的豐富。古早的時候,因為看重 AMOLED 的色彩飽和度,VR 顯示屏用的都是 AMOLED,但 AMOLED 的像素密度低且難以提升,并且存在紗窗效應(像素低導致的,人眼可以看到像素點),所以便更換成了 LCD 。
LCD 是液晶顯示屏,對比度、色域、亮度都不夠,同時刷新率低。為了改善 LCD,Fast-LCD 又被引入,顧名思義,Fast-LCD 采用了超速驅動技術,刷新率可以提升到 75-90 Hz,同時用了新的液晶材料,呈像效果上也有所改善。
但 Fast-LCD 仍然存在問題,由于是背光技術,不能自發光,需要有背光光源,所以面板上容易出現漏光現象。為了解決這個問題,業內通常采用 Fast-LCD + Mini LED 背光光源的方案,將 Mini LED 作為 Fast-LCD 的背光光源。Mini LED 實際上就是在背板上集成了尺寸更小的 LED 燈珠,所以亮度、對比度都會有所增強。
目前,Fast-LCD + Mini LED 背光光源已成為 XR 設備的主流方案, 但 Micro OLED 和 Micro LED 將是未來的探索方向。兩者都是自發光技術,無需背光,無論從色域、亮度、對比度,還是功耗、分辨率等方面都領先其他方案。隨著Apple vision pro 采用 Micro OLED,Micro OLED 的發展將進一步加速。
圖二,表格由 MicroDisplay 整理
2. 把光映入眼中
如果說把手機的光映入眼簾,是一件再自然不過的事。VR 設備的光就有所講究了,從業者至少需要解決三個問題:
- 近眼成像:視力正常者的最小物距(物體距離眼睛的距離)是 14 cm,而 VR 設備的屏幕物距僅 3-4 cm。
- 深度感知:VR 設備的屏幕呈現的是 2D 畫面,而沉浸式體驗需要 3D 呈現。
- 視覺放大:VR 設備的屏幕僅為普通眼鏡大小,而 VR 畫面渲染需要與現實世界同等尺寸乃至更大。
乍聽起來,三個問題都如天方夜譚。然而受惠于神經科學和認知科學的發展,也得益于自托勒密時便興起的視錯覺研究,看似無能為力的問題亦都有了解法。
這都要從人的視覺機制說起。
1)人眼的視覺機制
人眼是如何看到事物的?不妨以照相機作喻:人眼是凸透鏡成像,晶狀體是照相機鏡頭,視網膜是照相機膠片。
圖三,圖片來自網絡
物體光線從瞳孔進入眼睛,經由晶狀體(凸透鏡)折射,最終形成在視網膜上的倒立實像,經由人腦的算法自行復為正位。
凸透鏡的成像原理,初中時都學過,透鏡把平行光線匯聚于一點,形成實像/虛像。近大遠小實際上也是因為凸透鏡的作用(經過軸心的光線入射角減小,所以高度增加)。
圖四,表格來自均一教育
如圖所示,焦距固定,物距不同時,成像的距離也有所不同。當物距小于焦距時,物體成虛像,也就是放大鏡的功效。
圖五,圖像來自百度百科
2)凸透鏡的作用
運用凸透鏡成像的規律,把光映入眼中的其中兩個難題就可以解了。根據上圖可得,當物體放置到透鏡的一倍焦距內,便會在一倍焦距到二倍焦距之間形成一道正立放大的虛像。
什么是虛像呢?即物體的光經過反射而映入眼中的,光與光之間不能形成交匯,但人眼下意識覺得光是直線傳播的,所以會自動反向延長光線,使其交匯于一點,從而形成虛像。
圖六,圖片來自光學影像與鏡頭
VR 的原理和人眼一樣,利用了凸透鏡的作用。通過在人眼和屏幕間放置一塊凸透鏡,屏幕放置于透鏡的一倍焦距內,使其在 2 倍焦距出形成了屏幕內容的虛像,根據 B 站 Up 主消失的模因推算,大概是 280 英寸的巨幕大屏。
圖七,圖片來自 Up 主消失的模因視頻截圖
由于凸透鏡的作用,屏幕的成像距離也被調整,如 Quest 2 的像距在 1.3 m,已經能夠滿足人眼的觀看范圍了。
不過,由圖六可知,人眼與透鏡、透鏡與屏幕間,都需要保持合適的距離。如果透鏡離人眼過近,像距也會被拉近,從而不能滿足人眼的觀看范圍。如果透鏡過遠(仍要小于焦點),那整個設備的體積又會增大。
透鏡的距離也影響著 FOV 的大小。這里要再稍微解釋下 FOV 的概念,一般我們所談論的都是水平 FOV(field of view),是指屏幕被透鏡折射,最頂部和最底部的兩道光線射入人眼所形成的夾角。
FOV 越大,人在屏幕中所看到的虛擬視野就越大。但問題在于,想要增加 FOV,要么把透鏡后移,讓其更靠近人眼,或者增加鏡片的厚度。透鏡后移,會導致像距被拉近,不能滿足人眼的觀看需求;增加鏡片厚度,又會導致設備整體過重,并且同樣的,像距依然會有問題。
實際上,FOV 并不是越大越好?,F實世界中,人正常聚焦的視野范圍一般在 110°,如果物體出現在 110° 外,人一般要轉頭去看,增加疲勞度。所以,只要保證 FOV 在 110° 左右,其實也就夠了。
另一方面,透鏡所呈現的放大版屏幕,實際上是原來屏幕的投射,屏幕分辨率是沒有變的,FOV 越大,對屏幕分辨率要求就越高,差的屏幕甚至能看到像素點。從工程學而言,找到 FOV 同屏幕、透鏡厚度、設備整體尺寸的平衡關系,才是實際的難點。
3)透鏡的演變
在實際工程中,透鏡的演變,或者說 VR 中光學方案的演變,大體可以從非球面鏡片到菲涅爾鏡片,再到 pancake 折疊光路。
圖八,圖片來自網絡
一般的球面鏡片,鏡面各處曲率相同,所以光從鏡片折射出來,會聚焦在不同的位置,也因此導致模糊和外圍失真的情況,這種現象被稱為球面像差;非球面鏡片就是在球面鏡片的基礎上,改變表面的曲率,使得折射出來的光能夠匯聚在一點上。這樣,球面像差的問題就能得到緩解或消除;但非球面鏡片有個問題,它太重了。
于是菲涅爾鏡片被搬到了 VR 中,簡單來說,透鏡的主要作用是為了折射光線,而透鏡中存在一部分區域不折射光線,既然如此,直接把這部分拿掉,也完全不影響透鏡的功能。菲涅爾憑著這樣的方式,減了一波重量。
但菲涅爾鏡頭各處曲率不變,焦距無法進一步被壓縮,整體仍然較重,VR 眼睛也無法做得輕薄;同時由于曲面不連續,成像精度受限。非球面和菲涅爾鏡頭,都是采用平行光路的方案(光從透鏡中透出,進入人眼)。想要再輕薄,目前最佳的實踐是采用折疊光路(拉近焦距,通過多重反射進入人眼,既縮小焦距又保證成像)。
pancake 的名字也反映出了它的結構,就是像餅干一樣的四層鏡片(各家有不同,如果用 micro led 會有五層),它的光學原理不必深究(反正也搞不懂),只需記住它的解決方案是通過折疊光路使得焦距近一步被壓縮。
焦距被壓縮,其實不單改變厚度,也改變了視場角,近大遠小,焦距變短,那視場角就會變大。當然這只是理論上的(理論上限 pancake 可達 200°),現實中由于工藝的問題,pancake 方案的視場角還沒有菲涅爾廣,在 60 – 90° 之間,而菲涅爾可以達到 100° 左右,當然,離人眼的 120° 還有一段距離。
當然,pancake 也有自己的問題,因為有兩次反射的原因,理論上 pancake 的入射光線亮度只有一開始的 25%,這就要求光源本身得很亮。
同時由于多路反射,容易出現鬼影的情況,對工藝要求很高。但這些都是可解決的問題,平行光路有它的上限,如果要塑造沉浸感 + 便攜的設備,折疊光路還是更好的方案。
由于 pancake 「損光」的特性,屏幕亮度就顯得尤為重要,目前主流的搭配仍然是 Fast LCD + Mini LED 背光+ Pancake,但更理想的方式是 Micro OLED + Pancake,相比于傳統 LCD 的 500 尼特亮度,Micro OLED 的亮度可達 1000-6000 尼特。
另外值得一提的是,既然是折射,畫面一定會失真?,F行的光學方案都是先讓屏幕中顯示的畫面先失真(桶形畸變),再通過透鏡折射恢復正常(透鏡會通過枕形畸變將桶形畸變的圖像恢復正常)。
圖九,圖片來自 POMEAS
4)沉浸感的實現
如果說凸透鏡解決了近眼成像和視覺放大的問題,那么還留存著一個尚待解決的問題:深度感知。這也是實現 VR 沉浸感的關鍵。
解決方案其實再簡單不過,只需在透鏡前放置兩塊屏幕(或一塊屏幕隔成兩塊),分別呈現同一圖像的不同成像角度即可。
圖十,圖片來自網絡
人眼是個非常神奇的存在,本質上當我們看向三維物體時,左右眼看到的其實是同一物體的不同角度的平面成像圖像。當兩種不同角度的圖片到達人腦后,人腦內置的視覺算法可以自動將兩張平面圖片合成一張立體圖片。
VR 成像,由于所有的內容都只呈現在屏幕上,而屏幕是平面的,所以無法像真實的三維物體一樣,由于視差(兩眼看到的角度差異)的存在而感受到立體感。所以,一不做二不休,干脆在兩塊屏幕上呈現同一物體的不同成像畫面,利用大腦的自動合成功能,模擬立體感知。
雖然,雙目視差的機制讓 VR 眼鏡能夠模擬三維影像的立體感。但沉浸感除了立體,還有對于深度信息的感知。簡言之,怎么區分物體離我們的距離。
5)遠近感知
人眼感知世界的方式,主要依靠四種機制:
- 雙目匯聚(vergence)
- 雙目視差
- 單眼調節(Accommodation)
- 大腦補充
其中,雙目匯聚、單眼匯聚和大腦補充都能幫我們感知到世界的遠近信息。在日常感知中,大腦補充其實是最為常見的體驗,因為我們在觀看視頻時,視頻畫面本身是 2D 的,可我們卻能從中判斷出物體的遠近,很重要的原因就是大腦補充。
大腦補充,簡言之即人腦根據經驗的總結,通過一些畫面線索進行的距離判斷,比如近大遠?。▽W名仿射)、遮擋關系(近處遮擋遠處)、光照陰影、紋理差異、先驗知識(比如飛機和風箏同樣大,但飛機比風箏遠)。這些知識學過畫畫的同學不會陌生。
雙目匯聚(vergence),簡單理解,是指兩只眼睛看向同一物體,這個過程需要轉動眼球肌肉,使得雙眼聚焦同一物體。當物體靠近或遠離眼睛時,匯聚角(圖中所示的夾角)也會變大縮小,同時眼部肌肉會收縮或放松。也即,通過感知匯聚角的范圍和睫狀肌的緊張程度,人眼可以分辨物體的遠近。
圖十一,圖片來自 Relative contributions to vergence eye movements of two binocular cues for motion-in-depth
單眼調節(Accommodation):眼睛依靠睫狀肌進行聚焦控制,越靠近人眼的物體,成像會越模糊,通過模糊程度判斷物體的遠近。當眼睛聚焦在近處物體時,遠處物體會模糊;相反,當聚焦在遠處物體時,近處物體會模糊。
單眼匯聚只依靠單眼即可判斷,一個典型的實驗是:閉上一只眼睛,左右手分別豎起一只手指,與眼睛呈一條直線。當眼睛聚焦于近處手指時,遠處手指模糊;反之亦然。本質上,單眼匯聚和雙目匯聚是一體兩面的存在,前者告訴大腦物體離人眼的絕對距離,后者告訴大腦雙眼視線形成的絕對角度,兩者都是在物理上可測量的。
VR 中的遠近信息傳遞,主要運用了大腦補充,但因為屏幕的距離是固定的,透鏡的距離也是固定的(pancake 之前),所以雙目匯聚和單眼匯聚的信息是缺失的,而這也直接導致了所謂的 VAC 問題。
在真實世界中,人眼的匯聚距離和調節距離應該是一致的(觀看遠處物體時,眼睛聚焦到遠處;觀看近處物體時,眼睛聚焦到近處),反映在物理層面則是控制眼球轉動的眼部肌肉和控制聚焦的睫狀肌同步運動 。但 VR 中,由于像距是固定的,因此無論觀看畫面中的遠處或近處物體,眼睛都只能聚焦到屏幕上,這時,雙眼肌肉與睫狀肌便不再同步了。
圖十二,來自維基百科
一般而言,有兩種方式解決 VAC 問題。一種是光場技術, VAC 的本質是由于屏幕不含深度信息,而采用腦補的方式進行模擬,從而導致了眼部肌肉與睫狀肌的不協調。
那如果讓屏幕發出的光,一開始就不相同(比如畫面中的遠景發 A 光,近景發 B 光),人眼就可以獲得深度信息,問題就得以解決了。另一種方式是通過可變焦距 + 眼動追蹤解決(第三部分會詳述)。
眼動追蹤確定用戶的注意焦點,通過可變焦距實時改變焦點處的焦距,進而改變成像距離,使得會聚距離與調節距離保持一致。
目前光場技術還不成熟,而業內已采用的 pancake 方案可以實現多重變焦,有望在第二種方案上實現突破。
三、世界應該如何與我們交互?
以上我們所討論的僅僅是靜態的呈現,而真實世界是動態的,我們每時每刻都在與世界本身交互。因此,盡管靜態的 VR 世界已經如此龐大,我們仍然不能停下來,駐足欣賞此刻的成果,更艱難的事情在于從照片到影像的躍升。請繼續保持耐心。
1. 空間定位
試想,當我們觀察現實世界上,我們會移動,轉頭,于是我們看到事物的不同角度和大小。當我們靠近,聲音變強,畫面變大;當我們遠離,聲音減弱,畫面變?。划斘覀儑@物體,則看到它的側面。正是詩中所言:橫看成嶺側成峰,遠近高低各不同。
有一個專業術語,DOF(degrees of freedom),用于衡量人活動的尺度。如果把空間分為 X,Y,Z 軸,則一共可以包括六種移動方式:沿 X、Y、Z 平移;沿 X、Y、Z 旋轉。
所謂的 6DOF,其實便是指包含這六種情況的活動類型。
圖十三,圖片來自網絡
VR 空間中,本質上所有的信息都只是投射在眼前兩塊屏幕上的平面信息,遠近、側面并不存在。所以它其實是模擬用戶發生相應活動后的視覺呈現效果,直接投射如人眼。
比如當人靠近某個物體,屏幕畫面會放大;轉頭就能觀察整個空間的全景,不是用戶真的來到另一片空間,而是算法根據用戶的當前活動判斷,并進行實時渲染。
目前的算法,主要是以頭盔的活動情況為標準,通過 IMU 和追蹤攝像頭進行空間定位??臻g定位是 VR 的核心之一,因此有必要具體闡述。
1)IMU
IMU,全稱為 Inertial Measurement Unit,翻譯為慣性測量單元,一般指測量物體角速率和加速度的裝置。我們經??吹?,一個名詞 MEMS 與 IMU 伴隨出現。
MEMS 全稱 Microelectromechanical Systems,翻譯為微機電系統傳感器,指內部結構在微米級別的傳感器。
MEMS 有很多種,比如 MEMS 加速度計、MEMS 陀螺儀。
MEMS 和 IMU 是兩個獨立的概念,并不存在包含關系,不過兩者存在交集。比如上面提到的 MEMS 加速度計 和 MEMS 陀螺儀,既屬于 MEMS ,也屬于 IMU。
一般而言,IMU 又包含三種傳感器:加速度計、陀螺儀和磁力計。
- 加速度計: 一般為三軸加速度計,檢測物體在 X、Y、Z 三軸上的加速度,經過積分換算,從而確定位移距離(實際上這樣確定位移不太準,加速度計算位移是靠積分換算,本身就有誤差,多次積分會導致誤差累計,最終的位移距離會出現漂移)。
- 陀螺儀: 一般為三軸陀螺儀,檢測物體在 X、Y、Z 三軸上的角速度,根據角速度推算物體當前的角度。
- 磁力計:? 又稱電子羅盤,一般為三軸磁力計,檢測物體在 X、Y、Z 上的磁分量,計算得到最終的磁向量,經過算法糾偏,最終得到地磁北的方向,從而確定物體的所在方向。
市面上的一些叫法,如六軸陀螺儀,其實是三軸加速度計+三軸陀螺儀;九軸陀螺儀,則是三軸加速度+三軸陀螺儀+三軸磁力計;十軸陀螺儀,是在九軸陀螺儀的基礎上再加一個氣壓傳感器,獲得海拔高度,從而獲得物體的高度。
在 VR 的應用場景中,一般采用九軸陀螺儀,實現 3DOF 的檢測(Roll 、Picth、Yaw 三種動作,見圖十二)。
但光靠 IMU 無法檢測到平移的動作(沿三軸平移),一般還需要輔助攝像頭等其他設備。
2)追蹤攝像頭
這里要談到技術路徑的演變,最早的平移定位,采用的是外部定位方式,直到一體機的風潮愈烈和 SLAM(空間定位算法)的發展,才漸漸轉為內部定位。不過在一些要求超高精度的環境下(比如虛擬場館或動捕),都還是采用外部定位的方法。
技術路徑的演變,從 Outside-in 到 Inside-out。
本質的區別,Outside-in 是在外界空間中有一套錨定的裝置,構建一個相對坐標系。通過裝置與 VR 設備的互動,檢測頭盔和手柄的當前位置。在由外而內的系統中,多個固定的外部攝像頭用于跟蹤頭戴顯示設備的姿勢(3D位置和3D方向)。外部攝像頭跟蹤位于頭戴顯示設備和控制器(如果有)上的一組參考點。
Inside-out,是依靠光學追蹤,在 VR 頭盔上安置攝像頭,讓設備自己檢測當前外部環境的變化,再經過 SLAM 算法(Simultaneous localization and mapping)計算出當前的空間位置。
Outside-in
Outside-in 路徑中,最有名的有兩種技術方向:- Cculus 的 Constellation 紅外攝像頭定位系統;- HTC 的 Lighthouse 定位;先說 Constellation,Oculus 的頭盔和手柄上都布滿了紅外傳感,以固定模式閃爍。
房間中布置了紅外攝像機,攝像機以特定頻率拍攝頭盔和手柄,由此得到一組圖片,并得到這些紅外的點的特定坐標,由于頭盔和手柄的三維模型是已知的,通過 Pnp 求解(可以理解為一種復雜的數學計算)能夠得到點的 6 DoF(加上 IMU 后)。
圖十四,圖片來自 GamesBeat
至于用紅外,則因紅外波可以規避大部分顏色的影響,不會出現誤判。但紅外容易被遮擋,所以在空間中要布置多臺紅外攝像機,才能準確判斷三維信息。實際上,Optitrack 和 Zero Latency 用的都是同樣的方案,只不過 Zero Latency 用的是可見光,更容易受到顏色等噪聲干擾。
主動式紅外光( Constellation)主要受到攝像頭精度(因為根據圖像判斷)和光學算法的影響,同時價格昂貴,布置也比較麻煩,在移動浪潮下不太適用了。
另一種則是 Lighthouse 定位,室內安置了兩臺激光發射器,安放在房間對角,而在頭顯和手柄上有 70 多個光敏傳感器。激光發射器從水平和垂直方向掃射空間,發射器為 0 度時,開始計時,激光到光敏傳感器時,光敏傳感器記錄到達時間。由于發射器的旋轉速度是已知的,所以根據時間和轉速能夠計算光敏傳感器相對發射器的角度,一次掃描完成后,就可以進行空間定位。
圖十五,圖片來自 HTC VIVE LIGHTHOUSE CHAPERONE TRACKING SYSTEM EXPLAINED 視頻截圖
相比紅外,Lighthouse 的方法方便很多,沒有那么多光學計算,誤差和延時都有所保證,可以達到 20ms 以內。但激光掃描區域一般在 5 * 5 * 2 m 范圍內,如果要擴大,需要多個燈塔,這時候多空間的融合又會出現算法問題。為了實現定位,光敏傳感器需要區分不同來源的激光,而光塔過多也會相互干擾。
另外,Lighthouse 在安裝和成本上仍然要比 inside-out 高,但延時性低,精度高,在需要特別擬真的環境仍然需要這種技術。
Inside-out
Inside-out,主要通過攝像頭拍攝周圍的畫面,通過圖像識別判斷房間景物的一些特征點,通過與上一次拍攝時的特征點位置進行對比,從而得到特征點的位移。與此同時借助 IMU 得到輔助數據,通過算法得到頭顯的位移情況。同樣,在手柄上存在一些小白點,攝像頭也通過捕捉小白點的位移判斷手柄的變化情況。
因為是可見光識別,所以房間內得保持一定的亮度,不能關燈。
此外,因為依靠攝像頭識別外部的標記點,如果角度識別精讀差異 1 度,整個距離可能偏移幾厘米,Inside-out 對精度要求十分之高。又由于需要計算圖像顯示,所以它的延時沒有辦法像 Lighthouse 一樣低。
Inside-out 主要依靠 VGA 攝像頭和深度識別攝像頭進行 3D 空間定位。VGA 攝像頭,配合深度識別攝像頭,主要用來做頭部空間定位和手勢識別。VGA 是指的 VGA 格式的分辨率,640X480 ,黑白。深度識別攝像頭,主要用來識別物體的距離(實際上也可以識別骨骼點,但不需要),主要有三種技術:
- TOF:原理是傳感器發出經調制的近紅外光,遇物體后反射,通過計算光線發射和反射時間差或相位差來換算被拍攝物體的距離。
- 單目結構光:該技術將編碼的光柵或線光源等投射到被測物上,根據它們產生的畸變來解調出被測物的三維信息。
- 雙目結構光:和人眼一樣用兩個普通攝像頭以視差的方式來計算被測物距離。
2. 面部、眼動和手勢追蹤
有了空間定位,VR 可以實時渲染出對應的畫面結果。然而人不止和世界交互,也要和人交互。試想,如果我們想要在虛擬空間中同家人,親朋好友交流,那么我們勢必需要看到他們的神情,這其中最重要的便是面部表情和眼神。
圖十六,圖片來自 MARK ZUCKERBERG: FIRST INTERVIEW IN THE METAVERSE | LEX FRIDMAN PODCAST 視頻截圖,圖為 ZUCKERBERG 和 FRIDMAN 在 VR 世界中的面部重建
1)面部識別
面部識別主要靠攝像頭,放在頭顯內部,追蹤如額頭、下巴、臉頰的變化情況,追蹤原理和空間定位差別不大。一般可以用在如下的場景下:
- 表情同步
- 面部重建
- 疲勞識別
- 情緒識別
- 用戶身份識別
面部識別存在的問題是,當戴上頭顯時,人臉 60% 的地方是被遮住的。Magic Leap 的想法是,雖然有的地方被遮住,但可以根據周圍未被遮住的肌肉變化來推測。當然,越多的攝像頭還是更有助于捕捉真實表情。
Oculus 在訓練面部識別時,用了 9 顆攝像頭,只是到了消費級,才用 3 顆攝像頭并配合 9 顆攝像頭訓練出來的算法進行面部追蹤。
2)眼動追蹤
眼部追蹤主要靠眼動追蹤攝像頭。眼動追蹤的原理是利用光攝入瞳孔反射到角膜的原理,測算角膜和瞳孔的距離來判斷眼動的情況。VR 的眼部周圍有一圈紅外光 LED 燈,向眼睛發射紅外光,光從瞳孔反射到角膜上,攝像頭拍攝圖像,判斷瞳孔和角膜的位置,從而判斷眼動的情況。
眼動追蹤帶來的益處很多,除了眼神與渲染的人物同步,最熟知的是眼動交互,和手勢交互一起可以帶來自然的交互體驗。另一個重要的好處在于,人類的視力在整個視野中并不均勻。中央凹是視網膜的中心區域,視力最好。
在中央凹區域外,視力逐漸下降到視網膜邊緣。這樣,實際上畫面的渲染只需要關注到視線聚焦處,這樣可以降低計算渲染成本。此外,有了眼動追蹤后,VR 的瞳距可以根據佩戴者的身份自動調節;在運營層面,可以根據眼睛聚焦情況進行數據分析。
還有一個隱藏的好處,主要是體驗層面。VR 中的 3D 成像效果,是通過向每只眼睛顯示一個獨特的 2D 圖像來創造 3D 感覺,其中每個圖像的渲染略有不同,以產生雙眼視差,從而帶來 3D 效果。
但是,用戶眼睛和圖像之間的距離(也即顯示屏與人眼的距離)是固定的,所以實際上會導致眩暈問題,也就是所謂的視覺匯聚調節沖突(VAC)。通過眼動追蹤 + 變焦顯示器,VAC 可以得到緩解。
變焦顯示器使用眼動追蹤來主動跟蹤眼睛的會聚,并使用具有可變焦距的聚焦元件來匹配眼睛的會聚。至于變焦技術,主要是機械式變焦(電動齒輪,改變鏡頭和物體、視線焦點的距離)。
3)手勢識別
有了面部表情和眼動追蹤外,我們還需要手勢識別,以進一步與虛擬世界交互,比如拾取、點擊,或只是簡單的 say hello。手勢識別所用的攝像頭和空間定義一致,都是 VGA 攝像頭,識別原理類似。
手勢識別主要的難點在于:一般攝像頭的視場角都講究水平,垂直視場角的高度不夠,所以手跑到攝像頭的視線范圍之外就很難辦。而在人類大部分的自然任務中,手都是處于下視野的范圍,手勢追蹤的實際難度會很大。
另外,根據對照實驗,采用手勢追蹤的任務效率,會低于直接用手部控制器的方式,一是因為延時,二是因為純手勢交互缺乏觸覺提示和反饋,而人需要后兩者以定位操作對象。Apple vision Pro 通過手眼融合的方式,提供了一種視覺反饋,變相彌補了下純手勢交互的問題。
此外,它還配了六顆攝像頭(一般是 4 顆),其中兩顆專門垂直向下以捕捉下視野的手。
4)全彩透視
如果說空間定位和面部、眼動追蹤是與虛擬世界交互。那么 VR 很快有了一個更大的野心:升級成 XR,捕捉現實世界的動態。全彩透視,使用 VST RGB 攝像頭,用于捕捉帶著 VR 頭盔的用戶所看到的真實景象。VST 指 vedio see through,RGB 是圖片顏色格式。
VST 原先都是黑白的,用來看周圍空間,現在成了 MR 的入門券。無心插柳柳成蔭,原先是為了讓用戶能夠看到周圍的真實空間,以確定活動范圍的透視,卻悄然一變,變成了與 AR 類似的功能。
不過囿于成本,VST 也沒有全部采用全彩。如 Quest pro 用 VST,兩顆黑白鏡頭建場景,一顆 RGB 攝像頭用來補色,不過現在也出現了雙目的 RGB,體驗越來越好。
VST 要注意三點:
- 清晰度:簡言之就是看到的畫面要和現實中一模一樣。
- 延時性:要低,不然畫面和動作不一致,用戶會暈。
- 視角偏差:攝像頭的位置和人眼的位置不一致,所以畫面容易產生視角偏差,長時間使用可能出現視覺偽影,有點像水里折射的情況;所以要提前設置算法矯正。
其實,雖然 VR 推出了全彩透視的功能,但并不意味著 VST 一定要放在一體機上,那樣相比于 AR 并沒有太大的優勢。如果拿 PC 和手機類比 VR 和 AR,VR 是 PC 的延伸,承載的是重活,而 AR 更擅長可移動的小場景。VR 在肉眼可見的未來,很難達到出街的可能,VST 的作用僅僅是家庭活動,例如游戲、音樂、繪畫。
圖十七,Hauntify Mixed Reality 讓鬼出現在家中真實房間
VR 的 VST 中,真實世界的元素更多成為一種背景,增加活動本身的樂趣,但卻不是主體。試想,如果 VST 和 VR 主機分離,VST 作為 VR 的配件,可以配置到工廠、醫院,通過無線傳輸實時渲染,那是否能夠真正實現數字孿生?而 VR 也將真正闖入工業級的應用。
四、把大象塞進冰箱的最后一步
旅程到這里,其實已經結束了。VR 的核心就是光學方案和空間定位,以及基于此的渲染和定位算法。不過,為了方便讀者后續閱讀某些拆解報告時,對上述內容外的一些概念不太了解,特在最后一章附上相關的名詞解釋。
1. 頭盔、手柄
- 接近傳感器: VR 頭盔的接近傳感器一般用紅外,由一個紅外發射管和一個紅外接收管組成。紅外發射管會發射一調制紅外光信號,該信號在遇到障礙物后被反射回來,接收管通過接收該反射信號并根據反射信號的強度來判斷障礙物的遠近。
- 玻纖: 頭盔所用材料,耐熱、絕緣、超輕。
- 霍爾芯片: 霍爾IC是將霍爾元件與運算放大器組為一體的產品。霍爾元件一般用在手柄上,用于檢測扳機、側鍵是否按下;霍爾元件從元件本身獲得的電壓非常小,因此一般情況下需要配置運算放大器等的放大電路。
- 馬達驅動芯片: 馬達即電機,控制馬達的正轉、反轉、剎車等,用于控制震動馬達。
- 線性馬達: 通電的線圈在磁場中受到洛倫茲力作用,帶著動子沿固定方向往復運動產生振感,是一種能將電能直接轉換成直線運動機械能; 線性馬達的振動頻率和波形均可編程,能根據使用場景,讓馬達做出不同方向、時間和強度的振動反饋。
- X 軸線性馬達: 動子沿 X 軸方向移動的馬達,可以帶來前、后、左、右四個方向的震動感覺(X、Y 軸)。
- Z 軸線性馬達: 動子沿 Z 軸方向移動(x,y,z 軸),帶來上、下的震感。
手機上一般配 X 軸,因為手機薄,Z 軸行程短,效果不好;手柄上就不是了,雙關齊下;早期還有一種轉子馬達,利用電磁感應,用電流導致的磁場驅動轉子旋轉而產生振動。這種方法的問題是延時,缺乏方向性,震動的手感不好。
2. 計算、通信、存儲
- IC: Integrated Circuit 集成電路芯片的簡稱。集成電路芯片是一種電子元件,是將多個電子元件(如晶體管、電容、電阻等)集成在一起,通過半導體制造工藝制成的電路。集成電路芯片有很多類型,比如存儲器芯片、處理器芯片等。
- CPU: Central Processing Unit ,中央處理單元,主要用于計算機指令的邏輯計算和輸入、輸出控制。
- DRAM: Dynamic Random Access Memory,動態隨機存取存儲器,RAM 的一種,用于數據的臨時存儲,主要用于存儲運行中的程序和數據。
- LPDDR5: DRAM 的一種,全稱Low Power Double Data Rate SDRAM,其中 SDRAM 是 Synchronous Dynamic Random Access Memory 的縮寫,表示同步動態隨機存取存儲器。LPDDR5 的讀取速度可以達到 6400MHz,表示內存每秒鐘可以進行6400萬次數據讀寫。
- ROM: Read Only Memory,只讀存儲器,用于永久保存數據,也即我們一般意義上的內存。
- 閃存 UFS 3.1: Universal Flash Storage, 讀寫速度可以達到幾百MB/s或甚至上千MB/s,一般插 U 盤在電腦上,數據從 U 盤上的讀取、寫入就看閃存的能力。
- MCU: Microcontroller Unit, 微控制器單元,集成了處理器核心(CPU)、存儲器(RAM)和輸入/輸出接口等功能。
- SoC: System on Chip, 系統級芯片,將系統的大部分或全部組件集成在一塊芯片上,通常包括處理器、內存、輸入/輸出接口、模擬電路、數字電路和其他外圍設備等。SoC 可以簡單理解為 MCU + 特定功能的外設集成。
- FEM: Front-end Modules,前端模塊,主要用于射頻信號的發送放大、接收放大、濾波等,用在手柄、頭盔(2.4 G、5G 射頻)的通信。
- FPGA: Field Programmable Gate Array,可編程的集成電路,優勢是高速、實時處理大量數據,用于對視覺畫面、傳感器數據等的并行處理。
3. 電源管理
- 鉭電容: 電容器,主要用來存儲電荷。
- 電壓電平芯片: 解決不同電壓電平之間兼容性問題的集成電路芯片,電壓電平芯片可以將輸入信號的電壓范圍轉換為輸出信號的電壓范圍。電平電壓芯片將VR頭顯與計算機或游戲主機之間的信號進行轉換,以確保它們能夠正常地進行數據傳輸和通信。
- 穩壓芯片: 將輸入電壓轉換為穩定輸出電壓的集成電路芯片。
- 升壓芯片: 將輸入電壓升高到更高電壓的集成電路芯片,升壓芯片也有使用運放的方案。
- 運算放大器: Operational Amplifier,簡稱Op-Amp,可以將微弱的模擬信號放大到適合后續處理的范圍,也放大輸入之間的電壓差;VR 中作為 LED 驅動或者其他驅動的放大器;運放也有用在升壓芯片的方案。
- OTG 擴展供: On-The-Go,USB 2.0 規范的補充,供電是指在使用OTG 功能時,主機設備(比如電腦)為連接的外設(比如 VR 頭顯)提供電源供應。
- 電源管理芯片: 顧名思義,對電源起到管理作用,具體包括。
- 電源變換:將輸入電源的電壓和電流轉換為適合系統需求的電壓和電流。
- 電源分配:將電能分配給不同的系統組件,以滿足其功耗需求。
- 電源檢測:監測電池電量、充電狀態和系統負載等信息,以提供電源管理的智能化控制。
- 其他電能管理功能:如電池保護、溫度監測和功率管理等。
五、后記
這應該是我自《張小龍 22 年》后寫的最長的文章了,無論是字數還是時間。寫長文不容易,記得當時寫張小龍的時候,大概花了一個星期,雖然在微信上沒發出多久就被騰訊封了,但在 pmcaff 上還有留存(鏈接放在了參考中),并得到了池建強老師的推薦,也算滿意了。
寫這篇文章,比寫人物要困難多了,太多的專業術語,以及技術理解。原先我以為自己懂了的概念,其實真正串起來,又延伸出許多枝蔓,又一點點去查。
好在有 perplexity 的幫助,簡化了我的一些工作量。不過寫作的樂趣正在于此,它是一座迷宮,有時只想理解一個概念,又牽扯到另一個概念,概念與概念之間的關系又引發了新的著迷。
有一些很不錯的信息源在此過程中也被發現,例如雷鋒網的 VR 專題、知乎上胡癡兒的早年回答,以及 B 站 Up 主消失的模因的精彩視頻??上В皟烧咭呀洸辉俑铝?。
當然,最驚喜的是終于發現了一本介紹 VR 全貌的書籍,《The VR Book》,雖然成書于 2016 年,但作者功力深厚,仍然不失為理解 VR 的最佳材料之一。
這篇文章,大概可以 2 個月以來,對 VR 的研究結果,是給自己一個交代。里面一定有諸多問題,受限于自己當前的見識,有所偏頗,但第一步既已踏出,便可以在后續的學習道路上增刪改查,可謂是寫完后最大的收獲了。我想,在消費電子業無聊的狀態下,有一件有意思的事物可以研究,便很快慰了。
參考:
- 人類的視覺增強探索史:https://www.uisdc.com/evolution-of-ar-and-v
- XR 設備發展史:https://www.scaruffi.com/memejam/vr.html
- Philco HeadSight 介紹:https://www.virtual-reality-shop.co.uk/philco-headsight-1961/
- 凸透鏡成像原理:https://www.junyiacademy.org/junyi-science/science-high/science-high-history/s5p-99/junyi-geometric-optics/v/F-qVxGLJT1Y
- 了解 AR/VR 的光學原理:https://imgtec.eetrend.com/blog/2022/100557077.html
- VR視場角真的是越大越好嗎?- 大朋工程師的文章 – 知乎 https://zhuanlan.zhihu.com/p/22252592
- 重新認識魚眼鏡頭:https://www.bilibili.com/video/BV1TL41117ti/?spm_id_from=333.1007.top_right_bar_window_history.content.click;vd_source=7cf1f568229c6f5b4a7c23f5a2e85cbc
- VR沉浸感的奧秘,人眼如何通過雙目視差硬解深度信:https://www.bilibili.com/video/BV11A411m7Sw/?share_source=copy_web;vd_source=c7e29439c97151c3755a46ccd4c8160a
- 如何充分利用視覺系統對深度的感知從而營造更強的立體感與深度感?:https://www.zhihu.com/question/46552885
- 光場與人眼立體成像機理:http://vr.sina.cn/news/2018-10-24/detail-ifxeuwws7707633.d.html
- 維基百科 – Vergence-accommodation conflict:https://en.wikipedia.org/wiki/Vergence-accommodation_conflict
- MEMS傳感器1:3軸加速度計工作原理揭秘,與這些有關:https://www.bilibili.com/video/BV1NJ41117B8/?share_source=copy_web;vd_source=c7e29439c97151c3755a46ccd4c8160a
- 深度解析 HTC Vive 的 Lighthouse 室內定位技術 – 虎嗅網:https://www.huxiu.com/article/142795.html
- Lighthouse 激光定位技術開源了,但不是 Valve 做的 | 雷峰網:https://www.leiphone.com/category/arvr/nu6Zln6hQTdMqSsy.html
- HTC Vive Lighthouse Chaperone tracking system Explained – YouTube:https://www.youtube.com/watch?v=J54dotTt7k0
- How the Vive Lighthouse Works – YouTube:https://www.youtube.com/watch?v=oqPaaMR4kY4
- Hypereal 突然開源?背后所涉的重磅信息都在這里了 | 愛范兒:https://www.ifanr.com/786928
- 目前最強的 VR 定位技術,HTC 和 OptiTrack 是如何做到的?:https://wapbaike.baidu.com/tashuo/browse/content?id=2e7f4fcdd19a68101416efc6
- 深度干貨:詳解基于視覺+慣性傳感器的空間定位方法:https://www.leiphone.com/category/arvr/taExbGMOaYfbnnMw.html
- VR的空間定位技術是如何實現的?- 知乎:https://www.zhihu.com/question/46422259
- VR空間定位全解:如何在虛擬世界中行走?:https://www.leiphone.com/special/216/201607/577cd787225d6.html
- 「面部動作捕捉」是一項什么技術?主要應用于哪些場景?- 渲云渲染的回答 – 知乎:https://www.zhihu.com/question/321811525/answer/675319985
- 【VR速遞】OculusQuest面部識別;眼球追蹤的研發之路 – 載入圈VR的文章 – 知乎:https://zhuanlan.zhihu.com/p/410829378
- 面部表情追蹤技術在 VR 設備中的發展研究:https://m.fx361.com/news/2019/0106/6266425.html
- Eye Tracking in Virtual Reality: a Broad Review of Applications and Challenges:https://link.springer.com/article/10.1007/s10055-022-00738-z
- What is VR Eye Tracking? [And How Does it Work?]:https://imotions.com/blog/learning/best-practice/vr-eye-tracking/
- Hand Tracking for Immersive Virtual Reality: Opportunities and Challenges:https://www.frontiersin.org/articles/10.3389/frvir.2021.728461/full
- Quest手勢識別功能評測:https://mp.ofweek.com/vr/a645693029046
- Meta RGB透視VR研究:攝像頭距離可調、分辨率720p:https://zhuanlan.zhihu.com/p/569886369
- 從典型案例看VST MR游戲的設計技巧:https://www.vrtuoluo.cn/536138.html
- 紅外 ToF 技術將大幅提升接近感應傳感器的性能及可靠性:https://mouser.eetrend.com/content/2020/100048606.html
- 何謂霍爾IC?:https://www.ablic.com/cn/semicon/products/sensor/magnetism-sensor-ic/intro/
- 轉子馬達、X軸和Z軸線性馬達有啥差別?這篇文章總算說明白了?。篽ttps://www.cfan.com.cn/2020/0729/134125.shtml
- MEMS mic之Amic(一)_麥克風thdpn是什么不良代碼?:https://blog.csdn.net/weixin_44316365/article/details/124838502
- EPOS 波束成形麥克風陣列技術優化您的會議體驗.pdf
- 常用的音頻功放芯片-電子工程世界:http://news.eeworld.com.cn/qrs/ic628769.html
- 瑞蘇盈科為VR行業提供FPGA核心板解決方案:https://xilinx.eetrend.com/content/2023/100572176.html
- 同創國芯竇祥峰演講實錄:VR的FPGA應用分析:https://cloud.tencent.com/developer/article/1137422
- Perplexity:https://www.perplexity.ai/
- 張小龍的 22 年和微信的 8 年:https://xie.infoq.cn/article/a70d189eaa18334868f8b2a45
專欄作家
善寶橘,微信公眾號:善寶橘,人人都是產品經理專欄作家,2019年年度作者。南大傳播學碩士,崇尚終身學習的互聯網斜杠青年,專注新媒體、游戲領域的運營策劃。
本文原創發布于人人都是產品經理。未經許可,禁止轉載
題圖來自 Unsplash,基于CC0協議
該文觀點僅代表作者本人,人人都是產品經理平臺僅提供信息存儲空間服務。
講的很好,掃盲啦