Научная статья на тему 'ДЕТЕКЦИЯ ЖЕСТОВ С ПОМОЩЬЮ YOLO'

ДЕТЕКЦИЯ ЖЕСТОВ С ПОМОЩЬЮ YOLO Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
380
44
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
НЕЙРОННЫЕ СЕТИ / СВЕРТОЧНЫЕ НЕЙРОННЫЕ СЕТИ / РОБОТ / UNITREEROBOTICS A1 / ДЕТЕКЦИЯ ОБЪЕКТОВ / YOLO / TRANSFER LEARNING

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Скляр Александр Яковлевич, Высоцкая Анна Аркадьевна, Горячев Антон Александрович

В данной статье рассматривается архитектура сверточной нейронной сети YOLO для детекции объектов на изображении или видеоряде. Представлена следующая цель для работы: определение нейронной сетью команд в режиме реального времени, которые в дальнейшем используются для взаимодействия с собакой-роботом. В статье представлен пример разметки изображений для дообучения модели, а также результаты её обучения. На основе этого представлен пример взаимодействия с собакой-роботом UnitreeRobotics A1 с использованием обученной глубокой модели. В результате была получена сверточная нейронная сеть, позволяющая с высокой точностью и скоростью выполнять детекцию жестов на видеоряде.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Скляр Александр Яковлевич, Высоцкая Анна Аркадьевна, Горячев Антон Александрович

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

GESTURE DETECTION WITH YOLO

This article discusses the architecture of the YOLO convolutional neural network for detecting objects in an image or video sequence. The following goal for the work is presented: the definition by the neural network of commands in real time, which are further used to interact with the robot dog. The article presents an example of image markup for retraining the model, as well as the results of its training. Based on this, an example of interaction with a UnitreeRobotics A1 robot dog using a trained deep model is presented. As a result, a convolutional neural network was obtained, which makes it possible to perform gesture detection on a video sequence with high accuracy and speed.

Текст научной работы на тему «ДЕТЕКЦИЯ ЖЕСТОВ С ПОМОЩЬЮ YOLO»

Столыпинский вестник №9/2022

Научная статья Original article УДК 004.032.26

ДЕТЕКЦИЯ ЖЕСТОВ С ПОМОЩЬЮ YOLO

GESTURE DETECTION WITH YOLO

Скляр Александр Яковлевич, к.т.н, доцент, Российский технологический университет МИРЭА, г. Москва, E-mail: [email protected]

Высоцкая Анна Аркадьевна, Магистр 2 курса, Российский технологический университет МИРЭА, г. Москва, E-mail: [email protected]

Горячев Антон Александрович, Магистр 2 курса, Российский технологический университет МИРЭА, г. Москва, E-mail: [email protected]

Sklyar Alexander Yakovlevich, Ph.D., Associate Professor, Russian Technological University MIREA, Moscow, E-mail: [email protected] Vysotskaya Anna Arkadievna, Master 2 courses, Russian Technological University MIREA, Moscow, E-mail: [email protected]

Goryachev Anton Alexandrovich, Master 2 courses, Russian Technological University MIREA, Moscow, E-mail: gorjat. anton@mail. ru

Аннотация. В данной статье рассматривается архитектура сверточной нейронной сети YOLO для детекции объектов на изображении или видеоряде. Представлена следующая цель для работы: определение нейронной сетью команд в режиме реального времени, которые в дальнейшем используются для

Столыпинский вестник

4926

взаимодействия с собакой-роботом. В статье представлен пример разметки изображений для дообучения модели, а также результаты её обучения. На основе этого представлен пример взаимодействия с собакой-роботом UnitreeRobotics A1 с использованием обученной глубокой модели. В результате была получена сверточная нейронная сеть, позволяющая с высокой точностью и скоростью выполнять детекцию жестов на видеоряде.

Annotation. This article discusses the architecture of the YOLO convolutional neural network for detecting objects in an image or video sequence. The following goal for the work is presented: the definition by the neural network of commands in real time, which are further used to interact with the robot dog. The article presents an example of image markup for retraining the model, as well as the results of its training. Based on this, an example of interaction with a UnitreeRobotics A1 robot dog using a trained deep model is presented. As a result, a convolutional neural network was obtained, which makes it possible to perform gesture detection on a video sequence with high accuracy and speed.

