交流一下个人想法,有错还请指正
※ 引述《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传资料了,
增加分辨率这条路将来应该不太会被选择