Re: [閒聊] 關於光學式定位的距離問題

作者: zebb   2017-01-26 16:34:39
交流一下個人想法,有錯還請指正
※ 引述《h1981127 (NEST)》之銘言:
: Oculus 和Sony 都是採用影像辨識定位
: 這種定位的好處是頭盔上只要裝led就好
: 可以減輕頭盔的重量與設計上的麻煩
兩種定位技術應該和頭盔整體重量沒有什麼關係,LED很輕,但vive的photodiode
sensor也沒有重到哪去,更何況Oculus用的LED比Vive sensor還要多,連後腦都要
拉線過去擺LED,我想光比較定位系統重量應該相差無幾。
(vive 32 sensor,oculus 44 LEDs)
整體頭盔重量關鍵應該不在定位系統,比較像是在電子機構的功力,要輕、要堅固、
要舒適、要美觀,還要低成本
實際上,以重量而言Oculus(440g) < Vive(555g) < PSVR(610g)
而Oculus和PSVR都是使用光學定位,所以定位技術應該和重量沒什麼關係
: 壞處很明顯,原地遊玩就算了
: 定位距離與定位精度在room scale模式下都顯得不足
: 依照我的理解,定位距離應該是跟sensor靈敏度有關
: 定位精度則是跟sensor解析度(總畫素)以及快門時間有關
: 若是要改善以上的問題,是否只要升級現有的相機sensor就好
: 還是說有其他我沒想到的地方
: 不知道板上有沒有熟悉這一塊領域的大大可以幫忙解惑
不知你指的「sensor靈敏度」是否可以看為「感光度」
如果是感光度,它拉越高雜訊就多,對後面處理的負擔就越大,所以無法一直拉高
而相同感光度下,LED的亮度太低時,距離太遠就收不到,但亮度太高,近距離
又可能出現耀光鬼影等問題,加上LED需要閃爍,由暗到亮時亮度太高可能出現
其他問題,所以這一切都需要取得一個相互間的平衡設置
至於距離問題,我覺得除了太遠時LED亮度不夠以外,或許也和解析度有關
先看看Oculus的定位方式,是利用高速IMU(1000Hz)加上光學定位
為什麼不只用IMU定位呢?
因為會累積誤差,用在短時間的高速位移/角度偵測還不錯(因一秒取樣1000次
回報500次),但長期的雜訊誤差累積下來,將無法判斷物體位於空間中的位置
https://goo.gl/cQb8lO
而為什麼不只用光學定位呢?
最明顯是因為無法判斷高速移動,或許是因為每個LED需要10個frame才能重新定位
https://goo.gl/nvjMLc
所以,或許可以推測,O家利用IMU+光學用來判斷頭盔角度/面向,然後用IMU判斷
短時間高速移動下頭盔的位置,用光學修正長期頭盔位於整個空間中的位置
而O家用戶回報的通常是距離單攝影機3.5公尺後明顯追蹤不穩定,2.5公尺內很穩
https://goo.gl/bF6Hsb
我猜這「不穩定」應該就是屬於「光學定位端失效」導致的不穩定,因為IMU持續
運作中,可以想見是整個頭盔位置跳動,而不是角度跳動
(我沒有玩過Oculus,有錯請指正)
而為何光學會定位失效?
我們看看這個影片:
https://goo.gl/gA95I5
可以發現:
1. 每個定位點因為需要閃爍來編號,而閃爍時攝影機看到的光點忽大忽小,形狀
也不斷改變,導致定位出來的位置也不斷抖動(注意看頭盔放桌上不動時,
每個LED編號的文字)
2. 位於邊緣的定位點非常不穩定,編號還會亂跳
3. 定位點光源不夠大/不夠圓似乎都不會被編號
然後再看看此影片:
https://goo.gl/ZUeFHT
注意上面中央的15號LED,可以看到他因為在邊緣,時有時無的定位,也導致了
整個頭盔3D module不斷跟著15號LED偏移
由以上資訊推測出,光學定位精確度就是無法很高(其實影像處理定位因雜訊/解析
度等問題原本就無法很精準,這邊說的是Oculus並沒有比較神奇的解決那些問題)
而解析度方面,Oculus camera FOV是100x70度
https://goo.gl/fCvLKO
而Oculus camera解析度最高是1080P
以橫向100度、1920解析度來換算,
距離2.5公尺遠時,兩個pixel間對應實際距離是2.27mm
距離3.5公尺遠時,兩個pixel間對應實際距離是3.18mm
也就是說如果光學定位有1 pixel的抖動,實際上在2.5公尺時,頭盔是2.27mm的抖動
但如果用更高解析度的camera,假設是4k的,橫向3840點,
那麼一樣是1 pixel的抖動情形下,頭盔要拉到5公尺才會有2.27mm的抖動
所以解析度增加會改善可定位距離,改成4K理論上就是到5公尺還能接受
但增加解析度同時也會增加資料傳輸量/定位系統運算量,還是得取捨
目前Oculus要room-scale已經需要至少3個USB3.0傳資料了,
增加解析度這條路將來應該不太會被選擇
作者: kira925 (1 2 3 4 疾風炭)   2017-01-26 16:41:00
作者: GenialPP (PP)   2017-01-26 18:14:00
作者: SiaSi (夏希亞)   2017-01-26 18:28:00
專業
作者: h1981127 (NEST)   2017-01-26 18:50:00
推!專業分析!不過需要3個USB的原因是他使用了三隻相機
作者: kira925 (1 2 3 4 疾風炭)   2017-01-26 19:33:00
因為Oculus的設計兩隻攝影機還不夠Room Scale...
作者: Kamikiri (☒☒)   2017-01-26 21:54:00
這樣買下來 應該已經比VIVE還貴了吧? 一個鏡頭89鎂
作者: kira925 (1 2 3 4 疾風炭)   2017-01-26 23:19:00
三顆鏡頭 一組手把 本體...
作者: ashinet (米克)   2017-01-27 00:16:00
寫得很好
作者: hsinggg (星居居)   2017-01-27 02:31:00
我非常不願意這樣說...轉頭買V吧...
作者: Tunie (兔妮)   2017-02-01 18:14:00
是啊
作者: ashinet (米克)   2017-02-02 11:34:00
O家不爭氣, PSVR雖然用的很幹,但最近有沙灘排球讓我開心
作者: kuma660224 (kuma660224)   2017-02-05 11:18:00
鏡頭好處是未來容易降價。cam成本隨製程降
作者: kira925 (1 2 3 4 疾風炭)   2017-02-05 17:01:00
基礎演算法就有落差了 降價沒意義阿....
作者: h1981127 (NEST)   2017-02-06 01:38:00
如果能把影像演算法寫成硬體,用晶片去運算,就不用耗到CPU的資源了,這樣一來就算換成4K影像也不要緊,再來就是晶片放在燈塔上,燈塔只要回傳運算完之後的座標資料,這樣也就解決了頻寬不足的問題,最後也最重要的就只剩下晶片的成本會多貴了
作者: kira925 (1 2 3 4 疾風炭)   2017-02-06 09:11:00
這樣損失了燈塔系統有可能做ad-hoc多燈塔擴充的可能性
作者: h1981127 (NEST)   2017-02-06 13:54:00
不衝突啊,燈塔回傳的只是燈塔和頭盔的相對座標,多燈塔運算再由cpu去反推燈塔之間的相對位置,最後由軟體去重新制定一個座標軸
作者: kira925 (1 2 3 4 疾風炭)   2017-02-06 14:42:00
沒有燈塔的絕對座標的話 會做不出來...
作者: h1981127 (NEST)   2017-02-06 16:23:00
由燈塔A推得頭盔的相對位置a,由燈塔B推得頭盔的相對位置b,已知a=b,反推A和B的位置,有什麼難的嗎?
作者: kira925 (1 2 3 4 疾風炭)   2017-02-06 16:51:00
那你需要的就不只兩個燈塔了 是三個阿...
作者: h1981127 (NEST)   2017-02-06 16:58:00
完全不懂樓上的問題點在哪? 可以詳述一下嗎?
作者: kira925 (1 2 3 4 疾風炭)   2017-02-06 17:49:00
我被GPS定位法搞混了 我再想想 主要是單純a=b這件事情你只能得到一個平面上等距 所以得不到A/B的位置SteamVR在確定遊玩範圍的時候應該就是要從主機上做定位A/B燈塔出來的距離多遠到多遠是最大範圍邊界 如果你把這些計算扔進燈塔 那就是要有傳輸路徑持續即時連線到CPU更新讓CPU去合成 那我覺得沒有頭盔上面收訊計算漂亮
作者: h1981127 (NEST)   2017-02-06 18:32:00
我們講的可能是不同的系統,我是討論Oculus的系統,目前O家的系統問題是要先把影像傳回電腦,靠CPU去運算燈塔和頭盔的相對位置,由於O家是使用USB傳輸,所以會消耗大量的頻寬在影像傳輸上,這也是影像解析度無法提升的一個因素,我一開始說的重點就是讓影像處理這一塊改用硬體運算,降低CPU以及頻寬的負擔
作者: kira925 (1 2 3 4 疾風炭)   2017-02-06 20:49:00
如果是Oculus的系統的話....就我之前看到的Hack是 他是實際上真的用攝影機拍 然後跑特殊的驅動卡在中間丟進CPU轉換輸出 但Constellation系統是需要跑多個frame的相差處理掉影像轉換 也還有很大的負擔 而且還是會卡到攝影機FPS 所以能夠完善多少...我懷疑
作者: intela60474 (Alber)   2017-02-07 15:06:00
推這篇 也推vive
作者: kuma660224 (kuma660224)   2017-02-10 22:25:00
演算法固定後用攝影機內特製asic去分析應該就可以不用大頻寬傳輸,不依賴CPU不受限解析度,應該最可行。用usb傳影像回cpu算是初期省硬體的錢但應該只是第一代過渡性質做法。

Links booklink

Contact Us: admin [ a t ] ucptt.com