[Алгоритмы, Обработка изображений, Машинное обучение] Эксперимент в распознавании рукописных текстов на кириллице. Часть 2
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
Всем привет! В этой части хочу рассказать как мы использовали модель NomeroffNet предназначенного для распознавания автомобильных номеров, распознать рукописные записи. В предедущей статье я поделился опытом в использовании моделей SimpleHTR и LineHTR для распознавания рукописных текстов. Распознавание рукописного текста (англ. Handwritten Text Recognition, HTR) - это автоматический способ расшифровки записей с помощью компьютера. Оцифрованный текст рукописных записей позволило бы автоматизировать бизнес процессы множества компаний, упростив работу человека. В данной статье рассматривается модель распознавания рукописного текста на кириллице на основе искусственной нейронной сети. Архитектура данной нейронной сети состоит из слоев сверточной нейронной сети (англ. Convolutional neural network, CNN) и рекуррентной нейронной сети (англ. Recurrent neural network, RNN), а также имеет алгоритм декодирования на основе коннекционной временной классификации (англ. Connectionist Temporal Classification, CTC), который приводит текст к окончательному варианту. Данная модель была обучена на собранном нами датасете рукописных текстов и дала результат 80% точности.В данной статье мы рассматриваем модель распознавания рукописного текста, основанная на современной высокоуровневой архитектуре нейронных сетей. Обобщенная архитектура модели распознавания текста проиллюстрирована на рисунке 1.
Рисунок 1- Обобщенная архитектура модели распознавания текстаВ начале подается изображение с текстом на сверточный слой нейронной сети (CNN) для извлечения особенностей изображения. Следующим шагом является применение к результатам свертки рекуррентной нейронной сети с архитектурой Долгая краткосрочная память (англ. Long short-term memory; LSTM) с последующим применением специального алгоритма декодирования. Этот алгоритм декодирования берет выходные данные LSTM и производит окончательную маркировку (Рисунок 2). В результате получается строка из символов - одна наиболее вероятная буква на каждом временном шаге. Затем все последовательные повторяющиеся символы объединяются в один символ. На примере слова “apple” (Рисунок 2) две буквы «е» объединены в один. Специальный пробел позволяет разделить символы, которые повторяются в оригинальной маркировке. В алфавите также содержится пустой символ, чтобы научить нейронную сеть предсказывать пустой символ между такими символами. Затем все пустые символы удаляются и получается окончательный вариант слова.
Рисунок 2- Принцип работы алгоритма декодирования В нашей работе мы использовали модель распознавания текста, реализованную в проекте Nomeroff Net для распознавания номеров автомобилей. Для нашей цели мы убрали из модели распознавания номеров лишние модули (препроцессинг, детекция номера, аффинное преобразование) и оставили лишь модель распознавания текста.В данной реализации используется немного сложная архитектура нейронной сети (Рисунок 3), чем то, что мы рассматривали в начале, но основные принципы все те же. В начале подается изображение с текстом на сверточные слои нейронной сети для извлечения особенностей изображения. Изображение проходит через два слоя свертки с объединением (C, P - Convolution + Pooling). Результат свертки преобразуется в другую форму и размер (Reshape), затем подается в полносвязную нейронную сеть (FC - Fully Connected). Следующим шагом является применение рекуррентной нейронной сети с архитектурой Управляемых рекуррентных блоков (англ. Gated Recurrent Units, GRU). Данные проходят через два слоя GRU и производится поэлементное сложение (Element-wise addition). Результаты сложения снова проходят через два слоя GRU, но здесь уже к выходным результатам применяется операция склеивания (конкатенация, англ. concatenation). Объединенные данные вывода рекуррентных слоев подаются к полносвязному слою (FC) с последующей функцией активации softmax, которая возвращает наиболее вероятные символы. В конце к полученному набору символов применяется специальный алгоритм декодирования CTC и он выдает окончательный результат распознавания.
Рисунок 3 - Архитектура нейронной сети для распознавания рукописного текста Задача машинного обучения с учителем требует входных размеченных данных, на которых можно было бы обучить модель. Для обучения данной модели был собран набор данных с рукописным текстом на кириллице. Набор данных содержит 18 563 изображения с аннотациями, состоящие из 43 классов (названия стран и городов). Для сбора данных были специально подготовлены формы на бумаге формата А4 с пустыми ячейками для заполнения, и розданы среди студентов для охвата большого диапазона почерков для каждого класса. На собранном датасете мы обучили вышеупомянутую модель распознавания текста. Данная модель имеет 4 863 469 тренировочных параметров нейронной сети. Обучение нейронной сети проходило 3 эпохи на 11 197 изображениях для обучения, 3 637 для валидации и 3 729 для теста. На рисунке 4 приведены некоторые примеры из набора данных для теста с результатами их распознавания.
Рисунок 4 –Результаты распознавания текста На данный момент обученная модель дает 80% точности. Есть еще нерешенные задачи над которыми мы сейчас работаем: увеличение объема датасета, препроцессинг изображений, подбор гиперпараметров нейронной сети, применение словаря. От объема и вариации почерков очень сильно зависит качество обучения, поэтому на данный момент наша работа акцентирована на увеличение количество изображений с рукописным текстом. Обученную модель распознавания рукописного текста можно будет применять для различных задач, связанных с компьютерным зрением и обработкой текста.
===========
Источник:
habr.com
===========
Похожие новости:
- [Алгоритмы, Облачные вычисления, Интернет-маркетинг, Управление e-commerce, Искусственный интеллект] Розничная цена: с головы или довериться алгоритмам
- [Машинное обучение, Искусственный интеллект] Приглашаем на Рождественский коллоквиум по компьютерному зрению
- [Ненормальное программирование, Разработка игр, Алгоритмы] Трассировка лучей в Notepad.exe со скоростью 30 кадров в секунду (перевод)
- [Алгоритмы, Криптовалюты] Алгоритм Ethash
- [Машинное обучение, Искусственный интеллект, Игры и игровые приставки, Логические игры] DeepMind представила бота MuZero, который играет в старые игры и в шахматы
- [Информационная безопасность, Машинное обучение] Машинное обучение в кибербезопасности
- [Информационная безопасность, Криптография, Алгоритмы] Симметричный алгоритм блочного шифрования Advanced Encryption Standart
- [Искусственный интеллект, Звук] Исследователи натренировали нейросеть генерировать бесконечное соло на бас-гитаре
- [Алгоритмы, Управление e-commerce, Управление продажами, Искусственный интеллект] Анализ данных для сбыта и производства
- [Алгоритмы, Искусственный интеллект, Логические игры] Игры по спецификации: обратная сторона изобретательности ИИ (перевод)
Теги для поиска: #_algoritmy (Алгоритмы), #_obrabotka_izobrazhenij (Обработка изображений), #_mashinnoe_obuchenie (Машинное обучение), #_htr, #_cnn, #_rnn, #_lstm, #_ctc, #_algoritmy (
Алгоритмы
), #_obrabotka_izobrazhenij (
Обработка изображений
), #_mashinnoe_obuchenie (
Машинное обучение
)
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 15:20
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
Всем привет! В этой части хочу рассказать как мы использовали модель NomeroffNet предназначенного для распознавания автомобильных номеров, распознать рукописные записи. В предедущей статье я поделился опытом в использовании моделей SimpleHTR и LineHTR для распознавания рукописных текстов. Распознавание рукописного текста (англ. Handwritten Text Recognition, HTR) - это автоматический способ расшифровки записей с помощью компьютера. Оцифрованный текст рукописных записей позволило бы автоматизировать бизнес процессы множества компаний, упростив работу человека. В данной статье рассматривается модель распознавания рукописного текста на кириллице на основе искусственной нейронной сети. Архитектура данной нейронной сети состоит из слоев сверточной нейронной сети (англ. Convolutional neural network, CNN) и рекуррентной нейронной сети (англ. Recurrent neural network, RNN), а также имеет алгоритм декодирования на основе коннекционной временной классификации (англ. Connectionist Temporal Classification, CTC), который приводит текст к окончательному варианту. Данная модель была обучена на собранном нами датасете рукописных текстов и дала результат 80% точности.В данной статье мы рассматриваем модель распознавания рукописного текста, основанная на современной высокоуровневой архитектуре нейронных сетей. Обобщенная архитектура модели распознавания текста проиллюстрирована на рисунке 1. Рисунок 1- Обобщенная архитектура модели распознавания текстаВ начале подается изображение с текстом на сверточный слой нейронной сети (CNN) для извлечения особенностей изображения. Следующим шагом является применение к результатам свертки рекуррентной нейронной сети с архитектурой Долгая краткосрочная память (англ. Long short-term memory; LSTM) с последующим применением специального алгоритма декодирования. Этот алгоритм декодирования берет выходные данные LSTM и производит окончательную маркировку (Рисунок 2). В результате получается строка из символов - одна наиболее вероятная буква на каждом временном шаге. Затем все последовательные повторяющиеся символы объединяются в один символ. На примере слова “apple” (Рисунок 2) две буквы «е» объединены в один. Специальный пробел позволяет разделить символы, которые повторяются в оригинальной маркировке. В алфавите также содержится пустой символ, чтобы научить нейронную сеть предсказывать пустой символ между такими символами. Затем все пустые символы удаляются и получается окончательный вариант слова. Рисунок 2- Принцип работы алгоритма декодирования В нашей работе мы использовали модель распознавания текста, реализованную в проекте Nomeroff Net для распознавания номеров автомобилей. Для нашей цели мы убрали из модели распознавания номеров лишние модули (препроцессинг, детекция номера, аффинное преобразование) и оставили лишь модель распознавания текста.В данной реализации используется немного сложная архитектура нейронной сети (Рисунок 3), чем то, что мы рассматривали в начале, но основные принципы все те же. В начале подается изображение с текстом на сверточные слои нейронной сети для извлечения особенностей изображения. Изображение проходит через два слоя свертки с объединением (C, P - Convolution + Pooling). Результат свертки преобразуется в другую форму и размер (Reshape), затем подается в полносвязную нейронную сеть (FC - Fully Connected). Следующим шагом является применение рекуррентной нейронной сети с архитектурой Управляемых рекуррентных блоков (англ. Gated Recurrent Units, GRU). Данные проходят через два слоя GRU и производится поэлементное сложение (Element-wise addition). Результаты сложения снова проходят через два слоя GRU, но здесь уже к выходным результатам применяется операция склеивания (конкатенация, англ. concatenation). Объединенные данные вывода рекуррентных слоев подаются к полносвязному слою (FC) с последующей функцией активации softmax, которая возвращает наиболее вероятные символы. В конце к полученному набору символов применяется специальный алгоритм декодирования CTC и он выдает окончательный результат распознавания. Рисунок 3 - Архитектура нейронной сети для распознавания рукописного текста Задача машинного обучения с учителем требует входных размеченных данных, на которых можно было бы обучить модель. Для обучения данной модели был собран набор данных с рукописным текстом на кириллице. Набор данных содержит 18 563 изображения с аннотациями, состоящие из 43 классов (названия стран и городов). Для сбора данных были специально подготовлены формы на бумаге формата А4 с пустыми ячейками для заполнения, и розданы среди студентов для охвата большого диапазона почерков для каждого класса. На собранном датасете мы обучили вышеупомянутую модель распознавания текста. Данная модель имеет 4 863 469 тренировочных параметров нейронной сети. Обучение нейронной сети проходило 3 эпохи на 11 197 изображениях для обучения, 3 637 для валидации и 3 729 для теста. На рисунке 4 приведены некоторые примеры из набора данных для теста с результатами их распознавания. Рисунок 4 –Результаты распознавания текста На данный момент обученная модель дает 80% точности. Есть еще нерешенные задачи над которыми мы сейчас работаем: увеличение объема датасета, препроцессинг изображений, подбор гиперпараметров нейронной сети, применение словаря. От объема и вариации почерков очень сильно зависит качество обучения, поэтому на данный момент наша работа акцентирована на увеличение количество изображений с рукописным текстом. Обученную модель распознавания рукописного текста можно будет применять для различных задач, связанных с компьютерным зрением и обработкой текста. =========== Источник: habr.com =========== Похожие новости:
Алгоритмы ), #_obrabotka_izobrazhenij ( Обработка изображений ), #_mashinnoe_obuchenie ( Машинное обучение ) |
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 15:20
Часовой пояс: UTC + 5