Implémentation du chapitre 14 "Suppression du bruit d'image" dans la modélisation fragmentée.
A été comparé.
carnet ch14-01.ipynb ch14-02.ipynb ch14-03.ipynb ch14-04.ipynb ch14-05.ipynb
Les nombres sont [rapport signal / bruit de crête (PSNR)](https://ja.wikipedia.org/wiki/peak rapport signal / bruit) [db]
K-SVD Bien que cela prenne beaucoup de temps de calcul, NL-means , BM3D était plus fort et envahi par la végétation. Peut-être que c'est implémenté ...
Un bruit gaussien de σ = 20 a été ajouté à Barbara et utilisé comme image de test. Le bruit a été supprimé par chaque méthode.
Une conversion en ondelettes a été effectuée et un traitement de seuil strict a été effectué. Les performances ont changé en fonction du seuil.
Un patch 8x8 a été extrait de l'image. Le patch a été converti en DCT et soumis à un seuil strict. La moyenne des patchs qui se chevauchent a été prise. Les performances ont changé en fonction du seuil.
Le traitement de seuil peut être considéré comme une courbe montrant la relation entre la valeur d'entrée et la valeur de sortie. La courbe de réduction optimale a été apprise à partir d'une paire de patchs avec et sans bruit par ajustement polypoly.
S est un traitement de seuil, $ A ^ {T} $ est une conversion DCT, $ p ^ {0} $ est un patch sans bruit et M est le nombre total de données d'entraînement. Le paramètre de S (coefficient de polypoly) qui minimise $ F_ {local} $ a été calculé par la méthode des moindres carrés.
Apprenez la courbe de réduction pour chaque élément de DCT. La taille du patch est de 6 $ \ fois 6 $. Puisque la DCT non redondante est utilisée, le nombre d'éléments après DCT est également de 6 $ \ fois 6 $. Le nombre de courbes de réduction est de 36.
Des correctifs ont été extraits de la zone de 200 $ \ fois 200 $ de la lena et utilisés comme données d'entraînement. Standardisé en soustrayant 127 et en divisant par 128.
La courbe de chaque cellule représente une courbe de réduction pour chaque coefficient DCT.
Trouvez les paramètres de la courbe de réduction qui minimise. $ R_ {k} $ est l'opérateur qui extrait le kème patch de l'image. La pente de la courbe de réduction est quasiment nulle, mais elle semble utilisable pour le moment ... Puisque le composant DC devient 0, il est mis à l'échelle en post-traitement. (L'implémentation peut être étrange ...)
Un patch 8x8 a été extrait de l'image. Le patch a été converti en DCT de manière redondante et codé de manière éparse par OMP. La moyenne des patchs qui se chevauchent a été prise. Des images bruyantes et des moyennes pondérées ont été prises.
Le nombre d'éléments non nuls dans la représentation creuse obtenue par OMP est $ k_0 = 4 $. Tolérance OMP $ \ epsilon = 8 ^ 2 \ fois 20 ^ 2 \ fois 1,15 $. Une moyenne pondérée a été prise avec un poids de 0,5 pour l'image bruyante et un poids de 1 pour l'image bruyante.
Dictionnaire DCT redondant Convertir un patch $ 8 \ fois 8 $ en un composant $ 16 \ fois 16 $
Des correctifs ont été extraits de l'image bruyante et un dictionnaire a été recherché par K-SVD. En utilisant le dictionnaire obtenu, le traitement a été effectué de la même manière que ci-dessus.
Dictionnaire K-SVD
NL-means Les célèbres NL-means de Buades et al. Du point de vue de l'apprentissage du dictionnaire, NL-means peut être considéré comme un apprentissage extrême du dictionnaire, avec différents dictionnaires pour chaque pixel.
Considérons une fenêtre de recherche centrée sur le pixel d'intérêt. Pensez à un ensemble de correctifs centré sur chaque pixel dans la fenêtre de recherche comme un dictionnaire. Le coefficient de chaque atome est calculé sur la base de l'erreur quadratique avec le patch centré sur le pixel d'intérêt (patch d'intérêt). C'est une expression proche du patch d'intérêt.
De ce point de vue, l'apprentissage du dictionnaire et les moyens NL peuvent être améliorés respectivement.
BM3D Le célèbre BM3D de Dabov et al. C'est le plus puissant contre le bruit gaussien. BM3D peut également être considéré du point de vue de l'apprentissage du dictionnaire.
Par block matching (BM), des patchs similaires au patch d'intérêt sont collectés dans la fenêtre de recherche et empilés pour former un patch 3D. Patchs Sperciify 3D (Wavelet, DCT, etc.), traitement de seuil dur, réduction de Wiener et suppression du bruit (filtrage coopératif).
Cela conduit à un apprentissage structuré du dictionnaire et à une combinaison de regroupement et d'apprentissage par dictionnaire.
Recommended Posts