2401_84390965 2025-07-14 21:02 采纳率: 0%
浏览 6

人体骨骼关键点提取+云服务器

在云服务器的乌班图系统上如何编译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 build
    

    2. 配置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的关键步骤:

    1. 安装系统依赖
    2. 克隆OpenPose源码
    3. 创建构建目录并配置CMake
    4. 执行编译(make -j
    5. 验证编译结果

    ✅ AutoDL上的注意事项:

    • 已内置CUDA环境
    • 可能不支持GUI,建议使用命令行方式运行
    • 使用--no_display避免报错

    如需进一步优化性能或集成到Web应用中,也可以考虑使用 OpenPose的Python接口TensorFlow/PyTorch模型 进行部署。如需帮助,欢迎继续提问!

    评论

报告相同问题?

问题事件

  • 创建了问题 7月14日