Ultralytics YOLOv8 для оценки скорости в проектах компьютерного зрения

Абирами Вина

5 минут чтения

23 мая 2024 г.

Узнайте, как модель Ultralytics YOLOv8 может быть использована для оценки скорости в ваших проектах по компьютерному зрению. Попробуйте сами на простом примере кодирования.

Наверное, все мы видели дорожные знаки, ограничивающие скорость. Некоторые из нас, возможно, даже получали автоматическое уведомление о нарушении скоростного режима по почте или электронной почте. Системы управления дорожным движением с искусственным интеллектом (ИИ) могут автоматически отмечать нарушения скоростного режима благодаря компьютерному зрению. Видеозаписи, сделанные в режиме реального времени камерами на светофорах и на автомагистралях, используются для оценки скорости и повышения безопасности дорожного движения.

Оценка скорости не ограничивается безопасностью на шоссе. Она может использоваться в спорте, автономных транспортных средствах и различных других приложениях. В этой статье мы расскажем, как вы можете использовать модель Ultralytics YOLOv8 для оценки скорости в своих проектах по компьютерному зрению. Мы также шаг за шагом рассмотрим пример кодирования, чтобы вы могли попробовать это самостоятельно. Давайте начнем!

Оценка скорости облегчает управление дорожным движением

По данным Всемирной организации здравоохранения (ВОЗ), ежегодно в результате дорожно-транспортных происшествий из-за превышения скорости погибает около 1,19 миллиона человек. Кроме того, еще от 20 до 50 миллионов получают несмертельные травмы, многие из которых приводят к инвалидности. Важность безопасности дорожного движения невозможно переоценить, особенно когда оценка скорости помогает предотвратить аварии, спасает жизни и делает наши дороги безопасными и эффективными. 

Оценка скорости с помощью компьютерного зрения включает в себя обнаружение и отслеживание объектов в видеокадрах, чтобы вычислить, насколько быстро они движутся. Алгоритмы, подобные YOLOv8, могут идентифицировать и отслеживать объекты, такие как автомобили, в последовательных кадрах. Система измеряет расстояние, пройденное этими объектами, используя калиброванные камеры или опорные точки для определения реальных расстояний. Засекая время, которое требуется объектам для перемещения между двумя точками, система рассчитывает их скорость с помощью соотношения "расстояние - время".

__wf_reserved_inherit
Рис. 1. Оценка скорости с помощью модели Ultralytics YOLOv8

Системы оценки скорости, интегрированные в ИИ, не только ловят нарушителей, но и собирают данные для составления прогнозов о дорожном движении. Эти прогнозы могут помочь в решении таких задач управления дорожным движением, как оптимизация тайминга сигналов и распределение ресурсов. Данные о схемах движения и причинах заторов могут быть использованы для планирования новых дорог, чтобы уменьшить заторы.

Применение оценки скорости в других отраслях промышленности

Приложения для оценки скорости выходят за рамки мониторинга дорог. Она также может пригодиться для мониторинга спортивных результатов, помощи автономным транспортным средствам в определении скорости движущихся вокруг них объектов, выявления подозрительного поведения и т. д. Везде, где камера может быть использована для измерения скорости объекта, можно применить оценку скорости с помощью компьютерного зрения. 

Вот несколько примеров того, как используется оценка скорости:

  • Автономные автомобили Tesla используют оценку скорости на основе технического зрения, чтобы избежать столкновений.
  • Компьютерное зрение и оценка скорости будут использоваться на Олимпийских играх 2024 года для улучшения аналитики результатов в легкой атлетике.
  • Умные города изучают анализ походки пешеходов, чтобы контролировать скорость передвижения и повысить мобильность и безопасность в городе. Эти системы могут предупреждать водителей о присутствии пешеходов и предотвращать аварии.
  • Системы мониторинга поведения животных используют оценку скорости для отслеживания перемещения животных и обнаружения признаков дистресса или болезни.
__wf_reserved_inherit
Рис. 2. Оценка скорости позволяет измерить скорость ходьбы человека.

Преимущества оценки скорости с помощью компьютерного зрения

Системы оценки скорости на основе технического зрения вытесняют традиционные методы, основанные на использовании датчиков, благодаря своей повышенной точности, экономичности и гибкости. В отличие от систем, использующих дорогостоящие датчики, такие как LiDAR, компьютерное зрение использует стандартные камеры для мониторинга и анализа скорости в режиме реального времени. Решения на основе компьютерного зрения для оценки скорости могут быть легко интегрированы в существующую дорожную инфраструктуру. Кроме того, эти системы могут быть построены для выполнения ряда сложных задач, таких как идентификация типа транспортного средства и анализ схемы движения для улучшения общего транспортного потока и повышения безопасности.

Попробуйте сами: Оценка скорости с помощью YOLOv8

