face_recognition是一个强大、简单、易上手的人脸识别开源项目,并且配备了完整的开发文档和应用案例,特别是兼容树莓派系统。此项目是世界上最简洁的人脸识别库,你可以使用Python和命令行工具提取、识别、操作人脸。
本项目的人脸识别是基于业内领先的C++开源库 dlib中的深度学习模型,用Labeled Faces in the Wild人脸数据集进行测试,有高达99.38%的准确率。但对小孩和亚洲人脸的识别准确率尚待提升。
开源地址:https://github.com/ageitgey/face_recognition

1.问题描述

在Windows使用此face_recognition项目时,由于官方不提供Windows版本:安装时总是遇到不同问题。

不同操作系统的安装方法
在 Mac 或者 Linux上安装本项目
First, make sure you have dlib already installed with Python bindings:
第一步,安装dlib和相关Python依赖:
如何在macOS或者Ubuntu上安装dlib
Then, install this module from pypi using pip3 (or pip2 for Python 2):
pip3 install face_recognition
如果你遇到了幺蛾子,可以用Ubuntu虚拟机安装本项目,看下面这个教程。 如何使用Adam Geitgey大神提供的Ubuntu虚拟机镜像文件安装配置虚拟机,本项目已经包含在镜像中.
在 Mac 或者 Linux上安装本项目 2
修改你的pip镜像源为清华镜像,然后使用pip install face_recognition,可以自动帮你安装各种依赖,包括dlib。只是在安装dlib的时候可能会出问题,因为dlib需要编译,出现的问题一般是gcc或者g++版本的问题,所以在pip install face_recognition之前,可以通过在命令行键入
export CC=/usr/local/bin/gcc export CXX=/usr/local/bin/g++
来指定你gcc和g++对应的位置,(这两句话会临时修改当前终端的环境变量/usr/local/bin/gcc对应你自己gcc或者g++所在目录)。
在树莓派上安装
树莓派安装指南
在Windows上安装
虽然本项目官方并不支持Windows,但一些大神们摸索出了在Windows上运行本项目的方法:
@masoudr写的教程:如何在Win10系统上安装 dlib库和 face_recognition项目
使用Ubuntu虚拟机镜像文件安装配置虚拟机,本项目已经包含在这个镜像中
如何使用Adam Geitgey大神提供的Ubuntu虚拟机镜像文件安装配置虚拟机,本项目已经包含在镜像中(需要电脑中安装VMWare Player 或者 VirtualBox)

使用conda和pip都无法直接安装。

2.问题解决

经过不断尝试,最终选择用pip安装指定版本dlib==19.7.0,再安装face_recognition。(如果需要请自行安装Cmake):

pip install dlib==19.7.0
pip install face_recognition

3.简单使用

face_recognition基于dli封装很多常用人脸识别相关算法,这里举两个常用例子

1).人脸检测

import face_recognition
import cv2
img_path = "gril.jpg"
imgs = cv2.imread(img_path,cv2.IMREAD_COLOR)face_locations = face_recognition.face_locations(imgs)
print(face_locations)cv2.rectangle(imgs,(face_locations[0][1],face_locations[0][0]),(face_locations[0][3],face_locations[0][2]),color=(0,255,0))while True:cv2.imshow('image',imgs)if(cv2.waitKey(0)==27):breakelse:cv2.imwrite("save.jpg",imgs)cv2.destroyAllWindows()

如图所示。

2).人脸比对(识别)

人脸识别原理其实很容易理解,就是对人脸提取特征,再对特征进行相似度(或者距离比对),最后选取合适阈值来判断是否为同一人

代码一,两张刘亦菲照片:输出 [True]

import face_recognition
known_image = face_recognition.load_image_file("lyf.jpg")
unknown_image = face_recognition.load_image_file("lyf1.jpg")biden_encoding = face_recognition.face_encodings(known_image)[0]
unknown_encoding = face_recognition.face_encodings(unknown_image)[0]results = face_recognition.compare_faces([biden_encoding], unknown_encoding)print(results)

代码二,刘亦菲与郭富城:输出 [False]

import face_recognition
known_image = face_recognition.load_image_file("lyf1.jpg")
unknown_image = face_recognition.load_image_file("gfc.jpg")biden_encoding = face_recognition.face_encodings(known_image)[0]
unknown_encoding = face_recognition.face_encodings(unknown_image)[0]results = face_recognition.compare_faces([biden_encoding], unknown_encoding)print(results)

