Научная статья на тему 'РАЗРАБОТКА ПРОГРАММЫ РАСПОЗНАВАНИЯ ЧЕЛОВЕКА И ДРУГИХ ПРЕПЯТСТВИЙ НА ПУТИ МАЛОГО ГРУЗОВОГО АВТОНОМНОГО ТРАНСПОРТНОГО СРЕДСТВА'

РАЗРАБОТКА ПРОГРАММЫ РАСПОЗНАВАНИЯ ЧЕЛОВЕКА И ДРУГИХ ПРЕПЯТСТВИЙ НА ПУТИ МАЛОГО ГРУЗОВОГО АВТОНОМНОГО ТРАНСПОРТНОГО СРЕДСТВА Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
7
1
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
автономная система / мобильные роботы / компьютерное зрение / сверточные сети / нейронные сети / autonomous system / mobile robots / computer vision / convolutional networks / neural networks

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Кастарная Т.М., Романова-Большакова И.К.

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

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

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Кастарная Т.М., Романова-Большакова И.К.

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

DEVELOPMENT OF HUMAN RECOGNITION AND OTHER OBSTACLES INWAY OF SMALL CARGO AUTONOMOUS VEHICLE PROGRAM

Article describes the process of developing a program for recognizing obstacles in the path of an autonomous mobile robot. The purpose of the work is to describe an algorithm for recognizing obstructing objects by a mobile robot in an airport environment. This algorithm, based on the principles of technical vision, uses the mechanism of convolutional neural networks to identify a person and other obstacles and is focused on working in conditions of a large number of people.

Текст научной работы на тему «РАЗРАБОТКА ПРОГРАММЫ РАСПОЗНАВАНИЯ ЧЕЛОВЕКА И ДРУГИХ ПРЕПЯТСТВИЙ НА ПУТИ МАЛОГО ГРУЗОВОГО АВТОНОМНОГО ТРАНСПОРТНОГО СРЕДСТВА»

УДК 004.896 Кастарная Т.М., Романова-Большакова И.К.

Кастарная Т.М.

студент второго курса магистратуры Московский государственный технический университет

им. Н.Э. Баумана (г. Москва, Россия)

Романова-Большакова И.К.

кандидат технических наук, доцент кафедры мехатроники и робототехники Московский государственный технический университет

им. Н.Э. Баумана (г. Москва, Россия)

РАЗРАБОТКА ПРОГРАММЫ РАСПОЗНАВАНИЯ ЧЕЛОВЕКА И ДРУГИХ ПРЕПЯТСТВИЙ НА ПУТИ МАЛОГО ГРУЗОВОГО АВТОНОМНОГО ТРАНСПОРТНОГО СРЕДСТВА

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

Ключевые слова: автономная система, мобильные роботы, компьютерное зрение, сверточные сети, нейронные сети.

1. Введение.

Для современного человека путешествия не являются чем-то необычным и экзотическим. Ежедневно по всему миру совершаются сотни перелётов на

близкие и дальние расстояния. Обойтись в дальней поездке без чемодана крайне тяжело.

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

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

2. Методы.

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

2.1. Принцип работы сверточных нейронных сетей.

Свёрточная нейронная сеть (CNN) — это алгоритм глубокого обучения, который может принимать входное изображение, присваивать важность (изучаемые веса и смещения) аспектам или объектам изображении и отличать одно от другого. [1] Свёрточные нейронные сети состоят из нескольких слоёв (рис.1). Чем больше слоёв, тем мощнее архитектура и лучше обучение нейросети. [5]

Рис. 1. Пример структуры сверточной нейронной сети.

1) Cвёрточная нейронная сеть «видит» изображение в особом представлении - в виде массивов числовых матриц. Во время свёртки (рис.2) нейросеть удаляет лишнее и оставляет то, что поможет дальнейшему анализу. Пусть дано изображение в формате матрицы чисел X и матрица фильтра W. Тогда операция свертки определяется выражением[2]:

А" к

I

(1)

Где Ws,t - это значение элемента ядра (фильтра) свертки в позиции ^Д), уц- значение пикселя выходного изображения, х^^^) - значение пикселя исходного изображения, K - размер ядра (фильтра) свертки.

Рис. 2. Пример свертки изображения.

2) Далее идет процесс субдискретизации[4]: из признаков, которые выделил свёрточный слой, выбирает самые важные, а несущественные удаляет. Пусть дано изображение в формате матрицы чисел X и установлено, что размеры окна субдискретизации - kxk. Тогда операция субдискретизации (рис.3) определяется выражением:

