bakalářská práce

Hybridní aplikace pro kalibraci kamerových čoček

Text práce 6.87 MB

Autor práce: Bc. Dmytro Dovhalenko

Ak. rok: 2022/2023

Vedoucí: Ing. Václav Šimek

Oponent: Ing. Petr Malaník

Abstrakt:

Cílem teto bakalářské práce je navrhnout a realizovat nástroj pro korekci zkreslení obrazu způsobeného fyzickým zakřivením kamerové čočky typu rybího oka. V teoretické častí se věnuje analýze dostupných řešení a snaží se najít způsob, jak realizovat nástroj pro korekci zkreslení obrazu za využití moderních technologií. Použitelné technologie se analyzuji a popisuji a hledá se alternativní pohled který umožní změnit přístup v dodávce softwaru a dodat nástroj ve formě webové aplikace. Práce je specifická nutností dosažení cílů pro nasazení a budoucí vývoj v korporátní prostředí, a proto tyto potřeby analyzuje a přizpůsobuje se jim. Zaměřuje se na problematiku generování nastavení pro hardwarově akcelerovanou korekci obrázků, protože se v praxi využívá častěji než softwarová korekce. Praktická část je zaměřená na analýzu scénářů užiti, návrh vhodné architektury a uživatelského prostředí. K vyřešení problému využívá hybridní webové technologií v kombinaci s dodávkou knihovny OpenCV ve formě webassembly, a další moderní nástroje jako SSO autentizace a vestavěné úložiště prohlížeče. Práce je přínosná pro reálné zákazníky, kteří potřebují moderní řešení nástroje pro kalibraci zkreslení obrazu. Dokazuje, že využitím hybridních webových aplikací je možné dodat ekvivalentní náhradu za nativních aplikace a současně s tím navýšit uživatelský komfort a rovněž poskytuje důležité informace pro možnost transformace nástrojů z nativních aplikací do hybridních webových.

Klíčová slova:

hybridní aplikace, kamerové čočky typu rybího oka, kalibrace kamery, korekce snímků, zkreslení obrazů, OpenCV, webassembly

Termín obhajoby

13.06.2023

Výsledek obhajoby

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

znamkaEznamka

Klasifikace

E

Průběh obhajoby

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.

Otázky k obhajobě

  1. Dotaz k formě implementace aplikace.
  2. Dotaz na architekturu aplikace.

Jazyk práce

čeština

Fakulta

Ústav

Studijní program

Informační technologie (BIT)

Složení komise

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)

Posudek vedoucího
Ing. Václav Šimek

S ohledem na výše uvedené skutečnosti navrhuji souhrnné hodnocení stupněm D - uspokojivě, 60 bodů.

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

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.

Práce s literaturou

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.

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

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.

Aktivita při dokončování

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).

Publikační činnost, ocenění

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í.

Výsledný počet bodů navržený vedoucím: 60

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

Posudek oponenta
Ing. 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.

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

Stupeň hodnocení: 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.

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

Stupeň hodnocení: 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.

 

Rozsah technické zprávy

Stupeň hodnocení: splňuje pouze minimální požadavky

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

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.

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

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á.

50
Práce s literaturou

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.

50
Realizační výstup

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. 

80
Využitelnost výsledků

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.

 

Výsledný počet bodů navržený oponentem: 50

Známka navržená oponentem: E

Odpovědnost: Mgr. et Mgr. Hana Odstrčilová