Домой / Faq / Программа для распознавания текста CuneiForm, которая не дружит со сканерами

Программа для распознавания текста CuneiForm, которая не дружит со сканерами

Основная моя деятельность уже много лет связана с фотографией, поэтому, блуждая по интернету, я обращаю внимание больше на оформление и иллюстрации чем на текст. Когда я наткнулся в интернете на снимки взрывов в Медео при строительстве плотины, мне показалось, что качество фотографий могло бы быть и лучше. Поиск по картинкам тоже не дал удовлетворительного результата: были найдены еще несколько фотографий, но и они были далеки до идеала, возможно, хорошие фотографии в сети и есть, но они настолько плохо документированы, что поисковик их не находит. Тогда я решил попытаться оцифровать и выложить то, что было в архиве отца. Это, в первую очередь, альбом формата А3 с наклеенными в него цветными фотографиями и несколько статей с практически теми же, но черно-белыми фотографиями, напечатанными офсетом. От цвета, правда, в фотографиях 1967 года осталось немного, да и не уверен, что изначально цвета на них были идеальными.

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

Подручными средствами означало, что у меня в наличии лишь сканер в составе МФУ Samsung SCX 4200. Это сканер типа CIS, о недостатках этого типа сканеров я неоднократно писал, например, . Кроме того у него монохромные линейки и цветное сканирование осуществляется за счет последовательной смены цвета подсветки, ну и наконец он только А4 причем стекло чуть утоплено ниже внешней рамки, что затрудняет возможность плотно прижать фотографию формата А3 к стеклу. Для работы с текстами его, естественно, более чем достаточно. В качестве альтернативы у меня было множество цифровых аппаратов, но пересъемка глянцевых фотографий это тоже не сахар - проблема бликов. Для обработки был компьютер и ноутбук оба с ОС Slackware. В первом случае с версией 13.37, а во втором 14.0. Для связи с МФУ был установлены, соответственно, Унифицированный Драйвер Самсунг 3.00.19 и 4.00.31.

Начать я решил со сканирования, решив, что будет более простым решением. Сперва сканируем по частям, потом в программе hugin сшиваем. При сшивке сканированных частей нам не надо исправлять искажения оптики, поэтому на вопрос о фокусном расстоянии объектива выставляем максимальное значение. Я ставил 1000 мм.
Однако оказалось, что для выцветших фотографий число тонов, которые способен передать данный сканер, явно недостаточно. Несмотря на то, что обе половинки сканировались программой xSane при одинаковых режимах, сшивка ситуацию усугубляла и полосы на плавных переходах бросались в глаза. Динамического диапазона для спектра выцветших фотографий катастрофически не хватало.

Съемка в сыром формате позволяет существенно увеличить число градаций, поэтому следующая попытка была произведена камерой Sony NEX-5 с объективом 16 мм. Поскольку в фотографиях впечатлял только формат, а не детализация фотографий, то я не пытался полностью использовать всю площадь матрицы и, чтобы избежать бликов, снимал под небольшим углом к перпендикуляру. Для преобразования из RAW, первичной цветокоррекции и исправления перспективных искажений использовалась программа DarkTable.

Для растровых черно-белых фотографий сканирование с разрешением 300 dpi и устранением растра средствами xSane было вполне достаточно.

Для распознавания безусловно лучшей программой сегодня является FineReader Engine, но 150 уе за лицензию на 12000 распознаваний в год - это явно не тот вариант, который можно назвать подручными средствами. Поэтому пришлось обратится к ее конкурентам 90 годов прошлого века и посмотреть, как они себя чувствуют сегодня.

Система оптического распознавания текстов CuneiForm разрабатывалась российской компанией Cognitive Technologies с 1993 года. Входила в состав пакета Corel Draw. В 1996 году в ней впервые в мире были применены алгоритмы адаптивного распознавания. Развивалась до 1999 года и, если рассматривать только алгоритмы оптического распознавания без предварительной обработки изображения и финишной лингвистической обработки, была, возможно, лучшей и до сих пор вполне себе ничего. В 2008 года были опубликованы исходные тексты OCR Cuneiform под лицензией BSD. Последняя версия Linux port of Cuneiform 1.1.0 вышла 19.04.11. Проект, похоже, заброшен.

Программа Tesseract разрабатывалась фирмой Hewlett-Packard с 1985 по 1998 годы, а затем была брошена до 2006 года, когда корпорация Google ее купила и открыла исходные тексты под лицензией Apache 2.0. В 90 годах она была нам не интересна, хотя и поставлялась часто вместе со сканерами, поскольку русский язык не поддерживался, сегодня с языком все в порядке и она не очень быстро, но развивается. Текущая стабильная версия 3.02 от 23.10.12 и 4 февраля 2014 года было объявлено о выходе V3.03 (rc1).

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

В плюсам YAGF можно отнести возможность повернуть загруженную страницу и работу со сканером через xSane, что дает более гибкие настройки сканирования.

OCRFeeder работает через Sane и не позволяет вмешаться в настройки сканирования.

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

