人脸识别概述-opencv中文文档
1.人脸识别技术概述
人脸识别技术分为人脸检测和人脸识别两个环节组成。人脸检验负责检测照片中是否有人脸,更重要的是把照片中人脸无关的部分删除,
一般人脸检测可以使用opencv开源库来实现,在人脸检测环节中,主要关注三个指标:
- 检测率:存在人脸并且被检测出的图像在所有存在人脸图像中比例
- 漏检率:存在人脸但没有检测出的图像在所有存在人脸图像中比例
- 误检率:不存在人脸但是检测出存在的图像在所有不存在人脸图像中比例
一般人脸识别环节,其应用场景分为1:1和1:N
1:1为判定两个照片是否是同一人,
1:N,随着人的照片各种各样,N变大误识别率也会升高,识别时间将越来越长,在这里就需要对二个照片设置阈值,通过阈值来判定通过率。
这里的误识别率就是照片A被判定位B的比率。
通过率就是确实是A的概率。
2.人脸识别流程:
2.1 Input image到Detect
输入:原始的人脸图像
输出:人脸位置的边缘框
这步被称为人脸检测,在openface中,使用dlib或者opencv来实现,通常不存在使用深度学习方法。
2.2 Detect到Transform到Crop
输入:原始人脸图像+人脸位置的边缘框
输出:只包含人脸的图像
2.3 Crop到Representation
输入:只包含人脸的图像
输出:向量(又向量表示图像),将人脸图像转化为向量表示
应用到人脸识别判定中
- 可以类似VGG16模型,通过图像输入计算特征生成一个全连接类别概率。
- 也可以是通过对比不同人脸的向量,计算向量之间的距离来反映两个人脸之间的相似度。通过距离可以选择欧几里得距离。
3.在python环境下实现人脸识别
3.1 安装TensorFlow,opencv包
TensorFlow安装:
安装TensorFlow有二种方式一种为CPU安装,一种为GPU安装,这里的意思可以解释为因为做深度学习,TensorFlow电脑的计算量特别大,在不同的处理器下安装TensorFlow的计算速度不同。
在conda环境下安装TensorFlow:
1.运行Anacoda Prompt环境,查询自己的python版本
python --version
2.创建安装TensorFlow环境
conda create --name tensorflow python=3.7.6
3.激活TensorFlow
activate tensorFlow
4.确保tensorflow环境已添加
conda info --envs
5.退出TensorFlow环境
deactivate
6.在conda环境下安装TensorFlow
pip install tensorflow
#由于TensorFlow文件很大网速过慢通常下载会报错
pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='pypi.tuna.tsinghua.edu.cn', port=443): Read timed out.
使用命令
pip --default-timeout=1000 install -U tensorFlow
#设置下载默认等待时长
opencv安装:
这里介绍在Anaconda下安装opencv
1.首先找到opencv下载地址:
https://www.lfd.uci.edu/~gohlke/pythonlibs/
在网页中找到对应自己python版本下whl文件
我的python版本是3.7,因此在下面找到cp37和win_amd64的文件下载
2.通过cmd命令,进入opencv下载的文件目录下,运行以下代码
pip install opencv_python‑4.5.2‑cp37‑cp37m‑win_amd64.whl
opencv中文文档教程
open中文文档
人脸识别概述-opencv中文文档相关推荐
- OpenCV中文文档4.0.0学习笔记(更新中……)
系列文章目录 文章目录 系列文章目录 前言 一.简介 1.OpenCV-Python教程简介 2.OpenCV-Python 3.OpenCV-Python教程 4.OpenCV 需要你!!! 二.G ...
- OpenCV中文文档
在Ubuntu系统中安装OpenCV-Python 简单介绍一种方式,网上也有很多种安装教程. 使用终端中的以下命令安装 python-opencv(以 root 用户身份). $ sudo apt- ...
- PlantCV中文文档
PlantCV中文文档 1. 简介 1. 欢迎来到PlantCV文档 总览 开始 教程 贡献 版本 2. PlantCV Namespace 2.1 PlantCV 2.1.1 分析颜色 2.1.2 ...
- 【Scikit-Learn 中文文档】数据集加载工具 - 用户指南 | ApacheCN
中文文档: http://sklearn.apachecn.org/cn/stable/datasets/index.html 英文文档: http://sklearn.apachecn.org/en ...
- Scikit-Learn 中文文档】数据集加载工具 - 用户指南 | ApacheCN
中文文档: http://sklearn.apachecn.org/cn/stable/datasets/index.html 英文文档: http://sklearn.apachecn.org/en ...
- 【Scikit-Learn 中文文档】40 数据集加载工具 - 用户指南 | ApacheCN
中文文档: http://sklearn.apachecn.org/cn/stable/datasets/index.html 英文文档: http://sklearn.apachecn.org/en ...
- 【Scikit-Learn 中文文档】四十:数据集加载工具 - 用户指南 | ApacheCN
中文文档: http://sklearn.apachecn.org/cn/stable/datasets/index.html 英文文档: http://sklearn.apachecn.org/en ...
- OpenGIS中文文档
OpenGIS中文文档 OpenGIS(Open Geodata Interoperation Specification,开放地理数据互操作规范) 2.1. 前言 o2.1.1. 什么是开放GIS ...
- Spring Cloud Dalston.RELEASE中文文档
Spring Cloud Dalston.RELEASE中文文档 Spring Cloud 目录 特性 云原生应用程序 Spring Cloud上下文:应用程序上下文服务 引导应用程序上下文 应用程序 ...
最新文章
- Spring框架是怎么解决Bean之间的循环依赖的 (转)
- 026-请问你怎么测试网络协议
- jquery eval解析JSON中的注意点介绍
- Python 3 利用 subprocess 实现管道( pipe )交互操作读/写通信
- 项目问题思考之策略模式
- Python分类模型评估
- 哈啰在分布式消息治理和微服务治理中的实践
- linux内核的I2C子系统详解5——i2c_driver的注册、i2c_client的来源
- 怎么一步步编写简单的PHP的Framework(十九)
- 计算机自带游戏在哪里,win10自带游戏,教您Win10纸牌游戏在哪
- Ubuntu 20.04 搭建hadoop 集群
- u盘感染病毒文件夹变成exe
- python怎么创建窗口_python如何设计窗口
- 算法入门模拟-剪刀石头布
- 黑马程序员JAVAEE企业级开发应用教程笔记
- vue二级路由和重定向问题
- Android与鸿蒙系统安全(一)
- 皮球从某给定高度自由落下,触地后反弹到原高度的一半,再落下,再反弹,……,如此反复。问皮球在第n次落地时,在空中一共经过多少距离?第n次反弹的高度是多少?
- 虚拟服务器安装管理工具,easypanel虚拟主机管理面板v1.9.2安装版-虚拟主机管理软件...
- 超清动态桌面壁纸大全