开发者社区> livevideostack> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

Android Motion Stills实现AR即时运动捕捉

简介: 为视频短片增加有趣的3D对象,通过Android Motion Stills就可以实现。
+关注继续查看

640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1


为视频短片增加有趣的3D对象,通过Android Motion Stills就可以实现。近日,Google宣布对Motion Stills增加了AR功能。本文由LiveVideoStack摘译,点击『阅读原文』访问原文链接。


文 /  Jianing Wei和Tyler Mullen

译 / 鸿蒙

审校 / Ant


去年夏天,我们在Android平台上推出了Motion Stills,它可以在各种Android手机上提供出色的视频捕捉和观看体验。然后,我们进一步改进了Motion Stills技术,为Pixel 2增加了新的动态照片功能。


今天,我们很高兴地发布Android Motion Stills中的增强现实(AR)模式。在新推出的AR模式下,用户只需触摸取景器即可在静态或移动的水平表面(例如桌子,地板或手)上放置有趣的虚拟3D对象,从而与动态真实世界环境进行无缝交互。您还可以将剪辑录制下来并分享为GIF图或者视频形式。


640?wx_fmt=gif

Motion Stills的即时运动捕捉


AR模式由即时运动捕捉、6自由度跟踪系统来支撑。6自由度跟踪系统是基于能够驱动Motion iOS中的Motion Text和YouTube上的Privacy Blur这两项功能的相关技术的,这项技术可以精确跟踪静态和移动物体。我们对这项技术进行了改进和增强,以便能够在任何使用陀螺仪的Android设备上运行有趣的AR应用体验。


当您触摸取景器时,Motion Stills AR会将3D虚拟物体“粘”到该位置,使其看起来像是真实世界场景的一部分。假设跟踪的表面与地平面平行,并使用设备的加速度计传感器提供手机相对于地平面的初始方向,我们便可以跟踪摄像机的6个自由度(3个用于平移,3个用于旋转)。这使我们能够准确地变换和渲染场景中的虚拟物体。


640?wx_fmt=png

当手机大致稳定时,加速计传感器会提供由于地球重力而产生的加速度。对于水平面来说,重力矢量平行于跟踪平面的法线,并且可以精确地提供手机的初始定向。


即时运动捕捉


即时运动捕捉的核心思想是解耦摄像机的平移和旋转估计,将其视为独立的优化问题。首先,我们只根据相机的视觉信号确定3D相机的平移。为此,我们观察目标区域的明显2D平移和跨帧的相对缩放比例。一个简单的针孔照相机模型将图像平面中的框的平移和缩放与相机的最终3D平移相关联。


640?wx_fmt=png

可以使用图像平面中的框的平移和尺寸(相对缩放比例)的变化来确定两个相机位置C1和C2之间的3D平移。但是,由于我们的相机模型并不假定相机镜头的焦距,我们不知道被跟踪平面的真实距离/深度。


为了解决这个问题,我们在现有的跟踪器(Motion Text中使用的跟踪器)中添加了缩放比例估计,并在相机的视场之外追加了区域跟踪。当相机靠近被跟踪的表面时,虚拟内容精确地缩放,这与真实世界对象的感知一致。当您将镜头移出目标区域的视场之外并再返回时,虚拟物体将重新出现在大致相同的位置。


640?wx_fmt=gif

独立的平移(仅从红色框显示视觉信号)和旋转捕捉(从陀螺仪;但未显示)


我们使用手机的内置陀螺仪来获得设备的3D旋转(翻滚,俯仰和偏摆)。估算的3D平移与3D旋转相结合,使我们能够在取景器中正确渲染虚拟内容。而且,由于我们分别处理旋转和平移,所以我们的即时运动捕捉方法不需要校准,可以在任何带有陀螺仪的Android设备上工作。


640?wx_fmt=gif

Motion Still AR模式下的小鸡家庭


我们很高兴为Android的Motion Stills增加这种新的模式,我们也希望您能喜欢它。请下载Motion Stills的新版本,并继续在您最喜爱的社交媒体上发送#motionstills反馈意见。


致谢


在渲染方面,我们很感谢能够使用动画Poly模型来利用Google的Lullady引擎。感谢曾与我们合作过的团队成员,他们是:John Nack,Suril Shah,Igor Kibalchich,Siarhei Kazakou和Matthias Grundmann。


WebRTCon 2018 7折火热报名


WebRTCon希望与行业专家一同分享、探讨当下技术热点、行业最佳应用实践。如果你拥有音视频领域独当一面的能力,欢迎申请成为讲师,分享你的实践和洞察,请联系 speaker@livevideostack.com。


点击了解大会详情

640?wx_fmt=png

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Android实现面包屑效果,支持Fragment联动
Android实现面包屑效果,支持Fragment联动
0 0
Android实现连线题效果
Android实现连线题效果
0 0
flutter中实现仿Android端的onResume和onPause方法
flutter中实现仿Android端的onResume和onPause方法
0 0
Android实现调用系统相机录像及实现录音
Android实现调用系统相机录像及实现录音
0 0
通过howler.js实现在Android下的微信浏览器自动播放音频
通过howler.js实现在Android下的微信浏览器自动播放音频
0 0
【Flutter】packages思维以及使用Java添加Android平台特定的实现在Flutter框架里的体现和运用
【Flutter】packages思维以及使用Java添加Android平台特定的实现在Flutter框架里的体现和运用
0 0
java 实现读取txt文件,反射创建对象,android 手机缓存文件目录
java 实现读取txt文件,反射创建对象,android 手机缓存文件目录
0 0
android 多级下拉菜单实现教程 greendao使用
android 多级下拉菜单实现教程 greendao使用
0 0
Android自定义控件(十三)——实现CSDN搜索框文字提示容器
Android自定义控件(十三)——实现CSDN搜索框文字提示容器
0 0
Android自定义控件(十一)——自定义ViewGroup实现LinearLayout
Android自定义控件(十一)——自定义ViewGroup实现LinearLayout
0 0
+关注
livevideostack
LiveVideoStack是专注在音视频领域的技术社区媒体,成立于2017年初,通过LiveVideoStackCon等技术大会、技术培训、高质量技术内容及咨询服务,推动相关开源项目与最佳实践普及和传播,帮助技术人成长,解决企业发展中的技术难点。
文章
问答
文章排行榜
最热
最新
相关电子书
更多
Android组件化实现
立即下载
蚂蚁聚宝Android秒级编译—— Freeline
立即下载
Android组件化实现
立即下载