Komprese obrázku za pomoci singulárního rozkladu



Podobné dokumenty
Singulární rozklad. Petr Tichý. 31. října 2013

Numerické metody a programování. Lekce 4

5. Singulární rozklad

11 Analýza hlavních komponet

Numerické metody a programování

2. Schurova věta. Petr Tichý. 3. října 2012

1 0 0 u 22 u 23 l 31. l u11

4. Trojúhelníkový rozklad p. 1/20

Aplikace matematiky: komprese obrazu

Podobnostní transformace

Definice 13.1 Kvadratická forma v n proměnných s koeficienty z tělesa T je výraz tvaru. Kvadratická forma v n proměnných je tak polynom n proměnných s

SVD rozklad a pseudoinverse

a vlastních vektorů Příklad: Stanovte taková čísla λ, pro která má homogenní soustava Av = λv nenulové (A λ i I) v = 0.

Matematika B101MA1, B101MA2

Matematika (CŽV Kadaň) aneb Úvod do lineární algebry Matice a soustavy rovnic

Úlohy nejmenších čtverců

2 Vektorové normy. Základy numerické matematiky - NMNM201. Definice 1 (Norma). Norma je funkcionál splňující pro libovolné vektory x a y a pro

Učební texty k státní bakalářské zkoušce Matematika Vlastní čísla a vlastní hodnoty. študenti MFF 15. augusta 2008

2.6. VLASTNÍ ČÍSLA A VEKTORY MATIC

0.1 Úvod do lineární algebry

0.1 Úvod do lineární algebry

Vektory a matice. Obsah. Aplikovaná matematika I. Carl Friedrich Gauss. Základní pojmy a operace

DEFINICE Z LINEÁRNÍ ALGEBRY

Kde se používá počítačová grafika

Lineární algebra Operace s vektory a maticemi

Počítačová grafika. OBSAH Grafické formy: Vektorová grafika Bitmapová (rastrová grafika) Barevné modely

Všechno, co jste kdy chtěli vědět o maticích, ale báli jste se zeptat

Matice. Předpokládejme, že A = (a ij ) je matice typu m n: diagonálou jsou rovny nule.

Klasifikace a rozpoznávání. Extrakce příznaků

Počítačová grafika SZŠ A VOŠZ MERHAUTOVA 15, BRNO

Základy maticového počtu Matice, determinant, definitnost

Konverze grafických rastrových formátů

Úlohy k přednášce NMAG 101 a 120: Lineární algebra a geometrie 1 a 2,

Operace s maticemi. 19. února 2018

Analýza a zpracování digitálního obrazu

Algoritmizace prostorových úloh

Vektorový prostor. Př.1. R 2 ; R 3 ; R n Dvě operace v R n : u + v = (u 1 + v 1,...u n + v n ), V (E 3 )...množina vektorů v E 3,

Úvod do počítačové grafiky

Singulární rozklad aplikace v image deblurring

Soustavy lineárních rovnic

GRAFICKÉ FORMÁTY V BITMAPOVÉ GRAFICE

10. Soustavy lineárních rovnic, determinanty, Cramerovo pravidlo

Barvy a barevné systémy Formáty obrázků pro WWW

Maticí typu (m, n), kde m, n jsou přirozená čísla, se rozumí soubor mn veličin a jk zapsaných do m řádků a n sloupců tvaru:

1 Linearní prostory nad komplexními čísly

Vektorový prostor. d) Ke každému prvku u V n existuje tzv. opačný prvek u, pro který platí, že u + u = o (vektor u nazýváme opačný vektor k vektoru u)

Operace s maticemi

Uspořádanou n-tici reálných čísel nazveme aritmetický vektor (vektor), ā = (a 1, a 2,..., a n ). Čísla a 1, a 2,..., a n se nazývají složky vektoru

Lineární algebra - I. část (vektory, matice a jejich využití)

Vlastní číslo, vektor

Webové stránky. 16. Obrázky na webových stránkách, optimalizace GIF. Datum vytvoření: str ánk y. Vytvořil: Petr Lerch.

FP - SEMINÁŘ Z NUMERICKÉ MATEMATIKY. Katedra matematiky a didaktiky matematiky Technická univerzita v Liberci

Kurz digitální fotografie. blok 1 data/úpravy fotografií

IB112 Základy matematiky

Úloha - rozpoznávání číslic

