人脸识别概述-opencv中文文档
1.人脸识别技术概述
-
检测率:存在人脸并且被检测出的图像在所有存在人脸图像中比例 漏检率:存在人脸但没有检测出的图像在所有存在人脸图像中比例 误检率:不存在人脸但是检测出存在的图像在所有不存在人脸图像中比例
一般人脸识别环节,其应用场景分为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下载地址: 在网页中找到对应自己python版本下whl文件 我的python版本是3.7,因此在下面找到cp37和win_amd64的文件下载 2.通过cmd命令,进入opencv下载的文件目录下,运行以下代码
pip install opencv_python‑4.5.2‑cp37‑cp37m‑win_amd64.whl
opencv中文文档教程
上一篇:
JS实现多线程数据分片下载
下一篇:
Attention的两种实现方法