STACHERA, T. Detekce a počítání LED s využitím SSE instrukcí [online]. Brno: Vysoké učení technické v Brně. Fakulta elektrotechniky a komunikačních technologií. 2010.

Posudky

Posudek vedoucího

Honec, Peter

Úkolem studenta bylo navrhnout a implementovat algoritmy pro detekci a počítání rozsvícených LED diod na ovládacím panelu výkonového zdroje a tyto algoritmy optimalizovat s využitím SSE instrukcí. Zadání lze hodnotit jako časově i odborně náročné. Předpokládalo nastudování základních metod zpracování obrazu a hlavně zvládnutí problematiky SIMD instrukcí. V úvodu práce je věcně rozebrán princip SSE instrukcí, jejich specifika a použití. V další části práce je vytvořeno několik demonstračních funkcí pro zpracování obrazu s využitím SSE a v poslední části jsou metodu s využitím SSE otestovány na reálných snímcích rozsvícených LED diod panelů výkonových zdrojů. Metoda detekce rozsvícených LED diod je relativně jednoduchá, zároveň však postačující. Úkolem diplomanta bylo hlavně demonstrovat výhody kódu psaného pomocí SSE. Pro tyto účely bylo vytvořeno přehledné uživatelské rozhraní samotné algoritmy jsou kvůli modularitě přeloženy jako DLL knihovny. V hlavní části práce a v jejím závěru jsou velmi přehledně a věcně prezentovány výsledky. Vzhledem k dané problematice není na škodu občasný výskyt částí kódu přímo v hlavní části práce. Úroveň odborných znalostí diplomanta lze vzhledem k náročnosti práce jako vysokou, student úspěšně vyřešil všechny body zadání. Student pracoval samostatně a s vlastní iniciativou, s minimem nutných konzultací. Kód programu a algoritmů je psán srozumitelně a přehledně. Práce svědčí o inženýrských schopnostech diplomanta a navrhuji hodnocení stupněm A.

Dílčí hodnocení
Kritérium Známka Body Slovní hodnocení
Splnění zadání A 50/50
Aktivita během řešení a zpracování práce (práce s literaturou, využívání konzultací, atd.) A 20/20
Formální zpracování práce A 18/20
Využití literatury A 10/10
Navrhovaná známka
A
Body
98

Posudek oponenta

Janáková, Ilona

Zadání diplomové práce lze rozdělit do tří hlavních úkolů - vytvoření několika funkcí ke zpracování obrazu "klasicky" a s použitím SSE instrukcí a jejich porovnání, návrh algoritmů pro počítání LED diod na panelu výkonového zdroje a implementace algoritmů do GUI. Splnění všech bodů zadání lze hodnotit jako odborně i časově náročné, přesto všechny byly splněny. Řešení předpokládalo především zvládnutí programování v několika prostředích. Celá práce má se všemi náležitostmi 58 stran. I přes spíše menší rozsah dostatečně vystihují řešení všech bodů zadání včetně zhodnocení výsledků. Práce je členěna do osmi kapitol. Po úvodu následují dvě spíše teoretické kapitoly věnující se popisu SSE instrukcí a použitých vývojových prostředí. Čtvrtá kapitola již popisuje čtyři vytvořené funkce s použitím SSE instrukcí a bez nich. Pátá kapitola se věnuje druhému bodu zadání, tedy řešení počítání LED na panelu. Student zde navrhl dvě metody a opět je naprogramoval s použitím SEE instrukcí i bez nich a provedl jejich porovnání včetně srovnání dvou kompilátorů. Šestá kapitola popisuje vytvořené uživatelské prostředí, které splňuje všechny dané požadavky. Dosažené výsledky jsou zhodnoceny v sedmé kapitole. Na práci lze ocenit dovedení jednotlivých algoritmů i celé aplikace do podoby, která je reálně nasazena v průmyslové aplikaci a spolehlivě funguje. Jen je možná škoda, že vytvořená knihovna funkcí optimalizovaných pro použití SSE instrukcí není rozsáhlejší (i když chápu, že v práci měla sloužit jen pro porovnání s C/C++). Kdyby například obsahovala další filtry, mohla být, vzhledem k jejím dobrým výsledkům, využívána i v jiných aplikacích. Studentem navržené postupy detekce LED diod nejsou podle mého názoru úplně optimální, i vzhledem k použití SSE instrukcí, nicméně druhá navržená metoda pracuje se stoprocentní spolehlivostí (na 34 testovacích snímcích). Při samotném testování aplikace mi zdlouhavé vkládání jednotlivých funkcí přišlo trošku nekomfortní, ale zvolený postup umožňující dynamicky přidávat další funkce je určitě správný. Při testech jsem nenarazila na žádnou chybu. Vytvořená aplikace je přehledná a snadno ovladatelná. Z hlediska formální, grafické a stylistické stránky lze práci vytknout několik nedostatků, například číslování vztahů nebo chyby v odkazech na obrázky. Spíše jako doporučení pro další práce bych zmínila vhodnost rozdělit nebo nějak zvýraznit rozsáhlejší popisy (např. Sobelův operátor na str. 20 nebo jednotlivé funkce na str. 48 a 49). Také jeden obrázek vydá často za množství textu. Za závažnější chybu však považuji zcela nesprávné citace použité literatury. V práci jsem také zaznamenala řadu chyb a překlepů (i když je autor maskoval slovenštinou). I přes zmíněné drobné nedostatky považuji práci za velmi zdařilou. Pan Stachera prokázal zjevné inženýrské schopnosti a práci doporučuji k obhajobě. Po zodpovězení dotazů navrhuji klasifikaci B.

Dílčí hodnocení
Kritérium Známka Body Slovní hodnocení
Splnění požadavků zadání B 17/20
Odborná úroveň práce B 43/50
Interpretace výsledků a jejich diskuse B 17/20
Formální zpracování práce C 7/10
Navrhovaná známka
B
Body
84

Otázky

eVSKP id 30867