Решение задачи night object detection на основе применения фреймворка PyTorch и архитектуры YOLOv5
Автор: Форер А.Л.
Журнал: Международный журнал гуманитарных и естественных наук @intjournal
Рубрика: Технические науки
Статья в выпуске: 12-3 (99), 2024 года.
Бесплатный доступ
Распознавание объектов в сложных ночных условиях представляет собой сложную задачу, решение которой необходимо для создания эффективных систем видеонаблюдения, автомобильных технологий и робототехники. В статье рассматривается подход к решению этой задачи на основе использования фреймворка PyTorch и архитектуры YOLOv5. Проведен обзор актуальных методов, описаны этапы подготовки данных, настройки модели и оптимизации обучения. Представлены результаты экспериментов, демонстрирующие эффективность подхода в условиях низкой освещенности. Материалы статьи могут быть полезны разработчикам, исследователям и специалистам в области компьютерного зрения для повышения точности детекции объектов в сложных условиях.
Детекция, тепловизионное зрение, распознавание объектов
Короткий адрес: https://sciup.org/170208568
IDR: 170208568 | DOI: 10.24412/2500-1000-2024-12-3-229-232
Solving the night object detection problem based on the PyTorch framework and YOLOv5architecture
Object recognition in difficult night conditions is a complex task, the solution of which is necessary to create effective video surveillance systems, automotive technologies and robotics. The article discusses an approach to solving this problem based on the use of the Pitch framework and the YOLOv5 architecture. An overview of current methods provided, and the stages of data preparation, model setup, and learning optimization described. Experimental results demonstrating the effectiveness of the approach in low-light conditions presented. The materials of the article can be useful to developers, researchers and specialists in the field of computer vision to improve the accuracy of object detection in difficult conditions.
Текст научной статьи Решение задачи night object detection на основе применения фреймворка PyTorch и архитектуры YOLOv5
Задача Night Object Detection (детекция объектов в ночное время) заключается в автоматическом обнаружении и распознавании объектов на изображениях или видеопотоке, полученных в условиях низкой или недостаточной освещенности. Основная сложность задачи связана с ухудшением качества визуальных данных: низкий уровень освещенности, шум, блики, слабый контраст и потеря деталей объектов [1]. Эта задача актуальна для множества областей, включая повышение эффективности систем видеонаблюдения, безопасность автономных транспортных средств, военные и спасательные операции, а также робототехнику. Решение этой проблемы способствует улучшению надежности и точности технологий, работающих в ночное время, что особенно важно для предотвращения аварий и обеспечения безопасности.
Для решения задачи Night Object Detection используются различные инструменты и подходы, включая TensorFlow, OpenCV, специализированные модели, такие как Faster R-CNN или RetinaNet, и библиотеки обработки изображений [2]. Однако наиболее актуальным и эффективным решением является связка PyTorch и YOLOv5. PyTorch предоставляет гибкий и удобный интерфейс для создания и обучения нейронных сетей, поддерживает динамическое вычисление графов и интеграцию с современными GPU. YOLOv5, в свою очередь, является одной из лучших моделей для детекции объектов, сочетая высокую скорость обработки с точностью [3]. Эта связка позволяет быстро разрабатывать и оптимизировать модели, способные справляться с вызовами низкой освещенности, делая PyTorch и YOLOv5 оптимальным выбором для данной задачи.
Автором выделяются следующие этапы подготовки данных, настройки модели и оптимизации обучения с использованием PyTorch и YOLOv5:
-
1. Сбор и подготовка данных. Для решения задачи Night Object Detection необходимо собрать датасет, включающий изображения, снятые в ночное время, или кадры с тепловизоров [4]. Примером может стать FLIR Thermal Images Dataset, включающий 14 452 тепловых изображений в формате gray 8 и gray 16. Данные должны быть размечены с использованием форматов, поддерживаемых YOLOv5 (например, COCO). Рекомендуется выполнить предварительную обработку, включая устранение шума, улучшение контраста и аугментацию изображений (отражение, повороты, масштабирование), чтобы повысить устойчивость модели к различным условиям (рис. 1).
Оригинал Маркированный вручную
Рис. 1. Пример теплового изображения в оттенках серого (слева) и теплового изображения в оттенках серого с ручной разметкой ограничивающими прямоугольниками (справа)
-
2. Настройка модели YOLOv5. Выбор модели (YOLOv5s, YOLOv5m, YOLOv5l или YOLOv5x) осуществляется в зависимости от вычислительных ресурсов и требуемого баланса между скоростью и точностью. В конфигурационных файлах задаются параметры модели, такие как количество классов и размеры якорей (anchors) [5]. Также важно адаптировать гиперпараметры, включая размеры входных изображений, начальную скорость обучения и количество эпох.
-
3. Обучение модели. Используя PyTorch, модель обучается на подготовленном датасе-те. Процесс включает настройку оптимизатора (например, Adam или SGD), выбор функ-
- ции потерь (например, комбинация BCE и IoU), а также использование встроенных возможностей YOLOv5, таких как автоматическая настройка learning rate и логирование метрик с помощью инструментов вроде TensorBoard [6]. На рисунке 2 представлен пример результата работы обученной модели. Исходные изображения (слева), изображения с ручной разметкой (в центре) и прогнозируемые изображения (справа). Изображения с ручной разметкой (в центре) и прогнозируемые изображения YOLOv5 (справа) показывают обнаружение объектов 3 из 4 заданных классов: car (розовый), person (желтый) и bicycle (красный).
-
4. Оптимизация и дообучение. После первоначального обучения проводится оценка модели на валидационном наборе данных.
-
5. Тестирование и внедрение. Обученную модель тестируют на реальных данных, оценивая показатели точности (Precision, Recall, mAP) и производительности. После успешно-
- го тестирования модель интегрируется в систему видеонаблюдения или другое целевое приложение. По результатам обуения следует провести итоговое тестирование модели и оценку точности результатов. На рисунке 3 показаны результаты тестирования при решении задачи посредством PyTorch и YOLOv5.
Original Hand-labeled Predicted
Рис. 2. Пример результата работы обученной модели
Для повышения точности можно дообучать модель с использованием стратегий finetuning или transfer learning. Регуляризация, такие как Dropout или увеличенный объем данных, помогает предотвратить переобучение.
Рис. 3. Результаты тестирования и оценки точности
Целью представленной статьи являлось изучение подхода к решению задачи Night Object Detection на основе использования PyTorch и YOLOv5. В ходе работы проведен обзор актуальных методов, применяемых для детекции объектов в условиях низкой освещенности. Описаны этапы подготовки данных, настройки модели и оптимизации обучения, обеспечивающие максимальную эффек- тивность. Представлены результаты экспериментов подтверждают высокую точность и производительность модели при работе с ночными изображениями. Материалы статьи подчеркивают актуальность задачи и демонстрируют необходимость использования связки PyTorch и YOLOv5 как одного из наиболее результативных решений для Night Object Detection.
Список литературы Решение задачи night object detection на основе применения фреймворка PyTorch и архитектуры YOLOv5
- Истратова Е.Е., Достовалов Д.Н., Бухамер Е.А. Разработка интеллектуальной системы для распознавания лиц на основе нейронных сетей // International Journal of Open Information Technologies. - 2021. - №4. - С. 41-45. EDN: DBDHXK
- Павлов М.П. Сравнение моделей yolov5 для задачи детекции радужной форели в видеопотоке // SAF. - 2022. - №4. - С. 35-40. EDN: LOZMND
- Yklassova S.Y., Kenzhebayeva Z.Y. Neural networks and algorithms for detecting real-time objects in practice // In the World of Science and Education. - 2024. - №20. - С. 117-125.
- Примкулов О.Д., Тожиев М.Р., Хасанов Д.Р. Компьютерное зрение как средство извлечения информации из видеоряда // Academic research in educational sciences. - 2021. - №9. - С. 582-585.
- Abdulhamid M., Olalo A. Implementation of moving object tracker system // Журнал СФУ. Техника и технологии. - 2021. - №8. - С. 986-995. EDN: SPGTRR
- Тимошкин М.С., Миронов А.Н., Леонтьев А.С. Сравнение YOLO v5 и Faster R-CNN для обнаружения людей на изображении в потоковом режиме // МНИЖ. - 2022. - №6-1 (120). - С. 137-146. EDN: ZFRRZQ