Предварительная обработка PDF-документов с помощью Amazon Textract: обнаружение и удаление визуальных элементов

Исходный узел: 1204412

Амазонка Текст - это полностью управляемая служба машинного обучения (ML), которая автоматически извлекает напечатанный текст, почерк и другие данные из отсканированных документов, что выходит за рамки простого оптического распознавания символов (OCR) для идентификации, понимания и извлечения данных из форм и таблиц. Amazon Textract может обнаруживать текст в различных документах, включая финансовые отчеты, медицинские записи и налоговые формы.

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

Обзор решения

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

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

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

PDF-файлы с возможностью поиска - это собственные PDF-файлы, обычно генерируемые другими приложениями, такими как текстовые процессоры, виртуальные PDF-принтеры и собственные редакторы. Эти типы PDF-файлов сохраняют метаданные, текст и информацию об изображениях внутри документа. Вы можете легко использовать такие библиотеки, как PyMuPDF / fitz для навигации по структуре PDF и идентификации изображений и текста. В этом посте мы сосредоточимся на документах, не доступных для поиска или основанных на изображениях.

Вариант 1. Обнаружение визуальных элементов с помощью детектора края OpenCV

При таком подходе мы конвертируем PDF-файл в формат PNG, затем масштабируем документ в оттенках серого с OpenCV-Python библиотеки и используйте Canny Edge Detector для обнаружения визуальных локаций. Вы можете выполнить подробные шаги в следующих ноутбук.

  1. Преобразуйте документ в оттенки серого.

  1. Примените алгоритм Canny Edge для обнаружения контуров в документе Canny-Edged.
  2. Определите прямоугольные контуры с соответствующими размерами.

Вы можете дополнительно настроить и оптимизировать несколько параметров для повышения точности обнаружения в зависимости от вашего варианта использования:

  • Минимальная высота и ширина - Эти параметры определяют минимальные пороговые значения высоты и ширины для визуального обнаружения. Выражается в процентах от размера страницы.
  • Набивка - При обнаружении прямоугольного контура мы определяем дополнительную область заполнения, чтобы иметь некоторую гибкость в отношении общей области редактируемой страницы. Это полезно в тех случаях, когда тексты в визуальных элементах не находятся внутри четко разграниченных прямоугольных областей.

Преимущества и недостатки

Такой подход имеет следующие преимущества:

  • Удовлетворяет большинству случаев использования
  • Его легко внедрить, и быстро приступить к работе.
  • Оптимальные параметры дают хорошие результаты

Однако у подхода есть следующие недостатки:

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

Вариант 2: анализ концентрации пикселей

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

  1. Преобразуйте документ в оттенки серого.
  2. Преобразуйте серые области в белые.
  3. Сверните пиксели по горизонтали, чтобы вычислить концентрацию черных пикселей.
  4. Разделите документ на горизонтальные полосы или сегменты, чтобы выделить те, которые не являются полными (занимающими всю страницу).

  1. Для всех горизонтальных сегментов, не являющихся полными, определите области, которые являются текстом, и области, которые являются изображениями. Это делается путем фильтрации участков с использованием минимального и максимального пороговых значений концентрации черных пикселей.
  2. Удалите области, обозначенные как неполный текст.

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

  • Пороги нетекстовых горизонтальных сегментов - Определите минимальный и максимальный пороговые значения концентрации черных пикселей, используемые для обнаружения нетекстовых горизонтальных сегментов на странице.
  • Пороги нетекстовых вертикальных сегментов - Определите минимальный и максимальный пороговые значения концентрации черных пикселей, используемые для обнаружения нетекстовых вертикальных сегментов на странице.
  • Размер окна - Управляет разделением страницы на горизонтальные и вертикальные сегменты для анализа (X_WINDOW, Y_WINDOW). Он определяется количеством пикселей.
  • Минимальная визуальная область - Определяет наименьшую область, которую можно рассматривать как визуализацию, которую нужно удалить. Он определяется в пикселях.
  • Порог серого диапазона - Порог для удаления оттенков серого.

Преимущества и недостатки

Этот подход легко настраивается. Однако у него есть следующие недостатки:

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

Заключение

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

Чтобы узнать больше о различных методах работы с Amazon Textract, посетите страницу public Репозиторий AWS Samples на GitHub.


Об авторах

 Юань Цзян является старшим архитектором решений, специализирующимся на машинном обучении. Он является участником программы Amazon Computer Vision Hero и сообщества технических специалистов по машинному обучению Amazon.

Виктор Рохо является старшим партнером по архитектуре решений с фокусом на разговорный ИИ. Он также является участником программы Amazon Computer Vision Hero.

Луис Пинеда является старшим партнером по архитектуре решений для управления. Он также является участником программы Amazon Computer Vision Hero.

Мигель Ромеро Кальво является специалистом по анализу данных из лаборатории решений для машинного обучения AWS.

Источник: https://aws.amazon.com/blogs/machine-learning/process-text-and-images-in-pdf-documents-with-amazon-textract/

Отметка времени:

Больше от Блог машинного обучения AWS