К минусам YAGF я бы отнес то, что он не совсем корректно автоматически выделял блоки, обрезая выступающие на поля строчки. (В OCRFeeder этот эффект замечен не был. В обоих интерфейсах есть возможность выделять блоки вручную). Абзацы выделяются только при записи результата в HTML, причем только при распознавании через CuneiForm, при работе с Tesseract выделялись не абзацы а строки. Знаки переносов убираются только при работе с CuneiForm и записью в текстовом режиме. OCRFeeder с абзацами и переносами справлялся лучше вне зависимости от программы распознавания и записывал результат в файла ODT.

С таблицами мне не удалось справиться ни в одной комбинации программ и графических интерфейсов.

Программы распознавания предъявляют несколько разные требования к режимам сканирования. Т.е. наилучшее распознавание у них происходит при разном контрасте и разрешении сканирования. Для CuneiForm повышение разрешения свыше 200 dpi не приводит к улучшению качества распознавания.

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

Итак, фотографии и текст к ним оцифрованы, теперь стоит задача соединить эти данные так, чтобы потом, даже если фотография вырвана из контекста статьи, можно было определить, что на ней изображено. Возможность вкладывать подписи в файл с фотографиями существует очень давно. Но есть большой риск, что прочитана эта подпись будет только той программой которой сделана. Но, ничто не вечно и весьма вероятно, что фотография переживет эту программу и OC, под которой она могла работать. Кроме того, для русского языка было придумано уж слишком много кодировок, и риск увидеть кракозябры очень велик. Сейчас ситуация стало несколько лучше, похоже что UTF-8 становится основным стандартом для всех. С полями для записей тоже стало больше единообразия. Можно выделить три основных стандарта: EXIF, IPTC, XMP.

EXIF (Exchangeable Image File Format) - стандарт, позволяющий добавлять к изображениям и прочим медиафайлам дополнительную информацию (метаданные), комментирующую этот файл, описывающую условия и способы его получения, авторство и т. п.

IPTC (International Press Telecommunications Council - Международный совет по прессе и телекоммуникациям) - стандарт метаданных для цифровых изображений, который позволяет хранить аннотацию, описывающую содержание. Изначально предполагалось использование только латиницы, и хотя сейчас многие программы позволяют записывать в поля IPTC текст, в разных кодировках вероятность того что, кириллица будет правильно прочитана всеми программами, достаточно низкая.

Adobe XMP (eXtensible Metadata Platform - расширяемая платформа метаданных) - это технология, созданная Adobe и позволяющая пользователю добавлять дополнительную информацию в файл.

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

Чтобы записать данные, открываем меню Изменить описание/комментарий.

Ура! Сообщество бесплатных программ пополнилось, наконец-таки, софтиной, которая может распознавать отсканированный текст на русском языке. Может, где-то за бугром и есть бесплатные программы, которые могут распознать латиницу, но с кириллицей такого не было. А флагман русскоязычного OCR (оптического распознавания текста) оставался платный FineReader (сейчас у компании ABBYY версия FineReader 9.0 , которые наши доблестные пираты, наконец-то взломали). В славные 90-е годы у FineReader был более-менее сносный конкурент CuneiForm , но через какое-то время этот продукт от Cognitive Technologies завис на версии 2000 года. Я даже думал, что CuneiForm спекся, однако,...
однако в декабре 2007 г. руководство Cognitive Technologies решилось передать CuneiForm в Open Sourse . Правда пока CuneiForm вышел под грифом Freeware , версия у продукта 12. Дистрибутив CuneiForm 12 размещён на DVD диске к февральскому номеру "Hard"n"soft".
Вчера я устанавливал этот продукт на свой комп и был расстроен, все попытки отсканировать любой текст заканчивались провалом, то есть вылазило окошко "Ошибка при передачи данных ". Ну думаю, фигня это, а не софт и думал было удалить прогу, а дистрибутив стереть с жёсткого диска...
но передумал. А сегодня ко мне пришла идея, что если невозможно отсканировать текст через CuneiForm напрямую, то можно это сделать через другую программу, то есть затем открыть изображение. Через что-же отсканировать? - подумал я. Ведь если сканировать через платные графические программы (Photoshop или ACDSee), то смысл от бесплатности CuneiForm улетучивается.
В моем арсенале бесплатных графических программ есть GIMP 2.4.2 , XnView 1.92 и IrfanView 4.10. Я начал с последней и сохранил полученное изображение в формате tiff (другие, вроде bmp или jpg в данном случае не подойдут). На выходе получился файл ScanImage001 размером 412 Кб. Сразу скажу, что для испытания я использовал страницу 13 из учебника "Философия" под ред. В.Д.Губина (М., 2004). После распознавания в полученном тексте было несколько ошибок (а где их не бывает, в том же FineReader они имеются).
Затем я отсканировал тот же текст через GIMP. Попутно отмечу, что прога по времени достаточно загружалась (ещё бы, это же не вьювер, а полноценный графический пакет). Файл Без имени на выходе оказался тяжёлым 3,37 Мб, но зато качество распознавания его в CuneiForm было чуть получше.
Чемпионом же тестирования оказался XnView, давший на выходе файл scan 1 размером 422 Кб, который CuneiForm распознал лучше остальных.
Итак, для начала неплохо. Надеюсь, что новые версии CuneiForm позволят обходиться без вспомогательных программ.
Поживём-увидим.

