Оценка скорости с использованием Ultralytics YOLO11 🚀
Что такое оценка скорости?
Оценка скорости - это процесс вычисления скорости движения объекта в заданном контексте, часто используемый в приложениях компьютерного зрения. Используя Ultralytics YOLO11, теперь вы можете вычислять скорость объектов, используя отслеживание объектов наряду с данными о расстоянии и времени, что имеет решающее значение для таких задач, как мониторинг дорожного движения и наблюдение. Точность оценки скорости напрямую влияет на эффективность и надежность различных приложений, что делает ее ключевым компонентом в развитии интеллектуальных систем и процессов принятия решений в реальном времени.
Смотреть: Оценка скорости с использованием Ultralytics YOLO11
Посмотрите наш блог
Для более глубокого понимания оценки скорости, ознакомьтесь с нашей статьей в блоге: Ultralytics YOLO11 для оценки скорости в проектах компьютерного зрения
Преимущества оценки скорости
- Эффективное управление дорожным движением: Точная оценка скорости помогает в управлении транспортным потоком, повышении безопасности и снижении заторов на дорогах.
- Точная автономная навигация: В автономных системах, таких как самоуправляемые автомобили, надежная оценка скорости обеспечивает безопасную и точную навигацию транспортного средства.
- Улучшенная безопасность наблюдения: Оценка скорости в аналитике наблюдения помогает выявлять необычное поведение или потенциальные угрозы, повышая эффективность мер безопасности.
Приложения в реальном мире
Транспорт | Транспорт |
---|---|
![]() |
![]() |
Оценка скорости на дороге с использованием Ultralytics YOLO11 | Оценка скорости на мосту с использованием Ultralytics YOLO11 |
Скорость является оценочной
Скорость будет оценочной и может быть не совсем точной. Кроме того, оценка может варьироваться в зависимости от спецификаций камеры и связанных с этим факторов.
Оценка скорости с использованием Ultralytics YOLO
# Run a speed example
yolo solutions speed show=True
# Pass a source video
yolo solutions speed source="path/to/video.mp4"
# Adjust meter per pixel value based on camera configuration
yolo solutions speed meter_per_pixel=0.05
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))
# Initialize speed estimation object
speedestimator = solutions.SpeedEstimator(
show=True, # display the output
model="yolo11n.pt", # path to the YOLO11 model file.
fps=fps, # adjust speed based on frame per second
# max_speed=120, # cap speed to a max value (km/h) to avoid outliers
# max_hist=5, # minimum frames object tracked before computing speed
# meter_per_pixel=0.05, # highly depends on the camera configuration
# 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. |
fps |
float |
30.0 |
Количество кадров в секунду, используемое для расчетов скорости. |
max_hist |
int |
5 |
Максимальное количество исторических точек для отслеживания каждого объекта для вычисления скорости/направления. |
meter_per_pixel |
float |
0.05 |
Коэффициент масштабирования, используемый для преобразования расстояния в пикселях в физические единицы. |
max_speed |
int |
120 |
Максимальное ограничение скорости в визуальных наложениях (используется в оповещениях). |
Параметр SpeedEstimator
Решение позволяет использовать track
параметры:
Аргумент | Тип | По умолчанию | Описание |
---|---|---|---|
tracker |
str |
'botsort.yaml' |
Указывает алгоритм отслеживания, например, bytetrack.yaml или botsort.yaml . |
conf |
float |
0.3 |
Устанавливает порог уверенности для обнаружений; более низкие значения позволяют отслеживать больше объектов, но могут включать ложные срабатывания. |
iou |
float |
0.5 |
Устанавливает порог Intersection over Union (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 , ширина линии автоматически регулируется в зависимости от размера изображения. Обеспечивает визуальную настройку для большей четкости. |
show_conf |
bool |
True |
Отображает оценку достоверности для каждого обнаружения рядом с меткой. Дает представление об уверенности модели для каждого обнаружения. |
show_labels |
bool |
True |
Отображает метки для каждого обнаружения в визуальном выводе. Обеспечивает немедленное понимание обнаруженных объектов. |
Часто задаваемые вопросы
Как оценить скорость объекта с помощью 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(
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 с другими AI фреймворками, такими как TensorFlow или PyTorch?
Да, YOLO11 можно интегрировать с другими AI-фреймворками, такими как TensorFlow и PyTorch. Ultralytics обеспечивает поддержку экспорта моделей YOLO11 в различные форматы, такие как ONNX, TensorRT и CoreML, обеспечивая плавную совместимость с другими ML-фреймворками.
Чтобы экспортировать модель YOLO11 в формат ONNX:
yolo export model=yolo11n.pt format=onnx
Узнайте больше об экспорте моделей в нашем руководстве по экспорту.
Насколько точна оценка скорости с использованием Ultralytics YOLO11?
Точность оценки скорости с использованием Ultralytics YOLO11 зависит от нескольких факторов, включая качество отслеживания объектов, разрешение и частоту кадров видео, а также переменные окружающей среды. Хотя средство оценки скорости предоставляет надежные оценки, оно может быть не на 100% точным из-за различий в скорости обработки кадров и окклюзии объектов.
Примечание: Всегда учитывайте погрешность и, по возможности, проверяйте оценки с помощью достоверных данных.
Дополнительные советы по повышению точности см. в разделе Аргументы SpeedEstimator
разделе.