在云服务器的乌班图系统上如何编译openpose? 如何在autodl云服务器上编译openpose?
5条回答 默认 最新
檀越@新空间 2025-07-14 21:03关注晚上好🌙🌙🌙
本答案参考通义千问在云服务器的Ubuntu系统上(如AutoDL、阿里云、腾讯云等)编译 OpenPose,需要确保系统环境满足其依赖项,并按照正确的流程进行安装和编译。以下是一个详细的步骤指南,包括关键点提取、编译OpenPose的方法以及在AutoDL云服务器上的特别说明。
一、准备工作
1. 系统要求
- 操作系统:Ubuntu 20.04 或更高版本
- GPU支持(可选):NVIDIA CUDA 和 cuDNN(用于加速)
- CMake >= 3.10
- Python 3.x(推荐3.8或以上)
- OpenCV(建议4.5+)
2. 安装依赖库
sudo apt update sudo apt install -y build-essential cmake git libgl1 libsm6 libxrender1 libxext6 python3-pip python3-dev如果使用GPU:
# 安装CUDA(根据显卡型号选择版本) # 参考:https://developer.nvidia.com/cuda-downloads # 安装cuDNN(需注册NVIDIA账号下载) sudo dpkg -i cudnn-local-repo-*.deb sudo apt install -y libcudnn8=8.* libcudnn8-dev=8.*
二、获取OpenPose源码
git clone https://github.com/CMU-Perceptual-Systems/openpose.git cd openpose
三、编译OpenPose(推荐使用CMake)
1. 创建构建目录
mkdir build cd build2. 配置CMake(支持CPU/GPU)
✅ CPU版本(无需GPU)
cmake ..✅ GPU版本(需CUDA支持)
cmake -DCMAKE_CUDA_COMPILER=/usr/local/cuda/bin/nvcc ..如果提示找不到
nvcc,请确认CUDA是否正确安装。3. 编译
make -j$(nproc)-j$(nproc)表示并行编译,加快速度。
四、验证编译结果
./build/examples/openpose/openpose_demo如果成功运行,会显示OpenPose的图形界面并开始实时人体关键点检测。
五、在AutoDL云服务器上的特别说明
1. AutoDL特点
- 提供预装CUDA和PyTorch的镜像
- 支持一键启动GPU实例(如RTX 3090/4090)
2. 在AutoDL中编译OpenPose的步骤
✅ 步骤1:登录AutoDL并创建实例
- 选择合适的GPU实例(如“RTX 3090”)
- 使用默认Ubuntu镜像(已包含CUDA和CUDNN)
✅ 步骤2:安装必要依赖(如果未自动安装)
sudo apt update sudo apt install -y build-essential cmake git libgl1 libsm6 libxrender1 libxext6 python3-pip python3-dev✅ 步骤3:克隆OpenPose代码
git clone https://github.com/CMU-Perceptual-Systems/openpose.git cd openpose✅ 步骤4:配置和编译
mkdir build && cd build cmake .. # 如果有GPU,可以添加 -DCMAKE_CUDA_COMPILER=/usr/local/cuda/bin/nvcc make -j$(nproc)✅ 步骤5:测试运行
./build/examples/openpose/openpose_demo注意:AutoDL可能不支持GUI显示,因此你可能需要通过命令行运行,或者将输出保存为文件。
六、常见问题及解决方案
| 问题 | 解决方案 | |------|----------| |
CMake not found| 安装CMake:sudo apt install cmake| |nvcc not found| 确认CUDA安装路径是否正确,检查/usr/local/cuda/bin/nvcc是否存在 | |OpenCV not found| 安装OpenCV:sudo apt install libopencv-dev| |No GUI available| 使用--no_display参数运行:./openpose --no_display ...|
七、修改后的Python脚本(示例)
如果你希望使用Python调用OpenPose,可以使用如下代码:
import subprocess # 调用OpenPose命令行工具 command = [ './build/examples/openpose/openpose_demo', '--image_dir', 'input_images/', '--output_json', 'output_json/' ] subprocess.run(command)注意:此脚本需要在OpenPose的
build/examples/openpose/目录下运行,或者指定完整路径。
八、总结
✅ 编译OpenPose的关键步骤:
- 安装系统依赖
- 克隆OpenPose源码
- 创建构建目录并配置CMake
- 执行编译(
make -j) - 验证编译结果
✅ AutoDL上的注意事项:
- 已内置CUDA环境
- 可能不支持GUI,建议使用命令行方式运行
- 使用
--no_display避免报错
如需进一步优化性能或集成到Web应用中,也可以考虑使用 OpenPose的Python接口 或 TensorFlow/PyTorch模型 进行部署。如需帮助,欢迎继续提问!
解决 无用评论 打赏 举报