Régression linéaires et moindres carrés en traitement des images
Fondamental : Régression linéaire à dans le plan
Soient m observations \(x_i,y_i\). On veut trouver une relation linéaire par rapport à \(p_0\) et \(p_1\) telle que : \(y=p_0+p_1x\)
L'équation précédente peut se mettre, pour l'ensemble des données x_i,y_i, sous forme matricielle :
\(\begin{bmatrix}y_1\\y_2\\...\\y_m\end{bmatrix}=\begin{bmatrix}1&x_1\\1 & x_2\\...\\1 & x_m\end{bmatrix}\begin{bmatrix}p_0\\p_1\end{bmatrix}\)
\(Y=MP\)
la matrice M est rectangulaire donc non inversible. Pour trouver p résoudre ce système, on multiplie chaque membre par la transposé de M :
\(M'Y=M'MP\)
M'M est une matrice carrée donc inversible. L'expression de p est alors :
\(P=(M'M)^{-1}M'Y\)
La matrice \((M'M)^{-1}M'\) est la pseudoinverse de la matrice rectangulaire M
Exemple : Recherche d'une cubique passant par 3 points
Notre modèle \(y=p_0+p_3x^3\)
\(\begin{bmatrix}y_1\\y_2\\...\\y_m\end{bmatrix}=\begin{bmatrix}1&x_1^3\\1 & x_2^3\\...\\1 & x_m^3\end{bmatrix}\begin{bmatrix}p_0\\p_3\end{bmatrix}\)
Nos mesures sont, sous la forme \((x_i,y_i)\) :
(1,5) (2 ,8) (3,7)
La matrice M est donc
\(M=\begin{bmatrix}1 &1\\2 & 1 \\3 & 1 \end{bmatrix}\)
Avec Scilab la pseudoinverse est
\((M'M)^{-1}M'=\begin{bmatrix}-1/2 & 0 & 1/2 \\ 4/3 & 1/3 & -2/3\end{bmatrix}\)
Remarque : Ordre des paramètres dans le modèle
Au lieu de \(y=p_0+p_3x^3\), on peut écrire \(y=p_3x^3 + p_0\) on aura alors :
\(\begin{bmatrix}y_1\\y_2\\...\\y_m\end{bmatrix}=\begin{bmatrix}x_1^3 &1\\ x_2^3 &1\\...\\x_m^3 &1\end{bmatrix}\begin{bmatrix}p_3\\p_0\end{bmatrix}\)
Les calculs seront identiques , mais le résultat dans l'ordre inverse : il faut simplement se souvenir de l'ordre.
Fondamental : Régression linéaire dans un volume
Soient m observations \(x_i,y_i,z_i\). On veut trouver une relation linéaire par rapport à \(p_0\),\(p_1\) et \(p_2\) telle que : \(z=p_0+p_1x+p_2y\)
Z=MP avec
\(Z = \begin{bmatrix}z_1\\z_2\\...\\z_m\end{bmatrix}\) et
\(M = \begin{bmatrix}1&x_1 & y_1\\1 & x_2 & y_2\\...\\1 & x_m &y_m\end{bmatrix}\) et enfin
\(P=\begin{bmatrix}p_0\\p_1\\p_2\end{bmatrix}\)