Un noyau \(K\) de taille \(k \times k\) est dit séparable s’il peut s’écrire comme le produit extérieur de deux vecteurs : \[K = \mathbf{v} \cdot \mathbf{h}^\top,\] où \(\mathbf{v} \in \mathbb{R}^k\) est un vecteur colonne et \(\mathbf{h} \in \mathbb{R}^k\) un vecteur ligne. Dans ce cas, appliquer \(K\) revient à effectuer deux convolutions 1D successives : d’abord \(\mathbf{h}\) horizontalement, puis \(\mathbf{v}\) verticalement.
On considère le noyau gaussien \(3 \times 3\) : \[K_g = \frac{1}{16}\begin{pmatrix}1&2&1\\2&4&2\\1&2&1\end{pmatrix}.\]
Vérifier que \(K_g\) est séparable en trouvant \(\mathbf{v}\) et \(\mathbf{h}\) tels que \(K_g = \mathbf{v} \cdot \mathbf{h}^\top\).
Soit une image de taille \(N \times N\) et un noyau de taille \(k \times k\). Comparer le nombre de multiplications pour appliquer \(K_g\) en 2D directement versus en deux passes 1D successives. Quel est le gain ?
Le noyau Sobel \(K_C = \begin{pmatrix}-1&0&+1\\-2&0&+2\\-1&0&+1\end{pmatrix}\) est-il séparable ? Si oui, trouver sa décomposition.