一行Python代码实现人脸识别
环境说明:
Ubuntu 18.04
Python 3.6.7
环境搭建:
2、安装 git 、cmake 、 python-pip
#安装 git
$ sudo apt-get install -y git
# 安装 cmake
$ sudo apt-get install -y cmake
# 安装 python-pip
$ sudo apt-get install -y python-pip
3、安装编译dlib
安装face_recognition这个之前需要先安装编译dlib
# 编译dlib前先安装 boost
linuxidc@linuxidc:~$ sudo apt-get install libboost-all-dev
# 开始编译dlib
# 克隆dlib源代码
linuxidc@linuxidc:~$ git clone https://github.com/davisking/dlib.git
linuxidc@linuxidc:~$ cd dlib
linuxidc@linuxidc:~/dlib$ mkdir build
linuxidc@linuxidc:~/dlib$ cd build
linuxidc@linuxidc:~/dlib/build$ cmake .. -DDLIB_USE_CUDA=0 -DUSE_AVX_INSTRUCTIONS=1
$ cmake --build .
linuxidc@linuxidc:~/dlib/build$ cmake --build .
(注意中间有个空格)
linuxidc@linuxidc:~/dlib/build$ cd ..
linuxidc@linuxidc:~/dlib$ python3 setup.py install --yes USE_AVX_INSTRUCTIONS--no DLIB_USE_CUDA
The --yes options to dlib's setup.py don't do anything since all these options
are on by default. So --yes has been removed. Do not give it to setup.py.
4、安装 face_recognition
# 安装 face_recognition
linuxidc@linuxidc:~$ pip3 install face_recognition
# 安装face_recognition过程中会自动安装 numpy、scipy 等
环境搭建完成后,在终端输入 face_recognition 命令查看是否成功
linuxidc@linuxidc:~/dlib$ face_recognition --help
Usage: face_recognition [OPTIONS] KNOWN_PEOPLE_FOLDER IMAGE_TO_CHECK
Options:
--cpus INTEGER number of CPU cores to use in parallel (can speed
up processing lots of images). -1 means "use all in
system"
--tolerance FLOAT Tolerance for face comparisons. Default is 0.6.
Lower this if you get multiple matches for the same
person.
--show-distance BOOLEAN Output face distance. Useful for tweaking tolerance
setting.
--help Show this message and exit.
实现人脸识别:
1行代码实现人脸识别示例:
1.首先你需要提供一个文件夹,里面是所有你希望系统认识的人的图片。其中每个人一张图片,图片以人的名字命名:
linuxidc文件夹下有迪巴丽热、尚格云顿的照片
2.接下来,你需要准备另一个文件夹,里面是你要识别的图片:
linuxmi文件夹下是要识别的图片,其中8.jpg与9.jpg是机器不认识的
3.然后你就可以运行face_recognition命令了,把刚刚准备的两个文件夹作为参数传入,命令就会返回需要识别的图片中都出现了谁:
识别成功。