跟Hoevo缪庆学习VR/AR/MR的空间定位技术 | 雷锋网公开课

编者按:今年 8 月,雷锋网(搜索“雷锋网”公众号关注)将在深圳举办一场盛况空前,且有全球影响力的人工智能与机器人创新大会。届时雷锋网将发布「人工智能&机器人 Top25 创新企业榜」榜单。目前,我们正在拜访人工智能、机器人领域的相关公司,从中筛选最终入选榜单的公司名单。如果你也想加入我们的榜单之中,请联系:2020@leiphone.com。

跟Hoevo缪庆学习VR/AR/MR的空间定位技术 | 雷锋网公开课

嘉宾简介:缪庆,Hoevo公司CEO。曾计算机竞赛一等奖保送同济大学建筑本科,后在英国建筑学名校Cardiff Uni攻读PhD(Genetic Algorithm in sustainable design optimisation)主攻基因算法优化设计问题,同导师Andrew Marsh开发建筑节能设计软件Ecotect,06年出售与Autodesk。软件出售后辍学PhD,终获哲学硕士。在伦敦Gensler担任多年建筑师,参与设计了迪拜金融中心,上海中心等项目。随后移居珠海,从零创办企业为壳牌石油生产Helix机油。2014年售出工厂股权回到上海重新创业,创立了Hoevo。

本文整理自缪庆在雷锋网(公众号:雷锋网)硬创公开课的分享,以下是全文内容。

一、VR、AR、MR的区别是什么?

VR(Virtual Reality)

VR是基础概念,但是要确切定义又很难。一般公认的是VR一定是沉浸式的,用技术手段向使用者复制了在某个现场的体验。这种体验可以是一个真实的现场(比如用360°摄像机拍摄的,我们可以称为360°视频),也可以是一个虚拟的现场(比如用Unreal/Unity建造的虚拟内容)。

沉浸式定义并不清晰,是有两个级别标准的:

第一级3DOF(Degrees of Freedom,通常缩写为DOF)沉浸式体验只包括360°的视野,你可以自由旋转身体或者头部来观察。比如GearVR为首的插手机的盒子VR都是这类。因为360°视频即使在可见的未来依然是3DOF的,因此视频这一类VR的主要概念,而且这一类VR因为Google Cardboard普及程度最高。

第二级6DOF不仅可以旋转还可以在这个现场里自由移动,Oculus、HTC Vive、PSVR(PlayStation VR)都是这一类。因为不论真实世界,还是虚拟内容/虚拟世界本质是6DOF的,具备6DOF的设备才能在体验上无限逼近真实而产生身临其境的错觉,才能对于游戏等虚拟内容有完整的体验。而目前所有设备能提供的6DOF的范围是非常有限的。(顺便说一句,9DOF/9轴是传感器概念,计算结果依然是6DOF的。)

AR(Augmented Reality)

AR是最容易解释的,但是却常常和MR混淆,因为两者都涉及到虚拟内容和现实内容的结合。如果用我们的定义,AR是在现实世界/现实视频上叠加了一层虚拟的信息,这些虚拟信息本身和世界的位置/角度无关,你不会误会它们是世界的一部分。就像有些汽车的挡风玻璃上可以显示车速,Google Glass就是这一类应用。

MR(Mixed Reality)

MR最直接的例子,就是Magic Leap的视频那条在体育馆里跃起的鲸鱼。MR技术将虚拟内容和现实叠加后呈现在你的眼前。MR的必要条件是6DOF,因为必须根据你的走动和视角即时的计算出虚拟内容的大小、角度、光影。技术的发展会使你越来越无法区分虚拟内容和现实。

