华为AR Engine细节发布:明年将会有2亿台手机支持华为AR Engine

6月22日至23日,以“开放&创新”为主题的华为终端·全球合作伙伴及开发者大会在北京举行。在本次大会期间,华为正式发布全场景生态战略,宣布全面推行耀星计划,设立DigiX创新工作室,通过芯端云开放平台,赋能合作伙伴,真正为用户带来更美好的数字生活。笔者参加了本次大会。

在6月23日的VR/AR分论坛期间,华为AR/VR产品线总裁李腾跃正式发布了VR SDK 2.0和AR Engine 1.0,并宣布将会面向所有开发者开放。之后,华为AR产品规划经理符谋政对华为AR Engine的主要特性及对开发者的支持进行了介绍。

为什么要选择华为AR Engine?

关注AR行业的开发者们应当都有了解,Facebook在2017年4月的F8开发者大会上发布了Facebook AR Studio,并展示了一些支持平面和物体识别的AR应用Demo,不过Facebook到现在为止,真正提供给开发者的只有AR Studio,可以做脸部检测的动态特效。而在之后的6月,苹果发布了ARKit,紧接着8月份Google发布了ARCore,大厂纷纷入局手机AR,2017年可以说是当之无愧的手机AR元年。

可能会有开发者心存疑惑,既然iOS和安卓平台上都已经有了AR开发工具,为什么要选择华为AR Engine呢?

据介绍,首先,华为AR Engine是东半球第一个可商业化“大规模部署”的AR SDK。在今年4月的华为P20中国区发布会上,余承东已经公布了对华为AR Engine和ARCore的支持,并且在发布会上展示了一些AR应用。在当时,虽然国内也有一些厂商发布了对AR SDK的支持,但其他厂商在发布这些平台之后并没有明显的开发者的支持,而在这方面,华为做了非常多的工作来支持开发者。

大规模商用的一个标志就是,华为AR Engine支持的设备数量是非常多的。目前,华为AR Engine已经在P20系列手机上运行,到今年10月升级Android P之后,会全系列支持采用麒麟970及以上芯片的设备,到12月,还会增加对麒麟960和6系列的芯片的支持。而在此之后华为发布的新机型将会全面支持华为AR Engine。预计到2019年6月,支持华为AR Engine的手机数量将超过2亿台,这是一个非常可观的数字。而同时支持华为AR Engine和谷歌ARCore也将成为华为手机的显著优势。

其次,华为AR Engine经过了一些顶级的应用开发商的严格考验,比如华为和腾讯合作对AR游戏《一起来捉妖》进行调试,还有网易的AR游戏《悠梦》和京东的AR家具展示应用,都取得了不错的反响。

需要注意的是,华为AR Engine只支持安卓平台,不支持iOS、Windows、Linux。华为认为,包括SLAM在内的很多AR特性都是和硬件强相关的,对摄像头,IMU甚至处理器的参数都有一定的要求,如果不经过硬件的调校,算法是没办法很好地运作的。所以华为AR Engine目前很专注地只支持安卓,只支持华为手机,这也是华为作为硬件厂商,软硬件结合的一个优势。

为了支持开发者们使用华为AR Engine,华为提供了完善的开发者的支持。比如在今年5月,华为AR Engine的Beta版已经在华为开发者联盟网站上线,开发者在这里可以下载SDK和技术文档,可以很方便地开发AR应用。

同时,华为也在与中国信息通信研究院牵头制定ARVR的API接口标准。希望联合国内的厂商,共同制定一个标准接口,减少开发者们的工作量。

华为AR Engine的主要技术特性

针对华为AR Engine的特点,除了目前业界标准的AR特性之外,华为AR Engine还加入了人脸跟踪、人脸Mesh、人脸光照、三维重建、手势姿态等等,后续还会加入尺度测量和光照检测等特性。结合华为手机的GPU和NPU,可以让这种处理能力更加快速和强大。

