Régression linéaires et moindres carrés en traitement des images

FondamentalRé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

ExempleRecherche 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}\)

RemarqueOrdre 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.

FondamentalRé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}\)