从技术上MR比VR要求的定位精度和响应速度更高,技术上是一个更大的挑战。有趣的是难易会互换,在优秀的技术支持下,从内容开发者角度来说MR的开发量比VR小的多。举个例子,如果我们想在一个精美的酒店的桌子上摆一个虚拟的花瓶。用MR技术只需要制作虚拟花瓶即可,而用VR则必须把精美的酒店和桌子这些现实物体重建一遍。换句话说,MR可以享用虚拟内容的利益而避开包括现实重建、感官丧失等成本。这也许可以解释为什么Magic Leap比Oculus估值高那么多。

从本质上说,VR仅仅是100%覆盖虚拟内容的MR而已,VR设备可能是MR设备过渡阶段,因为MR设备都可以实现VR。

二、VR的定位技术标准是什么?

Oculus的CEO Brendan Iribe在2014年Oculus Connect讲到VR沉浸的5个要点,我们借其中的1、2两点来试着统一一下什么是VR/MR的定位必要标准:

1、追踪(Tracking)

跟Hoevo缪庆学习VR/AR/MR的空间定位技术 | 雷锋网公开课

  • 6DOF(不仅能够追踪旋转,也能追踪移动),360度追踪(不管朝向哪个方向都能追踪到6DOF);

  • 毫米级或更高精确度,无颤抖噪音(被追踪物体静止时不会出现抖动);

  • 舒适的追踪范围(头盔所处的空间定位面积)。

2、延迟(Latency)

跟Hoevo缪庆学习VR/AR/MR的空间定位技术 | 雷锋网公开课

  • 从动作发生到屏幕显示最后一帧画面的时间低于20毫秒;

  • 整合光学追踪和IMU数据;

  • 循环最小化: tracker → CPU → GPU → display → photons

在与定位相关的这两点里,我们可以总结以下几条标准:

1、6DOF(可以定位旋转和移动),360°;

2、毫米级或更高的精度,没有抖动噪音(完全静止时定位不会抖动);

3、舒服的定位范围(这里Oculus没有提出舒服的范围是多大,不免有为自己技术辩护之嫌);

4、从运动发生到显示在屏幕上的时间差<20ms,即,延迟<20ms,刷新率>50Hz。

我们在这里加上重要的一个条件:必须满足多人同时使用

目前主要有哪些空间定位的技术?

空间定位是一个巨大的话题,我想把问题缩小一下有哪些潜在能为VR/MR服务的室内定位技术,这里就不用讨论GPS这类大范围定位了。

定位数据的描述是我们讨论的基础。在此我尽量避免太复杂的数学,但是因为各种传感器技术获得的数据即使都是关于位置的信息,有的是加速度有的是速度,为了帮助理解,我简单重复一下中学物理和数学里的概念。

定位是要知道一个物体瞬间(时刻k)的位置和角度。以位置为例,可以用来描述。第一阶是位置,第二阶是速度,第三阶是加速度。最理想的是直接知道位置,但是知道速度也有帮助,用 x1=x0+v*dt 可以通过上一时刻的位置和速度、时间求得此刻的位置,可以对位置数据进行矫正;同理三阶的加速度v1=v0+a*dt可以用来矫正速度。角度同样有三阶,角度,角速度,角加速度,我接触的传感器和算法之内没有用到角加速度的,所以旋转可以仅用两阶。

基本逻辑是,获得越低阶的数据越好,用上一阶的数据可以给低一阶提供矫正。也可以跨两阶来矫正,当然必须建立更复杂的数学模型对中间阶进行描述。但是可不可以用高阶观察值直接计算低阶数据? 答案是明确的不可以,IMU不能定位位置的原因也正在这里,后面会解释。

Breandan提到将光学定位和IMU定位结合,我们从IMU讲起:

1、 IMU

IMU尤其是因为InvenSense和Bosch两家的努力,MEMS级别的IMU成本很低而且非常成熟,每个手机里都有一组(iPhone 有两组),它使得Gear VR和同类VR能3DOF定位。下面以Oculus的IMU设计为例:

