我已经成功地在三维点云上实现了RANSAC算法,可以处理常见的模型,如球体、线段和平面。然而,我很难理解如何在立方体(特别是三维盒子)上应用该算法。我不确定如何使用点来参数化盒子。
理想情况下,我希望以长度、宽度、高度和中心作为参数(Theta)进行拟合。但是,我对如何使用尽可能少的点从立方体表面的三维点云中拟合这些参数感到困惑(我也将有访问点法线的权限)。
例如,最终我想要估计立方体的6个面。我可以只估计其中3个并取它们的平行镜像来得到所有6个面。每个面都将被表示为一个平面,它需要一个点和一个法向量来定义(或者是3个点)。然而,每个平面的法向量都有约束条件,因为它们都需要相互垂直。我不确定如何在模型估计中包含约束条件,或者这是否是正确的方法。
如果您有任何想法,将不胜感激。我目前正在使用Marco Zuliani的“RANSAC for Dummies”工具箱实现,如果这相关,请告诉我。
理想情况下,我希望以长度、宽度、高度和中心作为参数(Theta)进行拟合。但是,我对如何使用尽可能少的点从立方体表面的三维点云中拟合这些参数感到困惑(我也将有访问点法线的权限)。
例如,最终我想要估计立方体的6个面。我可以只估计其中3个并取它们的平行镜像来得到所有6个面。每个面都将被表示为一个平面,它需要一个点和一个法向量来定义(或者是3个点)。然而,每个平面的法向量都有约束条件,因为它们都需要相互垂直。我不确定如何在模型估计中包含约束条件,或者这是否是正确的方法。
如果您有任何想法,将不胜感激。我目前正在使用Marco Zuliani的“RANSAC for Dummies”工具箱实现,如果这相关,请告诉我。