Action Recognition
探索动作识别如何识别视频中的行为。学习使用 Ultralytics YOLO26 进行姿态估计,并为 HAR 任务构建智能 AI 系统。
动作识别,通常也称为人体活动识别(HAR),是计算机视觉 (CV)的一个动态子领域,专注于识别和分类视频数据中主体执行的具体行为或动作。传统的目标检测回答的是“图像里有什么?”这个问题,而动作识别则解决更复杂的问题:“随着时间推移正在发生什么?”通过分析帧序列而不是静态图像,机器学习 (ML)模型能够区分诸如“走路”、“骑车”、“跌倒”或“握手”等复杂的活动,这使其成为构建理解人类意图和上下文的智能系统的关键组件。
核心概念与技术#
识别动作要求模型同时处理空间信息(对象或人的外观)和时间信息(他们随时间推移的移动方式)。为了实现这一点,现代人工智能 (AI)系统通常采用超越标准卷积神经网络 (CNN)的专门架构。
- **姿态估计:**这是一种强大的技术,模型可以通过它跟踪人体上的特定关键点,例如手肘、膝盖和肩膀。这些关键点随时间的几何变化为分类动作提供了强有力的信号,且不受背景杂乱的干扰。
- **时间建模:**算法利用循环神经网络 (RNN)或长短期记忆 (LSTM) 网络等结构来记住过去的帧并预测未来的动作。最近,视频 Transformer因其能够处理视频流中的长距离依赖关系而大受欢迎。
- **双流网络:**这种方法在并行流中处理空间特征(RGB 帧)和时间特征(通常使用光流),并融合数据以做出最终分类。
实际应用#
自动解释人类运动的能力在各个行业中具有变革性潜力,能够提升安全性、效率和用户体验。
- **医疗健康领域的 AI:**动作识别对于患者监测系统至关重要。例如,它能够在疗养院中实现自动跌倒检测,如果患者倒地,会立即向工作人员发出警报。它还用于远程物理康复,由 AI 教练分析患者的锻炼姿势,以确保他们正确、安全地完成动作。
- **智能监控与安全:**除了简单的运动检测之外,先进的安全系统还使用动作识别来识别可疑行为(例如打架、入店行窃或未经授权的进入),同时忽略良性活动。这减少了误报并改善了实时安全监控。
使用 Ultralytics 实现动作分析#
常见的工作流程包括先检测人员及其骨骼姿态,然后分析这些关节的运动。Ultralytics YOLO26模型为初始姿态估计步骤提供了业界领先的速度和准确性,这是许多动作识别管道的基础。
以下示例演示了如何使用 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}")区分相关术语#
区分动作识别与类似的计算机视觉任务非常重要,以确保采用正确的方法。
- **动作识别 vs. 目标跟踪:**目标跟踪侧重于在特定对象或人在帧之间移动时保持其身份(例如,“A 人在坐标 X 处”)。动作识别则解释被跟踪主体的行为(例如,“A 人正在跑步”)。
- **动作识别 vs. 视频理解:**动作识别侧重于识别特定的身体动作,而视频理解是一个更广泛的概念,涉及理解视频场景中的整个叙事、上下文和因果关系。
挑战与未来趋势#
开发稳健的动作识别模型带来了挑战,特别是对诸如Kinetics-400或 UCF101 等大型、带注释的视频数据集的需求。标注视频数据比标注静态图像要耗时得多。为了解决这个问题,Ultralytics 平台等工具可帮助简化注释和训练工作流程。
此外,计算效率至关重要。实时处理高分辨率视频需要大量的硬件资源。行业正日益转向边缘 AI,优化模型以直接在相机和移动设备上运行,从而减少延迟和带宽使用。未来的进展旨在提高模型泛化能力,使系统即使从未经明确训练的视点也能识别动作。






