三维计算机视觉可以分为两个主要问题:3D 重建和3D 理解。前者侧重于从图片中恢复场景的几何表示,后者侧重于提取场景中实体的空间关系和空间关系。语义信息。三维重建一直是一个深入研究的问题,涉及的知识包括基本的多视图几何(Multiple view Geometry)、状态估计(State Estimation)、优化理论、图像处理/视觉中的特征点检测、图形学。几何表示与处理等
基于视觉的3D 重建将输入图像系列转换为几何模型。虽然3D重建可以帮助我们收集场景的几何结构,对于3D建图、自动驾驶等场景有很大的价值,但如果我们想要体验真实世界,3D重建的结果还远远不能满足我们的要求。人类的眼睛。同时,由于与现实世界的差距,使用3D重建模型来训练深度网络也会带来一些泛化问题(Domain Gap)。这样,逆向渲染(Inverse Rendering)可以在三维重建的基础上进一步还原场景的光照、材质等信息,从而实现更加真实的渲染。
什么是逆渲染?我们先来说说什么是渲染。渲染是图形学中除几何和动画之外的三大问题之一。给定虚拟三维场景的描述(包括模型、位置关系、光照等),渲染过程将3D场景转换为2D图片。逆渲染是渲染的逆过程。给定一系列照片,场景的几何形状、灯光和材质都会被恢复。
因此,三维重建和逆向渲染都可以看作是图片和场景之间的桥梁。在描述过程之前,我们先介绍一下照片和场景的本质。
照片的性质
照片本质上是三维世界在二维平面上的投影。我们通过相机中的图像传感器阵列记录场景中物体表面发出的光的颜色(RGB)。因此,图片中的每个像素都对应三维空间中的一个点,这种对应关系通过相机模型来表达。相机模型具有一系列相机参数,称为相机内在参数。最常见的是针孔相机型号(Pin-hole)、全景相机(Omni Direction)等。
https://mphy0026.readthedocs.io/en/latest/calibration/camera_calibration.html
场景的性质
虽然我们一直说3D重建需要还原场景,但是我们如何表示场景呢?简单来说,一个场景可以由多个对象组成。场景可以通过物体本身的模型以及它们之间的相对位置关系来描述。我们可以为每个对象分配一个坐标系并定义一个世界原点。这样,无论我们是哪种物体,我们都可以通过坐标系之间的相对坐标系变换来表示它,包括位置(Translation)和旋转(Rotation)两部分,简称位姿(Pose)。同样,拍摄场景的相机也可以被视为一个特殊的物体。
http://www.codinglabs.net/article_world_view_projection_matrix.aspx
然而,一般来说,在3D 重建中,我们主要将场景中的所有对象视为一个整体,并用单个模型来表示它们。对于一个模型,我们将其分为几何结构(Geometry)、材质纹理(Texture/Material)以及它们的映射关系来表示。对于几何表示,我们主要关心的是物体的表面(毕竟看不到里面),所以我们可以使用最基本的点云,它是3D点的集合来表示它。还可以添加点之间的连接,用一系列面片表示,即Mesh。
如何从照片中恢复场景
由于逆渲染一定程度上包含了三维重建,所以我们先来说说如何进行三维重建。经典的3D重建可以分为三个步骤:
1)从多个视角的照片中恢复各个视角的相机位姿和场景的稀疏结构——SfM
2)估计各个视角的深度图,得到单视点点云——MVS
3)各种视角的点云融合和表面重建——Surface Reconstruction
这条技术路线已经有相当成熟的开源工作和产品,比如Colmap、RealityCapture等。
当然,深度学习方法也可以与经典方法相结合,在某些情况下可以发挥很大的作用。例如,对于SfM中的特征点检测,可以使用深度网络来更好地处理丢失的纹理和运动模糊,或者可以使用深度模型来进行MVS中的深度估计。
同时,近两年端到端的表面重建方法的有效性已经逐渐超越经典方法,如IDR、VolSDF、NeuS等,这些方法利用深度网络将输入图像直接嵌入到网络中,然后提取网格。
卷SDF
如何进一步还原材质和灯光
利用三维重建方法获得物体的几何模型后,我们可以通过逆渲染技术进一步还原物体的材质和场景的光照,从而在新的光照条件下实现更加真实的效果。
照明是场景中的能量来源。对于以物体为中心的场景,往往用环境图(Environmental Map)来表示。材质决定光如何与物体表面相互作用,例如反射、散射或透射。光照、材质、几何体和图片之间的映射关系是通过渲染方程(Rendering Equation)来描述的。
1)光恢复(逆光)
2)材料回收(逆材料)
对于光照恢复,经典方法通常构造最小二乘优化问题或通过矩阵分解来求解光照,使得光照能够呈现与观察到的照片相同的效果。然而,由于这个问题的病态性质,多种照明设置可以产生相同的结果,因此需要一些特殊的正则化来确保照明的合理性。
对于材料回收来说,如果想要获得更准确的结果,需要在已知的光照条件下解决问题。在实践中,通常以不同角度照射物体,观察物体表面的反射。
随着可微渲染和神经渲染的爆炸式增长,我们可以使用渲染方程作为桥梁,直接优化未知的光照和材质参数,大大简化问题。
PH值
审稿人:李茜