首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >长方体用RANSAC

长方体用RANSAC
EN

Stack Overflow用户
提问于 2014-10-28 15:56:52
回答 1查看 2K关注 0票数 4

我已经成功地实现了三维点云上的RANSAC,用于通常的模型,即球面、线、平面。然而,我有一个困难的时间包装我的头如何做长方体,特别是一个三维的盒子。我不知道如何用点来参数化这个盒子。

理想情况下,我希望获得长度、宽度、高度和中心作为我的参数(Theta)。我很困惑如何使用立方体表面三维点云中的最小点数来拟合这些参数。(我还将获得点法线)。

例如,我最终想估计立方体的6个面。我只需要估计三个,然后用它们的平行镜像来得到所有的6个,每个面大概都会被表示成一个平面,它需要一个点和一个法线来定义(或者另外3点)。然而,每个平面的法线都有约束,因为它们都需要互相正交。我不知道如何在模型估计中包含约束,或者这是否是正确的方法。

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-10-28 16:03:12

如果我要设计一个算法来解决这个问题(将一个立方体与立方体的点云进行拟合),我将把它分成两个步骤:

  1. 使用一些聚类算法来找出六个聚类,每个聚类一个脸。在算法执行过程中,我需要六个“候选”区域,每个点都被认为是属于一个人脸聚类,或者是一个孤立点。DBSCAN的一些改进形式似乎是一种合适的选择;
  2. 在每张脸上应用一些贴合,很可能是RANSAC,因为这是你已经在使用的。

如果已知立方体的预期大小,您可以将每个点插入到KDTree中,并查询球面的相邻点,其半径刚好低于一个面的大小,检查平面性(注意到主成分)。然后你最终会为六个面部中心找到一个很好的近似候选人。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26612854

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档