Решение задачи night object detection на основе применения фреймворка PyTorch и архитектуры YOLOv5

Бесплатный доступ

Распознавание объектов в сложных ночных условиях представляет собой сложную задачу, решение которой необходимо для создания эффективных систем видеонаблюдения, автомобильных технологий и робототехники. В статье рассматривается подход к решению этой задачи на основе использования фреймворка 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
Статья научная