第一部分是Bosch Bmi055 由一个加速度计一个陀螺仪组成。加速度计的值描述了加速度的方向和大小,因为重力的存在而且重力方向唯一,我们可以计算出三阶的位置信息(x,y,z方向的加速度);和一阶的旋转信息的两根轴(x,y),垂直重力方向的平面内的旋转依然是未知的。而陀螺仪的值描述了二阶旋转信息,三轴的旋转的速度,如前面解释的,可以用来协助矫正加速度计提供的一阶旋转信息。

第二部分是Honeywell HMC5983(疑似),这颗芯片类似于一个指南针,可以提供磁力的方向和大小。因为地球磁场总是和地心引力垂直,它正好提供了加速度计里我们缺失的一阶z的旋转信息。至此我们获得完整的一阶旋转数据和二阶旋转数据。但是关于位置信息,我们只有3阶的加速度数据,无法提供有效的位置信息。

顺便提一下,iPhone同时配有InvenSene MP67B 和Bosch BMA280,二颗加速度计。我们认为是用来矫正噪音。因此,用两颗IMU来矫正数据并不完全是异想天开,虽然其它没有一家用这样的方案,但iPhone都这么干了。

HTC Vive的内置IMU也是基于类似的配置。虽然IMU可以提供完整的一阶和二阶角度数据因此可以用来计算空间角度,但是磁场并不可靠,靠近很多电器或者金属磁场都会改变,因此会产生drift的现象(即在z轴平面内错误旋转)。

IMU不能计算位置可以看和Tango 老大Johnny齐名的UC Davis大神Oliver的视频,希望他可以说服你。用加速度数据来计算位置是一个很tricky的事情。必须符合两个条件才可以计算:1、必须能不断精确矫正初速度,2、两次矫正时间间隔越久精度越低。我们走路的脚的移动数据是极少数符合的应用,落地时速度为0 m/s可以用来矫正,下一次落地间隔不太久。放IMU在两只鞋子里,就能用三阶模型计算出接近的跑步距离。但是无论如何,IMU只能提供精确的角度数据,不能提供满足VR使用标准的位置数据。

IMU的刷新率很高,Vive IMU的刷新率在1006Hz(很奇怪的数字)。某宝上出售的IMU都有100Hz以上两倍于我们50Hz的标准。而且IMU的数据几乎不需要计算,有很多种ARHS的算法可以把传感器数据转换成3DOF数据。

总结:

6DOF:不能,只能提供3DOF信息。可提供三阶位置信息。

单个成本:极低(10元左右)

计算代价:极低(单片机都可以)

大面积覆盖成本:零

这里插入讲一个异类STEM。基本逻辑是用人工建立强大的磁场。因为使用环境内只能有一个磁场,而磁场衰减非常快,因此我没有深入研究,推测是用多个磁力计的方向三角计算获得6DOF。感兴趣的同学可以研究了探讨一下。

跟Hoevo缪庆学习VR/AR/MR的空间定位技术 | 雷锋网公开课

2、 光学定位(PSVR、Oculus、Optitrack、TheVoid、ZeroLatency)

Daniel DeMenthon和Larry S. Davis在1995年在International Journal of Computer Vision发了一篇论文, 'Model-Based Object Pose in 25 Lines of Code'。原文下载

这篇论文建立了一套我们称为POSIT的方法,这套方法建立了整套光学定位的基础。POSIT是通过透视结果(近大远小)计算出物体相对于光线采集设备(比如CMOS)的旋转和位移。没错, POSIT能直接计算出完整的一阶位置和旋转数据。但是,光学定位都需要外部相机。Oculus配备了Constellation,PSVR 比较坏没有包含,但是必须有PS Eye才可以使用PSVR,也是个相机。

跟Hoevo缪庆学习VR/AR/MR的空间定位技术 | 雷锋网公开课

比如Oculus,用的是红外LED发光,用没有红外滤镜的摄像头看就是这个样子。取得这张图片,然后用blob detect找到所有点的位置,然后用POSIT方法用点在图片中的x,y位置和原始的三维的位置x,y,z(设计时已知了)就可以计算出Oculus的6DOF。

