DUDA, P. Demonstrační úlohy počítačového vidění na CNC frézce [online]. Brno: Vysoké učení technické v Brně. Fakulta elektrotechniky a komunikačních technologií. 2024.

Posudky

Posudek vedoucího

Janáková, Ilona

Předložený dokument pana Dudy má na bakalářskou práci nadprůměrný rozsah. Je uspořádán v logickém sledu, dobře formálně i graficky upraven (až na obrázky kreslené rukou). Teoretické kapitoly jsou zpracovány dobře a správně pracují s literaturou (21 odkazů dle normy). Na praktické části lze odhadovat jistý časový pres, který se projevil větším počtem gramatických a stylistických chyb. Podle mě všech známých skutečností i dle výsledku porovnání systémem Theses není dokument plagiátem (sice vyšší míra podobnosti 8,8 % je daná formálními náležitostmi práce a teoretickým úvodem). Zadání lze na bakalářskou práci považovat za náročnější. Vyžadovalo mimo jiné fyzické i komunikační propojení různého hardwaru i softwaru, řešení 3D úlohy s více souřadnými systémy, znalosti a zkušenosti z oblasti počítačového vidění a zpracování obrazu, programování ve více vláknech, synchronizaci všech zařízení a událostí atd. Řešení také komplikoval nedostatek informací dodaných k CNC frézce. Student pracoval na úloze průběžně, zodpovědně, samostatně a obzvláště v závěru projektu velmi intenzivně. Jen se ukázalo, že by bylo lepší toto zvýšené úsilí započít ještě o něco dříve. Navrhl vhodné demonstrační úlohy, které dobře reprezentují typické úlohy z praxe, a vybrané implementoval do vlastní aplikace s přívětivým GUI. Jako uchopovací mechanismus použil elektromagnet řízený pomocí relé a Arduina. Mnoho času strávil snahou rozklíčovat komunikaci s kontrolérem frézky. Po mnoha marných pokusech toto uspokojivě vyřešil vytvořením pluginu pro Mach 3. Především díky tomuto zpoždění se mu bohužel nakonec nepodařilo vyřešit problémy synchronizace a využití vláken ve vlastní aplikaci, proto nemohla být aplikace otestována a předvedena v reálném běhu. Takto nestabilní se bohužel, bez další práce a procházení jen velmi málo komentovaného kódu, nedá aplikace moc dobře využít. Reálný běh by také možná odhalil i jistá nedořešená místa v návrhu a zpracování demonstračních úloh, resp. mě jsou některé části z popisu v dokumentu nejasné. Například, jak přesně probíhá proces kalibrace a jestli je v rámci ní zjišťováno zkreslení objektivem a natočením kamery. Z kódu to vypadá, že byly využity funkce OpenCV na kalibraci z obrazu šachovnice, které by toto, včetně výšky (měřítka), řešily, ale v dokumentu je nepříliš jasně popsáno řešení s čtvercovým objektem nasnímaným z různých výšek. Další demonstrační úlohy jsou prezentovány již jen na kolmém pohledu. S přihlédnutím k náročnosti zadání si myslím, že pan Duda odvedl, i přes výše zmíněné problémy, mnoho práce a svými výsledky prokázal schopnost samostatně řešit technické úlohy a aplikovat teoretické znalosti v praxi, a proto doporučuji práci k obhajobě s hodnocením C.

Navrhovaná známka
C
Body
70

Posudek oponenta

Honec, Peter

Cílem bakalářské práce Pavla Dudy bylo navrhnout a realizovat demonstrační či výukové úlohy počítačového vidění na CNC frézce. Po formální stránce neshledávám (až na občasné gramatické chybky) žádný problém, teoretická i praktická část je vypracována věcně a v dostatečném rozsahu, student pracoval s velkým množstvím literatury a externích zdrojů, na což je vždy správě odkazováno. Samotná úloha by se dala charakterizovat jako středně obtížná, nebýt však faktu, že zmiňovaná CNC frézka nemá typizované rozhraní a komunikační protokol není dokumentovaný, natož otevřený. Úlohu tedy přehodnocuji na spíše náročnější. V rámci snahy rozklíčovat komunikaci se student pokusil odposlechnout samotnou komunikaci mezi CNC a dodaným programem či dekompilovat dodanou .DLL knihovnu, avšak neúspěšně. Tento neúspěch však nepřikládám k tíži studentovy práce. Nakonec s použitím interface Mach3 se podařilo komunikaci rozchodit, a to vytvořením pluginu právě do tohoto programu. Tento způsob přinesl mnoho nutných komplikací, se kterými se však student vypořádal, avšak možná kvůli těmto neočekávaným komplikacím nezbyl prostor na dotažení finální funkcionality. V další části student vytipoval kameru a objektiv, k tomuto vytvořil mechanické uchycení a integroval kameru do SW. Student navrhl několik demonstračních úloh – třídění mincí, sledování čáry či nalezení nulového souřadnicového bodu objektu. Škoda, že poslední úlohy, která navíc nebyla detailně rozpracována, student nerozvinul možnost 3D rekonstrukce z kamery při snímání objektu z různých pozic. V práci i na přiloženém datovém nosiči postrádám detailnější zhodnocení úloh třídění mincí či sledování čáry. Pravděpodobně to je z důvodu, že již nezbyl čas na detailní odladění a otestování celku, což student v závěru přiznává a nestabilitu chování připisuje problémům s multithreadovou aplikací. Přes všechny výše zmíněné nedostatky musím konstatovat, že student odvedl opravdu velké množství práce. Úloha se stala velmi komplexní – od reverse-engineeringu, přes tvorbu pluginů, integraci kamery, drobnou práci s hardwarem (arduino s elektromagnetickým úchopem), zpracování obrazu až po sladění všeho do jednoho celku. Proto hodnotím práci známkou C.

Navrhovaná známka
C
Body
70

eVSKP id 159862