此前有報道稱Oculus的傳感器可以用于拍攝圖片,所以有人擔心黑客或許可以從此入手,記錄我們在虛擬世界中的一舉一動 。
但我們是否是過分擔心呢?Motheboard日前采訪了Oculus Rift傳感器可用來捕捉用戶圖像的發現者——美國加州大學戴維斯分校的研究員Oliver Kreylos 。 下面是整理的采訪片段:
問:與Vive的Lighthouse傳感器相比,Oculus的定位追蹤方法是否比較馬馬虎虎,還是說它具備自己的優點?Oculus是否值得在產品中冒這種風險呢?
Kreylos:這個問題涉及面很廣,所以我先進行一些背景說明 。 攝像頭和追蹤標識器(如Oculus的LED)在3自由度和6自由度追蹤中有著悠久的歷史 。 幾乎所有高端的動捕系統都基于這種方法 。 這是Wiimote(Wii手柄)追蹤的基礎,同時多年來一直以NaturalPoint的TrackIR頭部追蹤器形式用于PC游戲 。
這種方法之所以會如此流行(尤其是在業余愛好者群體中),是因為它可以提供高質量的效果,同時不需要太多的定制硬件 。 攝像頭十分普遍,價格親民 。 其他唯一的剛性需求硬件是追蹤標識器,但即使是業余愛好者也能制造,而其他的事情都是通過軟件實現 。
【專家詳解Oculus攝像頭運作原理及黑客攻擊風險】 當Oculus為Rift DK2尋找一套優秀而且廉價的6自由度追蹤系統時,攝像頭是一個明顯而又最為合適的選擇 。 但Oculus沒有采用標準的做法,而是通過可向攝像頭識別自己的追蹤LED來顯著降低標準算法的計算負荷 。 因此,DK2追蹤系統超乎了許多人的預期,包括我自己 。
當Oculus從DK2轉向CV1(第一代消費者版本)時,沿用已被證明的追蹤系統,并通過采用更好的硬件(高分辨率攝像頭,使用全局快門而非滾動快門)來進行優化,這也是一個合理的工程決定 。 從純技術觀點上看,這是一個正確的選擇 。 雖然存在一定的問題,但Oculus的Constellation是一個優秀的6自由度追蹤系統 。 由于Constellation比較閉合,我并沒有像對Valve的Lighthouse系統一樣進行詳盡的分析,但我預期兩者在質量不相上下 。
我認為Lighthouse更為優雅,它采集的原始數據更少,計算處理也更少,并能實現相同的效果 。 兩個系統的定位計算算法的基本輸入是,從中心點(攝像頭焦點或Lighthouse基站中心)開始的三維射線,并指向空間中的追蹤LED或光電二極管 。 Constellation通過捕獲高分辨率圖像,將它們傳輸至主機PC,找到這些圖像中的亮像素的斑點,以及計算它們的中心(x,y)位置來得出這些射線 。 Lighthouse也是一樣:當掃描激光與光電二極管(將光轉換成電流的裝置)相遇,根據激光器的已知角速度將時間轉換成角度,并將所得到的角度發送到主機PC時,然后Lighthouse系統就會進行相應地計算 。 Constellation需要向主機發送大約60MB的數據,這給主機的USB子系統帶來了嚴重的壓力,而Lighthouse發送的數據很少(我估計只有幾十KB),它可以實現無線傳輸同時不會導致什么問題 。

