Узнайте, как работает отслеживание объектов в компьютерном зрении. Узнайте, как использовать Ultralytics для идентификации и мониторинга объектов с уникальными идентификаторами для анализа в реальном времени.
Отслеживание объектов — это динамический процесс в компьютерном зрении (CV), который включает в себя идентификацию определенных объектов в видео и отслеживание их движения по последовательности кадров. В отличие от статического анализа изображений, который рассматривает каждый снимок отдельно, отслеживание вводит временное измерение. Это позволяет системам искусственного интеллекта (ИИ) присваивать уникальный идентификационный номер (ID) каждому обнаруженному объекту, например автомобилю, человеку или животному, и сохранять эту идентичность, когда объект движется, меняет ориентацию или временно скрывается из виду. Эта способность является краеугольным камнем передового понимания видео, позволяя машинам анализировать поведение, рассчитывать траектории и извлекать полезную информацию из необработанных видеоматериалов.
Современные системы отслеживания обычно используют парадигму «отслеживание по обнаружению». Этот рабочий процесс сочетает в себе мощные модели обнаружения со специализированными алгоритмами для сопоставления обнаружений во времени. Процесс обычно проходит в три основных этапа:
Хотя эти термины тесно связаны между собой, они выполняют разные функции в конвейере машинного обучения (ML).
Способность сохранять идентичность объектов позволяет создавать сложные приложения для вывода в реальном времени в различных отраслях.
Ultralytics внедрение высокопроизводительного отслеживания. track режим в библиотеке
автоматически обрабатывает обнаружение, прогнозирование движения и присвоение идентификаторов. В примере ниже показано, как использовать
Платформа Ultralytics совместимую модель YOLO26 для track в
видео.
from ultralytics import YOLO
# Load the official YOLO26n model (nano version for speed)
model = YOLO("yolo26n.pt")
# Track objects in a video file or webcam (source=0)
# 'show=True' displays the video with bounding boxes and unique IDs
results = model.track(source="https://ultralytics.com/images/bus.jpg", show=True)
# Access the unique tracking IDs from the results
if results[0].boxes.id is not None:
print(f"Detected Track IDs: {results[0].boxes.id.cpu().numpy()}")
Чтобы полностью понять экосистему отслеживания, полезно изучить сегментацию экземпляров, которая отслеживает точные контуры объекта на уровне пикселей, а не просто прямоугольник. Кроме того, задачи многообъектного отслеживания (MOT) часто включают широко используемые тесты, такие как MOTChallenge, для оценки того, насколько хорошо алгоритмы обрабатывают перегруженные сцены и окклюзии. Для развертывания в производственных средах разработчики часто используют такие инструменты, как NVIDIA или OpenCV для интеграции этих моделей в эффективные конвейеры.