Недавно занялся поиском бесплатных приложений для распознавания отсканированного текста, или как их еще называют программы OCR. Желание платить за популярного монстра ABBYY FineReader, совсем не было, но как оказалось, предлагают очень мало вариантов программ такого плана для бесплатного использования. Первый попавшийся вариант оказался , пожалуй, одна из самых популярных программ для Windows, но в своем нынешнем виде не дружит с русским языком. Один из читателей блога, предложил попробовать труды отечественных разработчиков .

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

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

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

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

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

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

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

Кнопка с самолетиком предназначена для сохранения распознанного текста в файлы или в Word Excel, почему опять этот стандартный набор непонятно, ведь есть еще куча замечательных текстовых редакторов.

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

Теперь перейдем к печальному на Windows 7 отказался работать со сканером, программа его видела, сканер даже начинал гудеть, и на мониторе бежала пунктирная линия свидетельствующая что идет передача данных, а в конце выбрасывала ошибку. Все пляски с бубном и чтения форумов не дало положительных результатов. В том числе редактирование файла «Face.INI», где по рекомендации было исправлено «TWAIN_TransferMode=memory-buffered» на TWAIN_TransferMode=memory-native». В итоге пришлось делать обходной маневр, сканировать текст стандартными средствами Windows, а в CuneiForm подсовывать готовую картинку.

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

Чуть не забыл, первый запуск на Windows Vista и 7 лучше делать от имени администратора, иначе программа впадет в транс на несколько минут, не подавая признаков жизни.

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

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

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

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

Страница для бесплатного скачивания CuneiForm http://www.cuneiform.ru/downloads/index.html

Последняя версия на момент написания CuneiForm V12

Размер программы: архив 33,3Мб

Совместимость: Windows Vista и 7, Windows Xp

- интеллектуальная система распознавания текста. Обеспечивает быстрое и качественное преобразование бумажных документов и электронных графических файлов в редактируемый текст для последующей работы с ним в офисных программах и текстовых редакторах. Результаты можно сохранять в популярных форматах и проводить по ним полнотекстовый поиск.
Возможности CuneiForm :
При распознавании сохраняется структура документа и его форматирование.
Распознает таблицы любой структуры и сложности, в том числе и без отображения линий табличной сетки.
Распознаются любые печатные шрифты: книги, газеты, журналы, распечатки с лазерных и матричных принтеров, тексты с пишущих машинок и т.п.
Алгоритмы оптического распознавания (OCR, Optical Character Recognition), встроенные в программу позволяют распознавать текст с матричного принтера, плохих ксерокопий и факсов.
Распознавание документов более чем на 20 языках: на русском, английском, украинском, немецком, французском, испанском, итальянском, и других.
Для повышения качества распознавания в программе используется словарная проверка. При этом стандартный словарь можно расширить за счет импорта новых слов из текстовых файлов.
Для координации работы над проектом действует сайт OpenOCR.org c русскоязычным форумом .
Статус программы: Бесплатная
Операционка: Windows 7, Vista, XP
Интерфейс: Английский, Русский
Разработчик: Cognitive Technologies
Размер: 33.3 Mb
СКАЧАТЬ OCR CuneiForm V.12
СКАЧАТЬ Cognitive OpenOCR (Russian)
СКАЧАТЬ Cognitive OpenOCR (English)
Небольшой мануал по работе:
После установки у Вас появятся два ярлыка:

Пакетное распознование - обработка целых папок.
CuneiForm - обработка документов со сканера или отдельных файлов.
Запускаем программу. На мой взгляд большинству подойдёт второй вариант запуска программы. В открывшемся окне выбираем значок с волшебной палочкой (стрелка).


Открывается окно "мастера распознования". Выбираем источник исходного файла (винчестер или сканер). Для примера я выбрал файл на жеском диске.


Жмём "Далее". Открывается страница выбора языка, где мы выбираем (естественно) язык (стрелка 1) и символ которым будут заменятся нераспознанные буквы (стрелка 2).


Опять "Далее". Выбираем параметры распозноваемого текста. Так как, у меня был отсканированный рукописный текст, я выбрал "Словарный контроль" и "Факс".


И т.к. исходный текст не содержал таблиц и картинок, убрал соответствующие точки на следующем пункте настройки.


Опять "Далее". И программа начала обработку текста.


Вот итог. Исходный фрагмент и после обработки программой.

Это итоги обработки рукописного фрагмента.
А вот итоги обработки отсканированного машинописного текста (параметры исходника выставлены такими же) :

Как видим результат напрямую зависит от исходника. При обработке рукописного теста, плохого качества целесообразней набирать его сразу вручную, чем обрабатывать программой и после править.
Поэтому не стоит надеяться на чудо. После распознования текста предстоит довольно кропотливая работа по исправлению ошибок .
Подготовлено по материалам computer-vsem.ru, cognitiveforms.com, softportal.com
Компиляция текста и ссылки