复杂环境下的人脸检测与识别
一.功能介绍:
1.人脸检测:
为实现人脸检测功能,我们调用了百度人脸识别api。调用此api此api需要以下几个步骤:
第一步登录云账号,进入到控制台,创建一个应用,创建成功后,会分配给一个应用信息,包含AppID ,API Key,Secret Key
第二步使用应用的appId和key获取access_token,
第三步学习使用api文档并编程调用接口
2.人脸比对:
调用face_recognition人脸识别库,使用 dlib 最先进的人脸识别功能构建建立深度学习,该模型准确率在99.38%
首先导入人脸识别库Import face_recognition
第二步利用load_image_file方法加载图片,会将图像加载到 numpy 数组中
第三步查找利用face_locations查找面部
第四步利用face_encodings获得面部编码
第五步将两个面部编码作比较查看是否匹配
3.人脸识别:
调用人脸识别库face_recognition,打开摄像头,将捕捉到的人脸和数据库中的图像做匹配,若能匹配,返回相关该人脸的相关信息,若无,则返回unknown。
二.执行步骤
(1)运行mainWindow.py,有三个按钮控件分别对应三种功能,分别是人脸检测、人脸比对、人脸识别。
(2)点击人脸检测按钮,选择人脸检测功能
点击选择图片从指定图片文件夹选择图片,程序自动检测图片中的人脸图片并标出特征点、用矩形框出人脸,然后显示检测后的图片
(3)选择人脸对比功能
(4)选择两张需要比对的图片,点击“开始比对”,界面会显示两张人脸的相似度。
(5)点击人脸识别按钮,选择人脸识别功能,程序自动打开电脑的摄像头,将摄像头采集到的人脸和图片库中的人脸逐个比对,如果查询成功显示人脸对应的姓名,查询识别显示Unknown。
三.运行环境
1.python 3.7.2
2.PyQt5
3.OpenCv
4.face_recognition库(这个库比较难安装,,个人忙活了半天!!!)
4.需要的python库:sys,re,cv2,base64,urllib等一些库(具体哪些库可以到代码中看import了哪些),这些库比较容易安装,都可以直接用pip安装,例如安装re库,可以在命令行直接输入 pip install re
,然后回车就可以自动下载了。由于都是从国外的源下载,因此下载速度比较慢。告诉大家一个非常nice的方法,每次用pip下载的时候在后面加上 -i https://pypi.tuna.tsinghua.edu.cn/simple
,例如
pip install re -i https://pypi.tuna.tsinghua.edu.cn/simple
四.说明:
1.项目结构
2.images中存放的是待检测的人脸图片,images_after中存放检测后(检测后的图片中的人脸会被框起来)
3.imagesVideo存放的是可以被人脸识别的人脸图片
4.运行之前可以先看一下 说明.py
5.运行mainWindow.py即可运行整个项目
五.源码下载
链接:https://pan.baidu.com/s/17NbKw2UnlSjn-8oFKqE-OA
提取码:j103