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






