Перейти к содержанию

Оценка скорости с помощью Ultralytics YOLO11 🚀

Что такое оценка скорости?

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



Смотреть: Оценка скорости с помощью Ultralytics YOLO11

Загляните в наш блог

Для более глубокого понимания оценки скорости ознакомьтесь с нашей статьей в блоге: Ultralytics YOLO11 для оценки скорости в проектах компьютерного зрения.

Преимущества оценки скорости

  • Эффективное управление дорожным движением: Точная оценка скорости помогает управлять транспортным потоком, повышает безопасность и уменьшает заторы на дорогах.
  • Точная автономная навигация: В автономных системах, таких как самоуправляемые автомобили, надежная оценка скорости обеспечивает безопасную и точную навигацию транспортного средства.
  • Повышенная безопасность наблюдения: Оценка скорости в аналитике наблюдения помогает выявить необычное поведение или потенциальные угрозы, повышая эффективность мер безопасности.

Применение в реальном мире

Транспорт Транспорт
Оценка скорости на дороге с помощью Ultralytics YOLO11 Оценка скорости на мосту с помощью Ultralytics YOLO11
Оценка скорости на дороге с помощью Ultralytics YOLO11 Оценка скорости на мосту с помощью Ultralytics YOLO11
Скорость - это оценка

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

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

# Run a speed example
yolo solutions speed show=True

# Pass a source video
yolo solutions speed source="path/to/video.mp4"

# Pass region coordinates
yolo solutions speed region="[(20, 400), (1080, 400), (1080, 360), (20, 360)]"
import cv2

from ultralytics import solutions

cap = cv2.VideoCapture("path/to/video.mp4")
assert cap.isOpened(), "Error reading video file"

# Video writer
w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS))
video_writer = cv2.VideoWriter("speed_management.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))

# speed region points
speed_region = [(20, 400), (1080, 400), (1080, 360), (20, 360)]

# Initialize speed estimation object
speedestimator = solutions.SpeedEstimator(
    show=True,  # display the output
    model="yolo11n.pt",  # path to the YOLO11 model file.
    region=speed_region,  # pass region points
    # classes=[0, 2],  # estimate speed of specific classes.
    # line_width=2,  # adjust the line width for bounding boxes
)

# Process video
while cap.isOpened():
    success, im0 = cap.read()

    if not success:
        print("Video frame is empty or processing is complete.")
        break

    results = speedestimator(im0)

    # print(results)  # access the output

    video_writer.write(results.plot_im)  # write the processed frame.

cap.release()
video_writer.release()
cv2.destroyAllWindows()  # destroy all opened windows

SpeedEstimator Аргументы

Вот таблица с данными SpeedEstimator аргументы:

Аргумент Тип По умолчанию Описание
model str None Путь к файлу модели Ultralytics YOLO .
region list [(20, 400), (1260, 400)] Список точек, определяющих область подсчета.

Сайт SpeedEstimator решение позволяет использовать track параметры:

Аргумент Тип По умолчанию Описание
tracker str 'botsort.yaml' Указывает используемый алгоритм отслеживания, например, bytetrack.yaml или botsort.yaml.
conf float 0.3 Устанавливает порог доверия для обнаружений; более низкие значения позволяют отслеживать больше объектов, но могут включать ложные срабатывания.
iou float 0.5 Устанавливает порог пересечения над объединением (IoU) для фильтрации перекрывающихся обнаружений.
classes list None Фильтрует результаты по индексу класса. Например, classes=[0, 2, 3] отслеживает только указанные классы.
verbose bool True Управляет отображением результатов отслеживания, обеспечивая визуальный вывод отслеживаемых объектов.
device str None Указывает устройство для вывода (например, cpu, cuda:0 или 0). Позволяет пользователям выбирать между CPU, конкретным GPU или другими вычислительными устройствами для выполнения модели.

Кроме того, поддерживаются следующие варианты визуализации:

Аргумент Тип По умолчанию Описание
show bool False Если Trueотображает аннотированные изображения или видео в окне. Полезно для немедленной визуальной обратной связи во время разработки или тестирования.
line_width None or int None Определяет ширину линии ограничительных рамок. Если NoneШирина линии автоматически регулируется в зависимости от размера изображения. Обеспечивает визуальную настройку для наглядности.

ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫ

Как оценить скорость объекта с помощью Ultralytics YOLO11 ?

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

Пример:

import cv2

from ultralytics import solutions

cap = cv2.VideoCapture("path/to/video.mp4")
w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS))
video_writer = cv2.VideoWriter("speed_estimation.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))

# Initialize SpeedEstimator
speedestimator = solutions.SpeedEstimator(
    region=[(0, 360), (1280, 360)],
    model="yolo11n.pt",
    show=True,
)

while cap.isOpened():
    success, im0 = cap.read()
    if not success:
        break
    results = speedestimator(im0)
    video_writer.write(results.plot_im)

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

Более подробную информацию можно найти в нашем официальном блоге.

Каковы преимущества использования Ultralytics YOLO11 для оценки скорости при управлении дорожным движением?

Использование Ultralytics YOLO11 для оценки скорости дает значительные преимущества в управлении дорожным движением:

  • Повышенная безопасность: Точная оценка скорости автомобиля для выявления превышения скорости и повышения безопасности дорожного движения.
  • Мониторинг в реальном времени: Воспользуйтесь функцией обнаружения объектов в режиме реального времени на сайте YOLO11 для эффективного мониторинга транспортных потоков и заторов.
  • Масштабируемость: Развертывание модели на различных аппаратных установках, от пограничных устройств до серверов, обеспечивает гибкие и масштабируемые решения для крупномасштабных внедрений.

Другие варианты применения см. в разделе "Преимущества оценки скорости".

Можно ли интегрировать YOLO11 с другими ИИ-фреймворками, такими как TensorFlow или PyTorch?

Да, YOLO11 можно интегрировать с другими AI-фреймворками, такими как TensorFlow и PyTorch. Ultralytics поддерживает экспорт моделей YOLO11 в различные форматы, такие как ONNX, TensorRTи CoreMLи CoreML, обеспечивая совместимость с другими ML-фреймворками.

Чтобы экспортировать модель YOLO11 в формат ONNX , выполните следующие действия:

yolo export --weights yolo11n.pt --include onnx

Узнайте больше об экспорте моделей в нашем руководстве по экспорту.

Насколько точна оценка скорости с помощью Ultralytics YOLO11 ?

Точность оценки скорости с помощью Ultralytics YOLO11 зависит от нескольких факторов, включая качество отслеживания объектов, разрешение и частоту кадров видео, а также переменные окружающей среды. Несмотря на то, что программа оценки скорости дает надежные оценки, она может быть не на 100% точной из-за различий в скорости обработки кадров и окклюзии объектов.

Примечание: Всегда учитывайте погрешность и, по возможности, проверяйте оценки с помощью наземных данных.

Дополнительные советы по улучшению точности можно найти в разделе Аргументы SpeedEstimator раздел.

📅 Создано 1 год назад ✏️ Обновлено 6 дней назад

Комментарии