Přístupnostní navigace
E-application
Search Search Close
Bachelor's Thesis
Author of thesis: Jan Osuský
Acad. year: 2025/2026
Supervisor: doc. Ing. Michal Španěl, Ph.D.
Reviewer: Ing. Petr Šilling
This thesis presents the development of a mobile application designed to convert prices recognized from photographs. The primary goal is to facilitate quick and accurate currency conversion by leveraging advanced image recognition technologies. The application employs the Flutter framework for cross-platform compatibility and integrates TensorFlow Lite for efficient on-device machine learning model execution. Key features include the use of state-of-the-art object detection models, such as YOLOv9 and SSD MobileNet V2, to accurately identify and extract price tags from images. The application also incorporates the Open Exchange Rates API to provide up-to-date currency conversion rates, ensuring accurate financial conversions. The user interface is intuitively designed using Flutter’s widget-based architecture to enhance user experience. This project demonstrates the practical integration of machine learning and mobile development frameworks, offering a robust solution for real-time price conversion from photographic inputs.
multiplatform app development, mobile application, Android, iOS Flutter, machine learning, deep learning, convolutional neural networks, object detection, TensorFlow lite, YOLO, SSD
Date of defence
16.06.2026
Result of the defence
Defended (thesis was successfully defended)
Grading
E
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 E.
Topics for thesis defence
Language of thesis
English
Faculty
Fakulta informačních technologií
Department
Department of Computer Graphics and Multimedia
Study programme
Information Technology (BIT)
Composition of Committee
doc. Ing. Lukáš Burget, Ph.D. (předseda) doc. Mgr. Adam Rogalewicz, Ph.D. (místopředseda) Ing. Libor Polčák, Ph.D. (člen) Ing. Michal Hradiš, Ph.D. (člen) Ing. Martin Žádník, Ph.D. (člen)
Supervisor’s reportdoc. Ing. Michal Španěl, Ph.D.
V hodnocení vedoucího reflektuji množství práce a aktivitu pana Osuského na rozšíření jeho v zahraničí obhájené práce. Téma práce měl velmi zajímavé a je pro mě mírným zklamáním, že nevyužil možnost ji dále vylepšit a aplikaci posunout až k reálným uživatelům. Nabyl jsem dojmu, že se raději vydal cestou mírného doplnění původní práce bez většího úsilí a nasazení.
Téma navazuje na již obhájenou práci pana Osuského během jeho studia v Norsku na NTNU (Norwegian University of Science and Technology). V rámci odevzdání práce na FIT VUT jsme se dohodli na inkrementálním doplnění a vylepšení práce. Kromě vlastních nápadů studenta na úpravy aplikace, jsme uvažovali o aktualizaci použitého YOLO detektoru, rozšíření datasetu a realizaci uživatelského testování aplikace. Z rozšíření se podařilo realizovat méně než jsem doufal.
S literaturou student pracoval samostatně. Stěžejní část studia literatury měl již za sebou a věnoval se zejména novinkám v oblasti detekce objektů a rodiny YOLO detektorů.
Po několika konzultacích během prvního semestru se student odmlčel a ve druhém semestru proběhla už jen jedna konzultace. Student pracoval samostatně a množství práce je pro mě těžké posoudit, protože kontakt s vedoucím byl minimální.
Dokončení technické zprávy probíhalo na poslední chvíli. Příležitost se vyjádřit k jejímu finálnímu stavu jsem měl až těsně před odevzdáním.
Není známa.
Grade proposed by supervisor: E
Reviewer’s reportIng. Petr Šilling
Student nastudoval základní principy moderních detekčních metod a dokázal je spolu s OCR metodami aplikovat na vlastní datové sadě pro čtení cen z obrazu. Zároveň k metodě student implementoval jednoduché uživatelské rozhraní. I přes některé nedostatky, např. v oblasti detekce cen v supermarketech, je aplikace funkční a splňuje zadání. Technická zpráva je ovšem velmi nízké kvality a obsahuje spousty nadbytečné výplně. Práce jako celek navíc působí vcelku minimalisticky. Navrhuji proto hodnotit známkou D.
Evaluation level: obtížnější zadání
Zadání vyžadovalo pochopení moderních metod pro zpracování obrazu v oblastech detekce a OCR, včetně jejich trénování a přípravy vlastní datové sady. Student se navíc musel seznámit s vývojem multiplatformních mobilních aplikací a ovládáním mobilního fotoaparátu. I přes přesah nad rámec standardního bakalářského studia však vzhledem k rozsahu aplikace považuji zadání práce pouze jako mírně obtížnější.
Práce začíná úvodem do problematiky mobilních operačních systémů a mobilního vývoje. Úvod je rozsáhlý, nicméně relevance některých pasáží pro samotnou práci je sporná. Následný přehled již existujících alternativních aplikací by naopak mohl být detailnější.
Dále práce popisuje základy počítačového vidění, detekce objektů a OCR, a to v úzkém zaměření na metody hlubokého učení. Obsahově jde o relevantní kapitolu, ovšem vysvětlení prezentovaných metod je místy zmatečné a opět obsahuje nadbytečné informace (např. celou tabulku 3.1 či rozbor všech variant modelů YOLO a jejich licencí). Popis OCR metod se zaměřuje pouze na knihovny a nijak se nedotýká principů metod samotných, což rovněž hodnotím negativně.
Následuje popis vytvořené datové sady. Ten však opět obsahuje řadu nadbytečných informací a není z něj ani zřejmé, jak konkrétně byla data anotována.
Design aplikace není přehledně popsán a silně se prolíná s implementačními detaily. Toto bych vzhledem k charakteru práce nehodnotil negativně, kdyby se v implementačních detailech student více zabýval obecným popisem architektury a méně pak detaily zvolených frameworků a signaturami jednotlivých, často nepříliš důležitých funkcí.
Z textu není jasné, jak přesně probíhalo trénování a vyhodnocení, z velké části kvůli různým variantám anotací v připravené datové sadě. Zároveň není zřejmé, jaký byl protokol uživatelského testování ani kdo konkrétně byli testovaní uživatelé. Chybí podrobné ukázky snímků, na kterých metoda selhává.
Práce je psána v relativně jednoduché angličtině a obsahuje viditelné překlepy a gramatické chyby (např. zcela chybějící podměty vět). Obrázky jsou ve velmi špatné kvalitě a z velké části není možné je vůbec přečíst, což je např. v případě grafů velmi problematické. Popisky obrázků by rovněž mohly být detailnější.
Student pro svoji datovou sadu nasbíral 1475 snímků obsahujících ceny a cenovky z různých zemí a situací, od obchodů po menu z restaurací. Na datové sadě student natrénoval celkem 4 modely pro detekci cen v obraze, přitom 2 z nich již předem identifikoval jako nevhodné. Na detekované ceny jsou následně aplikovány metody OCR skrze existující OCR frameworky. Student ve svém řešení nicméně opomenul případy, kdy se na cenovkách nachází více čísel, než pouze samotné ceny (např. cenovky v supermarketech). Za těchto situací řešení funguje pouze z poloviny.
Rozhraní aplikace je založené na frameworku Flutter. Aplikace je vizuálně minimalistická (má pouze 2 základní pohledy), což je ale vzhledem k tématu práce v pořádku. Odsazení některých UI elementů však není adekvátní. Boxy s převedenými měnami mají jednotnou velikost a často se překrývají, což činí převedené ceny stěží čitelnými. Zdrojové kódy jsou vhodně oddělené, ale obsahují pouze minimum komentářů.
Vyhodnocení detekcí a OCR je smysluplné, i když by bylo vhodné např. i rozdělení dle obtížnosti vstupních snímků. Uživatelský dotazník zaměřený na UI je složen z velmi obecných a jednoduchých otázek. Není zřejmé, proč testování neprobíhalo již v době návrhu rozhraní, kdy bylo možné ještě získanou zpětnou vazbu efektivně zapracovat do samotné aplikace. Pozoruhodné je i velmi kladné hodnocení přesnosti konverze z fotografií, když podle kvantitativních výsledků není až každá druhá cenovka přečtena správně.
Vytvořené řešení má s úpravami a vylepšeními potenciál pro vydání ve formě veřejně dostupné mobilní aplikace.
Evaluation level: zadání splněno
Zadání bylo splněno.
Evaluation level: přesahuje obvyklé rozmezí
Technická zpráva je na bakalářskou práci velice obsáhlá (závěr se nachází na straně 59). Text práce obsahuje mnoho nadbytečných informací, které by šlo z práce bez problému vyjmout (např. historii a popis mobilních operačních systémů).
Práce cituje celkem 47 zdrojů. Částečně se jedná o vědecké články, nicméně velká část referencí se odkazuje pouze na webové stránky různorodé kvality, licence, aplikace apod. Nebyla dodržena řádná citační etika. Např. citace článků často obsahují pouze jména autorů, název a rok vydání. Použité zdroje jsou nicméně relevantní a jsou v textu správně použity i citovány.
Grade proposed by reviewer: D
Responsibility: Mgr. et Mgr. Hana Odstrčilová