16.09.2019

Распознавание непрерывного рукописного текста в режиме off-line. PenReader: лучшая программа для распознавания рукописного текста


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

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

Тестирование автоматического распознавания
Печатный текст
ABBYY FineReader является безоговорочным лидером в данном сегменте. Программы распознавания разрабатываются с уклоном на стандартную документацию компаний, которые является основными потребителями софта. Они не рассчитаны на нестандартные форматы, поэтому программы не могут дать уровень достоверности выше 80%.

При обработке библиотечных карточек десяти-двадцатилетней давности, ABBYY FineReader не может дать результат выше 60% достоверности. Смотрите скриншот ниже.

Рукописный текст
У ABBYY FineReader есть версии программы, где, после обучения, она должна распознавать текст. Суть проста – продукт представляет собой пустую нейронную сеть. Пользователю необходимо ее наполнить вручную. Если пользователь пытается распознать несколько почерков, программа не сможет выдать результат. Потратив неделю времени на обучение такого программного решения, в итоге, мы не получили положительный результат.

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

Создание технологии ручного распознавания
Далее пойдет речь о технологии, которую необходимо было создать. Был алгоритм, на реализацию которого ушло полгода. Ниже приведен порядок действий для получения распознанного текста:
  • Сканирование – потоковый сканер выполняет сам.
  • Разделение массива графических образов по признаку на подкатегории - это и все дальнейшие этапы выполняет человек. Этот этап позволяет повысить КПД ввода.
  • Проверка работы сделанной на предыдущем этапе.
  • Ввод данных. Вся информация логически разделяется на поля и заполняется частями. Каждый массив данных имеет свою специфику и свои правила ввода:
    • если информация конфиденциальная - изображение автоматически режется на части, и каждый оператор получает для ввода только часть информации;
    • при большом количестве полей - поля одной карточки делятся между несколькими операторами.
  • Проверка данных ввода. Наличие ошибок влияет на оплату труда людей, которые вводят данные.
  • Проводится ряд общих автоматизированных проверок по базе.
  • Отгрузка законченных частей массива заказчику.
Проект получил название «Центр удаленного трудоустройства» и начал набирать обороты. Первый месяц приходилось постоянно исправлять ошибки, которые вылезали при обкатке. Далее процесс наладился, и софт стал стабильно работать и выгружать готовые массивы данных.

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

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

Кратко о системе
Язык программирования: PHP.
База данных: MySQL.
CMS, Framework: отсутствуют, разработка велась с нуля.
Напоследок
Для тех, кому интересно увидеть различные варианты результатов работы ABBYY FineReader, я опубликовал дополнительные скриншоты по ссылке .

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

Записную книжку с возможностью распознавать рукописный текст и выполнять простые задачи, например, для конспектирования лекций или записи формул. Приложение работает лишь на узкой прослойке устройств с особыми стилусами - планшетах Microsoft и iPad Pro. Главный редактор TJ потестировал его и пришёл к выводу, что Nebo оказалось интересным, но скорее как рабочий концепт.

В закладки

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

Не могу сказать, что я страдаю от своего почерка: в конце концов, по работе и в личной жизни я в 99% случаев использую клавиатуру, реальную или виртуальную. Кнопки не требуют от меня аккуратно выводить дуги у букв «з» и «ш», чтобы читатели их разобрали с первого раза.

Тем сильнее было моё удивление, когда мои каракули смог разобрать впервые встретившийся с ними алгоритм Nebo. Перечитывая спустя пару часов то, что я ввёл на экране, я и сам уже не мог понять, что там было написано - а Nebo расшифровал это в машинописный текст.

С Nebo я столкнулся случайно, увидев трансляцию в Periscope одного из западных журналистов, почему-то посчитавшего, что это продукт Microsoft. На самом деле, в MyScript даже над Microsoft над тем, как медленно корпорация движется на рынке распознавания текста. Из крупных изданий, насколько мне известно, Nebo заметило только , да и то из-за того, что приложение выпущено для платформы Windows.

MyScript, разработчик приложения, не самая известная компания, хотя и выпустила уже не одну технологию вокруг рукописного ввода. Одна из впечатляющих - , которая и легла в основу Nebo. Она на лету превращает вводимые с помощью активного стилуса данные в векторную графику и анализирует её, распознавая, скажем, геометрические фигуры и текст.

