Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 活动形状模型:将模型点与目标点匹配_Python_Algorithm_Opencv_Image Processing_Matching - Fatal编程技术网

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

Python 活动形状模型:将模型点与目标点匹配,python,algorithm,opencv,image-processing,matching,Python,Algorithm,Opencv,Image Processing,Matching,我有一个关于活动形状模型的问题。我使用的是T.库茨的论文(可以找到) 我已经完成了所有的初始步骤(Procrustes分析来计算平均形状,PCA来减少尺寸),但我仍然坚持拟合 这就是我现在所处的情况:我已经用点X计算了平均形状,还计算了一组新的点Y,该点X应该移动,以更好地适合我的图像 我使用的算法如下,可在先前链接的论文第23页找到: 澄清:是使用Procrustes分析计算的平均形状,是包含使用PCA计算的特征向量的矩阵 到第4步,一切都进展顺利。我可以计算姿势参数并将变换反转到点Y

我有一个关于活动形状模型的问题。我使用的是T.库茨的论文(可以找到)

我已经完成了所有的初始步骤(Procrustes分析来计算平均形状,PCA来减少尺寸),但我仍然坚持拟合

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

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



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

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

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

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

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


编辑:我有更多的理由,虽然没有解释或解决办法。如果在步骤5中,我手动将y'设置为仅由零组成,则在步骤6中,b等于特征向量与均值形状相乘的矩阵。这导致了我总是得到相同的b(因为y'总是一个值很低的向量)

但这些特征向量是使用PCA从平均形状计算出来的。。。所以我们期望的是,不应该发生任何变化,对吗



您可以检查的是您的坐标是否正确缩放:该算法假设所有坐标都已缩放,以便平均形状向量具有欧几里德范数1。如果不是这样(特别是如果它比一大得多,你会得到非常小的y分量)