前面提到Oculus同时有IMU提供的3阶位置和2阶及1阶角度数据和光学定位计算出来的1阶位置和角度数据,每个数据有自己的噪音,需要一个方法来计算出一组唯一的数据。我们比较确定的是,Oculus用了一种R.E.Kalman在1960年的论文“A New Approach to Linear Filtering and Prediction Problems”提出的算法来融合和计算出唯一的6DOF数据。

值得一提的是,因为获得数据(图像和IMU采集)的时间T0,计算完成时间T1,和最后画面投在显示屏上的时间T2之间有差(前面提到T2-T0<25ms)。所以这一套Kalman模型并不是直接给出T0信息的计算结果,而是通过2阶数据的计算预测出T2时的数据。这才是真正给出的6DOF,这就是世界最高标准定位算法的追求。 跟Hoevo缪庆学习VR/AR/MR的空间定位技术 | 雷锋网公开课

Oliver的测试照片

测试发现,Oculus通过控制Led的发光频率来区分每一个点,这既有利于POSIT算法,也可以帮助系统区分两台Oculus,满足多人的要求。

跟Hoevo缪庆学习VR/AR/MR的空间定位技术 | 雷锋网公开课

PSVR延续了PS Eye的方法,也是基于POSIT的光学定位。和Oculus的区别是,Sony一贯采用可见光。如图中的手柄,Sony用可见光的颜色来玩家和设备。还有一个差别是,以前Hack PSEye和PS Move时发现,PS的光学只采集1阶的位置信息,无法采集1阶的角度信息,角度信息完全由IMU提供,这点和Oculus不同。

跟Hoevo缪庆学习VR/AR/MR的空间定位技术 | 雷锋网公开课

PSVR或者Oculus的摄像头可以通过阵列覆盖更大空间,这种方案最有名的公司是一家原本非常专业的动作捕捉MOCAP公司Optitrack。TheVoid采用了Optitrack来建立一套可以大范围行走的VR空间。Optitrack本质上是多个Oculus Constellation阵列来捕捉Marker,然后用POSIT方法来计算6DOF。而澳洲的Zero Latency则是用了多个PS Eye的阵列,算法和优缺点都是很接近的。

跟Hoevo缪庆学习VR/AR/MR的空间定位技术 | 雷锋网公开课

上图国内一家VR公司的图,设备上的白色小球就是Optitrack的Marker。下图是Optitrack的相机。通过一圈红外发光来使白色的Marker反光,之后就像Oculus那样计算。Optitrack本来是用来拍电影或者采集动作的,因此原本就是为了大范围使用准备的。

跟Hoevo缪庆学习VR/AR/MR的空间定位技术 | 雷锋网公开课

使用时,相机阵列如上图挂在上方。这种方法的好处是多个相机不容易遮挡,而且同一个Marker有多个相机捕捉到,因此可以通过fusion算法去除掉噪音(jitter)。

光学定位就是对计算机成像(pin hole model)的逆运算,如果熟悉线性代数会很容易理解计算过程。浸润久了,你看什么都是一个矩阵了。这里不涉及复杂的原理,直接说几个结论,如果需要论证可以来探讨。

因为光学采集是FOV固定,CMOS分辨率固定,因此捕捉分辨率和距离成反比。假设水平FOV 51度,我们用两种CMOS 640×480和2048×2048,在1m,5m,10m的距离上每个像素代表的距离如下表:

跟Hoevo缪庆学习VR/AR/MR的空间定位技术 | 雷锋网公开课

中间单位是mm。10m距离,如果用640×480来采集,发生14mm位移依然在一个像素内,意味着完全无法捕捉这个位移。以Brendan所说的mm级(sub-mm)精度为标准,我们需要很多很高分辨率的相机了。

