Tips & Tricks

Как преобразовать PDF в изображения в качестве этапа предварительной обработки перед распознаванием символов

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

Конвейер изображений добавляет шаг. Повышение точности оправдывает его при сложных сканированиях.

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

How to Convert a PDF to Images as a Preprocessing Step Before OCR

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

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

Преобразование в изображения позволяет решать каждую проблему отдельно. Алгоритмы устранения перекоса поворачивают страницу до тех пор, пока текстовые строки не станут идеально горизонтальными, что дает механизму обнаружения строк именно то, что он ожидает. Фильтры шумоподавления удаляют пятнышки, не размывая края символов. Кривые контрастности отделяют темный текст от светлого фона, даже если исходное сканирование показывает лишь незначительные различия. Бинаризация преобразует оттенки серого в чисто черно-белые, устраняя градиентный фон. Каждый шаг решает один конкретный класс визуальных проблем, и вместе они превращают маргинальное сканирование в чистый ввод, который механизм OCR может прочитать с высокой уверенностью.

Реальные цифры иллюстрируют разницу. Счет-фактура 1980-х годов, отсканированный с разрешением 200 точек на дюйм, может обеспечить точность символов 70% при распознавании текста непосредственно из PDF-файла. После исправления перекоса, адаптивной бинаризации и удаления пятен тот же документ может достигать 95 % и выше. Распределите это на пакет из 500 счетов, и вы получите разницу между 125 счетами со значительными ошибками и 25 счетами, требующими незначительных исправлений. Предварительная обработка превращает кошмар очистки в полезный результат, а время обработки каждой страницы, примерно 2–3 секунды для полного конвейера улучшения, незначительно по сравнению с экономимым временем ручной коррекции.

WukongPDF

Попробуйте распознавание PDF-файлов

Никакой установки не требуется. Работает прямо в вашем браузере.

Начать →

Выбор формата и разрешения изображения для предварительной обработки OCR

Выбор формата влияет на конвейер, а не на конечный результат. TIFF остается традиционным форматом предварительной обработки OCR: сжатие без потерь, идеальное сохранение пикселей и встроенная поддержка таких механизмов, как Tesseract. PNG обеспечивает такое же качество без потерь в удобной для Интернета оболочке, с которой хорошо справляются современные инструменты. JPEG следует избегать на промежуточном этапе, поскольку артефакты сжатия создают краевой шум вокруг символов, сводя на нет ту самую очистку, которую вы пытаетесь достичь. Артефакты незаметны, но механизм OCR их замечает.

Разрешение определяет потолок точности. Триста DPI — это общепринятая золотая середина. При разрешении ниже 200 DPI мелкий текст и тонкие засечки размываются на фоне, а точность резко падает. При разрешении выше 400 точек на дюйм размеры файлов увеличиваются, а точность снижается. Юридические сноски и фармацевтические этикетки, напечатанные шрифтом 6 пунктов, могут оправдывать разрешение 400–600 DPI. Плакаты и фотографии вывесок, напечатанные крупным шрифтом, часто нормально работают при разрешении 200 точек на дюйм. Сопоставьте разрешение с наименьшим текстом на странице, а не со средним.

ФорматСжатиеНаилучший вариант дляИзбегать, когда
ТИФФБез потерь (LZW или без сжатия)Tesseract OCR, предварительная обработка архиваРазмер файла важнее качества
PNGбез потерьСовременные конвейеры OCR, веб-инструментыУстаревшее программное обеспечение OCR, требующее TIFF
JPEGс потерямиБыстрый просмотр, визуальные проверкиЭтап предварительной обработки (артефакты ухудшают распознавание текста)
JPEG 2000Доступен вариант без потерьАрхивное сканирование больших объемовОграниченная поддержка инструментов OCR

Применение улучшений изображения перед OCR

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

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

Удаление шума завершает работу. Маленькие изолированные черные или белые пиксели, шум типа «соль и перец», характерный для сканирований состаренной или текстурированной бумаги, создают ложные фрагменты символов. Медианный фильтр с радиусом 2–3 пикселя удаляет эти пятна, сохраняя при этом реальные края символов. Чистый двоичный вывод, готовый к распознаванию. Запуск OCR на этом обработанном изображении по сравнению с необработанным сканированием обычно показывает скачок точности на 10–25 процентных пунктов для сложных документов, а весь конвейер улучшения выполняется за секунды на страницу.

Запуск OCR на предварительно обработанных изображениях

Передайте очищенные изображения в механизм оптического распознавания символов как отдельные страницы. Tesseract и большинство других движков принимают каталог изображений и выводят текстовый файл на страницу. Для вывода PDF с возможностью поиска повторно объедините распознанный текст с изображениями, чтобы создать PDF-файл с невидимым текстовым слоем. Выходной формат hOCR сохраняет информацию о макете страницы в тех случаях, когда распознанный текст необходимо сопоставить с определенными позициями на странице. Эти данные макета позволяют выделять текст по мере чтения в PDF-файлах с возможностью поиска.

Всегда сравнивайте результаты. Запустите OCR как для необработанного PDF-файла, так и для предварительно обработанных изображений, а затем выборочно проверьте одни и те же абзацы в обоих выходных данных. Разница для сложных документов разительна. Выцветшая копия квитанции с точностью от 60% до 95% означает разницу между непригодным для использования и пригодным для использования. Для чистых современных документов, напечатанных лазером с разрешением 300 точек на дюйм, улучшение может быть незначительным, и прямого распознавания PDF-файлов вполне достаточно. Знание того, какие документы выгодны, экономит время обработки без ущерба для качества вывода.

Пакетная обработка больших наборов документов

Сотни или тысячи страниц требуют автоматизации. Создавайте сценарии для конвейера: конвертируйте PDF-страницы в изображения, применяйте согласованные параметры улучшения для всего пакета, запускайте распознавание текста и компилируйте результаты. Python с pdf2image, Pillow и pytesseract предоставляет бесплатный и гибкий конвейер, который обрабатывает тысячи страниц за ночь на стандартном компьютере. Первоначальная настройка занимает час или два, но каждый последующий пакет запускается с помощью одной команды. Для разовых небольших работ предварительная обработка вручную с помощью инструмента с графическим пользовательским интерфейсом выполняется быстрее и одинаково эффективна.

Проверка качества случайной выборки из каждой партии. Последовательные настройки не гарантируют стабильных результатов. На некоторых страницах есть уникальные артефакты, которые отсутствуют при стандартных улучшениях. Выборочная проверка 5–10 % пакета выявляет систематические проблемы, сбои в устранении перекосов на страницах с разреженным текстом, сбой бинаризации на страницах со слабым содержимым, прежде чем ошибки распространятся по всему набору документов. Исправьте параметры улучшения на основе образца, повторите анализ, и остальная часть партии окажется чистой.

WukongPDF

Попробуйте распознавание PDF-файлов

Никакой установки не требуется. Работает прямо в вашем браузере.

Начать →