vendredi 29 mai 2015

Active Shape Models: matching model points to target points

I have a question regarding Active Shape Models. I am using the paper of T. Coots (which can be found here.)

I have done all of the initial steps (Procrustes Analysis to calculate mean shape, PCA to reduce dimensions) but am stuck on fitting.

This is the situation I am in now: I have calculated the mean shape with points X and have also calculated a new set of points Y that X should move to, to better fit my image.

I am using the following algorithm, which can be found on page 23 of the paper previously linked:


enter image description here


To clarify: is the mean shape calculated with Procrustes Analysis, and the is the matrix containing the eigenvectors calculated with PCA.

Everything goes well up to step 4. I can calculate the pose parameters and invert the transformation onto the points Y.

However, in stap 5, something strange happens. Whatever the pose parameters are calculated in stap 3 and applied in stap 4, stap 5 always results in almost exactly the same vector y' with very low values (one of them being 1.17747114e-05 for example). (So whether i calculated a scale of 1/10 or 1/1000, y' barely changes).

This results in the algorithm always converging to the same value of b, and thus in the same output shape x, no matter what the input set of target points Y are that I want the model points X to match with.

This sure is not the goal of the algorithm... Could anyone explain this strange behaviour? Somehow, projecting my calculated vector y in step 4 into the "tangent plane" does not take into account any of the changes made in step 4.


Edit: I have some more reasoning, though no explanation or solution. If, in step 5, i manually set y' to consist only of zeros, then in step 6, b is equal to the matrix of eigenvectors multiplicated by our meanshape. And this results in the same b I always get (since y' is always a vector with very low values).

But these eigenvectors are calculated from the meanshape using PCA... So what's expected, is that no change should take place, I think?


Aucun commentaire:

Enregistrer un commentaire