- #1
zokos
- 3
- 0
Hi everyone,
I have the following problem. Suppose I have a set of n>3 point pairs ( (x,y)->(x',y') ). From this set I can create an overdetermined linear system and using for example least squares compute an affine transformation that when applied to (x,y) gives us (x',y') within an error.
So for example let's say that least squares method gave us an affine transformation (A,T) where A is a linear transformation and T a translation vector. This affine transformation when applied to (x,y) will map it to (x'',y'') that is different to (x',y'). That is:
[x'';y''] = A * [x;y] +T (the semicolon means different row)
now the error of the computed transformation is the euclidean distance between (x',y') and (x'',y''). Let's say this distance d. I have an intuition that this distance should be normalized with something to be more representative of the failure or success of the computed transformation, but I don't know what that should be.
This thought came to me when thinking the simpler case of an euclidean transformation consisting of a rotation R and translation T. In this case point correspondences that are further from the transformation center are expected to have greater error than point close to the center. So in this case I could maybe divide the error with the distance of (x,y) from the transformation center. This transformation center could be easily computed as an eigenvector of the rotation matrix.
Now in the more general affine case is there something similar to do?
Any comment,solution,link is really welcome,
many thx,
zokos
I have the following problem. Suppose I have a set of n>3 point pairs ( (x,y)->(x',y') ). From this set I can create an overdetermined linear system and using for example least squares compute an affine transformation that when applied to (x,y) gives us (x',y') within an error.
So for example let's say that least squares method gave us an affine transformation (A,T) where A is a linear transformation and T a translation vector. This affine transformation when applied to (x,y) will map it to (x'',y'') that is different to (x',y'). That is:
[x'';y''] = A * [x;y] +T (the semicolon means different row)
now the error of the computed transformation is the euclidean distance between (x',y') and (x'',y''). Let's say this distance d. I have an intuition that this distance should be normalized with something to be more representative of the failure or success of the computed transformation, but I don't know what that should be.
This thought came to me when thinking the simpler case of an euclidean transformation consisting of a rotation R and translation T. In this case point correspondences that are further from the transformation center are expected to have greater error than point close to the center. So in this case I could maybe divide the error with the distance of (x,y) from the transformation center. This transformation center could be easily computed as an eigenvector of the rotation matrix.
Now in the more general affine case is there something similar to do?
Any comment,solution,link is really welcome,
many thx,
zokos