HUDCOVSKÝ, E. Extrakce informací z osobních dokladů [online]. Brno: Vysoké učení technické v Brně. Fakulta elektrotechniky a komunikačních technologií. 2020.
Bakalářská práce se věnuje vývoji aplikace v jazyce C#, která extrahuje data ze strojově čitelné oblasti fotografie vybraných osobních dokladů. Aplikace umí pracovat s občanskými průkazy a cestovními pasy. Data jsou extrahována pomocí nástroje OCR Tesseract 4. Zpracovaná data je možné zobrazit pomocí konzolové aplikace ve formátech XML a JSON. Aplikace je zveřejněna pod licencí MIT na GitHubu. Zadání bylo zcela splněno. Nad rámec zadání je možné aplikaci použít i jako knihovnu ve formě Nuget balíčku. Práce dále rozebírá vliv různých deformací vstupního obrázku na extrakci dat. Po formální stránce se v textu zřídka objevují typografické chyby (předložky na konci řádku). Vzhledem k jazyku vypracování práce (slovenština), nelze zkontrolovat gramatickou a pravopisnou správnost.
Bakalářská práce je rozsahově odpovídající s počtem 53 stran. Po formální stránce je v pořádku. Našel jsem jednu drobnost - publikace [9] až [12] jsou uvedené v seznamu literatury, v práci však nejsou nikde citované. Z odborného hlediska postrádám nějaký přehled více OCR řešení a jejich následné srovnání, jehož výsledkem by bylo rozhodnutí použít zvolený Tesseract 4. Aplikace i nuget balíček byly otestovány a byly funkční. Mám však pár připomínek. I když nuget balíček je nad rámec zadání, je škoda, že byl připraven pouze pro .NET Core, s "velkým" frameworkem nefunguje. Dodaná ukázková konzolová aplikace je neúplná – neřeší zobrazení výsledků do konzolového okna, ani uložení do souboru. Volá se metoda Extractor.Process, avšak její návratová hodnota (kde je právě textový výstup) není v kódu Program.cs nijak zpracována. V návrhovém diagramu na obrázku 3.4 je slíbeno zobrazení objektu, avšak v kódu to chybí. Zkoušel jsem dále zpracovávat programem obrázky 1.1 b) a 1.2 b). Zatímco 1.2 b) byl úspěšně zpracován, u obrázku 1.1 b) nastala výjimka při parsování data expirace dokladu (OCR Tesseract detekoval chybně jednu nulu jako znak O). Tady by asi program mohl znak O nahrazovat nulou (tam, kde se předpokládá numerická hodnota). Toto bude častá chyba OCR. I přes tyto drobné nedostatky konstatuji, že samotná aplikace je velmi dobře napsána, má správnou architekturu a autor při její tvorbě dodržoval správné programátorské zásady. Zadání bylo bez výhrad splněno. Kladně hodnotím zejména systematické otestování OCR ve čtvrté kapitole, což bylo provedeno nad rámec zadání.
eVSKP id 125961