Nebo умеет немного - всего лишь очень хорошо распознавать ваши каракули.

В первые несколько недель после релиза Nebo можно скачать бесплатно, однако версия есть только для планшетов и с активным стилусом - то есть Surface и iPad Pro. Пальцем набирать текст нельзя: разработчики объясняют это тем, что у активного стилуса (вроде Apple Pencil) меньше лаг, и поэтому ввод и обработка текста удаются лучше. Кроме того, активный стилус защищает от непредумышленного рисования рукой, лежащей на экране - по-другому вводить большой объём рукописного текста не получается.

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

Функций в Nebo немного: это скорее очень примитивная демонстрация возможностей технологии, чем реальный и необходимый для ежедневного использования продукт. В приложении можно писать от руки, редактируя текст интуитивными жестами: провёл черту по слову сверху вниз - разделил его пополам, снизу вверх - соединил два слова в одно.

Обвёл слово - при конвертации в печатный текст оно выделится маркером. Заштриховал текст - он удалился. Можно быстро помогать программе исправлять распознанный текст, выбирая корректный вариант из списка (чаще всего он есть).

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

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

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

Разница между приложениями для iOS и Windows только в том, что в версии для Windows экспорт в Microsoft Word. В iOS экспортировать можно либо в обычный текст (тогда не сохранится графика), либо в HTML: в этом случае графика представлена в векторном виде, однако распознанные математические формулы скопировать в документ не получится - придётся делать скриншоты или сохранять весь файл в PDF.

В целом Nebo сложно удивить человека, плотно работающего с OCR: технологии распознавания текста давно встроены в массовые продукты вроде Evernote, а для промышленного использования есть специальные программные пакеты. Однако здесь текст распознаётся на лету, и не печатный, а рукописный, и в отличие от многих продуктов - с поддержкой русского языка.

Естественно, как продукт Nebo популярным стать не может. Уж слишком нишевая прослойка эти планшеты с активными стилусами, iPad Pro запредельно дорогой, а Microsoft Surface вообще официально в России не продаётся. Но приятно осознавать, что распознавание твоих закорючек - задача, посильная роботу, и когда-нибудь технология окажется встроена в более популярные продукты.

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


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

  • Использование контекстной информации
  • Использование регулярных выражений

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

  • Использование псевдонимов

    Ошибки в проектировании документа могут приводить к неопределенности при ее заполнении. В результате вместо одного варианта написания появляется множество альтернативных вариантов, которые тоже являются правильными. Для примера: Харкiв , мХаркiв (точка находится в ячейке с буквой "м"), м.Харкiв (точка находится в отдельной ячейке). Более того, специфика различных регионов Украины позволяет смело предположить, что люди заполняют документы на родном языке, игнорируя требования и основной язык документа. Пример: Харьков , гХарьков , г.Харьков . Использование псевдонимов (alias) позволяет преобразовать все ответы распознавателя к единственно правильному ответу.

  • Использование скриптов (бизнес-правил)

    Скрипты применяют в качестве логического инструмента при распознавании. Они используют теории имплекации (if, else) или сценариев (use, case) для определения следующего корректного ответа или подтверждения достоверности одного или нескольких полей. Распространенной областью применения является автоматическое заполнение полей с поиском в базе данных (например, если код 00123, то имя, адрес и телефон автоматически должны быть х, у, z).

  • Алгоритмы голосования

    Достаточно часто к извлекаемому рукописному полю предъявляют повышенные требования к точности распознавания. В подобных случаях имеется возможность распознавать одно и тоже поле разными способами или движками (ABBYY FineReader Engee, CuneiForm и прочие), а после, сравнивать ответы для нахождения истины.

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

