OCR (optické rozpoznávání znaků)

OCR (Optical Character Recognition) je převod textu zachyceného v obrazu do strojově čitelné podoby. Klasická pipeline sestává z předzpracování – vyrovnání zkosení, odstranění šumu, binarizace –, z analýzy rozvržení stránky, která oddělí bloky textu, tabulky a obrázky, ze segmentace na řádky a znaky a z vlastní klasifikace následované jazykovou korekcí podle slovníku. Moderní přístupy segmentaci znaků vynechávají a celý řádek zpracovávají naráz: kombinace konvoluční sítě s rekurentní vrstvou a ztrátovou funkcí CTC umožňuje trénink bez znalosti pozice jednotlivých znaků, dnešní systémy pak používají transformerové modely typu TrOCR nebo přímo multimodální jazykové modely, které ze snímku rovnou vytěží strukturovaná data. Náročnou variantou je rozpoznávání textu ve volných scénách a rukopisu, kde se pojí perspektivní zkreslení, různá písma a proměnlivé osvětlení. Pro češtinu je kritická podpora diakritiky, protože záměna háčků a čárek mění význam. Typickými nasazeními jsou digitalizace archivů, zpracování faktur, čtení registračních značek a asistenční technologie pro nevidomé.


Rozdíl mezi obrázkem stránky a textem je jako rozdíl mezi fotografií dopisu a dopisem samotným. Na fotografii nemůžete nic vyhledat, zkopírovat ani spočítat – je to jen mozaika tmavých a světlých bodů, i když vy v ní bez námahy čtete. OCR je stroj, který se naučil dělat to, co váš mozek: z tvarů tmavých bodů usoudit, že tohle je písmeno „ř“. A dělá i totéž, co vy, když je předloha rozmazaná – využívá kontext. Poznáte-li „mate?ská“, doplníte „ř“, protože znáte slovo. Bez téhle jazykové nápovědy by se OCR mýlilo mnohem častěji.

Je pro vás článek užitečný a čerpáte z něj? Zkopírujte si citaci