Распознавание рукописного ввода. Создание технологии распознавания рукописного текста (обновлено)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Распознавание рукописного ввода широко используется в КПК . Первым КПК, который был способен распознавать рукописный ввод, является 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, поддерживающих иногда и естественный рукописный почерк, но точность все ещё не является очень высокой, из-за чего некоторые люди находят даже простую экранную клавиатуру более эффективной.

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

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

Примечания


Wikimedia Foundation . 2010 .

  • Улица Коновальца (Львов)
  • Больше-Дорохово

Смотреть что такое "Распознавание рукописного ввода" в других словарях:

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

    Распознавание - образов Оптическое распознавание символов Распознавание рукописного ввода Распознавание речи … Википедия

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

    Способы ввода китайских иероглифов - Клавиатура способа Уби (пять черт). Способы ввода китайских иероглифов определяют использование стандартного интерфейса компьютера для ввода большого (более 80 тысяч) количества иероглифов китайского языка. Методы, использующие стандартную компь … Википедия

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

    Устройство ввода вычислительной машины, обеспечивающее считывание, распознавание и ввод в ЭВМ стилизованного или произвольного рукописного текста. [ГОСТ 25868 91] Тематики оборуд. перифер. систем обраб. информации … Справочник технического переводчика

    устройство ввода рукописного текста - 41 устройство ввода рукописного текста: Устройство ввода вычислительной машины, обеспечивающее считывание, распознавание и ввод в ЭВМ стилизованного или произвольного рукописного текста

Разработчик:

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

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

Penreader - приложение не бесплатное, но, как мне кажется, его стоит купить из - за его некоторых неоспоримых преимуществ:

  • Поддержка русского языка
  • Поддержка всех версия Android
  • Возможность использовать PenRader в любом приложении
  • Возможность создания макросов

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

Теперь я расскажу подробнее о том, как работать с PenReader.

Работа с приложением

После установки PenReader из Google Play , нам нужно выбрать язык распознавания, зайдя в меню приложения:

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

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

Чтобы начать писать текст, нужно прикоснуться к полю ввода текста. После этого, вы перейдёте непосредственно на рабочий экран приложения PenReader , на котором вы увидите само поле рисования и некоторые кнопки:

  • «Конфигурация» - нажимая на эту кнопку, вы можете переключаться между языками ввода. Учтите, что выбирать можно только из тех языков, которые отмечены как "Активные" (см. выше)
  • «Назад» - нажав на эту кнопку единожды, ваш указатель будет перемещён на один символ назад. Чтобы перейти в начало строки, нужно удерживать эту кнопку
  • «Пробел» - вставляет пробел на том месте, где находится курсор.
  • «Стереть» - нажав на эту кнопку один раз, вы удалите символ перед курсором. Чтобы удалить всю строку, нужно удерживать кнопку
  • «Дополнительно» -открывает и скрывает дополнительные кнопки:

-«Hide» - нажав на эту кнопку, Вы выйдите из рабочего экрана PenReader.

-«Alt» - Переключает режимы ввода. Всего доступна два режима: ввод букв и ввод спецсимволов

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

Penreader поддерживает разные режимы распознавания рукописного текста. Всего их 4:

  • Слитное распознавание позволяет пользователю писать слова и даже целые предложения привычным для него образом - не отрывая руки от "листа"
  • Побуквенное распознавание позволяет распознавать только ожин символ за определённый промежуток времени. Пытаться вводить несколько букв не имеет смысла - PenReader попытается распознать их как один символ
  • Интеллектуальное распознавание позволяет корректировать результаты распознавания
    прямо в процессе письма. Например, писать букву "А" можно так:
  1. Сначала ввести символ "/"
  2. Затем ввести символ "\"
  3. А после этого поставить между ними чёрточку "-"
    В этом случае программа будет работать так: распознает ввод символа «слэш», затем исправит его на букву Л, а затем - на А.
  • Раздельное распознавание даёт программе сигнал, что каждый написанный вами штрих будет распознан как единый символ. Этот способ немного схож с Побуквенным распознаванием

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

Ниже вы видите пример побуквенного распознавания:

Настройки приложения

Некоторые пункта настроек мы уже рассмотрели выше, поэтому сейчас я расскажу только тех вещах, о которых мы ещё не говорили.

В настройках приложения PenReader есть раздел "Настройка распознавания". В него входят следующие подпункты:

Также мы можем увидеть раздел "Оформление":

  • Толщина линии - задаёт толщину линии, выводим на рабочем экране PenReader. Она может колебаться от 1 до 30 пикселей
  • Цвет линии - изменяет цвет линии на экране PenReader
  • Расположение экранной клавиатуры - изменяет расположение кнопок на рабочем экране при ландшафтной ориентации планшета
  • Прозрачность экранной клавиатуры - настраивает уровень прозрачности кнопок на экране ввода

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

Записную книжку с возможностью распознавать рукописный текст и выполнять простые задачи, например, для конспектирования лекций или записи формул. Приложение работает лишь на узкой прослойке устройств с особыми стилусами - планшетах 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 вообще официально в России не продаётся. Но приятно осознавать, что распознавание твоих закорючек - задача, посильная роботу, и когда-нибудь технология окажется встроена в более популярные продукты.

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

Энциклопедичный 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 . Качество распознавания можно повысить, используя структурированные документы (формы). Кроме того, можно улучшить качество, уменьшив диапазон возможных вводимых символов. Применяется в сферах деятельности, где необходимо обрабатывать большое количество рукописных документов, к примеру, в страховых компаниях.



    Отчетность