开源人脸识别face_recognition

环境:python36

1、安装dlib、face_recognition

windows版

下载dlib,cp后面是py版本

下载地址:https://pypi.org/simple/dlib/

提供一个36版本的网盘下载地址:https://pan.baidu.com/s/1nVXQWf0v6Mhvgq8uSNI7qg

进入文件目录执行

安装face_recognition

pip3 install face_recognition

其他模块缺什么安装什么,pip3 install xxx

备注一下:

1、cv2对应的是openCV,下载地址:https://pypi.org/project/opencv-python/#files

  百度网盘地址:https://pan.baidu.com/s/1q7G3Xbt2MZ0Ynm_etaAIDw(windows)、https://pan.baidu.com/s/1T7Wdj0XqHVBdZbK5eGjMJw(linux)

 2、dlib官网:http://dlib.net/ 

  dlib是C++的库

3、Pillow是PIL的升级版,PIL最多只支持到py27

linux版

第一步:

yum -y install gcc gcc-c++ cmake boost-devel openblas-devel

第二步:

pip3 install dlib

第三步:

pip3 install face_recognition

常见错误:https://xwsoul.com/posts/684 

internal compiler error: Killed (program cc1plus)

造成错误可能的原因:系统没有交换分区, 编译过程中内存耗尽, 导致了编译中断 …
解决方式也很简单, 就是增加一个交换分区:

1. 创建分区文件, 大小 2G

dd if=/dev/zero of=/swapfile bs=1k count=2048000

2. 生成 swap 文件系统

mkswap /swapfile

3. 激活 swap 文件

swapon /swapfile

这样就没有问题了, 但是这样并不能在系统重启的时候自动挂载交换分区, 这样我们就需要修改 fstab.
修改 /etc/fstab 文件, 新增如下内容:

/swapfile  swap  swap    defaults 0 0

这样每次重启系统的时候就会自动加载 swap 文件了.

1.2、测试

import face_recognition
import dlib
import numpy as np
import PIL.Image
import cv2
import matplotlib.pyplot as plt


basepath = 'D:\pyimgtest\G0000001\'
first_image = face_recognition.load_image_file(basepath + "201901241133425.jpg")
second_image = face_recognition.load_image_file(basepath + "201901241133427.jpg")


f1 = face_recognition.face_locations(first_image,number_of_times_to_upsample=0, model="cnn")
f2 = face_recognition.face_locations(second_image,number_of_times_to_upsample=0, model="cnn")


first_encoding = face_recognition.face_encodings(first_image,f1)[0]
second_encoding = face_recognition.face_encodings(second_image,f2)[0]

results = face_recognition.compare_faces([first_encoding], second_encoding,0.38)

print('results:'+str(results))

尴尬的是电脑跑不动,配置太差

 转载请注明博客出处:http://www.cnblogs.com/cjh-notes/

原文地址:https://www.cnblogs.com/cjh-notes/p/10427072.html