三维重建基础【知识点总结】

MPJPE (mean per-joint error) and PA-MPJPE (Procrustes-aligned) metrics.

MPJPE(Mean Per-Joint Position Error)和PA-MPJPE(Procrustes Aligned Mean Per-Joint Position Error)是评估3D人体姿态估计算法性能的两个常用指标,主要用于量化预测的人体关节位置与实际标注的关节位置之间的偏差。

  1. MPJPE(Mean Per-Joint Position Error)

MPJPE直接衡量了预测关节坐标与真实关节坐标之间的欧几里得距离的平均值。具体来说,对于每一个关节j,其误差定义为两者坐标的欧氏距离,然后对所有关节的误差求平均值。公式可表示为:

MPJPE = 1 J ∑ j = 1 J ∥ p j pred − p j gt ∥ 2 \text{MPJPE} = \frac{1}{J} \sum_{j=1}^{J} \| \mathbf{p}_j^{\text{pred}} - \mathbf{p}_j^{\text{gt}} \|_2 MPJPE=J1j=1Jpjpredpjgt2

其中, p j pred 和 p j gt \mathbf{p}_j^{\text{pred}} 和 \mathbf{p}_j^{\text{gt}} pjpredpjgt 分别代表第j个关节的预测坐标和真实坐标,(J) 是关节的总数。MPJPE越低,表示预测的姿态越接近真实姿态。

  1. PA-MPJPE(Procrustes Aligned Mean Per-Joint Position Error)

PA-MPJPE则是在计算误差之前,首先对预测的姿态进行了最佳比例的刚体变换(包括旋转、平移和缩放),这一过程通常通过Procrustes分析实现,目的是为了消除全局旋转和平移的影响,以及可能的比例差异,从而更加专注于评估姿态结构本身的准确性。经过对齐后,再计算MPJPE。这意味着PA-MPJPE衡量的是姿态结构的相似度,而非简单的位置偏差。

Procrustes分析是一种统计方法,它能找到两组数据间最优的一致性变换,包括旋转、平移和缩放,使它们之间的距离最小化。在人体姿态估计中,这通常意味着找到一种变换,使得对齐后的预测姿态尽可能地匹配真实姿态。

总的来说,MPJPE提供了关节位置直接的绝对误差,而PA-MPJPE给出了在考虑了全局变换影响下的姿态结构的相对评估,后者在比较不同姿态估计方法时更能反映其在姿态估计结构上的精确度。这两种度量方式都是评价算法性能的重要工具,但选择哪种取决于评估的具体需求,比如是否关心全局姿态的差异。

rasterization

Rasterization,中文通常译为“光栅化”,是计算机图形学中的一个关键技术,主要用于将三维几何数据转换为二维屏幕上可显示的像素数据的过程。这个过程是实时渲染管道中的关键一步,特别是在视频游戏、CAD设计、虚拟现实等应用中。

栅格化的基本概念
在三维场景中,复杂的模型由许多简单的几何形状(如三角形)组成。光栅化就是将这些三维空间中的几何形状投影到二维的图像平面上,并决定哪些像素应该被绘制以及它们的颜色应该是多少。这一过程可以分为几个子步骤:

  1. 投影(Projection):首先,三维模型通过投影变换转换到二维屏幕上,常见的有透视投影和正交投影。这一步骤确定了物体在最终图像上的大小和位置。
  2. 裁剪(Clipping):将投影后位于视锥(view frustum)以外的部分去除,只保留可视部分。
  3. 三角形设置与遍历(Triangle Setup and Traversal):将模型简化为一系列三角形,并为每个三角形计算其边界框,确定它覆盖哪些像素。
  4. 像素着色(Pixel Shading):对于每个确定应被绘制的像素,计算其颜色、纹理坐标、光照效果等属性。这通常涉及到纹理映射、阴影计算、法线贴图等高级渲染技术。
  5. 深度测试和混合(Depth Testing and Blending):为了避免隐藏面的错误显示,会进行深度测试,确保离观察者更近的物体覆盖远的物体。混合则处理透明或半透明对象的颜色叠加。
    实现算法
  • 投影法:从物方(对象空间)出发,将三角面直接投影到屏幕空间并计算像素颜色。这种方法效率较高,但可能在处理边缘和细节时精度稍差。
  • 光线法:从像方(屏幕空间)出发,模拟光线与物体表面的交点来确定像素颜色。虽然这种方法在理论上能提供更高的精度,但计算成本更高,因此较少用于实时渲染。

GPU的角色
现代图形处理器(GPU)专门优化了光栅化过程,能够高效地执行上述步骤,尤其是在处理大量几何数据和复杂场景时。GPU利用并行处理能力快速遍历像素和三角形,计算每个像素的颜色值,从而实现实时渲染效果。

