Ultralytics YOLO27:
获取 YOLO 许可
返回 Ultralytics 术语表

Action Recognition

动作识别,也称人类活动识别(HAR),通过对视频中的运动进行时序建模来标注人们在做什么。本文介绍方法、数据集和代码。

动作识别是一项计算机视觉任务,用于判断视频中的人物,有时也包括动物或机器人,正在做什么:走路、挥手、跌倒、挥动高尔夫球杆或做俯卧撑。它将图像分类扩展到时间维度,因为许多动作无法通过单帧区分。某人弯腰到一半的静态图像可能显示的是坐下或站起,而一段短视频则能显示正在发生哪种动作。这个术语常与人体活动识别(HAR)互换使用,不过 HAR 也涵盖通过加速度计等可穿戴传感器进行识别。

动作识别的工作原理#

模型会接收一段视频片段,通常从几秒的视频中采样 8 到 64 帧,并学习两类信息:描述人物和物体外观的空间特征,以及描述其运动方式的时间特征。早期的双流网络在不同分支中分别处理 RGB 帧和光流,再融合两者的预测结果。三维卷积神经网络会同时沿高度、宽度和时间维度进行卷积;I3D通过将基于ImageNet预训练的二维图像滤波器扩展到三维来构建这类网络;SlowFast则将低帧率外观通路与高帧率运动通路结合起来。视频 Transformer会在时空图块上应用自注意力,而 VideoMAE通过重建大比例遮蔽的视频来对这些模型进行预训练。

来自 TorchVision 视频模型的 3D CNN 只需几行代码就能对视频片段进行分类:

import cv2
import numpy as np
import torch
from torchvision.models.video import R3D_18_Weights, r3d_18

# Load a 3D CNN pretrained on the 400 action classes of Kinetics-400
weights = R3D_18_Weights.KINETICS400_V1
model = r3d_18(weights=weights).eval()

# Read 16 consecutive frames from a short exercise video
cap = cv2.VideoCapture("https://github.com/ultralytics/assets/releases/download/v0.0.0/solution_ci_pose_demo.mp4")
frames = [cv2.cvtColor(cap.read()[1], cv2.COLOR_BGR2RGB) for _ in range(16)]

# Stack the frames into one clip shaped (time, channels, height, width) and classify it
clip = torch.from_numpy(np.stack(frames)).permute(0, 3, 1, 2)
batch = weights.transforms()(clip).unsqueeze(0)
with torch.no_grad():
    probs = model(batch).softmax(dim=1)[0]

top = probs.argmax().item()
print(f"{weights.meta['categories'][top]}: {probs[top]:.2f}")

模型会输出 push up: 0.99:它会从 400 个类别中选出一个动作标签,标记整段半秒的视频片段。

基于骨架的方法采用另一条路线。姿态估计模型首先在每一帧中找出人体关键点,随后由图网络(例如 ST-GCN)这样的时序模型对由此得到的关节轨迹进行分类。骨架不受衣着、光照和背景影响,而且足够轻量,可以在边缘设备上实时处理。Ultralytics 的 YOLO26姿态模型可为这种方法提供每人 17 个身体关键点,而锻炼监测解决方案会根据三个关键点之间的夹角计算俯卧撑和深蹲等练习的重复次数。

  • 姿态估计与目标跟踪:姿态估计用于定位关节,跟踪则在不同帧之间保持每个人的身份。两者通常都是动作识别的输入,动作识别会对它们描述的运动进行解读;在人群中,每个被跟踪的人都会获得各自的视频片段和标签。
  • 时序动作定位:找出长时、未剪辑视频中每个动作的起止时间。时空动作检测更进一步,会像 AVA 数据集那样在每一帧中框出每个动作主体。
  • 视频理解:更广泛的领域,还涵盖视频描述生成、问答,以及对视频中事件和原因的推理。

实际应用#

  • 医疗健康与老年护理:跌倒检测系统通过摄像头或可穿戴设备数据识别跌倒并提醒工作人员,康复应用则会检查患者是否正确完成锻炼。
  • 健身与体育:应用可以统计重复次数并评估动作姿势,体育分析则会对广播视频中的投篮、传球和挥拍动作进行分类。
  • 安全与安保:监控系统会标记公共场所中的打斗,以及工厂车间里的跌倒或不安全搬举行为。
  • 人机交互:机器人和智能设备会对挥手或指向等手势作出响应。

