1
K
ATEDRAS
YSTEMÓWM
ULTIMEDIALNYCHL
ABORATORIUMP
RZETWARZANIE DŹWIĘKÓW I OBRAZÓW Ćwiczenie 4:P
OPRAWA JAKOŚCI OBRAZU METODAMI SUPERRESOLUTIONOpracowanie:
mgr inż. Tomasz Merta dr inż. Bartosz Kunka
1. Cel ćwiczenia:
Celem ćwiczenia jest zapoznanie studentów z działaniem algorytmów zwiększających czytelność obrazu z wykorzystaniem tzw. metody superresolution oraz przebadanie kilku algorytmów pod kątem skuteczności działania oraz wprowadzanych przez nie artefaktów.
2. Zasada działania superresolution
Obecnie firmy produkujące telewizory, odtwarzacze Blue-Ray oferują procesory obrazu poprawiające jakość obrazu. Stosowane są algorytmy zwiększające płynność obrazu (np.
TrueMotion, MotionFlow), zwiększające kontrast dynamiczny, a także algorytmy skalujące obraz o
niskiej rozdzielczości do rozdzielczości HD (ang. upscaling). Podobnie programy komputerowe do odtwarzania filmów wykorzystują wtyczki przeskalowujące obraz. Dodatkowo skalowaniu towarzyszą algorytmy wyostrzające, poprawiające jakość odtwarzanego obrazu.
Techniką, której celem jest zwiększenie rozdzielczości obrazu określana jest mianem
Superresolution (rys. 1).
Rys. 1 Efekt działania metody superresolution
W literaturze metody utożsamiane z pojęciem superresolution (SR) dzielone są ze względu na liczbę klatek wykorzystywanych w celu stworzenia pojedynczego obrazu wysokiej
rozdzielczości. Wyróżnia się:
metody bazujące na jednej klatce obrazu,
2
Do pierwszej grupy zalicza się algorytmy wyostrzające, poprawiające kontrast, podkreślające krawędzie w obrazie a także metody wygładzania wykorzystujące, np. regularyzację Tikhinova. Generowany obraz wysokiej rozdzielczości w tym przypadku może wykorzystywać tylko informacje zawarte w jednej klatce obrazu. Stąd możliwości poprawy jakości obrazu są bardzo ograniczone. Dlatego też pod pojęciem Superresolution należy rozumieć przede wszystkim metody bazujące na wielu klatkach obrazu (Multiframe Superresolution). Sformułowanie „jednoklatkowe superresolution” najczęściej jest swego rodzaju nadużyciem.
Wieloklatkowe Superresolution
Większość modeli wykorzystujących wiele klatek w algorytmie bazuje na opisanym schemacie (rys. 2). Rzeczywista scena (osoba, krajobraz) jest rejestrowany przez sensor CCD (CMOS, itp.) w kamerze. Zapisany obraz jest zniekształcony przez turbulencje powietrza, co w przypadku parującej nagrzanej powierzchni (np. nagrzany asfalt) ma istotne znaczenie.
Rys. 2 Model przekształcenia obrazu wysokiej rozdzielczości do obrazu niskiej rozdzielczości
Symbolicznie zniekształcenie to opisywane jest jako efekt rozmywania (ang. blur) przedstawiony na rys. 2 (H). Na skutek ruchów obiektu oraz kamery między kolejnymi
klatkami widoczne jest przemieszczenie obiektu reprezentowane przez operator F – (rys.
2). Przy niedużym ruchu obserwowane jest samo przemieszczenie obrazu bez poruszenia – nie występuje efekt motion blur. Dodatkowo na skutek niedokładności optyki kamery oraz nieoptymalnej ostrości obiekt ulega rozmyciu. Rozmycie te jest uwzględnione wraz z
rozmyciem opisywanym przez operator H. Następnie obraz jest pomniejszany do obrazu niskiej rozdzielczości (D). W najprostszym przypadku wybierany jest co drugi piksel dla
dwukrotnego pomniejszenia. W ostatnim etapie dodawany jest szum wynikający z szumów własnych matrycy CCD jak i innych elementów przedstawionego toru; szum został oznaczony
na rys. 2 jako n. Równanie opisujące przedstawiony model dla generowania k-tej klatki
3
n
X
DHF
Y
k
k
(1)Idea metody superresolution została oparta na analogicznym przejściu od klatki niskiej rozdzielczości do klatki o wysokiej rozdzielczości stosując operatory odwrotne do przedstawionych. Równanie opisujące te przekształcenia przedstawiono w postaci wzoru (2).
N l l lY
F
H
D
X
1 1 1 1 (2)gdzie D-1 jest operatorem przeskalowania „w górę”, H-1 – jest operatorem
wyostrzania, F-1 – operator przesunięcia. X – jest klatką o wysokiej
rozdzielczości, Y – klatką niskiej rozdzielczości.
Odszumianie zostało pominięte. W równaniu klatka wysokiej rozdzielczości jest tworzona na podstawie N klatek niskiej rozdzielczości.
Kluczowym przekształceniem dla poprawnego działania jest poprawne zniwelowanie przesunięcia obiektu w poszczególnych klatkach. Błędy związane z niepoprawnym przesunięciem powodują błąd działania algorytmu, w wyniku czego wyjściowy obraz może być mniej czytelny od obrazu wejściowego.
Zadania do wykonania.
Zadania należy wykonać w środowisku MATLAB wykorzystując dołączoną aplikację: skrypt superresolution.m w katalogu application
Interfejs graficzny użytkownika wraz z dostępnymi funkcjami przedstawiono na rys. 3:
Program umożliwia tworzenie przesuniętych klatek niskiej rozdzielczości oraz tworzenie obrazu wysokiej rozdzielczości z podanych wielu klatek niskiej rozdzielczości. W celu stworzenia klatki wysokiej rozdzielczości należy w górnej części interfejsu wybrać algorytm estymacji
przesunięcia i rotacji. Warto podkreślić, że na metoda superresolution składa się z dwóch etapów: estymacji przesunięcia oraz rekonstrukcji.
Dla sekwencji klatek LOTR i Plate2 należy przeprowadzić badanie skuteczności odpowiedniej
konfiguracji algorytmów:
algorytm estymacji przesunięcia (Vandewalle’a, Marcela, Luccese’a oraz Kerena); algorytm rekonstrukcji (tylko 2 alg: Interpolation oraz Robust Super Resolution).
Należy przeanalizować 8 konfiguracji dla każdej sekwencji obrazów (LOTR i Plate2), zatem w sumie należy wygenerować 16 obrazów wysokiej rozdzielczości.
Uwaga!
Wartość współczynnika interpolacji (Interpolation factor), określająca wielokrotność powiększenia obrazu powinna być zawsze równa 2 (ze względu na długi czas przetwarzania obrazów).
4
Pliki obrazów wykorzystywanych w ćwiczeniu znajdują się w katalogu src. Wszystkie wyniki programu należy zapisać do stworzonego przez siebie katalogu.
Rys. 3 GUI aplikacji „superresoltion”
Polecenia
Część I – badanie algorytmów z wykorzystaniem istniejącego narzędzia
1. Zbadać skuteczność estymacji przesunięcia i rotacji obrazu dla plików LOTR, Plate2. Która z konfiguracji algorytmów daje najwyższą skuteczność dla podanych sekwencji
obrazów?
Dlaczego występują duże błędy estymacji?
2. Porównać skuteczność metody superresolution dla plików Plate1 oraz res_chart wykorzystując konfigurację algorytmów, która zapewniła najwyższą jakość obrazu dla sekwencji LOTR.
Dla jakich rodzajów obrazu (tekst, krajobraz, kolorowy, w skali szarości itp.) wyznaczona konfiguracja algorytmów zapewnia lepszą jakość obrazu ?
3. W następnym kroku (po porównaniu) należy wyznaczyć najlepszą konfigurację algorytmu estymacji przesunięcia i algorytmu rekonstrukcji, która zapewni największą poprawę jakości obrazu dla sekwencji: Plate1 oraz res_chart.
Jaka konfiguracja algorytmów daje największą poprawę jakość obrazu dla podanych plików?
5 Część 2 – samodzielne przygotowanie prostego skryptu w MATLABie:
4. Napisać w MATLABIE krótki algorytm powiększający 2-krotnie 1 klatkę niskiej rozdzielczości (LOTR, res_chart) z filtrem bikubicznym (‘bicubic’), a następnie wyostrzający powiększony obraz z wykorzystaniem filtru Wienera lub Lucy (wygenerować 2 obrazy: osobny dla filtru Wienera, osobny dla Lucy).
Pomocne polecenia: imread imresize
fspecial (pierwszy argument: ‘disk’; rozmiar – dobrać samodzielnie) deconvwnr
deconvlucy
ODPOWIEDZI
Który z algorytmów daje najwyższą skuteczność dla badanych sekwencji obrazów?
……… ……… ……… ………
Dlaczego występują duże błędy estymacji?
……… ……… ……… ………
Która z konfiguracji algorytmów daje największą poprawę jakość obrazu dla badanych sekwencji obrazów?
……… ……… ……… ………
Dla jakich rodzajów obrazu (tekst, krajobraz, kolorowy, w skali szarości itp.) najlepsza konfiguracja algorytmów wyznaczona w zad. 1 daje lepszą jakość obrazu?
……… ……… ……… ………