腾讯多媒体实验室专栏
基于全景图的空间场景重建技术在各类沉浸式媒体解决方案中有着广泛的应用,比如 VR 看房,虚拟展厅等,也是近年来学术界和工业界在积极研究的一个难题。本文主要介绍了腾讯多媒体实验室在该领域的研究进展。通过自研深度学习网络和 3D 计算机视觉技术的结合,解决了在复杂场景下全景图点云重建的难题,成功实现了通过全景图即可算法重建空间点云的效果。目前,该技术已经应用于腾讯多媒体·点云产品中。
随着三维视觉技术的发展,三维视觉已经逐步渗透到各个领域,在 AR / VR、自动驾驶、三维重建等领域都有了较多的应用。相比于传统的 2D 平面视觉效果,3D 的立体视觉效果给人们带来了更真实的体验,基于点云和VR技术,能够实现多种虚拟场景的构建,让用户足不出户就可以拥有高自由度、多维度沉浸式体验。
在沉浸式媒体领域,腾讯多媒体实验室凭借着在技术上的深入研究与产品能力上的持续积累,自研腾讯多媒体·点云-3D点云空间重建技术作为点云VR导览的核心技术能力,通过全景图和空间点云重建,能够实现室内复杂场景的算法点云重建、点云配准、模型展示,以及全景漫游渲染。
一、技术背景
随着人们对科技的依赖越来越高,对于视觉的要求也越来越高。传统的 2D 的平面视觉效果在参与性,体验性和观感性方面相对欠缺,已不能满足部分用户的需求。而 3D 的立体视觉效果弥补了平面视觉在这方面的不足,给人们带来一种立体的视觉观感。
1.1 点云介绍
点云是三维立体视觉中常用的数据表现形式之一。点云是在给定坐标系下的点的集合。一般情况下,这些集合中的点包含三维坐标,颜色等信息。而一些复杂情况下,也包含法向量,时间,强度,分类等。在自然界,任意物体都可以用点云来表示。而人类的观感也是由三维组成的,所以点云给人带来了更直观的视觉感受。另外,点云甚至可以表示更高维度的特征,譬如引入时间后表示物体的变化。
在一些工业应用中,三维点云的获取方式主要有以下几种:LiDAR (激光雷达),结构光深度相机以及双目立体视觉深度相机等。譬如激光雷达是自动驾驶系统感知三维世界的重要技术之一,结构光深度相机和立体视觉相机成本相对较低,在一些小型商用应用中有所应用。可见,点云的获取还是需要有设备要求的。
那么在没有上述点云采集设备的情况下,普通手机或者普通相机用户如果也希望可以有三维的立体视觉感受,距离衡量或者三维重建等,是不是就是天方夜谭了呢?从理论上,单张图像的三维点云生成是一个病态问题,图像中的每个点都有很多的三维可能性。在一些特定场景,比如室内家居或者办公场所,利用计算机视觉技术结合深度学习,我们还是可以从单张图像获得不错的点云重建结果。本文就主要介绍了基于全景图的点云生成。
1.2 全景图介绍
在详细介绍之前,我们需要了解什么是全景图?全景图是一种全视角图像(图 1),其水平视角是 360 度,垂直视角是 180 度。一般以等距长方投影的方式呈现。大家经常看到的世界地图就是一种等距长方投影。全景图一般由一组照片拼接而成或者由全景相机直接拍摄得到。
图 1:全景图
全景图相比于普通图像,具有全方位视角的特点,拥有全方位的视觉感受。目前的沉浸式漫游,AR / VR 都用到全景图。
二、基于全景图的点云重建
基于成像原理,相机将三维空间上点 (x,y,z) 映射到二维成像平面 (u,v) 上。在成像过程中,有无穷多的三维点,可以映射到成像平面的同一个位置。而点云重建相当于是一个成像过程的逆过程,即将二维成像平面上的点 (u,v) 逆向推导到三维空间坐标点 (x,y,z) 。由于深度 z 的数值未知,所以三维重建有多种可能性,即对于每个 z 都有一组 (x, y) 与之结果对应。基于全景图的点云重建也存在深度数据未知的问题。
2.1 景深估计和点云重建的难度
景深估计本身是个病态问题,有无穷多个解。想要从这么多解中找到最正确的解,还真不是一件容易的事情。过去十几年,研究人员可以说尝试各种方法去解这个问题。有通过观察不同距离拍摄带来的图像模糊度来估计深度的;有通过光在大气中的散色带来的色偏来估算深度的;有通过纹理估计深度的。归纳起来就是在景深估计时加约束条件,但是效果都不理想。
最近几年,随着深度学习技术在计算机视觉领域的突飞猛进,基于深度学习的景深估计方法也流行起来。相比于传统方法,深度学习通过大量的训练数据去拟合,确实学到了比较好的一些结果。但是深度学习通常需要收集大量训练数据和人工标注,训练数据的收集和准确性也受限于拍摄设备。只基于深度学习的方法带来的另一个问题,就是适应性差,譬如在家居场景拍摄的数据上训练出来的模型,在办公场景上的结果都是差强人意的。
基于全景图的点云重建相比于普通视角图像重建,多了一些几何约束条件。有些研究通过全景图的结构化线段,去估算点云,这种方法对于简单的无物体的房型估算的效果不错,对于复杂房间估算就差强人意。另外一些通过深度学习直接估计全景图景深的方法,而这类方法估出来的深度相当于把约束条件都包含在一个神经网络里,这一训练模式势必导致结果的可扩展性不高。
2.2 全景图点云重建算法
下面,我们来介绍多媒体实验室原创的点云重建解决方案。首先通过训练适合我们应用场景的深度神经网络模型从多个层次不同角度分析理解全景图,然后我们利用全景图自带的几何信息通过 3D 几何与计算机视觉技术结合深度神经网络的输出结果推导出深度信息以及点云重建结果。其整体流程图如图 2 所示下:
图 2:点云生成算法流程
我们采用这样的思路是为了弥补单景深估计模型的通用性差和单几何模型不灵活的问题。我们的解决方案可以更加有效地在不同场景估计深度,增加了系统的通用性和鲁棒性。
另外,我们同时采用了最新的对抗学习的思路去训练模型。其原理是我们有两个网络,让深度生成网络和判别网络进行对抗学习。判别网络的输入分别是深度生成网络的结果和真值,通过两个网络的交替训练,让深度生成网络的结果逐步趋于真值。
2.3 算法效果展示
图 3:模型俯视图
首先我们对一些不规则房型的重建效果有鲁棒性。如图 3 所示,红色区域的门向外突出,我们的算法可以重建出来。绿色区域的门没有关紧,我们的算法也检测到了门的倾斜。蓝色部分的玻璃,一部分是被窗帘拦住,一部分是没有,这两者之间有个距离差,也可以很好的被我们的算法重建出来。
图 4:模型平视图
此外,我们的算法对室内结构性物体也有很好的重建效果。如图 4 所示,红色部分的箱子,绿色部分的打印机以及蓝色部分的储物柜等。
我们的方法在室内场景重建和室内结构性物体点云重建中,都有着较好的效果。我们也会继续去优化点云在不同场景的生成,为沉浸式媒体解决方案比如 virtual tour(虚拟导览)类产品带来更多的技术突破。
三、结语
腾讯多媒体·点云-3D点云空间重建作为 virtual tour(虚拟导览)类产品的核心技术,通过3D点云空间重建技术云端数字化线下场景,让用户不受时间和空间的限制,即可身临其境体验步入式漫游实际场景各区域。目前,全景图点云重建这一技术,也将通过腾讯云对外输出。
在线上看房、3D文创等场景下,都有点云和 VR360 技术的应用。我们将继续优化以点云、VR360 为代表的沉浸式媒体技术,为用户提供多维度沉浸式体验。
作者:何露
编辑:熊馨雅 马芸莹