树莓派上如何安装dlib for python

一、写在前面

(一)我为什么要装dlib

我要基于python3.5做一个人脸识别照相机。OpenCV用于摄像头控制以及图像处理,dlib用于人脸检测、特征计算和比对。

(二)我的系统环境

  • 硬件:树莓派3B、外置摄像头(10几年前的usb webcam了)
  • 操作系统:Raspbian

(三)主要失败经历

  • 安装的时候基本上到95%树莓派就死掉了
    因为在编译Dlib库的时候需要的内存过大,会导致系统杀死进程。树莓派3只有1GB的RAM。这个1GB的RAM负责所有的系统操作,显示GUI /桌面以及处理我们的编译。因此,需要使用几步来解决这个问题。
    原文可以参考:https://www.pyimagesearch.com/2017/05/01/install-dlib-raspberry-pi/

原文中是在python虚拟环境中安装dlib和相关依赖,我的实际环境不需要。

二、安装前的准备工作

先到http://dlib.net/下载dlib,这个耗时长。边下载边做下面的事情。

  1. 扩大虚拟内存
    修改虚拟内存配置文件:
$ sudo nano /etc/dphys-swapfile

将CONF_SWAPSIZE=100改为 CONF_SWAPSIZE=1024
即是把虚拟内存从100M改为1G,然后重启虚拟内存相关服务:

$ sudo /etc/init.d/dphys-swapfile stop
$ sudo /etc/init.d/dphys-swapfile start
  1. 设置启动后进入命令终端而不是图形界面
$ sudo raspi-config

按以下路径选择选项并修改:
Boot Options => Desktop / CLI => Console Autologin

  1. 设置GPU占用内存的大小
$ sudo raspi-config

Advanced Options => Memory Split
将GPU可用内存改为16。作用就是把更多的内存给CPU用。

三、安装依赖库

dlib需要以下依赖:

  1. Boost
  2. Boost.Python
  3. CMake
  4. X11
    安装方法:
$ sudo apt-get update
$ sudo apt-get install build-essential cmake libgtk-3-dev libboost-all-dev -y

四、用pip3安装其他dlib运行依赖的库

$ pip3 install numpy
$ pip3 install scipy
$ pip3 install scikit-image

五、正式安装

解压下载好的dlib,进入dlib目录后

$ sudo python3 setup.py install 

这一步耗时是最长的了,耐心等待。

六、验证

$ python3
Python 3.4.2 (default, Oct 19 2014, 13:31:11) 
[GCC 4.9.1] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import dlib
>>>

七、把虚拟内存和GPU使用内存改回原始值

修改方法见“二、修改前的准备工作”

收工。

你可能感兴趣的:(树莓派上如何安装dlib for python)