活动形状模型:将模型点与目标点匹配

Posted

技术标签:

【中文标题】活动形状模型:将模型点与目标点匹配【英文标题】:Active Shape Models: matching model points to target points 【发布时间】:2015-08-12 05:30:07 【问题描述】:

我有一个关于 Active Shape 模型的问题。我正在使用 T. Coots 的论文(可以找到 here。)

我已经完成了所有的初始步骤(Procrustes 分析来计算平均形状,PCA 来减小尺寸),但是我一直在试穿。

这就是我现在所处的情况:我已经用点 X 计算了平均形状,并且还计算了 X 的一组新点 Y 应该移动到,以更好地适应我的形象。

我正在使用以下算法,可以在之前链接的论文的第 23 页找到:



澄清一下: 是使用 Procrustes 分析计算的平均形状, 是包含使用 PCA 计算的特征向量的矩阵。

第 4 步一切顺利。我可以计算姿势参数并将变换反转到点 Y

但是,在第 5 步中,发生了一些奇怪的事情。无论在步骤 3 中计算姿势参数并在步骤 4 中应用,步骤 5 总是产生几乎完全相同的向量 y' 具有非常低的值(例如,其中一个是 1.17747114e-05) . (所以无论我计算的比例是 1/10 还是 1000,y' 几乎没有变化)。

这导致算法总是收敛到相同的 b 值,因此无论输入的目标点集是什么,都具有相同的输出形状 x Y 是我希望模型点 X 与之匹配的。

这肯定不是算法的目标......谁能解释这种奇怪的行为?不知何故,将我在步骤 5 中计算出的向量 y 投影到“切平面”并没有考虑到步骤 4 中所做的任何更改.


编辑:我有更多的推理,虽然没有解释或解决方案。如果在第 5 步中,我手动将 y' 设置为仅包含零,那么在第 6 步中,b 等于 特征向量乘以均值形状的矩阵。这导致我总是得到相同的 b (因为 y' 总是一个具有非常低值的向量)。

但是这些特征向量是使用 PCA 从均值形状计算出来的......所以可以预期的是,不会发生任何变化,对吧?


【问题讨论】:

【参考方案1】:

您可以检查的是您的坐标是否正确缩放:该算法假定所有坐标都已缩放,因此平均形状向量具有欧几里得范数。如果不是这种情况(特别是如果它远大于 1,您将得到 y 的极小分量)。

【讨论】:

以上是关于活动形状模型:将模型点与目标点匹配的主要内容,如果未能解决你的问题,请参考以下文章

halcon3d匹配好用吗

将GIS点与ESRI形状文件中的多边形匹配

点云处理基于深度学习模型的不同处理方式

ValueError:检查目标时出错:预期(keras 序列模型层)具有 n 维,但得到的数组具有形状

如何在 Threejs 中绘制开口曲线形状

匹配目标光谱