0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Распознавание чеков в Google Docs с помощью ABBYY OCR SDK

Содержание

Разработка решения для управления документооборотом: как мы выбирали OCR библиотеку для наших задач

30 Августа, 2017

Нам нужно было улучшить документооборот в нашей компании, в первую очередь — увеличить скорость обработки бумажных документов. Для этого мы решили разработать программное решение на базе одной из OCR (optical character recognition) библиотек.

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

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

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

Мы проанализировали три наиболее популярные OCR библиотеки:

— Google Text Recognition API

Google Text Recognition API

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

Стоит отметить, что, в целом, данная OCR с поставленной задачей справилась. Мы получили возможность распознавать текст как в real-time, так и с уже готовых изображений текстовых документов. В ходе анализа данной библиотеки мы выявили как преимущества, так и недостатки ее использования.

— Возможность распознавания текста в реальном времени

— Возможность распознавания текста с изображений;

— Небольшой размер библиотеки;

— Высокая скорость распознавания.

— Большой размер файлов с обученными данными (

Tesseract

Tesseract — это OCR библиотека с открытым исходным кодом для разных операционных систем. Представляет собой бесплатное программное обеспечение, выпущенное под лицензией Apache, версия 2.0, поддерживает различные языки.

Разработка Tesseract финансировалась компанией Google с 2006 года, время, когда она считалась одной из наиболее точных и эффективных OCR библиотек с открытым исходным кодом.

Как бы то ни было на тот момент, результатами внедрения Tesseract мы остались не сильно довольны, т.к. библиотека невероятно объемная и не позволяет распознавать текст в реальном времени.

— Имеет открытый исходный код;

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

— Недостаточная точность распознавания, что устраняется путем тренировки и обучения алгоритма распознавания;

— Для распознавания текста в реальном времени требуется дополнительная обработка полученного изображения;

— Небольшая точность распознавания при использовании стандартных файлов с данными о шрифтах, словах и символах.

Anyline

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

— Довольно простая настройка распознавания нужных шрифтов;

— Распознавание текста в реальном времени;

— Легкая и удобная настройка параметров распознавания;

— Библиотека может распознавать штрихкоды и QR-коды;

— Предоставляет готовые модули для решения разных задач.

— Невысокая скорость распознавания;

— Для получения удовлетворительных результатов требуется первоначальная настройка шрифтов для распознавания.

В ходе проведенного анализа для решения наших задач была мы остановились на Google Text Recognition API, которая совмещает в себе высокую скорость работы, легкую настройку и высокие результаты распознавания.

Разработанное нами решение позволяет сканировать бумажные документы, автоматически оцифровывать их и сохранять в единую базу данных. Качество распознаваемой информации составляет около 97%, что является очень хорошим результатом.

За счет внедрения разработанной системы внутренний документооборот (включая обработку документов, их создание и обмен между отделами и др.) был ускорен на 15%.

Что такое OCR

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

Что подразумевают под технологией
оптического распознавания символов

Оптическое распознавание символов (англ. Optical Character Recognition – OCR) – это технология, которая позволяет преобразовывать различные типы документов, такие как отсканированные документы, PDF-файлы или фото с цифровой камеры, в редактируемые форматы с возможностью поиска.

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

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

Какие принципы лежат в основе
технологии FineReader OCR?

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

Изображение, согласно принципу целостности, будет интерпретировано как некий объект, только если на нем присутствуют все структурные части этого объекта и эти части находятся в соответствующих отношениях. Иначе говоря, ABBYY FineReader не пытается принимать решение, перебирая тысячи эталонов в поисках наиболее подходящего. Вместо этого выдвигается ряд гипотез относительно того, на что похоже обнаруженное изображение. Затем каждая гипотеза целенаправленно проверяется. И, допуская, что найденный объект может быть буквой А, FineReader будет искать именно те особенности, которые должны быть у изображения этой буквы. Как и следует поступать, исходя из принципа целенаправленности. Принцип адаптивности означает, что программа должна быть способна к самообучению, поэтому проверять, верна ли выдвинутая гипотеза, система будет, опираясь на накопленные ранее сведения о возможных начертаниях символа в данном конкретном документе.

Какая технология лежит в основе OCR?

Компания ABBYY, опираясь на результаты многолетних исследований, реализовала принципы IPA в компьютерной программе. Система оптического распознавания символов ABBYY FineReader – единственная в мире система OCR, действующая в соответствии с вышеописанными принципами на всех этапах обработки документа. Эти принципы делают программу максимально гибкой и интеллектуальной, предельно приближая ее работу к тому, как распознает символы человек. На первом этапе распознавания система постранично анализирует изображения, из которых состоит документ, определяет структуру страниц, выделяет текстовые блоки, таблицы. Кроме того, современные документы часто содержат всевозможные элементы дизайна: иллюстрации, колонтитулы, цветной фон или фоновые изображения. Поэтому недостаточно просто найти и распознать обнаруженный текст, важно с самого начала определить, как устроен рассматриваемый документ: есть ли в нем разделы и подразделы, ссылки и сноски, таблицы и графики, оглавление, проставлены ли номера страниц и т. д. Затем в текстовых блоках выделяются строки, отдельные строки делятся на слова, слова на символы.

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

В системе ABBYY FineReader применяются классификаторы следующих типов: растровый, признаковый, контурный, структурный, признаково-дифференциальный и структурно-дифференциальный. Растровый и признаковый классификаторы анализируют изображение и выдвигают несколько гипотез о том, какой символ на нем представлен. В ходе анализа каждой гипотезе присваивается определенная оценка (так называемый вес). По итогам проверки мы получаем список гипотез, проранжированный по весу (то есть по степени уверенности в том, что перед нами именно такой символ). Можно сказать, что в данный момент система уже «догадывается», на что похож рассматриваемый символ.

После этого в соответствии с принципами IPA ABBYY FineReader проводит проверку выдвинутых гипотез. Это делается с помощью дифференциального признакового классификатора.

Кроме того, следует отметить, что ABBYY FineReader поддерживает 192 языка распознавания. Интеграция системы распознавания со словарями помогает программе при анализе документов: распознавание происходит более точно и упрощает дальнейшую проверку результата с учетом данных об основном языке документа и словарной проверки отдельных предположений. После подробной обработки огромного числа гипотез программа принимает решение и предоставляет пользователю распознанный текст.

Читать еще:  Скачать DEAD TRIGGER 2 на андроид v.1.5.1

Оптическое распознавание текста (OCR)

В этом разделе описано, как работает возможность распознавание текста (Optical Character Recognition, OCR).

Подготовка запроса на распознавание

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

Конфигурация запроса

В конфигурации указывается:

список языков, на основе которого будет определена языковая модель для распознавания.

Если вы не знаете язык текста, укажите «*» , чтобы сервис выбрал наиболее подходящую модель автоматически.

модель, которая будет использована для поиска текста на изображении. Доступные модели:

page (по умолчанию) — подходит для изображений с любым количеством строк текста.

line — подходит для распознавания одной строки текста. Например, если вы не хотите передавать изображение целиком, вы можете вырезать строку и отправить на распознавание только ее.

На изображении должна быть только одна строка текста, а высота текста должна быть не меньше 80% от высоты изображения, иначе результаты распознавания с моделью line будут непредсказуемы. Пример правильного изображения:

Определение языковой модели

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

При каждом распознавании текста используется только одна модель. Например, если на изображении текст на китайском и японском, то распознан будет только один из этих языков. Чтобы распознать оба этих языка, укажите в запросе несколько возможностей для анализа с разными списками языков.

Совет

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

Требования к изображению

Изображение в запросе должно соответствовать следующим требованиям:

Поддерживаемые форматы файлов: JPEG, PNG, PDF.

MIME-тип файла вы указываете в свойстве mime_type . По умолчанию image .

Максимальный размер файла: 1 МБ.

Размер изображения не должен превышать 20 мегапикселей (длина x ширина).

Ответ с результатами распознавания

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

В результате сервис возвращает объект, где для каждого из уровней дополнительно указывается:

  • страницы ( pages[] ) — размер страницы;
  • блоки текста ( blocks[] ) — расположение текста на странице;
  • строки ( lines[] ) — расположение и достоверность распознавания;
  • слова ( words[] ) — расположение, достоверность, текст и язык, использованный при распознавании.

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

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

Пример распознанного слова с координатами:

Достоверность распознавания

Достоверность распознавания показывает уверенность сервиса в результате. Например, значение «confidence»: 0.9412244558 для строки we like you означает, что с вероятностью в 94% текст распознан корректно.

Сейчас достоверность считается только для строк. В значение confidence для слов и языка подставляется значение для confidence строки.

OCR-сканеры: Android-приложения для сканирования документов

Поделитесь в соцсетях:

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

Мобильных сканеров в Play Store не так уж и мало. Но интерес вызывают те из них, которые имеют функцию оптического распознавания текста (OCR). Некоторые читатели могут возразить, что есть бесплатная возможность выполнить OCR в том же Google Drive. И будут правы… отчасти. Google и вправду предлагает замечательную функцию распознавания текста, преобразовывая PDF-файлы и изображения в текстовые документы, но здесь есть свои ограничения. К тому же, результат не всегда желаемый, а манипуляций приходится делать гораздо больше. В этой статье мы рассмотрим несколько достойных кандидатов на роль мобильного сканера с OCR-функцией.

ABBYY TextGrabber + Translator

Первым и, пожалуй, наиболее известным инструментом для распознавания текста можно считать приложение от компании ABBYY. Для мобильных платформ программа получила название ABBYY TextGrabber + Translator и объединила функции OCR и переводчика.

Интерфейс приложения содержит всего лишь две основные кнопки на экране, отвечающие за добавление изображения из галереи и создание снимка с помощью стоковой камеры устройства с поддержкой только одиночного режима сканирования. В приложении доступно более 60 языков, в том числе и украинский. Весь процесс распознавания занимает не больше минуты. Что касается распознанного текста – здесь не все однозначно, конечный результат очень сильно зависит от качества полученного изображения. К сожалению, никаких инструментов, кроме кадрирования, в приложении нет. Ко всему прочему, TextGrabber не содержит встроенных средств для исправления перспективы, настройки яркости и контраста. Лучше дела обстоят со скриншотами, которые программа распознает значительно уверенней, но также не идеально. Распознанный текст не сохраняет никакого форматирования оригинального документа. Его можно отредактировать, скопировать в буфер, передать в другие приложения, в том числе и социальные сети, отправить по SMS или электронной почте. Не очень приятным моментом при этом является то, что программа автоматически добавляет к тексту подпись «Captured by ABBYY TextGrabber». Ранее распознанные тексты сохраняются в приложении, их можно просмотреть в «Истории».

Бонусом в программе идет вторая часть функциональной нагрузки — Translator. Это перевод распознанного текста на более чем 40 языков мира благодаря интеграции с сервисом Google Translate. Такую возможность можно использовать, например, для перевода вывесок, надписей и небольших фрагментов текста. Для более объемной информации — польза весьма сомнительная. Работает переводчик при выполнении двух условий: хороший результат распознавания и подключение к интернету.

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

CamScanner

Самое популярное по количеству загрузок приложение-сканер. Это не просто утилита для сканирования изображений, а настоящий программный комплекс со множеством функций. CamScanner выгодно отличается наличием встроенной камеры, которая позволяет распознавать визитные карточки, текстовые документы и QR-коды в одиночном и пакетном режимах. Любопытной особенностью интерфейса камеры является опция, которая демонстрирует уровень наклона устройства.

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

Основные функции программы доступны в бесплатной версии CamScanner. Ограничения коснулись загрузки в Evernote и OneDrive и возможности экспортировать распознанный текст, в сохраненных PDF-файлах присутствует водяной знак. Лицензионный ключ, стоимостью

24 грн. (с учетом скидки), позволяет оценить возможности OCR. Как оказалось, среди языков распознавания отсутствует украинский и русский. Соответственно, на текущий момент практической пользы от OCR-функции для большинства украиноязычных и русскоязычных пользователей в приложении нет. На примере документа с английским текстом можно отметить, что процесс распознавания CamScanner – наиболее быстрый из всех рассматриваемых в данной статье программ с очень хорошим результатом и сохранением абзацев.

Стоить заметить, что некоторые функции приложения становятся доступны только после регистрации в сервисе. К таковым относится синхронизация с облачными хранилищами, включая собственное «облако» от CamScanner, и социальные функции, которые позволяют оставлять комментарии, открывать доступ к документам другим пользователям сервиса или делиться с ними ссылками. Среди дополнительных функций в программе есть резервное копирование и восстановление данных на SD-карте, установка пароля на просмотр защищенных документов, экспорт с возможностью загрузки в облако или печати с помощью виртуального принтера Google. В результате CamScanner — отличный инструмент для сканирования различных документов. К сожалению, удачно реализованная функция OCR не содержит ни украинского, ни русского языка, что может стать ключевым моментом при выборе OCR-сканера.

Mobile Document Scanner

Mobile Document Scanner (MDScan) — программа, пришедшая из Nokia Ovi Store, которая по праву может считаться ветераном среди мобильных инструментов для оцифровки изображений. Приложение имеет собственный интерфейс камеры, поддерживает как одиночный, так и многостраничный режимы сканирования. Главной особенностью программы являются шаблоны предобработки и постобработки изображений. MDScan автоматически очищает документ, удаляя лишние элементы и фон. Возможность ручной коррекции яркости/контрастности здесь отсутствует, но и с готовыми шаблонами можно добиться вполне приличного результата. В автоматическом режиме программа не умеет корректно определять границы текста, а вручную это реализовано не очень удобно. Из инструментов постобработки в MDScan есть кисть для рисования и добавление подписи.

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

Что касается OCR-функции, то такая возможность появилась в последней версии MDScan и активируется после покупки программы (

16 грн.). Надо признать, на текущий момент распознавание текста выглядит очень сырым. Во-первых, найти эту функцию и воспользоваться ею оказалось не так просто. А во-вторых, сам процесс длится настолько долго, что не каждый пользователь дождется результата. Хотя сам результат, при условии хорошей читаемости текста, может оказаться вполне годным. Единственное, что хотелось бы отметить – это умение программы корректно выделять абзацы.

Читать еще:  Как очистить кэш на андроиде самсунг

OCR Instantly

Основной задачей этого приложения является преобразование изображения в текст с последующим его редактированием. По своим возможностям программа очень похожа на ABBYY Text Grabber + Translator. Здесь также отсутствует пакетный режим сканирования, нет инструмента для исправления перспективы, но есть интеграция с сервисом Google Translate для перевода распознанного текста на другой язык. Однако, в отличие от приложения ABBYY, OCR Instantly все же предоставляет возможность вручную корректировать снимки с помощью функции Enhance. В данном случае это всего пара ползунков, отвечающих за настройку экспозиции и уменьшение шума.

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

OCR Instantly имеет и платную версию (

75 грн.), которая отличается отсутствием рекламы, расширенным OCR, возможностью выбора нескольких языков распознавания и полноэкранным редактированием текста. Кроме того, в Pro-версии приложения можно найти несколько интересных дополнений. Например, черный и белый списки символов (на случай если есть проблема с распознаванием определенного символа) или инструмент Dewarp — для выравнивания строк текста. И, разумеется, платный OCR Instantly позволяет сохранять результаты распознавания в TXT, JPG и PDF файл.

Scanbot

Scanbot можно назвать по-настоящему мобильным сканером. Приложение выполнено в концепции Material Design, выглядит современно и не перегружено лишними функциями. Основное предназначение программы — сканирование различных видов документов с последующим сохранением в PDF или JPG файл. Главным преимуществом Scanbot перед конкурентами является собственный интеллектуальный интерфейс камеры. Достаточно навести камеру на объект, как программа тут же обнаруживает текстовый документ, QR или штрих-код, определяет его границы, корректирует перспективу и оптимизирует качество изображения. Все это происходит в автоматическом режиме. Если результат не устраивает, можно внести изменения вручную. Кроме того, независимо от источника добавления изображения — камеры или галереи, Scanbot поддерживает как одиночный, так и пакетный режимы сканирования. Еще одно достоинство приложения — работа с облачными хранилищами с поддержкой автоматической загрузки отсканированных документов в выбранное «облако». Результат сканирования также сохраняется на SD-карте.

OCR-функция присутствует в платной версии Scanbot Pro (

87 грн.) и доступна после установки языкового модуля, в котором содержатся украинский и русский языки. Процесс распознавания происходит очень долго, причем в автоматическом режиме. Соответственно, возможности выбрать язык вручную приложение не дает. Из-за этого текст документа может быть определен неправильно, и тогда на выходе получим бессмысленный набор символов. Хотя, в целом, результаты разнятся и могут быть как непригодными для восприятия, так и вполне хорошими. В Pro-версии также содержатся инструменты для редактирования отсканированного документа: создание подписи, заметки и маркер для выделения текста. Приятным бонусом идут темы оформления программы. К недостаткам Scanbot можно отнести длительный процесс создания многостраничного PDF-файла, отсутствие возможности добавлять или удалять отдельные страницы в документе, а также неудобная реализация сохранения отсканированного документа в файл.

Итоги

Подводя итоги, хочется обратить внимание на то, что все рассмотренные приложения в полной мере раскрывают свои функциональные возможности (в частности, OCR) в платных версиях. Это говорит о том, что весь этот софт является узкоспециализированным и нацелен в большинстве своем на тех пользователей, которые будут использовать его в своей профессиональной или учебной деятельности. Исключение — OCR Instantly, в котором OCR-функция представлена в бесплатной версии.

Что касается качества распознавания, то многое, разумеется, зависит от камеры мобильного устройства, условий, при которых делается снимок, и наличия в приложении инструментов для обработки этих снимков. Все программы показывают приблизительно одинаковый результат. Чуть хуже проявил себя ABBYY TextGrabber + Translator – в данном случае основной проблемой приложения является недостаточная функциональность и отсутствие каких-либо инструментов обработки изображения. В компании ABBYY нам сообщили, что позиционируют TextGrabber + Translator как базовое решение, но в этом году собираются выпустить для Android приложение FineScanner, в котором будет больше функций. CamScanner и вовсе не имеет украинского и русского языков распознавания, однако в целом оставил положительное впечатление. Scanbot и Mobile Document Scanner отметились долгоиграющим процессом распознавания. Не последнюю роль в выборе OCR-сканера играет их стоимость, которая сильно варьируется от символической до необоснованно высокой.

Системы оптического распознавания текста в Linux — обзор и сравнительное тестирование

Автор: А. Кривошей
Дата публикации: апрель 2011 года

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

Методика тестирования

Для более объективной оценки возможностей пакетов оптического распознавания я подготовил три образца. Первый из них представляет собой страницу текста из книги «Война и мир». Данная страница из электронной книги в формате PDF была импортирована в GIMP с разрешением 300 dpi и сохранена в формате png. Таким образом, она представляет собой практически идеальный объект для распознавания и все программы должны с этим справиться без труда.
Второй образец представляет собой ту же страницу, но импортированную уже с разрешением 200 dpi и сохраненную в формате jpg с уровнем качества 60%. Любопытно посмотреть, как это скажется на качестве распознавания.
Для третьего образца та же самая страница была импортирована с разрешением уже 150 dpi. После импортирования на рисунок в GIMP был наложен фильтр «Фотокопия», имитирующий копировальную машину, что еще больше усложняет распознавание.
Что касается полученных результатов, они приведены в таблице. Показателем точности распознавания является отношение количества правильно распознанных слов к общему количеству слов в документе, выраженное в процентах и определяемое с помощью утилиты dwdiff.
Желающие могут скачать образцы и проверить результаты самостоятельно:
Образец 1, Образец 2, Образец 3.
Само собой, автор не претендует на какую-либо стопроцентную достоверность полученных результатов. При использовании других образцов результаты могут значительно измениться.
А теперь рассмотрим наших кандидатов.

ABBYY FineReader for Linux

Не секрет, что уже в течение многих лет единоличным лидером на рынке оптического распознавания является российская компания ABBYY со своим продуктом Fine Reader. В настоящее время компания предлагает пакет ABBYY FineReader Engine 8.0 CLI for Linux, включающий утилиту командой строки для распознавания и SDK для встраивания движка распознавания в различные корпоративные системы документооборота и т.д. Полная версия программы стоит 149 евро, при этом количество распознаваемых страниц ограничено величиной 12000 в год. Есть и более дорогие версии, в которых это количество значительно больше. Более подробную информацию можно получить на странице проекта. При такой стоимости покупать программу для домашнего использования возможно и не стоит, однако даже для небольшой компании она выглядит вполне приемлемо. Триальная версия позволяет распознать 100 страниц, ее мы и испытаем.
Для начала необходимо скачать архив с программой весом 290 Мб. Для получения триального ключа необходимо заполнить несложную форму на этом же сайте. Мне через пару дней после ее заполнения пришел ответ с ключом. В архиве находится файл abbyyocr.run и инструкция по установке, которая в общем заключается в запуске вышеуказанного файла на выполнение от имени суперпользователя (все это делалось в Ubuntu 10.10):

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

В целом здесь все понятно. Ключи -if и -of задают распознаваемый файл и файл, в который записывается результат работы программы. С помощью -f задается формат вывода. Необходимо отметить, что если в тексте имеются слова на иностранном языке, необходимо обязательно задать его вторым после ключа -rl. В противном случае программа будет пытаться распознать все на русском.

ABBYY Fine Reader Online

Для полноты картины необходимо рассмотреть еще один продукт от ABBYY — онлайновый сервис ABBYY Fine Reader Online . Ранее он позволял после несложной регистрации распознавать бесплатно до 10 страниц в день, теперь же бесплатно можно распознать только три страницы сразу после регистрации, после чего необходимо платить. Минимальный пакет стоит 3$ за 20 страниц. Сервис поддерживает большое количество языков и форматов файлов.

Cuneiform

На второе место по известности среди систем OCR можно смело поставить программу cuniform. Первоначально программа CuneiForm была разработана компанией Cognitive Technologies как коммерческий продукт. CuneiForm поставлялся с некоторыми моделями сканеров. Однако после нескольких лет перерыва разработки, 12 декабря 2007 года анонсировано открытие исходных текстов программы, которое состоялось 2 апреля 2008 года.
По умолчанию в Ubuntu 10.10 доступна достаточно старая версия 0.7. Однако после добавления соответствующего PPA можно стать обладателем версии 1.0. Для Cuneiform написаны два графических интерфейса — YAGF и Cuneiform-Qt .
Для тестирования я использовал версию 1.0.0, установленную из вышеуказанного PPA. Распознавание производилось с помощью команды вида:

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

Читать еще:  Устанавливаем последнюю версию Android с помощью Lineage OS

GOCR — это свободная кроссплатформенная система оптического распознавания текстов, работающая из командной строки. Программа пока находится в ранней стадии разработки, поэтому имеет ряд серьезных недостатков (например, распознает только одноколоночный текст). Кроме того, изучение man-страницы показало, что опций, позволяющих задать язык распознавания, программа не имеет, что подтвердилось экспериментом — русский текст gocr пытается распознать как английский. Естественно, в таблицу я данную программу включать не стал.

Ocrad

Ocrad — это система оптического распознавания, разрабатываемая в рамках проекта GNU. Программа использует метод выделения характерных признаков (feature extraction). Она читает побитовое изображение в формате pgm/pbm и генерирует текст в байтовом (8-битном) формате. Ocrad содержит анализатор макета, способный отделять столбцы или блоки текста, часто встречающиеся в печатных страницах. К сожалению, поддержка русского языка также отсутствует напрочь. Поэтому из нашего сравнения программу исключаем.

Tesseract

Tesseract — свободная программа для распознавания текстов, разрабатывавшаяся Hewlett-Packard с середины 1980-х по середину 1990-х. Затем ее разработка была заморожена на 10 лет. В августе 2006 г Google купил её и открыл исходные тексты под лицензией Apache 2.0 для продолжения разработки. В настоящий момент программа уже работает с UTF-8, поддержка языков (включая русский с версии 3.0) осуществляется с помощью дополнительных модулей.
Так как в репозиториях Ubuntu присутствует 2-я версия программы, а русский язык поддерживается только с релиза 3.0.0, программу я собирал из исходных текстов по инструкциям, найденным в сети.
Итак, скачиваем здесь архив с исходными текстами (в моем случае это tesseract-3.00.tar.gz, но с выходом новых версий название может быть другим), распаковываем его и переходим в директорию с исходными кодами.
Для корректной работы tesseract необходим пакет leptonica — ПО с открытым исходным кодом, необходимое для приложений, работающих и анализирующих изображения. Устанавливаем его:

Кроме того, для работы tesseract необходимо установить следующие пакеты: libpng12-dev, libjpeg62-dev, libtiff4-dev, zlib1g-dev, libtool build-essential. Устанавливаем и их, а затем из директории с исходным кодом начинаем конфигурирование и сборку программы:

При подтверждении опций необходимо изменить имя пакета (номер 2) на tesseract-ocr.

Все остальные опции принимаем по умолчанию. В результате будет установлен tesseract 3.0, а также собран deb-пакет, поэтому в следующий раз программу можно будет устанавливать обычным способом с помощью GDebi.
С первого раза программа у меня не собралась, пожаловавшись на отсутствие каталога /usr/local/share/tessdata. После того, как я создал его вручную, процесс завершился благополучно.
Теперь необходимо скачать с сайта программы пакет поддержки русского языка (rus.traineddata.gz), распаковать его и скопировать содержимое архива (а это должен быть один файл rus.traineddata) в директорию /usr/local/share/tessdata/.
Изображения перед распознаванием необходимо прнобразовать в формат tiff.
Для распознавания я использовал команду вида:

Если программа не заработала и возникают ошибки, связанные с отсутствием необходимых библиотек или правами доступа, выполните следующие команды:

Теперь все должно работать.
Для tesseract имеется графический интерфейс tesseract-gui , который тоже надо собирать из исходного кода. У меня он запустился, но распознавать текст почему-то не захотел. Еще есть система OCRopus , которая может использовать движок tesseract. Собственно поэтому я ее отдельно рассматривать не стал.

SILVERCODERS OCR Server

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

Free OCR

Free OCR — бесплатный онлайн-сервис для оптического распознавания текста, использующий движок tesseract. Размер загружаемого изображения ограничен 2 Мб. Поддерживаются форматы JPG, GIF, TIFF BMP и PDF (только первая страница, в скором времени обещают поддержку первых 10 страниц). Также, существует лимит на 10 изображений в час.
Сервис распознает множество языков — русский, украинский, английский, немецкий, французский, турецкий, большинство восточноевропейских языков.

img2txt

img2txt — многоязычный онлайн-сервис для оптического распознавания текста. Поддерживаются форматы JPG, PNG, TIFF с размером файла до 2 Мб. В будущем обещают поддержку PDF и DJVU. На Википедии сервис обозначен как коммерческий и проприетарный, однако на самом сайте никакой информации об типе лицензии и используемом движке нет. Мои три тестовые страницы распознались без проблем. Никакой оплаты или хотя бы регистрации не просили.

OnlineOCR

OnlineOCR — еще один онлайн-сервис, теперь уже коммерческий (28 языков, включая русский). Поддерживает ввод в форматах TIFF (multi-page), JPEG/JPG, BMP, PCX, PNG, GIF, PDF (multi-page), файлы до 20 мб; вывод в PDF, MS Word, MS Excel, HTML, RTF, TXT. Минимальный пакет, который можно купить, составляет 10 страниц за 5 рублей. Зарегистрированный пользователь имеет свой кабинет, в котором хранятся загруженные файлы и результаты распознавания. К сожалению, возможность бесплатной работы с сервисом настолько ограничена, что протестировать его не удалось. Причем попытка оплатить 10 страниц с помощью СМС также закончилась неудачно.

NewOCR

NewOCR — бесплатный OCR сервис, поддерживающий 29 языков распознавания, включая русский. Позволяет загружать файлы в форматах JPEG, PNG, GIF, BMP, многостраничный TIFF размером до 5 Мб, а также многостраничные PDF размером до 20 Мб. Поддерживается многоколоночное форматирование текста.

Кроме того, необходимо отметить, что на рынке имеется еще одна коммерческая система распознавания от компании vividata , однако стоимость этой программы составляет $2400 (!) плюс по $100 за каждый дополнительный язык, отдельная плата, например, за модуль вывода в PDF ($1200) и т.д., поэтому я даже не стал заморачиваться с ее установкой. Ко всему прочему программа видимо очень давно не обновлялась (файлы в установочном архива датируются 2001 годом) и сами разработчики сомневаются в том, что она заработает на современных дистрибутивах. Поэтому тестировать vividata я не стал.
Также я решил включить в таблицу Google Docs, так как эта служба в настоящее время также позволяет производить распознавание русского текста. По имеющимся данным она использует tessract, однако нельзя исключить, что в своем сервисе Google использует какие-нибудь дополнительные наработки, поэтому интересно сравнить ее с остальными.

Google

Новости о продуктах и сервисах Google.

Поиск по сообщениям в этом блоге

вторник, 1 марта 2011 г.

Оптическое распознавание символов (OCR) в Google Docs на 34 языках

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

На сегодняшний день перечень языков с поддержкой оптического распознавания символов в Google Docs состоит из следующих тридцати четырех:
• английский
• болгарский
• венгерский
• вьетнамский
• голландский
• греческий
• датский
• индонезийский
• испанский
• итальянский
• каталанский
• китайский (упрощенный)
• корейский
• латышский
• литовский
• немецкий
• норвежский
• польский
• португальский
• румынский
• русский
• сербский
• словацкий
• словенский
• тайский
• турецкий
• украинский
• филиппинский
• финский
• французский
• хорватский
• чешский
• шведский
• японский

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

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

Одним из недостатков использования online OCR в сервисе Google Docs пока все так же остается отсутствие удобных инструментов управления данной функцией (например, отсутствие таких возможностей как распознавание многоязычного текста, использования OCR для уже загруженных ранее документов или изменения языка после загрузки документа и т. д.). Тем не менее, распознанный текст можно сразу и перевести, используя через меню Инструменты интегрированную в сервис функцию перевода без необходимости копирования и вставки текста в Google Translate или Google Translator Toolkit (хотя в последнем имеется более богатый инструментарий).

Google обещает продолжать добавлять дополнительные языки в OCR-сервис и при этом повышать скорость и качество распознавания символов для уже существующих.

Отправлено пользователелем Anonymous через Google Reader:

Last June, we introduced the ability to upload documents into Google Docs using Optical Character Recognition (OCR). OCR analyzes images and PDF files, typically produced by a scanner (or the camera of a mobile phone), extracts text and some formatting and allows you to edit the document in Google Docs.

We’ve gotten a lot of feedback on this feature, and one of the biggest requests was to add support for additional languages. Today, we’re happy to announce that we’ve added support for 29 additional character sets, including those used in most European languages, Russian, Chinese Simplified and some other Asian languages. See the upload page for the full list.

How does it work? When uploading your images and PDF files using Google Docs, tell us what language your documents are in:


We’ll keep adding languages and at at the same time will continue to improve speed and accuracy for the existing ones. In the meantime, we hope you take advantage of this new way to import your data into Google Docs.

Posted by Jaron Schaeffer, Software Engineer

Ссылка на основную публикацию
Статьи c упоминанием слов:
Adblock
detector