Узнайте, как распознавание действий идентифицирует поведение в видео. Научитесь использовать Ultralytics для оценки позы и создавайте интеллектуальные системы искусственного интеллекта для задач HAR.
Распознавание действий, также известное как распознавание человеческой деятельности (HAR), является динамичной областью компьютерного зрения (CV), занимающейся идентификацией и классификацией определенных действий или движений, выполняемых объектами в видеоданных. В то время как традиционное обнаружение объектов отвечает на вопрос «что находится на изображении?», распознавание действий решает более сложный вопрос «что происходит с течением времени?». Анализируя последовательности кадров, а не статические изображения, модели машинного обучения (ML) могут различать сложные действия, такие как «ходьба», «езда на велосипеде», «падение» или «рукопожатие», что делает их важным компонентом для создания интеллектуальных систем, понимающих намерения и контекст человеческого поведения.
Для распознавания действий требуется модель, способная обрабатывать как пространственную информацию (как выглядят объекты или люди), так и временную информацию (как они движутся во времени). Для этого современные системы искусственного интеллекта (ИИ) часто используют специализированные архитектуры, выходящие за рамки стандартных сверточных нейронных сетей (CNN).
Способность автоматически интерпретировать движения человека обладает потенциалом для преобразования различных отраслей промышленности, повышая безопасность, эффективность и удобство для пользователя.
Обычный рабочий процесс включает в себя сначала обнаружение людей и их скелетной позы, а затем анализ движения этих суставов. Модель Ultralytics обеспечивает самую современную скорость и точность для начального этапа оценки позы, который является основой для многих конвейеров распознавания действий .
Следующий пример демонстрирует, как извлечь ключевые точки скелета из кадра видео с помощью Python:
from ultralytics import YOLO
# Load the YOLO26 pose estimation model
model = YOLO("yolo26n-pose.pt")
# Run inference on an image to detect person keypoints
results = model("https://ultralytics.com/images/bus.jpg")
# Process results
for result in results:
# Access the keypoints (x, y, visibility)
if result.keypoints is not None:
print(f"Detected keypoints shape: {result.keypoints.data.shape}")
Важно отличать распознавание действий от схожих задач компьютерного зрения, чтобы обеспечить применение правильных методов .
Разработка надежных моделей распознавания действий сопряжена с определенными трудностями, в частности, связанными с необходимостью использования больших аннотированных наборов видеоданных, таких как Kinetics-400 или UCF101. Маркировка видеоданных требует значительно большего времени, чем маркировка статических изображений. Для решения этой проблемы такие инструменты, как Ultralytics , помогают оптимизировать процесс аннотирования и обучения .
Кроме того, решающее значение имеет вычислительная эффективность. Обработка видео высокого разрешения в режиме реального времени требует значительных аппаратных ресурсов. Отрасль все больше движется в направлении Edge AI, оптимизируя модели для работы непосредственно на камерах и мобильных устройствах, чтобы сократить задержку и использование полосы пропускания. Будущие усовершенствования направлены на улучшение обобщения моделей, что позволит системам распознавать действия даже с точек зрения, на которых они явно не были обучены.