Rastrová grafika. Grafický objekt je zaznamenán jednotlivými souřadnicemi bodů v mřížce. pixel ( picture element ) s definovanou barvou

15 Maticový a vektorový počet II

1 Základní funkce pro zpracování obrazových dat

Definice : Definice :

1 Vektorové prostory.

1. Matice a maticové operace. 1. Matice a maticové operace p. 1/35

Barvy a barevné systémy Formáty obrázků pro WWW

DUM 02 téma: Formáty souborů rastrové grafiky

PROSTORY SE SKALÁRNÍM SOUČINEM. Definice Nechť L je lineární vektorový prostor nad R. Zobrazení L L R splňující vlastnosti

1 Projekce a projektory

Ortogonální transformace a QR rozklady

II. Úlohy na vložené cykly a podprogramy

KOMPRIMACE. aneb Aby to zabralo méně místa

Obrazová data. Biofyzikální ústav Lékařské fakulty Masarykovy univerzity Brno. prezentace je součástí projektu FRVŠ č.2487/2011

POČÍTAČOVÁ GRAFIKA. Lenka Bednaříková

Symetrické a kvadratické formy

POČÍTAČOVÁ GRAFIKA. Počítačová grafika 1

Digitální učební materiál

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

Iterační výpočty. Dokumentace k projektu č. 2 do IZP. 24. listopadu 2004

scale n_width width center scale left center range right center range value weight_sum left right weight value weight value weight_sum weight pixel

Kapitola 11: Vektory a matice 1/19

Transformace obrazu Josef Pelikán KSVI MFF UK Praha

9 Kolmost vektorových podprostorů

Matice. Přednáška MATEMATIKA č. 2. Jiří Neubauer. Katedra ekonometrie FEM UO Brno kancelář 69a, tel

ekologie Pavel Fibich Vektor a Matice Operace s maticemi Vlastnosti matic Pavel Fibich Shrnutí Literatura

Návod k použití softwaru Solar Viewer 3D

VEKTOROVÝ PROSTOR. Vektorový prostor V n je množina všech n-složkových vektorů spolu s operacemi sčítání, odčítání vektorů a reálný násobek vektoru.

VĚTY Z LINEÁRNÍ ALGEBRY

ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE

Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

Webové stránky. 6. Grafické formáty pro web. Datum vytvoření: str ánk y. Vytvořil: Petr Lerch.

aneb jiný úhel pohledu na prvák

1 Vektorové prostory a podprostory

III/ 2 Inovace a zkvalitnění výuky prostřednictvím ICT

Matice. Modifikace matic eliminační metodou. α A = α a 2,1, α a 2,2,..., α a 2,n α a m,1, α a m,2,..., α a m,n

Software pro úpravu snímků LAB-10. Návod k obsluze

Ortogonální transformace a QR rozklady

Lineární zobrazení. 1. A(x y) = A(x) A(y) (vlastnost aditivity) 2. A(α x) = α A(x) (vlastnost homogenity)

Kapitola 11: Vektory a matice:

MATICE. a 11 a 12 a 1n a 21 a 22 a 2n A = = [a ij]

Vlastní čísla a vlastní vektory

Barvy a barevné modely. Počítačová grafika

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

Monochromatické zobrazování

Transkript:

Komprese obrázku za pomoci singulárního rozkladu Adolf Středa Tím jak se množství obrázků v naších zařízeních zvětšuje, stává se komprese obrázků stále častějším problémem. S nástupem internetových služeb se sdílení fotografií, jako je například Facebook nebo Google+, se problém stal ještě palčivějším. Velmi často se problém oddaluje zmenšením rozměrů nebo rozlišení obrázku, ovšem samotné zmenšování mnohdy neoddálí problém dostatečně. Singulární rozklad matice je často skloňovaným termínem v praktických aplikacích - od metody nejmenších čtverců ve statistice po rekonstrukci obrazu a jedním z dalších možných využití singulárního rozkladu matice je právě komprese obrázku. Jde o ztrátovou kompresní techniku, kdy lze dosáhnout významné úspory dat s minimální ztrátou informace u většiny obrázků. Mnohdy je tato ztráta informace mimo rozlišovací schopnosti našeho oka a, narozdíl od textů, je ve výsledku snesitelná. Každý barevný kanál obrázku (např. RGB kanály - červená, zelená, modrá) lze reprezentovat maticí s rozměry odpovídajícími rozměrům obrázku v pixelech. Standardně se pracuje s barevnou hloubkou 3 bitů (resp. 4 bitů bez alfa kanálu - průhlednost) označovanou taktéž jako truecolor. Tedy pro každý barevný kanál máme přesně jeden byte (8 bitů), což znamená, že tyto matice mohou obsahovat hodnoty mezi 0 a 8 1 (= 55). Cílem komprese je snížit hodnost takovéto matice za cenu co nejmenšího snížení kvality obrázku. Rozměry této matice jsou identické k rozměrům obrázku, ovšem hodnost této matice je daná až obsahem. Efektivita algoritmu je ovlivněna především rozměry obrázku a právě obsahem; barevná hloubka a počet barevných kanálů nemá na efektivitu zásadní vliv. Snížení hodnosti matice může sloužit jako předzpracování/zakončení pro jiné algoritmy (např. příprava pro skeletní rozklad nebo další stupeň komprese po JPEG kompresi) nebo může být singulární rozklad použit i pro vytvoření vlastního komprimovaného obrázkového formátu. Singulární rozklad matice je rozklad matice na součin ortogonálních (obecně unitárních) matic U, V T a diagonální Σ ve vztahu A = UΣV T. Nazveme-li matici reprezentující jeden barevný kanál obrázku maticí A, potom Σ je diagonální maticí s druhými odmocninami nenulových vlastních čísel, tzv. singulárními čísly σ i, matice A T A seřazenými sestupně dle hodnoty na hlavní diagonále. Počet vlastních čísel odpovídá hodnosti matice A. Sloupcové vektory matice V tvoří normalizované vlastní vektory A T A, v pořadí odpovídajícímu 1

(a) Testovací obrázek č. 1 (b) Graf distribuce singulárních hodnot pro obr. 1a Obrázek 1: Příklad dobře komprimovatelného obrázku vlastním číslům z nichž byla singulární čísla odvozena. Sloupcové vektory matice U dostaneme ze sloupcových vektorů V a singulárních čísel za pomoci vztahu u i = σ 1 i Av i. Alternativně by bylo možné vynechat singulární hodnotu a výsledný vektor dále normalizovat. Rozklad lze zapsat dvěma ekvivalentními způsoby - jeden, kdy rozměry matice A odpovídají rozměrům matice Σ a je nutné doplnit sloupcové vektory matice U na ortonormální bázi. Ovšem, jelikož jsou prvky pod hlavní diagonálou nulové, pak je možné redukovat Σ na matici čtvercovou a zároveň si tím ušetříme problém s posledními sloupcovými vektory matice U (aby bylo možné násobit U a Σ musí být počet doplněných sloupcových vektorů roven počtu nulových řádků Σ) - takto dostaneme druhou možnost zápisu rozkladu. Proces komprese využívá dyadické expanze matice A, kdy matici A rozložíme na sumu n i=1 u iσ i vi T, tedy součet n (počet singulárních čísel) matic s hodností 1. Příklad singulárního rozkladu na matici x 3 vč. dyadické expanze: ( ) ( ) 1 3 1 (5 0 = 3 1 1 0 3 = ( 5 5 5 0 5 0 ) ) ( 1 1 0 ( 1 + 1 1 1 18 1 4 18 18 1 Z toho na první pohled vyplývá, že čím menší singulární číslo (relativně k ostatním), tím menší má možnost výsledný obrázek ovlivnit. Koneckonců z této vlastnosti vychází definice spektrální normy matice, která je definovaná jako největší singulární číslo dané matice, jejíž přímý důsledek je, že A Ax pro libovolný vektor x odpovídající dimenze. Komprese se provede právě odebíráním matic s nejmenšími singulárními čísly z dyadického rozkladu. Proto například grafy, kde se velká část sloupců matice liší v drobnostech (např. popisky), jsou komprimovatelné až na 10% velikosti s minimem kompresních artefaktů. Naopak u jiných obrázků, které kladou důraz na detail anebo jsou velmi schematické ) )

