Ubuntu16.04安装Cuda10.0/cudnn7.6.5/openpose及出现的问题(显卡GTX1660 SUPER)

一、安装CUDA10.0、CUDNN7.6.5

安装教程请按照下面的博文
ubuntu16.04安装CUDA、cuDNN GTX 1660Ti

注意:显卡安装和电脑显卡适配的最新版本
安装显卡驱动的时候,台式机一定要用这条命令,不要添加no-opengl-files,注意和下图命令的区分
在这里插入图片描述

sudo ./NVIDIA-Linux-x86_64-384.59.run –no-x-check -no-nouveau-check

二、CUDA卸载步骤

显卡驱动无需卸载

sudo apt-get remove cuda*

sudo apt-get remove --purge cuda*

sudo apt-get update

执行完上面三步后无法删除CUDA的文件夹,需要切换到安装目录下手动删除,默认位置为: /usr/local/,因此执行以下命令:

cd /usr/local/
sudo rm -r cuda-10.0

注意:10.0是版本号,要删除哪个版本就替换成哪个版本号(Cudnn安装在Cuda文件夹中,因此需要手动删除)

三、openpose安装过程

根据实验室师兄的安装经验,在实验室工作站上安装测试完成

安装前准备工作

官方教程:https://github.com/CMU-Perceptual-Computing-Lab/openpose/blob/master/doc/installation/prerequisites.md#general-tips

1、 克隆openpose源码:

git clone https://github.com/CMU-Perceptual-Computing-Lab/openpose

或者直接在github中下载,解压后cd到openpose源码文件夹下
后续操作默认已经cd到openpose源码文件夹下

2、提前下载好openpose预训练模型,放入指定的文件夹中(其实源码中自带了小模型,但是替换为这种大型预训练模型效果更好),避免cmake时下载太慢(总共800多M)。

1、BODY_25 model: download in models/pose/body_25/.    
http://posefs1.perception.cs.cmu.edu/OpenPose/models/pose/body_25/pose_iter_584000.caffemodel
2、COCO model: download in models/pose/coco/.  
http://posefs1.perception.cs.cmu.edu/OpenPose/models/pose/coco/pose_iter_440000.caffemodel
3、MPI model: download in models/pose/mpi/.  
http://posefs1.perception.cs.cmu.edu/OpenPose/models/pose/mpi/pose_iter_160000.caffemodel
4、Face model: download in models/face/.  
http://posefs1.perception.cs.cmu.edu/OpenPose/models/face/pose_iter_116000.caffemodel
5、Hands model: download in models/hand/.  
http://posefs1.perception.cs.cmu.edu/OpenPose/models/hand/pose_iter_102000.caffemodel

上述链接已失效,可从此下载

3、安装cmake-gui(非必须,可以使用命令行替代):

sudo apt-get install cmake-qt-gui

4、安装第三方库的依赖(不是第三方库本身):

sudo bash ./scripts/ubuntu/install_deps.sh

5、安装Python:官方建议python3,python2也可,需要以下python组件(不装也行)

(1)Python 3 (default and recommended)

sudo apt-get install python3-dev
sudo pip3 install numpy opencv-python

(2)Python 2

sudo apt-get install python-dev
sudo pip install numpy opencv-python

安装

1、git拉取第三方库到本地

git submodule update --init --recursive --remote

2、cmake配置(下列命令仅适用于未安装caffe和apt安装opencv,如果是其他情况请参照openpose官网)
先进入openpose/build文件夹下,再进行cmake配置

mkdir build/
cd build/
cmake-gui .. 

输入上述命令后弹出下面的对话框

在cmake-gui中点击configure,再点击新窗口中的finish,出现下图一些选项,把BUILD_PYTHON勾上(如果后续要使用Python调用的话),再点击一次configure(另外在其中也可设置是GPU模式还是纯CPU)。随后点击generate,关闭该窗口。
在这里插入图片描述注意:这一步可能由于CUDA版本变化或者cudnn版本等问题出错需要重新配置,请先进入openpose/build中删除所有内容后再执行上述步骤。

3、编译

make -j8

如果不报错,需要编译几分钟时间,如果出现错误,请参照第四部分的解决方法

4、 安装头文件(必须,与ROS连接所需)

sudo make install

至此二维的openpose已安装完成

安装测试

1、官方非ROS Demo测试
测试预设视频骨架点识别

cd openpose
./build/examples/openpose/openpose.bin --video examples/media/video.avi

在这里插入图片描述

2、测试图片集骨架点识别

./build/examples/openpose/openpose.bin --image_dir examples/media/

3、测试实时摄像头骨架点识别(不加参数即可,或者通过参数指定摄像头,普通摄像头即可)

