Биография | Реферат | Библиотека | Ссылки | Отчет о поиске | Индивидуальный раздел ДонНТУ | Портал магистров ДонНТУ

Оригинал статьи: http://www.austinacton.com/

ОРС ДЛЯ LINUX: ОБЗОР БЕСПЛАТНОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ДЛЯ ОПТИЧЕСКОГО РАСПОЗНАВАНИЯ СИМВОЛОВ.


Austin Acton (перевод с английского Фёдоров А.В.)


Аннотация


В статье представлены результаты тестирования доступных для Linux систем распознавания текста: gocr, Clara, Ocre, Ocrad, Tesseract, Ocropus и Aspire OCR. В качестве теста используется шаблон, напечатанный различными типами и размерами шрифта. Лучше всех оказались недавно открытые компанией Google продукты Tesseract и Ocropus, продемонстрировавшие точность распознавания 99% (коммерческий Aspire OCR распознал 91.5% текста, открытый Ocrad – 97%, gocr – 94%).


Введение


Я использую Linux в качестве повседневной рабочей среды уже в течение семи лет. И у меня почти нет причин использовать Windows (кроме глупого ExamSoft), и даже когда я его использую, я устанавливаю минимум программного обеспечения Windows. Единственной «дырой» в моей работе является ОРС. Уже много лет можно сканировать документы и преобразовывать их в реальный текст. Один из моих старых принтеров даже имел включенное программное обеспечение ОРС – для Windows, конечно. Но когда мне действительно понадобилось ОРС, я понял, что нет никаких высококачественных пакетов, доступных для Linux.

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

В качестве распознаваемого текста я использовал следующую строку:

The quick brown Métis jumped over the fluffy Finance Manager.

Я намеренно включил символ с диакритическим знаком, заглавные буквы, комбинации «fl» и «ff» компании, которые имеют тенденцию накладываться в шрифтах с засечками. После я напечатал предложение шестнадцать раз: в каждом из типов шрифта Times New Roman, Vera Serif, Arial, и Vera SansSerif, с размером шрифта 10, 12, 14, и 16.

TESSERACT


Недавно, Hewlett-Packard (один из хороших друзей бесплатного программного обеспечения, когда им удобно) выложил некоторый код оптического распознавания символов, который они разработали между 1985 и 1994 под именем Tesseract, согласно лицензии Apache. Группа добровольцев создала новый дом для этого кода на Google Code, и теперь он опять активно разрабатывается. Согласно привязанной саморекламе, он был одним из лучших устройств оптического распознавания символов своего времени, так что раз разработка продолжается, это может стать большим подарком сообществу.

Поскольку Tesseract слишком новый, чтобы быть включенным с Mandriva 2007, мне пришлось компилировать его самостоятельно. Кроме TIFF-devel, он требовал совсем немного библиотек разработки.

Я загрузил tarball с сайта Google Code, и был рад видеть, что устройство базируется на автоинструментальных средствах Проекта по свободному распространению программного обеспечения. (Не то, чтобы я любил автоинструментальные средства, но у многих старых пакетов есть только уродливые, «отредактируй сам» сборочные файлы проекта) Простого `./configure; make ` было достаточно. Создание не удалось в нескольких местах, по-видимому, из-за слишком новой версии gcc, которую мы использовали, но были доступны легко применимые патчи и создание продолжилось без проблем.

Tesseract – устройство и основа для другого программного обеспечения, создаваемого на его основе, так что он поддерживает единственную колонку горизонтального текста. Похоже, однако, что он имеет и какой-то дополнительный код для того, чтобы просмотра, обучения и проверки правильности написания интерпретируемого текста.

Интерфейс немного грубоват, но это и понятно для такого нового и активного программного обеспечения. Нет главной страницы, никаких [-h] или [-help] опций, и он вываливается, если запущен без надлежащих параметров. Опять же, вебсайт Google Code обеспечивает большую справку. Похоже, в данный момент он поддерживает только формат TIFF, так что мне пришлось использовать Image Magick, чтобы преобразовать все мои отсканированные pnm'ы к форматам TIFF, с:

$ for i in *.pnm; do convert $i $i.tiff; done

Программное обеспечение запустить просто:

$ /usr/local/bin/tesseract g400.tiff g400.txt

К моему большому удивлению, вывод был почти совершенен. Было несколько ошибок в текстах с размером шрифта 10 и 16. Ни разу é не был интерпретирован должным образом. Однако, отбрасывая é, текст с размером шрифта 12 и 14 отлично интерпретировался во всех четырех типах шрифта. Очень впечатляет. Я не уверен, безударный e - результат проверки правильности написания только для английского языка или нет.

Хотя Tesseract является пока наименее дружественным из приложений с командной строкой, он является безусловно самым точным, самым развивающимся и самым многообещающим.


Название: Tesseract
Расположение: http://code.google.com/p/tesseract-ocr/
Версия: 1.04b
Входной Формат: TIFF
Точность: 99 %
Легкость Использования: 2/5

OCROPUS


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

Согласно сайту Google Code:

OCRopus – система анализа и оптического распознавания символов самых современных документов, предоставляет встраиваемый анализ топологии, встраиваемое распознавание символов, статистическое моделирование естественного языка, и многоязычные возможности.

Ожидаемые будущие функциональные возможности включают:

Ничего себе. Большие амбиции! Правда в настоящее время он находится в состоянии преальфа, но попытаемся испытать его.

Поскольку tarball не доступен, я проверил дерево разработки:

$ svn checkout http://ocropus.googlecode.com/svn/trunk/ ocropus

В дополнение к tesseract должны быть установлены несколько библиотек разработки, но это очень легко с urpmi:

# urpmi jam aspell-devel libtiff-devel libpng-devel libjpeg-devel

Компилирование проходит просто:

$ ./configure; jam

С проектом связано очень немного документации. Единственный тест, который я выполнил, был прямым оптическим распознаванием символов моего черно-белого теста 400 точек на дюйм. По умолчанию формат выходного файла Ocropus – HTML, с некоторыми дополнительно внедренными для оптического распознавания символов тэгами. Как и ожидалось, результатами было то же самое качество, что и у Tesseract, с единственно неправильно интерпретируемым символом – é. Я сохранил получившийся файл HTML на случай, если он Вас заинтересует.

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


Название: Ocropus
Расположение: http://code.google.com/p/ocropus/
Версия: svn (20070523)
Входной Формат: многие
Точность: 99 %
Легкость Использования: 1/5

Заключение


Хорошие новости, что есть решения, доступные на Linux прямо сейчас, которые интерпретируют документы вплоть до 99% точности.

Плохие новости, что 99% не равно 100%, и что что-либо кроме высокого качества 400-600 сканирования точек на дюйм 12-14 точек шрифта сильно теряют в точности. Комбинация Tesseract и Ocropus – явный проект, который больше всего нам поможет обеспечить отсутствующие элементы полнофункционального Бесплатного набора оптического распознавания образов.

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


Биография | Реферат | Библиотека | Ссылки | Отчет о поиске | Индивидуальный раздел

© Фёдоров А.В., ДонНТУ, 2010