(a) Testovací obrázek č., Ikeda atraktor[8] vytvořený programem Visions of Chaos (b) Graf distribuce singulárních hodnot pro obr. a Obrázek : Příklad špatně komprimovatelného obrázku (např. skica), se projeví některé artefakty dříve - třeba už při 50%. Komprimovatelnost obrázku záleží na rozložení singulárních čísel jednotlivých barevných kanálů - jsou-li singulární čísla řádově přibližně stejná, pak jsou možnosti komprese omezené a redukcí malého počtu singulárních čísel odstraníme pravděpodobně příliš dat, což se na obrázku projeví znatelnými kompresními artefakty. Naopak, je-li např. růst singulárních čísel exponenciální, pak je možné s minimálními artefakty použít vysoký poměr komprese. Mezi nejčastější kompresní artefakty patří změna světlosti obrázku, zrnitost a rozmazání (především vertikální a horizontální). Rozdíl v distribuci singulárních čísel obr. 1a a a je patrný na obr. 1b a b. V obou grafech je pro názornost použito logaritmické měřítko. V prvním případě je vidět, že pokles velikosti singulárních čísel přibližně od 80. singulárního čísla začíná být stabilní až přibližně k 60. singulárnímu číslu, kdy opět pokles nabírá na rychlosti. V případě druhém je počáteční pokles výrazně slabší a přibližně od 15. singulárního čísla je téměř stabilní, až na poslední tři singulární hodnoty (bohužel necelá 4% úspora dat za tato singulární čísla je takřka bezvýznamná). Přímé porovnání komprimovatelnosti je vidět na výřezech z levého horního rohu již zmiňovaných obrázků na obr. 3. Po odebrání poloviny matic z dyadickéhé expanze nejsou kompresní artefakty na obr. 3a na první pohled viditelné. Ovšem na obr. 3b je již při takovéto kompresi vidět šum v pomyslném obdélníku obsahujícím náš atraktor. Mimo pomyslný obdélník najdeme vertikální (resp. horizontální) pruhy za jeho horizontálními (resp. vertikálními) hranami, nicméně tento kompresní artefakt je už na hraně viditelnosti. Rozdíl v kvalitě mezi po kompresi barevného a černobílého obrázku, při použití koeficientů 0.3, 0.59, 0.11 pro převod RGB kanálů do kanálu jediného a algoritmu bez detekce hran, není ve většině případů znatelný (viz obr. 4 a 5, 6). Důvodem pro tyto poměry je odlišná intenzita vnímání jednotlivých barev, kdy zelená je vnímána nejjasněji a naopak modrá s nejmenší intenzitou.[5] Při použití 3

(a) čtvrtinový výřez obr. 1a s kompresí 50% (b) čtvrtinový výřez obr. a s kompresí 50% Obrázek 3: Porovnání komprimovatelnosti obr. 1a a obr. a Obrázek 4: Srovnání kvality po kompresi barevného a černobílého obrázku oproti zdrojovému obrázku (obr 1a). Při kompresi bylo zachováno 5% (16) singulárních hodnot. poměrů, které minimálně zkreslují světlost objektů na obrázku, se ve většině případů černobílého komprimovaného obrázku projevuje dokonce i případná variabilita v distribuci singulárních čísel u jednotlivých barevných kanálů barevné předlohy. Výjimkou jsou hraniční případy daného převodního algoritmu, kdy dané barvy splynou a může dojít ke korekci případných zdrojů artefaktů při převodu anebo ke změně charakteru těchto artefaktů. Počet barevných kanálů ovlivňuje především nutný počet singulárních rozkladů (pro každý kanál jeden). Pouze je-li rozdílná distribuce vlastních čísel jednotlivých kanálů, pak ovlivní i výsledný koeficient velikosti souboru, který bude průměrem koeficientů jednotlivých barevných kanálů. Barevná hloubka ovlivňuje pouze pamět ové požadavky na jeden prvek matice, na koeficient velikosti souboru nemá vliv žádný. Necht máme černobílý obrázek o rozměru m x n s jediným 8bit barevným kanálem. Obrázek můžeme do paměti uložit jako matici m x n zabírající m.n bytů. Je-li r 1 hodnost této matice, pak můžeme uložit matici za pomoci skeletního rozkladu do r 1.(m + n) bytů. Potom po kompresi, při které ponecháme r členů dyadické expanze, můžeme uložit matici do r.(m+n+1) bytů, nebo do- 4