总的来说,光栅化是连接三维几何世界与最终二维显示图像的桥梁,是图形渲染中不可或缺的一环。

volumetric ray-marching

Volumetric Ray-Marching 是一种用于体积渲染的技术,尤其适用于表现诸如烟雾、火焰、云朵等半透明、弥散的介质。与传统的光栅化或光线追踪技术不同,体积光追迹是专为处理具有体积的数据而设计的,它能够精确地模拟光线在不透明度连续变化的介质中的传播过程。
基本原理
在Volumetric Ray-Marching中,从观察者的视角出发,向场景中的每一个像素发出一条光线。与传统光线追踪每次直接寻找最近的交点不同,体积光追迹是逐步推进的(marching),即光线不是直接射到物体表面停止,而是在进入体积区域后,按照固定的步长或者根据密度场调整步长逐步前进,同时累积沿途中与介质相互作用产生的颜色和透明度信息。
关键特点

  1. 逐步推进(Step-by-step Advancement):光线不是直接寻找到交点,而是按照预定的步长或根据介质密度动态调整步长前进,直到超出体积范围或达到预设的终止条件。
  2. 累积贡献(Accumulation of Effects):每一步,根据当前点的介质密度和光源信息,计算光线的散射、吸收或发射等效果,并累加到最终的颜色上。
  3. 适合体积渲染:特别适合于没有明确表面的、连续分布的介质,如气体、液体中的光影效果模拟。
  4. Signed Distance Functions (SDFs):常与Ray-Marching配合使用,SDF定义了场景中每个点距离最近物体表面的距离,正负号表示内外,这有助于精确控制光线在体积中的推进。
  5. 灵活性与艺术控制:艺术家和开发者可以灵活控制体积内部的外观,通过调整密度函数、光照模型等,创造丰富的视觉效果。

应用场景
● 电影特效与动画:创建逼真的爆炸、烟雾、水流等自然现象。
● 视频游戏:在游戏中实时渲染云、雾、火等环境效果。
● 医学影像:用于可视化人体内部结构,如CT扫描的三维重建。
● 科学研究与可视化:展示流体动力学、气象模型等科学数据。
技术挑战
● 性能优化:体积渲染计算密集,特别是在高分辨率下,需要高效的算法和硬件加速。
● 内存使用:体积数据通常占用大量内存,如何有效管理内存是一个挑战。
● 真实感模拟:模拟真实的物理交互,如散射、吸收、发射,对算法精度要求高。
Volumetric Ray-Marching作为一种强大的渲染技术,随着硬件能力的提升和算法的不断优化,其在多个领域的应用前景越来越广阔。

SfM(Structure from Motion)

3D的SfM(Structure from Motion)是一种计算机视觉技术,用于从一系列二维图像中恢复并重建三维场景的结构和相机的运动轨迹。这项技术是基于多视图几何原理,通过分析不同视角下同一场景的图像来估计场景中点的三维坐标以及拍摄这些图像时相机的位置和姿态。以下是SfM技术的关键步骤和组成部分:

  1. 特征提取与匹配:首先,从各个图像中提取特征点,如角点、边缘等,并在不同图像间进行特征匹配。这些匹配点是后续三维重建的基础。
  2. 相机姿态估计:利用特征匹配的结果,通过几何算法(如基础矩阵、本质矩阵)计算出相机之间的相对姿态(旋转和平移)。这一过程通常涉及RANSAC(随机抽样一致)算法来去除错误匹配。
  3. 三维点云重建:通过三角法或其他算法,结合已知的相机姿态和匹配点对,计算场景中特征点的三维坐标,形成稀疏或稠密的点云模型。
  4. 捆绑调整(Bundle Adjustment):这是一个优化过程,旨在同时优化所有相机的姿态参数和场景点的三维坐标,使得重投影误差最小化。这个步骤对于提高整个三维重建的准确性和稳定性至关重要。
  5. 稠密化与表面重建:在得到稀疏点云后,可以通过各种方法进一步稠密化点云,并构建表面模型,如使用多视图立体匹配技术或基于机器学习的方法填充空隙,生成精细的三维网格或体素模型。

SfM技术的优势在于不需要专门的设备,仅需一组普通的二维图像即可进行三维重建,广泛应用于考古学、地理信息系统、电影特效、虚拟现实、无人机测绘、机器人导航等领域。然而,它也面临一些挑战,如在低纹理区域的特征匹配困难、大尺度重建的精度问题以及对大量计算资源的需求等。

Spherical Harmonics

