gpt4 book ai didi

algorithm - 长方体的 RANSAC

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:24:35 27 4
gpt4 key购买 nike

我已经能够在 3D 点云上为常用模型(即球体、线、平面)成功实现 RANSAC。然而,我很难思考如何为一个长方体做这件事,特别是一个 3d 盒子。我不确定如何使用点来参数化框。

理想情况下,我希望获得长度、宽度、高度和中心作为我的参数 (Theta)。我对如何使用立方体表面的 3D 点云中的最小数量的点来拟合这些参数感到困惑。 (我也可以访问点法线)。

比如我最终想估计立方体的6个面。我可以只估计三个,然后用它们的平行镜得到所有 6 个。每个面大概都表示为一个平面,需要一个点和一个法线来定义(或者 3 个点)。然而,每个平面的法线都有限制,因为它们都需要彼此正交。我不确定如何在模型估计中包含约束,或者这是否是正确的方法。

任何想法将不胜感激。我目前正在使用 Marco Zuliani 的“RANSAC for Dummies”工具箱实现,如果它完全相关的话。

最佳答案

如果我要设计一种算法来解决这个问题(将立方体拟合到立方体的点云),我会将其分为两个步骤:

  1. 使用某种聚类算法找到六个聚类,每个聚类对应一张脸。在算法执行过程中,我需要六个“候选”区域,每个点都将被视为属于其中一个面部聚类,或者被视为异常值。 DBSCAN 的一些修改形式似乎是一个合适的选择;
  2. 对每张脸进行一些调整,很可能是 RANSAC,因为您已经在使用它。

如果立方体的预期大小已知,您可以将每个点插入 KDTree,并查询半径刚好小于一个面的大小的球体附近,检查平面度(想到主成分)。然后您最终会找到六个面部中心的良好近似候选者。

关于algorithm - 长方体的 RANSAC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26612854/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com