0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

现实虚拟化:从三维重建到逆渲染(Inverse Rendering)

3D视觉工坊 来源:3D视觉工坊 2023-02-01 09:21 次阅读

三维计算机视觉可以分为两个主要问题:三维重建(3D Reconstruction)和三维理解(3D Understanding),前者侧重于从图片恢复出场景的几何表示,后者侧重于提取出场景中实体的空间关系和语义信息。三维重建已经是一个被深入研究的问题,其中涉及到的知识包括基础的多视角几何(Multiple view geometry),状态估计(State Estimation),优化理论,到图像处理/视觉中特征点检测、图形学中的几何表示和处理等等。

基于视觉的三维重建将输入的一系列图片转换为几何模型。尽管三维重建可以帮助我们采集场景的几何结构,对于三维测绘、自动驾驶等场景具有极大价值,但如果我们想要感受真实世界一样,那么三维重建的结果远远不能满足我们人眼的要求。同时,由于和真实世界的差距,利用三维重建出的模型训练深度网络也会产生一些泛化性的问题(Domain Gap)。这样,逆渲染(Inverse Rendering)可以在三维重建的基础上,进一步恢复出场景的光照、材质等信息,从而可以实现更具真实感的渲染。

什么是逆渲染呢?我们先说渲染是什么。渲染(Rendering)是图形学的三大问题之一,除此之外还包括几何(Geometry)和动画(Animation)。给定一个虚拟三维场景的描述(包括模型、位置关系、光照等),渲染过程将3D的场景转化为2D的图片。而逆渲染则是渲染的逆过程,给定一系列照片,恢复出场景的几何、光照和材质。

因此无论是三维重建和逆渲染,都可以视为图片和场景之间的一个桥梁。在介绍其流程之前,我们先介绍下照片和场景的本质。

照片的本质

照片本质是三维世界在二维平面上的一个投影。我们通过相机中的图像传感器阵列来记录场景中物体表面发出的光线的颜色(RGB)。因此图片中的每一个像素对应了三维空间中的一个点,而这样一个对应关系通过相机模型(Camera Model)来表达。相机模型有一系列相机参数,称为相机的内参(Intrinsic)。最为常见的就是针孔相机模型(Pin-hole),全景相机(Omnidirectional)等等。

c38b290e-a1c5-11ed-bfe3-dac502259ad0.jpg

https://mphy0026.readthedocs.io/en/latest/calibration/camera_calibration.html

场景的本质

虽然我们一直说三维重建要恢复场景,那么到底如何表示场景呢?简单来说,场景(Scene)可以由多个物体(Object)组成。场景可以通过物体本身的模型以及之间的相对位置关系来描述。我们可以对每个物体赋予一个坐标系,并且定义一个世界原点。这样,无论是什么样的物体,我们都可以通过坐标系之间的相对坐标系变换来表示,包括位置(Translation)和旋转(Rotation)两部分,简称位姿(Pose)。同样的,作为拍摄场景的相机(Camera),也可以视作一个特殊的物体。

c3a20458-a1c5-11ed-bfe3-dac502259ad0.jpg

http://www.codinglabs.net/article_world_view_projection_matrix.aspx

不过通常来说,在三维重建中我们主要将场景中的所有物体视为一个整体,用单个模型来表示。对于一个模型,我们分成几何结构(Geometry)、材质纹理(Texture/Material)及其映射关系来表示。对于几何表示,我们主要关心的是物体的表面(毕竟里面看不到),因此我们可以用最基础的Point Cloud,即一系列3D点的集合来表示。也可以再增加点与点之间的连接关系,通过一系列的面片来表示,也就是Mesh。

c3b64d6e-a1c5-11ed-bfe3-dac502259ad0.jpg

如何从照片恢复场景

由于逆渲染一定程度上包括了三维重建,我们先说说如何进行三维重建。经典的三维重建可以分为三步:

1)从多个视角的照片恢复出各视角的相机位姿,以及场景的稀疏结构——SfM

2)估计出各个视角的深度图,从而得到单视角的点云——MVS

3)融合各个视角的点云,并进行表面重建——Surface Reconstruction

这一技术路线已经有相当成熟的开源工作和产品,如Colmap,RealityCapture等。

当然,深度学习方法也可以与经典方法结合,在某些情况下可以起到明显作用。如SfM中的特征点检测,利用深度网络可以更好地处理纹理缺失、运动模糊的情况,或者MVS中利用深度模型进行深度估计。

同时近两年端到端的表面重建方法效果上也逐渐超过了经典方法,如IDR、VolSDF,NeuS等,这些方法利用深度网络来将输入图片直接嵌入进网络中,进而提取出Mesh。

c3c4ec02-a1c5-11ed-bfe3-dac502259ad0.jpg

VolSDF

如何进一步恢复材质和光照

利用三维重建方法得到物体的几何模型后,我们可以进一步通过逆渲染技术恢复出物体的材质、场景的光照,从而可以在新的光照条件下实现更具真实感的效果。

光照是场景中能量的来源。对于物体为中心的场景,常通过环境贴图(Environmental Map)来表示。材质则决定了光线如何与物体表面进行作用,比如反射、散射或透射。光照、材质、几何与图片之间的映射关系,则通过渲染方程(Rendering Equation)来描述。

c3dbb05e-a1c5-11ed-bfe3-dac502259ad0.png

逆渲染可以分成两个子问题:

1)光照恢复(Inverse Lighting)

2)材质恢复(Inverse Material)

