石文峰:我是Rokid 的OS总工程师石文峰,今天给主要给大家介绍我们的YodaOS-MASTER和SDK的关键技术,以及对开发者的支持政策。
首先简单介绍我们公司。Rokid成立于2014年,是一家专注于新一代人机交互技术产品平台的公司,目前主要致力于AR眼镜等软硬件产品的以及YodaOS-MASTER系统为载体的生态系统构建,我们的产品在全球80多个国家和地区有销售。
我们的系统叫“YodaOS-MASTER”,我们为什么要做自己的OS呢?我们在2018年最开始做AR眼镜时就发现,AR眼镜的交互是3D的、空间化的,而传统的人机交互,比如PC/手机,它们的交互都是2D的、平面的。已有的OS无法满足3D空间化交互的需求,因此从2018年开始我们就不断打磨3D空间化的OS。苹果专门定制一款VisionOS,相信跟我们是基于同样的理由。
这是我们YodaOS-MASTER系统框架图,它主要分为三部分。最左边的是端上的OS,右上角是XR云,右下角是XR硬件适配支持。我们端上的系统是基于Linux和安卓基础之上构建的一套交互的OS,采用分层化设置,在基础的OS层之上是XR能力层,包括图像感知、声学感知、姿态感知等感知系统,还有手势识别、语音识别、空间定位为代表的理解系统,还有图形渲染等为代表的展现系统,这些能力封装在能力层。能力层之上是XR框架层,包括一系列技术框架,多窗口管理、通知管理、动态资源管理等等。再上层是SDK层,SDK层之上是应用层,包括系统应用和开发者应用等等。
作为一个现代化的操作系统,除了有强大的端上能力,云端能力也是不可或缺的。除了基础的帐号服务、应用市场等基础云服务之外,我们也为大家提供了实时音视频通信平台、多人协同平台以及数字资产创作平台等XR的云平台。
最后,我们的产品除了适配的标准蓝牙外设,也适配代表未来交互的外设,比如机电手环、脑电波头环等等,我们一直在寻找这方面的朋友提升XR的交互体验。
总的来看,系统是对于我们对AR的理解、感知、展现、协同、数字资产创作这五个方面的全新阐释,到目前为止它是比较完备的一套AR操作系统。
我们希望通过我们的系统拉近开发者和最终用户之间的距离,降低终端用户进入XR世界交互的门槛。这是在我们系统上比较典型的落地案例,比如和钉钉合作的项目,跟全国各大旅游景点和博物馆合作的数字展览项目,和杭州打造的数字街区导览项目等等。相信在座开发者只要有足够的想象力,通过使用我们的SDK一样可以开发出来具有MR空间感知的应用。
这是UnitySDK的框架图,目前到了2.0版本,把一些算法和手势等全部封装在一个Service层内,通过SDK跟Service层交互,为开发者提供了标准的基于UnityXR接口或者自定义的接口,开发者使用我们的SDK可以方便开发出来在平台上运行的应用。
接下来具体介绍SDK提供的能力,包括手势、AI数字人等。这是3D手势算法的大致流程图,我们的眼镜上只有一颗摄像头,双手3D手势也是基于这颗普通的摄像头来做的。摄像机采集到一张手势图片之后,经过我们预先训练好的模型,就可以输出双手21个关键点3D坐标信息,通过计算骨骼长度和一个AIK逆向动力学的算法可以计算出手的形状参数和姿态参数,再经过参数化的模型公式,可以得出双手整手26Dof自由度的信息。
当前手势算法支持骨骼手势和mesh手势,它可以运行在CPU上,同时可以采用GPU和DSP加速,它的准确率达到99%,单帧检测耗时低于10毫秒,对深度估计误差小于5厘米,8核中单核日CPU的占比30%。除了深度估计误差比较大之外,其他指标是不错的。因为我们基于普通的单目摄像头做手势识别,天然有深度不可感知的缺陷,这点我们不断在优化和迭代中。
下面可以通过一段视频来看一下我们平台手势的效果,左边的是相机采集到的画面,右边是3D空间中实时构建的手的模型,识别响应速度和准确率都是不错的。这里还展示了它的深度估算,目前我们的3D手势能够满足工程化产品的一些需求。
我们的SDK通过对手势进行了大量工程化的优化和封装,除了给开发者直接提供手势的骨骼信息外,也为开发者提供现成的手势,比如经典的点击、抓握等等,方便开发者基于我们的手势进行快速开发。这里展示了一些我们自定义的手势,比如把手掌张开的手势定义为呼出菜单,手掌抓握可以控制空间中窗口的移动。
另外,开发者如果不想用我们的SDK,也可以选择MRTK,我们最近把二者进行了打通。MRTK是微软推出的一个开发者套件,它里面有非常多功能和组件,在2021年AWE上被评为best开发者工具。我们添加了适配层,通过适配层配置可以将手势的手掌数据、点击事件、切换判断等事件注入到MRTK中。当前我们设备支持绝大部分MRTK所提供的功能。
可以通过一段视频看在我们设备上运行MRTK demo的情况,这是通过第三人称视角录制的展示。基本的MRTK里的手势的“戳”“点击”“抓握”“拖拽”等等目前都已经完美的支持了。
再给大家介绍一下我们的数字人。为什么要做自己的AI数字人?我们基于两点思考:
首先,AI数字人作为我们系统的四大能力之一,未来对话型的AI数字人服务将是系统的黏合剂,串连起我们系统所有场景和功能。
第二,随着近年OpenAI大模型发展,我们认为AI数字人未来有无限可能,比如文生文、文生图,甚至可以通过一段话来生成3D模型,这都是AR交互中不可或缺的元素,我们认为AI数字人将在AR交互中占据非常重要的地位。
我们先看AI数字人背后的技术支撑。它通过一个流程,语音输入到ASR模块对语音检测,转换成文本,ASR经过NLP自然语言理解模块对语言进行处理和理解,最后将理解后的结果通过TTS模块进行播报,然后再通过AI引擎来驱动数字人的表情、动作等等。我们在接入OpenAI的过程中把传统的NLP直接替换成ChatGPT,这样让数字人在对话过程中行为举止更加像一个人。
传统AI数字人的制作流程是什么样的?首先需要提供AI数字人原画,模型师进行物理仿真、建模、渲染等,之后由动画师对数字人进行动捕、面捕、手工制作模型,然后再做动画绑定,最后才能得到数字人的模型。流程中涉及到非常多繁琐工作,工作周期会比较长。
在这个过程中,我们使用了一个mixamo工具,只要把我们的模型导入到mixamo工具中,再做简单的绑定,模型就拥有了大概2000多种通用的骨骼动画,如果其中有不匹配的,后期经过简单的调整和修整即可。当前我们的AI数字人已经有了30+的基础动作,再加上mixamo这个工具的引入,未来将有无限多的可能。
最后给大家介绍我们的空间声场的技术。比如大家玩过《吃鸡》游戏,通过声音分辨敌人的位置,这就是空间声场的技术。我们把这种技术搬到了AR交互空间中,采用了HRTF函数,通过分析空间物体的位置和声场关系,来处理声音传到人两只耳朵里的大小和频率,模拟身临其境的感觉。
空间声场在Unity里直接有,为什么我们还要自己做?因为空间声场如果想在AR中达到身临其境的感受,它是软硬结合的技术。不知道大家有没有看过苹果VisionPro使用分享,使用前需要用iPhone来扫描两个耳朵耳廓的形状,这个目的也是让使用者达到身临其境的感觉。
最后给大家介绍生态发展状况。我们生态分成两部分,一部分是toB,一部分是toC。2021年之后生态重点是在toC上,平台上架游戏、影视类应用达到数百款,还有办公类应用。另外,这里可以通过一段动画来看一下将上面讲的所有技术全部落地打造的杭州文三路数字街区项目,Rokid的旗舰店位于这个地方,结合端上的技术和点云技术加上棱镜3.0的低代码开发平台,开发者非常容易创造出使用场景,让使用者感受虚实融合的交互体验。
最后简单过下我们的开发者支持政策。Rokid是在行业内率先建立开放平台的公司,开放平台的宗旨是做开发者和终端用户间的桥梁,为开发者提供一条龙式的服务。我们有开发者社区、ARtools、ARstore等等,目的是把应用快速分发到全球80多个国家和地区的用户手上。这是我们开放平台的公众号和网址,有兴趣的同学可以扫码关注一下。
为了帮助开发者轻装上阵,把更多精力聚焦在自己产品的开发上,我们也推出了若琪“空间站”开发者助力计划,包括一系列算法能力的支持、硬件设备的支持,开发者可以申请免费样机或购机补贴,以及之后的商业推广、项目商机等合作,感兴趣的同学可以和我们做深度沟通交流。
另外,Rokid在前年成立了若琪“空间站”AR生态智投联盟,联合了声网、商汤以及头部企业为开发者带来10亿人民币投资,这是我们AR生态智投联盟成立的第三年,前两年投资了非常多优秀项目和开发者,感兴趣的朋友也可以跟我们深入沟通和交流。
以上是我分享的所有内容,谢谢大家。
Logo

分享前沿Unity技术干货和开发经验,精彩的Unity活动和社区相关信息

更多推荐