./build/examples/openpose/openpose.bin
./build/examples/openpose/openpose.bin --camera 0

在这里插入图片描述

3、测试面部或手部识别(与上类似,通过不同的参数来区分):

./build/examples/openpose/openpose.bin --image_dir examples\media\ --face
./build/examples/openpose/openpose.bin --video examples\media\video.avi --hand
./build/examples/openpose/openpose.bin --face

4、其他样例见官方链接

5、 OpenPose显卡算力表(需要fq)

与ROS连接

1、 官方并未推出ROS Wrapper,但推荐了两个非官方ROS示例。分别为:
https://github.com/ravijo/ros_openpose.git
https://github.com/firephinx/openpose_ros.git

2、综合效果和易用程度,选择第一个ROS包(Demo介绍最高支持到1.6.0,但实测最新版1.7.0o penpose没有问题),可以直接求解3D空间骨骼点,避免手动计算,并可集成进RVIZ显示,下为1.7.0下的 安装步骤:

(1)克隆该包到ros工作空间/src下

git clone https://github.com/ravijo/ros_openpose.git

(2)编译
catkin_make

(3) 修改launch文件中部分参数适应realsense相机(假设使用realsense,其他RGBD相机是一样)

  • 顶层run.launch中,将31行中openpose网络模型文件夹改为自己电脑上的对应文件夹
  • run.luanch所调用的congfig_realsense.launch中,将10行和13行rgb和深度图像话题改为实际realsense话题,对于我们的realsense而言,需要把相机名字camera改为rs(如果没有改过realsense相机默认launch的话不用改),如下图
    在这里插入图片描述

(4) 改好之后运行,该launch会自动启动相机、openpose、以及RVIZ。

roslaunch ros_openpose run.launch

(5)在RVIZ中可以观察到骨架点,也可echo到相机坐标系下骨架点3D空间坐标(从而避免了手动在深度图像取深度来获取骨骼点3D坐标)

四、安装过程中出现的错误

GTX1660显卡安装完nvidia驱动后开机永远在登录界面,按ctrl+alt+F1出现下图错误

在这里插入图片描述

问题说明:nvidia显卡驱动和系统不兼容
解决方法:
1、在开机登入界面按CTRL+ALT+F1 # 切换到命令行
2、输入用户名和密码登入(即使一直打印上图错误输入一直有效,可以忽略)
3、输入sudo service lightdm stop 关闭桌面显示管理器
4、输入sudo apt-get remove --purge nvidia*卸载所有nvidia驱动
5、输入reboot重启

注意:在第二步输入用户名和密码的时候,用户名全都是小写字母,密码要注意NumLock有没有打开)
如果不知道自己的用户名或者密码,参考下面的步骤查找用户名,修改密码。

  1. 开机时选择“高级启动”中的“recovery mode”模式,再按e进入

  2. 进入如下界面,将红色框中的ro(只读)改成rw(读写)后按F10在这里插入图片描述

  3. 进入下一个选择界面。选择root-Drop to root shell prompt。

  4. 此时电脑会从启动进入到shell,当出现命令提示符的时候输入"passwd username"这里的username就是您的用户名,如果您连用户名都忘了的话,不急有办法,您可以先输入ls /home查看用户名,再输入以上命令。

  5. 输入passwd username后,出现提示符时就可以直接输入您的新密码了,再确认一次。

  6. reboot重启即可完成

安装时编译步骤出现的错误

错误1:

nvcc fatal   : Value 'c++14' is not defined for option 'std'

在这里插入图片描述出错原因:在openpose CMakelists.txt文件第508行(也许后续更新后不是这一行了),如下位置处指定了c++14,用于在CUDA11以上版本编译Thrust库(见注释)。然而在cuda8.0下不支持c++14,因此需要将该选项改为:c++11。如下图:

修改前:
修改前
修改后:
修改后
修改后重新配置CMAKE,即可编译成功。

错误2:

nvcc fatal : Unsupported gpu architecture 'compute_75'

出错原因:CUDA10.0以下版本不支持75,如果显卡更新报75以上错误,请使用更新的CUDA版本

CUDA_ARCH := -gencode arch=compute_30,code=sm_30 \
		-gencode arch=compute_35,code=sm_35 \
		-gencode arch=compute_50,code=sm_50 \
		-gencode arch=compute_52,code=sm_52 \
		-gencode arch=compute_60,code=sm_60 \
		-gencode arch=compute_61,code=sm_61 \
		-gencode arch=compute_62,code=sm_62 \
		-gencode arch=compute_70,code=sm_70 \
		-gencode arch=compute_72,code=sm_72 \
		-gencode arch=compute_75,code=sm_75 \
		-gencode arch=compute_75,code=compute_75
  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值