对于光照恢复,经典方法通常构造一个最小二乘优化问题或以矩阵分解的方式来求解光照,使得该光照能呈现出与观测到的照片相同的效果。但由于这一问题的病态性(ill-posed),导致多种光照设定都能呈现出相同的结果,因此需要一些特殊的正则化来保证光照的合理性。

而对于材质恢复,如果想要获得较为准确的结果,则需要已知光照条件下求解。实际中通常会对物体在不同角度下打光,观测物体表面的反射情况。

而随着可微渲染(Differentiable Rendering)以及神经渲染(Neural Rendering)的爆发增长,我们可以利用渲染方程作为桥梁,直接优化未知的光照和材质参数,使得问题大大简化。

c3f6d690-a1c5-11ed-bfe3-dac502259ad0.jpg

PhySG

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 虚拟化
    +关注

    关注

    1

    文章

    368

    浏览量

    29775
  • 深度学习
    +关注

    关注

    73

    文章

    5493

    浏览量

    121000

原文标题:现实虚拟化:从三维重建到逆渲染(Inverse Rendering)

文章出处:【微信号:3D视觉工坊,微信公众号:3D视觉工坊】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    怎样去设计一种基于RGB-D相机的三维重建无序抓取系统?

    为什么要开发一种三维重建无序抓取系统?三维重建无序抓取系统是由哪些部分组成的?三维重建无序抓取系统有哪些关键技术和创新点?
    发表于 07-02 06:29

    如何去开发一款基于RGB-D相机与机械臂的三维重建无序抓取系统

    基于RGB-D相机与机械臂的三维重建无序抓取系统有哪些关键技术?如何去开发一款基于RGB-D相机与机械臂的三维重建无序抓取系统?基于RGB-D相机与机械臂的三维重建无序抓取系统是由哪些部分组成的?
    发表于 09-08 06:12

    无人机三维建模的信息

    项目需要调研一下无人机三维建模的信息无人机三维建模核心技术是三维重建,或者说基于图片的建模(Image-Based Modeling)。项目需要是建立园区的三维模型,其他应用上可以用于
    发表于 09-16 06:55

    基于纹理映射的医学图像三维重建

    提出了一种基于纹理映射的体绘制算法,提高了图像的重建效率,增强了图像的重建效果。算法实现了对二医学图像序列的三维重建,在目前通用的个人计算机上可以以近似实
    发表于 12-14 11:10 19次下载

    基于FPGA的医学图像三维重建系统设计与实现

    目前大部分的医学图像三维重建过程都是在PC机上完成的,由于PC机本身性能的限制和重建算法的复杂性,使得重建效率不高。针对这个问题,设计与实现了一个基于FPGA(Field Programmable Gate Array,现场可编
    发表于 03-15 13:52 44次下载

    基于MC算法的光刻仿真微结构的三维重建_宫珊珊

    基于MC算法的光刻仿真微结构的三维重建_宫珊珊
    发表于 03-18 09:06 0次下载

    AI+AR将用于智能三维重建领域

    AI与AR的关系日渐微妙,正在不断融合、相互促进。在计算机视觉中, 三维重建是指根据单视图或者多视图的二图像重建三维信息·的过程。在虚拟现实
    发表于 09-21 10:33 4606次阅读

    为什么说三维重建才是计算机视觉的灵魂?

    权龙教授为我们介绍了三维重建的历史发展与应用前景。
    的头像 发表于 07-02 14:18 3.1w次阅读

    透明物体的三维重建研究综述

    应用在透明物体上。文中简要介绍透明物体的三维重建相关研究,围绕ⅹ恢复形状、反向渲染技术、断层摄影技术和直接光线测量这4个方面回顾了近些年来的主要研究工作,分析并指出当前工作的优缺点以及不同的应用环境,展示
    发表于 04-21 14:21 4次下载
    透明物体的<b class='flag-5'>三维重建</b>研究综述

    基于分布式传感的实时三维重建系统

    基于分布式传感的实时三维重建系统
    发表于 06-25 11:25 15次下载

    NVIDIA Omniverse平台助力三维重建服务协同发展

    计算机视觉的进步为元宇宙的数字孪生应用打下坚实基础。在计算机视觉中,三维重建是指根据单视图或者多视图的图像重建三维信息的过程。数字孪生开发者可借助三维重建服务,加速 3D 模型构建,提
    的头像 发表于 10-13 09:45 1149次阅读

    深度学习背景下的图像三维重建技术进展综述

    根据三维模型的表示形式可以将图像三维重建方法分类为基于体素的三维重建、基于点云的三维重建和基于网格的三维重建,其中基于网格的
    的头像 发表于 01-09 14:26 2387次阅读

    三维重建入门入土

    经典三维重建系统的整个pipeline相机标定、基础矩阵与本质矩阵估计、特征匹配到运动恢复结构(SFM),SFM稠密点云重建、表面
    的头像 发表于 03-03 10:17 1147次阅读

    如何实现整个三维重建过程

    在计算机视觉中,三维重建是指根据单视图或者多视图的图像重建三维信息的过程。由于单视频的信息不完全,因此三维重建需要利用经验知识,而多视图的三维重建
    发表于 09-01 11:06 1616次阅读
    如何实现整个<b class='flag-5'>三维重建</b>过程

    基于光学成像的物体三维重建技术研究

    随着计算机科学和数字成像技术的飞速发展,光学成像技术在许多领域中得到了广泛应用,其中之一便是物体三维重建。物体三维重建技术是一种通过计算机处理图像数据,获得物体三维信息的技术。光学成像技术作为物体
    的头像 发表于 09-15 09:29 861次阅读
    基于光学成像的物体<b class='flag-5'>三维重建</b>技术研究