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