人脸识别(3)--Python3.6+dlib19.4在Mac下环境搭建

来源:互联网 发布:同步备份软件 编辑:程序博客网 时间:2024/05/19 15:40

  前面讲到用OpenCV实现简单的人脸识别,这里用dlib实现人脸的关键点检测。

    • 前提条件
    • dlib之前的准备
    • 安装dlib依赖
    • 安装dlib
    • 实例检测

前提条件

系统环境:这里是在mac系统下进行开发的,其他系统仅供参考。
Python:安装python3.6环境。具体操作见之前的博客:http://blog.csdn.net/u012842255/article/details/70171617

dlib之前的准备

进入终端安装一系列可能用到的包:
安装easy-install:

$ sudo pip install python-setuptools

安装python-dev:

$ sudo pip install python-dev

安装numpy:

$ sudo pip install numpy

安装PIL:

$ sudo pip install Image

安装scipy:

$ sudo apt-get install python-scipy

安装matplotlib:

$ sudo apt-get install python-matplotlib

安装dlib依赖

dlib安装需要的依赖有openblas,opencv:

$ brew install openblas
$ brew install opencv

dlib的so库需要的依赖libboost:

$ sudo pip install libboost-python-dev cmake

安装Mac的X11:
  X11是执行Unix程序的图形窗口环境。Mac OS X本身的程序是Aqua界面的,但是为了能够兼容unix和Linux移植过来的程序,需要x11窗口环境。

  运行dlib需要X11,但Mac目前没有自带X11,需要重新下载安装,下载地址为:https://www.xquartz.org/,下载后直接安装,默认安装目录为/opt/X11,需要在/usr/loca/opt目录下创建软连接,创建命令如下,创建后重启Mac。

$ cd /usr/local/opt
$ ln -s /opt/X11 X11

安装dlib

进入dlib官网下载安装包http://dlib.net/,选择合适位置解压。或者使用git下载:

$ git clone https://github.com/davisking/dlib.git

下载完成后进行解压与安装:

$ cd dlib/examples
$ mkdir build
$ cd build
$ cmake ..
$ cmake –build . –config Release

安装dlib中的python模块:
在dlib-18.17及之前的版本中,之后进入python_examples下使用bat文件进行编译,编译需要先安装libboost-python-dev和cmake。

$ cd to dlib-18.17/python_examples
$ ./compile_dlib_python_module.bat

在18.18及之后,采用新的方式,用setup.py安装生成so依赖文件:

$ cd dlib
$ sudo python setup.py install

在得到dlib.so之后将其复制到dist-packages目录下:

$ sudo cp dlib.so /usr/local/lib/python3.6/dist-packages/

设置python环境变量:

# Put the following line in .bashrc or .profile
$ export PYTHONPATH=/path/to/dlib/python_examples:$PYTHONPATH

之后再安装一些可能会用到的依赖包:
安装skimage

$ sudo pip install python-skimage

安装imtools

$ sudo pip install imtools

实例检测

实例1(会出现X11窗口,打开Mac摄像头自动检测人脸并标注人脸的landmar):

$ cd dlib/examples/build/
#下载face landmark模型
$ wget http://dlib.net/files/shape_predictor_68_face_landmarks.dat.bz2
# 解压文件
$ ./webcam_face_pose_ex

实例2(显示有人脸标记的图片):

$ ./face_landmark_detection_ex shape_predictor_68_face_landmarks.dat ../faces/2008_002506.jpg

参考文档:
1. http://www.learnopencv.com/facial-landmark-detection/
2. http://blog.csdn.net/Quincuntial/article/details/53572415
3. http://www.th7.cn/Program/Python/201511/706515.shtml

1 0
原创粉丝点击