Теперь, когда мы имеем четкое представление об оценке скорости и ее применении, давайте рассмотрим, как можно интегрировать оценку скорости в проекты компьютерного зрения с помощью кода. Мы будем обнаруживать движущиеся автомобили и оценивать их скорость с помощью модели YOLOv8.

В этом примере используется видео с машинами на дороге, загруженное из Интернета. Вы можете использовать то же самое видео или любое другое подходящее видео. Модель YOLOv8 определяет центр каждого автомобиля и рассчитывает его скорость в зависимости от того, как быстро этот центр пересекает горизонтальную линию в кадре видео. 

__wf_reserved_inherit
Рис. 3. Входное видео с автомобилями на дороге

Прежде чем мы погрузимся в процесс, важно отметить, что в данном случае расчет расстояния является приблизительным и основан на евклидовом расстоянии. Калибровка камеры не учитывается, поэтому оценка скорости может быть не совсем точной. Кроме того, расчетная скорость может меняться в зависимости от скорости вашего GPU.

Шаг 1: Начнем с установки пакета Ultralytics. Откройте командную строку или терминал и выполните команду, показанную ниже.

 

Ознакомьтесь с нашим руководством по установке Ultralytics , в котором вы найдете пошаговые инструкции и лучшие практики по процессу установки. Если вы столкнулись с какими-либо проблемами при установке необходимых пакетов для YOLOv8, в нашем руководстве по общим проблемам вы найдете решения и полезные советы.

Шаг 2: Далее мы импортируем необходимые библиотеки. Библиотека OpenCV поможет нам справиться с обработкой видео.

Шаг 3: Затем мы можем загрузить модель YOLOv8 и получить имена классов, которые модель может обнаружить.

Ознакомьтесь со всеми поддерживаемыми нами моделями, чтобы понять, какая из них лучше всего подходит для вашего проекта.

Шаг 4: На этом шаге мы откроем входной видеофайл с помощью модуля OpenCV VideoCapture. Мы также извлечем из видео ширину, высоту и количество кадров в секунду (fps).

Шаг 5: Здесь мы инициализируем программу записи видео, чтобы сохранить наши окончательные результаты оценки скорости. Выходной видеофайл будет сохранен под именем "speed_estimation.avi".

‍Шаг6: Далее мы можем определить точки линии для оценки скорости. Для нашего входного видео эта линия будет расположена горизонтально в середине кадра. Не стесняйтесь играть со значениями, чтобы расположить линию в наиболее подходящих местах, в зависимости от вашего входного видео.

Шаг 7: Теперь мы можем инициализировать объект оценки скорости, используя заданные точки линии и имена классов.

Шаг 8: Ядро сценария обрабатывает видео кадр за кадром. Мы читаем каждый кадр, обнаруживаем и отслеживаем объекты. Скорость отслеживаемых объектов оценивается, и аннотированный кадр записывается в выходное видео.

Шаг 9: Наконец, мы освобождаем объекты захвата и записи видео и закрываем все окна OpenCV.

Шаг 10: Сохраните сценарий. Если вы работаете в терминале или командной строке, запустите сценарий с помощью следующей команды:

Если ваш код успешно выполнен, выходной видеофайл будет выглядеть следующим образом.

__wf_reserved_inherit
Рис. 4. Результат оценки скорости с помощью YOLOv8.


Проблемы оценки скорости на основе технического зрения

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

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

Кроме того, существует проблема конфиденциальности. Данные, собираемые этими системами, могут включать сведения о транспортном средстве человека, такие как марка, модель и номерной знак, которые собираются без его согласия. Некоторые современные HD-камеры могут даже захватывать изображения пассажиров, находящихся в автомобиле. Такой сбор данных может вызвать серьезные этические и юридические проблемы, которые необходимо решать с особой тщательностью.

Скорость в будущее

Использование модели Ultralytics YOLOv8 для оценки скорости обеспечивает гибкое и эффективное решение для многих задач. Несмотря на сложности, такие как точность в сложных условиях и решение вопросов конфиденциальности, преимущества многообразны. Оценка скорости с помощью компьютерного зрения более экономична, адаптивна и точна по сравнению со старыми способами. Она полезна в различных отраслях, таких как транспорт, спорт, видеонаблюдение и самоуправляемые автомобили. Учитывая все преимущества и сферы применения, эта технология должна стать ключевой частью будущих интеллектуальных систем.

Интересуетесь искусственным интеллектом? Присоединяйтесь к нашему сообществу! Ознакомьтесь с нашим репозиторием на GitHub, чтобы узнать больше о том, как мы используем ИИ для создания инновационных решений в различных отраслях, таких как здравоохранение и сельское хозяйство. Сотрудничайте, внедряйте инновации и учитесь вместе с нами! 🚀

Давайте вместе построим будущее
искусственного интеллекта!

Начните свое путешествие в будущее машинного обучения

Начните бесплатно
Ссылка копируется в буфер обмена