Spherical Harmonics,即球谐函数,是一组定义在三维空间中单位球面上的复杂函数,常用于表示周期性或具有某种对称性的函数。它们构成了在球面上的正交完备基,类似于在一维空间中的正弦和余弦函数,或在二维平面上的复指数函数(Fourier级数)。
球谐函数的基本性质和应用包括:

  1. 数学定义:球谐函数由两个参数索引,通常是整数l(阶数)和m(从-l到l的整数,称为序数),记作Y_l^m(θ, φ),其中θ是极角(天顶角),φ是方位角(方位角)。它们是Legendre多项式的径向函数与角度函数的乘积,并满足球面上的拉普拉斯方程。
  2. 正交性与完备性:不同阶数和序数的球谐函数在单位球面上是正交的,并且作为函数空间的一组基,可以用来展开任何在球面上的平方可积函数。
  3. 物理与工程应用:
    ○ 物理学:在量子力学中,球谐函数用于描述原子轨道的形状,特别是在解决薛定谔方程时。
    ○ 图形学:在计算机图形学中,球谐函数用于高效地表示和处理全局光照,特别是环境光照的预计算和动态物体的光照计算(球谐光照)。
    ○ 信号处理与数据分析:用于处理具有球对称性质的数据,例如地球物理数据、医学成像中的脑部扫描等。
  4. 可视化:球谐函数的图形通常展示为具有特定对称性的模式,随着阶数增加,这些模式变得更加复杂,展现出从简单的偶极子、四极子到更高阶的多极子结构。
  5. 数学工具:在数学上,球谐函数是研究旋转对称性问题的重要工具,也是傅里叶分析在球面上的推广。

由于其独特的性质和广泛的应用范围,球谐函数在多个学科领域内都是一个重要的数学工具。

多视图立体(Multiple View Stereo, MVS)

3D的多视图立体(Multiple View Stereo, MVS)是一种计算机视觉技术,它可以从多个不同视角拍摄的2D图像中重建出场景的三维几何结构。MVS是立体匹配概念的扩展,它不仅限于一对图像,而是利用两个以上的图像来估计场景的深度和三维形状。以下是MVS技术的一些关键方面:

  1. 基本原理:MVS技术依赖于立体匹配的原则,即同一场景点在不同视角下的对应关系。通过对多幅图像中的对应特征点进行匹配,可以计算出这些点的空间位置。这涉及到解决视差问题,即将不同视图中同一物理点的投影差异转换为深度信息。
  2. 三维重建目标:MVS的主要目标是从一组已知视点拍摄的照片中,估计出最有可能解释这些照片的三维形状。这一过程通常假定材料特性、相机视点和照明条件是已知的,尽管实际操作中这些因素往往是未知或需要估计的。
  3. 技术流程:
    ○ 特征提取与匹配:首先在各个视图间找到对应的特征点。
    ○ 相机校准:确定各相机的内在参数(如焦距)和外在参数(如位置和朝向)。
    ○ 三维成本体构建:创建一个三维体积,其中每个体素代表场景中某点的可能性或成本,依据视图间对应特征的匹配质量和几何一致性。
    ○ 深度估计与优化:通过分析成本体,估计场景点的深度,并通过优化算法(如 Bundle Adjustment)精化结果,减少误差。
    ○ 稠密化与表面重建:将深度图转换为点云,进一步处理得到表面模型,如网格或体素模型。
  4. 深度学习方法:近年来,深度学习技术被引入MVS,如MVSNet,它使用深度神经网络直接从多视图图像中估计深度图,提高了精度和效率。这类方法通常包含特征提取、成本体构建、深度图预测和后处理等多个阶段。
  5. 应用:MVS技术广泛应用于地图制作、三维建模、虚拟现实、增强现实、文化遗产保护、机器人导航、自动驾驶汽车等领域。

MVS面临的挑战包括处理无纹理区域、光照变化、遮挡问题以及大规模场景重建时的计算复杂度和内存需求。随着算法的进步和计算能力的提升,这些挑战正在逐步被克服。

动画制作专业术语