Ключевые слова: нейронные сети, сверточные нейронные сети, робот, UnitreeRobotics A1, детекция объектов, YOLO, Transfer Learning.

Keywords: neural networks, convolutional neural networks, robot, UnitreeRobotics A1, object detection, YOLO, Transfer Learning.

Введение

Наука о данных или data science пытается понять, как можно из данных самой разной природы получить ответы на некоторые вопросы. Разделы науки о данных, которые освещают разные методы получения таких ответов, называются машинное обучение и анализ данных. Машинное и глубокое обучение являются вложенными друг в друга дисциплинами внутри искусственного интеллекта.

4927

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

Самое зрелое и довольно давно развивающееся направление - это компьютерное зрение, которое занимается изучением того, как сделать так, чтобы компьютеры могли «видеть». С помощью компьютерного зрения решаются задачи в различных областях. Например, в здравоохранении алгоритмы глубокого обучения позволяют определить по рентгеновскому снимку легких есть у человека пневмония или нет. Широко применяется компьютерное зрение во многих отраслях цифровой экономики, таких как «Умный город», автономные автомобили, видеонаблюдение и безопасность. Автономный автомобиль должен уметь отличать человека от дерева, а Face ID — владельца телефона от вора. В настоящее время активно развивается сфера робототехники, где так же необходимо компьютерное зрение. Роботы должны уметь детектировать объекты, жесты, движения для взаимодействия с окружающей средой и человеком.

Детекция объектов

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

Одним из самых известных алгоритмов обнаружения объектов благодаря своей скорости и точности является YOLO (You Only Look Once).

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

4928

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

На данный момент существует 5 версий YOLO. YOLOvl была выпущена в качестве исследовательской работы Джозефом Редмоном в 2015 году [1]. YOLOv2 является результатом совместной Джозефа Редмона, оригинального автора YOLO и Али Фархади. Публикация на эту тему появилась в 2016 году. [2]. Следующей моделью от этих же авторов стала YOLOv3, которая является улучшением архитектуры YOLOv2 [3]. После этого работа над YOLO застопорилась. Следующая версия YOLOv4 была выпущена Алексеем Бочковским, Цзянь-Яо Вангом и Хун-Юанем Марком Ляо [4]. Вскоре после выхода YOLOv4 Гленн Джохер представил YOLOv5 с использованием фреймворка Pytorch.

Среди перечисленных детекторов значительно выделяется YOLOv5, в которой авторы указывают на наилучшее соотношение скорость-качество среди практически всех остальных нейросетевых детекторов.

Нейронная сеть YOLOv5 имеет несколько архитектур (Рисунок 1).

Рисунок 1 — Архитектуры УОЬОу5

Самым маленьким и быстрым, следовательно, менее точным вариантом является УОЬОу5и. Она содержит всего 1.9 миллионов параметров. Для

4929

сравнения, YOLOv5x использует 86.7 миллионов параметров, следовательно, является самой точной реализацией YOLO, но самой медленной. Реализация модели для детекции кинологических жестов Основная цель — это получить глубокую модель для того, чтобы взаимодействовать с собакой-роботом UnitreeRobotics A1 (Рисунок 2) [5].

Рисунок 2 - Собака-робот

Модель YOLO изначально обучена на наборе данных Microsoft COCO (Common Objects in Context). Этот набор данных содержит 91 класс и 2.5 миллиона размеченных изображений. YOLOv5n на данном наборе данных достигает точности mAP0.5 = 45.7 и скорости детекции на центральном процессоре (CPU), равную 45 миллисекундам для изображений размера 640 на 640 пикселей [6]. mAP0.5 (mean Average Precision) — это популярная метрика для измерения точности детекторов, которая определяется на интервале от 0 до 1.

Общая архитектура YOLO представлена на Рисунке 3

Рисунок 3 — Архитектура YOLO

4930

Для такой цели необходима высокая скорость работы нейросети, именно поэтому используется самая маленькая версия модели — YOLOv5n.

Чтобы использовать данную архитектуру для решения задачи детекции жестов используется подход под названием Transfer Learning (трансферное обучение) [7]. Transfer Learning — это подраздел машинного обучения, целью которого является применение знаний, полученных из одной задачи, к другой целевой задаче. Нейросеть сначала обучается на большом объеме данных, в данном случае COCO, затем — на целевом наборе.

