Аннотация:В дипломной работе Артема Селищева рассматривается задача распознавания искусственно зашумленных текстов. Такого рода тексты встречаются в так называемых CAPTCHA (Completely Automated Public Turing test to tell Computers and Humans Apart) – графических тестах, предназначенных для того, чтобы отличать человека от компьютерного бота.
Распознавание в работе Артема производится в несколько этапов. На первом этапе убирается мелкий шум, причем как темный шум (ударение пятен), так и светлый шум (соединение прерываемых линий). На втором этапе происходит утончение линий, в результате все линии становятся толщиной в одну точку. На следующем шаге строится граф изображения. Вершинами графа являются точки пересечения линий, а также вершина может появиться, если при движении вдоль кривой сильно изменяется угол наклона. Две вершины соединяются ребром, если их соединяет некая линия. Второй тип ребер – это когда две вершины соединяет цепь ребер, образующих на изображении одну практически прямую линию, тогда эти вершины соединяются ребром второго типа. Далее каждой букве алфавита сопоставляется граф-шаблон или несколько графов шаблонов. Теперь для каждого шаблона в графе изображения ищется подграф, гомеоморфный шаблону. Если такой подграф находится, то вычисляется некоторая величина, которая означает степень похожести данного подграфа на букву, соответствующую шаблону. Считается, что в изображении находятся те буквы, у которых степень похожести наибольшая, или выше некоторого порога.