• Nie Znaleziono Wyników

6. Kompresja obrazu - sieć jednokierunkowa

N/A
N/A
Protected

Academic year: 2021

Share "6. Kompresja obrazu - sieć jednokierunkowa"

Copied!
3
0
0

Pełen tekst

(1)

6. Kompresja obrazu - sieć jednokierunkowa

Dzisiejsze zadnie będzie polegało na wykorzystaniu sieci neuronowej jednokierunko- wej wielowarstwowej do kompresji obrazu. Będziemy chcieli nauczyć sieć pewnych wzorcy, a następnie nauczoną siecią kompresować i dekompresować obrazy. Oma- wiana kompresja jest typem kompresji stratnej. Będziemy chcieli zauważyć jaki ma wpyw współczynnik kompresji na szybkość uczenia sieci oraz na jakość odtwarzanych danych.

Sieć realizująca to zadanie to sieć przedstawiona na rysunku 1. Warstwa wejścio- wa i wyjściowa sieci składa się z tej samej liczby neuronów (n), która odpowiada rozmiarowi wektora podlegającego kompresji. Warstwa ukryta składa się z q neuro- nów (q << n) i będzie wektorem skompresowanych danych wejściowych. Warstwa wejściowa jest tu wektorem wejściowym. Będziemy uczyć sieć wzorcy w taki sposób, aby na zadany wektor wejściowy wyjście było tym samym wektorem. Wektor sta- nów warstwy ukrytej będzie jego kompresją i aby go otrzymać należy wygenerować wyjście z tej wartwy. Aby odtworzyć wzorzec skompresowany należy podać go ja- ko wejście na warstwę ukrytą, a wygenerowane wyjście z sieci będzie odtworzonym wektorem.

Rysunek 1: Model sieci wykorzystywanej do kompresji.

Kompresji będą podlegały pliki graficzne. Plik jest kolorowy. Do określenia koloru będziemy wykorzystywać zapis RGB. Obrazek będziemy rozpatrywać trzykrotnie – ze względu na nasycenie każdej z barw: czerwonej, zielonej i niebieskiej. Jak zatem skonstuować zbiór uczący? Będzie to przebiegało w kilku krokach:

1. Należy przerobić plik graficzny na plik tekstowy. Plik tekstowy będzie skła- dał się z tylu linii z ilu pikseli składa się obraz. Każda z linii będzie trójką określającą barwe piksela.

2. Plik graficzny dzielimy na klastry (ramki) 8 × 8 (patrz rysunek 2).

1

(2)

3. Tworzymy trzy macierze. Każda z nich rozmiaru liczba wierszy pikseli×liczba kolumn pikseli.

4. Każda macierz odpowiada jednej z barw RGB. Wypełniamy macierze odpo- wiednimi wartościami z pliku tekstowego.

5. Klastry, na które podzieliliśmy plik graficzny są teraz podmacierzami każdej z macierzy barw.

6. Z podmacierzy tworzymy wektory 64 − elementowe. Wektory te utworzą zbiór uczący.

Rysunek 2: Podział na klastry.

Mając dany zbiór uczący uczymy sieć. Musimy tylko określić liczbę neuronów war- stwy ukrytej. Niech liczba ta wynosi 16. Stosunek ilości informacji przed kompresją do ilości informacji skompresowanej nazywana jest współczynnikiem kompresji.

Zależy nam na tym by miał jak największą wartość. Należy jednak pamiętać, że pociąga to za sobą straty odtworzonego obrazu i są one tym większe im większy współczynnik kompresji. Aby uczyć sieć należy zdefiniować błąd uczenia. Przyjmij- my miarę w postaci MSE – błąd średniokwadratowy, liczony zgodnie z wzorem:

M SE = 1 np

p

X

l=1 k

X

i=1 k

X

j=1

(x(l)ij − ˆx(l)ij)2,

gdzie

• x, ˆx – odpowiednio wartość składowej ramki (klastru) oryginalnej i odtworzo- nej,

• k – wymiar ramki (klastru),

• p – liczba ramek (klastrów),

• n – wymiar wektora tworzącego ramkę (klaster) n = k2.

W przypadku obrazów wartość błędu obliczana jest dla każdej barwy RGB osobno.

Wartość błędu dla całego obrazu obliczana jest następująco:

M SERGB = (M SER+ M ESG+ M SEB) 3

Nauczoną sieć wykorzystujemy do kompresji i dekompresji obrazu.

2

(3)

Zadanie

Należy zaimplementować sieć neuronową opisaną powyżej, nauczyć ją na podstawie obrazu, a następnie sprawdzić jak działa jako narzędzie kompresujące i dekompresu- jące. Testy wykonywać dla obrazu, którego uczyliśmy oraz innych obrazów. Zbadać wpływ wielkości warstwy ukrytej na straty kompresji.

Uwagi

1. Testując sieć dajemy jej na wejściu obraz i obraz chcemy otrzymać.

2. Program do konwersji obrazu na plik tekstowy jest załączony do zadania. Pro- gram do konwersji w drugą stronę należy napisać samodzielnie.

3. Oprócz odtworzonego obrazu należy podawać na wyjściu informacje o błędzie.

3

Cytaty

Powiązane dokumenty

– Sieci skupiające osoby fizyczne – Sieci zrzeszające instytucje.. Organizacja

Lokalny adres IP – adres nadany przez router twojemu urządzeniu w sieci lokalnej, nie jest on widoczny w ogólnej sieci internetowej.. IP publiczny możemy sprawdzić używając

Lokalny adres IP – adres nadany przez router twojemu urządzeniu w sieci lokalnej, nie jest on widoczny w ogólnej sieci internetowej.. IP publiczny możemy sprawdzić używając

Program zamieszczony poniżej demonstruje jak zmieniają się wagi sieci w kolejnych epokach uczenia2. Punkty uczące oznaczono kółkami na wykresach utworzonych

Officyna Wydawnicza Politechniki Warszawskiej 2000, strona 40-42.  Zaimplementuj dwuwarstwową sieć

Dla liniowej funkcji aktywacji przyjmujemy, że wartości większe niż 2 oznaczamy kolorem bordowym, mniejsze niż −2 granatowym zaś przedział (−2, 2) dzielimy na

W najpopularniejszej implementacji modelu P2P, jaką są programy do wymiany plików w Internecie każdy węzeł sieci (czyli komputer użytkownika) odgrywa rolę serwera

Status kroniki szkolnej jako zespołu gatunkowego odnoszącego się do dokumentów życia społecznego z dzisiejszej perspektywy wydaje się dysfunkcyjny.. Inne są już bowiem