L/O/G/O Системы оптического распознавания документов. — презентация
Презентация на тему: » L/O/G/O Системы оптического распознавания документов.» — Транскрипт:
1 L/O/G/O Системы оптического распознавания документов
2 Системы оптического распознавания символов При coздании электронных библиотек и архивов путем перевода книг и документов в цифровой компьютерный формат, при переходе предприятий от бумажного к электронному документообороту, при необходимости отредактировать полученный по факсу документ используются системы оптического распознавания символов.
3 Оптическое распознавание символов Оптическое распознавание символов (англ. optical character recognition, OCR) механический или электронный перевод изображений рукописного, машинописного или печатного текста в последовательность кодов, использующихся для представления в текстовом редакторе. С помощью сканера несложно получить изображение страницы текста в графическом файле.
4 Однако для получения документа в формате текстового файла необходимо провести распознавание текста, т. е. преобразовать элементы графического изображения в последовательности текстовых символов.
Распознавание текста. Перевести картинку и пдф в ворд. Лучшие методы
5 Сначала необходимо распознать структуру размещения текста на странице: выделить колонки, таблицы, изображения и т. д. Далее выделенные текстовые фрагменты графического изображения страницы необходимо преобразовать в текст.
6 Хорошее качество текста Растровый метод распознавания текста Если исходный документ имеет типографское качество (достаточно крупный шрифт, отсутствие плохо напечатанных символов или исправлений), то задача распознавания решается методом сравнения с растровым шаблоном.
7 Хорошее качество текста Растровый метод распознавания текста Сначала растровое изображение страницы разделяется на изображения отдельных символов. Затем каждый из них последовательно накладывается на шаблоны символов, имеющихся в памяти системы, и выбирается шаблон с наименьшим количеством точек, отличных от входного изображения.
8 Хорошее качество текста Растровый метод распознавания текста Растровое изображение каждого символа последовательно накладывается на растровые шаблоны символов, хранящиеся в памяти системы оптического распознавания. Результатом распознавания является символ, шаблон которого в наибольшей степени совпадает с изображением Например, распознаваемый символ «Б» накладывается на растровые шаблоны символов (А, Б, В и т. д.)
9 Плохое качество текста Структурный метод распознавания При распознавании документов с низким качеством печати (машинописный текст, факс и т.д.) используется метод распознавания структурных элементов (отрезков, колец, дуг и др.) символов. В искаженном символьном изображении выделяются характерные детали и сравниваются со структурными шаблонами символов. Любой символ можно описать через набор параметров, определяющих взаимное расположение eгo элементов. Например, буква «Н» и буква «И» состоят из трех отрезков, два из которых расположены параллельно друг другу, а третий соединяет эти отрезки. Различие между буквами в величине улов, которые составляет третий отрезок с двумя другими.
Программы распознавания текста
10 Плохое качество текста Структурный метод распознавания При pacпознавании структурным методом в искаженном символьном изображении выделяются характерные детали и сравниваются со структурными шаблонами символов. В результате выбирается тот символ, для которого совокупность всех структурных элементов и их расположение больше всего coответствуют распознаваемому символу. Например, распознаваемый символ «Б» накладывается на векторные шаблоны символов (А, Б, В и т. д.)
11 Системы оптического распознавания форм При проведении Единого государственного экзамена, при заполнении налоговых деклараций и т. д. используются различного вида бланки с полями. Рукописные тексты (данные вводятся в поля печатными буквами от руки) распознаются с помощью систем оптического распознавания форм и вносятся в компьютерные базы данных. Сложность состоит в том, что необходимо распознавать символы, написанные от руки, а они довольно сильно различаются у разных людей. Кроме того, система должна определить, к какому полю относится распознаваемый текст.
12 Бланком называется стандартный лист бумаги, на котором размещается постоянная информация и отведено место для переменной. Сложность состоит в том, что необходимо распознать написанные от руки символы, довольно сильно различающиеся у разных людей. Кроме того система должна определить, к какому полю относится распознаваемый текст. FineReader Forms Системы оптического распознавания форм
13 Для обработки бланков предназначено специальное приложение FineReader Forms. Для распознавания содержимого бланка необходимо предварительно создать шаблон формы. Сервис/ Шаблоны Шаблон используют на этапе сегментации. Сегментация в данном случае состоит в наложении шаблона.
Положение шаблона корректируется в соответствии с тем, насколько ровно был размещён бланк при сканировании. Заключительный этап состоит в распознавании содержимого бланка. Системы оптического распознавания форм
14 Системы распознавания рукописного текста С появлением первого карманного компьютера Newton фирмы Apple в 1990 году начали создаваться системы распознавания рукописного текста. Такие системы преобразуют текст, написанный на экране карманного компьютера специальной ручкой, в текстовый компьютерный документ.
15 Системы распознавания рукописного текста
16 L/O/G/O Программы оптического распознавания текста
17 Программы оптического распознавания документов Для ввода текстов в память компьютера с бумажных носителей используют сканеры и программы распознавания символов. Одной из наиболее известных программ такого типа является ABBYY FineReader. Бумажный носитель помещается под крышку сканера Бумажный носитель помещается под крышку сканера В программе отдаётся команда Сканировать и распознать В программе отдаётся команда Сканировать и распознать Распознанный текст переносится в окно текстового редактора Распознанный текст переносится в окно текстового редактора Работа с программой распознавания текста Вместо сканера можно использовать цифровой фотоаппарат или камеру мобильного телефона. Отсканированные документы Фотографии текстов Оптическое распознавание документов
18 Принцип работы сканера состоит в следующем: в результате преобразования света получается электрический сигнал, содержащий информацию об активности цвета в исходной точке сканируемого изображения. После оцифровки аналогового сигнала в АЦП цифровой сигнал через аппаратный интерфейс сканера идет в компьютер, где его получает и анализирует программа для работы со сканером. После окончания одного такого цикла (освещение оригинала получение сигнала преобразование сигнала получение его программой) источник света и приемник светового отражения перемещается относительно оригинала. Принцип работы сканера
20 Программы распознавания текста Преобразованием графического изображения в текст занимаются специальные программы распознавания текста (Optical Character Recognition — OCR). Современная OCR должна уметь многое: распознавать тексты, набранные не только определенными шрифтами, но и самыми экзотическими, вплоть до рукописных.
Уметь корректно работать с текстами, содержащими слова на нескольких языках, корректно распознавать таблицы. И самое главное корректно распознавать не только четко набранные тексты, но и такие, качество которых, мягко говоря, далеко от идеала. Например, текст с пожелтевшей газетной вырезки или третьей машинописной копии. Само собой, распознать текст это еще полдела. Не менее важно обеспечить возможность сохранения результата в файле популярного текстового (или табличного) формата скажем, формата Microsoft Word.
21 OCR CUNEIFORM Это бесплатная программа сканирования и распознавания текста российского разработчика Cognitive Technologies. OCR CuneiForm обеспечивает быстрое, удобное и качественное распознавание текста с сохранением исходного вида документа. Поддерживается распознавание с более 20 языков, среди них русский, украинский, английский, немецкий, французский, испанский, итальянский, португальский, шведский, финский, сербский, хорватский, польский, а также распознавание смешанного русско-английского текста.
22 ABBYY FineReader Популярная проприетарная программа распознавания текста компании ABBYY Программа производит распознавание текста с более 180 языков, для 38 из них предусмотрена встроенная проверка орфографии. Начиная с версии Professional, распознаются иврит, японский, тайский, китайский языки. Finereader открывает файлы графических форматов (TIFF, JPG, PFD, PNG и др.) в том числе DjVu – компактный формат для хранения отсканированных документов, книг.
23 Окно программы FineReader
24 Процесс обработки FineReader Сканирование (сканер, цифровой фотоаппарат, цифровая видеокамера). Сегментация — выделение блоков на изображении. Распознавание – неоднозначно опознанные символы выделяются цветом. Проверка ошибок- можно провести проверку грамматики. Сохранение результатов в виде отформатированного или неотформатированного документа, или прямой передачи в другое приложение — WORD, Excel в буфер обмена Windows.
25 OmniPage Популярная программа распознавания текста российской компании ABBYY Программа отличается высокой скоростью и точностью распознавания. Распознаются более 120 языков с различными алфавитами: латинский, греческий алфавиты, кириллица, китайский, японский и корейский языки. Как и FineReader, OmniPage уверенно распознает документы, полученные с помощью цифровых камер с помощью технологии коррекции изображения «3D Correction».
26 OmniPage В программе присутствуют удобные инструменты обработки изображений, повышенное качество сканирования без повторного сканирования; функция преобразования бумажных форм в электронные документы, заполняемые на экране; механизм Google Desktop Search для поиска отсканированного файла (и других файлов) по содержащимся в нем словам. В комплекте с OmniPage Professional поставляется несколько полезных утилит. В частности, PDF Converter — позволяет преобразовывать файлы формата PDF в редактируемые форматы: doc, rtf, wpd, xls. Упрощенный вариант утилиты PDF Create!, которая выполняет обратное преобразование: превращает практически любой текстовый или графический файл в формат PDF.
27 Readiris Программа сканирования и распознавания текста компании I.R.I.S. Поддерживается распознавание текста с более 120 языков распознавания, включая русский, а также ближневосточные языки — арабский, иврит, фарси (в версии Middle-East) и японский, китайский, корейский (в версии Asian). Есть версия Readiris для Macintosh. Вместе с поддержкой распознавания популярных форматов картинок, распознаются файлы PDF и DjVu.
28 Readiris Содержит региональные пакеты для распознавания азиатских языков и языков среднего востока.
29 Kirtas Technologies Arabic OCR Может распознавать арабские и английские символы на одной странице.
30 Zonal OCR Помогает автоматизировать извлечение данных из компьютерных изображений.
31 Brainware Извлечение данных из документов и их обработка например, счета, извещения, накладные и платёжки
32 Microsoft Office Document Imaging Программа распознавания текста компании Microsoft Программа Document Imaging способна работать только с двумя языками: английским и языком локализации самого MS Office. Для поддержки других языков необходимо дополнительно устанавливать пакет Multilingual User Interface (MUI). OCR настроек в программе практически нет, программа в автоматическом режиме поддерживает распознавание типа и размера шрифтов, картинок и простых таблиц.
33 Существует также системы On-line распознавания текста: Online OCR и ABBYY FineReader Online ( )
34 Подведение итогов урока 1. В чем состоят различия в технологии распознавания текста при использовании растрового и векторного методов? 2. Для чего предназначены программы оптического распознавания документов?
35 Домашнее задание: П. 2.8 стр
Источник: www.myshared.ru
Что являют собою системы оптического распознавания документов
Оцифрованные книги, архивы, периодические издания – это преимущественно изображения. Для внесения изменений, копирования из них информации, картинки приходится превращать в редактируемые текстовые файлы. В этом помогут системы оптического распознавания текста. Разберёмся, как они работают, выявим слабые места.
Принцип функционирования
- написании студенческих работ – цитирование литературы;
- оцифровке библиотек, архивов;
- переводе материалов на иные языки;
- хранении книг, газет, журналов, документации в цифровом виде.
Текстовый документ занимает порой в десятки раз меньше места, чем его графическая версия.
Распознавание текста – это сложный многошаговый процесс. Состоит из этапов:
- Получения цифрового изображения путём сканирования или фотографирования, если нет исходного документа.
- Очистки картинки от дефектов: оптических (тени, засветы) и физических (повреждения носителя, сторонние предметы вроде пыли).
- Разделение полученного изображения на светлые области – фон и тёмные – нужно обработать.
- Определения структуры страницы: где какой тип блока расположен – буквы с цифрами, таблицы, картинки, сноски, колонки, списки.
- Разделение страницы на области и отдельные символы.
- Определение языка (-ов), шрифта (-ов).
- Анализ каждого символа и его сравнение с эталоном.
- Выбор наиболее подходящего знака, исходя из результатов сравнения.
Качество и скорость зависят от исходного материала, отточенности алгоритмов программы.
Типы анализа
- Растровый – начертания знаков последовательно накладываются на растровые эталоны. С каким меньше различий, такой символ будет в результате. Применяется при работе с качественными исходниками.
- Векторный – в начертании символов выделяются простейшие геометрические фигуры, после сравниваются с шаблонами. Выбирается знак, имеющий максимум совпадений. Алгоритм применяется для документов низкого качества.
Программы для OCR обладают десятками наборов шаблонов для разных шрифтов, самообучающимися алгоритмами и технологиями выбора эффективнейшего из них.
Экскурс в историю
Первые патенты на оптическое распознавание текста выданы в конце 20-х – начале 30-х годов XX века. В 1950 году американский военный криптоаналитик Д. Шепард создаёт машину для считывания текста с картинки. Вследствие он основал компанию по выпуску интеллектуальных машин распознания текста. Далее создавались устройства для считывания номеров кредиток, сортировки почты.
С 1970 создаются решения для определения символов, напечатанных различными шрифтами, в конце 70-х выходит первая компьютерная программа для OCR. Аналогичное решение с поддержкой кириллицы появилось в 1992 г. Годом позже компания ABBYY выпустила легендарный FineReader, получивший мировое признание.
Трудности работы систем оптического распознавания цифровых документов
- Разная форма, начертание символов в зависимости от используемого шрифта. Особенно сказывается при работе с рукописными текстами и шрифтами.
- Искажение исходных символов вследствие дефектов бумаги, оптики сканера или камеры, световых эффектов (блики), повреждений носителей (пятна).
- Нарушение масштаба фрагментов картины при сканировании.
С остальными проблемами алгоритмы справляются хорошо, например, анализ структуры страницы: определение границ текстовых полей, таблиц, формул, размера букв.
Источник: bingoschool.ru
Инструменты распознавания текстов и компьютерного перевода
Кроме текстовых процессоров, предназначенных для создания и обработки текстов на компьютере, существует ряд программ, позволяющих автоматизировать работу человека с текстовой информацией.
Очень часто возникает необходимость ввести в компьютер несколько страниц текста из книги, статью из журнала или газеты и т. д. Конечно, можно затратить определённое время и просто набрать этот текст с помощью клавиатуры. Но чем больше исходный текст, тем больше времени будет затрачено на его ввод в память компьютера.
Судите сами. Предположим, кто-то из ваших одноклассников, освоивших клавиатурный тренажёр, может вводить текстовую информацию со скоростью 150 символов в минуту. Выясним, сколько времени ему понадобится для того, чтобы ввести в память компьютера текст романа А. Дюма «Три мушкетёра». Одно из изданий этого романа выполнено на 590 страницах; каждая страница содержит 48 строк, в каждую строку входит в среднем 53 символа.
Вычислим общее количество символов в романе:
590 • 48 • 53 = 1 500 960 символов.
Вычислим время, необходимое для ввода этого массива символов в память компьютера: 1 500 960 : 150 ? 10 000 мин. А это приблизительно 167 часов.
При этом мы не обсуждаем вопрос о времени на исправление возможных ошибок при таком способе ввода текста, не принимаем в расчёт усталость человека.
Для ввода текстов в память компьютера с бумажных носителей используют сканеры и программы распознавания символов. Одной из наиболее известных программ такого типа является ABBYY FineReader. Упрощённо работу с подобными программами можно представить так:
1. Бумажный носитель помещается под крышку сканера.
2. В программе отдаётся команда Сканировать и распознать. Сначала создаётся цифровая копия исходного документа в формате графического изображения. Затем программа анализирует структуру документа, выделяя на его страницах блоки текста, таблицы, картинки и т. п. Строки разбиваются на слова, а слова — на отдельные буквы.
После этого программа сравнивает найденные символы с шаблонными изображениями букв и цифр, хранящимися в её памяти. Программа рассматривает различные варианты разделения строк на слова и слов на символы. В программу встроены словари, обеспечивающие более точный анализ и распознавание, а также проверку распознанного текста. Проанализировав огромное число возможных вариантов, программа принимает окончательное решение и выдает пользователю распознанный текст.
3. Распознанный текст переносится в окно текстового редактора (например, Microsoft Word).
Вместо сканера можно использовать цифровой фотоаппарат или камеру мобильного телефона. Например, при работе с книгами в библиотеке вы можете сфотографировать интересующие вас страницы. Скопировав снимки на компьютер, вы можете запустить ABBYY FineReader, распознать тексты и продолжить работу с ними в текстовом процессоре (рис. 4.20).
4.5.2. Компьютерные словари и программы-переводчики
Возможности современных компьютеров по хранению больших массивов данных и осуществлению в них быстрого поиска положены в основу разработки компьютерных словарей и программ-переводчиков.
В обычном словаре, содержащем несколько сотен страниц, поиск нужного слова является длительным и трудоёмким процессом. Компьютерные словари обеспечивают мгновенный поиск словарных статей. Многие словари предоставляют пользователям возможность прослушивания слов в исполнении носителей языка.
Компьютерные словари (русско-английские и англо-русские, русско-французские, русско-немецкие и др.) могут быть установлены на компьютер как самостоятельные программы, бывают встроены в текстовые процессоры, существуют в on-line-режиме в сети Интернет.
Сервис Яндекс-переводчик (https://translate.yandex.ru/) обеспечивает перевод слов с семи иностранных языков на русский и обратно. Вы можете получить полную информацию о правильном произношении и написании иностранных слов, синонимах и примерах использования.
Компьютерные словари выполняют перевод отдельных слов и словосочетаний. Для перевода текстовых документов применяются программы-переводчики. Они основаны на формальном знании языка — правил словообразования и правил построения предложений. Программа-переводчик сначала анализирует текст на исходном языке, а затем конструирует этот текст на том языке, на который его требуется перевести.
С помощью программ-переводчиков можно успешно переводить техническую документацию, деловую переписку и другие текстовые материалы, написанные «сухим» языком. Перевод художественных текстов, эмоционально окрашенных, богатых гиперболами, метафорами и др., в полной мере может выполнить только человек.
Сервис Переводчик текста (https://www.translate.ru/Default.aspx/Text) предназначен для автоматизированного перевода небольших (не более 3000 символов) фрагментов текстовой информации с одного языка на другой. В нём поддерживаются английский, русский, немецкий, французский, испанский, португальский, итальянский и литовский языки; обеспечивается 26 направлений перевода (англо-русский и русско-английский; немецко-русский и русско-немецкий; французско-русский и русско-французский и т. д.).
САМОЕ ГЛАВНОЕ
Для ввода текстов в память компьютера с бумажных носителей используют сканеры и программы распознавания символов.
Возможности современных компьютеров по хранению больших массивов информации и осуществлению в них быстрого поиска положены в основу разработки компьютерных словарей и программ-переводчиков. Компьютерные словари выполняют перевод отдельных слов и словосочетаний. Для перевода текстовых документов применяются программы-переводчики.
Вопросы и задания
1. Ознакомьтесь с материалами презентации к параграфу, содержащейся в электронном приложении к учебнику. Дополняет ли презентация информацию, содержащуюся в тексте параграфа?
2. В каких случаях программы распознавания текста экономят время и силы человека?
3. Сколько времени потребуется для ввода в память компьютера текста романа А. Дюма «Три мушкетёра» с помощью сканера и программы ABBYY FineReader, если известно, что на сканирование одной страницы уходит 3 секунды, на смену страницы в сканере — 5 секунд, на распознавание страницы — 2 секунды?
4. Найдите в Интернете информацию о технологии сканирующего листания. В чём её суть?
5. Какие, по вашему мнению, основные преимущества компьютерных словарей перед обычными словарями в форме печатных книг?
6. Почему программы-переводчики успешно переводят деловые документы, но не годятся для перевода текстов художественных произведений?
7. С помощью имеющейся в вашем распоряжении программы- переводчика переведите на знакомый вам иностранный язык фразу: «Кроме текстовых процессоров, предназначенных для создания и обработки текстов на компьютере, существует ряд программ, позволяющих автоматизировать работу человека с текстовой информацией». Полученный результат с помощью той же программы переведите на русский язык. Сравните текст исходной фразы и конечный результат. Дайте свои комментарии.
§ 4.5. Инструменты распознавания текстов и компьютерного перевода
Источник: murnik.ru
Программа оптического распознавания документов это что
Для создания электронных библиотек и архивов путем перевода книг и документов в цифровой вариант и при необходимости редактирования полученного по факсу документа используются специальные системы распознавания символов (Optical Character Recognition, OCR).
С помощью сканера можно получить изображение страницы с текстом в графическом формате.
Но работать с этим текстом невозможно, потому что любое сканирование – это всего лишь изображение
Текст можно будет читать, распечатывать, но только не редактировать.
Для перевода графического документа в текстовый файл необходимо провести распознавание текста.
Программное обеспечение для распознавания текста
Преобразование графического изображения в текст занимаются программы, используюшие принцип оптического распознавания.
Современные программы с OCR умеют:
- распознавать тексты, набранные не только разными шрифтами, но и самыми экзотическими, в том числе и рукописных
- корректно работать с текстами, содержащими слова на нескольких языках
- распознавать таблицы
- распознавать нечетко набранные или написанные тексты
Само собой, распознать текст — это еще полдела. После этого нужно обеспечить сохранение результата в файле текстового формата, например Microsoft Word.
В процессе распознавания документов в плохом качестве (машинописный текст, факс) используется метод распознавания символов по наличию определенных структурных элементов — отрезков, колец, дуг.
Любой символ легко описывается с помощью набора значений, определяющих расположение его частей. Например, обе буквы «Н» и буква «И» состоят из трех отрезков. Два из них расположены параллельно друг другу, а третий их соединяет. А различие – лишь в величине углов отрезков.
Самые распространенные системы оптического распознавания текста — ABBYY FineReader и CuneiForm.
ABBYY Finereader является омнифонтовой системой распознавания текстов. Это значит, что она позволяет распознавать тексты, набранные практически любыми шрифтами.
Одним из козырей FineReader является поддержка огромного (для таких программ) количества языков распознавания — более 176 (экзотические, древние языки, популярные языки программирования)
Для запуска процесса распознавания достаточно положить лист бумаги в сканер и нажать кнопку Scan Распознавания текста с изображений», Прокопенко А. П., г. Волгоград.
2. Растригин Л. А., Эренштейн Р. Х. Метод коллективного распознавания. 79 с. ил. 20 см., М. Энергоиздат, 2006 г.
3. Потапов А.С. Распознавание образов и машинное восприятие. — С-Пб.: Политехника, 2007 г.
4. А. Васильев. Компьютер на месте переводчика // Подводная лодка. – № 6.
5. Система перевода текста PROMT Internet. Руководство пользователя. — С.-Петербург, фирма «ПРОМТ.
6. www.free-ocr.сom
Отредактировано и выслано преподавателем Киевского национального университета им. Тараса Шевченка Соловьевым М. С.
Над уроком работали
Поставить вопрос о современном образовании, выразить идею или решить назревшую проблему Вы можете на Образовательном форуме, где на международном уровне собирается образовательный совет свежей мысли и действия. Создав блог, Вы не только повысите свой статус, как компетентного преподавателя, но и сделаете весомый вклад в развитие школы будущего. Гильдия Лидеров Образования открывает двери для специалистов высшего ранга и приглашает к сотрудничеству в направлении создания лучших в мире школ.
Источник: edufuture.biz
5 этапов оптического распознавания символов на практике
Один из видов кредитов нашего банка — потребительские IL-кредиты, которые выдаются в торговых сетях партнёров (например, МВидео). Большое значение в этом сегменте имеет скорость принятия решений о выдаче кредита. Это важно и для клиентов, и для партнёров — последние выберут банк, который обеспечит самый быстрый тайминг обработки.
Самый эффективный способ уменьшить тайминг обработки — увеличить процент автоматических авторизаций (когда документы в заявке обрабатываются без участия человека). Для этого мы в 2021 году купили новый нейросетевой шаблон распознавания паспорта.
Он должен был кратно повысить процент автоматических авторизаций, но результаты оказались средними. Тогда у нас появилась идея сделать своё оптическое распознавание символов на основе машинного обучения и с использованием open-source библиотек.
Технологии
Мы не стали писать с нуля низкоуровневую математику (это долго, больно и дорого), а исследовали рынок. Посмотрели, какие технологии наиболее зрелые, выбрали те, что подходят под наши требования (надёжность, лёгкость, небольшой порог вхождения, возможность использовать в коммерческих целях).
И подобрали несколько решений под наши задачи:
- сегментацию делает YOLOv3, реализующий на CPU алгоритм TensorFlow;
- очисткой занимается OpenCV от Intel, внутри которого та самая низкоуровневая математика;
- за распознавание символов отвечает Tesseract, разработка HP, перешедшая в Open Source благодаря Google;
- за работу с частотным словарем (о нём поговорим ниже) — SymSpell;
- все решения имеют реализацию .NET, и на нём же выполнена интеграция.
Как всё устроено в OCR
Мы выделили пять основных этапов распознавания документов:
- Выравнивание скана по вертикали.
- Очистка скана от шумов, пятен, удаление линий, повышение четкости.
- Сегментация — определение областей, в которых расположены конкретные поля паспорта: фамилия, имя, дата выдачи и так далее.
- Распознавание символов — классический optical character recognition, знакомый нам ещё по Fine Reader.
- Постпроцессинг — сверка распознанных Ф.И.О. с частотным словарём и проверка числовых полей regexp`ами.
Дальше рассмотрим все этапы подробнее.
Выравнивание скана
Итак, мы получили изображение второй и третьей страниц паспорта. В первую очередь надо уменьшить его до стандартного размера скана (примерно 1060х1500 рх) — чтобы последующая обработка не была слишком долгой.
Затем мы нормализуем картинку. Паспорта часто снимают под углом — а для распознавания они должны располагаться вертикально. Что происходит на этом этапе?
YOLOv3 проводит вектор по центру изображения и определяет границы страниц паспорта (чёрная линия и голубой и зелёный прямоугольники соответственно). Затем помечаем центры каждой области и соединяем их (красная линия). Так мы находим угол между полученными векторами и с помощью OpenCV поворачиваем изображение на эту величину.
Очистка
Теперь скан выровнен по вертикали, но в нём ещё остаются шумы: полосы от принтера или засветы от сканера. Если изображение делали с помощью смартфона, могут быть и солнечные блики или трапеции— за счёт того, что паспорт оказался полусогнут при съёмке.
Для очистки мы используем стандартные алгоритмы OpenCV: удаление шумов(non-local means denoising), уменьшение размеров контуров(erosion), увеличение контрастности и четкости и так далее
Отдельная проблема — на некоторых сканах при обработке появляются вертикальные чёрные линии толщиной в 1–2 пикселя, которые могут влиять на распознавание.
От них избавляемся в несколько этапов. Сперва трессхолдим изображение по методу Otsu, который устанавливает пороги для белого и чёрного цветов. Конвертируем по этим порогам в бинарное чёрное и белое изображение. Затем инвертируем цвета, получая изображение уже с белой полосой.
Затем все белые элементы соединяем с ближайшими и получаем вот такой результат:
Это нужно для того, чтобы сделать нашу белую линию гарантированно непрерывной. Процесс никак не вредит основному изображению.
Дальше мы ищем все белые линии, которые удовлетворяют следующим требованиям:
- пересекают область с данными паспорта;
- занимают минимум 73% длины изображения;
- не толще двух пикселей (если мы удалим более толстые линии, то не сможем восстановить текст, через который они проходят).
На последнем шаге мы заменяем в найденных линиях все значения цвета пикселя на соседние. Получается вот такой результат:
Сегментация
Сегментация — определение сегментов скана, в которых содержатся нужные нам данные и нет лишнего.
Мы вручную разметили пять сотен паспортов: выделили поля с данными и указали, в каких полях какие данные лежат. Размеченный таким образом датасет мы подавали в нейросетку, обучали её, и смотрели как она справляется распознаванием тестовой пачки сканов паспортов.
Пришлось немало помучиться с экспериментами по разметке обучающего датасета, чтобы понять, что стоит выделять в одно поле, а что — нет, чтобы получить минимум ошибок на тестовом датасете. В итоге мы пришли к такому варианту.
Распознавание символов
Мы уже очистили изображение, нашли все нужные поля: Ф. И. О., серия, номер, кем выдан и так далее. Теперь мы уменьшаем толщину шрифта и, если это необходимо, увеличиваем чёткость и контраст текста.
Зачем это нужно? Во-первых, шрифты в паспортах разные (одним шрифтом написаны только серия и номер и чаще всего МЧЗ — машиночитаемая зона внизу страницы). Слишком жирный шрифт нейросеть может не распознать — и, например, выдать условную восьмёрку вместо тройки. Во-вторых, яркость и чёткость у большинства полей разные, и светло-серый текст на светло-сером фоне так же путает алгоритм.
Наконец, загружаем всё в Tesseract, который работает с каждой строкой отдельно (это повышает качество распознавания) и делает нам классический OCR — превращает изображение в текст.
Постпроцессинг
После распознавания текста подключаются регулярные выражения, которые убирают лишние знаки, заменяют «о» на «0» и «з» на «3» в числовых полях.
И на финальном этапе мы используем частотный словарь всех возможных Ф. И. О. Как он работает? На основе клиентской базы банка мы создали три несвязанных между собой файла: с именами, фамилиями, отчествами и их частотой среди клиентов. Из них сделали справочники, по которым проверяем, есть ли в Ф. И. О. ошибки и при необходимости меняем данные на более вероятные (например, отчество Андреевин на Андреевич).
За работу со словарём отвечает библиотека SymSpell. Словарь улучшил качество распознавания примерно на 10%
Наконец, мы сверяем все распознанные данные с машиночитаемой зоной, внутри которой закодированы все данные паспорта. Если распознанные данные совпали, то это успех и значит, что автоматическая авторизация случилась.
Результаты
Число автоматических авторизаций заявок на кредит выросло с 31% до 82%. А время распознавания снизилось с 11 до 5 секунд без использования вычислений на видеокарте.
Кроме того, мы устранили зависимость от вендора в части распознавания — и теперь можем сами писать сервисы распознавания других документов, менять компоненты системы и делать точечные оптимизации.
Особую радость вызывает то, что от первых экспериментов на dev-среде до первого релиза прошло всего несколько месяцев, и большую часть работы сделал всего один разработчик — Матвей Смирнов.
В планах — распознавание документов формата А4 с мелким шрифтом и расширение линейки шаблонов внутрибанковского распознавания. А также словарь деловой лексики, которая часто используется в договорах.
И конечно, будем продолжать оптимизировать алгоритмы, чтобы приблизиться к 100%.
Источник: tproger.ru