光学定位的POSIT算法计算成本不低。而且,每一个相机都需要用高速网线通信,通过Hub连到计算,然后分别计算再同步。虽然单个相机都可以通过独立线程计算,充分利用CUDA等并行计算的优势。随着相机数量的上升,计算和通信成本依然是指数级上升。因此虽然光学定位理论上可以大范围复制,但是实际上很快会遇到天花板。

总结:

6DOF:可以,一般辅以IMU 3DOF信息计算。

单个成本:不低(高分辨率,高刷新率)

计算代价:高(CPU配合GPU计算)

大面积覆盖成本:与覆盖面积成指数级,成本迅速上升。起步价:5000元/m2

3、Lighthouse(HTC Vive)

Valve这是VR世界的一朵美丽奇葩,创新了一种定位技术Lighthouse,同时创新了一种硬件合作方式,由Valve提供Lighthouse 技术HTC来生产HMD,后来Acer也模仿了这个模式。最初,Valve团队可能是打算研发光学定位(下图),某次采访中提到是太丑而放弃了,的确谁也受不了这样的房间。

跟Hoevo缪庆学习VR/AR/MR的空间定位技术 | 雷锋网公开课

Lighthouse是一种非常聪明的技术,当然也不是Valve发明。最早在几个美国大学的实验和paper上有试验过类似的方法。

Lighthouse 有两个,一般对角放置。两个之间有一个是Master,两者通过光学同步,同步之后Slave才会开始工作。每个Lighthouse里面有两个3600rpm Nidec 电机,就是硬盘里用那种,两个垂直放置(x,y),分别发出线性红外激光扫过整个空间。测试发现,具体工作时间是这样的:

Lighthouse A 闪光

Lighthouse A – X激光开,扫描房间。 Y激光关 (8.333ms)

Lighthouse A – X激光关。Y激光开,扫描房间 (8.333ms)

Lighthouse B 闪光

Lighthouse B – X激光开,扫描房间。 Y激光关 (8.333ms)

Lighthouse B – X激光关。Y激光开,扫描房间 (8.333ms)

不断重复。

跟Hoevo缪庆学习VR/AR/MR的空间定位技术 | 雷锋网公开课

Vive拆开会看到32个红外二极管,当收到闪光或者激光扫描时二极管电压上升。如果我们取三个二极管E,F,G在X平面里看:

Lighthouse A 闪光

E,F,G都高电压,此时记为时刻T0

Lighthouse A – X激光开,扫描房间。 Y激光关 (8.333ms)

E,F,G被扫描到并获得高电压时刻依次为T1,T2,T3

因为我们知道激光转速3600rpm,所以角速度是21.6 degree/ms。于是我们计算时间差dT,dT*21.6可以求得E,F,G两两之间和他们与LighthouseA 初始角度的夹角。因为E,F,G两两之间的距离已知,可以解得X平面内唯一的位置。(事实没有那么简单,因为EFG与X平面有夹角,但是依然可解)

通过简单的数学,我们就可以计算出6DOF的一阶数据,非常聪明的方案。计算成本很低,设备和Lighthouse之间的距离远近不影响精度,这个相对光学定位来说是巨大的优势。

Lighthouse技术的主要问题是8.333ms的扫描周期是排他的,只可以有唯一的光源进行扫描。如果加一个Lighthouse那就必须在时间上增加一个8.33*2的时间周期。所以大面积很难做到。也许可以通过7200rpm的电机降低单次扫描时间到4.1666ms,如果我们用四组lighthouse,就需要4.16*2*4一共33ms的周期,这就已经接近30hz了,如果用8组就是15hz,即使插值IMU数据也很容易产生晕眩了。

有没有技术方案在Lighthouse的基础上扩大范围,我们团队对这个问题非常感兴趣。至少目前,我们无法在理论上解决这个问题。理论上,虽然可以通过与Lighthouse增加通信来控制基站开关,让一个设备大范围使用,但是多个设备大范围使用Lighthouse定位似乎是无解的。

