Дипломный проект по созданию робота, который может проверять орфографию на языке жестов с помощью CNN.

Введение

Образование является правом всех людей в Индонезии, а также стало обязанностью правительства своих граждан воспитывать жизнь нации. Наряду с быстрым развитием времени многие люди ищут эффективные и действенные методы обучения и не сосредоточены на преподавании и обучении, сочетая методы обучения с технологическими достижениями. Методы обучения, которые обычно применяются в настоящее время, осуществляются путем чтения. В этом исследовании авторы провели исследование, разработав помощников социальных роботов, чтобы помочь в обучении распознаванию букв и правописанию для глухих детей, где эти способности являются важными условиями в навыках чтения. Вообще говоря, в этом исследовании используется концепция распознавания жестов с использованием машинного обучения в качестве основной функции. Робот взаимодействует с пользователем посредством движений рук пользователя и самого движения робота. Результаты проведенного исследования заключаются в создании робота-социального помощника для процесса обучения распознаванию букв и написанию 4 алфавитных порядков, 5 алфавитных порядков и 6 алфавитных порядков со 100% точностью обнаружения и использованием конечного автомата. методология

Объем проблемы

  • Орфографический ввод по-прежнему поступает с клавиатуры, так что при каждом написании
    нужно вводить любые буквы, которые будут написаны пользователем.
  • Распознавание жестов выполняется только на запястье и масштабе пальцев
    рук, не может полностью выполняться на одном теле
  • Используемый метод предназначен только для распознавания жестов
    с использованием метода сверточной нейронной сети (CNN).

Как работает система

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

Данные

данные, которые я использую, - это фотография моей руки, когда я делаю движение по алфавиту от А до Я. В каждом алфавите было 1200 фотографий, затем я переворачиваю их, поэтому в каждом алфавите было 2400 фотографий. Собранное изображение преобразуется в массивы numpy, чтобы сделать его пригодным для тензорной обработки при обучении.

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

Учебный процесс

Все классы были обучены с использованием метода CNN с архитектурой, как показано ниже:

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

Следующий шаг — обучение модели:

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

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

Процесс тестирования

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

Сделать режим правописания

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

Для уточнения условий Состояние СТАРТ — это состояние, при котором система не была введена в режим правописания, состояние БЕЗДЕЙСТВИЕ — это состояние, когда ввод с клавиатуры был нажат для входа в режим правописания, но не введен алфавитный ввод и состояние робота находится в состоянии это означает, что робот готов проверить правописание пользователя. Следующие условия от T1 до T6
— это условие написания объекта в алфавитном порядке, например, если пользователь вводит алфавитный ввод с помощью объекта BUKU, тогда T1 — это процесс, в котором пользователь должен произнести букву B, в то время как пользовательский процесс T2 должен написать букву U и т. д., тогда как завершенный процесс — это процесс, посредством которого пользователь успешно произносит весь алфавит, который вводится в систему, и состояние робота будет хлопать в ладоши, говоря: «Вы закончили свое заклинание".

Прототип робота

Робот, который я использовал, — это робот-гуманоид от Robotis типа Robotis Bioloid Premium. Робот построен путем интеграции 3 систем, а именно компьютерной системы, в которой компьютерная система этого робота использует мини-ПК INTEL NUC, веб-камеру и самого робота-гуманоида. Источником питания, который используется для включения этой системы, является адаптер питания. Для питания этой системы используются 2 адаптера питания: адаптер питания на 12 вольт для CM-530 для включения робота-гуманоида и адаптер питания на 19 вольт для питания робота-гуманоида. ИНТЕЛ НУК. Для связи между мини-ПК и CM-530 используется кабель USB-TTL, так как связь, используемая между двумя компонентами, является последовательной. Связь между 2. Этот компонент сделан для того, чтобы мини-ПК мог посылать команды движения на CM-530, соответствующие рабочему процессу строящейся системы.

Движение роботов

Движение робота в этой системе осуществляется путем отправки команд движения в виде шестнадцатеричных данных, записанных в программировании на Python, на CM-530. отправка данных осуществляется последовательно и будет получена CM-530. Затем будет команда на перемещение сервопривода на роботе. По сути, отправляемые шестнадцатеричные данные представляют собой замещающие данные с пульта дистанционного управления, который является встроенным контроллером робота от Robotis, но его связь изначально осуществляется по радио в системе, на этот раз изменена на последовательную, чтобы робот мог двигаться автоматически без необходимости управления с пульта.

ПРИМЕЧАНИЕ !!

в основном, скрипты программирования для распознавания жестов рук, которые я получил на этом YouTube video и github, которые были загружены Evilport на его youtube-канал Programming by EvilPort. но я не полностью занимаюсь плагиатом, я сделал некоторые изменения, например, в эпохе, размере пакета и параметре скорости обучения, а также для набора данных, который я сделал сам. а для режима правописания и движения робота сделал я.

Надеюсь, что вы, ребята, наслаждайтесь . Не стесняйтесь спрашивать меня по адресу [email protected] :)