数据集与挑战#

视频标注比图像标注耗时得多,因此该领域的进展依赖大型数据集。Kinetics-400包含 400 个人类动作类别,每个类别至少有 400 段约 10 秒长的 YouTube 视频;UCF101 则包含 101 个类别的 13,320 段视频。Something-Something V2 针对场景偏差,即模型根据泳池而不是划水动作来识别游泳的倾向:该数据集约有 22 万段视频,展示双手与日常物品的互动,涵盖 174 个仅动作不同的类别,例如“从左向右推某物”和“从右向左推某物”。

Explore solutions

体育领域的计算机视觉

体育领域的计算机视觉

了解 Ultralytics YOLO 如何通过球员和球追踪、表现分析、教练洞察及运动员康复,推动体育视觉技术的发展。
了解详情
航空影像计算机视觉

航空影像计算机视觉

借助 Ultralytics YOLO,将无人机和航空影像转化为实时洞察,应用于农业、水产养殖、环境监测、自然保护和地理空间分析。
了解详情
航空航天中的计算机视觉

航空航天中的计算机视觉

使用 Ultralytics YOLO 模型将视觉 AI 应用于航空监测。借助计算机视觉解决方案,赋能无人机、航空航天工作流、环境保护和地理空间行业。
了解详情
安防领域的计算机视觉

安防领域的计算机视觉

使用 Ultralytics YOLO 模型守护每个场所。视觉 AI 可用于周界监控、威胁检测、车牌识别和工作场所安全。
了解详情
机器人领域的计算机视觉

机器人领域的计算机视觉

使用 Ultralytics YOLO 模型提升智能机器的能力。机器人领域的视觉 AI 可用于自主导航、感知、目标跟踪和实时控制。
了解详情
物流中的计算机视觉

物流中的计算机视觉

借助 Ultralytics YOLO 模型优化物流流程。视觉 AI 可用于包裹检查、分拣、车辆跟踪和仓库安全实时监控。
了解详情
零售中的计算机视觉

零售中的计算机视觉

借助 Ultralytics YOLO 模型重新构想零售。视觉 AI 可用于库存跟踪、货架监控、排队管理和更深入的客户洞察。
了解详情
医疗领域的计算机视觉

医疗领域的计算机视觉

借助 Ultralytics YOLO 模型构建医疗解决方案。医疗领域的视觉 AI 可加快医学影像处理、优化诊断并监测患者。
了解详情
制造业中的计算机视觉

制造业中的计算机视觉

利用 Ultralytics YOLO 模型优化制造流程。视觉 AI 可用于质量控制、缺陷检测、个人防护装备合规检查和装配线自动化。
了解详情
汽车领域的计算机视觉

汽车领域的计算机视觉

利用 Ultralytics YOLO 模型在汽车领域应用计算机视觉。视觉 AI 可提升道路安全、驾驶辅助和车辆自动化水平,让道路更智能。
了解详情
农业中的计算机视觉

农业中的计算机视觉

借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。为作物监测、牲畜追踪和精准农业提供支持,从而提高产量并实现更智能的生产。
了解详情
体育领域的计算机视觉

体育领域的计算机视觉

了解 Ultralytics YOLO 如何通过球员和球追踪、表现分析、教练洞察及运动员康复,推动体育视觉技术的发展。
了解详情
航空影像计算机视觉

航空影像计算机视觉

借助 Ultralytics YOLO,将无人机和航空影像转化为实时洞察,应用于农业、水产养殖、环境监测、自然保护和地理空间分析。
了解详情
航空航天中的计算机视觉

航空航天中的计算机视觉

使用 Ultralytics YOLO 模型将视觉 AI 应用于航空监测。借助计算机视觉解决方案,赋能无人机、航空航天工作流、环境保护和地理空间行业。
了解详情
安防领域的计算机视觉

安防领域的计算机视觉

使用 Ultralytics YOLO 模型守护每个场所。视觉 AI 可用于周界监控、威胁检测、车牌识别和工作场所安全。
了解详情
机器人领域的计算机视觉

