Modélisation fragmentée L'algorithme d'apprentissage du dictionnaire du chapitre 12 a été implémenté dans jupyter notebook. Lien vers le notebook jupyter
Environ 25 000 patchs 8x8 ont été extraits de Barbara et l'apprentissage du dictionnaire a été effectué.
Dictionnaire DCT séparable bidimensionnel comme valeur initiale Dictionnaire appris des correctifs par la méthode K-SVD
L'apprentissage du dictionnaire a réduit l'erreur d'expression éparse.
Représenter de façon parcimonieuse $ y_i $ avec $ x_i $ où seuls les éléments $ k_0 $ sont non nuls.
\min_{A,\{x_i\}^{M}_{1}} \Sigma_{i=1}^{M} ||y_i-Ax_i|| \text{ subject to } ||x_{i}||_0 \leq k_{0}, 1 \leq i \leq M
Comme $ k = 0 $
Est. À l'exception du premier atome, la moyenne est soustraite et le produit de Kronecker
Un dictionnaire initial a été généré à l'aide de.
Définissez $ k \ leftarrow k + 1 $ et effectuez les étapes suivantes.
\hat{x_{i}} = \arg \min_{x} ||y_{i} - Ax||_{2}^{2} \text{ subject to } ||x||_{0} \leq k_{0}
Ensuite, nous obtenons le vecteur de représentation éparse $ \ hat {x} _ {i} $ pour $ 1 \ leq i \ leq M $. Utilisez-les pour construire la matrice $ X $.
Définissez un ensemble de cas utilisant atom $ a_ {j_ {0}}
Calculez la matrice résiduelle.
Extrayez uniquement la colonne correspondant à $ \ Omega_ {j_ {0}} $ de $ E_ {j_ {0}} $ et définissez-la comme $ E_ {j_ {0}} ^ {R} $.
Appliquez $ SVD $ et définissez $ E_ {j_ {0}} ^ {R} = U \ Delta V $. Et l'atome $ a_ {j_ {0}} = u_ {1} $ du dictionnaire, le vecteur d'expression est $ x_ {j_ {0}} ^ {R} = \ Delta [1, 1] v_ {1} ^ {T } Mettre à jour en tant que $.
*Condition d'arrêt: Si
Obtenez le résultat $ A $.
Recommended Posts