La normalisation est fondamentalement un préconditionnement pour diminuer le nombre de conditions de la matrice (plus le nombre de conditions est grand, plus la matrice est proche de la matrice singulière).UNE
La transformée de normalisation est également représentée par une matrice dans le cas de l'estimation d'homographie, ce qui peut être utilisé comme une bonne matrice de préconditionneur. La raison en est plus élaborée et est expliquée brièvement dans le livre H&Z (4.4.4, p. 107: Pourquoi la normalisation est-elle essentielle? ) Ou plus en détail dans l'article " En défense de l'algorithme à huit points" ".
En termes simples, la matrice est constituée de produits de coordonnées d'image qui peuvent avoir des échelles différentes. Si l'échelle diffère d'un facteur , les produits diffèrent d'un facteur .UNEdixdix2
Les données de coordonnées source et cible sont généralement bruyantes . Sans normalisation, les données de la source pourraient avoir une variance de deux ordres de grandeur plus grande que celle de la cible (ou vice versa).
L'estimation d'homographie trouve généralement des paramètres dans le sens des moindres carrés - par conséquent, la meilleure estimation statistique n'est trouvée que si les variances des paramètres sont les mêmes (ou connues à l'avance, mais il est plus pratique de normaliser simplement l'entrée).
Les solveurs directs n'aiment pas les problèmes mal mis à l'échelle car des instabilités numériques apparaissent (par exemple, la division d'un très grand nombre par un très petit nombre conduit facilement à un débordement numérique).
Les solveurs itératifs luttent avec des matrices mal conditionnées en nécessitant plus d'itérations.
La normalisation est donc essentielle non seulement pour la stabilité numérique, mais aussi pour une estimation plus précise en présence de bruit et une solution plus rapide (en cas de solveur itératif).
L'article de Wikipedia déclare:
"Ce qui rend le problème de transformation linéaire directe distinct ... c'est le fait que les côtés gauche [X] et droit [AY] de l'équation de définition [X = AY] peuvent différer d'un facteur multiplicatif inconnu qui dépend de k"
Dans les X, A, Y ci-dessus sont des matrices.
Donc, pour éviter d'avoir à estimer le facteur, il vous suffit de normaliser toutes les données dont vous disposez.
la source
C'est une question de précision numérique. En normalisant l'ensemble de données, vous centrez vos données et leur donnez la variance unitaire. Ces conditions sont alors mieux gérées par le solveur.
la source