Компьютерное зрение – область искусственного интеллекта, которая занимается созданием систем, позволяющих анализировать визуальную информацию.
Задача компьютерного зрения — не только идентифицировать отдельные объекты, присутствующие на картинке или видеоизображении, но и выделять их характеристики, например, поведение найденного объекта.
По данным Всемирной организации здравоохранения (ВОЗ), ежегодно в результате дорожно-транспортных происшествий из-за превышения скорости погибает около 1,19 миллиона человек. Кроме того, еще от 20 до 50 миллионов получают несмертельные травмы, многие из которых приводят к инвалидности. Важность безопасности дорожного движения невозможно переоценить, особенно когда оценка скорости помогает предотвратить аварии, спасает жизни и сохраняет наши дороги безопасными и эффективными [1].
Оценка скорости - это процесс вычисления скорости движения объекта в заданном контексте, который часто используется в приложениях компьютерного зрения. С помощью нейронной сети YOLO можно рассчитать скорость объекта, используя отслеживание объекта наряду с данными о расстоянии и времени, что очень важно для таких задач, как движение и наблюдение. Точность оценки скорости напрямую влияет на эффективность и надежность различных приложений, что делает её ключевым компонентом в развитии интеллектуальных систем и процессов принятия решений в реальном времени [2].
Оценка скорости объекта состоит из двух задач, а именно – распознавания объектов и отслеживания объектов.
Распознавание объектов − это метод компьютерного зрения для идентификации объектов на изображениях или видео. Трекинг − определение местоположения объекта (нескольких объектов) во времени. В работе алгоритмы отслеживания разделены на четыре основные категории: отслеживание областей, отслеживание по активному контуру, отслеживание по характерным признакам, отслеживание по модели [3].
Цель данной работы заключается в построении системы для оценки скорости движения объектов с помощью модели нейронной сети YOLO и алгоритма трекинга BotSort.
В данный момент насчитывается не так много публикаций по этой теме. В статье «Maritime Search and Rescue Missions with Aerial Images: A Survey», которая опубликована 13 ноября 2024 года, представлен всесторонний анализ современного состояния методик обнаружения людей в море по аэроснимкам с особым акцентом на операции SAR [4]. В данной статье идёт сравнение современных методов трекинга и обнаружения объектов. Однако в данной статье используются лишь статичные изображения для обнаружения живых объектов. Также в публикации использовались для сравнения не самые новые технологии и модели.
В публикации «Evaluating the Evolution of YOLO (You Only Look Once) Models: A Comprehensive Benchmark Study of YOLO11 and Its Predecessors», которая опубликована 31 октября 2024 года, описаны архитектуры нейронной модели для распознавания YOLO [5]. Автор подробно описывает различие архитектур разных версий, а также проблемы в этих структурах, однако в данной публикации не показывает результат работы своего использования модели YOLO. Также автор не упоминает новые функции, которые появляются в новых версиях модели YOLO.
В публикации «YOLOV11: AN OVERVIEW OF THE KEY ARCHITECTURAL ENHANCEMENTS», которая написана 24 октября 2024 года, проводится краткое описание новейшей модели YOLO [6]. В данной работе лишь словесно описывается изменение структуры новой версии. Автор не указывает, как можно использовать данную версию модели, а также не показывает результат использования модели на личном примере.
Следовательно, существующие публикации недостаточно описывают функции и алгоритмы работы современных моделей и методов трекинга для распознавания объектов и оценке динамики.
Стоит отметить и преимущества оценки скорости движения с помощью модели YOLO11. Можно выделить некоторые задачи, которые поможет решить знание скорости движения объектов:
1. Эффективное управление дорожным движением: точная оценка скорости помогает управлять транспортным потоком, повышает безопасность и уменьшает заторы на дорогах.
2. Точная автономная навигация: в автономных системах, таких как самоуправляемые автомобили, надежная оценка скорости обеспечивает безопасную и точную навигацию транспортного средства.
3. Повышенная безопасность наблюдения: оценка скорости в аналитике наблюдения помогает выявить необычное поведение или потенциальные угрозы, повышая эффективность мер безопасности. Например, с помощью оценки скорости можно отслеживать резкое движение учащихся в классе для повышения дисциплины.
Данное направление является очень перспективным, так как может улучшить возможности дистанционного наблюдения и автоматического анализа динамики объектов.
Разработчики модели постоянно улучшают функции модели и добавляют новые для решения возникающих проблем в компьютерном зрении.
Ultralytics YOLO11 — это передовая, современная модель, которая развивает успех предыдущих версий YOLO и представляет новые функции и усовершенствования для дальнейшего повышения производительности и гибкости. YOLO11 отличается высокой скоростью, точностью и простотой использования, что делает её отличным выбором для широкого спектра задач по обнаружению и отслеживанию объектов, сегментации объектов, классификации изображений и оценке позы, а также ориентированное обнаружение объектов.
Оценка позы — это задача, которая заключается в определении местоположения определённых точек на изображении, обычно называемых ключевыми точками. Ключевые точки могут представлять собой различные части объекта, такие как суставы, ориентиры или другие отличительные особенности. Расположение ключевых точек обычно представляется в виде набора двумерных [x, y] или трехмерных [x, y, visible] координат [7].
Ориентированное обнаружение объектов идёт на шаг дальше, чем обнаружение объектов, и вводит дополнительный угол для более точного определения местоположения объектов на изображении. Результатом работы ориентированного обнаружения объектов является набор повёрнутых ограничительных рамок, которые точно охватывают объекты на изображении, а также метки классов и баллы доверия для каждой рамки. Обнаружение объектов - хороший выбор, когда вам нужно определить интересующие вас объекты в сцене, но не нужно точно знать, где находится объект или его точную форму.
Архитектура YOLO11 похожа на архитектуру YOLO8, но с некоторыми различиями:
Такая архитектура позволяет YOLO11 эффективно работать на системах высокого класса и краевых устройствах, например мобильных телефонах. Также существует возможность выбрать свой вариант трекера. На данный момент присутствует поддержка алгоритмов трекинга BoT-SORT и ByteTrack. Подробная схема архитектуры нейронной модели YOLO11 показана на рисунке 1.
На рисунке 2 представлена краткая схема работы алгоритма модели YOLO.
Краткое опишем алгоритм работы YOLO. Перед началом обучения нейронной сети картинке изменяют размер на 416x416, чтобы её можно было эффективно делить на разные размеры для ускорения обучения.
Картинку делят на клетки размером AxA. Каждая клетка является «якорем», к которому прикрепляется ограничивающая рамка. То есть вокруг клетки рисуются несколько прямоугольников для определения объекта, их позиции, ширина и высота вычисляются относительно центра этой клетки. Картинка из датасета прогоняется через нейронную сеть. Задача YOLO − максимально точно предсказать параметры, чтобы максимально точно определять объект на картинке. Определяется балл доверия (confidence score) для каждой предсказанной ограничивающей рамки, который является фильтром для того, чтобы отсеять совсем неточные предсказания.
Используется техника не-максимального подавления (non-max suppression), чтобы отфильтровать ограничивающие рамки таким образом, чтобы для одного объекта была только одна предсказанная ограничивающая рамка.
В последнее время в ряде исследований отказались от информации о внешности и стали полагаться только на модели движения. Большинство современных алгоритмов отслеживания и обнаружения основаны на моделях движения. В последнее время для моделирования движения объекта чаще всего используется знаменитый фильтр Калмана с предположением о модели постоянной скорости.
Различие и повторная идентификация (ReID) объектов по глубоким признакам внешнего вида также стала популярной, но во многих случаях оказывается неэффективной, особенно в многолюдных сценах, из-за частичной окклюзии людей. Отдельные трекеры на основе внешнего вида обрезают блоки обнаружения кадров и извлекают глубокие признаки внешнего вида с помощью дополнительной глубокой нейронной сети. Они обладают передовыми методами обучения, но требуют больших вычислительных затрат. Недавно было предложено несколько совместных трекеров, которые совместно обучают обнаружению и некоторым другим компонентам, например, моделям движения, встраивания и ассоциации. Основным преимуществом этих трекеров является низкая вычислительная стоимость и сопоставимая производительность. В последнее время в ряде исследований отказались от информации о внешности и стали использовать только высокопроизводительные детекторы и информацию о движении, что позволило добиться высокой скорости работы и самой современной производительности. В частности, ByteTrack, который использует ячейки обнаружения с низкой оценкой, сопоставляя обнаружения с высокой степенью уверенности, а затем ещё одно объединение с обнаружениями с низкой степенью уверенности. Рисунок работы трекера BotSort представлен на рисунке 3.
Данный метод и его компоненты могут быть легко интегрированы в другие трекеры для отслеживания-обнаружения.
Обучение модели глубокого обучения заключается в подаче ей данных и настройке её параметров таким образом, чтобы она могла делать точные прогнозы.
Для каждой эпохи он показывает сводку по фазам обучения и проверки: строки 1 и 2 показывают результаты фазы обучения, а строки 3 и 4 - результаты фазы проверки для каждой эпохи.
Этап обучения включает в себя расчёт количества ошибок в функции потерь, поэтому наиболее ценными метриками здесь являются box_loss и cls_loss, box_loss показывает количество ошибок в обнаруженных ограничительных коробках. cls_loss показывает количество ошибок в обнаруженных классах объектов.
Наиболее ценной метрикой качества является mAP50-95, т. е. средняя точность (Mean Average Precision).
Если модель обучается и совершенствуется, точность должна расти от эпохи к эпохе. На предыдущем скриншоте можно увидеть, что она медленно растёт: 0,788, 0,788, 0,791.
Для экспериментов была создана тестовая программа для распознавания, трекинга, оценки скорости объектов с помощью YOLOv11 и BotSort. Функциональная схема программы показана на рисунке 5.
Тестирование проводилось на следующей технической конфигурации:
При тестировании была поставлена линия, которая служит областью для подсчёта скорости. Линия необходима для существенного уменьшения нагрузки на процессор. Модель будет подсчитывать, и показывать скорость объекта при её пересечении. Количество линий может быть любое. При необходимости существует возможность показывать одновременно класс и скорость на одном объекте.
Результат экспериментов по оценке скорости движения представлен на рисунках 6 и 7.
Распознавание и оценка первого результата заняли 31 миллисекунду при использовании GPU и YOLO11, что на 50% быстрее, чем с помощью YOLO8.
Распознавание и оценка второго результата заняли 15,6 миллисекунд при использовании GPU.
На рисунке 6 показана машина, которая проехала линию со скоростью 22 км в час. объекты двигались горизонтально изображению. Видео работало на частоте 30 кадров в секунду. Если сравнить с оригинальным видео, то это точный результат
Из опытов можно сделать вывод, что слишком высокая частота кадров и неправильная постановка камеры в видео приводит к менее точному результату.
По результату видно, что модель запомнила объекты конкретного класса и поставила им номер на первом кадре видеопотока. Затем на втором кадре видеопотока модель показала все объекты, которые она запомнила.
Достоинства новой версии модели YOLO для оценки скорости:
Недостатки модели:
По результату тестирования можно сделать вывод, что модель YOLO с алгоритмом BotSort хорошо справляется с задачей оценки скорости движения объектов, однако всё ещё требует доработки.
В данной работе был проведён анализ системы оценки скорости движения и трекинга с помощью модели YOLO11 и BotSort. Были описаны архитектуры работы модели YOLO11 и алгоритма трекинга BotSort. Описаны новые технические возможности новой версии YOLO. Показано как работает обучение в модели.
С помощью созданной тестовой программы проведены опыты с разными видеоизображениями при различных условиях. Исследование проводилось на примере движения автомобиля и движении двух людей.
Модель показала себя достойно при оценке скорости движения разных объектов. Скорость обнаружения новой модели версия 11 модели YOLO стала гораздо быстрее, чем предыдущие её версии. Однако алгоритм трекинга Bot-Sort ещё требует доработки.