Dlib 是一个机器学习的 C++ 库,包含了许多机器学习常用的算法,其内容涵盖机器学习、图像处理、数值算法、数据压缩等。而且文档和例子都非常详细,本文将介绍如何在 macOS 环境下搭建运行环境,并通过两个例子演示 Dlib 的强大功能。
brew install openblas
brew install opencv
如果 brew
不可用,请先安装 Homebrew,安装命令如下:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
安装好 brew 后,顺便使用 brew 安装上 wget,后面会用到。
brew install wget
The XQuartz project is an open-source effort to develop a version of the X.Org X Window System that runs on OS X. Together with supporting libraries and applications.
运行 dlib 需要 XQuartz,可以到 XQuartz 官网 下载安装。
由于安装 dlib 时需要用到 cmake 命令,若该命令不可用,请到CMake 官网下载进行安装。
安装完成之后,使用如下命令让终端识别 cmake 命令:
sudo "/Applications/CMake.app/Contents/bin/cmake-gui" --install
使用以下 git 命令克隆到本地或到 GitHub 直接下载。
git clone https://github.com/davisking/dlib.git
macOS 默认已经自带了 git 工具,如果 git
命令不可用,可以到 git 官网 下载安装。
dlib 下载完成之后,便可以对源码进行编译,该过程比较慢可能需要几分钟。编译工具用到上面的 CMake,请确保安装正常,并注意编译命令中的空格。
cd dlib/examples
mkdir build
cd build
cmake ..
cmake --build . --config Release
cd dlib/examples/build/
# 下载 face landmark 模型
wget http://dlib.net/files/shape_predictor_68_face_landmarks.dat.bz2
# 解压文件
./webcam_face_pose_ex
如果出现以下错误,你可以使用下载工具到 这里 下载并解压到 build/
目录下,大概60多MB。
You need dlib's default face landmarking model file to run this example.
You can get it from the following URL:
http://dlib.net/files/shape_predictor_68_face_landmarks.dat.bz2
Unable to open shape_predictor_68_face_landmarks.dat for reading.
重新运行 ./webcam_face_pose_ex
,不出意外的话,会自动调起 XQuartz 窗口并打开 Mac 的摄像头进行人脸实时检测并标记。检测效果如下图所示:
找一张包含人脸的图片并放在 dlib/examples/faces 目录中,使用 face_landmark_detection_ex
可以标记出图片中的人脸并截取出来。
./face_landmark_detection_ex shape_predictor_68_face_landmarks.dat ../faces/team.jpeg
注意文件路径和名称,检测效果如下图所示:
人脸截图如下图所示: