AlphaPose win10安装运行

我的电脑配置

操作系统:Windows 10
cuda版本:cuda_10.0.130_411.31_win10
cudnn版本:cudnn-10.0-windows10-x64-v7.6.5.32
python版本:python3.7.7
Git版本:Git for Windows 2.28.0

安装步骤

1 下载项目代码

  1. 在文件夹内右键,选择git bash here
  2. 输入以下代码,安装PyTorch版本项目
git clone -b pytorch https://github.com/MVIG-SJTU/AlphaPose.git

在这里插入图片描述

2 安装依赖包

pip install -r requirements.txt

3 安装pytorch

pytorch安装需要到pytorch官网选择对应的配置和版本
在这里插入图片描述
将最下方的命令在Git中运行,并等待安装

pip install torch==1.6.0+cu101 torchvision==0.7.0+cu101 -f https://download.pytorch.org/whl/torch_stable.html

4 下载模型

下载 duc_se.pth (2018/08/30) (Google Drive | Baidu pan),并放入AlphaPose/models/sppe文件夹中;
下载yolov3-spp.weights(Google Drive | Baidu pan),并放入AlphaPose/models/yolo 文件夹中;

5 运行

5.1 Git中运行

以'demo.py'为例
使用'demo.py''video_demo.py' 时需要开启 --sp 参数,–indir为输入图片的文件路径,–outdir为结果输出路径。

python demo.py --indir examples/demo --outdir examples/res --sp

回车运行,识别的结果以json的形式保存在“examples/res”下
在这里插入图片描述

5.2 pycharm中运行

在pycharm中运行首先要在该项目文件下配置编译器,同时将下载好依赖包和模型,步骤同上2 安装依赖包3 安装pytorch4 下载模型
以'demo.py'为例

  1. 修改'opt.py' 文件中的输入图片的路径,默认为空,我们将它设置为examples/demo/;输入文件路径默认为“examples/res/”。
    在这里插入图片描述
parser.add_argument('--indir', dest='inputpath',help='image-directory', default="examples/demo/")
  1. 运行'demo.py' 需要开启 --sp 参数,因此要在'demo.py' 文件中使用args.sp,不然运行会报错。
args.sp = True

在这里插入图片描述

  1. run demo,识别的结果以json的形式保存在“examples/res”下
    在这里插入图片描述
