所以我有一个iterative closest point(ICP)算法,它已被编写并将适合点云模型。作为不熟悉ICP的人员的快速教程,它是一种简单的算法,它适用于最终在模型和点之间提供均匀变换矩阵的模型。保证ICP,内部指标
这是一个快速图片教程。
第1步:查找模型设置为您的数据集的最近点:
步骤2:用一堆有趣的数学(有时是基于gradiant血统或SVD)的拉云密切协作,并重复直到姿势形成:
[图2] [2]
现在有点简单的工作,我想帮助的是: 我如何告诉,如果我有姿势是一个好的?
所以目前我有两个想法,但他们那种哈克:
很多点是如何在ICP算法。也就是说,如果我适合几乎没有分数,我认为姿势会很糟糕:
但是如果姿势真的很好呢?这可能是,即使有几点。我不想拒绝好姿势:
所以,我们在这里看到的是,较低的点实际上可以使一个很好的位置,如果他们是在正确的地方。
所以研究的另一个度量是提供的点与使用点的比率。这里有一个例子
现在我们exlude是太遥远了点,因为他们会离群,现在这意味着我们需要对ICP工作一个很好的起点位置,但我确定这一点。现在,在上面的例子中保证会说NO,这是一个糟糕的姿势,这将是正确的,因为分VS包括分比为:
2/11 < SOME_THRESHOLD
因此多数民众赞成好,但它的情况下失败如上图所示,三角形倒置。它会说倒三角形是好的,因为所有的点都被ICP使用。
你不需要需要成为ICP专家来回答这个问题,我正在寻找好主意。使用知识点我们如何分类它是否是一个好的姿势解决方案?
同时使用这两种解决方案是一个很好的建议,但如果你问我,这是一个非常糟糕的解决方案,非常愚蠢,只是它的门槛。
如何做到这一点有什么好点子?
PS。如果你想添加一些代码,请为它。我正在使用C++。
PPS。有人帮我标记这个问题,我不知道它应该落在哪里。
如何定义姿势?线段? – FoolishSeth
作为一个齐次变换矩阵。 –
出于好奇,你有没有找到解决方案?你用过答案中提供的东西,还是想出了你自己的东西? – Andrei