у{ ^ тах(хик к+{)\

(2)

где у у - это значение пикселя выходного изображения, х^^) значение пикселя исходного изображения.

Рис. 3. Пример субдискретизации.

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

2.2. Обзор работы алгоритма YOLOv3.

Среди наиболее подходящих для решения задачи детектирования СНС предпочтение сегодня следует отдать сетям класса YOLO [6]. YOLOv3 - это алгоритм обнаружения объектов в реальном времени, который идентифицирует определенные объекты в видео, прямых трансляциях или изображениях.

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

Основная особенность архитектуры YOLOv3 состоит в том, что на выходе есть три слоя, каждый из которых рассчитан на обнаружения объектов разного размера. Для этого используются различные сетки, размеры ячеек которых имеют значения 8, 16 и 32.

Так же, в отличие от других сетей, YOLO может выполнять классификацию и ограничивающую прямоугольную регрессию одновременно (рис. 4), обеспечивая эффективное и точное предсказание предсказанных ограничивающих прямоугольников.

Карта вероятностей классов

Рис. 4. Одновременный процесс нахождения рамок и классификации в алгоритме YOLOv3.

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

2.3. Создание программы идентификации человека и других препятствий.

Для написания алгоритма будет использован язык программирования Python и обученная модель нейросети YOLOv3.

1) Подготовка: зададим класс входным данным, укажем, что будем использовать обученную модель "YOLOv3", укажем путь к загруженной модели, загрузим модель по пути указанному выше

2) Выполняем задачу обнаружения объекта:

параметр minimum_percentage_probability используется для определения целостности результатов обнаружения. Уменьшение значения показывает больше объектов, увеличение значения гарантирует обнаружение объектов с максимальной точностью. Для данной работы было подобрано оптимальное значение - 30.

3) Выводим нужную нам информацию об обнаруженных объектах.

4) Получаем код программы, представленный на листинге 1. Листинг 1 - Итоговая программа распознавания людей и прочих

подвижных препятствий

from imageai.Detection import ObjectDetection detector = ObjectDetection() detector. setModelTypeAsYOLOv3() detector. setModelPath("yolov3.pt") detector.loadModel()

detections = detector.detectObjectsFromImage(input_image=" 123.jpg", output_image_path="imagenew.jpg", minimum_percentage_probability=30, display_percentage_probability=False)

for eachObject in detections:

print(eachObject["name"] , " : ", eachObject["percentage_probability"], " : ", eachObject["box_points"] )

print("................................")

3. Результаты и обсуждения.

В программу загружаем исходное изображение №1 (рис.5), на котором изображены стойки регистрации в аэропорту.

Рис. 5. Исходное изображение №1.

В результате работы программы получаем обработанное изображение с выделенными найденными объектами (рис. 6).

Рис. 6. Результат обработки изображения №1.

Так же получаем информацию по найденным объектам в виде массива данных: тип объекта, точность распознания, координаты объекта (Листинг 2).

Листинг 2 - Пример информации по обнаруженным объектам на изображении №1.

person : 100.0 : [608, 190, 720, 493]

Как видно из результатов обработки изображения, программа достаточно точно определяет людей и другие препятствия на пути робота. Попробуем другое изображение (рис. 7).

Рис. 7. Исходное изображение №2.

В результате работы программы так же получаем обработанное изображение с выделенными найденными объектами (рис. 8).

Рис. 8. Результат обработки изображения №2.

Так же получаем информацию по найденным объектам (листинг 3). Листинг 3 - Пример информации по обнаруженным объектам на изображении №2.

person : 99.99 : [1281, 521, 1469, 1067]

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

Заключение.

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

СПИСОК ЛИТЕРАТУРЫ:

1. Водолазский Д. Как свёрточные нейросети имитируют работу мозга, 2023г [Электронный ресурс]: https://practicum.yandex.ru/blog/svertochnye-neyronnye-seti;

2. Гонсалес P. С., Вудс Р. Е. Цифровая обработка изображений. 3-е, дополненное. М. : Техносфера, 2012;

3. Ли Д., «Улучшенное обучение глубоких сверточных нейронных сетей для сверхвысокого разрешения изображений», Материалы Международной конференции I E E E по семинарам по компьютерному зрению, стр. 383-391, Сантьяго, Чили, декабрь 2015 г;

4. Симонян К., Зиссерман А. Очень глубокие сверточные сети для крупномасштабного распознавания изображений // CoRR. абс/1409.1556, 2014;

5. Krizhevsky. А. Learning multiple layers of features from tiny images. Masters thesis, Computer Science Department, University of Toronto, 2009;

6. YOLO: Real-Time Object Detection [Электронный ресурс]. - Режим доступа: https://pjreddie.com/darknet/yolo (Дата обращения: 26.02.2024)

Kastarnaya T.M., Romanova-Bolshakova I.K.

Kastarnaya T.M.

Bauman Moscow State Technical University (Moscow, Russia)

Romanova-Bolshakova I.K.

Bauman Moscow State Technical University (Moscow, Russia)

DEVELOPMENT OF HUMAN RECOGNITION AND OTHER OBSTACLES IN WAY OF SMALL CARGO

AUTONOMOUS VEHICLE PROGRAM

Abstract: article describes the process of developing a program for recognizing obstacles in the path of an autonomous mobile robot. The purpose of the work is to describe an algorithm for recognizing obstructing objects by a mobile robot in an airport environment. This algorithm, based on the principles of technical vision, uses the mechanism of convolutional neural networks to identify a person and other obstacles and is focused on working in conditions of a large number ofpeople.

Keywords: autonomous system, mobile robots, computer vision, convolutional networks, neural networks.

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