<think>嗯,用户是本科生,毕业设计要做基于OpenPose的运动质量监测系统,在Windows上用摄像头实现人体姿态估计,而且只能用CPU。他还是个小白,可能需要详细的步骤指导。 首先,得考虑OpenPose的配置问题。原版OpenPose可能对CPU支持不够好,或者速度太慢。用户提到使用与OpenPose相关的模型,可能是指其他轻量级或优化过的模型,比如Lightweight OpenPose,或者基于ONNX、TensorFlow Lite的版本。需要推荐适合CPU运行的模型,因为单CPU的话,计算资源有限,模型效率很关键。 然后,环境搭建方面,Windows下装Python,可能需要用Anaconda管理环境,这样避免包冲突。安装必要的库,比如OpenCV,PyTorch或者TensorFlow的CPU版本。还要考虑摄像头读取,可能需要用OpenCV的VideoCapture。 接下来,模型选择。原版OpenPose可能基于Caffe,但部署起来麻烦,尤其是在CPU上。可以考虑转换后的模型,比如用ONNX Runtime或者OpenCV的dnn模块加载预训练模型。或者使用Pytorch的轻量化版本,比如MobileNet作为backbone的OpenPose变体。 步骤方面,应该分阶段:环境准备、模型下载与加载、摄像头数据读取、姿态估计处理、结果可视化。还要注意代码示例的简洁性,让小白能一步步跟着做。可能需要提供GitHub上的参考项目或代码片段。 另外,性能优化是关键。CPU上实时处理可能需要降低输入分辨率,跳帧处理,或者使用多线程。用户可能需要这些优化技巧来让系统流畅运行。 可能遇到的问题包括模型加载失败,依赖库版本冲突,摄像头无法读取,处理速度过慢等。需要给出常见问题的解决方法,比如检查摄像头索引,降低图像尺寸,使用轻量模型等。 最后,测试和验证部分,用户可能需要评估模型的准确性和实时性,建议用标准数据集测试,或者自己录制视频验证。还有毕业设计可能需要扩展功能,比如运动质量评估算法,这部分可以建议结合关键点数据进行分析,比如角度计算、动作标准度等。</think>好的,我将以清晰的步骤为你梳理实现方案。作为刚入门的新手,建议按照以下流程分阶段完成(附关键代码和避坑指南): 一、环境准备(Windows CPU版) 1. 基础工具安装: - 安装Python 3.8(建议使用Anaconda) - 安装Visual Studio 2019(勾选C++开发组件) - 安装CMake 3.20+ 2. 创建虚拟环境: ```bash conda create -n openpose python=3.8 conda activate openpose ``` 3. 安装核心库: ```bash pip install opencv-python==4.5.5.64 pip install numpy==1.21.6 pip install matplotlib==3.5.3 # 可视化用 ``` 二、模型选择建议(CPU优化版) 推荐使用以下经过优化的模型: 1. Lightweight OpenPose (PyTorch版) - GitHub仓库:https://github.com/Daniil-Osokin/lightweight-human-pose-estimation.pytorch - 下载预训练模型:human-pose-estimation-3d.pth 2. OpenPose TensorFlow Lite版 - 模型文件:posenet_mobilenet_v1_100_257x257_multi_kpt_stripped.tflite - 适合实时推理(约10 FPS on i5 CPU) 三、代码实现步骤(以Lightweight OpenPose为例) 1. 下载模型文件并放置到项目目录/models 2. 核心代码框架: ```python import cv2 import torch from models import PoseEstimationWithMobileNet from modules.parse_poses import parse_poses # 加载模型 net = PoseEstimationWithMobileNet() checkpoint = torch.load('models/human-pose-estimation-3d.pth', map_location='cpu') net.load_state_dict(checkpoint) net.eval() # 摄像头初始化 cap = cv2.VideoCapture(0) # 0表示默认摄像头 height_size = 256 # 降低分辨率提升速度 while True: ret, frame = cap.read() if not ret: break # 预处理 input_img = cv2.resize(frame, (456, 256)) # 保持宽高比 input_tensor = torch.from_numpy(input_img.transpose(2, 0, 1)).float()/255 # 推理 with torch.no_grad(): stages_output = net(input_tensor.unsqueeze(0)) # 解析关键点 poses = parse_poses(stages_output, (input_img.shape[1], input_img.shape[0]), height_size) # 绘制结果 for pose in poses: for joint in pose[:, :2]: cv2.circle(frame, tuple(joint.astype(int)), 3, (0,255,0), -1) cv2.imshow('Result', frame) if cv2.waitKey(1) == 27: # ESC退出 break cap.release() cv2.destroyAllWindows() ``` 四、性能优化技巧 1. 输入分辨率调整:将摄像头输入降至480p(640x480) 2. 跳帧处理:每3帧处理1次,用`frame_counter % 3 == 0`控制 3. 使用OpenMP多线程: ```python import os os.environ["OMP_NUM_THREADS"] = "4" # 根据CPU核心数设置 ``` 五、常见问题解决 1. 摄像头无法打开: - 检查设备管理器中的摄像头驱动 - 尝试改用DShow后端:`cap = cv2.VideoCapture(0, cv2.CAP_DSHOW)` 2. 推理速度过慢: - 在`parse_poses`函数中调整`stride=8`为`stride=16` - 使用`cv2.INTER_AREA`代替默认resize算法 3. 关键点抖动严重: - 添加简单滤波算法: ```python prev_pose = None alpha = 0.5 # 滤波系数 current_pose = alpha*current_pose + (1-alpha)*prev_pose ``` 六、扩展功能建议(用于运动质量分析) 1. 角度计算示例(计算肘关节角度): ```python def calculate_angle(a, b, c): ba = a - b bc = c - b cosine_angle = np.dot(ba, bc) / (np.linalg.norm(ba)*np.linalg.norm(bc)) return np.degrees(np.arccos(cosine_angle)) # 假设获取到右手关键点(需根据实际模型输出调整索引) shoulder = poses[0][2][:2] elbow = poses[0][3][:2] wrist = poses[0][4][:2] angle = calculate_angle(shoulder, elbow, wrist) ``` 2. 动作标准度评估: - 建立标准动作关键点角度范围数据库 - 实时计算与标准值的差异度 - 使用DTW算法进行动作序列匹配 建议开发路线: 1. 先完成基础姿态估计功能 2. 添加数据记录模块(保存关键点坐标) 3. 实现基础分析功能(关节角度、运动幅度) 4. 最后开发评估算法(对比标准动作模板) 注:完整项目需要约300-500行代码量,建议使用PyCharm进行开发,保持代码模块化(分离为detector.py、analyzer.py、visualizer.py等)
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Rena要努力

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值