Upload
others
View
30
Download
0
Embed Size (px)
Citation preview
Особенности и примеры использования ABBYY FlexiCapture 10
для решения не совсем обычных задач
Андрей ЛомовРуководитель группы внедрения
и сопровождения ПО[email protected]
О компании АТАПИ Софтвер
2
§ Основана в 2001 году
§ Офисы в России (Новосибирск) и Германии (Мюнхен)
§ Является партнером ABBYY со статусом Corporate Projects Silver Partner
§ Является партнёром Microsoft уровня Gold в компетенции Software Mevelopment и уровня Silver в компетенции Mata Platform
§ Широкая география клиентов (АвстралияH СШАH ЕвропаH РоссияH Азиатские страны)
Рассматриваемые темы
3
1. Полезные приемы использования FC10
2. Некоторые особенности разработки шаблонов при работе с фотографиями
3. Разработка шаблона в команде
Полезные приемы использования FlexiCapture 10
4
1. Нестандартные сценарии обработки
2. Работа с данными • Извлечение текстового слоя
• Вариационное распознавание поля
• Выделение целой и дробной части чисел
• Валидация подписейH печатей и чекмарок
• Нестандартные таблицы
3. Обучение гибкого шаблона “на лету”
Porkflow: Ограничение наложения шаблонов документовВозможные цели и задачи
• Определение границ документов и сортировка страниц по порядку• Сначала накладываем шаблон сортировщик, а на
следующих стадиях уже основные шаблоны
• Приоритет важным документам• В первую очередь распознаем важные документы, а
потом все остальные
• Ускорение при группировке шаблонов по настройкам распознавания• Группы шаблонов с одинаковыми (Fast Mode, Language)
настройками распознавания накладываются совместно
5
Porkflow: Ограничение наложения шаблонов документовКак это работает: Пример «Сортировщик»
Стадии FC10 Действие
Распознавание Наложение шаблона “Сортировщик” –извлекает Номер страницы
Обработка пакета
Сортируем страницы по Номеру
Распознавание Наложение основных шаблонов документов «ТН»H «АКТ»…
Верификация
Экспорт
6
Porkflow: Группировка нескольких документов на одной страницеВозможные цели и задачи
7
• Сокращение издержек при печати
• Сокращение времени сканирования
• Сокращение размера выходного файла
• Формирование отдельных результирующих файлов для каждого изображения
Porkflow: Разделение страницы документаРешение
Стадии FC10 Действие
Распознавание Наложение шаблона "Регионы"
Обработки пакета
Создание новых документов на основе выделенного регионаETitablePictureObject newPict = FielT.Regions[i].Picture.CreateETitableCopy();
//Создаем новый документbatch.CreatePageFromImage(newPictH 0H 0H 0);
Распознавание Наложение основных шаблонов документов
Верификация
Экспорт
8
Porkflow: Совместная обработка документов из разных пакетовВозможные цели и задачи
• Использование данных из разных документов/пакетов в правилах проверки• Сумма заказа должна быть доступна в каждом документе для
определения скидки, а заказы находятся в разных пакетах
• Экспорт документов должен идти строго последовательно • Данные заказа не могут быть проэкспортированы раньше чем
информация о новом Заказчике
• Ожидание выполнения внешней длительной операции• Экспорт в SAP - время ~ 4 минуты на документ, кол-во станций
обработки ограничено
9
Совместная обработка документов из разных пакетовОбычное решение: Очередь Исключений
10
Стадии FC10 Действие
РаспознаваниеВерификацияЭкспорт
Наложение шаблонаПроверка распознанных данных
Обработка Исключений
Оператор глазами просматривает документы и ждет результатов экспортаОтправка документов на повторный Экспорт
Экспорт
Совместная обработка документов из разных пакетовВозможное решение: Автоматическая обработка
11
Стадии FC10 Действие
Распознавание Наложение шаблона
Обработки пакета (Ожидание)
Автоматическая стадия, которая служит для ожидания и проверки комплектности: пока в БД нет нужных данных пакетH возвращается обратно на эту стадию
Обработки пакета (Заполнениеданных )
Перенос данных из БД в каждый из пакетов
ВерификацияЭкспорт
Все как обычно
Извлечение текстового слоя из документаВозможные цели и задачи
• Формирование файла для системы индексации
• Верификация текстового слоя в PDF
• Верификация данных во внешней системе
• Упрощенный экспорт в Word (а почему бы и нет J)
12
Вариационное распознавание поляОбласти применения
13
• Инвертированные поля
• Разный способ разметки полей
• Машинопечатный и рукопечатный текст
Выделение дробной части чисел
15
до после
Проблема: иногда разделители не распознаются или исчезают при сканировании
Валидация подписей и печатей
16
Цель: определить наличие печати/подписи на цветном изображении.
Решение:1. Наложить регион с запасом
2. Скриптом получить изображение из региона
3. Построить гистограмму на ось X синего цвета в определённом диапазоне
4. Используя подобранные опытным путём пороговые значенияH принять решение о наличии печати
Поиск таблицИспользование повторяющихся групп
19
ПроблемаНеобходимая информацияв таблицах может не бытьчётко разграничена
Возможный подход1. С помощью повторяющейся группы найти регионы отдельных
строк2. В пределах региона каждой строки найти необходимые поля3. Создать таблицуH фиктивную или реальнуюH с количеством
строкH равным числу найденных строк4. Скриптом перенести данные из регионов в строки таблицы
Поиск таблицПодходы к решению
20
Реальная таблицас нераспознаваемой областью
Фиктивная таблицаH заполняемая скриптом
Поиск таблицНераспознаваемые области
22
Общий случайСначалаH как и в простом случаеH можно найти и исключить из поиска лишние строкиH если таковые есть
Далее возможны 2 варианта§ Исключить конкретную (статическую) информацию§ Исключить всёH кроме найденных в повторяющейся группе
необходимых данных
Обучение гибкого шаблона оператором верификацииПримерный план
23
Задача: дать конечному пользователю возможность указывать гибкому описанию (без его редактирования)H где может находиться информация
Реализация: в FlexiCapture реализуется 2 режима работы: привычная верификация и обучение.
При обучении1. Пользователь указывает верный регион поля2. Происходит дополнительный экспорт в базу данных FlexiLayout с
указаниями: границы регионовH текст заголовков полей или другой информации используемой для наложения.
Гибкое описание при наложении проверяет уже имеющиеся указания из базы; если их нетH то использует некий общий алгоритм поиска
Особенности при работе с фотоОсновные трудности при разработке шаблонов
24
§ Относительные размеры (отсутствие DPI)
§ Низкое качество изображения
§ Отсутствие надёжных заголовков
§ Искажения всего изображения или отдельных участков
Относительные размеры фотоОбщий подход к созданию шаблона
25
Выделение региона документа1. Необходимо найти внешние границы
документаH напримерH с помощью:• сепараторов• просветов (whitegaps) от края
изображения до текстовых или иных объектов
• статических элементовH которые с достаточно большой вероятностью найдутся
2. Используя регион документа и размер символов нужно определить масштабирующий коэффициент
3. Использовать коэффициент для поиска регионов полей
Проблема: Искажение изображений
26
§ Проблема печати данных в готовый бланк
§ Проблема сканирования/фотографирования
Проблема: Искажение изображенийВозможные способы решения
27
§ Стандартный correct skewH если повезёт
§ Определение искажений с помощью информативного поля.1. выбрать длинную строкуH напримерH ФИО и в ней найти
первый и последний символы
2. посчитать положение символов относительно друг друга и некоего статичного объекта (заголовка документа)
3. вычислить сдвиг и поворот
Проблема: Искажения изображенийВозможные способы решения
28
§ Нахождение региона наклонённой строки1. выбрать базовый элемент2. определить направление наклона3. в цикле добавлять объекты типа RawTextH находящиеся в
нужном направлении наклона слева и справа от базового элемента
Разработка гибкого шаблона в команде
30
• Создание базового шаблона для одного из документов: за стадии 1 и 3 наложения отвечал ВадимH а за 2 и 4 – Алексей.
• Стадии 2 и 3 для каждой альтернативы разделились по разработчикам примерно пополам.
• За улучшение общего подхода на стадии 1 продолжал отвечать ВадимH на стадии 4 – Алексей
АльтернативаСтадия 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Выделение области документа
Определение вида документа
Поиск регионов полей
Поиск значимойинформации
ATAPY Software
Андрей ЛомовРуководитель группы внедрения
и сопровождения ПО
www.atapy.com
Спасибо!