Оценка скорости с помощью 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 |
Устанавливает порог пересечения над объединением (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 с другими ИИ-фреймворками, такими как 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
раздел.