机器人领域的计算机视觉

使用 Ultralytics YOLO 模型提升智能机器的能力。机器人领域的视觉 AI 可用于自主导航、感知、目标跟踪和实时控制。
了解详情
物流中的计算机视觉

物流中的计算机视觉

借助 Ultralytics YOLO 模型优化物流流程。视觉 AI 可用于包裹检查、分拣、车辆跟踪和仓库安全实时监控。
了解详情
零售中的计算机视觉

零售中的计算机视觉

借助 Ultralytics YOLO 模型重新构想零售。视觉 AI 可用于库存跟踪、货架监控、排队管理和更深入的客户洞察。
了解详情
医疗领域的计算机视觉

医疗领域的计算机视觉

借助 Ultralytics YOLO 模型构建医疗解决方案。医疗领域的视觉 AI 可加快医学影像处理、优化诊断并监测患者。
了解详情
制造业中的计算机视觉

制造业中的计算机视觉

利用 Ultralytics YOLO 模型优化制造流程。视觉 AI 可用于质量控制、缺陷检测、个人防护装备合规检查和装配线自动化。
了解详情
汽车领域的计算机视觉

汽车领域的计算机视觉

利用 Ultralytics YOLO 模型在汽车领域应用计算机视觉。视觉 AI 可提升道路安全、驾驶辅助和车辆自动化水平,让道路更智能。
了解详情
农业中的计算机视觉

农业中的计算机视觉

借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。为作物监测、牲畜追踪和精准农业提供支持,从而提高产量并实现更智能的生产。
了解详情
体育领域的计算机视觉

体育领域的计算机视觉

了解 Ultralytics YOLO 如何通过球员和球追踪、表现分析、教练洞察及运动员康复,推动体育视觉技术的发展。
了解详情
航空影像计算机视觉

航空影像计算机视觉

借助 Ultralytics YOLO,将无人机和航空影像转化为实时洞察,应用于农业、水产养殖、环境监测、自然保护和地理空间分析。
了解详情
航空航天中的计算机视觉

航空航天中的计算机视觉

使用 Ultralytics YOLO 模型将视觉 AI 应用于航空监测。借助计算机视觉解决方案,赋能无人机、航空航天工作流、环境保护和地理空间行业。
了解详情
安防领域的计算机视觉

安防领域的计算机视觉

使用 Ultralytics YOLO 模型守护每个场所。视觉 AI 可用于周界监控、威胁检测、车牌识别和工作场所安全。
了解详情
机器人领域的计算机视觉

机器人领域的计算机视觉

使用 Ultralytics YOLO 模型提升智能机器的能力。机器人领域的视觉 AI 可用于自主导航、感知、目标跟踪和实时控制。
了解详情
物流中的计算机视觉

物流中的计算机视觉

借助 Ultralytics YOLO 模型优化物流流程。视觉 AI 可用于包裹检查、分拣、车辆跟踪和仓库安全实时监控。
了解详情
零售中的计算机视觉

零售中的计算机视觉

借助 Ultralytics YOLO 模型重新构想零售。视觉 AI 可用于库存跟踪、货架监控、排队管理和更深入的客户洞察。
了解详情
医疗领域的计算机视觉

医疗领域的计算机视觉

借助 Ultralytics YOLO 模型构建医疗解决方案。医疗领域的视觉 AI 可加快医学影像处理、优化诊断并监测患者。
了解详情
制造业中的计算机视觉

制造业中的计算机视觉

利用 Ultralytics YOLO 模型优化制造流程。视觉 AI 可用于质量控制、缺陷检测、个人防护装备合规检查和装配线自动化。
了解详情
汽车领域的计算机视觉

汽车领域的计算机视觉

利用 Ultralytics YOLO 模型在汽车领域应用计算机视觉。视觉 AI 可提升道路安全、驾驶辅助和车辆自动化水平,让道路更智能。
了解详情
农业中的计算机视觉

农业中的计算机视觉

借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。为作物监测、牲畜追踪和精准农业提供支持,从而提高产量并实现更智能的生产。
了解详情

让我们携手构建 AI 的未来!

开启你的旅程,迎接机器学习的未来