Dopasowywanie bloków i filtrowanie 3D

Po lewej: oryginalny kadr z surowego zdjęcia zrobionego przy ISO800, Środek: odszumianie przy użyciu bm3d-gpu (sigma=10, dwuetapowy), Po prawej: odszumianie przy użyciu profilowanego odszumiania darktable 2.4.0 (mieszanka średnich nielokalnych i falek)

Dopasowywanie bloków i filtrowanie 3D (BM3D) to algorytm dopasowywania bloków 3D używany głównie do redukcji szumów w obrazach . Jest to jedno z rozwinięć metodologii środków nielokalnych. W BM3D istnieją dwie kaskady: etap z twardym progiem i filtr Wienera, obie obejmujące następujące części: grupowanie, wspólne filtrowanie i agregację. Algorytm ten opiera się na rozszerzonej reprezentacji w miejscu transformacji.

metoda

Grupowanie

Fragmenty obrazu są grupowane razem na podstawie podobieństwa, ale w przeciwieństwie do standardowego grupowania k-średnich i takich metod analizy skupień , fragmenty obrazu niekoniecznie są rozłączne . Ten algorytm dopasowywania bloków jest mniej wymagający obliczeniowo i jest przydatny później na etapie agregacji. Fragmenty mają jednak ten sam rozmiar. Fragment jest grupowany, jeśli jego odmienność od fragmentu referencyjnego spada poniżej określonego progu. Ta technika grupowania nazywana jest dopasowaniem bloków i jest zwykle używana do grupowania podobnych grup w różnych klatkach cyfrowego wideo , z drugiej strony BM3D może grupować makrobloki w jednej klatce. Wszystkie fragmenty obrazu w grupie są następnie układane w stos, tworząc cylindryczne kształty 3D.

Filtrowanie zespołowe

Filtrowanie odbywa się na każdej grupie fragmentów. Stosuje [ potrzebne wyjaśnienie . następuje zmniejszenie domeny transformacji, takie jak filtrowanie Wienera , a następnie transformacja liniowa jest odwracana w celu odtworzenia wszystkich (przefiltrowanych)

Zbiór

Obraz zostaje przekształcony z powrotem w dwuwymiarową formę. Wszystkie nakładające się fragmenty obrazu są uśredniane wagowo, aby zapewnić, że są filtrowane pod kątem szumów, ale zachowują odrębny sygnał.

Rozszerzenia

Kolorowe obrazy

Obrazy RGB można przetwarzać podobnie jak obrazy w skali szarości. Do obrazu RGB należy zastosować transformację luminancja-chrominancja. Grupowanie jest następnie zakończone na kanale luminancji, który zawiera większość przydatnych informacji i wyższy SNR. To podejście działa, ponieważ szum w kanałach chrominancji jest silnie skorelowany z szumem kanału luminancji i oszczędza około jednej trzeciej czasu obliczeń, ponieważ grupowanie zajmuje około połowy wymaganego czasu obliczeń.

Rozmycie

Algorytm BM3D został rozszerzony (IDD-BM3D) w celu wykonania oddzielonego usuwania rozmycia i odszumiania przy użyciu równowagi równowagi Nasha dwóch funkcji celu.

Konwolucyjna sieć neuronowa

Zaproponowano podejście, które integruje konwolucyjną sieć neuronową i wykazuje lepsze wyniki (choć przy wolniejszym czasie działania). Kod MATLAB został udostępniony do celów badawczych.

Implementacje