Ultralytics YOLO27: Вступи в список ожидания.
Лицензия YOLO
Ultralytics YOLO

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

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

Абирами ВинаAbirami Vina6 мин. чтения
Узнай, как использовать модель Ultralytics YOLOv8 для оценки скорости в проектах компьютерного зрения. Попробуй сам с помощью простого примера кода.

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

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

Оценка скорости упрощает управление дорожным движением#

По данным Всемирной организации здравоохранения (WHO), ежегодно в дорожных авариях погибает около 1,16 миллиона человек, и превышение скорости — один из главных факторов. Еще 20–50 миллионов получают травмы, не приводящие к смерти, многие из которых становятся причиной инвалидности. Невозможно переоценить важность безопасности дорожного движения: оценка скорости помогает предотвращать аварии, спасать жизни и обеспечивать безопасность и эффективность дорожного движения.

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

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

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

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

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

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

Вот несколько примеров применения оценки скорости:

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

Пассажиры ждут на городском пешеходном переходе ночью под красным сигналом светофора для пешеходов

Рис. 2. Оценка скорости позволяет измерять скорость ходьбы человека.

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

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

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

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

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

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

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

pip install ultralytics

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

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

import cv2
from ultralytics import solutions

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

cap = cv2.VideoCapture("path/to/video/file.mp4")
assert cap.isOpened(), "Error reading video file"
w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS))

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

video_writer = cv2.VideoWriter("speed_estimation.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))

Шаг 5: Теперь можно инициализировать объект оценки скорости с помощью модели Ultralytics YOLOv8 и частоты кадров видео. Значение meter_per_pixel задаёт масштаб сцены в реальном мире, поэтому при необходимости настрой его под свою конфигурацию камеры.

speed_obj = solutions.SpeedEstimator(
    model="yolov8n.pt",
    fps=fps,
    meter_per_pixel=0.05,
    show=True,
)

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

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

while cap.isOpened():
    success, im0 = cap.read()
    if not success:
        print("Video frame is empty or video processing has been successfully completed.")
        break
    results = speed_obj(im0)
    video_writer.write(results.plot_im)

Шаг 7: В завершение освободим объекты захвата и записи видео и закроем все окна OpenCV.

cap.release()
video_writer.release()
cv2.destroyAllWindows()

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

python your_script_name.py

Сложности оценки скорости на основе компьютерного зрения#

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

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

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

Навстречу будущему на скорости#

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

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

Автор

Abirami Vina
Abirami Vina

Создатель контента · Ultralytics

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

Комментарии

Задай вопрос, поделись результатами или помоги кому-нибудь.

Изучи решения

Компьютерное зрение в спорте

Компьютерное зрение в спорте

Узнай, как Ultralytics YOLO обеспечивает компьютерное зрение в спорте: отслеживание игроков и мяча, аналитика результатов, полезные выводы для тренеров и реабилитация спортсменов.
Подробнее
Компьютерное зрение для аэросъёмки

Компьютерное зрение для аэросъёмки

Превращай снимки с дронов и аэрофотоснимки в полезные данные в реальном времени для сельского хозяйства, аквакультуры, охраны природы и геопространственного анализа с Ultralytics YOLO.
Подробнее
Компьютерное зрение в аэрокосмической отрасли

Компьютерное зрение в аэрокосмической отрасли

Применяй компьютерное зрение в аэрокосмической отрасли с Ultralytics YOLO: для осмотра самолётов, обнаружения посторонних предметов на взлётно-посадочных полосах, наземного обслуживания аэропортов и выявления дефектов композитных материалов.
Подробнее
Компьютерное зрение в сфере безопасности

Компьютерное зрение в сфере безопасности

Защити любой объект с помощью моделей Ultralytics YOLO. ИИ на базе компьютерного зрения обеспечивает мониторинг периметра, обнаружение угроз, распознавание номерных знаков и безопасность на рабочем месте.
Подробнее
Компьютерное зрение в робототехнике

Компьютерное зрение в робототехнике

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

Компьютерное зрение в логистике

Оптимизируй логистику с моделями Ultralytics YOLO. Визуальный AI обеспечивает проверку посылок, сортировку, отслеживание транспорта и мониторинг безопасности на складе в реальном времени.
Подробнее
Компьютерное зрение в розничной торговле

Компьютерное зрение в розничной торговле

Переосмысли розничную торговлю с моделями Ultralytics YOLO. Визуальный AI обеспечивает отслеживание запасов, мониторинг полок, управление очередями и более глубокое понимание поведения покупателей.
Подробнее
Компьютерное зрение в здравоохранении

Компьютерное зрение в здравоохранении

Создавай решения для здравоохранения с моделями Ultralytics YOLO. Визуальный AI в здравоохранении ускоряет медицинскую визуализацию, улучшает диагностику и мониторинг пациентов.
Подробнее
Компьютерное зрение в производстве

Компьютерное зрение в производстве

Оптимизируй производство с моделями Ultralytics YOLO. Компьютерное зрение на базе ИИ обеспечивает контроль качества, обнаружение дефектов, контроль использования СИЗ и автоматизацию сборочных линий.
Подробнее
Компьютерное зрение в автомобильной отрасли

Компьютерное зрение в автомобильной отрасли

Применяй компьютерное зрение в автомобильной отрасли с моделями Ultralytics YOLO. Компьютерное зрение на базе ИИ повышает безопасность дорожного движения, улучшает помощь водителю и автоматизацию автомобилей, делая дороги умнее.
Подробнее
Компьютерное зрение в сельском хозяйстве

Компьютерное зрение в сельском хозяйстве

Внедряй ИИ для компьютерного зрения в умное сельское хозяйство с моделями Ultralytics YOLO. Используй их для мониторинга посевов, отслеживания скота и точного земледелия, чтобы повысить урожайность и эффективность.
Подробнее

Давай вместе строить будущее ИИ!

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