Master's Thesis

Automated testing and evaluation of Deep Neural Network models on embedded platforms

Final Thesis 1.56 MB

Author of thesis: Ing. Jakub Kasem

Acad. year: 2024/2025

Supervisor: Ing. Radek Kočí, Ph.D.

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

Abstract:

This master’s thesis focuses on automated testing of deep neural network models on embedded platforms. The literature review explores popular artificial intelligence model repositories and tools to retrieve models from such repositories. The theoretical foundation of the thesis also includes a review of accuracy metrics used for evaluating deep neural network models in classification, object detection, and segmentation tasks. The thesis further describes the design and the implementation of a framework that automates testing and evaluation of deep neural network models on Linux-based embedded architectures. The proposed solution focuses on measuring model accuracy and latency, with a feature that enables detection of performance regressions over time. The solution was validated on embedded platforms manufactured by NXP Semiconductors using deep neural network models across different computer vision tasks. The thesis concludes with a reflection on lessons learned during implementation and outlines opportunities for further development and expansion of the system.

Keywords:

Automated testing, deep neural networks, embedded systems, neural network evaluation, performance regression detection, neural network accuracy, neural network latency, computer vision, classification, object detection, semantic segmentation, TensorFlow Lite, TFLite, model hub, Kaggle, Hugging Face, FastAPI.

Date of defence

24.06.2025

Result of the defence

Defended (thesis was successfully defended)

znamkaBznamka

Grading

B

Process of defence

Student nejprve prezentoval výsledky, kterých dosáhl v rámci své práce. Komise se poté seznámila s hodnocením vedoucího a posudkem oponenta práce. Student následně odpověděl 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í studenta na položené otázky rozhodla práci hodnotit stupněm B.

Topics for thesis defence

  1. Jaký další vývoj plánujete?
  2. Ujasněte význam regrese ve výsledcích?
  3. Jak řešíte verzovaní knihoven a operačných systémů?

Language of thesis

English

Faculty

Department

Study programme

Information Technology and Artificial Intelligence (MITAI)

Specialization

Machine Learning (NMAL)

Composition of Committee

prof. Dr. Ing. Jan Černocký (předseda)
doc. Ing. Lukáš Burget, Ph.D. (člen)
doc. Ing. Vladimír Janoušek, Ph.D. (člen)
Ing. Michal Hradiš, Ph.D. (člen)
Ing. Jaroslav Rozman, Ph.D. (člen)
Ing. František Grézl, Ph.D. (člen)

Supervisor’s report
Ing. Radek Kočí, Ph.D.

Přístup studenta k řešení diplomové práce hodnotím jako výborný. Přikládám také vyjádření odborného vedoucího z firmy NXP, Jakuba Salamona.


Student byl aktivní, zajímal se o zpětnou vazbu a bylo vidět, že opravdu stojí o to, aby jeho práce byla kvalitní. V rámci implementace dodržoval naše týmové standardy na kvalitu kódu. Co se týče spokojenosti s výsledkem, vyzdvihnout bych chtěl hlavně situaci, kdy naimplementovaný systém skutečně v produkčním prostředí odhalil regresi mezi dvěma verzemi našeho SDK, což je za mě ta nejlepší možná vizitka.

Evaluation criteria Verbal classification
Informace k zadání

Práce byla zadána ve spolupráci s firmou NXP. Cílem bylo vytvořit nástroj pro automatizované spouštění a vyhodnocování testů modelů neuronových sítích na vestavěných platformách. Náročnost zadání odpovídá nárokům kladeným na diplomovou práci.

Aktivita při dokončování

Text práce byl k dispozici v dostatečném předstihu a student měl možnost reagovat na mé připomínky.

Publikační činnost, ocenění
Práce s literaturou

Student využil literaturu doporučenou odborným vedoucím, kterou doplnil dalšími zdroji.

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

Student pravidelně konzultoval s odborným vedoucím z firmy NXP, o průběhu práce jsem byl průběžně informován. Student se mnou konzultoval především podobu technické zprávy.

Points proposed by supervisor: 100

Grade proposed by supervisor: A

Přes drobné výhrady pozitivně hodnotím kvalitu technické zprávy i použitelnost a užitečnost realizačního výstupu. 

Evaluation criteria Verbal classification Points
Rozsah splnění požadavků zadání

Evaluation level: zadání splněno

Rozsah technické zprávy

Evaluation level: je v obvyklém rozmezí

67 stran v LaTeXu.

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

Struktura práce nemá chybu. Kapitoly logicky navazují, rozsahem jsou vyvážené a obsah je srozumitelný a zcela jasný. Jen v obecném popisu neuronových sítí jsem narazil na některé ne zcela přesné formulace ohledně generalizace, ale to není podstatné. Text je vhodně a účelně doprovázen srozumitelnými UML diagramy. Všechny aspekty práce jsou v technické zprávě pečlivě zdokumentovány.

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

Typografická i jazyková úroveň práce je na velmi vysoké úrovni. Jen na několika místech se v matematické sazbě záhadně objevuje zdvojený symbol "mínus".

90
Práce s literaturou

Studijní prameny jsou vybrány smysluplně a jsou správně citovány.

100
Realizační výstup

Realizační výstup odpovídá požadavkům a je plně funkční. Subsystémy jsou navrženy smysluplně a jejich funkce rozhodně není triviální. Ale pokud jde o nejvyšší úroveň, chápu ji v podstatě jako prototypové řešení, které demonstruje kompletní workflow procesu testování konfigurovatelným skriptem, ze kterého jsou postupně volána API subsystémů a který nakonec zpřístupní výsledky.

Otázka je, co se stane, když po několika hodinách testování dojde k chybě. Například nelze nalézt požadovaný model, nelze se připojit k zařízení, narazí se na chybu v uživatelském skriptu apod., nebo dojde k výpadku napájení.

Raději bych tedy místo ručně spouštěného skriptu viděl agenta (démona, službu), který si opakovaně postupně vyzvedává dosud nezpracovanou agendu s potřebnou konfigurací z databáze a tu postupně provádí, přičemž co může, to paralelizuje a zotavuje se z případných chybových stavů. Mezitím bych umožnil uživateli asynchronně přistupovat k databázi, sledovat dosavadní výsledky a vkládat další agendu ke zpracování.

80
Využitelnost výsledků

Práce je velmi dobře prakticky použitelná v souladu se zadáním a má potenciál pro další rozšiřování.

Náročnost zadání

Evaluation level: průměrně obtížné zadání

Points proposed by reviewer: 87

Grade proposed by reviewer: B

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