三维重建的损失函数和评估标准
三维形状间的评价指标
体素
Dice Similarity Coefficient (DSC)
Dice 相似系数 是一种基于体素(Voxel)的相似性度量,通常用于三维医学图像配准。它通过计算两个体积的重叠比例来评估形状的相似度。
计算公式:
- A 和 B 为两个体积对象,计算它们重叠体素数的比例。
特点:
- 更适合用来衡量三维体积的相似度,而不是点云。
- 重叠率的计算对整体形状的比较更有意义。
Jaccard Similarity (Intersection over Union, IoU)
Jaccard 相似性 是衡量两个形状重叠程度的一种方法,特别是在三维体素或网格表示中常用。它计算两个形状的交集与并集之比。
计算公式:
- A 和 B 分别表示两个三维体积的点集或体素。
特点:
- IoU 主要用于体素网格或三维对象的相似性评价,广泛应用于物体检测、分割等任务。
- 对离群点鲁棒性强,但它对局部的微小变化不敏感。
点云
Chamfer Distance (CD)
Chamfer Distance 衡量的是一个点集到另一个点集的最近距离的平均值。它的计算方法非常直接,步骤如下:
计算步骤:
- 对于点集 A 中的每个点,找到点集 B 中与之最近的点,然后计算它们之间的欧氏距离。
- 同样,对于点集 B 中的每个点,找到点集 A 中与之最近的点,计算它们之间的欧氏距离。
- 将这两个方向的距离之和作为 Chamfer Distance。
公式如下:
特点:
- 对称性:CD 同时考虑了点集 A 到 B 和 B 到 A 的距离,因此是对称的。
- 局部一致性:CD 会给每个点分配一个最近的点,因此它对点集的全局结构不敏感,更适合用于局部匹配。
- 计算效率:相对较快,因为只需要计算最近点距离,而不需要进行全局优化。
缺点:
- 如果两个点集之间的点数不匹配,CD 可能会忽略点数较少的点集中的某些点。
- 容易受到离群点(outliers)的影响,因为它只关注每个点的最近邻,而不考虑整体的点集结构。
Earth Mover’s Distance (EMD)
Earth Mover’s Distance(也称为 Wasserstein 距离)是一种衡量两个点集之间差异的距离,源自最优运输问题。它的基本思想是,将一个点集的分布“转换”为另一个点集的分布,所需的“搬运量”最小的方式即为点集之间的距离。
公式如下(简化形式):
其中 ϕ 是点集 AAA 中的每个点到点集 B 中的点的最优匹配。
特点:
- 全局最优匹配:EMD 找到点集 A到 B的最优匹配关系,因此它更关注整个点集的结构和分布,而不仅仅是单个最近点。
- 适合不同分布的点集:EMD 可以处理点集数量不相等的情况,并能够在匹配时考虑整体点的分布。
- 鲁棒性:相比 Chamfer Distance,EMD 对离群点更具鲁棒性,因为它采用了全局匹配而不是局部最近点。
缺点:
- 计算复杂度高:计算 EMD 需要求解最优运输问题,其时间复杂度较高,尤其是当点集较大时。
- 优化困难:在实际应用中,EMD 的优化难度较大,需要借助特殊的算法或近似计算方法。
Hausdorff Distance (HD)
Hausdorff Distance 衡量两个点集之间的最大差异,关注的是一个点集中离另一个点集最远的点距离。这种度量方法特别适合评估形状的全局差异。
计算公式:
- 计算点集 A 到 B 和 B 到 A 的最大距离。
特点:
- 关注最大距离(最坏情况),对局部差异非常敏感。
- 对噪声非常敏感,因为一个离群点可能导致非常大的距离。
Root Mean Square Error (RMSE)
RMSE 是一种广泛应用于统计中的度量方法,用于评估预测值与真实值之间的偏差。在三维形状分析中,RMSE 可用于评估形状重建或配准结果的误差。
计算公式:
- 计算形状 AAA 和 BBB 之间的点对点距离误差的平方和的均值。
特点:
- 直接衡量预测形状与真实形状之间的点对点差异。
- 易受离群点影响,对大误差敏感。
网格
Surface-to-Surface Distance
Surface-to-Surface Distance 是针对三维网格表面差异的一种度量方法,常用于比较两个网格或三角面片之间的差异。
1. 定义
Surface-to-Surface Distance 的核心思想是,给定两个三维表面(例如由三角形网格定义的几何形状),通过计算一个表面上的每个点到另一个表面的最小距离来量化它们的差异。
这类距离度量适合用于几何处理任务中,如计算机图形学、CAD(计算机辅助设计)、医学图像分割和模型简化等应用场景。与点云的度量方式不同,它专注于网格或表面之间的局部几何差异。
计算 Surface-to-Surface Distance 的方式可以有多个步骤,典型方法如下:
表面采样
- 在第一个表面(网格)上选取一系列采样点,通常是在网格的顶点或等间距网格采样点。
计算每个采样点的最近距离
- 对每个采样点,计算它到另一个表面的最近距离。通常使用欧氏距离来度量该点到另一表面上各个三角形的最短距离。
平均或最大化距离
- 这些距离可以通过不同的方式总结:
- 平均距离(Average Distance):计算所有采样点到另一个表面的最小距离的平均值。
- 最大距离(Max Distance):关注最大误差,计算所有采样点到另一个表面的最小距离中的最大值。
- Hausdorff Distance:这是一种特殊的最大距离,考虑两个方向的最大差异,即从一个表面的任意点到另一个表面最远的距离,并在这两个最大值中取更大的那个。
4. 双向计算
- 为了更全面地比较两个表面之间的差异,通常需要进行双向距离计算,即:
- 从第一个表面到第二个表面的距离。
- 从第二个表面到第一个表面的距离。
- 这样可以避免只关注一个方向的误差,确保比较结果更全面。
平面
IoU 也可以用。
Procrustes Distance
Procrustes Distance 用于衡量两个形状之间的形态差异,特别适用于形状对齐问题。它通过旋转、缩放和平移一个形状,以最小化其与另一个形状的差异。
计算步骤:
- 对齐两个形状(即通过旋转、缩放和平移将它们匹配)。
- 计算对齐后形状点之间的欧氏距离平方和。
特点:
- 考虑了形状的全局对齐,适合用于配准问题。
- 需要预先对齐形状,计算复杂度相对较高。
L2 Distance (Euclidean Distance)
欧氏距离 (L2 Distance) 是最简单的距离度量方法,直接计算两个点集的每个点之间的欧氏距离并取平均值。对于点云匹配来说,这是最基础的度量方式。
计算公式:
- A和 B为两个点集,直接计算对应点的欧氏距离。
特点:
- 计算简单,适合用于小规模点云。
- 对点的匹配非常敏感,特别是当点集数量不匹配或形状有噪声时效果不佳。
Cosine Similarity
余弦相似性 是衡量两个向量方向相似性的一种度量方法,可以用于比较形状特征向量的相似度。它主要用于形状特征空间中的比较。
计算公式:
- 计算点集或形状特征向量的夹角余弦值。
特点:
- 适用于比较高维特征向量的相似度,而不是直接对点云进行匹配。
- 对向量的尺度不敏感,但对方向敏感。