OpenCV实现人体动作识别

article/2025/10/16 3:59:22

 

版本:

注意:如果是opencv-python  3.3会报错,cv2.dnn  找不到 readNet()

 

 

对于识别的行为超过400种:

OpenCV官方示例的样本类别:
https://github.com/opencv/opencv/blob/master/samples/data/dnn/action_recongnition_kinetics.txt 

示例代码:https://github.com/opencv/opencv/blob/master/samples/dnn/action_recognition.py

 

项目目录结构:

 

完整代码:

 

# 执行以下命令:
# python activity_recognition_demo.py --model resnet-34_kinetics.onnx --classes action_recognition_kinetics.txt --input videos/activities.mp4from collections import deque
import numpy as np
import argparse
import imutils
import cv2# 构造参数
ap = argparse.ArgumentParser()
ap.add_argument("-m","--model",required=True,help="path to trained human activity recognition model")
ap.add_argument("-c", "--classes", required=True, help="path to class labels file")
ap.add_argument("-i", "--input", type=str, default="", help="optional path to video file")
args = vars(ap.parse_args())# 类别,样本持续时间(帧数),样本大小(空间尺寸)
CLASSES = open(args["classes"]).read().strip().split("\n")
SAMPLE_DURATION = 16
SAMPLE_SIZE = 112
print("处理中...")
# 创建帧队列
frames = deque(maxlen=SAMPLE_DURATION)# 读取模型
net = cv2.dnn.readNet(args["model"])
# 待检测视频
vs = cv2.VideoCapture(args["input"] if args["input"] else 0)writer = None
# 循环处理视频流
while True:# 读取每帧(grabbed, frame) = vs.read()# 判断视频是否结束if not grabbed:print("无视频读取...")break# 调整大小,放入队列中frame = imutils.resize(frame, width=640)frames.append(frame)# 判断是否填充到最大帧数if len(frames) < SAMPLE_DURATION:continue# 队列填充满后继续处理blob = cv2.dnn.blobFromImages(frames,1.0, (SAMPLE_SIZE, SAMPLE_SIZE), (114.7748, 107.7354, 99.4750),swapRB=True,crop=True)blob = np.transpose(blob, (1, 0, 2, 3))blob = np.expand_dims(blob, axis=0)# 识别预测net.setInput(blob)outputs = net.forward()label = CLASSES[np.argmax(outputs)]# 绘制框cv2.rectangle(frame, (0, 0), (300, 40), (255, 0, 0), -1)cv2.putText(frame, label, (10, 25), cv2.FONT_HERSHEY_SIMPLEX, 0.8,(0, 0, 255), 2)# cv2.imshow("Activity Recognition", frame)# 检测是否保存if writer is None:# 初始化视频写入器# fourcc = cv2.VideoWriter_fourcc(*"MJPG")fourcc = cv2.VideoWriter_fourcc(*"mp4v")writer = cv2.VideoWriter("videos\\test.mp4",fourcc, 30, (frame.shape[1], frame.shape[0]), True)writer.write(frame)# 按 q 键退出
# key = cv2.waitKey(1) & 0xFF
# if key == ord("q"):
#     break
print("结束...")
writer.release()
vs.release()

可能与我找的视频有关,有些测试效果不是很好。

测试结果:

 

 模型下载地址:

链接:https://pan.baidu.com/s/17mQvUr6jsUyd2k0RrbrXaA 
提取码:irho 
 


http://chatgpt.dhexx.cn/article/u2P2v6Xp.shtml

相关文章

OpenVINO™ 室内动作识别

动作识别网络 深度学习在人体动作识别领域有两类主要的网络&#xff0c;一类是基于姿态评估&#xff0c;基于关键点实现的动作识别网络&#xff1b;另外一类是直接预测的动作识别网络。关于姿态评估相关的网络模型应用&#xff0c;我们在前面的文章中已经介绍过了。OpenVINO20…

OpenCV动作识别

刚参加完一个比赛&#xff0c;其中做了OpenCV动作的识别&#xff0c;分享出来&#xff0c;大家可以看看。 代码下载链接https://download.csdn.net/download/wangshuai610/10430105点击打开链接

CVPR 2020 论文大盘点-动作识别篇

本文盘点所有CVPR 2020 动作识别(Action Recognition )相关论文,该方向也常被称为视频分类(Video Classification )。从后面的名字可以看出该任务就是对含人体动作的视频进行分类。 (关于动作检测、分割、活动识别等方向将在后续文章整理) 该部分既包含基于普通视频的动…

视频理解综述:动作识别、时序动作定位、视频Embedding

选自丨机器之心 本文将介绍视频理解中的三大基础领域:动作识别(Action Recognition)、时序动作定位(Temporal Action Localization)和视频 Embedding。 1.视频理解背景 根据中国互联网络信息中心&#xff08;CNNIC&#xff09;第 47 次《中国互联网络发展状况统计报告》&#x…

推荐一些动作识别数据集

↑↑↑↑↑点击上方蓝色字关注我们&#xff01; 『运筹OR帷幄』原创 作者&#xff1a;周岩 编者按&#xff1a;动作识别的研究主要基于对视频数据的识别&#xff0c;其中主要包含动作识别&#xff08;如手势识别&#xff0c;运动识别等&#xff09;&#xff0c;目标识别和姿态预…

动作识别数据集

官网内容总结 1.UCF101&#xff08;https://www.crcv.ucf.edu/data/UCF101.php&#xff09; UCF101发布于2012年&#xff0c;来源于YouTube&#xff0c;拥有来自101个动作类别的13320个视频&#xff0c;在动作方面具有最大的多样性&#xff0c;并且在摄像机运动&#xff0c;物体…

