Přístupnostní navigace
E-application
Search Search Close
Bachelor's Thesis
Author of thesis: Bc. Dmytro Dovhalenko
Acad. year: 2022/2023
Supervisor: Ing. Václav Šimek
Reviewer: Ing. Petr Malaník
The goal of this bachelor’s thesis is to design and implement a tool for correction of image distortion caused by the physical curvature of a fisheye camera lens. The theoretical part is concerned with available solutions analysis in order to find an image distortion correction tool that uses modern technologies. The technologies are analyzed and described to find alternative points of view resulting in a way to change software delivery process and deliver a tool in the form of a web application. The thesis takes into account the necessity to deliver a tool that can be developed and deployed in a context of corporate environment. It focuses on the issue of generating settings for hardware-accelerated image correction since it is used more frequently in the real world than its software counterpart. The practical part analyzes various usage scenarios, suitable architecture design as well as user environment design. To achieve this, hybrid web technologies in combination with OpenCV library in the form of a web assembly, as well as other modern tools such as SSO authentication and browser’s built-in storage are used. This thesis will benefit mostly customers in need of modern image distortion calibration solutions. It proves that it is possible to use hybrid web applications to deliver native application alternative that simultaneously increases user comfort. The thesis also provides data important for transformation of native applications into hybrid web applications.
hybrid application, fisheye camera lenses, camera calibration, image correction, image distortion, OpenCV, web assembly
Date of defence
13.06.2023
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
Czech
Faculty
Fakulta informačních technologií
Department
Department of Computer Systems
Study programme
Information Technology (BIT)
Composition of Committee
doc. Ing. Martin Čadík, Ph.D. (předseda) doc. Ing. Zdeněk Vašíček, Ph.D. (člen) Ing. Šárka Květoňová, Ph.D. (člen) Ing. Filip Orság, Ph.D. (člen) doc. Ing. Michal Španěl, Ph.D. (člen)
Supervisor’s reportIng. Václav Šimek
S ohledem na výše uvedené skutečnosti navrhuji souhrnné hodnocení stupněm D - uspokojivě, 60 bodů.
V případě této bakalářské práce se jedná o zadání připravené ve spolupráci se společností NXP. Cílem je vytvořit tzv. hybridní aplikaci pro kalibraci kamerových čoček, která by usnadnila potlačení zkreslení snímaného obrazu vlivem jejich optických parametrů.
Tento nástroj by pak měl ideálně doplnit spektrum obdobně koncipovaných aplikací, tj. na bázi hybridní architektury, pro oblast zpracování hlasu a audio signálu, které již v rámci společnosti NXP existují.
Co se týče realizačního výstupu a jeho parametrů, tak bylo dle informací od odborného konzultanta ze společnosti NXP dosaženo požadovaných výsledků. Z pohledu vedoucího této bakalářské práce mám určité výhrady k nedotažení popisu implementace realizačního výstupu a testování funkčních vlastností výsledné aplikace.
Informační zdroje potřebné k řešení této bakalářské práce si student zajišťoval především samostatně a taktéž ve spolupráci s odborným konzultantem ze společnosti NXP. Díky dokončování technické zprávy na poslední chvíli již nezbyl prostor na jejich případnou revizi. Nicméně prezentovaný seznam použitých informačních zdrojů vcelku obstojně pokrývá tematickou oblast řešení projektu.
V období zimního semestru se vzájemná komunikace omezila prakticky jen na diskusi kolem registrace tohoto zadání. V případě firemního zadání bych očekával ze strany studenta alespoň průběžné informování o stavu řešení projektu, k čemuž však v tomto období nedošlo.
V průběhu letního semestru pak došlo ke svolání několika konzultací především za využití prostředků vzdálené komunikace, kdy jsem byl seznámen s aktuálním postupem prací. V tomto období bych pak aktivitu studenta hodnotil jako intenzivnější a lépe cílenou.
Dle informací od odborného konzultanta ze společnosti NXP proběhlo dokončení realizačního výstupu s předstihem oproti stanovenému termínu a výsledné řešení odpovídá stanoveným požadavkům.
Bohužel to stejné se nedá říci o technické zprávě, která byla šita dosti horkou jehlou. Ve zbývajícím čase bylo možné provést pouze jednu podrobnou revizi, kdy se podařilo upravit strukturu technické zprávy jako takové a odstranit výrazné nedostatky zejména co se týče jazykové a formální úpravy.
S ohledem na blížící se termín odevzdání však již nezbyl prostor k zapracování dalších korekcí, které by bylo třeba realizovat (zejména v rámci 6. a 7. kapitoly).
V rámci řešení tohoto projektu nedošlo vedle technické zprávy k vytvoření žádných dalších publikačních výstupů či zisku souvisejících ocenění.
Grade proposed by supervisor: D
Reviewer’s reportIng. Petr Malaník
Dle toho jak jsem byl informován (nejednalo se o informaci od studenta), tak zadávající firma NXP je s výsledky práce velmi spokojena a výsledek považují za kvalitní. Na druhou stranu je zde ovšem nedostatečný teoretický přehled a průzkum technologií, které lze pro kalibraci využít. Což ale asi nemělo být součástí vytvoření aplikace a přístupy pro kalibraci byly již dopředu vybrány firmou.
Díky absenci hodnocení kvality kalibrace vyvstává otázka, jestli je nakonec aplikace i přes její implementační kvality použitelná. Autor dokázal při demonstraci, že minimálně do určité míry použitelná je.
Samotná aplikace je zpracována velice dobře. Působí úhledným dojmem a během krátkého vyzkoušení její funkčnosti nedošlo k žádným problémům.
Evaluation level: průměrně obtížné zadání
Jedná se o čistě implementační zadání vycházející z předem definovaného postupu pro implementaci, jehož výstupem má být program umožňující kalibraci čoček. Samotná kalibrace není v rámci programu víceméně řešena, což se týká i textové části bakalářské práce. Hlavní část práce je tedy o popisu a propojení vybraných technologií pro zpřístupnění aplikace.
Evaluation level: zadání téměř splněno s vážnějšími výhradami
Problematika zkreslení čoček a korekce tohoto zkreslení je popsána jen velmi povrchně. Při demonstraci řešení student nepřesvědčil, že by dostatečně porozuměl dané problematice. Do určité míry to ale mohlo být způsobeno jazykovou bariérou.
Přehled nástrojů, které lze použít pro korekci, obsahuje 3 možnosti, ale 2 z nich jsou hotové programy a tedy nejedná se o validní možnosti. Jak bylo tedy využito teoretických poznatků z kapitoly 1 pro výběr nástroje je tedy minimálně diskutabilní. Popis procesu korekce ve vybraném nástroji (OpenCV) má také své nedostatky.
Zhodnocení dosažených výsledků se zaměřuje jen na chyby v chování aplikace a naprosto opomíjí aspekt korekce zkreslení čoček. Jediný snímek ukazující korekci zkreslení čočky je až v příloze a text se tímto aspektem hodnocení výstupu vůbec nezabývá. Tuto funkčnost ovšem student předvedl při osobní demonstraci výsledku práce.
Evaluation level: splňuje pouze minimální požadavky
Zvláště části obsahující implementaci a testování jsou velmi náročné na přečtení, jelikož formulace některých vět jsou často přinejmenším podivné a nedávají ihned smysl. Často se zde opakují stejná slova, některé zkratky nejsou vysvětleny a například část věnující se jednotlivým nástrojům a technologiím (6.2) by mohla být rozdělena kvůli přehlednosti na podkapitoly.
Popisky některých obrázků nedávají příliš smysl a výjimečně se ani nevztahují k obsahu obrázku.
Až na teoretický přehled jsou kapitoly obsahově celkem vyváženy a rozsahem odpovídají tomu, na kolik mělo být dané téma analyzováno. Část textu popisující možná rozšíření práce se zabývá spíše shrnutím funkčnosti aplikace a popis potenciálního rozšíření je omezen na jeden krátký odstavec.
Práce obsahuje větší množství typografických prohřešků. Například spojky a čísla na začátcích řádků, záměnu spojovníku a pomlčky nebo i věty neukončené tečkou.
Odrážkové seznamy nemají žádný konzistentní styl. V rámci jednoho seznamu je kombinace velkého písmena na začátku věty a tečky na konci víceméně náhodná.
Práce obsahuje jen 16 zdrojů, přičemž většinou se jedná o odkazy na použité technologie, případně jejich dokumentaci. Z toho je zde jedna publikace věnující se kalibraci čoček, dva online zdroje popisující kalibraci a dokumentace použité metody z OpenCV.
Samotná aplikace je implementačně velmi zdařilá a k jejímu použití nejsou žádné vážnější výhrady. Funguje tak, jak bych si já osobně představoval a odpovídá i požadavkům zadavatele tématu.
Výstupem je kalibrační soubor a náhled, jak by vypadal snímek po kalibraci. Zde mohl být například ještě navrženo ořezání obrazu tak aby snímek neobsahoval deformované kraje snímku.
Aplikace zjevně plní svůj účel a zapadá mezi nástroje firmy NXP, které byly v rámci práce analyzovány. Dle vyjádření firmy NXP nástroj splňuje jejich požadavky a je použitelný pro jejich potřeby.
Formát výstupního souboru by mohl být ještě doplněn o volitelné údaje, které by více popsaly konkrétní kameru, pro kterou je kalibrace v souboru určena, například název kamery, čip a použitá čočka/parametry čočky.
Grade proposed by reviewer: E
Responsibility: Mgr. et Mgr. Hana Odstrčilová