Для дообучения модели был собран набор данных с 3 классами жестов: 0 — COOL, 1 — PISTOL, 2 — SHAKE. Исходные данные — это видео с разрешением 1920*1080 с частотой 30 кадров в секунду с выполнением трех различных движений. Длительность каждого видеоряда около 3-х минут. Далее было произведено разбиение видеоряда на кадры. Удалены лишние изображения, на которых нет объектов детекции. Далее была произведена разметка изображений. В результате обработки данных были получены:

• папка с изображениями для каждого класса;

• папка с txt файлами, в которых содержится информация о классе и координаты ограничивающей рамки.

Пример разметки изображений представлен на Рисунке 4.

Рисунок 4 — Разметка изображений

4931

В результате в обучающем наборе содержится 5453 изображений, а на валидационном — 1361 изображение.

Далее производилось дообучение модели УОЬОу5и. Оптимизатор, который использовался во время обучения — SGD (стохастический градиентный спуск). Количество эпох обучения: 32. Функция активации — SiLU, которая представлена формулой

1

/« = *•—, (1)

где х — линейная комбинация данных и весов.

Функция потерь состоит из линейной комбинации трех метрик L с балансовыми коэффициентами Я (2).

Л-1 Lcls + Л-2 L0bj + Л-3 Lioc 5 (2)

где Lcis — ошибка ограничивающего прямоугольника (средний квадрат ошибок);

Lobj — уверенность в присутствии объекта (бинарная кросс-энтропия); Lloc — ошибка классификации (кросс-энтропия).

Процесс обучения модели на видеокарте Tesla K80 от NVIDIA с технологией CUDA представлен на Рисунке 5.

4932

Epoch 0/31

Epoch

1/31

Epoch 2/31

Epoch

3/31

Epoch 4/31

Epoch S/31

Epoch 6/31

gpujnem 4.67G class all box 0.07973 1361 obj 0.02344 Labels 1361

