Face Recognition 是一个基于python的人脸识别框架,我们在此之上来实现人脸比对。
环境要求
Python 3.3+ or Python 2.7
macOS or Linux (Windows没有正式支持,但可能可以用)
我的环境
Python 3.5.2
ubuntu 16.04
首先,我们要安装python(有可能已经默认装好了)
sudo apt-get install python3
安装pip3
sudo apt-get install python3-pip
安装dlib,这个过程有点长
先安装基本包
sudo apt-get install -y --fix-missing \
build-essential \
cmake \
gfortran \
git \
wget \
curl \
graphicsmagick \
libgraphicsmagick1-dev \
libatlas-dev \
libavcodec-dev \
libavformat-dev \
libgtk2.0-dev \
libjpeg-dev \
liblapack-dev \
libswscale-dev \
pkg-config \
python3-dev \
python3-numpy \
software-properties-common \
zip
克隆原代码
git clonehttps://github.com/davisking/dlib.git
切换目录,编译
cd dlib
mkdir build;
cd build;
cmake .. -DDLIB_USE_CUDA=0 -DUSE_AVX_INSTRUCTIONS=1;
cmake --build .
切换目录,安装
cd ..
python3 setup.py install --yes USE_AVX_INSTRUCTIONS --no DLIB_USE_CUDA
安装face_recongnition
克隆原代码
git clone https://github.com/ageitgey/face_recognition.git
100M左右,下载有点久
切换目录,安装
cd face_recognition
pip3 install -r requirements.txt
同样的,安装也很久
可能会停在Running setup.py bdist_wheel for dlib ...耐心等待
安装到python
sudo python3 setup.py install
安装完face_recongnition后,我们就可以使用这个库来实现人脸识别了
首先,我们要准备来两张带人脸的图片
wget http://cdn.bossky8023.com/img/idcard.jpg
wget http://cdn.bossky8023.com/img/people.jpg
idcard.jpg 我们假设是证件,people.jpg是要识别的人脸
然后编辑 文本
vi distance.py
内容大概如下
import face_recognition
known_image = face_recognition.load_image_file("idcard.jpg")
known_encodings = []
for i in face_recognition.face_encodings(known_image) :
known_encodings.append(i)
image_to_test = face_recognition.load_image_file("people.jpg")
image_to_test_encoding = face_recognition.face_encodings(image_to_test)[0]
face_distances = face_recognition.face_distance(known_encodings, image_to_test_encoding)
for i, face_distance in enumerate(face_distances):
print("距离 #{}".format(face_distance, i))
print()
face_recongnition 提供了一个判断两个人脸的距离(不相似的程度)的方法。
一般来讲,距离越小,人脸越像,官方建议,距离值小于0.6的人脸应该就算是匹配的了。
运行代码
python3 distance.py
没意外的话,会得到下面的结果
face_recongnition的更多使用方法可以参考我们克隆下来的项目里面的examples
完!
↓↓↓扫码看BUG↓↓↓
领取专属 10元无门槛券
私享最新 技术干货