- jeston nano的系统的镜像中已经安装过cuda,但是使用以下命令检查cuda版本时发现command not found(注意命令中V是大写)
$ nvcc -V
2. 需要在~/.bashrc 文件中添加cuda的环境变量
$ sudo vim ~/.bashrc
在文件的最后添加以下内容,保存并且退出
export CUDA_HOME=/usr/local/cuda-10.0
export LD_LIBRARY_PATH=/usr/local/cuda-10.0/lib64:$LD_LIBRARY_PATH
export PATH=/usr/local/cuda-10.0/bin:$PATH
3. 执行source命令
$ source ~/.bashrc
4. 然后执行命令,测试cuda
$ nvcc -V
5. 执行检查OpenCV版本的操作, 出现Test passed!证明验证成功
cd /usr/src/cudnn_samples_v7/mnistCUDNN
$ sudo make
$ sudo chmod a+x mnistCUDNN
$ ./mnistCUDNN
6. 在github上clone整个openpose项目, openpose的项目目录下的3rdparty目录中的caffe目录和pybind11为空,需要单独下载
$ git clone https://github.com/CMU-Perceptual-Computing-Lab/openpose.git
$ cd openpose/3rdparty
$ rm -rf caffe
$ git clone https://github.com/CMU-Perceptual-Computing-Lab/caffe.git
$ cd openpose/3rdparty
$ rm -rf pybind11
$ git clone https://github.com/pybind/pybind11.git
7. 安装之前,需要安装以下关于Caffe的依赖,具体参考主目录下的该文件 install_caffe_JetsonTX2_JetPack3.1.sh(有兴趣可以查看)
# Basic
$ sudo apt-get --assume-yes install build-essential
# General dependencies
$ sudo apt-get --assume-yes install libprotobuf-dev libleveldb-dev libsnappy-dev libhdf5-serial-dev
protobuf-compiler libatlas-base-dev libboost-all-dev libgflags-dev libgoogle-glog-dev liblmdb-dev
libssl-dev
# Python libs
sudo apt-get --assume-yes install python-pip python-dev
8. 编译openpose项目,需要cmake,安装依赖
$ sudo apt-get install qtbase5-dev
在cmake官方网站下载cmake的安装文件,我下载的是3.16版本
$ tar -xvf cmake-3.16.0-rc3.tar.gz
$ cd cmake-3.16.0
$ ./configure --qt-gui
$ ./bootstrap
$ make
$ sudo make install
9. 检查cmake是否完成安装,通过图形界面打开cmake软件,如图所示
source code的路径是openpose项目的目录,build文件夹需要自己建立
执行点击Configure按钮之后,成功如下图所示。
10. 配置完成之后,进入openpose项目,build文件夹,执行编译的命令
$ sudo make
11. 编译完成之后,会在openpose/build/examples/openpose/目录下,生成openpose.bin可执行文件。
执行过程中可能遇到的问题:
- 错误信息,Gtk-Message:Failed to load module "canberra-gtk-module"
通过安装以下依赖,可以解决
$ sudo apt install libcanberra-gtk-module
2. 错误信息:check filed: ReadProtoFromBinaryFile(param_file, param) Failed to parse NetParameter file: models/pose/body_25
问题解决方案,执行一下命令
$ cd openpose/models/
$ bash getModels
在openpose目录下执行, 可以查看演示效果
$ ./build/examples/openpose/openpose.bin -camera_resolution 320x160 -net_resolution 64x32
本文参考实现:https://blog.csdn.net/taiyangmiaomiao/article/details/97638598