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

安装pip3sudo 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 clone https://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 -b v1.2.2 https://github.com/ageitgey/face_recognition.git

100M左右,下载有点久

切换目录,安装cd face_recognition

pip3 install -r requirements.txt

同样的,安装也行久,会停在Running setup.py bdist_wheel for dlib ...,耐心等待

安装到pythonsudo python3 setup.py install

安装完face_recongnition后,我们就可以使用这个库来实现人脸识别了

首先,我们要准备来两张带人脸的图片wget http://cdn.bossky8023.com/img/idcard.jpgwget 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

没意外的话,会得到下面的结果距离 #0.1891663484008163

face_recongnition的更多使用方法可以参考我们克隆下来的项目里面的examples

python实现人脸识别比对_人脸识别并比对实现(基于face_recognition)相关推荐

  1. python实现人脸识别复杂么_人脸识别没有那么复杂,Python一行代码就可以办到

    今天给大家分享一个,用一行python代码实习人脸识别. 环境要求: Ubuntu17.10 Python 2.7.14 环境搭建: 1. 安装 Ubuntu17.10 > 安装步骤在这里 2. ...

  2. 易语言python识别图片验证码_图片识别-打码平台-打码网站-识别验证码-图鉴网络科技有限公司...

    Android脚本 Import "Cjson.lua" Import "ttddm.lua" Import "ShanHai.lua" / ...

  3. yolov3识别的类别_车型识别相关技术

    原文链接:https://blog.csdn.net/weixin_36431018/article/details/112369786 在交通安防中,车型识别是一个重要的技术点,车型识别主要包括车辆 ...

  4. halcon识别ocr汉字_手写汉字识别——手写文本快速电子化的好方法

    最近在试着把之前手写的一些文本录入电脑,在动手敲打之前,我就想会不会已经有很好的工具能够解决这个问题了呢?一搜索一尝试,我才发现原来手写汉字识别已经发展到很实用的地步啦-连我这..一手烂字都能有很高的 ...

  5. java名片识别源码_名片识别名片信息快速提取

    原标题:名片识别名片信息快速提取 以中安的名片识别技术为例剖析,它可提供移动端名片识别OCR API,同时还提供云端名片识别OCR API. Application Programming Inter ...

  6. java名片识别源码_名片识别

    原标题:名片识别 以文通科技的名片识别技术为例剖析,它可提供移动端名片识别OCR API,同时还提供云端名片识别OCR API. Application Programming Interface,简 ...

  7. python人脸识别环境搭建_人脸识别:Windows10系统环境搭建

    环境: win10 + python 3.6.0 1. 安装dlib库 dlib下载地址 下载好解压到C:\Users\admin\AppData\Local\Programs\Python\Pyth ...

  8. 人脸识别撞脸名画_人脸识别_“名画匹配”刷爆屏 想知道你和哪副名画撞脸了吗...

    "名画匹配"刷爆屏 想知道你和哪副名画撞脸了吗 2018-01-25 世界上那么多名画,每一幅画都有独一无二的意义.和你的脸一样,这些画各有特色,每一幅都是特别的存在,想知道你和哪 ...

  9. python人脸比对算法_人脸比对算法-人脸比较(1:N)

    第1章前言 设计一个1:N的人脸,随着N的增加,最小化精度降低的解决方案具有很强的现实意义.人脸1:N的框架大致可分为:人脸检测,人脸对齐,人脸映射和人脸识别LOSS设计,其结构如下图所示: 图1:人 ...

最新文章

  1. ssh mysql 警告_ssh 对数据表查询出错。警告: SQL Error: 1064, SQLState: 42000
  2. java 队列的数组_JAVA-循环数组实现简单的队列
  3. macosx jdk_MacOSX环境上的多个Java JDK
  4. 329. 矩阵中的最长递增路径
  5. 七步从AngularJS菜鸟到专家(6):服务
  6. ts引入公共方法_angular 封装公共方法
  7. python 中有x y y x吗_Python: x += y 与 x = x+y 的区别
  8. false true求或_如何依据【关键字】求【数量和】
  9. sql server2012中使用convert来取得datetime数据类型样式(全)
  10. MySQL 相关知识细节及解析
  11. Linux学习:curl 与 wget命令
  12. php游戏充值平台源码,PHP平台源码下载-PHP第四方支付平台源码pc端下载
  13. 2022年最新前端面试题(大前端时代来临卷起来吧小伙子们..持续维护走到哪记到哪)
  14. 如何满足python安装需求升级win7到SP1版本
  15. 在谷歌下面打开之后显示金山毒霸页面
  16. Android手机截图怎么做,手机截屏怎么弄,详细教您手机截图方法
  17. java比较炫的登录界面_教你写一个炫酷的Material Design 风格的登录和注册页面
  18. 光纤:光纤和光纤布线
  19. java中equals合if的用法_java中的equals和==
  20. RabbitMQ 延迟队列详解

热门文章

  1. springboot 创建地址_使用 SpringBoot Admin监控Spring Boot 服务
  2. python pip的配置
  3. JS 异步发展流程(回调函数=Async/await)
  4. 弹飞大爷 BZOJ4764 LCT维护内向基环树森林
  5. Eclipse控制台输出信息的控制
  6. FPGA时序约束、时序分析(一)
  7. 安卓 adb 的原理浅析
  8. android 画笔
  9. Linux命令Man解释:PPPD(8):点对点daemon协议
  10. 简单总结PPPoE设置