BUREŠ, J. Alternativní JPEG dekodér [online]. Brno: Vysoké učení technické v Brně. Fakulta strojního inženýrství. 2023.
Tématem diplomové práce Bc. Jiřího Bureše byla rekonstrukce obrazu založená na kompresním formátu JPEG, doplněná o inovativní prvek. Téma zahrnuje více oborů, zejména zpracování digitálního obrazu, lineární algebru a konvexní optimalizaci. Součástí zadání bylo také prokázat schopnost implementace výsledného algoritmu v MATLABu. Student měl diplomovou práci zadanou od roku 2020. Konzultace za tu dobu probíhaly zřídka. Důsledkem malého množství odvedené práce byl můj souhlas s udělením zápočtu za diplomový projekt teprve po předvedení fungujícího prototypu budoucího počítačového kódu. To se nakonec studentovi podařilo a zápočet jsem mu tedy v prodloužené lhůtě udělil v červenci 2022. Frekvence konzultací však poté zásadně nevzrostla, k čemuž bohužel přispěly i studentovy rodinné problémy. Od listopadu 2022, kdy měl student v LaTeXu nasázených 10 stran neuspořádaných matematických poznámek, do odevzdání v květnu 2023 jsem se studentem neměl kontakt. Uvedené shrnutí časového průběhu samo o sobě vysvětluje moji nespokojenost s níže uvedenými aspekty odevzdané diplomové práce. Bc. Bureš napsal text práce sám, což beze zbytku platí o praktické části, nicméně některé kusy textu v teoretické části nápadně připomínají např. moje skripta, případně jsou použity ne úplně vhodné překlady (možná strojové) z angličtiny. Autorův psaný projev je čtivý, ale čtenář se zasekává na nedotaženostech, které patrně vyplývají z „šití horkou jehlou“. V práci je mnoho překlepů. Po grafické stránce je práce průměrná, po typografické stránce podprůměrná. Obrázků mohlo být více, zejména bych ocenil ilustraci postupu nově vyvinuté metody formou alespoň blokového diagramu. Poměr objemu teoretické ku praktické části je nevhodně vysoký. Teorie obsahuje naprosto zbytečné detaily k záležitostem, které se v práci nevyužijí nebo jsou okrajové. Jako příklad nechť poslouží kapitola 7, která se prakticky nepoužívá a tato problematika měla studentovi posloužit pouze jako odrazový můstek k totální variaci a konvexní optimalizaci. Přesto student v Úvodu píše, že řídké reprezentace využije k rekonstrukci. Naopak, některé ideje a nástroje, které v praktické části používá, nejsou vysvětleny dostatečně. Z hlediska zavádění pojmů působí text roztříštěně; např. totální variace se objevuje na dvou různých místech místo aby byla zavedena jednou a jednotně. Student působí na matematicky zaměřeném oboru, ale tomu neodpovídá styl ani úroveň textu. Definice i tvrzení jsou často vágní a vyjádřené čistě slovně. Značení se mění podle toho, odkud student čerpal inspiraci. Značení je místy nestandardní (např. umístění indexů). Některá tvrzení ani nejsou pravdivá. Chybí strukturované, konzistentní a jasné vyjadřování, což by mělo být práci obhajované na matematickém oboru vlastní. Je třeba uznat, že student dovedl praktickou část do podoby funkčního programu, který přijme vstupní obrázek a porovná standardní JPEG kodek s nově vyvinutým. Ačkoliv proximální algoritmus je zřejmě v pořádku, jeho vstupy v podobě obrazových hran jsou bohužel určeny diskutabilním způsobem (viz níže). Co se týká výsledků, student opakovaně (pravdivě) říká, že potlačení artefaktů jde ruku v ruce s redukcí detailů v obraze. Konstatuje to však jen jako fakt; nepodává interpretaci, proč tomu tak je; přitom to by mělo být zřejmé z podoby řešené optimalizační úlohy. Podobně z tabulek vyplývá, že ke zlepšení kritérií PSNR vedlo použití až 75 % hranových pixelů. Tato skutečnost není slovně uvedena, ani komentována, natož aby student alespoň hypotetizoval, proč se navržené řešení chová jak se chová nebo navrhl námět na vylepšení. Student cituje 73 zdrojů, což se mi pro tuto práci jeví jako přemrštěné. Zdá se mi, že autor často cituje zdroje, které našel k danému tématu jako první. Konkrétní připomínky: * Kapitola 1 představuje dobrý motivační úvod, ale v této funkci si ji umím lépe představit jako součást Úvodu, který je sám o sobě velice stručný. * Str. 7: Tvrzení, že kompresí „docílíme redukce výpočetní náročnosti“ je zcela mylné, je tomu právě naopak. * Kapitola 2 osciluje mezi kodeky obecně a JPEG; pochopení to nesvědčí. * O transformaci WHT (která nakonec není potřeba) se píše řada vlastností, ale to, že se jedná o unitární transformaci, v práci není. Přičemž to je klíčová vlastnost pro efektivní výpočet reprezentace obrazu pomocí dané transformace. * Str. 9: „Kvantizace v našem případě zahrnuje jak kvantizaci samotnou, tak i prahování.“ Kvantizace ano, ale prahování ne. Všechno je zajištěno kvantizací neboli zaokrouhlováním. * Str. 10: Z nebylo definováno. * Str. 10: Citovaný zdroj [57] o kvantizačních maticích pro JPEG nic nepíše. * Student nerozlišuje mezi RGB modely a prostory. * Část 3.2.3 patří tam, kde je popisován JPEG kodek. * Obr. 4.1 je extrémně drobný. * DCT je porovnávána s DFT, ale ta nebyla nikde zavedena, ani její „komplexní jádro“ (str. 18). * Str. 18: Věta začínající „Je vhodné poznamenat“ nepatří do matematického textu. Definice musejí být uvedeny přesně. * Str. 20: Věta začínající „Pro každý takový“ a následující vytvářejí dojem, že postupem rozdělení na bloky získáme efektivněji to samé, jako kdybychom zpracovávali celý signál najednou. To není pravda. * Část 4.3 je přebraná z literatury, těžko pochopitelná. Podobně část 4.5, kde se navíc mluví o KLT, které nebylo zavedeno. * Str. 21: „Zjevně, amplituda autokorelace po aplikaci DCT je velmi malá“. Odkud je to zjevné? Navíc diplomová práce pojem autokorelace vůbec nezavedla. * Str. 21: Nebylo zavedeno, co se myslí „vysoce korelovanými obrazy“. * Str. 23: „Umožňuje nám totiž transformační matici předpočítat nezávisle na vstupních datech.“ Všechny transformace uvažované v této práci jsou lineární a v důsledku nezávislé na vstupních datech. * Obr. 4.4 jsem nepochopil, navíc na něj není z textu odkaz. * Kapitola 5 o JPEG částečně opakuje, co již bylo řečeno, ale neodkazuje se na ta místa. * Str. 33: Matici C je zcela zbytečné uvádět, liší se od předchozí pouze DC složkou. * Str. 33: Ukázka pro T(0,0) je nevhodná, jelikož se jedná o DC složku a ta se kóduje diferenčně. * Část 5.3.7. mluví o artefaktech JPEG, ale pouze slově, bez uvedení grafických příkladů nebo bez odkazu alespoň na obr. 1.1. Tato část navíc vzbuzuje podezření, že student vidí jako problém pouze blokový artefakt, protože tzv. ringing artefakt nezmiňuje ani názvem, ani významem. Hlavní myšlenkou diplomového projektu je přitom odstranění artefaktů druhého druhu. * Kapitola 6 mixuje spojité a diskrétní obrazy (a detektory). * Část 6.1.1. mluví o obrazu s „bílým pozadím vedle pumpy“. Žádný takový obrázek ale není ukázán. * Část 6.1.1. mluví o použité webkameře. Proč? Je snad důležité jak byl obraz pořízen? * Str. 44: Chybějící odkaz na obrázek. * Str. 47: Chybí odmocnina v definici l2 normy. * Str. 51: „My se budeme zabývat tzv. proximálními algoritmy.“ Chybí zdůvodnění proč. * Str. 51: Není pravda, že bude stačit se úlohy o dvou členech. (O několik stran později to vyjde najevo.) * Str. 52: Nepochopil jsem, proč by tvar (8.8) měl být potřebný pro další práci. * Vztahy (8.15), (8.16) a (8.18) obsahují značku pro normu místo absolutní hodnoty. V (8.16) chybí rovnítko. * Str. 56: Condatův algoritmus je uveden pro Hilbertovy prostory, které jsou zde zmíněny poprvé. V jakých prostorech se pracovalo dosud? * Str. 58: „V našem případě volíme M=2“. Není vysvětleno proč. * (9.1) není získán výpočtem, ale je to pouhé rozepsání předchozí sumy na dva sčítance. * Str. 58: Autor správně uvádí, že „nemáme žádnou diferencovatelnou funkci, kterou bychom použili“, ale není zdůvodněno, proč. Formulace řešené úlohy totiž přijde nesmyslně až později. * Str. 58: „Chceme, aby koeficienty ck a cQk od sebe nebyly dále než 1/2 bodu.“ Není jasné, co je bod, ale zejména chybí argumentace, proč to chceme. V širším kontextu chybí uvedení motivace proč pak úloha vypadá jak vypadá. * Str. 59: U TV by bylo vhodné upozornit na souvislost s gradientem, to ale chybí. * V části 9.1. je mnoho chyb, nepřesností, nevhodně zavedených symbolů. * V klíčové úloze (9.7) chybí značka pro totální variaci. * V Algoritmu 3 jsou indexy iterací značeny dvojím způsobem. * Chybí vysvětlení, kam se ztratilo tau ve vztahu (9.10). V tomto vztahu je také Qk tučně, což by značilo matici (to ale není možné). * Vztah (9.11) je možné snadno odvodit pomocí Moreauovy identity, kterou autor uvádí o půl strany níže. * Vztah (9.15) postrádá vyústění (že je to nakonec projekce na pixely). * Parametr epsilon je na str. 62 stanoven jako 1e-4, což v zápisu autora, s mocninou, působí nevěrohodně. Asi myslel číslo 0,0001. * Ve vztahu (9.16) je x kurzívou, ale jedná se o vektor, resp. obraz. * Str. 63: Není zdůvodněno přetypování „uint8 na double“. * Vztahy pro diference v části 10.2. platí v 1D. Chybí komentář, jak se provede pro obrazy. * Str. 66: Vztah PSNR = * Z textu není jasné, co se v jeho algoritmu děje s DC složkou. * Závěrečné kvalitativní srovnání na obr. 12.1 až 12.3 je povedené. * Zdroj [43] má uvedeného chybného autora. * Na závěr k výběru pixelů z hranového detektoru: Jejich výběr považuji za nedomyšlený a domnívám se, že způsob zvolený studentem nevede k možné kvantifikaci poměru typu „cena/výkon“, tedy závislost počtu přidaných pixelů na výsledném zvýšení kvality rekonstrukce. A to zejména z toho důvodu, že dopředu není známo, kolik hranových pixelů bude celkově detekováno. Zvolený procentuální přístup proto nikdy nevede k předvídatelnému počtu vybraných pixelů, což by v reálných podmínkách byl klíčový faktor kodeku. Souhrnně: Domnívám se, že ačkoliv autor byl schopen implementovat funkční algoritmus, textová část a interpretace výsledků nedosahují úrovně, jak by měla vypadat závěrečná kvalifikační práce na matematicko-technickém oboru.
Kritérium | Známka | Body | Slovní hodnocení |
---|---|---|---|
Splnění požadavků a cílů zadání | E | ||
Postup a rozsah řešení, adekvátnost použitých metod | E | ||
Vlastní přínos a originalita | F | ||
Schopnost interpretovat dosažené výsledky a vyvozovat z nich závěry | F | ||
Využitelnost výsledků v praxi nebo teorii | F | ||
Logické uspořádání práce a formální náležitosti | E | ||
Grafická, stylistická úprava a pravopis | D | ||
Práce s literaturou včetně citací | E | ||
Samostatnost studenta při zpracování tématu | E |
Předložená diplomová práce se zabývá problematikou obrazového kodeku JPEG, který využívá tzv. ztrátovou kompresi dat. Jádrem práce je snaha potlačit vznikající artefakty v oblasti jasových hran v obraze modifikací stávajícího kodeku, tedy navrhnout kodér a dekodér obrazových dat s využitím hranových detektorů a porovnat dosažené výsledky. Navzdory rychlému vývoji paměťových médií je téma práce hledající vylepšení standardních algoritmů ztrátové komprese dat stále aktuální. Práce je obsáhlá s celkovým počtem 70 stran textu. Je rozdělena do 12 kapitol. První kapitola se věnuje popisu vlastního problému, druhá až pátá základním teoretickým znalostem a standardnímu formátu JPEG. Šestá až osmá kapitola se věnuje detekci hran, řídké reprezentaci signálů a proximálním algoritmům. Devátá kapitola se zabývá odvozením vlastního proximálního algoritmu, v desáté kapitole je popsána jeho implementace v prostředí MATLAB. Jedenáctá kapitola se zabývá hodnocením kvality obrazu z hlediska jeho rekonstrukce. Z pohledu logického uspořádání práce by bylo vhodné tuto kapitolu zařadil ještě před vlastní realizační část. Ve dvanácté kapitole jsou prezentovány výsledky této práce. Student při řešení diplomové práce nastudoval velké množství publikací, které se týkají dané problematiky. Z tohoto důvodu je tato práce z velké části rešeršní, která korektně cituje použité literární zdroje. S ohledem na úspěšnou modifikaci standardního kódování JPEG usuzuji, že se diplomant v dané problematice dobře orientuje a je schopen vlastní tvůrčí činnosti. Začátek práce je dobře čtivý a uvádí čtenáře do dané problematiky. Již na začátku práce se objevují drobné chyby, které lze občas akceptovat. Při dalším čtení však různých překlepů, stylistických i věcných chyb přibývá. Jako příklad uvádím špatný popis Obrázku 4.3 na str. 22, zcela chybějící obrázek na straně 41, špatně použité závorky argumentu funkce u výrazu (6.7) na str. 42, zcela chybějící závorky ve výrazech (6.12) a (6.13) s chybnými hodnotami a stejným značením konvoluční masky a aproximace gradientů. Dále neúplný výraz (7.12) na straně 49, vynechané x ve výrazech (9.4) a (9.5) na straně 59 atd.. V práci se vyskytují "přetečené" řádky, souhlásky na konci řádku, špatné odsazování výrazů, které stěžují jejich čitelnost. Z grafického hlediska některé obrázky jsou značně malé s prakticky malým či nečitelných textem. Ve 12. kapitole a příloze jsou znázorněny snímky pro jejich vizuální porovnání, které však nemají stejnou velikost ani poměr stran. U práce, která se zabývá zpracováním obrazové informace, bych očekával v tomto směru jistou preciznost. Výše popsané nedostatky však nemají vážný vliv na podstatu diplomové práce. Její cíle byly splněny a proto práci doporučuji k obhajobě. Dotazy: Na straně 8 je chybně uveden výraz (2.2), můžete tento výraz uvést správně? Na straně 43 jsou chybně uvedeny konvoluční masky - vztah (6.12) a (6.13). Můžete uvést jejich správný tvar? Na straně 43 jsou chybně uvedeny konvoluční masky - vztah (6.12) a (6.13). Můžete uvést jejich správný tvar vzhledem k rovnicím (6.10) a (6.11) ? Na straně 12 hovoříte o tom, že nelineární data zatížená gamma korekcí v rozsahu [0,255] jsou používána v aplikacích pro zpracování obrazu. Můžete uvést výhody a nevýhody použití gamma korekce, tedy užití lineárních a nelineárních dat? Ve výsledcích porovnáváte standardní JPEG kódek a vámi modifikový. V tabulce je uveden potřebný čas, který je však bez jednotek. Můžete uvést zda jsou v obou případech jednotky stejné a jaké? Lze vámi modifikovaný algoritmus optimalizovat z hlediska rychlosti s využitím paralelního programování pro CPU či GPU?
Kritérium | Známka | Body | Slovní hodnocení |
---|---|---|---|
Splnění požadavků a cílů zadání | A | ||
Postup a rozsah řešení, adekvátnost použitých metod | B | ||
Vlastní přínos a originalita | B | ||
Schopnost interpretovat dosaž. výsledky a vyvozovat z nich závěry | C | ||
Využitelnost výsledků v praxi nebo teorii | C | ||
Logické uspořádání práce a formální náležitosti | D | ||
Grafická, stylistická úprava a pravopis | D | ||
Práce s literaturou včetně citací | C |
eVSKP id 145607