前段时间看实验室的师兄有使用openpose处理一些问题,例如手势识别和步态识别等等,个人对openpose也有一些兴趣,所以尝试着在新买的电脑上进行openpose的安装配置,最后经过不懈努力成功跑上了openpose。这里把我安装的过程写出来,希望能帮助到大家。
基本配置环境如下:
电脑型号:ASUS 飞行堡垒 FX503VM
装机系统:win10 架构x86_64
处理器: i5-7300 2.5GHZ 四核
内存:8G 三星DDR4
硬盘:128G SSD +1T机械硬盘
显卡:NVIDIA GeForce 1066(1060+6G显存)
安装内容:
Linux操作系统:ubuntu 16.04
Cuda 8.0+cudnn 5.1
Opencv3.3
Caffe+Openpose 1.2.0
讲到前面:
在进行具体安装介绍之前首先简要描述一下。因为我用来安装openpose的电脑是刚到货的新电脑,里面空空如也,所以整个配置过程是从头到尾的完整安装,如果你能按照本教程所述一步一步做完并且每一步安装的sample测试均能够通过的话,理论上你应该能够成功安装openpose。
但是,不排除因为每个人具体的电脑配置不同所导致的一些安装失败,所以我在最前面明确表明了我的安装配置环境,如果你的电脑配置和我的类似,那么问题应该不大。如果配置上有较大差别,比如我的电脑是独显+双硬盘,而你的是独+集显or单硬盘,或者我是UEFI启动,而你是legacy启动等等,关于这类配置上的差别该如何配置,我将列出对应的博客链接,仅供参考。
关于安装步骤共分为以下五步:
0.下载
1.安装ubuntu 16.04
2.安装NVIDIA显卡驱动
3.安装cuda 8.0和cudnn 5.1
4.安装opencv 3.3
5.安装caffe和openpose 1.2.0
0.下载
Ubuntu16.04下载地址:
http://cn.ubuntu.com/download/
cuda及cudnn下载地址:
https://developer.nvidia.com/cuda-toolkit-archive
https://developer.nvidia.com/cudnn
opencv下载地址:
https://github.com/opencv/opencv/tree/3.3.0
openpose下载地址:
https://github.com/CMU-Perceptual-Computing-Lab/openpose
其中安装cuda和cudnn因为同属NVIDIA cuda开发组件,所以放在一起讲;安装caffe和openpose也放在一起讲,这里需要说明一下:
NVIDIA显卡驱动直接apt-get方式安装,所以没有下载链接; Caffe是使用openpose必备的配置环境,而安装caffe有两种方式,一是直接在github上下载源码进行编译安装,二是采用openpose自带的caffe进行编译安装,我推荐采用第二种方式,因为openpose源码自带的caffe包里对一些针对openpose自身需要改动的配置它都帮你改好了,不需要再进行修改,编译起来很方便。意思就是你不需要单独下载caffe,只需要下载openpose包,里面就带有caffe。
—————————————————————————————————————
另外关于版本问题说明如下:(版本更新截止2018年3月15日)
Ubuntu 16.04没啥可说,是目前长期支持的最新版本;
Cuda和cudnn建议采用openpose官方推荐版本,即cuda 8.0 和cudnn 5.1;
Opencv目前官方版本更新到3.4,不建议采用最新版本,因为新版本往往容易存在版本不兼容等问题,我这里使用opencv 3.3;
Openpose目前GitHub官方最新版本 v1.2.1,同样不建议采用最新版本,因为它可能还正在修正调试过程,建议采用上一个版本,我这里使用openpose 1.2.0;
另外caffe我前面说了是采用openpose自带的版本,所以你下载的openpose里是什么版本就用什么版本。
—————————————————————————————————————
$1.安装ubuntu16.04
Ubuntu下载方法:
http://cn.ubuntu.com/download/
选择“64位下载键”等待下载完成。
1.1安装之前
(1)确认自己电脑主板是UEFI启动还是传统legacy启动?
现在电脑主板出于安全快速启动考虑,多采用UEFI启动模式,这种启动模式的电脑已经成为主流,但以防万一,还是要先确认一下。
那么如何确定电脑主板是否UEFI启动,常见有两个方法:
① 方法一:查看磁盘格式
Win+x,选择“磁盘管理”;
右键“磁盘0”,在弹出的菜单中如果有“转换成MBR磁盘”,则是UEFI启动的,如果有“转换为GPT磁盘”则为传统的Legacy 启动。换句话说,你的电脑磁盘和启动方式配置只可能有两种:
GPT+UEFI启动或者MBR+legacy启动
② 方法二:查看系统信息
win+r打开运行,输入msinfo32,enter打开系统信息,查看“bios模式”。
如果上述两个方法均确认自己电脑是UEFI启动,则可以继续下面步骤,如果是传统legacy启动方式,则参考如下博客安装ubuntu:
https://blog.csdn.net/zuyuanzhu/article/details/53315312
https://blog.csdn.net/Mr_health/article/details/80639599
(2)确认自己电脑是双硬盘还是单硬盘?
如果是单硬盘那没什么问题,如果是像我一样双硬盘(机械+固态),那么即将要装的Ubuntu系统只能和Windows系统装在一个盘里(一般就是固态),你如果想强行分盘装也不是不行,只不过过程很艰辛,建议不要。另外如果你的固态盘容量比较大(256G),那建议你在下面实际安装ubuntu时的分区步骤中给ubuntu系统尽量多一点的容量,因为你在ubuntu系统下的全部软件只能装在你所分配的这部分容量中,未分配给ubuntu的容量是无法使用的,比如另一个机械盘的容量。
(3)制作U盘启动盘
准备一个不小于16G的U盘,其目的是作为ubuntu系统的安装盘使用,就好比以前的光盘安装,如果你想在其他任何电脑上安装ubuntu系统,只要有这个U盘即可随时安装。
你U盘里的东西最好备份到其他地方,然后对U盘进行格式化,准备进行镜像烧录。
对U盘烧录ubuntu安装文件需要使用相关的软件,这里推荐使用ultraiso软碟通,关于烧录操作具体可自行百度,非常简单.
1.2给ubuntu系统预留安装空间
Win+x选择“磁盘管理”->在系统盘(C盘为例)右键选择“压缩卷”->输入压缩空间量:60G->点击“压缩”。
此时就获得一个未分配的60G大小的磁盘空间,这就是你将要安装ubuntu系统的地方。
1.3配置bios模式
重启电脑,按bios键进入bios模式(不同主板的bios键不同,一般是F2,像华硕是F2或delete键,具体可查询度娘)。下面以本人华硕主板为例说明,其他类型主板大同小异。
(1)关闭安全启动(secure boot)
在bios界面下选择“advance mode”->选择“security ”(安全启动)->选择“secure boot”->在下拉菜单中选择“disabled”;
(2)关闭快速启动(fast boot)
在bios界面下选择“advance mode”->选择“boot”->选择“fast boot”->在下拉菜单中选择“disabled”。
这样做的目的是因为安全启动模式下默认禁止系统的安装或修改操作,所以要把它关闭。
(3)选择“UEFI模式下U盘启动”
在bios界面下选择“boot menu”->在出现的开机启动项中单击带有UEFI开头字样的U盘启动方式->进入U盘启动画面。
1.4安装ubuntu
按下“UEFI模式下U盘启动”后,系统会进入ubuntu的预安装画面。
直接“install Ubuntu”,此时进入ubuntu安装界面。
选择语言-中文(简体),继续.
默认不勾选,继续.
到这一步比较关键,要为Ubuntu系统选择分区,我们选择”其他选项”,点击继续。
我们前面在window系统下预留的60G安装空间就是用在这里,可以看到显示有空闲的60G磁盘空间,对这60G依次进行如下的分区划分:右键->创建分区
(1)swap交换空间
这个也就是虚拟内存的地方,如果你的电脑内存不小于8G,可以跳过此步,我就没有分配这个空间。
1.大小:与电脑内存一致
2.分区类型:主分区
3.分区位置:空间起始位置
4.用于:交换空间
(2)efi系统分区
系统引导文件都会在里面。
1.大小:大小最好不要小于256MB,系统引导文件都会在里面,我给的300MB。
2.分区类型:逻辑分区(这里不是主分区,请勿怀疑,老式的boot挂载才是主分区)
3.分区位置:空间起始位置
4.用于:efi系统分区
注意:它的作用和boot引导分区一样,但是boot引导是默认grub引导的,而efi显然是UEFI引导的。不要按照那些老教程去选boot引导分区,也就是最后你的挂载点里没有“/boot”这一项,否则你就没办法UEFI启动两个系统了。
(3)/home分区
类似Windows下的用户文件夹,一些音视频、图片和下载都会在这个文件夹,同时你也可以在此文件夹下安装软件,所以空间不能小。
1.大小:我Ubuntu分区的总大小是60GB,这里我分配30G给home。
2.分区类型:逻辑分区
3.分区的位置:空间起始位置
4.用于:EXT4日志文件系统
5.挂载点:/home
(4)/分区
这个是根目录,也就是系统默认目录,类似Windows下的C盘
1.大小:剩下的全部空间,因为我没有swap空间,所以这部分大概30G
2.分区类型:逻辑分区
3.分区位置:空间起始位置
4.用于:EXT4日志文件系统
5.挂载点:/
上述分区步骤完成后,需要将“安装启动引导器的设备”选择为有EFI开头的分区盘,然后点击“现在安装”。
后面几个界面会让你选择时区,设置用户名和密码等,一一完成后开始安装。静等安装完成即可。
安装完毕会提示你重启电脑,如果无误的话会进入紫色的UEFI引导界面,你能够选择是进入ubuntu系统还是进入Windows系统。
至此,Ubuntu系统就安装好了。
$2.安装NVIDIA显卡驱动
2.1
在NVIDIA官网查询适合自己显卡型号的驱动,建议不要使用最新版本的驱动,可以选上一个版本的,比如我的1060显卡,官方最新版本的驱动是390,我这里安装的是387。
2.2
如果你是独显的(和我一样)则可以直接跳到2.3步 。
如果你是集显+独显的电脑,那么你需要先关闭ubuntu的图形显示界面。
Ctrl+alt+F1 进入命令行模式,在命令行输入:
$ sudo lightdm stop
输入账号密码,确定。
按下Ctrl+alt+F7,如果回不到正常的桌面显示,则说明图形显示界面已被关闭。
在2.3步安装好显卡驱动后,命令行输入:
$ sudo lightdm start //打开图形显示界面
Ctrl+alt+F7 返回桌面
2.3
在命令行(或终端)中输入:
$ sudo apt-get update
$ sudo apt-get install –f
$ sudo apt-get install 387.dev
上述387.dev就是我安装的显卡驱动版本
终端提示是否安装,选择 YES,等待安装完成。
2.4
在命令行(或终端)输入:
$ nvidia-smi
若显示:
同时在ubuntu右上角打开电脑信息显示显卡信息如下:
则证明驱动安装完成。
$3.安装cuda 8.0和cudnn 5.1
Cuda和cudnn下载方法:
https://developer.nvidia.com/cuda-toolkit-archive
https://developer.nvidia.com/cudnn
其中cuDNN需要注册NVIDIA账号才能下载,你也可以找百度云下载,一般都会有。
3.1安装 cuda 8.0
安装依赖项:
安装之前需要进行基本配置,用来安装一些依赖库,这一步切忌省略,否则没戏。
Ctrl+alt+t打开“终端”,在命令行依次输入下面命令:
$ sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler
$ sudo apt-get install --no-install-recommends libboost-all-dev
$ sudo apt-get install libopenblas-dev liblapack-dev libatlas-base-dev
$ sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
$ sudo apt-get install git cmake build-essential
安装cuda:
下载cuda8.0本地deb包后,cd到下载文件路径,终端输入:
$ sudo dpkg -i cuda-repo-ubuntu1604-8-0-local-ga2_8.0.61-1_amd64.deb
$ sudo apt-get update
$ sudo apt-get install cuda-repo-ubuntu1604-8-0-local
自动配置成功就好。
将CUDA路径添加至环境变量在终端输入:
$ sudo gedit /etc/profile
在profile文件中添加:
export CUDA_HOME=/usr/local/cuda-8.0
export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}
之后source profile文件使其生效。
$ source /etc/profile
测试,在终端输入:
$ nvcc -V
会得到相应的nvcc编译器相应的信息,那么CUDA配置成功了。
如果要进行cuda性能测试,可以进行:
$ cd /usr/local/cuda/samples
$ sudo make -j8
编译完成后,可以进samples/bin/.../.../...的底层目录,运行各类实例。
3.2安装 cuDNN 5.1
下载cudnn 5.1.tgz后解压,cd到解压后的文件夹,里面包含两个文件夹include和lib64,终端输入下述命令即可。
$ sudo cp include/cudnn.h /usr/local/cuda/include/
$ sudo cp lib64/* /usr/local/cuda/lib64/
$ cd /usr/local/cuda/lib64
$ sudo ln -sf libcudnn.so.5.1.10 libcudnn.so.5
$ sudo ln -sf libcudnn.so.5 libcudnn.so
$ sudo ldconfig -v
$4.安装opencv 3.3
Opencv下载方法:
往往Ubuntu系统自带低版本的opencv,因为我们需要高版本opencv3.3,所以可以选择在github上下载opencv源码安装包,直接进行编译安装。
源码下载链接如下:
https://github.com/opencv/opencv/tree/3.3.0
安装方式
下载完成后,命令行cd到源码文件夹,新建build文件夹,cd到build文件夹,终端输入:
$ cd opencv3.3.0
$ mkdir build
$ cd build
$ cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
其中CMAKE_INSTALL_PREFIX指定的是Ubuntu系统自带的Python目录,默认是/usr/local
下面开始编译:
$ sudo make -j4
其中 -j4数字表示自己本子的cpu核数,这样编译可以更快,我的是四核。
编译完成后开始安装
$ sudo make install
等待安装完成即可。
测试安装
cd进入opencv目录下的samples文件夹,cmake编译例程文件生成可执行文件,再进入sample目录下的cpp文件夹,开始执行文件:
$ cd opencv/opencv-3.0.0-beta/samples/
$ sudo cmake .
$ sudo make -j $(nproc)
$ cd cpp/
$ ./cpp-example-facedetect girls.jpg
$5.安装caffe和openpose 1.2.0
Openpose下载方法:
https://github.com/CMU-Perceptual-Computing-Lab/openpose
注意:只需要下载openpose安装包,它包含了各版本的caffe pack,不需要另外下载caffe安装包。
下载完成后cd到安装包文件夹,首先安装caffe,在openpose源码的第三方库中,使用cmake编译安装caffe。
然后同样使用cmake编译安装openpose即可,过程遵循标准的cmake编译安装流程,很简单不再赘述。
Openpose1.2.0配置完成!