Bachelor's Thesis

Implementation of Machine Learning Outputs on Embedded Platforms

Final Thesis 1.62 MB

Author of thesis: Bc. Daria Kinash

Acad. year: 2025/2026

Supervisor: Ing. Josef Strnadel, Ph.D.

Reviewer: Ing. Václav Šimek

Abstract:

Deploying machine learning on microcontrollers enables real-time inference without connectivity, but requires careful design choices. This thesis presents an end-to-end implementation of machine learning for real-time wrist gesture recognition on the NXP i.MX RT1050 microcontroller. A compact one-dimensional convolutional neural network and five classical classifiers were trained, quantized, deployed on the target hardware, and evaluated for accuracy, inference latency, and memory consumption. The baseline CNN achieved 94.3 % test accuracy on a custom two-subject dataset. Full int8 quantization reduced SRAM consumption by 75 % with an accuracy change of only +0.4 percentage points, and average on-board inference time is 13 199 𝜇s, under 2 % of the available time budget. Among the classical models the decision tree achieved the fastest inference (221 𝜇s) with under 10 KB of flash. A hyperparameter study on the UCI Human Activity Recognition benchmark validated the pipeline and showed that optimal settings differ between large and small datasets. On the two-subject gesture data, logistic regression matches the best CNN result, while cross-subject testing yielded only 34.7 % accuracy, identifying the small training corpus as the main limitation.

Keywords:

machine learning, embedded systems, microcontroller, TinyML, TensorFlow Lite Micro, LiteRT, gesture recognition, 1D convolutional neural network, quantisation, NXP i.MX RT1050, inertial measurement unit

Date of defence

16.06.2026

Result of the defence

Defended (thesis was successfully defended)

znamkaBznamka

Grading

B

Process of defence

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.

Topics for thesis defence

  1. Proč jste se rozhodla detekci gest postavit na součástce MPU6050, která představuje již poněkud starší splatformu? Moderní varianty MEMS akcelerometrů či IMU jednotek jako LSM6DSOX nebo BHI380 totiž nabízejí podstatně lepší parametry.
  2. Využívala jste v rámci procesu trenování klasifikátorů/1D neuronové sítě a pozdější detekce jednotlivých gest data poskytovaná gyroskopickou částí součástky MPU6050?
  3. Můžete prosím vhodnou formou (např. za pomoci grafické vizualizace) představit jednotlivá gesta, jejichž detekce po natrénování klasifikátorů a 1D neuronové sítě byla prováděna? V technické zprávě jsem o tomto nebyl schopen dohledat bližší informace.
  4. Jak rychle funguje zpracování informace?

Language of thesis

English

Faculty

Department

Study programme

Information Technology (BIT)

Composition of Committee

doc. Ing. Jan Kořenek, Ph.D. (předseda)
doc. Ing. Ondřej Lengál, Ph.D. (místopředseda)
Ing. Bohuslav Křena, Ph.D. (člen)
Ing. Šárka Květoňová, Ph.D. (člen)
Ing. David Bařina, Ph.D. (člen)

Supervisor’s report
Ing. Josef Strnadel, Ph.D.

S přihlédnutím k



  • příkladné, tj. průběžné a včasné, aktivitě studentky během řešení a dokončování činností souvisejících se zadáním i se zpracováním technické zprávy,

  • splnění zadání a, v neposlední řadě,

  • nadšení studentky při zpracování daného tématu


navrhuji ohodnotit práci studentky a její výsledek stupněm A.

Evaluation criteria Verbal classification
Information about assignment
  • Zadání považuji za obtížnější - dílem stavělo na vědomostech, dovednostech a praktických zkušenostech z předmětů běžného bakalářského studia, dílem vyžadovalo zorientovat se v oblasti strojového učení v kontextu vestavných systémů, a prakticky uplatnit získané vědomosti a dovednosti.
  • Pro kvalitní řešení považuji za významné body 3 a 4, za stěžejní pak bod 5 zadání, k jejichž splnění studentka přistoupila svědomitě. Problém zvolený k řešení patří sice k jednodušším a mohl být rozšířen o další aplikace (např. o využití akcelerometru, popř. i mikrofonu, pro detekci anomálií pohybu ventilátoru), což však bylo vyváženo kvalitním zpracováním experimentální a hodnoticí etapy řešení.
  • Zadání považuji za splněné.
Work with literature

Studentka prokázala schopnost samostatně využívat vedoucím doporučené i vlastním úsilím nalezené informační zdroje související s řešeným tématem, mj. orientovat se v nich, čerpat z nich a vhodně využívat informace v nich obsažené k řešení daného tématu.

Activity during solution, consultations, communication

Dané téma začala studentka zpracovávat včas, řešení průběžně konzultovala a informovala o dílčích pokrocích, o problémech a možných východiscích z nich, i o dalším směřování řešení. Studentka pracovala samostatně, na konzultace byla vždy výborně připravena.

Activity during completion

Výsledek práce studentky (tj. realizační výstup a technická zpráva) mi byl předkládán ke konzultacím průběžně; jeho konečná podoba mi byla předložena v dostatečném předstihu, umožňujícím mi připomínkovat ji před odevzdáním.

