Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практика Богатов Егор.docx
Скачиваний:
2
Добавлен:
01.11.2018
Размер:
4.21 Mб
Скачать
    1. Распознавание отсканированных бумажных носителей информации. Общие проблемы.

Процедура распознавания семантического содержания может осуществляться несколькими способами:

  • Без автоматизации – перевод данных производится полностью вручную сотрудником – оператором ЭВМ. Такой подход занимает много времени работы сотрудника, а так же может порождать ошибки, обусловленные человеческим фактором (усталость, невнимательность, умысел).

  • Частичная автоматизация – использование ручного сканера и системы распознавания. При таком методе сотрудник поочередно сканирует каждое поле в документе и использует систему распознавания (например, такую как FineReader)

Рисунок 3.2.1 – Использование ручного сканера1

  • Полная автоматизация – при таком подходе создается шаблон на каждую форму документа, а распознавание всех полей полностью автоматизировано – сотруднику необходимо лишь указать шаблон и проверить результаты. Данный подход наиболее перспективен.

При программной реализации системы распознавания необходимо учесть следующие ключевые факторы:

  • Отсканированное изображение документа может обладать высокой степенью зашумленности (из-за плохого качества сканера или наличие различных пятен на документе)

  • Изображение может быть отсканировано с искажением под углом

В качестве примера возьмем накладную компании «Major-express»

Рисунок 3.2.2 - Накладная компании «Major-express»

Распознавание документа такого качества сканирования, в принципе, не должно вызвать проблем. Однако. по некоторому стечению обстоятельств, документ может принять не слишком аккуратный вид:

Рисунок 3.2.3 – Отсканированная накладная с наличием шумов

Как видно из рисунка 3, на документ было пролито кофе, он был помят и даже надорван, а также некачественно отсканирован (плохое разрешение и непрямой угол). Поэтому программная реализация модуля распознавания должна учитывать данные факторы, а так же предоставлять удобные средства проверки и корректировки результатов распознавания.

    1. Программный модуль распознавания семантического содержания бумажных носителей информации

Алгоритм работы с программным модулем можно представить в виде последовательности следующих шагов:

  1. Сканирование определенного документа, изображение которого будет использовано для создания шаблона для распознавания документов этой же формы

  2. Открытие отсканированного эталонного изображения в интерфейсе «Дизайнер шаблонов» и нанесение набора именованных полей, которые составят маску шаблона.

  3. Создание и настройка формы экспорта (в текстовый файл, excel, word, и т.д.), которые будут поставляться вместе с файлами шаблонов.

  4. Распознавание документов по шаблону в интерфейсе «Распознавание документов по шаблонам» и экспорт результатов в определенной форме.

Файловая структура при развертывании решения состоит из следующих компонентов:

  • Исполняемые файлы модулей «Дизайнер шаблонов» и «Распознавания документов по шаблонам»

  • Набор зависимостей в виде dll-сборок (включая сторонние библиотеки)

  • Конфигурационные файлы

  • Каталог для хранения общих шаблонов экспорта результатов

  • Каталог для хранения шаблонов распознавания (в виде иерархии)

Рисунок 3.3.1 – Файловая структура программного модуля распознавания отсканированного бумажного носителя информации

Теперь рассмотрим подробно процесс создания шаблона и последующее его использование.

Дизайнер шаблонов

Для создания шаблона необходимо эталонное изображение формы документа. В качестве примера нами использовалась накладная компании «Major-express» (см. выше). Откроем данное изображение в модуле «Дизайнер шаблонов» с помощью команды «Новый шаблон».

Рисунок 3.3.2 – Эталонное изображение

Пользовательский интерфейс состоит из следующих элементов:

  1. Панель инструментов – набор команд, позволяющих сохранить, открыть, создать новый шаблон, выделить все поля и настроить необходимые свойства

  2. Область навигации с возможностью изменения масштаба

  3. Набор полей (toolbox)

  4. Область создания (путем переноса через drag-n-drop полей из toolbox), позиционирования и редактирования полей

Далее нам необходимо на ключевых элементах изображения выполнить позиционирование полей и соответствующую настройку. Настройка поля происходит через всплывающее меню и выглядит следующим образом:

Рисунок 3.3.3 – Настройка поля

В настройках указываются названия поля и язык, а так же предусмотрена возможность в отладочных целях распознавания значения конкретного поля. В неактивном режиме поле приобретает синий цвет с названием поля:

Рисунок 3.3.4 – Неактивный режим поля

Произведем нанесение нескольких полей:

Рисунок 3.3.5 - Нанесение полей

Далее сохраняем файл шаблона и на выходе получаем doctl-файл.

Распознавание документов по шаблонам

В модуле «распознавание документов по шаблонам» мы можем загружать различного качества формы нашего шаблона для распознавания их семантического содержания и экспорта в файлы разных форматов, а также внешние системы автоматизации.

На первом шаге необходимо отсканировать файл - возьмем файл, рассмотренный нами ранее, и откроем его в данном модуле:

Рисунок 3.3.6 – Распознаваемый носитель информации

Пользовательский интерфейс включает:

  1. Панель инструментов (выбор изображения и шаблона, выделение всех полей и команда «Распознать все поля»).

  2. Панель навигации с возможностью изменения масштаба

  3. Панель изменения параметров изображения (позволяет менять физический размер и угол)

  4. Панель просмотра и позиционирования полей поверх изображения

Так как изображение может иметь другое разрешение, нежели эталонное, а так же может быть отсканировано под небольшим углом , нам необходимо изменить его параметры и произвести позиционирование шаблона:

Рисунок 3.3.7 – Позиционирование шаблона

Мы уменьшили физический размер на 56% и повернули изображение относительно его центра на -1,5 градуса, в результате чего используемый шаблон идеально подошел.

Теперь мы можем произвести процедуру массового распознавания содержания всех полей с помощью команды «Распознать поля» на панели инструментов. Коэффициент удачного распознавания в зависимости от качества отсканированного документа составляет 50 - 90% (в среднем – 73% по результатам тестирования)

По окончанию этой процедуры справа появляется панель, предоставляющая возможность просмотреть все поля и проверить корректность их распознавания с возможностью ручной корректировки, а также экспортировать полученные результаты в любом из доступных форматов.

Рисунок 3.3.8 – Полученные результаты

Полученные результаты можно экспортировать в следующие форматы:

  • Текстовый файл общей структуры (настраивается в общем конфигурационном файле)

  • Excel-файл общей структуры (шаблон структуры расположен в каталоге Data)

  • Excel-файл специальной структуры (шаблон экспорта должен распространяться вместе с шаблоном распознавания (*.doctl)). Ниже представлен шаблон экспорта в MS Excel для нашей накладной:

Рисунок 3.3.9 – Пример шаблона экспорта в Excel