人脸识别概述-opencv中文文档

本文涉及的产品
视觉智能开放平台,分割抠图1万点
视觉智能开放平台,图像资源包5000点
视觉智能开放平台,视频资源包5000点
简介: 人脸识别概述-opencv中文文档

1.人脸识别技术概述


人脸识别技术分为人脸检测和人脸识别两个环节组成。人脸检验负责检测照片中是否有人脸,更重要的是把照片中人脸无关的部分删除,


一般人脸检测可以使用opencv开源库来实现,在人脸检测环节中,主要关注三个指标:


  • 检测率:存在人脸并且被检测出的图像在所有存在人脸图像中比例
  • 漏检率:存在人脸但没有检测出的图像在所有存在人脸图像中比例
  • 误检率:不存在人脸但是检测出存在的图像在所有不存在人脸图像中比例

一般人脸识别环节,其应用场景分为1:1和1:N

1:1为判定两个照片是否是同一人,

1:N,随着人的照片各种各样,N变大误识别率也会升高,识别时间将越来越长,在这里就需要对二个照片设置阈值,通过阈值来判定通过率。

这里的误识别率就是照片A被判定位B的比率。

通过率就是确实是A的概率。


2.人脸识别流程:


2021051313570138.png


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
• 1



2.创建安装TensorFlow环境


conda create --name tensorflow python=3.7.6
• 1


3.激活TensorFlow


activate tensorFlow
• 1


4.确保tensorflow环境已添加


conda info --envs
• 1

5.退出TensorFlow环境

deactivate
• 1



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文件

20210513145455147.png

我的python版本是3.7,因此在下面找到cp37和win_amd64的文件下载


2.通过cmd命令,进入opencv下载的文件目录下,运行以下代码


pip install opencv_python‑4.5.2‑cp37‑cp37m‑win_amd64.whl
• 1


opencv中文文档教程


open中文文档

相关文章
|
6月前
|
人工智能 API 数据安全/隐私保护
Azure AI - Azure人脸识别任务概述与技术实战
Azure AI - Azure人脸识别任务概述与技术实战
216 1
|
6月前
|
存储 算法 Linux
【实战项目】网络编程:在Linux环境下基于opencv和socket的人脸识别系统--C++实现
【实战项目】网络编程:在Linux环境下基于opencv和socket的人脸识别系统--C++实现
218 7
|
3月前
|
机器学习/深度学习 算法 机器人
|
3月前
|
机器学习/深度学习 人工智能 监控
利用Python和OpenCV实现实时人脸识别系统
【8月更文挑战第31天】本文将引导您了解如何使用Python结合OpenCV库构建一个简易的实时人脸识别系统。通过分步讲解和示例代码,我们将探索如何从摄像头捕获视频流、进行人脸检测以及识别特定个体。本教程旨在为初学者提供一条明晰的学习路径,帮助他们快速入门并实践人脸识别技术。
|
5月前
|
人工智能 计算机视觉 Python
人工智能视觉:基于OpenCV的人脸识别技术的深度解析
人工智能视觉:基于OpenCV的人脸识别技术的深度解析
|
4月前
|
机器学习/深度学习 人工智能 计算机视觉
好的资源-----打卡机+Arm+Qt+OpenCV嵌入式项目-基于人脸识别的考勤系统-----B站神经网络与深度学习,商城
好的资源-----打卡机+Arm+Qt+OpenCV嵌入式项目-基于人脸识别的考勤系统-----B站神经网络与深度学习,商城
|
6月前
|
人工智能 算法 计算机视觉
人工智能视觉:基于OpenCV的人脸识别技术的深度解析
人工智能视觉:基于OpenCV的人脸识别技术的深度解析
|
5月前
|
机器学习/深度学习 监控 算法
使用Python和OpenCV实现简单的人脸识别系统
使用Python和OpenCV实现简单的人脸识别系统
67 0
|
6月前
|
Java 计算机视觉
JDK1.6+OpenCV2.4.9+SWT 人脸识别
JDK1.6+OpenCV2.4.9+SWT 人脸识别
|
6月前
|
算法 计算机视觉 开发者
如何在Python中使用OpenCV实现人脸识别
人脸识别技术在当今社会得到了广泛的应用,如何在Python中使用OpenCV实现人脸识别成为了很多开发者关注的话题。本文将介绍如何使用OpenCV库进行人脸检测和人脸识别,并提供完整的代码示例。

热门文章

最新文章