总结:

6DOF:可以,一般辅以IMU 3DOF信息计算。

单个成本:不低(高分辨率,高刷新率)

计算代价:低

大面积覆盖成本:目前无法实现

4、VIO/SLAM(Hololens 和 Tango)

这两者都是通过深度传感器的数据,通过称为Visual-inertial Odometry的方法来计算设备的相对6DOF位置和旋转。这一点要非常明确,仅仅是相对的位置。VIO的方法也很成熟了, 主要有两条路,一条是用图像信息,最近很火的Hovercam和大疆Phanton4 都是这类,而Hololens和Tango用了深度信息来计算VIO。

顺便提一下暗潮涌动的深度传感器。最早成名的是Primesense被苹果收了,2015年开始停止授权,苹果憋大招不明觉厉。Pebbles Interfaces被小米投了;Intel收了softkinetic出了Realsense;微软收了Canesta出了kinect2;Google买了Movidius用在Tango上。这是个你有我必须有的传感器,而微软和Google都运用到了定位和VR/MR上。这些深度传感器基本都是Structured Light,用ToF的比较少,我后面会提一下ToF。这篇文章可以帮助理解。

为什么很多人称之为SLAM,那是机器人和三维扫描里用的技术,用来建模环境。我们很久以前写过用SLAM的算法,后来做VR就从中间抽出VIO的部分就可以用来做定位了,也给自家投资人展示过。VIO就是下图中框内部分,获得6DOF就可以停止了,不需要再Register 点云了。

跟Hoevo缪庆学习VR/AR/MR的空间定位技术 | 雷锋网公开课

我简单讲一下深度信息的VIO方法,深度传感器获得一般是 RGBD信息,比普通相机的信息的RGB多一个深度信息。一般光学算法直接二值化(threshold)了,RGBD则一般不可以。如果按256色,深度也是256级算,数据量是光学算法的8000多倍。为了减少计算量,会用SIFT+ RANSAC在RGB信息里找到这一帧和上一帧之间的特征点。然后再用深度信息比较特征点的空间位置,获得两帧之间的6DOF变化。因此准确的说,VIO获得的是d6DOF,是变化值。

跟Hoevo缪庆学习VR/AR/MR的空间定位技术 | 雷锋网公开课

图来自eric-yuan.me

SIFT(Scale-invariant feature transform)是寻找特征(feature)的方法。发布于2004年,2年后,SURF(Speeded Up Robust Features) 发布。SIFT和SURF是目前最常用的特征算法,用数学方法来理解图像的重要基础。

上图中有很多正确的特征点匹配,也有很多错误的,基本上交叉的线都是错误的。RANSAC基本原理就是随机选择其中3对点,计算homography(这个词实在不知道中文,意思是对于同一画面不同相机/不同相机位置之间矩阵,一般是R|T)。如果然后收集所有对点的计算结果,计算出consensus(最多接近的homography)。肉眼看,那些平行线应该就是。

前面提到,SIFT/SURF和RANSAC都运用于RGB信息,刚上手可以从OpenCV开始,这几个算法都包括,完全够用了。然后把特征点通过深度信息计算为点云,计算homography就有6DOF的变化了。如果继续想要SLAM,如前面提到的需要registered,然后写成polygon,这部分可以学习一下PCL库,跟深度、点云有关的最基础算法PCL都提供了。

VIO的最大好处是不需要外部设备帮助,因此面积成本为0。但是,Johnny Lee自己也承认,VIO有两个主要技术缺陷:

1、 每次开机它不知道设备的位置。

2、 长距离和长时间的使用,误差会累计变成drift。

Microsoft没有提Hololens怎么解决这两个缺陷。但是Johnny Lee不断强调Tango的另一张王牌是Area Learning,通过用数学描述记住环境信息,然后通过辨认环境来确定自己的开机位置和矫正长时间误差。这个方法能优化到什么程度不好判断,但是毕竟是世界第一大牛在做,也许能出奇迹。

 

