我对Active Shape Models有疑问。我正在使用T. Coots的论文(可以找到here。)
我已经完成了所有的初始步骤(Procrustes Analysis计算平均形状,PCA以减小尺寸),但我仍坚持使用。
这就是我现在的情况:我用点 X 计算了平均形状,并计算了一组新的 Y X 应该移动到,以更好地适应我的形象。
我使用的是以下算法,可以在之前链接的论文的第23页找到:
澄清:是使用Procrustes Analysis计算的平均形状,是包含使用PCA计算的特征向量的矩阵。
一切顺利到第4步。我可以计算姿势参数并将转换反转到 Y 点。
然而,在第5版中,发生了一些奇怪的事情。无论在装订3中计算的姿势参数是什么,并且在装订4中应用,装订5总是产生几乎完全相同的矢量 y' ,其值非常低(其中一个为1.17747114e-05,例)。 (所以我是否计算了1/10或1000的比例, y' 几乎没有变化)。
这导致算法总是收敛到 b 的相同值,因此在相同的输出形状 x 中,无论目标点的输入集是什么< strong> Y 是我希望模型点 X 匹配。
这肯定不是算法的目标......任何人都可以解释这种奇怪的行为吗?不知何故,将我在步骤5 中计算出的矢量 y 投影到&#34;切线平面&#34;没有考虑第4步中所做的任何更改。
编辑:我有更多的推理,但没有解释或解决方案。如果在步骤5 中,我手动将 y&#39; 设置为仅包含零,则在步骤6 中 b < / strong>等于特征向量的矩阵,乘以meanshape 。这导致我总是得到相同的b(因为 y&#39; 总是一个具有非常低值的向量)。
但是这些特征向量是通过使用PCA的平均形状来计算的...所以,预期的是,不应该发生任何变化,对吧?
答案 0 :(得分:0)
你可以检查的是你的坐标是否正确缩放:算法假定所有坐标都被缩放,以便平均形状向量具有欧几里德范数1。如果不是这种情况(特别是如果它比一个大得多,你将获得非常小的组件)。