文章插圖
portant;" />
但這并不意味著Constellation是馬馬虎虎的系統 。 在開發出來時這是最先進的系統,但Valve后來推出了一套令人意想不到的,更為優雅的系統,而Oculus要更換已經太晚了 。 這是一個創新,我并不認為有任何人預見Lighthouse系統的到來 。
Constellation的主要缺點是,由于較高的USB帶寬要求,導致某些用戶在使用過程中會出現問題 。 另一個非技術性的缺點是,從數個攝像頭向主機PC發送高分辨率的圖像,而且這些攝像機必須被放置在幾乎理想的位置 。 我個人認為,一些黑客攻擊者獲得這些圖像的風險性很小,但我不能否認,這在理論上存在可能 。
在這一點上Oculus可以采取不同的做法以避免這個問題 。 我之前提到的Wiimote同樣是通過攝像頭進行追蹤 。 但跟Constellation不同,Wiimote不會向主機發送圖像 。 將圖像轉換為(x,y)LED位置的步驟在攝像頭芯片本身內部進行,由定制的芯片完成 。 如果Oculus采用了這種方法,并將這樣的ASIC(專用集成電路或具有特定用途的定制電路)集成到攝像頭本身,他們就可以避免Constellation的問題 。 它可以把從攝像頭到主機的帶寬減少約1000倍(解決大多數用戶的問題),同時其他人不可能窺探發送的圖像,因為圖像將永遠不會被發送到主機PC 。
我不知道你是否能將其稱作“馬馬虎虎”,在一定程度上Oculus的工程師忽略了可能存在的隱私問題,或者這是他們在經過衡量之后才做出的決定 。 但把圖像發送至主機存在多個好處:設計ASIC需要時間和金錢,軟件解決方案更靈活,更容易隨著時間進行改進 。 Oculus目前可能正在研究算法,使用攝像頭圖像來追蹤LED之外的對象,例如通過Leap Motion或Kinect來把用戶的手部,或甚至是全身帶進VR 。
除此之外,Oculus一直將CV1攝像頭稱為“傳感器”,而不是“攝像頭”,并一直堅持認為它們跟攝像頭不一樣 。 最初這使得我認為他們確實有將圖像處理ASIC集成到攝像頭,但結果并非如此 。
問:是否可以通過Vive的傳感器來捕獲“圖像”,即使不借助傳統的攝像頭?
Kreylos:Lighthouse本身不會收集任何能夠重建用戶環境或用戶本身圖像的數據 。 從Lighthouse可被追蹤設備發送到主機PC的唯一數據是時間戳,在該時間戳處,可被追蹤的各個光電二極管與掃描激光以及來自可被追蹤的集成慣性測量單元的樣本相遇,這些加在一起就允許系統在3D空間中建立可被追蹤的位置和方向 。 理論上,通過在長時間段內觀察所有可被追蹤物的位置,你可以重建用戶環境的粗略3D模型,但也僅此而已 。
Vive頭顯確實搭載了一個前置攝像頭,它是一個標準的網絡攝像頭,并且連接至主機PC的操作系統 。 因此,該攝像頭跟其它所有的網絡攝像機一樣容易受到攻擊 。 跟Constellation不同,Vive系統的運作并不需要這個攝像頭,如果用戶擔心隱私問題可以使用膠布蓋住攝像頭 。

文章插圖
portant;" />
問:獲得可識別圖像這一過程的復雜性(和硬件的可用性的相對限制)足以勸阻黑客大規模入侵傳感器嗎?
Kreylos:我不能進行判斷,因為我不是一名計算機安全專家 。 我知道有遠程攻擊者訪問網絡攝像機的真實案例,但我不清楚這些攻擊是如何實現的,以及這些方法是否適合Constellation攝像頭 。 我所遵循的方法很簡單,但可能不適用于遠程攻擊者,因為它需要修補Linux內核的網絡攝像頭驅動程序來識別Constellation攝像頭 。
我可以說的是,廣泛部署的“標準”網絡攝像頭攻擊并不能適用Constellation攝像頭,因為它們不會向操作系統“宣稱自己是標準的網絡攝像頭” 。 如果一個普遍的網絡攝像頭攻擊在Oculus用戶的計算機上運行,??那這個攻擊會找不到網絡攝像頭 。 由于Constellation攝像頭實際上仍然是標準的網絡攝像頭,黑客可以修改攻擊以瞄準它們,但我不知道這需要多大的修改 。
對于潛在攻擊者而言,另一個復雜性是:當頭顯處于活動狀態時,Oculus的Runtime軟件會使用Constellation攝像頭 。 如果另一個進程已在使用攝像頭,則現有的網絡攝像機漏洞可能無法接管,或者可能會關閉追蹤,這樣會警告用戶存在“流氓” 。 此外,每個Constellation攝像頭都配有一個指示燈 。 我不知道這些是否在電路級別綁定到攝像頭傳感器的操作,但我知道在開始使用軟件記錄圖像時,攝像頭的指示燈是亮著的 。
- 專家淺談:如何利用3D點云技術讓VR體驗更加逼真
- 詳解VR/AR頭盔的可預測追蹤技術
- AVR看門狗使用范例即Reset程序詳解
- 變頻器內部主電路詳解
- 圖文詳解高壓開關柜,超詳細!
- 詳解USB-C應用新架構
- 高溫等離子技術在醫藥企業廢氣排放的應用詳解
- 安全專家談如何防范 鎖舌電極是智能鎖的關鍵
- 智慧路燈控制系統解決方案詳解
- 干貨!詳解6種主流的固態電解質