用数学描述三维环境一般就不用SIFT,SURF了,比较流行ORB。Ethan Rublee, Vincent Rabaud, Kurt Konolige, Gary R. Bradski: ORB: An efficient alternative to SIFT or SURF. ICCV 2011: 2564-2571. 在中国ORB特别火,这篇文章很容易找到。

 

西班牙的Uni Zaragoza优化了ORB 做了一整套SLAM算法,与传统的SLAM相比特别之处在于用AreaLearning数据矫正偏移。这套算法是开源的,对Area Learning 感兴趣可以看一下 这里

从理论推导和实验结果我们都判断即有了J Lee的Area learning ,VIO的方法在两个情况下无法工作:

1、 面对环境不可辨认,比如纯色的墙,纯色的桌子。桌子越乱定位效果越好,处女座比较惨。

2、 面对室外环境。因为深度传感器有距离限制,空间大小超出限制就没有深度信息了。

跟Hoevo缪庆学习VR/AR/MR的空间定位技术 | 雷锋网公开课

我们看到Hololens的demo把地板贴到墙上来做VIO,如果是白墙这个demo就无法工作了。因此我们停止了VIO用于定位的开发,但是,深度依然非常好玩,在VR应用中也许会起到意料之外的作用。

总结:

6DOF:可以

单个成本:最高(深度,视觉传感器)

计算代价:最高(CPU配合GPU计算)

大面积覆盖成本:0,但是某些场景无法工作

5、ToF (UWB,光,声)

ToF是按照时间来计算的。基站发出信息t0,你收到信号的时间t1,用信号的飞行速度v*dt就知道了离这个基站的距离,而多个预先知道位置的基站就可以提供三角定位。这和GPS的原理接近。

ToF用时间来计算,因此精度特别取决于处理器主频。我们知道光和UWB 的飞行速度是3E11 mm/s。如果我们用4.8Ghz的的主频,两个周期之间的时间,光可以飞行62.5mm,如果用20M hz的ATmega,每个周期光可以飞行15000mm。这个数字就是计算精度。如果我们需要mm级的精度,只有提高主频,或者降低信号的飞行速度。同样是20M hz主频,用音速的话,每个周期声音飞行0.017mm,这就是可以定位了。但是声音的矫正和信号编制是个挑战,所以基本上ToF的方案就不考虑了。

三、哪种定位技术最好?

我们前面提到我们的方法来分类的话,AR是不需要定位的,VR和MR本质是一种技术,VR是100%的MR,VR依然比MR对定位精度的要求会略低一点,而MR能用的VR一定能用。我们把刚才所讲到的几种定位方法总结成一张表:

跟Hoevo缪庆学习VR/AR/MR的空间定位技术 | 雷锋网公开课

除了IMU不可以,后三种技术都可以独立为VR设备定位,而一般都会用IMU数据做辅助矫正。其中,光学定位和VIO技术目前就可以大范围使用。光学覆盖成本很高,VIO设备成本很高,而且某些场景下会失效。因此 目前没有一种能满足你的要求。

以下都是我们一家之言了,我们长期关注相关的研究论文,这几年VR的高速发展不同团队也已经几乎穷举了所有基础研究的成果了,存在被忽视错过的基础方法的可能性不高。前面我特意保留了磁力方案和声音ToF方案,也许这些看似奇葩的方案会是将来的主流,但是它们是彻底死胡同的可能性非常高。

从另一个角度说,技术本质是一种交易,用成本换速度,用能耗换时间。深度学习、无人车等平行市场的需求推动计算构架的高速发展,Intel、ARM,Nvidia的CUDA,以及Movidious的Myriad 2(DJi4 和Tango用了它)都有可能给我们有更多筹码去做性能上的交易。因此,可以先放弃低功耗,低性能要求这两个条件,去探索如果功耗性能都不做限制会不会有方案。