conda安装cv2_『开发技术』Windows极简安装使用face_recognition实现人脸识别相关推荐

  1. 『开发技术』Python中文分词工具SnowNLP教程

    介绍一个好用多功能的Python中文分词工具SnowNLP,全称Simplified Chinese Text Processing.在实现分词的同时,提供转换成拼音(Trie树实现的最大匹配)及繁体 ...

  2. 『中级篇』docker企业版本地安装之UCP(57)

    原创文章,欢迎转载.转载请注明:转载自IT人故事会,谢谢! 原文链接地址:『中级篇』docker企业版本地安装之UCP(57) 安装虚拟机,准备安装docker ee,源码:https://githu ...

  3. python的pyaudio教程入门_『开发技巧』Python音频操作工具PyAudio上手教程

    『开发技巧』Python音频操作工具PyAudio上手教程 ​ 0.引子 当需要使用Python处理音频数据时,使用python读取与播放声音必不可少,下面介绍一个好用的处理音频PyAudio工具包. ...

  4. python音频分析工具_『开发技巧』Python音频操作工具PyAudio上手教程

    『开发技巧』Python音频操作工具PyAudio上手教程 ​ 0.引子 当需要使用Python处理音频数据时,使用python读取与播放声音必不可少,下面介绍一个好用的处理音频PyAudio工具包. ...

  5. python处理音频的软件_『开发技巧』Python音频操作工具PyAudio上手教程

    『开发技巧』Python音频操作工具PyAudio上手教程 ​ 0.引子 当需要使用Python处理音频数据时,使用python读取与播放声音必不可少,下面介绍一个好用的处理音频PyAudio工具包. ...

  6. python录音pyaudio_『开发技巧』Python音频操作工具PyAudio上手教程

    『开发技巧』Python音频操作工具PyAudio上手教程 ​ 0.引子 当需要使用Python处理音频数据时,使用python读取与播放声音必不可少,下面介绍一个好用的处理音频PyAudio工具包. ...

  7. Arduino可穿戴开发入门教程Windows平台下安装Arduino IDE

    Arduino可穿戴开发入门教程Windows平台下安装Arduino IDE Windows平台下安装Arduino IDE Windows操作系统下可以使用安装向导和压缩包形式安装.下面详细讲解这 ...

  8. PB安装包,PB安装程序,PB开发工具,powerbuilder安装包,powerbuilder安装程序,powerbuilder开发工具下载地址

    B安装包,PB安装程序,PB开发工具,powerbuilder安装包,powerbuilder安装程序,powerbuilder开发工具下载地址 如果不能打开请复制网址粘贴到浏览器中 http://p ...

  9. 【Tensorflow深度学习】Tensorflow2.0GPU版极简安装

    Tensorflow2.0的安装 前言 Anaconda3的安装 极简安装1 极简安装2 测试安装 前言 安装深度学习的开发环境坑挺多的...记录一下. 标准安装装起来坑太多了,极简安装除了下个Ana ...

  10. [重庆思庄每日技术分享]-Windows手动离线安装netframework3.5

    在安装sqlserver时发现Windows系统没有安装netframe3.5,通过下面步骤进行手动安装 1.下载NetFx3.cab 2.将文件放在c:\windows文件夹下 3.通过命令安装 d ...

最新文章

  1. python 类 公有属性、私有属性、公有方法、私有方法
  2. SQL 中字母大小写转换
  3. ETSI — MEC — 移动性支持
  4. 关于web项目当中的mybatis的xml 文件的配置启动报错的解决。
  5. 高校胜负欲PK合辑,看看你的母校在拼什么?最服的还是它!
  6. resin php extensions sockets,linux 有关笔记
  7. 解放原画师!Wav2Lip 用 AI 听音同步人物口型
  8. Centos7.9安装Mysql5.7.32_mysql-5.7.32-1.el7.x86_64.rpm-bundle.tar_亲测成功---Linux工作笔记041
  9. TypeError: unhashable type: 'list'
  10. 面试官:换人!赶快换人!连CopyOnWriteArrayList都没听过!确实没听过
  11. JDK GUI对应的c文件
  12. 生活娱乐 长的最奇怪的东西——骡耳犰狳
  13. 基于深度学习的图像超分论文推荐
  14. 2021 Java面试真题集锦
  15. 台式机计算机上的无线开关,台式机无线网络开关在哪
  16. 关于电视盒子/XBOX/手机使用kodi访问局域网下的windows电脑文件/电影
  17. 想开服,又没有技术怎么办?传奇开服技术要学多久?开服技术好学吗
  18. java中private作用_java中private什么意思
  19. 根据文件路径区分文件的所属类型,并返回对应类型的文件路径
  20. 软件架构设计 大型网站技术架构与业务架构融合之道

热门文章

  1. 测试es from size error,from + size must be less than or equal to: [10000]异常问题
  2. 远程连接ubuntu的MongoDB遇到的坑
  3. SQLServer之创建Transact-SQL DDL触发器
  4. ajax+springmvc返回中文乱码的解决办法
  5. Spring自动注解装配、自动检测装配Bean配合过滤组件使用
  6. 面向对象技术之系统分析:类图
  7. 思科路由器Ez***解决地址重叠测试
  8. 玩转Android---组件篇---Broadcast Receiver(广播接收器)
  9. Linux内核调试 - 一般人儿我都不告诉他(一)
  10. 「转载」微服务分布式架构中,如何实现日志链路跟踪?