Implémentation de certaines des autres applications du chapitre 15 de Sparse Modeling.
carnet ch15-02.ipynb ch15-04.ipynb ch15-05.ipynb
_ K-SVD Séparation du dessin au trait et de la texture par analyse des composantes morphologiques locales (MCA) à l'aide d'un dictionnaire _
_ Interpoler les pixels manquants avec une peinture locale avec un dictionnaire DCT redondant_
Les nombres sont [rapport signal / bruit de crête (PSNR)](https://ja.wikipedia.org/wiki/peak rapport signal / bruit)
_ K-Interpoler les pixels manquants par inpainting local avec le dictionnaire SVD_
_ Suppression du bruit impulsionnel_
Un bruit blanc avec un écart type de 10 a été ajouté à Barbara pour créer une image de test.
J'ai appris un dictionnaire avec K-SVD. La taille du patch est de 8 $ \ fois 8 $. Le nombre d'atomes a été fixé à 256. Les conditions d'arrêt pour la poursuite de correspondance orthogonale (OMP) ont été fixées au nombre d'atomes $ k_ {0} = 4 $ et à la tolérance $ \ epsilon = 8 ^ {2} \ times 20 ^ {2} $. Le nombre de répétitions de K-SVD a été fixé à 25.
Le nombre total de correctifs extraits de l'image était de 255 025. En raison du manque de mémoire, le nombre de correctifs utilisés pour une itération de K-SVD a été réduit à 1/10. Les correctifs utilisés pour K-SVD ont été extraits aléatoirement à chaque itération.
Dictionnaire K-SVD
L'activité de l'atome a été calculée comme suit.
Activité de l'atome (0 pour le noir, 1 pour le blanc) Les atomes avec une activité inférieure à 0,3 étaient des dessins au trait et les autres étaient des textures. Le gris foncé est l'atome de dessin au trait et le gris clair est l'atome de texture.
L'image de dessin de ligne peut être obtenue à partir de l'atome de dessin de ligne et du coefficient de son expression éparse. L'image de la texture peut être obtenue à partir de l'atome de la texture et du coefficient de son expression clairsemée.
Ajout d'un bruit blanc avec un écart type de 20 aux poivrons. 25%, 50% et 75% des pixels ont été remis au hasard à 0 et utilisés comme image de test. La position du pixel manquant était connue.
La taille du patch est de 8 $ \ fois 8 $. Le nombre d'atomes a été fixé à 256. OMP modifié pour masquer les pixels manquants et trouver une représentation éparse. Les conditions d'arrêt OMP sont $ k_ {0} = 4 $ et $ \ epsilon = (8 ^ {2} -p) \ fois 20 ^ {2} \ fois 1,1 $. $ p $ est le nombre de pixels manquants dans le patch. L'image peut être restaurée à partir de l'expression éparse souhaitée.
Le K-SVD a été modifié comme suit.
La valeur initiale de K-SVD était un dictionnaire DCT redondant. Le nombre de répétitions était de 15. 12 800 patchs sélectionnés au hasard ont été utilisés pour une itération de K-SVD.
Dictionnaire K-SVD obtenu à partir d'images avec une perte de 25%
Dictionnaire K-SVD obtenu à partir d'images avec 50% de perte
Dictionnaire K-SVD obtenu à partir d'images manquantes à 75%
La valeur de pixel de 10% des pixels a été augmentée de manière aléatoire de +50 ou -50 pour obtenir une image de test. La valeur du pixel a été coupée à un maximum de 255 et un minimum de 0. La différence avec inpainting est que la position du pixel manquant n'est pas connue.
Le bruit impulsionnel a été éliminé avec un filtre médian. La taille du noyau du filtre médian est de 3 $ \ fois 3 $. Les pixels dans lesquels la valeur absolue de la différence entre l'image bruyante et l'image supprimée par le filtre médian était supérieure à 27 ont été définis comme des pixels contaminés par un bruit impulsionnel.
Le PSNR a été amélioré en appliquant un filtre médian uniquement aux pixels détectés par le masque d'estimation. Il en va de même pour la suppression du bruit OMP à l'aide d'un dictionnaire DCT redondant. La taille du patch pour la suppression du bruit OMP par le dictionnaire DCT redondant est de 8 $ \ fois 8 $, le nombre d'atomes est de 256, la condition d'arrêt OMP est $ k_ {0} = 256 $, $ \ epsilon = (8 ^ {2} -p) \ fois 5 ^ {2} \ fois 1,1 $.
Recommended Posts