雷锋网按:昨晚的 WWDC 想必让不少 AR/VR 从业者再次兴奋起来,苹果终于出手了。不仅宣布与 Valve 合作,还公布了首台 VR Ready 的全新 iMac Pro,更厉害的是针对 iOS 11 推出 ARKit,有了 iPhone 对 AR 的支持,相信很快 AR 会成为大家的日常。那么 ARKit 对开发者意味着什么?又对整个业界意味着什么?本文作者阿里巴巴天猫互动技术专家蒋佳忆在知乎上对 ARKit 做了详细的解析,雷锋网得到授权转载。
(看到这一幕我就知道今天晚上稳了!)
首先说明我是强利益相关者,原国内某AR创业公司算法工程师,现国内某互联网公司AR算法研发...以下点评主要面向AR同行,有些技术词汇我也不多做解释了,不明白的同学还请百度。
坦白说,看到苹果发布ARkit并不意外,毕竟苹果是除了微软以外在AR布局最完整的公司之一,很多优秀的AR技术公司都被苹果收购雪藏,早在去年参加Project Tango的Hackathon的时候我已经预言过苹果一定会有动作。但是有两点是我没想到的,一个是苹果发布的时间这么快,另一个是居然没有依赖于任何硬件的升级。
从截图可以看到发布会使用的是一台iPad,
而且比较肯定是单目摄像头,考虑到苹果的工程能力,ARkit的应该可以支持大部分苹果的设备(以我个人经验至少可以到5S及同水准iPad),这个也符合发布会上苹果说的世界上最大的AR平台的定位。
那么回头来点评一下ARkit,我们看看它到底带来了什么功能:
第一,快速稳定的运动定位,这个是最基本的AR功能,从演示中可以发现整个定位非常稳定且准确,说明精度很不错,桌面的特征并不算丰富,说明鲁棒性很好,最后渲染的Demo模型很复杂,但是感觉很流畅,说明实时性和算法能耗都深度优化过。从发布会的整个演示来看,ARkit的水准应该是业内顶级的。
第二,平面和边界的估计,平面估计在单目SLAM上并不稀奇,只是从演示中很难判断是基于三维点云拟合还是IMU数据,初始化的方式看起来更像是基于IMU的。边界估计这个之前不常见,演示中唯一可以看出来的是那个虚拟小人掉到桌子外(当时过于震惊而没有截屏),说明ARkit可能不是像snapchat那样简单的VIO类算法,(从放出来的文档看就是VIO...)点云构建的部分是有一定输出的。
第三,光照估计,这个不好说,单目做光照估计的需求很可能和算法本身的架构有关(直接法?),以什么形式输出不看到接口很难判断,大部分的AR应用是不需要这类数据的,除非是要基于实际光照做高还原的真实渲染。
第四,尺度估计,这个就非常厉害了,做单目SLAM的同学都有了解,单目是无法解决尺度问题的,虽然视频里没有展示,但是如果真的解决了尺度问题,说明苹果在IMU和视觉融合方面做了非常先进的工作,而且工程化的非常好,很期待这个功能的实际体验。
第五,对各个开发平台或引擎的支持,这点说明苹果做AR绝对是“蓄谋已久”的,并且野心很大,不给其他对手留余地,一上来就要建立一个完整且广泛的AR内容开发生态。
总体来说,ARkit基本实现了单目+IMU的SLAM算法可以提供的大部分功能,并且质量很高,我相信苹果是严格检查过机型覆盖率,实时性和能耗的,那么毫无疑问,凭借广泛的硬件覆盖率,iOS会成为最有活力的AR内容发布平台,PMGO的体验肯定有质的飞跃,一大波真-AR游戏应用将会到来。
再来,分析一下目前ARkit有何不足:
第一个不足是三维重建的能力,无论从文字解释还是Demo演示来看,目前的ARkit仅仅支持平面的“重建”,这里姑且先算做重建,因为是否支持垂直面,任意角度的平面,甚至多个平面目前都还不确定(从目前发出来的文档看只支持水平面,说明平面的拟合可能是依赖于IMU的,仅用部分点云判断深度信息)。就算ARkit包含完整的平面重建能力,对于AR应用来说依然还是不足够的。
增强现实最基础的要求是对现实世界的理解,比如几何体的重建,这方面缺失带来的问题就是无法和真实世界的物体发生合理的物理碰撞,比如演示中看到一个虚拟小人掉下桌子,我们是看不到这个小人掉落到地面的效果的。另外就是虚实遮挡,假设桌面上有一个水杯,那么如果无法重建水杯的Mesh,我们就看不到水杯遮挡住虚拟模型的效果,而会看到虚拟模型“叠加”在水杯之上,这个会比较影响整个AR的体验。当然我相信以苹果的实力,想做重建并不是没有办法可想。
这里我有两个猜测,一个可能是三维重建的流程,交互和接口苹果还在优化中,目前AR基本的功能接口已经足够发布了,苹果想慢慢来。另一个可能是苹果想依托于硬件来解决三维重建的问题,众所周知单目做实时三维重建是非常有难度的,而基于双目或深度摄像头则可以相对简单的解决这个问题,顺便苹果还可以展现9月份即将发布的iPhone8的“特殊”,两全其美。
第二个不足,就是识别的能力,目前AR最火爆的应用场景其实不是游戏而是线下营销,而线下AR营销非常依托于识别算法和定位算法的对接。苹果可以在移动端单目设备上做出这样成熟的SLAM算法,单纯的识别和定位应该都不是问题,难点可能在于定位算法如何跟识别算法对接,如果依赖于端上的识别算法,那么按照现有的苹果更新审核机制,AR内容的更新会非常麻烦,苹果可能需要提供专门的编辑器;但是如果基于云端识别,则苹果的用户群体过于庞大,到时候云识别的QPS会很惊人,是否苹果还没有准备好接受这样的考验?
此外,服务于AR的单目SLAM可以说是目前业界没有很好解决的一个课题,所以苹果在这方面做出了很大的推进。而如果我们限定于二维图像的识别和跟踪,则有非常多成熟的SDK可以使用,就连Hololens也可以兼容使用Vuforia,也许苹果并不准备自己承担这和识别算法对接的需求。
最后,说一下ARkit对整个AR行业的影响,这里按照行业玩家的角色分开来讲。
首先是最下游的硬件玩家,为首的就是AR眼镜厂商,比如微软,Meta,ODG等等。
这类玩家受到的波及应该不大,因为AR眼镜本身就不是服务于当下的C端客户,大部分都给B端客户定制使用了,而且短期内不会有很大的出货量。相反,这其实对AR眼镜厂商是好事情,因为手机体验AR是有各种缺陷的,比如无法解放双手,但是手机上玩AR是可以快速教育用户的,当用户习惯于AR,并且想要更高质量的体验的时候,AR眼镜就可以考虑转型服务于C端,苹果其实是在加速整个AR行业的发展。不过我相信苹果既然此时布局AR,肯定不会放弃眼镜,未来希望苹果也可以重新定义“AR眼镜”。
这里有点尴尬的硬件玩家是Google,旗下的Project Tango发布已经一年,目前市面仅有联想的Phab 2 pro和即将发布的华硕的ZenFone搭载了Tango的技术,然而由于整个安卓系AR内容的匮乏,导致Tango手机出货量非常少,此时ARkit发布一瞬间几乎覆盖整个iOS,那么Google是要推出单目的AR SDK覆盖全部安卓来应对还是强推Tango让安卓手机硬件升级就是一个非常值得考虑的问题,这里大胆猜测Google是否会开源出来Tango目前整套Msckf的算法?毕竟之前已经开源了一套基于激光的SLAM算法,很期待Google的动作。
还有就是AR硬件模组玩家,比如Intel的RealSense,或者Occpital Bridge这类,本身要依赖于其他硬件终端才可以使用,虽然整体AR的能力是高于iPhone手机的,但是如何体现出自己独特的价值就变成了一个不得不面对的问题,本来自己是唯一的选择,现在突然变成“增值服务”,未来的路又渺茫起来。
另外值得一提的是所谓的AR眼镜盒子或MR眼镜盒子,即带有简易光学设备或仅仅可以让手机露出后置摄像头的,需插入手机才可以玩的类似VR盒子的东西...这类设备成本不高,但是可以借助具备AR能力的手机让用户快速体验到类似AR眼镜的体验,这类盒子可能会有销量的带动,但是长远发展可以参考目前VR盒子现状~
再来,我们说说SDK玩家,即AR算法玩家。业内都知道的是由于AR需求的快速发展,最近一年几乎所有SDK公司都在基于单目做SLAM算法的研发,不论国内国外,大家由于竞争关系在大量的重复造轮子,然而除了Vuforia以外,并没有哪家拿出来可以服众的单目SLAM算法SDK,或多或少的,各家都有自己存在的问题。
此时,苹果拿出来ARkit,按照发布会Demo来看,效果超过所有其他玩家,何况这还是iOS原生算法,这意味着所有APP不需要集成任何SDK就可以具备目前市面上最好的AR能力,可以说对大部分SDK都是比较致命的打击,默默心疼一分钟...当然,SDK玩家也并不是完全没空间,如我上文所说,ARkit并不是完美无瑕并且功能齐全的,单目SLAM是没办法做了,但是在这个基础上扩展功能还是可能的,所以此时的SDK公司应该仔细思考自己如何定位,找到自己的价值和ARkit共存。
然后,我们说一下上游的AR软件的玩家,为首的是Snapchat、Facebook这类社交软件,这两家都刚刚发布了AR相关的产品和编辑器,同时这两家都依托于自家研发的AR算法,可以说两家在算法上本来是很领先的。可惜,ARkit一发布,一夜回到解放前,不仅没有和彼此拉开差距,反而身后跟过来一大批小玩家,类似FaceU,B612这样的软件,在人脸的内容运营上本来就很优秀,此时突然白白得到了AR大杀器,更是可以奋起直追。所以AR应用的厮杀接下来可能会很精彩,非常期待!
上游玩家还有就是游戏行业,之前因为工作原因接触过不少游戏公司,可以说游戏公司对AR是有兴趣而不敢投入,一方面技术不够成熟,接入SDK的学习成本和风险都比较高,效果还不一定好,二是游戏行业目前发展势头很好,PMGO后期下滑也比较厉害,游戏公司动力不足。现在ARkit发布以后,一下有一个原生靠谱的AR能力,此时游戏公司不一定还能淡定的观望,毕竟某易的XX师在AR上下了大力气,现在有了新能力肯定不会放过,哪怕跟风,其他公司也会尝试在游戏里加入部分AR的元素,比较看好AR在游戏的发展,尤其卡牌游戏。
大概的分析就到这里,总体来说由于iOS巨大的用户群体,ARkit的发布对整个AR行业是有很大的推进作用的,每一个和AR相关的玩家可能都需要重新审视一下自己的位置,如何在明确知道iOS具备AR能力的情况下找到自己的定位,纯算法或者硬件是否还要坚持?如何细分?如果做软件或AR服务,那么怎么最大化的利用ARkit?
作为AR从业者,我真心感谢并且欣赏苹果对于AR的看好和大力投入,希望AR可以越来越成熟,发展的越来越好。