动作识别的笔记

动作识别的笔记 最近有看实验室师姐写的一篇有关动作识别的论文&#xff0c;里边有讲到一种特征融合的方法&#xff0c;怕到时忘记&#xff0c;就此记录下。 &#xff08;只是简单的记一些流程&#xff0c;公式暂时没有编辑&#xff09; 论文简介 人体动作是实验室采集的数据…

计算机视觉和动作检测,计算机视觉技术深度解读之视频动作识别

来源:雪球App,作者: 我是张康,(https://xueqiu.com/6964725465/135165468) 作者:极链AI研究院 徐宝函 视频的理解与识别是计算机视觉的基础任务之一。随着视频设备和网络的普通,视频理解也吸引了越来越多研究者的关注。而识别视频中的动作则是其中一个充满挑战而又具有较…

动作识别、检测、分割、解析相关数据集介绍

文章目录 动作识别UCF101(UCF101 Human Actions dataset)Kinetics (Kinetics Human Action Video Dataset) 动作检测 / 时序动作定位CharadesActivityNetMulti-THUMOSUCF101-24IKEA ASMAVAJHMDB 动作分割Breakfast (The Breakfast Actions Dataset)GTEA (Georgia Tech Egocentr…

视频动作识别(Action Recognition)综述

概述 使用深度学习方法解决视频中行为识别/动作识别的问题解决思路有两大类&#xff0c;一是以抽取并分类时空特征为目的的视频识别方法&#xff1b;二是以提取骨架信息进行再训练为目的的姿态估计方法。本文主要梳理近5年来第一类论文中的算法&#xff0c;其中有三个分支&…

使用OpenVINO实现人体动作识别

Paula Ramos著 张晶 译 目录 1.1 人体动作识别背景简介 1.2 OpenVINOTM Notebook简介 1.3 动作识别模型简介 1.4 实现实时动作识别 1.4.1 下载模型 1.4.2 初始化模型 1.4.3 辅助函数 1.4.4 AI函数 1.4.5 完整执行整个程序 1.5 关于作者&#xff1a; 1.6 声明和免责声明 1.1 人…

使用kinect2.0做动作识别和动作计数

利用kinect2结构光相机进行运动动作识别和运动计数&#xff0c;不仅可以测量运动人员的卡路里&#xff0c;也可以测出运动速度和做功&#xff0c;并对于运动的动作做出科学规范的指导。 这里我们选用kinect2和windows系统作为开发工具来进行开发。如果要进行运动动作的识别&am…

基于Detectron2和LSTM的人体动作识别

人体动作识别通过分析视频来预测或分类视频中人物的各种动作。它被广泛应用于监测、体育、健身、防御等各个领域。 假设你想创建一个在线教授瑜伽的应用程序。它应该提供一个预先录制的瑜伽视频列表供用户观看。用户在应用程序上观看视频后&#xff0c;可以上传自己的个人练习…

短视频动作识别技术简述

1总体介绍 短视频在当前多媒体环境中占据着巨大流量&#xff0c;有效理解视频内容对于数据分发发挥着重要作用&#xff0c;动作识别是视频内容理解的一个重要方向。当前图像识别技术已趋于成熟&#xff0c;但动作识别仍未达到理想效果&#xff0c;相比于图像识别&#xff0c;动…

动作识别01:Understanding action recognition in still images

文章目录 摘要一、引言二、相关工作三、实验3.1 定义交互功能 四、结果总结 摘要 静止图像中的动作识别与姿态估计、目标识别、图像检索、视频动作识别和视频帧标记等计算机视觉任务密切相关。这个问题的重点是用单一的框架识别一个人的动作或行为。与视频中的动作识别不同——…

mediapipe 实现动作识别

环境 windows 10 64bitmediapipe 0.8.10.1 前言 本文使用 google 家的 mediapipe 机器学习框架&#xff0c;结合 opencv 和 numpy&#xff0c;实现了一个实时识别 站立、坐下、走动、挥手 共4个动作的简单系统。 mediapipe 能做的事情非常多&#xff0c;感兴趣的童鞋可以去研究…

行为动作识别

一、跌倒检测数据集 随着计算机学科与人工智能的发展和应用&#xff0c;视频分析技术迅速兴起并得到了广泛关注。视频分析中的一个核心就是人体行为识别&#xff0c;行为识别的准确性和快速性将直接影响视频分析系统后续工作的结果。因此&#xff0c;如何提高视频中人体行为识别…

基于骨骼的动作识别:PoseConv3D

Revisiting Skeleton-based Action Recognition解读 摘要1. 简介2. Related Work2.1 基于3D-CNN的rgb视频动作识别2.2 基于GCN的骨骼动作识别2.3 基于CNN的骨骼动作识别 3. Framework3.1 Pose Extraction3.2 From 2D Poses to 3D Heatmap Volumes3.3 基于骨骼的动作识别3D-CNN3…

视频动作识别调研(Action Recognition)

视频动作识别调研&#xff08;Action Recognition&#xff09; 本文首发于微信公众号“ StrongerTang”&#xff0c;可打开微信搜一搜&#xff0c;或扫描文末二维码&#xff0c;关注查看更多文章。 原文链接&#xff1a;( https://mp.weixin.qq.com/s?__bizMzg3NDEzOTAzMw&…

动作识别概况

文章目录 一、动作识别二、动作识别的难点三、动作识别现在常用的方法四、行为识别的两个方向五、常用数据集六、常用框架介绍 一、动作识别 主要目标是判断一段视频中人的行为的类别&#xff0c;所以也可以叫做 Human Action Recognition。 二、动作识别的难点 1.类内和类之…