科普几个有关动画制作的关键词(可能不是很正确),对于一个动画人物模型,比如Unity模型,有:

  • 顶点(vertex):动画模型可以看成多个小三角形(四边形)组成,每个小三角形就可以看成一个顶点。顶点越多,动画模型越精细。
  • 骨骼点:人体的一些关节点,类似于人体姿态估计的关键点。每个骨骼点都由一个三元组作为参数去控制(可以查看欧拉角,四元数相关概念)
  • 骨骼蒙皮(Rig):建立骨骼点和顶点的关联关系。每个骨骼点会关联许多顶点,并且每一个顶点权重不一样。通过这种关联关系,就可以通过控制骨骼点的旋转向量来控制整个人运动。
  • 纹理贴图:动画人体模型的表面纹理,即衣服裤子这些。
  • BlendShape:控制动画角色运动有两种,一种是上面说的利用Rig,还有一种是利用BlendShape。比如:生成一种笑脸和正常脸,那么通过BlendShape就可以自动生成二者过渡的动画。这种方式相比于利用Rig,可以不定义骨骼点,比较方便。
  • 蒙皮:将模型从一个姿态转变为另一个姿态,使用的转换矩阵叫做蒙皮矩阵。(Linear Blend Skinning算法)
  • 顶点权重(vertex weights):用于变形网格mesh
  • uv map:将3D多边形网格展开到2D平面得到 UV图像
  • texture map:将3D多边形网格表面的纹理展开到2D平面,得到纹理图像
  • 拓扑(topology):重新拓扑是将高分辨率模型转换为可用于动画的较小模型的过程。两个mesh拓扑结构相同是指两个mesh上面任一个三角面片的三个顶点的ID是一样的(如某一个三角面片三个顶点是2,5,8;另一个mesh上也必有一个2,5,8组成的三角面片)
  • linear blend skinning algorithm

每个关节的数据结构包含:关节名字、骨骼中其父节点的索引、关节的绑定姿势之逆变换(蒙皮网格顶点绑定至骨骼时,关节的位置、定向及缩放)
参考https://zhuanlan.zhihu.com/p/256358005

semantical UV partitioning

“Semantic UV Partitioning” 是一种三维建模和纹理映射技术,其中“UV映射”是指将三维模型的表面投影到二维平面的过程,以便于应用纹理。而“语义”(Semantic)在这里强调的是根据模型表面的含义或功能来进行更有意义的UV分割或布局。传统的UV映射可能主要关注于减少接缝和失真,而语义UV分区则更进一步,旨在优化纹理的组织方式,使之能更好地反映模型的结构或表面属性。
具体来说,语义UV分区可能包括以下特点和应用:

  1. 结构保留:在分割UV时,会特别注意保持模型的结构完整性,比如确保相邻的部件在UV空间中也是相邻的,这样可以使得纹理细节更加连贯,便于纹理艺术家进行细节绘制。
  2. 功能区域分离:根据模型的不同功能区域(如衣服的不同部分、皮肤、金属配件等)进行独立的UV岛分配,这样可以在纹理上分别处理不同材质和细节,提升纹理质量和编辑效率。
  3. 纹理 atlas 优化:在游戏开发和实时渲染中,通过语义UV分区,可以更高效地组织多个模型的UV到一个或几个大的纹理图集(Texture Atlas)中,减少渲染所需的Draw Call,提升渲染性能。
  4. 材质ID和PBR工作流程:配合物理基础渲染(PBR)流程,语义UV分区可以帮助更精确地分配不同的材质ID,使得基于材质属性的光照和着色更为准确。
  5. 自动化与工具支持:现代3D建模软件和工具(如 Substance Painter、Blender、Maya 等)常常内置或支持插件来进行智能化的语义UV分割,减少人工操作,提高工作效率。
    总之,语义UV分区是一种高级的纹理工作流技术,它不仅仅追求技术上的精确映射,更加注重于提高纹理创作的实用性和最终渲染效果的质量。

UV mapping segmentation

UV分区(UV mapping segmentation)是计算机图形学中的一个概念,尤其是在3D建模和纹理映射领域。在三维模型上应用二维纹理时,需要将模型的表面投射到一个二维平面上,这个过程就叫做UV映射。UV分区则是指将这个二维投影平面(通常称为UV空间)合理分割成多个区域(称为UV岛或UV块),每个区域对应模型上不同部分的纹理。
这样做的目的有以下几个方面:

  1. 减少失真:合理分区可以最小化纹理在映射到复杂形状时产生的扭曲。
  2. 优化纹理使用:通过分区,可以更有效地利用纹理空间,减少浪费,并且便于在单个大纹理图集中组织多个模型的纹理。
  3. 便于纹理绘制和编辑:不同的UV岛可以对应不同的材质或细节层次,使得纹理艺术家能够单独处理模型的不同部分,提高工作效率和纹理质量。
  4. 支持纹理平铺和重复:对于需要平铺的纹理,如地面或墙面材质,UV分区可以设定这些区域以便于纹理的无缝平铺。
  5. 材质和光照优化:在某些工作流程中,UV分区还涉及到为不同的材质ID或光照贴图准备特定的UV区域。
    在实际操作中,3D艺术家使用软件工具手动或通过自动算法来创建这些UV分区,确保最终渲染出的模型既美观又真实。
  • 12
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

旋转的油纸伞

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值