Implementiert Kapitel 14 "Entfernen von Bildrauschen" in Sparse Modeling.
Wurde verglichen.
Notizbuch ch14-01.ipynb ch14-02.ipynb ch14-03.ipynb ch14-04.ipynb ch14-05.ipynb
Die Zahlen sind [Spitzensignal-Rausch-Verhältnis (PSNR)](https://ja.wikipedia.org/wiki/peak Signal-Rausch-Verhältnis) [db]
K-SVD Obwohl es viel Rechenzeit kostet, bedeutet NL-means , BM3D war stärker und überwachsen. Vielleicht ist es implementiert ...
Gaußsches Rauschen von σ = 20 wurde zu Barbara hinzugefügt und als Testbild verwendet. Das Rauschen wurde durch jede Methode entfernt.
Es wurde eine Wavelet-Umwandlung durchgeführt und eine harte Schwellenwertverarbeitung durchgeführt. Die Leistung hat sich je nach Schwellenwert geändert.
Ein 8x8-Patch wurde aus dem Bild extrahiert. Der Patch wurde DCT-konvertiert und mit einem harten Schwellenwert versehen. Der Durchschnitt der überlappenden Flecken wurde genommen. Die Leistung hat sich je nach Schwellenwert geändert.
Die Schwellenwertverarbeitung kann als Kurve betrachtet werden, die die Beziehung zwischen dem Eingabewert und dem Ausgabewert zeigt. Die optimale Reduktionskurve wurde aus einem Paar Patches mit und ohne Rauschen durch Polypoly-Anpassung gelernt.
S ist die Schwellenwertverarbeitung, $ A ^ {T} $ ist die DCT-Konvertierung, $ p ^ {0} $ ist ein rauschfreies Patch und M ist die Gesamtzahl der Trainingsdaten. Der Parameter von S (Polypolysekoeffizient), der $ F_ {local} $ minimiert, wurde durch die Methode der kleinsten Quadrate erhalten.
Lernen Sie die Reduktionskurve für jedes DCT-Element. Die Patchgröße beträgt $ 6 \ times 6 $. Da nicht redundante DCT verwendet wird, beträgt die Anzahl der Elemente nach DCT ebenfalls $ 6 \ mal 6 $. Die Anzahl der Reduktionskurven beträgt 36.
Patches wurden aus dem $ 200 \ times 200 $ -Bereich von Lena extrahiert und als Trainingsdaten verwendet. Standardisiert durch Subtrahieren von 127 und Dividieren durch 128.
Die Kurve jeder Zelle repräsentiert eine Reduktionskurve für jeden DCT-Koeffizienten.
Finden Sie die Parameter der Reduktionskurve, die minimiert wird. $ R_ {k} $ ist der Operator, der den k-ten Patch aus dem Bild extrahiert. Die Steigung der Reduktionskurve beträgt fast 0, scheint aber vorerst verwendbar zu sein ... Da die DC-Komponente 0 wird, wird sie in der Nachbearbeitung skaliert. (Die Implementierung kann seltsam sein ...)
Ein 8x8-Patch wurde aus dem Bild extrahiert. Der Patch wurde redundant DCT-konvertiert und von OMP spärlich codiert. Der Durchschnitt der überlappenden Flecken wurde genommen. Es wurden verrauschte Bilder und gewichtete Durchschnittswerte aufgenommen.
Die Anzahl der Nicht-Null-Elemente in der von OMP erhaltenen spärlichen Darstellung beträgt $ k_0 = 4 $. OMP-Toleranz $ \ epsilon = 8 ^ 2 \ mal 20 ^ 2 \ mal 1,15 $. Ein gewichteter Durchschnitt wurde mit einer Gewichtung von 0,5 für das verrauschte Bild und einer Gewichtung von 1 für das verrauschte Bild genommen.
Redundantes DCT-Wörterbuch Konvertieren Sie einen $ 8 \ times 8 $ -Patch in eine $ 16 \ times 16 $ -Komponente
Aus dem verrauschten Bild wurden Patches extrahiert und ein Wörterbuch von K-SVD durchsucht. Unter Verwendung des erhaltenen Wörterbuchs wurde die Verarbeitung auf die gleiche Weise wie oben durchgeführt.
K-SVD Wörterbuch
NL-means Buades et al. Berühmte NL-Mittel Aus der Perspektive des Wörterbuchlernens können NL-Mittel als extremes Wörterbuchlernen mit unterschiedlichen Wörterbüchern für jedes Pixel angesehen werden.
Stellen Sie sich ein Suchfenster vor, das auf dem interessierenden Pixel zentriert ist. Stellen Sie sich eine Reihe von Patches vor, die auf jedem Pixel im Suchfenster als Wörterbuch zentriert sind. Der Koeffizient jedes Atoms wird basierend auf dem quadratischen Fehler berechnet, wobei das Patch auf dem interessierenden Pixel zentriert ist (Patch von Interesse). Dies ist ein enger Ausdruck des interessierenden Fleckens.
Unter diesem Gesichtspunkt können Wörterbuchlernen und NL-Mittel jeweils verbessert werden.
BM3D Das berühmte BM3D von Dabov et al. Es ist das stärkste gegen Gaußsches Rauschen. BM3D kann auch aus der Perspektive des Wörterbuchlernens betrachtet werden.
Durch Block Matching (BM) werden Patches, die dem interessierenden Patch ähnlich sind, im Suchfenster gesammelt und zu einem 3D-Patch gestapelt. Spasify-Konvertierung (Wavelet, DCT usw.) von 3D-Patches, Hard-Threshold-Verarbeitung, Wiener-Reduktion, Rauschunterdrückung (kooperative Filterung).
Es führt zu strukturiertem Wörterbuchlernen und einer Kombination aus Clustering und Wörterbuchlernen.
Recommended Posts