3d - 平面分割和平面拟合的区别

标签 3d plane model-fitting ransac

我最近正在进行一个项目,我必须在 3D 网格中检测墙壁、地板和天花板。经过一些研究后,我已经能够使用 RANSAC 算法检测地板和墙壁的某些部分。我只是想知道是否有人能够解释平面拟合和平面分割之间的区别,因为它们似乎都会产生包含地板的点云?

最佳答案

平面拟合通常被理解为基于纯最小二乘的拟合技术,其中从点集到平面方程的距离被最小化。可以通过多种方式制定这种优化,但最实用的一种是协方差矩阵的简单 SVD 分析。

平面分割更多地可以被认为是拟合问题的一个实例,其中数据中存在大量异常值。事实上,要分割的平面可能只是点集的一小部分。此外,可能存在不同方向的多个平面。最后,分割问题可能不一定要搜索平面方程,而是涉及找出共同位于一个平面上的点或位于多个平面上的多组点。尽管如此,许多旨在做到这一点的算法隐式地使用了一些几何或代数异常值处理的拟合技术,例如 RANSAC、霍夫变换、鲁棒范数等。

了解平面检测只能达到一定的精度也很重要。找出哪些点位于特定平面上是一个不同的问题,有时比仅仅取出一堆距离平面足够近的点更复杂。

对于识别墙壁、天花板等的情况,需要拟合和分割技术。

关于3d - 平面分割和平面拟合的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35774730/

相关文章:

javascript - THREE.js - 旋转移动 3D 球

scala - 为什么我的透视图实现无法显示多维数据集的面孔?

Android,更改手机的配置文件

r - 为什么 do(lm...) 和 geom_smooth(method ="lm") 之间有区别?

sas - 用于拟合连续(正支持)分布的 Proc 单变量和 Proc 严重性之间的差异

opengl - 为什么具有 Opengl 3.0 上下文的 SFML 会绘制两次?

python - 加速 Dijkstra 的算法来解决 3D 迷宫

java - 平面上的一组点

algorithm - 最小化 K 切割后最大组的大小

r - 如何估计R中散点图的最佳拟合函数?