Распознавание рукописного текста (англ. Handwritten Text Recognition, HTR) — это автоматический способ расшифровки записей с помощью компьютера. Оцифрованный вид рукописных записей позволило бы автоматизировать бизнес процессы множества компаний, упростив работу человека.
В данной работе рассматривается модель распознавания рукописного текста на кириллице на основе искусственной нейронной сети. В исследовании использовалась система SimpleHTR разработана Гаральдом, а также LineHTR, расширенной версией системы Simple HTR. Подробнее о SimpleHTR можно почитать здесь.
Датасет
В этом разделе опишу два типа наборов данных: Первый набор данных содержит рукописные цитаты на кириллице. Он содержит 21 000 изображений из различных образцов почерка (названия стран и городов). Мы увеличили этот набор данных для обучения, собрав 207 438 изображений из доступных форм или образцов.
Второй HKR для рукописной казахско-русской базы данных состоял из отдельных слов (или коротких фраз), написанных на русском и казахском языках (около 95% русского и 5% казахского слова/предложения, соответственно). Обратите внимание, что оба языка являются кириллическими написаны и разделяют одни и те же 33 символа. Кроме этих символов, в казахском алфавите есть еще 9 специфических символов. Некоторые примеры набора данных HKR показаны ниже:
Как легко перевести печатный текст в рукописный!
Этот окончательный набор данных был затем разделен на обучающие (70%), валидация (15%) и тестовые (15%) наборы данных. Сам тестовый набор данных был разделен на два субданных (по 7,5% каждый): первый набор данных был назван TEST1 и состоял из слов, которые не были включены в обучающий и проверочный наборы данных; другой субдатасет был назван TEST2 и состоял из слов, которые были включены в обучение набор данных, но полностью различные стили почерка. Основная цель разбиения тестового набора данных на наборы данных TEST1 и TEST2 нужно было проверить разница в точности между распознаванием невидимых слов и слов, видимых на стадии обучения, но с невидимыми стилями почерка.
SimpleHTR модель
Предлагаемая система использует ANN, при этом для извлечения объектов используются многочисленные слои CNN с входной фотографии. Затем выход этих слоев подается в RNN. RNN распространяет информацию через последовательность. Вывод RNN содержит вероятности для каждого символа в последовательности. Для прогнозирования конечного текста реализуются алгоритмы декодирования в выход RNN.
Функции CTC отвечают за декодирование вероятностей в окончательный текст. Для повышения точности распознавания декодирование может также использовать языковую модель. CTC используется для получения знаний; выход RNN представляет собой матрицу, содержащую вероятности символов для каждого временного шага.
Алгоритм декодирования CTC преобразует эти символические вероятности в окончательный текст. Затем, чтобы повысить точность, используется алгоритм, который продолжает поиск слов в словаре. Однако время, необходимое для поиска фраз, зависит от размеров словаря, и он не может декодировать произвольные символьные строки, включая числа.
Операции: CNN: входные изображения подаются на слои CNN. Эти слои отвечают за извлечение объектов. Есть 5х5 фильтры в первом и втором слоях и фильтры 3х3 в последних трех слоях. Они также содержат нелинейную функцию RELU и максимальный объединяющий слой, который суммирует изображения и делает их меньше, чем входные данные.
Хотя высота изображения уменьшается в 2 раза в каждом слое, карты объектов (каналы) добавляются таким образом, чтобы получить выходную карту объектов (или последовательность) размером от 32 до 256. RNN: последовательность признаков содержит 256 признаков или симптомов на каждом временном шаге. Соответствующая информация распространяется РНН через эти серии. LSTM-это один из известных алгоритмов RNN, который переносит информацию на большие расстояния и более эффективное обучение, чем типичные РНН. Выходная последовательность RNN сопоставляется с матрицей 32х80.
CTC: получает выходную матрицу RNN и прогнозируемый текст в процессе обучения нейронной сети, а также определяет величину потерь. CTC получает только матрицу после обработки и декодирует ее в окончательный текст. Длина основного текста и известного текста не должна превышать 32 символов
Данные: Входные данные: это файл серого цвета размером от 128 до 32. Изображения в наборе данных обычно не имеют точно такого размера, поэтому их исходный размер изменяется (без искажений) до тех пор, пока они не станут 128 в ширину и 32 в высоту. Затем изображение копируется в целевой образ размером от 128 до 32. Затем значения серого цвета стандартизируются, что упрощает процесс нейронной сети.
LineHTR модель
Модель LineHTR — это просто расширение предыдущей модели SimpleHTR, которая была разработана для того, чтобы позволить модели обрабатывать изображения с полной текстовой строкой (а не только одним словом), таким образом, чтобы еще больше повысить точность модели. Архитектура модели LineHTR очень похожа на модель SimpleHTR, с некоторыми различиями в количестве слоев CNN и RNN и размере входных данных этих слоев: она имеет 7 слоев CNN и 2 слоя Bidirectinal LSTM (BLSTM) RNN.
Ниже кратко представлен конвейер алгоритма LineHTR:
- На входе изображение в градациях серого фиксированного размера 800 x 64 (Ш x В).
- Слои CNN сопоставляют это изображение в градациях серого с последовательностью элементов размером 100 x 512.
- Слои BLSTM с 512 единицами отображают эту последовательность признаков в матрицу размером 100 x 205: здесь 100 представляет количество временных шагов (горизонтальных позиций) в изображении с текстовой строкой; 205 представляет вероятности различных символов на определенном временном шаге на этом изображении)
- Слой CTC может работать в 2 режимах: режим LOSS — чтобы научиться предсказывать правильного персонажа на временном шаге при обучении; Режим ДЕКОДЕР — для получения последней распознанной текстовой строки при тестировании
- размер партии равен 50
Экспериментальные Материалы
Все модели были реализованы с использованием Python и deep learning библиотеки Tensorflow. Tensorflow позволяет прозрачно использование высоко оптимизированных математических операций на графических процессорах с помощью Python. Вычислительный граф определяется в скрипте Python для определения всех операций, необходимых для конкретных вычислений.
Графики для отчета были сгенерированы с помощью библиотеки matplotlib для Python, а иллюстрации созданы с помощью Inkscape-программы векторной графики, аналогичной Adobe Photoshop. Эксперименты проводились на машине с 2-кратным » Intel ® Процессоры Xeon(R) E-5-2680”, 4x » NVIDIA Tesla k20x” и 100 ГБ памяти RAM. Использование графического процессора сократило время обучения моделей примерно в 3 раза, однако это ускорение не было тщательно отслежено на протяжении всего проекта,поэтому оно могло варьироваться.
SimpleHTR эксперименты
SimpleHTR модель-это обучение, валидация и тестирование на двух различных датасетах. Для того чтобы запустить процесс обучения модели на наших собственных данных, были предприняты следующие шаги:
• Создан словарь слов файлов аннотаций
• Файл DataLoader для чтения и предварительного владения набором данных изображений и чтения файла аннотаций принадлежит изображениям
• Набор данных был разделен на два подмножества: 90% для обучения и 10% для проверки обученной модели. Для повышения точности и снижения частоты ошибок мы предлагаем следующие шаги: во-первых, увеличить набор данных, используя данные увеличение; во-вторых, добавьте больше информации CNN слоев и увеличение ввода размера; в-третьих, удалить шум на изображении и в скорописи стиле; В-четвертых, заменить ЛСТМ двусторонними ГРУ и, наконец, использование декодера передача маркера или слово поиска луча декодирование, чтобы ограничить выход в словарь слова.
Первый Набор Данных: Для обучения на собранных данных была обработана модель SimpleHTR, в которой есть 42 названия стран и городов с различными узорами почерка. Такие данные были увеличены в 10 раз. Были проведены два теста: с выравниванием курсивных слов и без выравнивания. После изучения были получены значения по валидации данных, представленных в Таблице ниже.
Источник: habr.com
Почему у врачей непонятный почерк – как расшифровать каракули, написанные доктором?
После посещения районной поликлиники пациент пытается разобраться в новых записях медицинской карточки. Задача не проста. Как правило, после пятиминутных усилий, даже самый любопытный человек сдается. О том, почему у врачей непонятный почерк и как его разобрать, можно прочитать ниже.
Как разобрать почерк врача?
Лечащий доктор обычно не обладает стильным каллиграфическим почерком, но как же хочется прочитать историю болезни самому, а позже – найти в интернете народные рецепты исцеления недуга.
В помощь для расшифровки рецепта придут:
- ABBYFineReader. В 2014 году представители корпорации ABBYY заканчивают разработку модуля MedText. Что пользователю и нужно сделать, так это сканировать направление на лечение или рецепт в аптеку – все остальное сделает программа.
- Каракулеграфия. Данная наука не известна широкой публике, но медики любят использовать ее при описании болезней. Суть – научится распознавать буквы от посторонних элементов: усиков, посторонних штрихов и линии, засечек и закорючек в буквах и т.п. Если у вас нет проблем с фантазией, за короткое время можно научиться читать даже слишком запутанный текст.
- Врачебный алфавит. В помощь фармацевтам и аптекарям выпускают специальные врачебные алфавиты. Нужно отметить – единой азбуки нет! Врачеватель пишет на русском или латыни, к тому же стиль может заметно отличаться.
В данном видео будет показан случай, в котором Ирина из Омской области выиграла судебный иск на 100 000 рублей из-за неразборчивого почерка врача:
Почему у врачей плохой почерк?
Версий о том, почему у медицинских работников плохой почерк, множество. Не все они правдивы. Тот факт, что даже фармацевты ошибаются при выборе назначенным доктором лекарстве, вызывает у посетителей аптек бурю недовольства. Основные причины неудовлетворительной каллиграфии доктора:
- Загруженность. Простому педиатру государственной поликлиники на прием больного отводится не более десяти минут. За это непродолжительное время он должен:
- Выслушать жалобу.
- Осуществить осмотр.
- Поставить диагноз.
- Назначить лечение.
- Оформить прием в медицинскую карточку и выписать рецепт в аптеку.
Естественный вывод: где и экономит лекарь свое время, так это на написании истории болезни.
- Лечебная тайна. Есть мнение, что медики пишут непонятные иероглифы осознано. В большинстве случаев они преследуют две цели:
- Таким образом, они берегут нервы чересчур мнительным пациентам.
- Так можно «выкрутиться» перед начальством во время консилиума: давление 130/60, можно трактовать как 150/80.
Как видно, под разными поводами врачеватели способны шифровать диагнозы и результаты анализов.
Как мелкие вопросы превращаются в серьезные проблемы
В 70% случаев, красоту письма доктора крадет ежедневная рутинная работа. Все проходит безобидно, если в диагнозе фигурирует обычное ОРВИ. Другое дело – серьезные болезни.
Неправильно выбранный курс лечения может закончиться для больного фатально:
- Стационарное лечение. Трудности в чтении амбулаторных карточек решаются просто: нейрохирург звонит кардиологу, и уточняет – какое заключение тот написал в истории пациента.
- Рецепт. Больной берет лист назначений и идет в аптеку. Если фармацевт неправильно прочитает название назначенного лекарства, могут возникнуть серьезные проблемы, которые могут закончиться даже летальным исходом.
Выход из ситуации есть – в кротчайшие сроки следует перевести ведение всей медицинской документации в электронный формат. Решаются две проблемы:
- Корректность данных. Все медицинские препараты будут находиться в единой базе данных, что не позволит назначить больному несовместимое лекарство.
- Актуальная статистика. При нестандартных ситуациях, например простая эпидемия или обширная пандемия, министерство здравоохранения, имея актуальные данные, может оперативно решить серьезные проблемы.
Борьба с плохой каллиграфией медиков в России
Помимо неприятных ситуаций, возникающих от непонимания написанного, обычный лист назначений превратился в коммерческий проект многих торговых менеджеров. Лечащих врачей начали посещать коммерсанты, и предлагать вознаграждение за то, что в рецепте больного окажется предоставленный ими препарат.
В 2013 году здравоохранение РФ прекратило эту нечистоплотную практику:
- Действующее вещество. В рецепте можно писать только действующее вещество препарата, а не коммерческое название лекарства. Фармацевт сам поможет выбрать подходящий вариант:
- Финансы. Посетитель аптеки поможет купить лекарство, исходя своим финансовым возможностям.
- Лоббирование.Оригинальные препараты зарубежного производства чрезмерно рекламируются и продвигаются на внутренний рынок страны. Нововведение позволит развиваться отечественной фармакологии.
- Переход на электронный формат. До конца 2017 года, каждая поликлиника в стране должна быть компьютеризирована. Подобная практика существует во многих странах мира, а это заметно повышает эффективность медицинских учреждений.
4 интересных факта о древних эскулапах
Знаете ли вы, что:
- В древнем Риме мази, отвары и примочки изготавливались из природных ингредиентов: смолы дерева, пальмового масла, фиников, меда, или из животных: кровь ослицы, жир, желчь и даже помет.
- В Китае профессия врача передавалась по наследству, а в древней Месопотамии знахарями были специально обученные жрецы.
- Лекари Египта в медицине достигли немалых высот. Археологи нашли древние папирусы, в которых были описаны симптомы и методы лечений более 800 недугов.
- Первые лечебные порошки появились в Византии, а первая таблетка, уже в 18-м веке, в Великобритании.
Теперь становится понятно, почему у врачей непонятный почерк: чрезмерная загруженность и многолетняя рутинная работа, заставляет писать одни и те же диагнозы, и со временем, каллиграфия начинает «хромать». Вторая причина – обязанность доктора оградить больного, который и без того находится в подавленном состоянии, от лишних эмоциональных волнений.
Несмотря на очевидные объяснения, непонятный почерк медицинских работников остается предметом шуток во всем мире.
Видео: как разобрать, что написал врач?
В данной передаче врач невролог Лариса Новикова расскажет, почему врачи пишут так неразборчиво, что провоцирует их так делать:
Источник: 1-kak.ru
Конвертировать рукописный текст в текст онлайн — Бесплатный конвертер
Преобразование рукописного текста в текст — это процесс сканирования или фотографирования рукописного текста и преобразования его в цифровой текст, который можно редактировать, сохранять и публиковать на компьютере. Эта технология становится все более популярной в последние годы, и многие люди выбирают цифровое решение для своих нужд в ведении заметок. Все, что вам нужно, это устройство с подключением к Интернету, и вы можете преобразовать свой почерк в цифровой текст всего за несколько кликов.
В этом посте мы более подробно рассмотрим функции и возможности онлайн-преобразования рукописного текста в текст, где вы ознакомитесь с руководством по его эффективному использованию.
Рукописный ввод в текст — онлайн-преобразование#
Вы можете использовать этот бесплатный онлайн-конвертер рукописного ввода в текст для распознавания рукописных заметок или информации. Принимая во внимание, что вам не нужно устанавливать какое-либо другое приложение для работы с этой функцией на вашей стороне.
Интересуетесь безопасностью ваших данных? Обратите внимание, что все данные удаляются с наших серверов через 24 часа.
Как преобразовать рукописный текст в текст бесплатно онлайн#
- Выберите источник, например путь к файлу, камеру или URL-адрес в Интернете.
- Установите различные параметры, такие как «Включение контрастности», «Устранение перекоса изображения» или «Увеличение разрешения».
- Нажмите кнопку «Распознать» и получите вывод в текстовом формате.
Руководство разработчика по конвертеру рукописного текста в текст#
Вы можете работать с различными функциями оптического распознавания символов, выполнив несколько простых вызовов API из своих приложений. В следующем списке перечислены поддержки различных платформ, которые вы можете выбрать в соответствии со своими предпочтениями.
- Aspose.OCR for .NET
- Aspose.OCR for Java
- Aspose.OCR for C++
Преобразование рукописного текста в текст онлайн с помощью Cloud API#
Вы также можете работать с облачными API для работы с преобразованием рукописного ввода в текст или любой другой функцией в любой из ваших предпочтительных системных сред, таких как cURL, Node. .js, Python и т. д.
Кроме того, приведенные ниже ресурсы помогут вам в изучении API.
- Онлайн-документация Aspose.OCR
- Примеры кода Aspose.OCR GitHub
- Онлайн бесплатные приложения
- Функции OCR, связанные с практическими руководствами и блогами
Преобразование рукописного текста в текст — получите бесплатную лицензию#
Вы можете запросить бесплатную временную лицензию для оценки API в полном объеме и без водяных знаков.
Часто задаваемые вопросы#
Могу ли я использовать камеру своего смартфона для распознавания рукописного текста?#
Да, инструмент преобразования рукописного текста в текст может преобразовать содержимое с помощью камеры смартфона.
Нужно ли мне регистрироваться или вводить данные моей кредитной карты?#
Нет, это бесплатное приложение, которое не требует входа или регистрации. Вы можете использовать его бесплатно столько раз, сколько захотите.
Могу ли я экспортировать свои рукописные заметки в текст онлайн из изображения, хранящегося в Интернете?#
Да, вы можете преобразовать рукописный текст в текст онлайн, вставив ссылку на изображение в приложение-конвертер.
Смотрите также#
- Откройте для себя лучший бесплатный инструмент распознавания текста на арабском языке
- Конвертер изображений в текст онлайн: бесплатное распознавание символов
- OCR PDF и извлечение текста из PDF на С#
- Aspose.OCR Product Family
- Handwriting to Text
- Convert Handwriting to Text Online
- Online Handwriting to Text
- Free Handwriting to Text
- Handwriting to Text Converter
- doctor handwriting reader online
- handwriting recognition online
Источник: blog.aspose.com