NURKHAT, A. Stabilizace videa na Raspberry Pi [online]. Brno: Vysoké učení technické v Brně. Fakulta elektrotechniky a komunikačních technologií. 2025.

Posudky

Posudek vedoucího

Řičánek, Dominik

Student Alikhan Nurkhat měl za úkol navrhnout algoritmus pro digitální stabilizaci videa s cílem dosáhnout zpracování v reálném čase na platformě Raspberry Pi 4B. Ačkoliv existuje celá řada řešení pro stabilizaci videa na výkonných systémech, to stejné nelze říct o platformách s omezeným výpočetním výkonem. Student se musel seznámit s poměrně složitými metodami digitální stabilizace – od detekce klíčových bodů přes sledování pohybu (např. Lucas-Kanade, ORB, RANSAC) až po fáze kompenzace a deformace obrazu pomocí afinních transformací. V práci byly využity a implementovány pokročilé techniky z oblasti počítačového vidění a zpracování obrazu s důrazem na efektivitu a použití v reálném čase za omezených podmínek. Implementace byla provedena v jazyce Python, s využitím knihovny OpenCV a dalších modulů, a výsledný software byl navržen v rámci paradigmatu objektového programování. Student zpracoval systém, který umožňuje konfiguraci pomocí JSON souboru a který je podrobně zdokumentován v praktické části této bakalářské práce. Testování kvality stabilizace proběhlo přímo na zařízení Raspberry Pi 4B s pomocí algoritmu ORB, včetně vizuálního vyhodnocení, na třech typech videí - bez stabilizace, stabilizováno studentovým algoritmem v reálném čase a stabilizováno offline algoritmem nalezeným na GitHubu. Obdobně došlo k vyhodnocení vlivu různých parametrů na kvalitu a rychlost zpracování. I přes značnou výpočetní náročnost zvolené úlohy se studentovi podařilo navrhnout řešení, které je v daných podmínkách provozuschopné, a prokázal tak dobré inženýrské schopnosti v oblasti návrhu efektivních algoritmů počítačového vidění. Student pracoval převážně samostatně, průběžně konzultoval klíčové části návrhu a výsledky. K rešerši přistoupil zodpovědně, čerpal z odborné literatury a citoval relevantní vědecké články a zdroje. Zadání bylo splněno ve všech bodech. Výsledný software je funkční a otestovaný. Práce svědčí o nadprůměrné úrovni technických schopností studenta bakalářského programu, proto práci doporučuji k obhajobě s hodnocením A (99b).

Navrhovaná známka
A
Body
99

Posudek oponenta

Richter, Miloslav

Téma stabilizace videa lze považovat za středně obtížné. Předložená správa svědčí o splnění zadání, kdy první bod požadující rešerší je popsán v prvních dvou kapitolách (zpracování obrazu a stabilizace). Jednotlivé body jsou dobře popsány, nejsou však navázány na vlastní práci studenta. Tato část svědčí i o nastudované literatuře, která je uvedena a v práci odkazována. U některých zdrojů (např. Kalmanův filtr [8]) by však bylo vhodnější dohledat originální literaturu, protože její interpretací v citovaném článku byla metoda zkreslena (pouze na základě popisu článků je těžké usuzovat na kvalitu a vhodnost využití ve vlastní práci studenta). V kapitole 3 jsou popsány součásti programu, zdrojové kódy a vytvořené metody. Za touto kapitolou ihned následuje vyhodnocení a závěr. Značně postrádám popis provázanosti jednotlivých metod z úvodu mezi sebou a ve vlastním zpracování – například vstupní a výstupní data mezi jednotlivými implementovanými bloky, reálně použité metody a jejich případné úpravy, nastavení parametrů … U popisu SW v kapitole 3 jsou součásti popsány kvalitně, ale chybí mi formáty a význam předávaných dat. Jelikož se jedná o práci věnovanou zpracování obrazu, potom v ní zcela postrádám snímky prezentující použití metod (a například rozbor výsledků pro změnu parametrů algoritmů), zvláště potom vlastních dat studenta. Hodnotící kapitola 4 patří k lepším částem práce. I zde se však vyskytují nedefinované termíny, které snižují orientaci. Vhodné by bylo provést hodnocení metod nejen celkově, ale i vůči průběhu videa – časové rozlišení okamžiků pro výpadky detekce, velikost posunů, velikost chyby, ostrost obrazu, rychlost zpracování ... Prezentační úroveň i formální úprava jsou na dobré úrovni. Na základě ukázky výsledného zpracování lze konstatovat, že se student v příslušné problematice orientuje. Bohužel na zvolenou koncepci a použité metody lze pouze částečně usuzovat z přehledu metod a z popisu vytvořených funkcí v SW. Skutečný rozsah realizace a využité metody a postupy je možné zjistit pouze nahlédnutím do zdrojových kódů. Zde je možné si všimnout částí zcela vypracovaných studentem a pro složitější činnost potom využití dostupných knihoven. Například implementaci Kalman 1D je těžké ověřit a zhodnotit, protože v práci není nikde uveden použitý model, nastavení parametrů ani návrh řešení. V práci se vyskytují překlepy a nepřesnosti, které však vážněji nezasahují do čtivosti textu. Např. špatné odřádkování str. 26 (použito // místo \\ v texu?); str. 14 korelace a konvoluce by neměly mít stejné operátory; str. 54 a dále – definice termínů (např. drop rate ...) není uvedena použitá definice, což může vést k nedorozuměním při interpretaci výsledků. Co znamená vytížení procesoru 160% - proti čemu? U korekce v kapitole 2.3 - kde se bere matice T? Píše se, že se vypočítávají ve fázi odhadu – čeho? Jak? Z jakých bodů? Na str 43. se píše, že se v programu zobrazuje trajektorie kamery – co to je? Jak to vypadá? K práci je přiloženo médium s daty. Zde bych vytknul použití znaků mimo ASCII pro názvy souborů. Nejdůležitější částí zde je přiložené video a jeho dvě zpracování. U videa lze ocenit dobrý výběr scény, která vystřídá různé varianty pohybujících se pozadí a popředí, čímž kvalitně demonstruje vlastnosti zpracovávajícího SW. U videa mi není jasný zdroj. I přes zmíněnou kvalitu tohoto videa bych ovšem očekával, že k testům dojde na více datech. Jsou zde také zdrojové kódy, které nejsou komentované. I když používají podobné značení, jaké je v textech věnovaných literatuře, měly být v chybějící části popisu práce i vývojové grafy pro lepší orientaci a návaznost v algoritmech. Práce svědčí o bakalářských schopnostech studenta

Navrhovaná známka
C
Body
75

Otázky

eVSKP id 167444