Решение задачи 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
Текст научной статьи Решение задачи 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