Skripta, ki reši 2. nalogo je vaja3.m.

Deluje, če imate na ustreznem mestu shranjeno sliko lena512.mat. Koda je za Matlab. Z manjšimi prilagoditvami glede izrisa slike bi morala delati tudi za octave.

Ideja je, da lahko SVD razcep uporabimo, da identificiramo najbolj izrazite značilnosti dane matrike \(A\) (ne glede na to, ali matrika predstavlja sliko ali kaj drugega). Najlažje je videti, zakaj je lahko smiselno na tak način interpretirati SVD razcep, če ga zapišemo v naslednji obliki.

\[A=USV^T=\sum_i\sigma_i u_iv_i^T\]

kjer so \(\sigma_i\) singularne vrednosti in so \(u_i\) ter \(v_i\) vektor stolpci matrik \(U\) in \(V\).

Pozorni bodite, da so členi \(u_iv_i^T\) matrike. Premislite, zakaj so te matrike ranga 1, ter zakaj je vsota kvadratov vseh elementov v taki matriki enaka 1 (upoštevajte, da so \(u_i\) in \(v_i\) normirani vektorji). 

To pomeni, da so v smislu t.i. Frobeniusove norme vse matrike \(u_iv_i^T\) 'enako velike'. Potemtakem členi \(\sigma_i u_iv_i^T\) v vsoti za majhne vrednosti (\sigma_i\) prispevajo k matriki manj kot tisti z velikim \(\sigma_i\).

V kodi lahko singularne vrednosti za našo sliko najdete v spremenljivki \(s\). Če si ogledate recimo prvih deset singularnih vrednosti in zadnjih deset singularnih vrednosti, boste opazili, da so prve vrednosti za faktor okoli \(10^4\) večje od zadnjih. Lahko si torej mislimo, da bi lahko najmanjše singularne enostavno zavrgli, ne da bi bistveno spremenili slike.

Če poženete, se izriše originalna slika, nato pa še zaporedne aproksimacije originala, glede na število uporabljenih singularnih vrednosti n=10,20,50,100. Seveda ni potrebno aproksimacijo računati kot omenjeno vsoto matrik, ampak lahko enako dosežemo z množenjem ustrezno zmanjšanih matrik \(U,S,V\).

   







Za \(n\times n\) matriko \(A\) moramo shraniti \(n^2\) števil. Če obdržimo samo \(m<<n\) singularnih vrednosti, pa lahko shranimo samo dve \(n\times m\) matriki \(U\) in \(V\) ter \(n\) singularnih vrednosti, kar je lahko občuten prihranek. Seveda pa prihranimo na račun kvalitete slike.

Last modified: Sunday, 10 March 2024, 8:55 PM