一个你边走边拍得到的普通视频,现在也能重建出精准的3D世界了。
这一次,谷歌用深度学习的方法,不仅从视频中重建了移动对象的景深图,而且效果精准惊艳。即使拍摄相机和人物同时在运动,也能很好重建景深图。
输入这样的视频:
就能输出这样的3D景深版:
谷歌在博客中表示,这是世界首个在摄像机和人体同时运动情况下的深度学习景深预测算法,优于制作深度图的最先进工具。
半天时间,推特有近千次的点赞,网友表示:“超级酷”。
研究论文也被CVPR 2019 接收,脱颖而出成为一篇Oral论文。
学习先验
让网友high起来的点在于,传统的创建景深图的方法,需要至少两个视点同时捕捉影像。通过两个不同的视角在同一时间段的变化轨迹,才能拼接重建出3D的影像。
就像下面这样:
而谷歌的这项研究,只需要用一个视点的影像即可预测位置关系进行重建,比传统方法简化了不是一星半点,变成了下面这样:
在论文Learning the Depths of Moving People by Watching Frozen People中,研究人员介绍了具体的设计细节。
和传统方法最大的改进在于,谷歌的新方法可以用深度学习,从数据中学习人体姿态和形状的先验知识,避开了直接的3D三角测量(3D triangulation)。
这个模型应该如何去构建?
如何获取训练数据是摆在前面的第一个问题,在这个数据集中,需要移动的摄像机拍摄的自然场景视频,以及精确的深度图。这样的数据集,似乎在谷歌家族产品中就能找到。
研究人员选取了YouTube上关于#假人挑战#(Mannequin Challenge)话题的数据,在这种类型的视频中,被拍摄者需做出一个定格动作,且要表现与人体模型一样静止不动,并由摄影师透过移动镜头的技巧进行拍摄:
有了这些数据,再利用多视角立体( Multi-View Stereo,MVS)算法,就可以获取到包含其中人物在内整个场景的深度图了。
△ 合成景深图流程
搞定数据集后,第二个问题来了,如何能在人物和摄像机同时移动的情况下构建景深图呢?
此前,谷歌在展示过在Pixel 3手机中,通过单目摄像头确定景深图的研究。但在这个项目中,只有手机镜头在动,被拍摄的人静止。
但这个研究的难度显然升级了。
研究人员针对视频中的单个帧,单独进行深度推断。他们计算了视频中每一帧和其他帧之间的2D光流(2D optical flow),用来表示两帧之间的像素位移。
为了在测试时处理移动的人物,他们采用了人像分割网络( human-segmentation network)来掩盖初始深度图中的人类区域。整个网路的完整输入包括:
- RGB图像
- 人物mask
- 来自视差的mask深度图
此外,通过学习人类姿态和人体形状的先验,研究人员细化了景深图中各种细节。
经过大量训练后,这个模型可以处理任意相机位置和人体运动的自然视频。
研究人员将这个新模型与此前DORN DeMoN等类似算法进行了测评对比,结果如下:
此外,除了合成景深图,这个新模型还能应用到将合成的CG对象插入到视频场景中。
结果显示,即使晃动摄像机改变其位置,也能用视频其他帧的像素填充人物后面的背景区域。
传送门
谷歌官方博客:
https://ai.googleblog.com/2019/05/moving-camera-moving-people-deep.html
论文地址:
https://arxiv.org/abs/1904.11111
— 完 —
诚挚招聘
量子位正在招募编辑/记者,工作地点在北京中关村。期待有才气、有热情的同学加入我们!相关细节,请在量子位公众号(QbitAI)对话界面,回复“招聘”两个字。
量子位 QbitAI · 头条号签约作者
վ’ᴗ’ ի 追踪AI技术和产品新动态
“