Энциклопедичный YouTube

  • 1 / 5

    Интерфейс онлайнового распознавания обычно состоит из:

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

    Распознавание рукописного ввода широко используется в КПК . Первым КПК, который был способен распознавать рукописный ввод, является Apple Newton .

    Устройства

    Серийные устройства, в которых в качестве альтернативы традиционному вводу с помощью клавиатуры использовался ввод рукописного текста появились в начале 1980-х. Это были, например, терминалы с рукописным вводом, такие как Pencept Penpad и Inforite point-of-sale terminal . С расширением рынка персональных компьютеров появились несколько коммерческих продуктов, призванных заменить клавиатуру и мышь на персональных компьютерах единственной системой, предоставляемые PenCept , CIC and others. Первым, находящимся в открытой продаже, планшетным компьютером был GRiDPad от GRiD Systems, выпущенный в сентябре 1989. Его операционная система была основана на MS-DOS .

    В начале 90-х производители аппаратного обеспечения, включая NCR , IBM и EO, выпустили планшетные компьютеры с операционной системой PenPoint, разработанной GO Corp. PenPoint использовала рукописный ввод повсюду и обеспечивала совместимость со сторонним программным обеспечением. Планшетный компьютер IBM был первым использующим ThinkPad и распознавание рукописного текста IBM. Эта система распознавания была позже портирована в Microsoft Windows for Pen Computing и IBM"s Pen для OS/2 . Ни одна из этих технологий не имела коммерческого успеха.

    Развитие электроники позволили вычислительной мощности, необходимой для распознавания рукописного ввода, умещаться в меньшие размеры, чем у планшетных компьютеров, и использовать распознавание рукописного текста в качестве средства ввода для PDA . Первым PDA , обеспечивающим письменный ввод, был Apple Newton , который продемонстрировал общественности достоинства такого рода пользовательского интерфейса. Однако устройство не было коммерчески удачным вследствие несовершенства программного обеспечения, которое должно было пытаться изучить манеру письма пользователя. После разрыва с Apple Newton , технология была портирована в Mac OS X 10.2 и более поздние в виде технологии Inkwell (Macintosh).

    Современная система распознавания рукописного текста включается в операционные системы Microsoft , используемые на планшетных компьютерах (см. Windows XP Tablet PC Edition и Windows Vista). Она основана на TDNN-классификаторе, названном «Inferno», созданном в Microsoft . Позже версия CalliGrapher, распознающего рукописных ввод программного обеспечения, используемого в Newton OS 2.0, была включена в качестве вторичного распознавателя. Новое поколение CalliGrapher в настоящее время разрабатывается для Windows Mobile корпорацией PhatWare.

    Технология распознавания рукописного ввода «третьего поколения» riteScript, разработанная корпорацией EverNote в 2000-2004, включается в ritePen and EverNote. ritePen также включает технологию, позволяющую комбинировать riteScript со встроенным распознаванием рукописного текста Windows Vista , чтобы улучшить точность распознавания каждого движка распознавания рукописного текста.

    Хотя распознавание рукописного текста - средство ввода, к которому уже привыкла общественность, оно ещё не достигло широкого распространения в настольных компьютерах и ноутбуках. Все ещё считается [ ] , что ввод с помощью клавиатуры быстрее и надежнее. Сейчас существует множество PDA, поддерживающих иногда и естественный рукописный почерк, но точность все ещё не является очень высокой, из-за чего некоторые люди находят даже простую экранную клавиатуру более эффективной.

    Офлайновое распознавание

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

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

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

    Наиболее известной и популярной является программа для распознавания рукописного текста под названием Fine Reader. Для того чтобы пользователь смог её применить, ему понадобится сканер. К слову сказать, этот прибор пригодится в любом случае, какую бы утилиту вы не выбрали. Ведь для того чтобы программа могла начать работу, ей нужна какая-то исходная информация о тексте. Наиболее простым способом является создание скана. Хотя некоторые программы способны осуществлять распознавание рукописного текста и при наличии обычной цифровой фотографии любого формата, предварительно загруженной в компьютер. Помните, чем лучше будет качество (разрешение) снимка, тем более качественно утилита выполнит свою работу. Fine Reader вполне можно найти в интернете и скачать без каких-либо финансовых вложений. Работать с этой программой довольно просто, так как она имеет простой и удобный интерфейс. Однако конечный результат может иметь существенные погрешности. Это будет зависеть от качества скана, а также почерка исходника.

    Другая программа распознавания рукописного текста, на которую стоит обратить свое внимание, называется Pen Reader. Она придется по вкусу владельцам планшетных ПК. Её принцип кардинально отличается от предыдущей утилиты. В данном случае вы получаете возможность просто писать на сенсорном дисплее, словно ручкой. При этом текст будет с высокой скоростью и точностью (порядка 97%) переводиться в файл стандартного расширения. Данная программа распространяется только за отдельную плату и создана специально для ОС Windows. Особенно удобно ею пользоваться студентам, которые сразу могут писать лекции в виде текстовых электронных файлов. Кроме того, Pen Reader «понимает» даже самый сложный почерк.

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