人脸识别库 face_recognition
face_recognition
Windows系统环境下安装
默认环境:anaconda的python3.7版本,win10环境
第一步:安装dlib
- 从网络上下载:
http://dlib.net/ 或者 https://github.com/davisking/dlib
下载完成后解压
编译:打开终端,是使用anaconda的python环境定位到dlib文件夹,使用
pyhton setup.py install安装文件。在安装过程遇到的问题:
找不到cmake的问题
官网下载安装包:[https://cmake.org/download/]
下载完成之后,解压缩,然后将cmake的bin文件夹添加在系统环境路径中。
从新使用
pyhton setup.py install安装文件。
第二步:安装face_recognition
使用 pip install face_recognition 安装即可。
用法
- 导入face_recognition
import face_recognition
- 加载图像
图像加载到一个 numpy 数组中
image = face_recognition.load_image_file("your_file.jpg")
- 对图片进行操作
batch_face_locations
使用 cnn 人脸检测器返回图像中人脸边界框的二维数组 ,使用GPU批量处理图像
face_recognition.api.batch_face_locations(images, number_of_times_to_upsample=1, batch_size=128)
参数:
- images:图像列表
- number_of_times_to_upsample: 在图像上寻找人脸的次数 , 数字越大,查找精细
- batch_size: 每个 GPU 处理批次中包含多少图像
返回:
以 css(上、右、下、左)顺序找到的人脸位置的元组列表
compare_faces
面部编码列表与候选编码进行比较,看看它们是否匹配。
face_recognition.api.compare_faces(known_face_encodings, face_encoding_to_check, tolerance=0.6)
参数:
- known_face_encodings: 已知人脸编码列表
- face_encoding_to_check: 要与列表进行比较的单个人脸编码
- tolerance: 人脸之间的距离多少才算是匹配。越低越严格。0.6 是典型的最佳性能
返回:
True/False 值列表
face_distance
给定一个人脸编码列表,将它们与已知的人脸编码进行比较,并获得每个比较人脸的欧几里德距离。距离告诉您面孔的相似程度。
face_recognition.api.face_distance( face_encodings , face_to_compare )
参数:
face_encodings: 要比较的人脸编码列表
face_to_compare: 要比较的人脸编码
返回:
一个 numpy ndarray,每个面的距离与 'faces' 数组的顺序相同
face_encodings
给定一个图像,返回图像中每个人脸的 128 维人脸编码。
face_recognition.api.face_encodings( face_image , known_face_locations=None , num_jitters=1 , model='small' )
参数:
face_image: 包含一张或多张人脸的图像
known_face_locations: 可选 - 已经知道每个人脸的边界框。
num_jitters: 计算编码时对人脸重新采样的次数。更高更准确,但更慢(即 100 慢 100 倍)
model: 可选 - 要使用的模型。“ large ”或“ small ”(默认)仅返回 5 个点,但速度更快。
返回:
128 维人脸编码列表(图像中的每个人脸编码一个)
face_landmarks
给定一个图像,返回图像中每个人脸特征位置(眼睛、鼻子等)的字典
face_recognition.api.face_landmarks( face_image , face_locations=None , model='large' )
参数:
face_image: 要搜索的图像
face_locations: 可选择提供要检查的人脸位置列表。
model: 可选 - 要使用的模型。“large ”(默认)或“small”仅返回 5 个点但速度更快。
返回:
面部特征位置(眼睛、鼻子等)的字典列表
face_locations
返回图像中人脸的边界框数组
face_recognition.api.face_locations( img , number_of_times_to_upsample=1 , model='hog' )
参数:
img: 图像(作为 numpy 数组)
number_of_times_to_upsample:在图像上寻找人脸的次数。较高的数字会发现较小的面孔。
model: 要使用的人脸检测模型。“hog”在 CPU 上不太准确但速度更快。“cnn”是一种更准确的深度学习模型,它经过 GPU/CUDA 加速(如果可用)。 默认为“hog”
返回:
以 css(上、右、下、左)顺序找到的人脸位置的元组列表
load_image_file
将图像文件(.jpg、.png 等)加载到 numpy 数组中
face_recognition.api.load_image_file(file,model='RGB')
参数:
file: 要加载的图像文件名或文件对象
model: 将图像转换为的格式。仅支持“RGB”(8 位 RGB,3 通道)和“L”(黑白)。
返回:
图像内容作为 numpy 数组
人脸识别库 face_recognition的更多相关文章
- 人脸识别-关于face_recognition库的安装
首先十分感谢博客https://blog.csdn.net/scc_722/article/details/80613933,经历过很多尝试(快要醉了),终于看了这篇博客后安装成功. face_rec ...
- face_recognition开源人脸识别库:离线识别率高达99.38%
基于Python的开源人脸识别库:离线识别率高达99.38%——新开源的用了一下感受一下 原创 2017年07月28日 21:25:28 标签: 人脸识别 / 人脸自动定位 / 人脸识别开源库 / f ...
- Python的开源人脸识别库:离线识别率高达99.38%
Python的开源人脸识别库:离线识别率高达99.38% github源码:https://github.com/ageitgey/face_recognition#face-recognitio ...
- Python的开源人脸识别库:离线识别率高达99.38%(附源码)
Python的开源人脸识别库:离线识别率高达99.38%(附源码) 转https://cloud.tencent.com/developer/article/1359073 11.11 智慧上云 ...
- Github开源人脸识别项目face_recognition
Github开源人脸识别项目face_recognition 原文:https://www.jianshu.com/p/0b37452be63e 译者注: 本项目face_recognition是一个 ...
- [深度学习工具]·极简安装Dlib人脸识别库
[深度学习工具]·极简安装Dlib人脸识别库 Dlib介绍 Dlib是一个现代化的C ++工具箱,其中包含用于在C ++中创建复杂软件以解决实际问题的机器学习算法和工具.它广泛应用于工业界和学术界,包 ...
- C# 人脸识别库
.NET 人脸识别库 ViewFaceCore 这是基于 SeetaFace6 人脸识别开发的 .NET 平台下的人脸识别库这是一个使用超简单的人脸识别库这是一个基于 .NET Standard 2. ...
- C# 人脸识别库 0.2
ViewFaceCore 0.2 超简单的 C# 人脸识别库 前言: 首先谢谢大家对这个库的关注,前一篇博文得到了大家的 支持 和 Star,十分开心.本想尽快实现大家的期待的活体检测功能,但是前段时 ...
- 基于Python的开源人脸识别库:离线识别率高达99.38%
项目地址:https://github.com/ageitgey/face_recognition#face-recognition 本文的模型使用了C++工具箱dlib基于深度学习的最新人脸识别方法 ...
随机推荐
- 前端眼里的docker
docker是什么 可以简单的认为docker容器是一个虚拟机,封装就是把这个虚拟机打包,打包后能在任何系统跑,docker装上即用.也可以形象的比喻成一个集装箱,把所有货物都打包好放到箱子里,不需要 ...
- tomcat 安装配置及问题解决
最近没写程序 刚想运行一个jsp程序发现tomcat出现一些问题,然后就重新装了程序,重新配置 总结经验就是不要怕报错,把错误复制下来,百度里面都有解决办法 要安装与自己jdk版本相匹配的tomcat ...
- 帝国CMS批量提取正文内容到简介
最近接到一个帝国CMS模板改版项目,自带的数据可能是采集的,以前的简介字段内容只截取了60个字,新模板的简介60字符太少了,不美观,想让简介都截取200个字,怎么批量修改呢,文章太多了手动改肯定不行, ...
- 进程的概念及multiprocess模块的使用
一.进程 进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础.在早期面向进程设计的计算机结构中,进程是程序的基本执行实体:在 ...
- docker方式安装zabbix
这个示例展现了如何运行支持MySQL数据库的Zabbix server,基于Nginx web服务器运行Zabbix web接口,以及Zabbix Java gateway. 1. 启动一个空的MyS ...
- zabbix proxy cannot perform check now for itemid [xxxxx]: item is not in cache
情况 接上次做完容器部署proxy后,为其添加host进行添加任务. 发现一直没有数据,就到item里面执行 execute now. 然后过了几分钟回来一看,还是没有. Emmm,看下log吧. S ...
- gin框架使用【7.中间件使用】
在 gin中,通过默认的函数,构建一个实现了带默认中间件的 *Engine. r := gin.Default() 默认绑定了Logger和Recovery中间件,帮助我们进行日志输出和错误处理. f ...
- perf性能分析工具使用分享
@ 目录 前言 perf的介绍和安装 perf基本使用 perf list使用,可以列出所有的采样事件 perf stat 概览程序的运行情况 perf top实时显示当前系统的性能统计信息 perf ...
- 不care工具,在大数据平台中Hive能自动处理SQL
摘要:有没有更简单的办法,可以直接将SQL运行在大数据平台? 本文分享自华为云社区<Hive执行原理>,作者: JavaEdge . MapReduce简化了大数据编程的难度,使得大数据计 ...
- Bugku CTF练习题---MISC---眼见非实
Bugku CTF练习题---MISC---眼见非实 flag:flag{F1@g} 解题步骤: 1.观察题目,下载附件 2.拿到手以后发现是一个压缩包,打开是一个Word文档,观察其中的内容,除了开 ...