预计到今年四季度,华为AR Engine将会实现物体/场景重建、房间级多人SLAM、2D/3D图像跟踪、垂直面检测、遮挡计算等特性,之后的版本还会探索人体重建、大场景重建、Cloud SLAM,甚至是曲面检测等等。

接下来华为详细介绍了华为AR Engine 1.0目前已经具备的一些AR特性。

首先是SLAM,这是一个空间定位的特性,它会检测你在空间中的位置,给你一个世界坐标系,结合这个坐标系之后就可以定位,把真实物体和虚拟物体结合起来,同时还会做平面识别。与友商的AR SDK相比,华为AR Engine配合集合芯片和模组优化,功耗更低,能够实现在弱纹理下的快速初始化,并且具备更高的稳定性。同时,华为AR Engine的SLAM特性在今后会全系列支持麒麟9系列和6系列的芯片,到明年6月份,支持的设备会达到2亿台。

其次是平面检测,平面检测其实是基于SLAM,根据场景点云信息,识别类似桌面、地面和墙面等平面,并获取平面三维信息,之后叠加一些AR应用。华为AR Engine的平面识别速度、平面精度、平面贴合度相比友商的AR SDK均占据优势,并且平面和实际的环境会更加贴合,而不仅仅是简单的大块的平面。

接下来是光照检测,这是指识别场景中的光照情况,同时依据此光照情况改变虚拟物体光强变化。光照检测在AR体验中是非常重要的,因为虚拟物体摆放在真实环境中,要和真实的光照情况结合,不然会显得虚拟物体非常突兀,在使用华为AR Engine开发的AR应用中,照在虚拟物体的光照会根据实际的光照有不同强度的变化,据介绍,华为AR Engine的光强识别速度很快,会在10帧之内识别当前光强度的数值,并作出调整。

第四个重要特性是华为AR Engine特有的手部识别。华为AR Engine目前可以识别和跟踪十余个类别的特定手势,并实时输出识别结果和手部位置(>30fps),还可以输出手部关节点和骨骼,支持更精细的识别和操作。结合这一特性,AR应用可以实现非常有趣的手势特效,这种特性是友商的SDK现在不提供的,或者只提供类别识别,功能单一。此外,华为AR Engine对手势进行识别时,正反面的识别是一致的,左右手不区分,且对肤色不敏感。与之相比,有些算法对肤色比较敏感,容易出现错误。该特性目前已经集成在了华为AR Engine 1.0中。

另外华为AR Engine还做到了身体姿势识别,可以识别输入单人或双人的2D身体关节点和骨骼,支持多种姿态识别,由于采用了NPU加速,可以实现30pfs的实时输出。同时还可以做到识别输入单人的3D身体关节点和骨骼,支持转身,同样可以实现30fps的实时输出。据介绍,这一特性需要使用华为手机的NPU,没有NPU的助力,帧率可能会非常低,跑不动识别算法。与之相比,友商的算法只提供2D骨骼点,应用场景很狭窄,且基于CPU算法,帧率一般小于10帧,无法做到近乎实时的输出。

最后,还介绍了华为AR Engine在多机地图共享方面的研究,并且这一特性即将在后续版本的AR Engine中提供给开发者。多机地图共享是指将多台AR设备同步在统一的世界坐标系下,共享统一的虚拟信息。华为将其分为三个阶段,第一个阶段是用Marker/图像/物体来进行跟踪,第二个阶段是做一个基础的锚点,多人可以共享一个地图,第三个阶段可以做到全局地图,并且可以长期保存,可以在所有的地方启动全局地图。华为预计将在今年年底实现前两个阶段的地图共享。并且这一特性除了支持安卓平台,还可能会支持iOS平台,但由于iOS不会开放其底层的算法,华为可能会用一些比较简单的算法来实现地图共享。目前的华为AR Engine 1.0版本还没有这一特性,后续会陆续实现。

2018华为终端·全球合作伙伴及开发者大会已经结束,此次大会期间,华为AR/VR产品线高管分享了华为在AR/VR领域的布局及对开发者的支持。

最初发布于2018年6月28日

发表回复