云云距离可以通过选择两个点云,然后点击该按钮来计算 icon。有关详细信息,请参阅(“云到云距离计算 ”)
工具部分。
计算两个点云之间距离的默认方式是“最近邻距离”:对于比较云中的每个点,CloudCompare搜索参考云中的
最近点并计算它们的(欧几里得)距离。这对应于(默认)情况,其中本地模型设置为“NONE”。
局部建模
当参考点云足够密集时,估算被测点云与参考表面的距离尚可接受。但若参考点云密度不足,最近邻距离的计
算精度就会大打折扣。此时就需要建立更精确的表面模型。当然,若能轻松获取表面的全局模型,直接计算被
测点云与该模型的距离会更简单且可能更准确(详见下文「( 云-网格距离 )」章节)。但现实中构建清晰完
整的全局模型往往困难重重。为此,CloudCompare提供了折中方案——通过中间计算方法来更精准地估算参
考表面的真实距离。虽然精度不及完整全局模型,但运算效率显著提升。
当CloudCompare确定了参考云中最接近的点后,其核心思路是通过在该“最近”点及其若干邻近点上建立数学
模型,对参考云(底层)表面进行本地化建模。此时,被比较云中每个点到其最近邻点的距离,都将被替换为
到该模型的距离。这种处理方式在统计精度上更具优势,且较少受云采样影响(虽然在局部区域可能产生疑
似异常 结果——由于建模范围受限,但整体效果显著提升)。
使用最新版本的CloudCompare,用户可以通过选择以下方式来完全设置作业的执行方式:
数学模型:最小二乘最佳拟合平面、二维1/2Delaunay三角剖分或二次高度 函数(后者精度更高,但计算耗
时较长)
在参考云中每个“最近”点周围提取邻居的方式(通过设置固定数量的邻居,或通过提供球形邻域的半
径)
最终,用户可以选择采用该方案的近似方法——通过与参考云中的多个点共享相同的局部模型,而非为
每个点单独计算新模型。这种方式处理速度更快(尤其在处理大型邻域时),但也会产生更多噪声。
未使用(左)和使用局部建模(右)。请注意,最大距离没有变化,而直方图的下半部分明显向零偏移。
一般性考虑
当直接比较两个点云时(特别是没有模型时),这里有一些“指导方针”:
确保参考云的范围比被比较的云更宽(以避免边界上出现虚拟上的高距离)。更广泛地说,应确保参考云始终与被比较的云重叠(这也适用于云-网格距离)。
始终尝试为参考云获取尽可能高的密度(因为它将直接改变结果的准确性)
如果参考云非常嘈杂,考虑使用最小二乘最佳拟合平面模型(对噪声更稳健)。相反,如果参考云干净但曲率高,则考虑使用二次高度函数。其他选项
CloudCompare可以沿着三个主要维度(X、Y和Z)分割计算的距离。如果选中“分割X、Y和Z分量 ”复选框,CloudCompare将为每个轴生成三个额外的标量场。
其他选项
CloudCompare可以沿着三个主要维度(X、Y和Z)分割计算的距离。如果选中“分割X、Y和Z分量 ”复选框,CloudCompare将为每个轴生成三个额外的标量场。
最后编辑:刘浩男 更新时间:2025-09-12 17:59