konce díky skeletnímu rozkladu do r.(m + n) bytů. Potom ξ koeficient velikosti souboru oproti originálu je: ξ = (m + n).r (m + n).r 1 = r r 1 Velikost obrázku v paměti ve formě skeletního rozkladu bude ξ.r 1.(m + n) bytů, a tedy změna velikosti souboru je přímo úměrná změně počtu singulárních čísel (hodnosti matice). Samozřejmě tyto hodnoty platí pouze pokud data ukládáme ve formě skeletního rozkladu. Vezmeme-li v potaz tradiční datové formáty obrázku, pak poměr velikosti komprimovaného se může lišit oběma směry kvůli kompresi zahrnuté ve formátu (např. JPEG, PNG) anebo velikost souboru může být neměnná v případě formátu bez komprese (např. BMP).[3] Pokud bychom chtěli komprimovat pouze za pomoci singulárního rozkladu, poté je nutné aby r.(m + n + 1) m.n (r počet singulárních čísel), ovšem i skeletní rozklad má o r lepší pamět ovou náročnost. Tedy, až na výjimky, by bylo samostatné využití singulárního rozkladu pro ukládání dat diskutabilní. Technicky čelí komprese přes singulární rozklad jednomu zásadnímu problému. Singulární rozklad je velice všestranný nástroj a je možné z něj mnoho vlastností dané matice odvodit. Ovšem tyto, pro kompresi redundantní, informace jsou naneštěstí za cenu velké výpočetní náročnosti. Navíc postup běžný při výpočtu na papíru přes charakteristický polynom je v takto velkých maticích nemyslitelný. Nejrychlejší algoritmy pro hledání vlastních čísel jsou algoritmy iterativní. Mezi ně patří např. QR transformace - jedna z nejpopulárnějších skupin algoritmů. Velmi častou implementací je převod matice pomocí rotací do bidiagonálního tvaru a následná diagonalizace za pomoci QR algoritmu. Iterativní metody nedají přesný výsledek, pouze k němu s každou iterací konvergují a výsledek jsou schopny dodat s deklarovanou přesností (v závislosti na nastavení použité knihovny nebo vlastní implementace). Bohužel problém s náročností při větších obrázcích je stále u většiny knihoven velmi znatelný. Částečně tento problém řeší implementace využívající paralelizace (rozděl a panuj), kdy je SVD rozklad rozdělen na několik menších úkolů, což je obzvláště výhodné u velkých matic.[] Navíc to umožňuje efektivně využít i mnohem specializovanější zdroje. Například grafické karty se velmi často využívají při výpočtech umožňující masivní paralelizaci a rychlost se může u velkých matic lišit 6-7x[6], v závislosti na použitém algoritmu, jeho implementaci a použitých knihovnách pro výpočty na grafické kartě. 5

Obra zek 5: Ru zne pome ry komprese barevne ho obra zku. Procenta zachovany ch singula rnı ch hodnot jsou po r a dcı ch: 100% (pu vodnı ), 75%, 5%, 10%, 5% a 1%. 6

Obra zek 6: Ru zne pome ry komprese c ernobı le ho obra zku. Procenta zachovany ch singula rnı ch hodnot jsou po r a dcı ch: 100% (pu vodnı ), 75%, 5%, 10%, 5% a 1%. 7

Reference [1] Math.net numerics documentation. http://numerics.mathdotnet.com/docs/. Navštíveno:. 8. 014. [] Singular value decomposition. http://www.alglib.net/matrixops/general/svd.php. Navštíveno:. 8. 014. [3] P. Aguilera, Comparison of different image compression formats. http : //homepages.cae.wisc.edu/ ece533/project/f06/aguilera r pt.pdf. Navštíveno:. 8. 014. [4] L. Cao, Singular value decomposition applied to digital image processing. http://www.lokminglui.com/caosvdintro.pdf. Navštíveno:. 8. 014. [5] D. Finley, Hsp color model alternative to hsv (hsb) and hsl. http://alienryderflex.com/hsp.html. Navštíveno:. 8. 014. [6] B. Foster, S. Mahadevan, and R. Wang, A gpu-based approximate svd algorithm, in Parallel Processing and Applied Mathematics, Springer, 01, pp. 569 578. [7] A. Kozlík, Ztrátová komprese obrázku pomocí singulárního rozkladu. http://www.karlin.mff.cuni.cz/ kozlik/linalg/svd.php. Navštíveno:. 8. 014. [8] J. Rampe, Visions of chaos, version 5.7 [software]. Dostupné na: http://softology.com.au/voc.htm. [9] T. Vuthy, Using the singular value decomposition (svd) for image compression. http://volunteerlecturerprogram.com/wpcontent/uploads/013/01/vuthythesis.pdf. Navštíveno:. 8. 014. 8