Publication activity, awards

-

Points proposed by supervisor: 90

Grade proposed by supervisor: A

Reviewer’s report
Ing. Václav Šimek

Při celkovém pohledu se bezesporu jedná o velmi zdařile zvládnutou bakalářskou práci. Pouze drobné nedostatky na úrovni dokumentační stránky projektu a širšího výběru cílových vestavěných platforem brání udělení lepšího hodnocení, které navrhuji na úrovni stupně B - velmi dobře, 85 bodů

Evaluation criteria Verbal classification Points
The difficulty of the assignment

Evaluation level: moderately difficult assignment

Posuzovaná bakalářská práce se zabývá nasazení technik strojového učení a metod umělé inteligence pro účely detekce gest v prostředí vestavěných systémů. V těchto případech bývají typicky k dispozici velmi omezené zdroje a dostupný výpočetní výkon, což klade nemalé nároky na výslednou implementaci. V současné době je však k dispozici pestrá škála různých frameworků a nástrojů, které tento proces do značné míry usnadňují. Tím pádem bych si dovolil náročnost zadání označit za obvyklou. Nicméně se jedná o téma velmi aktuální a navíc z oblasti, která prochází velmi dynamickým rozvojem.

Presentation level of the technical report

Technická zpráva je rozdělena do celkem 8 kapitol řazených v logickém sledu. Jednotlivé části na sebe bez problémů navazují. Ocenil bych především úvodní rešerši, která celou práci hezky zasadí do kontextu. Stejně tak vyhodnocení dosažených výsledků má výbornou úroveň. 

Přijde mi, že v 6. kapitole je pozornost převážně věnována procesu trénování, přičemž ohledně konkrétních implementačních detailů (struktura firmware, jeho rozdělení do úloh v rámci implementace pod Free RTOS a podobně) na zvolené výpočetní architektuře se zde čtenář příliš informací nedozví. Stejně tak konkrétní podoba detekovaných gest zde není blíže dokumentována.

Kromě toho je škoda, že u jinak velmi dobře zpracované technické zprávy chybí popis obsahu elektronického datového média a návod ke zprovoznění realizačního výstupu. Tyto chybějící aspekty pak zbytečně kazí jinak vesměs velmi dobrý dojem.

75
Formal preparation of a technical report

Technická zpráva je napsána velmi pěknou angličtinou, kdy jsem nenarazil na žádné nedostatky hodné zvláštního zřetele. To stejné v zásadě platí i z pohledu formální úpravy. Vcelku by mě ale zajímalo, zda vůbec a případně v jakém rozsahu bylo pro úpravu textu použito nástrojů na bázi AI metod (LLLM, Grammarly a podobně).

90
Realisation output

Realizační výstup naplňuje intence zadání a považuji tuto složku posuzované bakalářské práce za velmi kvalitně zpracovanou. Nezbývá si než postesknout, že v průběhu fáze sběru trénovacích dat nebylo k dispozici vícero různých subjektů, případně pro účely srovnání nebyla zvolena alespoň jedna další vestavěná platforma s hardwarovým akcelerátorem AI výpočetních paradigmat (např. mikrokontrolér MCXN947).

85
Usability of results

Domnívám se, že je možné uvažovat o využití dosažených výsledků v oblasti výuky ve spojitosti s vestavěnými řešeními na bázi mikrokotrolérů či real-time operačními systémy. Možné jsou i aplikace v oblasti tzv. nositelné elektroniky, pokud by se podařilo řešení zde koncipované na bázi vývojové desky pro mikrokontrolér RT1050 zmenšit např. do podoby přípravku umístěného na zápěstí.

The extent to which the requirements of the assignment have been met

Evaluation level: assignment fulfilled

Domnívám se, že požadavků stanovených zadáním bylo v úplnosti dosaženo.

Extent of the technical report

Evaluation level: is within the usual extent

Work with literature

Zde nemám připomínek, přičemž šíři výběru informačních zdrojů a jejich využití v rámci vypracování tohoto zadání bakalářské práce považuji za bezproblémové. 

90
Topics for thesis defence:
  1. Proč jste se rozhodla detekci gest postavit na součástce MPU6050, která představuje již poněkud starší splatformu? Moderní varianty MEMS akcelerometrů či IMU jednotek jako LSM6DSOX nebo BHI380 totiž nabízejí podstatně lepší parametry.
  2. Využívala jste v rámci procesu trenování klasifikátorů/1D neuronové sítě a pozdější detekce jednotlivých gest data poskytovaná gyroskopickou částí součástky MPU6050?
  3. Můžete prosím vhodnou formou (např. za pomoci grafické vizualizace) představit jednotlivá gesta, jejichž detekce po natrénování klasifikátorů a 1D neuronové sítě byla prováděna? V technické zprávě jsem o tomto nebyl schopen dohledat bližší informace.
Points proposed by reviewer: 85

Grade proposed by reviewer: B

Responsibility: Mgr. et Mgr. Hana Odstrčilová