bakalářská práce

Detekce objektů na mikrokontroleru i.MX RT

Text práce 3.84 MB Příloha 18.66 MB

Autor práce: Bc. Marina Kravchuk

Ak. rok: 2023/2024

Vedoucí: doc. Ing. Vladimír Janoušek, Ph.D.

Oponent: Ing. Jaroslav Rozman, Ph.D.

Abstrakt:

Tato práce se zaměřuje na využití strojového učení, zejména konvolučních neuronových sítí, v průmyslových aplikacích. Průběh práce zahrnuje zkoumání implementace těchto sítí přímo na vestavěných zařízeních, konkrétně na mikrokontrolérech NXP i.MX RT. Během studia byly prozkoumány materiály týkající se trénování a použití neuronových sítí a jejich optimalizace pro nasazení na zařízeních s nízkým výkonem. Bylo natrénováno a otestováno několik modelů neuronových sítí, z nichž nejlepší byl použit v konečné verzi aplikace. Samotná aplikace je rozdělena do dvou částí: jedna část je napsána v jazyce C/C++ v prostředí MCUXpresso IDE, kde je implementována hlavní funkcionalita programu, zatímco druhá část práce, tj. vytvoření grafického uživatelského rozhraní pro ovládání programu, je provedena v jazyce Python. Výsledkem je funkční aplikace pro mikrokontrolér MIMXRT1170-EVK, která je schopna detekovat a rozpoznávat malé barevné objekty určitých tvarů z předem definované sady dat.

Klíčová slova:

detekce objektů, neuronová sít, konvoluční neuronová sít, zpracování obrazu, vestavěné systémy, NXP i.MX RT.

Termín obhajoby

14.06.2024

Výsledek obhajoby

obhájeno (práce byla úspěšně obhájena)

znamkaBznamka

Klasifikace

B

Průběh obhajoby

Studentka nejprve prezentovala výsledky, kterých dosáhla v rámci své práce. Komise se poté seznámila s hodnocením vedoucího a posudkem oponenta práce. Studentka následně odpověděla na otázky oponenta a na další otázky přítomných. Komise se na základě posudku oponenta, hodnocení vedoucího, přednesené prezentace a odpovědí studentky na položené otázky rozhodla práci hodnotit stupněm B.

Otázky k obhajobě

  1. V práci máte obrázek scény (8.11 a 8.12), který je ale celkem škaredý. Uvedla jste, že je to ale tím, že je přefocený mobilem. Můžete ukázat, jak vypadaly reálné obrázky, na kterých se síť učila?
  2. Uvádíte, že při trénování sítě byly různé vzory předloženy různěkrát. Nemůže to mít vliv na chybné rozpoznávání některých vzorů? Můžete uvést tabulku, kolikrát byl který vzor síti při učení předložen?
  3. Proč byl vybrán uvedený procesor?

Jazyk práce

čeština

Fakulta

Ústav

Studijní program

Informační technologie (BIT)

Složení komise

doc. Dr. Ing. Otto Fučík (předseda)
Mgr. Kamil Malinka, Ph.D. (člen)
Ing. Vojtěch Mrázek, Ph.D. (člen)
Ing. Libor Polčák, Ph.D. (člen)
Ing. David Bařina, Ph.D. (člen)

Hodnocení odráží přístup studentky v průběhu řešení a mírně obtížnější zadání (zahrnující nutnost experimentovat s více variantami řešení) a také přímou praktickou použitelnost vytvořeného díla.

Kritérium hodnocení Slovní hodnocení
Informace k zadání

Jde o zadání firmy NXP. Smyslem práce bylo vytvoření ukázkové aplikace pro demonstraci možností mikrokontroleru i.MX RT v oblasti Embedded AI. 

Konzultant z NXP považuje téma za složitější, především z hlediska řešení kompatibility AI modelů jak s HW, kvůli omezením vestavěných zařízení, tak s knihovnami a nástroji, které dané modely více či méně podporují. 

Veškeré požadavky zadání byly splněny.

Práce s literaturou

Studijní materiály studentka vyhledala na základě doporučení konzultanta samostatně a použila je smysluplně. 

Aktivita během řešení, konzultace, komunikace

Konzultant z NXP velmi chválí přístup studentky v průběhu řešení a oceňuje její schopnost samostatně hledat a využívat studijní materiály a také  trpělivost při experimentování s různými variantami řešení. 

V průběhu řešení proběhlo také několik konzultací s pedagogickým vedoucím a byl vždy zřejmý pokrok.

Aktivita při dokončování

Práce byla dokončena včas a připomínky byly vzaty v úvahu.

Publikační činnost, ocenění

-

Výsledný počet bodů navržený vedoucím: 90
Zobrazit více

Známka navržená vedoucím: A

Výsledná práce je i přes uvedené nedostatky funkční a pro zamýšlené použití plně dostačující. Studentka během své práce ukázala, že je schopná nastudovat problematiku neuronových sítí a z možných hotových knihoven vybrat nejvhodnější pro daný účel, natrénovat ji a na mikorkontroléru zprovoznit. Z tohoto důvodu hodnotím stupněm B/80 bodů.

Kritérium hodnocení Slovní hodnocení Body
Náročnost zadání

Stupeň hodnocení: obtížnější zadání

Tématem práce bylo vytvořit detekci objektů pomocí neuronové sítě na mikrokontroleru. Vzhledem k omezeným možnostem mikrokontrolerů považuji téma za spíše obtížnější.

Prezentační úroveň technické zprávy

Prezentační úroveň technické zprávy je dobrá.

75
Formální úprava technické zprávy

Na formulaci některých vět je poznat, že autorka není rodilou mluvčí českého jazyka, ale jinak práce neobsahuje nějak velké množství chyb, překlepů nebo špatně vyskloňovaných slov.

75
Realizační výstup

Realizovaná neuronová síť sice nepracuje úplně 100%, ale to může být nejspíše tím, že běží pouze na mikrokontroléru. Větším problémem je spíše několikavteřinová prodleva před rozpoznáním objektu, ale pro plánované použití to nejspíše nevadí. 

80
Využitelnost výsledků

Výsledná práce je zamýšlena pro použití jako ukázková aplikace pro prezentaci schopností mikrokontrolérů. Zde je trochu škoda, že nepracuje v reálném čase, ale to by se možná dalo spravit další optimalizací, nebo použitím výkonnějšího mikrokontroleru.

Rozsah splnění požadavků zadání

Stupeň hodnocení: zadání splněno

Zadání práce bylo splněno.

Rozsah technické zprávy

Stupeň hodnocení: je v obvyklém rozmezí

Rozsah zprávy je v obvyklém rozmezí.

Práce s literaturou

Práce s literaturou je dobrá.

75
Otázky k obhajobě:
  1. Uvádíte, že při trénování sítě byly různé vzory předloženy různěkrát. Nemůže to mít vliv na chybné rozpoznávání některých vzorů? Můžete uvést tabulku, kolikrát byl který vzor síti při učení předložen?
  2. V práci máte obrázek scény (8.11 a 8.12), který je ale celkem škaredý. Uvedla jste, že je to ale tím, že je přefocený mobilem. Můžete ukázat, jak vypadaly reálné obrázky, na kterých se síť učila?
Výsledný počet bodů navržený oponentem: 80
Zobrazit více

Známka navržená oponentem: B