可变形网格模型拟合与可微渲染在计算机视觉中的应用
1. 可变形网格模型拟合点云
1.1 问题优化
将网格拟合到点云的问题可转化为优化问题。由于像行人等物体表面可连续变形为球体,所以从球体表面开始变形,以最小化成本函数。主要成本函数选择 Chamfer 集距离,其定义为两个点集之间的距离,是对称的,由两项之和组成。在 PyTorch3D 中, pytorch3d.loss.chamfer_distance 可实现该距离计算,且支持反向传播的梯度计算。为拟合网格到点云,先从网格模型中随机采样点,再优化采样点与输入点云之间的 Chamfer 距离,随机采样通过 pytorch3d.ops.sample_points_from_meshes 实现。
1.2 正则化损失函数
直接优化主要损失函数可能存在问题,因为可能有多个网格模型能很好地拟合同一 点云,其中一些可能远离光滑网格。为排除非光滑解,采用正则化方法,将优化的损失设为多个损失函数之和,除主要的 Chamfer 距离外,还包括惩罚表面非光滑性和法线非光滑性的项。具体有以下几种损失函数:
- Mesh Laplacian 平滑损失 :Mesh Laplacian 是 Laplace - Beltrami 算子的离散版本,均匀 Laplacian 是其中一种。它衡量顶点的平滑度,若第 i 个顶点及其邻居都在一个平面内,Laplacian 应为零。在优化中加入该损失函数可得到更平滑的解, pytorch3d.loss.mesh_laplacian_smoothing 可实现该
超级会员免费看
订阅专栏 解锁全文
8478

被折叠的 条评论
为什么被折叠?



