I'm reading an article about Direct Linear Transformation which processes data using SVD, and the data set is standardized so that it has zero mean and unit standard deviation (n.b., some people call this transformation 'normalized').

In that article, it is said that for numerical reasons, the data set has to be normalized to make sure the DLT algorithm stable.

I wonder what are those numerical reasons? Does it mean if I have 2 data sets of the same objects, if no standardization is done, the DLT algorithm will give out 2 numerically different results?


In computer vision, Direct Linear Transform (DLT for short) is a method of homography estimation, it solves the overdetermined linear system via SVD $$Ah=b$$to find a solution $h$ under constraint $\|h\|=1$. Actually it finds the least square solution which minimize $\|Ah - b\|$.

I understand the basic idea of this algorithm, but it is recommended to standardize the data set before applying DLT on it, and here is a intro about how to do the standardization. It is lectured that data standardization is important to DLT, without standardization the results from DLT are not stable, and the reason is that DLT is quite dependent on the coordinates of the points in the data set.

I wonder why? Just because DLT involves solving the linear system using SVD and $A$ might be singular?

  • 1
  • $\begingroup$ @Macro, I read some of the answers in the possible duplicates, still don't get what's the numerical reasons for data normalization or standardization. $\endgroup$ – avocado Sep 26 '13 at 14:03
  • $\begingroup$ if you can make this question more precise - with more background - then it's likely it would not be a duplicate and could be reopened. For example, it's not clear what the context is and what is exactly is being standardized. I can say that computation of the SVD (assuming this means singular value decomposition) of a matrix requires doing an eigendecomposition of the matrix, which I understand is less stable when the entries are on a very large or small scale. I could be wrong and, if not, I don't know enough about it to explain why, so someone else would be better able to help you. $\endgroup$ – Macro Sep 26 '13 at 14:35
  • $\begingroup$ @Macro, I tried to figure out the problem myself, but I failed. So I come back again, updating the post with more details, hoping you or someone can help me with it. $\endgroup$ – avocado Sep 28 '13 at 10:57
  • $\begingroup$ I changed the word "normalized" to "standardized", which is a more common name for setting the mean=0 & sd=1, although nomenclature can vary. I think this will help people recognize more quickly / clearly what you're asking. For more on these terms, you may want to read my answer here: how-to-verify-a-distribution-is-normalized? $\endgroup$ – gung - Reinstate Monica Sep 28 '13 at 14:59

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.