'
Научный журнал «Вестник науки»

Режим работы с 09:00 по 23:00

zhurnal@vestnik-nauki.com

Информационное письмо

  1. Главная
  2. Архив
  3. Вестник науки №5 (74) том 3
  4. Научная статья № 177

Просмотры  141 просмотров

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

  


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

  


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

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


1. Введение. Для современного человека путешествия не являются чем-то необычным и экзотическим. Ежедневно по всему миру совершаются сотни перелётов на близкие и дальние расстояния. Обойтись в дальней поездке без чемодана крайне тяжело. Хоть чемодан, это и удобный предмет, но в современных реалиях для известной всем конструкции требуется доработка. Увесистые чемоданы могут стать причиной различных проблем со здоровьем, особенно для детей и пожилых людей. Тяжёлый багаж раздражает и утомляет в поездках, что может так же отрицательно повлиять на отдых, и в дальнейшем на продуктивность человека в работе. Поэтому разработка малого грузового автономного транспортного средства для решения данных проблем имеет практическую значимость. Для данного робота иметь техническое зрение крайне важно, поскольку это позволяет ему взаимодействовать с окружающей средой. Техническое зрение позволит мобильному роботу распознавать препятствия, избегать столкновений с ними и самостоятельно перемещаться. Поэтому в данной работе будет разрабатываться система технического зрения и навигации в условиях аэропорта для малого грузового мобильного автономного робота. 2. Методы. Для написания алгоритма распознавания человека и других препятствий на пути робота нам потребуется изучить принципы работы сверточных нейронных сетей, провести обзор сети YOLOv3.2.1. Принцип работы сверточных нейронных сетей. Свёрточная нейронная сеть (CNN) — это алгоритм глубокого обучения, который может принимать входное изображение, присваивать важность (изучаемые веса и смещения) аспектам или объектам изображении и отличать одно от другого. [1] Свёрточные нейронные сети состоят из нескольких слоёв (рис.1). Чем больше слоёв, тем мощнее архитектура и лучше обучение нейросети. [5]Рис. 1. Пример структуры сверточной нейронной сети.1) Cвёрточная нейронная сеть «видит» изображение в особом представлении - в виде массивов числовых матриц. Во время свёртки (рис.2) нейросеть удаляет лишнее и оставляет то, что поможет дальнейшему анализу. Пусть дано изображение в формате матрицы чисел X и матрица фильтра W. Тогда операция свертки определяется выражением[2]:(1)Где Ws,t – это значение элемента ядра (фильтра) свертки в позиции (s,t), yi,j– значение пикселя выходного изображения, x((i-1)+s,(j-1)+t) - значение пикселя исходного изображения, K – размер ядра (фильтра) свертки.Рис. 2. Пример свертки изображения.2) Далее идет процесс субдискретизации[4]: из признаков, которые выделил свёрточный слой, выбирает самые важные, а несущественные удаляет. Пусть дано изображение в формате матрицы чисел X и установлено, что размеры окна субдискретизации – kxk. Тогда операция субдискретизации (рис.3) определяется выражением:(2)где yi,j – это значение пикселя выходного изображения, x(ik+s,jk+t) значение пикселя исходного изображения.Рис. 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 ObjectDetectiondetector = 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%.   


Полная версия статьи PDF

Номер журнала Вестник науки №5 (74) том 3

  


Ссылка для цитирования:

Кастарная Т.М., Романова-Большакова И.К. РАЗРАБОТКА ПРОГРАММЫ РАСПОЗНАВАНИЯ ЧЕЛОВЕКА И ДРУГИХ ПРЕПЯТСТВИЙ НА ПУТИ МАЛОГО ГРУЗОВОГО АВТОНОМНОГО ТРАНСПОРТНОГО СРЕДСТВА // Вестник науки №5 (74) том 3. С. 1113 - 1122. 2024 г. ISSN 2712-8849 // Электронный ресурс: https://www.вестник-науки.рф/article/14681 (дата обращения: 24.06.2025 г.)


Альтернативная ссылка латинскими символами: vestnik-nauki.com/article/14681



Нашли грубую ошибку (плагиат, фальсифицированные данные или иные нарушения научно-издательской этики) ?
- напишите письмо в редакцию журнала: zhurnal@vestnik-nauki.com


Вестник науки © 2024.    16+




* В выпусках журнала могут упоминаться организации (Meta, Facebook, Instagram) в отношении которых судом принято вступившее в законную силу решение о ликвидации или запрете деятельности по основаниям, предусмотренным Федеральным законом от 25 июля 2002 года № 114-ФЗ 'О противодействии экстремистской деятельности' (далее - Федеральный закон 'О противодействии экстремистской деятельности'), или об организации, включенной в опубликованный единый федеральный список организаций, в том числе иностранных и международных организаций, признанных в соответствии с законодательством Российской Федерации террористическими, без указания на то, что соответствующее общественное объединение или иная организация ликвидированы или их деятельность запрещена.