- •Содержание
- •Введение
- •Вычислительный центр мсф бнту
- •Отчет по индивидуальному заданию
- •Проблемы ведения документооборота в рамках хозяйствования
- •Распознавание отсканированных бумажных носителей информации. Общие проблемы.
- •Программный модуль распознавания семантического содержания бумажных носителей информации
- •Заключение
- •Литература:
-
Распознавание отсканированных бумажных носителей информации. Общие проблемы.
Процедура распознавания семантического содержания может осуществляться несколькими способами:
-
Без автоматизации – перевод данных производится полностью вручную сотрудником – оператором ЭВМ. Такой подход занимает много времени работы сотрудника, а так же может порождать ошибки, обусловленные человеческим фактором (усталость, невнимательность, умысел).
-
Частичная автоматизация – использование ручного сканера и системы распознавания. При таком методе сотрудник поочередно сканирует каждое поле в документе и использует систему распознавания (например, такую как FineReader)
Рисунок 3.2.1 – Использование ручного сканера1
-
Полная автоматизация – при таком подходе создается шаблон на каждую форму документа, а распознавание всех полей полностью автоматизировано – сотруднику необходимо лишь указать шаблон и проверить результаты. Данный подход наиболее перспективен.
При программной реализации системы распознавания необходимо учесть следующие ключевые факторы:
-
Отсканированное изображение документа может обладать высокой степенью зашумленности (из-за плохого качества сканера или наличие различных пятен на документе)
-
Изображение может быть отсканировано с искажением под углом
В качестве примера возьмем накладную компании «Major-express»
Рисунок 3.2.2 - Накладная компании «Major-express»
Распознавание документа такого качества сканирования, в принципе, не должно вызвать проблем. Однако. по некоторому стечению обстоятельств, документ может принять не слишком аккуратный вид:
Рисунок 3.2.3 – Отсканированная накладная с наличием шумов
Как видно из рисунка 3, на документ было пролито кофе, он был помят и даже надорван, а также некачественно отсканирован (плохое разрешение и непрямой угол). Поэтому программная реализация модуля распознавания должна учитывать данные факторы, а так же предоставлять удобные средства проверки и корректировки результатов распознавания.
-
Программный модуль распознавания семантического содержания бумажных носителей информации
Алгоритм работы с программным модулем можно представить в виде последовательности следующих шагов:
-
Сканирование определенного документа, изображение которого будет использовано для создания шаблона для распознавания документов этой же формы
-
Открытие отсканированного эталонного изображения в интерфейсе «Дизайнер шаблонов» и нанесение набора именованных полей, которые составят маску шаблона.
-
Создание и настройка формы экспорта (в текстовый файл, excel, word, и т.д.), которые будут поставляться вместе с файлами шаблонов.
-
Распознавание документов по шаблону в интерфейсе «Распознавание документов по шаблонам» и экспорт результатов в определенной форме.
Файловая структура при развертывании решения состоит из следующих компонентов:
-
Исполняемые файлы модулей «Дизайнер шаблонов» и «Распознавания документов по шаблонам»
-
Набор зависимостей в виде dll-сборок (включая сторонние библиотеки)
-
Конфигурационные файлы
-
Каталог для хранения общих шаблонов экспорта результатов
-
Каталог для хранения шаблонов распознавания (в виде иерархии)
Рисунок 3.3.1 – Файловая структура программного модуля распознавания отсканированного бумажного носителя информации
Теперь рассмотрим подробно процесс создания шаблона и последующее его использование.
Дизайнер шаблонов
Для создания шаблона необходимо эталонное изображение формы документа. В качестве примера нами использовалась накладная компании «Major-express» (см. выше). Откроем данное изображение в модуле «Дизайнер шаблонов» с помощью команды «Новый шаблон».
Рисунок 3.3.2 – Эталонное изображение
Пользовательский интерфейс состоит из следующих элементов:
-
Панель инструментов – набор команд, позволяющих сохранить, открыть, создать новый шаблон, выделить все поля и настроить необходимые свойства
-
Область навигации с возможностью изменения масштаба
-
Набор полей (toolbox)
-
Область создания (путем переноса через drag-n-drop полей из toolbox), позиционирования и редактирования полей
Далее нам необходимо на ключевых элементах изображения выполнить позиционирование полей и соответствующую настройку. Настройка поля происходит через всплывающее меню и выглядит следующим образом:
Рисунок 3.3.3 – Настройка поля
В настройках указываются названия поля и язык, а так же предусмотрена возможность в отладочных целях распознавания значения конкретного поля. В неактивном режиме поле приобретает синий цвет с названием поля:
Рисунок 3.3.4 – Неактивный режим поля
Произведем нанесение нескольких полей:
Рисунок 3.3.5 - Нанесение полей
Далее сохраняем файл шаблона и на выходе получаем doctl-файл.
Распознавание документов по шаблонам
В модуле «распознавание документов по шаблонам» мы можем загружать различного качества формы нашего шаблона для распознавания их семантического содержания и экспорта в файлы разных форматов, а также внешние системы автоматизации.
На первом шаге необходимо отсканировать файл - возьмем файл, рассмотренный нами ранее, и откроем его в данном модуле:
Рисунок 3.3.6 – Распознаваемый носитель информации
Пользовательский интерфейс включает:
-
Панель инструментов (выбор изображения и шаблона, выделение всех полей и команда «Распознать все поля»).
-
Панель навигации с возможностью изменения масштаба
-
Панель изменения параметров изображения (позволяет менять физический размер и угол)
-
Панель просмотра и позиционирования полей поверх изображения
Так как изображение может иметь другое разрешение, нежели эталонное, а так же может быть отсканировано под небольшим углом , нам необходимо изменить его параметры и произвести позиционирование шаблона:
Рисунок 3.3.7 – Позиционирование шаблона
Мы уменьшили физический размер на 56% и повернули изображение относительно его центра на -1,5 градуса, в результате чего используемый шаблон идеально подошел.
Теперь мы можем произвести процедуру массового распознавания содержания всех полей с помощью команды «Распознать поля» на панели инструментов. Коэффициент удачного распознавания в зависимости от качества отсканированного документа составляет 50 - 90% (в среднем – 73% по результатам тестирования)
По окончанию этой процедуры справа появляется панель, предоставляющая возможность просмотреть все поля и проверить корректность их распознавания с возможностью ручной корректировки, а также экспортировать полученные результаты в любом из доступных форматов.
Рисунок 3.3.8 – Полученные результаты
Полученные результаты можно экспортировать в следующие форматы:
-
Текстовый файл общей структуры (настраивается в общем конфигурационном файле)
-
Excel-файл общей структуры (шаблон структуры расположен в каталоге Data)
-
Excel-файл специальной структуры (шаблон экспорта должен распространяться вместе с шаблоном распознавания (*.doctl)). Ниже представлен шаблон экспорта в MS Excel для нашей накладной:
Рисунок 3.3.9 – Пример шаблона экспорта в Excel