Ocr редактор что это
Перейти к содержимому

Ocr редактор что это

Как распознать текст с картинки, фото, PDF-файла: подборка полезных программ (OCR) и сервисов

РаспознованиеДоброго дня!

Сегодня в заметке хочу коснуться одного «больного» офисного вопроса: «. вот у меня есть фото страницы книги/документа, как мне ее загнать в Word чтобы отредактировать текст. «. (его вариации могут чуть отличаться)

Основная «проблема» здесь в том, что на фотографии (скане) нет текста — там он представлен в виде графической картинки, или иными словами буквы на фото — это просто черные палочки, квадратики и кружки на белом фоне (обычный рисунок в виде букв)! Т.е. это не символы, их нельзя выделить, скопировать и вставить в Word!

Что делать? Сначала потребуется, чтобы «кто-то» преобразовал эти «палочки и кружочки» (т.е. буквы с картинки) в формат обычного текста, символов (эта операция назыв. по англ. OCR // optical character recognition // оптич. распознавание символов) . А вот уже потом текст можно перенести в Word и редактировать.

Собственно, о программах и сервисах, решающих эту задачу, и пойдет сегодня речь. 👌

OCR-конвейер для обработки документов

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

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

Про OCR и цели

Оптическое распознавание символов (OCR) — перевод изображений машинописного, рукописного или печатного текста в электронные текстовые данные. Обработка данных при помощи OCR может применяться для самых различных задач:

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

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

Мы выяснили, что использование готовых продуктов для решения нашей задачи приводило бы к большим затратам и низкой производительности, вызванной ограничениями объемов обрабатываемых документов. Поэтому мы решили разработать собственную систему OCR по принципу конвейера (OCR-pipeline), в которой последовательно выполняются следующие операции:

  • загрузка скана документа;
  • извлечение слов и строк из скана;
  • распознавание символов в словах и строках;
  • формирование электронного документа.

Извлечение слов и строк

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

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

Кроме того, нейронные сети resnet имеют сложную архитектуру и применительно к данной задаче их сложнее обучить, так как они больше предназначены для классификации изображений и обнаружения небольшого количества блоков текста. Их использование значительно замедлило бы разработку конвейера и в некоторых случаях снизило бы производительность. Поэтому мы решили остановиться на методах детекции строк посредством компьютерного зрения, в частности, на методе Максимальных Стабильных Экстремальных Регионов (MSER) [1].


Примеры MSER-детекции строк в документах

В ходе MSER-детекции текст в бинаризованном изображении скана предварительно «размазывается» в пятна. На основе субпиксельных вычислений полученные пятна ограничиваются связными областями и обрамляются в прямоугольные рамки. Таким образом, происходит сжатие исходных данных — из скана с документом извлекаются изображения, ограничивающие слова и строки. Стоит отметить, что данный метод не зависит от цвета извлекаемого текста. Важно лишь только то, чтобы он был достаточно контрастен по отношению к фону.

OCR AI

Следующим этапом после MSER-извлечения изображений с текстом является распознавание символов в них. В последнее время исследования в области AI показали, что распознавание символов на изображениях успешней всего выполняется на основе глубокого машинного обучения. В частности, используются нейронные сети, содержащие много уровней (глубокие нейронные сети), которые способны самостоятельно накапливать признаки и представления в обрабатываемых данных.

Генерация данных для обучения

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

В качестве обучающей выборки мы использовали датасет University of Washington (UW3), состоящий из более чем 80K строк из сканированных страниц с современным деловым и научным английским языком. Однако набор геометрических и фотометрических искажений, а также количество используемых шрифтов в строках оказались недостаточными. Поэтому мы решили дополнить обучающую выборку искусственно сгенерированными строками при помощи разработанного автоматического генератора строк текста разного шрифта, цвета, фона, интерлиньяжа и т. п. Использовались 10 наиболее популярных шрифтов, встречающихся в документах: Times New Roman, Helvetica, Baskerville, Computer Modern, Arial и другие.

Дополнительной универсальности относительно шрифтов удалось достичь благодаря использованию информации из Font Map, в которой взаимное расположение шрифтов определяет их сходство — чем ближе два шрифта друг к другу, тем более они похожи. Для дообучения сети было дополнительно отобрано 10 шрифтов на карте, наиболее удаленных от тех, на которых модель уже обучена.


Карта шрифтов Font Map fontmap.ideo.com

Архитектура сети CNN

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

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

Сверточная нейронная сеть обычно представляет собой чередование сверточных и пулинговых слоев, объединенных в сверточные блоки (сonvolutional blocks) и полносвязных слоев на выходе (fully connected layers). В сверточном слое веса объединяются в так называемые карты признаков (feature maps). Каждый из нейронов карты признаков связан с частью нейронов предыдущего слоя.

Сети CNN базируются на математических операциях свертки (convolutions) и последующих сокращениях размерности (pooling) с применением пороговых функций, исключающих отрицательные значения весов. Карты признаков после всех преобразований в сверточных блоках конкатенируются в единый вектор (concatenation) на вход полносвязной сети. Рассмотрим операции свертки и сокращения размерности подробнее.

Вычисления в сверточной сети

В сверточном слое входное исходное изображение или карта предыдущего сверточного блока (input data) подвергаются операции свертки (сonvolution) при помощи матрицы небольшого размера (ядра свертки, сonvolution kernel), которую двигают по матрице, описывающей входные данные (input data). Выходными данными (output data) является матрица, состоящая из значений суммы попарных произведений соответствующей части входных данных с ядром свертки. На рисунке показан пример сверточного слоя с ядром свертки размера 3X3.

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

  1. Применение функции активации нейронов. Наиболее используемой функцией активации в сверточных нейронных сетях является ReLU, которая заменяет отрицательные значения в матрице нулями. В последнее время доказали свою эффективность ее разновидности — Noisy ReLU, которая заменяет отрицательные значения нулями с добавлением небольшого случайного слагаемого к положительным значениям, и Leaky ReLU, которая заменяет отрицательные значения не нулями, а случайными числами.
  2. Уменьшение размерности. Полученная после активации матрица разделяется на ячейки, в которых происходит агрегирование значений. Это можно сделать разными способами, но зачастую применяется метод выбора максимального элемента (max-pooling).

На рисунке показан пример слоя пулинга с сокращением размерности в два раза с применением ReLU и max-pooling. Выходные значения передаются на вход следующего сверточного блока или вытягиваются в вектор для полносвязного слоя, если сверточных блоков больше нет.

Архитектура сети для OCR

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

  • сверточных блоков CNN, извлекающих представления из изображений;
  • блоков долгой кратковременной памяти LSTM[3], каждый из которых состоит из комплекса пороговых функций, позволяющих запоминать представления как на длинные, так и на короткие промежутки времени, а также предотвращать преждевременное «забывание» представлений при обучении;
  • классификатора CTC[4], способствующего сохранению последовательности выводимых символов.
Вычислительные эксперименты

В ходе обучения мы провели серию экспериментов относительно наборов строк в обучающих выборках. Выделим основные из них: на основе только сгенерированных строк (10 наиболее популярных шрифтов + 10 шрифтов из Font Map), на основе сгенерированных строк с тремя наиболее используемыми в документах шрифтами (Times New Roman, Helvetica, Computer Modern) со строками из датасета UW3 и на основе сгенерированных строк (10 + 10 шрифтов) со строками из датасета UW3.

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

Обучение нейросети происходило по принципу «раннего останова»: через определенное количество итераций выполнялось распознавание случайно выбранного подмножества строк из обучающей (валидационной) выборки. Если в течение нескольких таких проверок максимальное значение точности не изменялось, то итерационный процесс обучения прекращался и сохранялись веса нейронной сети для распознавания строк из документов. Время обучения рассчитывалось от начала итерационного процесса до останова. Использовались графические ускорители GPU Nvidia семейства Tesla (K8 и V100).

Рассматривались документы с разрешением сканирования от 96dpi на английском языке, в том числе с присутствием цветного текста. Построенная архитектура позволила достичь точности распознавания символов до 95-99%.

Таким образом, в качестве выходных данных мы получаем символы, объединенные в слова или строки, формирующие электронные документы.

Конвейер

Значительное ускорение обработки документов было достигнуто благодаря организации нашей системы распознавания по принципу конвейера с минимизацией простоев, а также за счет распараллеливания вычислений в CPU и GPU и рационального использования памяти. Система развертывалась с помощью Docker и Kubernetes.


Организация системы OCR AI распознавания по принципу конвейера.
Длина прямоугольных блоков, описывающих процедуру обработки, схематично соответствует интервалу времени. Время выполнения каждой из процедур может различаться в зависимости от количества символов в документе.
Load Scan i — загрузка скана i-го документа,
Strokes Detection i — извлечение строк из i-го документа при помощи MSER,
Load Strokes i — OpenCV-предобработка и нормализация извлеченных строк i-го документа и загрузка на вход сети,
AI Recognition i — распознавание символов в строках i-го документа на основе построенной глубокой сети.

Для повышения качества MSER-детекции мы дополнительно применяли математические методы цифровой обработки изображений, которые в том числе исключали нежелательные шумы, естественно возникающие при сканировании бумажных документов. Обработка изображений и MSER-детекция слов и строк реализовывалась на языке Python с использованием библиотеки компьютерного зрения OpenCV.

Для повышения качества обучения, защиты от переобучения и последующего распознавания в нейронной сети AI мы применяли адаптивное обновление весов сети [5], dropout-прореживание [6] и батч-нормализацию [7]. Реализация нейронной сети глубокого обучения также была написана на Python c использованием фреймворка TensorFlow. Вычисления на GPU от Nvidia поддерживались благодаря внедрению технологий CUDA и cuDNN.

Дополнительного прироста производительности предполагается достичь при помощи технологии TensorRT [8], заточенной под оптимальное использование весов сети при вычислениях в GPU, производимых Nvidia (например, таких, как Tesla или k8). При этом веса обученных моделей преобразуются в более сжатый формат с плавающей точкой. Это позволяет более чем в 40 раз повысить скорость вычислений в GPU по сравнению с CPU без видимых потерь точности распознавания.

Программы для распознавания текста
онлайн и офлайн

5.0 Оценок: 2 (Ваша: )

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

Альтернатива: PDF Commander

Требуется создать документ из отсканированных фото или отредактировать PDF-файл? Скачайте программу PDF Commander – он удобен в работе, подходит для новичков и профессионалов и справится с проектами любого типа сложности.

  • Создавайте проекты с нуля, путем склеивание ПДФ-документов или фотографий.
  • Встраивайте штампы одобрения или отклонения и ставьте личную подпись.
  • Добавляйте новые объекты и работайте со структурой документа.
  • Защищайте файл при помощи двухэтапного пароля.

PDF-редактор совместим со старыми и новейшими сборками операционной сестемы Windows и быстро работает на компьютере любой мощности, не нагружая его ресурсы.

AltДля Windows 11, 10, 8, 7 и XP

Abbyy FineReaderAbbyy FineReader

Платформа: Windows, iOS, Android, веб

Лицензия: пробная, от 5388 в год

Распознает: JPG, TIF, BMP, PNG, PDF, сигнал со сканера, снимки камеры

Сохраняет: DOC, DOCX, XLS, XLSX, ODT, TXT, RTF, PDF, PDF/A, PPTX, EPUB, FB2

Abbyy FineReader известен своим точным модулем OCR, который позволяет быстро распознать текст с картинки. Приложение можно использовать как оцифровщик бумаг, так как он включает в себя инструмент для прямого перехвата фотографий со сканера. Их можно сразу сохранить в любой из доступных форматов, в том числе текстовые документы, HTML-файлы или PDF. Бесплатная версия накладывает ограничение на количество страниц: не более 10.

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

OCR CuneiFormOCR CuneiForm

Платформа: Windows, Linux, mac OS

Лицензия: бесплатная

Распознает: JPG, TIFF, BMP, PNG, снимки со сканера

Сохраняет: DOCX

Программа для распознавания текста по фото OCR CUneiForm направлена только на одно действие – перехват со сканера изображений и преобразования содержащейся на них текстовой информации. Также допускается открытие графических файлов с персонального компьютера. После этого работу можно продолжить в любом текстовом редакторе. Разрешается работать в одиночном или пакетном режиме.

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

Office LensOffice Lens

Платформа: Android, iOS

Лицензия: бесплатная

Распознает: фотографии с камеры

Сохраняет: PDF, PPT, DOCX

Ранее Office Lens (также известный как Microsoft Lens) был доступен для ПК, но теперь корпорация прекратила поддержку десктопной версии. Приложение превращает ваш телефон в продвинутый сканер, автоматически анализируя окружение и делая снимок документа. Возможна работа в том числе со снимками с неправильным отображением (положенные боком, перевернутые, лежащие на неровной поверхности и т.д.).

  • корректировка результата после создания снимка;
  • извлечение печатного и рукописного текста на русском и английском языке;
  • распознавание таблиц и контактов;
  • создание многостраничного документа из фотографий.
  • полностью бесплатный;
  • есть разные пресеты и настройки для документов (лист, фото, доска, визитка);
  • отправка файлов в облачные хранилища.
  • для подключения модуля OCR требуется регистрация аккаунта;
  • некорректные результаты при извлечении русских букв.

Adobe Scan

Платформа: Android, iOS

Лицензия: условно-бесплатная; от 349 рублей

Распознает: фотографии с камеры

Сохраняет: PDF

Как и продукт от Microsoft, Adobe Scan также сканирует текстовые данные через мобильную фотокамеру. Результат сохраняется как PDF-документ, оптимизированный для редактирования в программном обеспечении Acrobat. Все результаты сохраняются автоматически в облако Adobe Document Cloud.

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

Online OCR

Платформа: веб

Лицензия: условно-бесплатная

Распознает: JPG, GIF, TIFF, BMP, PNG, PCX, PDF

Сохраняет: TXT, DOC, DOCX, XLSX, PDF

На этом сервисе пользователи могут провести распознавание текста бесплатно и сохранить результат в редактируемые текстовые файлы без установки софта. Поддерживается работа со сканами, популярными форматами графики, сканами и PDF. Без регистрации и оплаты доступно распознование только 15 страниц в час. После авторизации данный лимит повышается до 50, а также увеличивается допустимый размер (200 МБ).

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

img2text

Платформа: веб

Лицензия: бесплатная

Распознает: JPEG, PNG, PDF

Сохраняет: PDF, TXT, DOCX, ODF

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

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

Office Lens

Платформа: Windows, macOS

Лицензия: бесплатная

Распознает: JPEG, TIFF, PNG, BMP

Сохраняет: JPEG, TIFF, PNG, BMP

Записная книжка от разработчика Microsoft работает как отдельная программа, также ее можно приобрести в пакете с офисным ПО MS Office. Хотя софт также распространяется как мобильное приложение, распознавание текста с картинки поддерживается только в десктопном варианте на компьютере. Хотя изменять информацию на картинках нельзя, данные можно скопировать и вставить в текстовой редактор.

  • загрузка фотографий с жесткого диска или подключенной фотокамеры;
  • скрытие выбранных областей фотографии;
  • можно добавлять пометки и конвертировать их в редактируемый текст;
  • прослушивание открытого текста.
  • автоматические бэкап в облако предотвратит потерю важных данных;
  • есть опция переводчика текста и проверка орфографии в документе.
  • требуется вход с учетной записью Microsoft;
  • текст на фотографиях нельзя исправлять.

Readiris 17Readiris 17

Платформа: Windows, macOS

Лицензия: пробная; от $129

Распознает: JPEG, TIFF, PNG, BMP, PDF

Сохраняет: PDF, TXT, PPTX, DOCX, XLSX

Readiris – один из немногих PDF-редакторов, умеющий различать печатный текст и даже ручной почерк и преобразовать его в стандартный текстовой массив. Программу можно использовать как сканер текста с фото, так как она работает со всеми популярными моделями сканирующих устройство. Софт корректно распознает кириллические символы и показывает высокую точность результатов. Пробная версия доступна в полном функционале в течение 10 дней.

  • позволяет перехватывать и оптимизировать картинки со сканера;
  • работает с более чем 170 языками и проверяет ошибки;
  • сохраняет оригинальное форматирование документа;
  • распознает таблицы, штрих-коды, формулы, нестандартные символы.
  • имеется пакетный режим;
  • присутствуют инструменты редактирования.
  • неудобная рабочая панель;
  • высокая стоимость полной версии.

Freemore OCRFreemore OCR

Платформа: Windows

Лицензия: бесплатная

Распознает: JPEG, TIFF, PNG, BMP, PSD

Сохраняет: DOC, TXT

Freemore OCR – простая в управлении программа, считывающая текст с изображений или из нередактируемых ПДФ. Работа проводится в двухоконном режиме, что особенно удобно при проверке точности результатов. Стоит отметить, что при загрузке файл помечается как подозрительный, при установке некоторые антивирусы требуется на время отключить.

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

Scanitto ProScanitto Pro

Платформа: Windows

Лицензия: условно-бесплатная; 499 руб

Распознает: PDF, BMP, JPG, TIFF, JP2, PNG

Сохраняет: DOCX, RTF, TXT, PDF

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

  • просматривайте результат перед выводом на экспорт;
  • объединение изображений в многостраничные документы;
  • поворот скана и очистка для шума для более точного анализа;
  • оптическое распознавание более 7 языков (включая русский).
  • удобный пользовательский интерфейс с минимумом настроек;
  • минимальные требования к системе и процессору компьютера.
  • нельзя загружать фото с жесткого диска;
  • сбивает структуру и удаляет оригинальное форматирование текста.

В заключение

Надеемся, что наш обзор помог вам понять, какая программа для сканирования и распознавания текста подойдет для вашей задачи. Все рассмотренные приложения в целом достойно справились с анализом сложных фото и показали высокую скорость работы. А если вам требуется обработка сохраненного ПДФ-файла, советуем скачать бесплатно PDF Commander. Он поможет создать из распознанного текста полноценный документ и разнообразить его дополнительными элементами.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *