Телефон: 8-800-350-22-65
WhatsApp: 8-800-350-22-65
Telegram: sibac
Прием заявок круглосуточно
График работы офиса: с 9.00 до 18.00 Нск (5.00 - 14.00 Мск)

Статья опубликована в рамках: CII Международной научно-практической конференции «Экспериментальные и теоретические исследования в современной науке» (Россия, г. Новосибирск, 26 июня 2024 г.)

Наука: Информационные технологии

Скачать книгу(-и): Сборник статей конференции

Библиографическое описание:
Ермоленко К.Д. РАСПОЗНАВАНИЕ РУКОПИСНЫХ ЦИФР НА ИЗОБРАЖЕНИЯХ // Экспериментальные и теоретические исследования в современной науке: сб. ст. по матер. CII междунар. науч.-практ. конф. № 6(94). – Новосибирск: СибАК, 2024. – С. 23-27.
Проголосовать за статью
Дипломы участников
У данной статьи нет
дипломов

РАСПОЗНАВАНИЕ РУКОПИСНЫХ ЦИФР НА ИЗОБРАЖЕНИЯХ

Ермоленко Кирилл Дмитриевич

магистр, МИРЭА - Российский технологический университет,

РФ, г. Москва

АННОТАЦИЯ

Рассмотрена задача распознавания рукописных цифр с помощью нейронной сети. Подготовлен набор обучающих данных MNIST для нейронной сети на основе Yolo

 

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

 

Введение

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

В данной статье мы рассмотрим метод, использующий свёрточную нейронную сеть[5], смоделированную моделью Yolo[3] на основе базы данных MNIST[4].

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

 

Рисунок 1. Рукописная цифра «0» из набора MNIST

 

Для обучения сети мы будем использовать модель Yolo с помощью фреймворка Darknet[1]. Требуется конфигурационный файл и изображения. Для каждого изображения должен существовать текстовый файл с метками, в котором в каждой соответствующей цифре строке указан класс, координата X центра цифры, координата Y центра цифры, ширина, высота.

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

 

Рисунок 2. Обучающее изображение

Обучение сети

После того, как все изображения и конфигурационный файл подготовлены, можно приступать к обучению нейронной сети[2]. Рекомендуется производить минимум 2 тысячи итерации на каждый класс. В нашей задаче имеется десять классов цифр от 0 до 9. В соответствии с этим будем обучать нашу сеть двадцать тысяч итераций. Также очень важно иметь хороший по производительности графический процессор. От этого зависит скорость обучения. От идеи использовать центральный процессор нужно отказаться вовсе. Для примера обучение сети длиной в десять тысяч итераций на основе изображений 416х416 пикселей на графическом процессоре может занять около двух часов, в то время как на центральном процессоре больше пяти дней. Каждую итерацию сеть обучается и, смотря на тестовые данные, выводит на график количество ошибок (рис. 3).

 

Рисунок 3. График ошибок

 

На оси X расположено количество итераций, а на оси Y ошибки.

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

Результаты

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

 

            Рисунок 4. Результат

 

В рамке опознанная цифра. Над рамкой написан класс и точность распознавания.

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

 

Список литературы:

  1. Darknet: Open Source Neural Networks in C [Электронный ресурс] – URL: https://pjreddie.com/darknet (дата обращения: 11.06.2024)
  2. Programming Comments - Darknet FAQ [Электронный ресурс] – URL: https://www.ccoderun.ca/programming/darknet_faq (дата обращения: 11.06.2024)
  3. YOLO: Real-Time Object Detection [Электронный ресурс] – URL: https://pjreddie.com/darknet/yolo (дата обращения: 10.06.2024)
  4. База данных MNIST с рукописными цифрами - Azure Open Datasets [Электронный ресурс] – URL: https://learn.microsoft.com/ru-ru/azure/open-datasets/dataset-mnist?tabs=azureml-opendatasets (дата обращения: 10.06.2024)
  5. Сверточные нейронные сети (CNN) [Электронный ресурс] – URL: https://www.yourtodo.ru/posts/svertochnyie-nejronnyie-seti-cnn (дата обращения: 11.06.2024)
Удалить статью(вывести сообщение вместо статьи): 
Проголосовать за статью
Дипломы участников
У данной статьи нет
дипломов

Оставить комментарий

Форма обратной связи о взаимодействии с сайтом
CAPTCHA
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.