gpujnem 4.67G Class all box 0.05547 Images 1361 obj 0.01191 ( Labels 1361

gpumem 4.67G Class all 0.04366 t Images 1361 obj >.009046 ( Labels 1361

gpu jnem 4.67G Class all box 0.03557 С Images 1361 obj >.008173 i Labels 1361

gpujnem 4.67G Class all box 0.03039 { 1361 obj >.007363 i Labels 1361

gpujnem 4.67G Class all box 0.027 С Images 1361 obj >.006811 ( Labels 1361

gpu_mem 4.67G Class all box 0.0251 £ 1361 obj >.006553 i Labels 1361

els labels img size

0.02576 15 640: 106% 122/122 [03:58<00:00, 1.965/it]

P R [email protected] mAPi®. 5: .95: 100% 16/16 [00:17<00:0i 0.357 0.594 0.449 0.157

els labels img_size

Id 640: 100% 122/122 [03:55<00:00, 1.93s/it]

R [email protected] [email protected]:.95: 100% 16/16 [00:16<00:0i 0.88 0.79 0.403

1.05s/it]

ClS

labels img_size

10 640: 100% 122/122 [03:55<00:00, 1.93s/it]

P ft mAPg.S [email protected]:.95: 106% 16/16 [00:16<Ф9:0|

795 0.821 0.889 0.389

els labels img_size

>2865 12 640: 100% 122/122 [03:55<00:00, 1.93s/it]

P R mAP#.5 mAP0.5:.95: 100% 16/16 [00:16<00:0i

0.967 0.978 0.989 0.634

els labels img size

»2058 13 640: 100% 122/122 [03:55<00:00, 1.93s/it]

P R mAPJi.5 mAPiS. 5: .95: 100% 16/16 [00:16<00:0I

0.977 0.99 0.681

0.977

els labels img_size

0.996 els

0.995

I 122/122 [03:55<00:00, l,93s/lt] mAP§.5 mAP0.5:.95: 100% 16/16 [0Э:16<ее;Э0, 1.06s/it] 0.995 0.693

labels img_size

16 640: 100% 122/122 [03:5S<00:00, 1.93s/it]

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

R mAP0.5 [email protected]:.95: 100% 16/16 [00:16<00:0 0.989 0.994 0.717

Рисунок 5 — Процесс обучения модели

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

Метрики качества модели на тренировочной и на валидационной выборках представлены на Рисунке 6.

О 20

Рисунок 6 — Метрики качества

Результат обучения модели для каждого класса на валидационном наборе изображений представлен на Рисунке 7.

4933

Model summary: 213 layers, 1763224 parameters, Class Images Labels all 1361 1361

COOL 1361 505

PISTOL 1361 461

SHAKE 1361 395

gradients, 4.2 GFLOPs

R [email protected] [email protected]:.95: 160% 16/16 [00:20<00:00, 1.26s/it]

1 0.995 8.842

1 0.995 0.774

1 0.995 0.833

1 0.995 0.918

Рисунок 7 — Результат обучения

Наилучшую точность имеет класс SHAKE, далее класс PISTOL и класс COOL.

При взаимодействии с собакой-роботом были выбраны следующие движения:

• COOL - собака-робот «отряхивается»;

• PISTOL - собака-робот присаживает на все «лапы»;

• SHAKE - собака-робот присаживается на задние «лапы».

На Рисунках 8-9 представлен результат работы модели при взаимодействии с роботом А1 в режиме реального времени.

Рисунок 8 — Результат 1

Рисунок 9 — Результат 2

4934

Модель имеет точность достаточную для выполнения поставленных задач, не смотря на выбранную архитектуру нейронной сети с наименьшим количеством настраиваемых параметров. Вместе с этим обеспечивается высокая скорость детекции объектов на изображении. Обученная нейронная сеть детектирует классы в среднем со скоростью 12 кадров в секунду на центральном процессоре.

ЗАКЛЮЧЕНИЕ

В результате была реализовала глубокая модель нейронной сети, которая позволяет детектировать жесты в реальном времени для взаимодействия с роботом UnitreeRobotics A1. Рассмотрены основные виды детекторов объектов на изображении, а также метрики, позволяющие оценивать качество модели.

Литература

1. Joseph Redmon. You Only Look Once: Unified, Real-Time Object Detection / Santosh Divvala, Ross Girshick, Ali Farhadi // IEEE Conference on Computer Vision and Pattern Recognition. — 2015 г.

2. Joseph Redmon. YOLO9000: Better, Faster, Stronger / Ali Farhadi // IEEE Conference on Computer Vision and Pattern Recognition (CVPR). — 2016 г.

3. Joseph Redmon. YOLOv3: An Incremental Improvement / Ali Farhadi // Computer Science. — 2018 г.

4. Alexey Bochkovskiy. YOLOv4: Optimal Speed and Accuracy of Object Detection / Chien-Yao Wang, Hong-Yuan Mark Liao // Computer Science. — 2020 г.

5. Робот UnitreeRobotics A1 [Электронный ресурс]. — URL: https://www.unitree.com/products/a1/

6. Официальный сайт YOLO [Электронный ресурс]. — URL: https://github.com/ultralytics/yolov5

4935

7. Трансферное обучение [Электронный ресурс]. — URL: https ://habr.com/ru/company/binarydistrict/blo g/428255/

References

1. Joseph Redmon. You Only Look Once: Unified, Real-Time Object Detection / Santosh Divvala, Ross Girshick, Ali Farhadi // IEEE Conference on Computer Vision and Pattern Recognition. — 2015

2. Joseph Redmon. YOLO9000: Better, Faster, Stronger / Ali Farhadi // IEEE Conference on Computer Vision and Pattern Recognition (CVPR). — 2016

3. Joseph Redmon. YOLOv3: An Incremental Improvement / Ali Farhadi // Computer Science. — 2018

4. Alexey Bochkovskiy. YOLOv4: Optimal Speed and Accuracy of Object Detection / Chien-Yao Wang, Hong-Yuan Mark Liao // Computer Science. — 2020

5. UnitreeRobotics A1 robot [Electronic resource]. - URL: https://www.unitree.com/products/a1/

6. Official website of YOLO [Electronic resource]. URL: https://github.com/ultralytics/yolov5

7. Transfer learning [Electronic resource]. - URL: https ://habr.com/ru/company/binarydistrict/blo g/428255/

© Скляр А. Я., Высоцкая А. А., Горячев А. А., 2022 Научный сетевой журнал «Столыпинский вестник» №9/2022.

Для цитирования: Скляр А. Я., Высоцкая А. А., Горячев А. А. ДЕТЕКЦИЯ ЖЕСТОВ С ПОМОЩЬЮ YOLO// Научный сетевой журнал «Столыпинский вестник» №9/2022.

4936

i Надоели баннеры? Вы всегда можете отключить рекламу.