Point Tracking
Изучи основы отслеживания точек в компьютерном зрении. Узнай, как Ultralytics YOLO26 и передовые AI-модели отслеживают точное движение в робототехнике и VFX.
Отслеживание точек — это фундаментальная задача компьютерного зрения, которая заключается в оценке и отслеживании перемещения определённых локализованных точек (например, пикселей или отличительных признаков) в последовательных кадрах видеоряда с течением времени. В отличие от отслеживания объектов, которое отслеживает общее положение целых объектов с помощью ограничивающих рамок или масок сегментации, отслеживание точек работает на гораздо более детальном субпиксельном уровне. Выявляя и сохраняя соответствия между этими точными местоположениями, системы искусственного интеллекта (AI) могут выполнять сложные задачи понимания видео, требующие детального анализа движения.
Понимание отслеживания точек#
Точное отслеживание точек в динамической сцене — чрезвычайно сложная задача. Отслеживаемые точки часто подвергаются окклюзиям, когда объекты временно перекрывают поле зрения камеры, или могут полностью покидать её поле зрения. Кроме того, изменения освещения, смещения перспективы и быстрые движения могут кардинально изменить визуальный вид точки.
Исторически для решения этих задач использовались классические алгоритмы, такие как оптический поток Лукаса—Канаде. Однако современные подходы используют мощные архитектуры глубокого обучения. Недавние инновации крупных исследовательских организаций, такие как TAPIR от Google DeepMind (отслеживание любой точки с инициализацией и уточнением) и CoTracker3 от Meta AI, произвели революцию в этой области. В отличие от старых методов, отслеживавших точки независимо друг от друга, такие модели, как CoTracker3, используют Transformer для совместного отслеживания нескольких точек, учитывая физические зависимости между точками, принадлежащими одному объекту. Эти передовые модели также используют псевдоразметку на видео из реального мира, чтобы обучать высокоточные системы с существенно меньшими требованиями к объёму данных.
Отслеживание точек и связанные задачи#
Несмотря на тесную связь, отслеживание точек существенно отличается от других задач компьютерного зрения:
- Отслеживание объектов: Присваивает уникальные идентификаторы целым объектам (например, человеку или автомобилю) и отслеживает их. В значительной степени опирается на модели обнаружения объектов, такие как Ultralytics YOLO26.
- Оценка позы: Отслеживает определённые семантические ключевые точки (например, суставы человека), а не произвольные пиксели. Хотя эта задача схожа с отслеживанием точек, оценка позы требует семантического понимания структурной схемы объекта.
Практические применения#
Отслеживание точек играет ключевую роль в различных передовых приложениях:
- 3D-реконструкция и структура из движения (SfM): Отслеживая определённые признаки при разных углах съёмки или в разных кадрах видео, системы могут оценивать глубину и создавать точные 3D-реконструкции окружающей среды, что необходимо для картографирования в дополненной реальности (AR).
- Робототехника и автономная навигация: Автономные транспортные средства и роботы используют отслеживание точек (часто посредством визуальной одометрии), чтобы определять своё движение относительно окружающей среды, вычислять траектории и безопасно перемещаться в сложных динамических условиях.
- Видеомонтаж и специальные эффекты: Профессиональное программное обеспечение для визуальных эффектов (VFX) активно использует отслеживание точек для стабилизации дрожащих кадров или плавной привязки компьютерной графики (CGI) к движущимся объектам физической сцены.
Отслеживание ключевых точек с помощью Ultralytics#
В то время как обычные трекеры точек отслеживают произвольные визуальные пиксели, ты можешь отслеживать определённые структурные ключевые точки (например, глаза, плечи или запястья человека) с помощью возможностей отслеживания позы пакета ultralytics. Рекомендуемая модель YOLO26 обеспечивает высокоскоростное сквозное отслеживание ключевых точек, идеально подходящее для анализа движения.
from ultralytics import YOLO
# Load the recommended YOLO26 pose model for keypoint tracking
model = YOLO("yolo26n-pose.pt")
# Perform pose tracking on a video stream to follow human keypoints over time
results = model.track(source="video.mp4", stream=True)
# Iterate through the stream to process temporal keypoint tracking data
for frame_result in results:
# Each keypoint maintains its association across frames
print(f"Tracked {len(frame_result.keypoints)} human skeletons in current frame.")При масштабировании рабочих процессов компьютерного зрения Ultralytics Platform предлагает оптимизированное решение для разметки данных, обучения моделей и бесшовного развёртывания, обеспечивая надёжную работу в различных периферийных и облачных средах.






