楼主

59390发表于 2019-07-10 19:48:27
只看该作者楼主

AREngine讲座问答 [复制链接]

1、 光照估计是对实景、还是拍照的图像做光源估计呢?


答:目前AR Engine只支持估计环境光的强度,是通过相机预览图像的分析估计出来的光强,不支持对环境光的颜色和光照方向的估计;主要竞品也只有ARKit在人脸跟踪时借助结构光深度图信息估计了光照的方向。

但对于点光源,个人认为可以通过识别跟踪点光源的位置来获得点光源在SLAM坐标系下的坐标,进而用于虚拟物体渲染时正确打光,可以认为这种情况是基于实景来估计的光照,不过目前还没有实现。


2、 AR Engine会操作Camera,那三方应用是否就不能自己创建Camera实例了?


答:AR Engine支持2种打开Camera的方式,一种是在AR Engine内部打开,这时三方应用不能同时使用该Camera;另一种是支持在三方应用上打开Camera,由应用把预览流和VGA的小分辨率流和Metadata流接到AREngine上,这时三方应用对Camera可以有完全的控制,华为相机里的QMoji就是使用的这种方式。

Google ARCore早期也只是支持在ARCore内部打开Camera,但在最近的1.7版本也支持把内部打开的Camera对应的CameraDevice对象传出来给三方应用使用,也部分达到了相同的目的。


3、 演讲中提到AR测量人的身高,它的原理是什么、精确度如何?


答:AR测量一般有2种实现方式:一是通过AR引擎的运动跟踪建立有正确尺度的临时世界坐标系,然后通过CV算法在预览图片上找出头顶和脚底的图像坐标点,再通过hittest操作获得头顶和脚底在临时世界坐标系下的坐标,经距离计算得到身高;另外也可以通过人体骨骼跟踪的算法得到人体骨骼的高度,进而直接估计人体身高。目前的精度在厘米级。


4、 平板产品也希望实现3D魔术师的功能,对儿童的玩偶做3D建模,请问当前较mate20发布会的展示,有新的技术演进吗?成熟度如何?对硬件的最低要求是什么?


答:目前通过手机来做3D建模,在算法实现和操作设计上都还存在困难,不够成熟,当前进展也不大。对物体直接进行3D建模在我司基本还是要依赖深度相机才能做到,深度图的精度也不能低于mate20,但在业界也有看到有仅基于RGB做3D建模的公司,但也没见到商业成功的应用。个人建议仅是想实现儿童相关的应用可以参考《AR喵》,基于建好的模型也可以做出儿童喜欢的AR应用。


5、 关于AR Engine的后续演进,看到有多人AR、Persist AR的特性,请问当前的进展如何了?


答:AR Engine的这两个特性都还在开发调试中,多人AR早期我们和三方开发过一个Demo游戏;通常有2种实现方式:一种是类似ARCore的Cloud Anchor方式,A用户把本地特征和Anchor上传云服务,云服务生成一个UUID标识该Anchor,A用户可以把该UUID分享给B用户,B用户把本地的特征和该UUID上传云服务,云服务计算一个该UUID对应在B用户本地的一个Anchor返回给B用户;另一种就是类似ARKit的方式,可以把用户每次运动跟踪产生的特征和点云数据保存下来供将来使用或分享给其它用户使用。这2种方式AR Engine都有实现方案正在调试开发。


6、 AR Engine应用的场景,是前置摄像头多些,还是后置摄像头多些?


答:大部份AR场景使用的是后置摄像头,前置目前只在人脸跟踪和手部跟踪中使用。


7、 AR Engine和AR Core的功能有哪些差异?


答:AR Engine的功能与ARCore和ARKit的功能大部份是一致的,相对与ARCore,AR Engine主要还有FaceAR、Cloud Anchor这2个功能没有开放,但也都在开发调试了,相对与ARKit,AR Engine还在开发调试FaceAR和共享地图,稍有落后,另外ARKit的环境纹理和通过3D物体模型来跟踪物体的功能AR Engine还没有计划,落后较多。但AR Engine提供了人体骨骼跟踪和手部骨骼跟踪功能,这是AR Engine首先商用发布的差异化特性。


8、 AR Engine对第三方应用开发是否有较强的平台约束,会不会出现用AR Core的实现更具通用性和跨厂家,更容易适配多个厂家的手机?


答:AR Engine和ARCore都有较强的平台约束,只是经过校准或认证过的手机才能使用,AR Engine目前只能用于P20以后的中高端华为手机,ARCore在国内支持的手机大部也还都是华为手机,另有少量的其它品牌高端手机支持,所以说ARCore稍更具通用性;但AR Engine也通过上层接口的适配实现兼容了ARCore,开发者可以通过AR Engine的接口查询到当前手机支持哪些AR引擎,选择支持的AR引擎使能,若非华为手机支持ARCore,通过AR Engine的接口也可以使用ARCore的能力工作,从这个意义上来说AR Engine也能支持非华为手机。


9、huawei arengine如果扫描了一遍场景后,会记录场景的环境信息供下次运行时使用吗?比如说,我用huawei mate 20的AR应用扫描我的房间,建立一张地图?


答:ARSession上已经有SaveShareData和LoadShareData方法可以保存地图数据,处于Beta阶段


10、 当前的环境理解只用到水平面、垂直面、倒立面,是否足够满足使用?下一步的演进方向是什么?


答:当前整个业界AR的环境理解能力都还比较弱,只能满足一些简单的AR场景,但实际上还有非常多的环境信息需要理解,举个简单的例子,我们现在的AR效果基本都是只能把虚拟物体放在现实物理世界的前面,也就是说虚拟可以遮挡现实,但现实遮挡不了虚拟,这个问题的原因是现在的AR算法还不能把环境基于3D空间进行分割。个人认为AR算法下一步的演进方向主要有以下4个方向:

场景越来越大:桌面、房间、建筑、城市、全国、全球

效果越来越真:放置虚拟物体、光强、阴影、反射纹理、虚实遮挡、虚拟碰到实物有反应、3D AR效果显示(AR眼镜)

跟踪目标越来越丰富:设备自身运动跟踪、跟踪静止环境特征、跟踪人脸Mesh、跟踪人脸表情、跟踪人体骨骼、跟踪手部骨骼、跟踪人体Mesh、跟踪手部Mesh、跟踪2D图像、跟踪3D物体、跟踪静止物体、跟踪动态物体环境理解的层次越来越深:理解几何关系、理解物理关系、理解物体语义


举报

您需要登录后才可以回帖

登录注册
发表回复