而对于VIO/SLAM我们会建议保持算法更新,然后一只眼睛看微软,一只眼睛看Tango,万一在理论上有突破也可以很快出产品。这个部分我不认为是硬件问题,是一个纯软件算法的方法。我个人不太崇尚有明显缺陷的牛逼技术,比如Siri,只要有10%的话听错就无法被大范围使用,因此不是特别看好VIO。但是因为SLAM使用场景很大,机器人ROS等都可以用,写一个不会吃亏。

我们团队除了自身的技术以外,最关注的是Lighthouse,我前面解释了,它几乎可以满足所有需求,但是不能大面积铺设。也许光通信的某种可能被忽略了,也许可以用声音或者UWB扫描环境,Lighthouse离大面积使用只有一个假设距离,而其他技术似乎还有好几个假设的距离。我们重视Lighthouse还有一个原因,如果它能够被大范围使用,它的铺设成本是线性的,这个和光学大面积的指数级关系会有巨大的成本差别,完全有可能成为室内的GPS。和VIO相比我觉得Lighthouse更有可能有所突破。

最后,当然我认为Hoevo的方案在今天是最好的。

四、Hoevo做的是什么?

Hoevo的整个团队包括我,深深相信VR/MR会像GPS,移动网络一样铺满这个世界,无处不在。我们相信我们有责任推动这样的未来更快实现,后来才发现我们具备必要的技术。要实现这个未来,就需要在大范围定位技术上有突破,就像我前面分析的各种目前技术的缺陷。很难想象Optitrack或者TheVoid能在每一个城市每一个商场都有,成本太高,架设调试太困难了。

Hoevo的方案500元每平米,普通建筑工人都可以建设,理论上可以铺设无线范围的空间,提供高刷新率的6DOF绝对定位。Pillsbury和Sughrue两家美国顶级专利律所正在帮助我们在全球范围PCT专利的申请,我们希望能保持技术和专利领先,这样我们才能比今天更开诚布公的讨论技术。我们也完成了一套Mixed Reality的数学模型,我们希望可以很快将SDK提供给所有人,让更多人加入VR/MR的革命里来。

最后是我们的demo:视频

参考资料:

1、UC Davis大神Oliver的视频:https://www.youtube.com/watch?v=_q_8d0E3tDk

2、Oculus CEO Brendan Iribe:VR沉浸的5个要点:http://www.roadtovr.com/oculus-shares-5-key-ingredients-for-presence-in-virtual-reality/

3、Model-Based Object Pose in 25 Lines of Code:http://www.cfar.umd.edu/~daniel/daniel_papersfordownload/Pose25Lines.pdf

4、SIFT(Scale-invariant feature transform)是寻找特征(feature)的方法:Lowe, David G. (2004). "Distinctive Image Features from Scale-Invariant Keypoints". International Journal of Computer Vision 60 (2): 91–110. doi:10.1023/B:VISI.0000029664.99615.94.

5、SURF(Speeded Up Robust Features) :Bay, H., Tuytelaars, T., Van Gool, L., "SURF: Speeded Up Robust Features", Proceedings of the ninth European Conference on Computer Vision, May 2006.

6、RANSAC: Martin A. Fischler & Robert C. Bolles (June 1981). "Random Sample Consensus: A Paradigm for Model Fitting with Applications to Image Analysis and Automated Cartography" (PDF). Comm. of the ACM 24 (6): 381–395. doi:10.1145/358669.358692.  

7、SLAM比较简单好用的论文:F. Endres, J. Hess, N. Engelhard, J. Sturm, D. Cremers, W. Burgard: An Evaluation of the RGB-D SLAM System, Proc. of the IEEE Int. Conf. on Robotics and Automation (ICRA), 2012

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/67929.html

(0)
上一篇 2021年8月11日 10:52
下一篇 2021年8月11日 10:52

相关推荐

发表回复

登录后才能评论