- InsightFace工程在人脸识别开源工程中准确率很高,本文使用InsightFace工程中提供的预训练模型, 把112x112的人脸图像转换为512维的特征向量,向量即1维数组。
- 本工程中提供的代码可支持最高1万数量的人脸数据库的人脸对比,超过此数量人脸对比速度较慢。
- 本工程宗旨为人脸识别的入门者提供直接使用和演示的样例程序,节省读者的学习时间。
- 如果读者需要增加其他人的人脸识别,请阅读本篇文章第1.1节
- 工业实践中完整的人脸识别项目包含4步:人脸检测、人脸对齐、人脸识别、活体识别,
- 本工程包含3步:人脸检测、人脸对齐、人脸识别,读者开发实际应用需要添加活体识别功能。
- 本文基于
Jia Guo
和邓健康的github工程《InsightFace》 学习InsightFace网络模型 - 本文基于
davidsandberg
的github工程《facenet》 学习使用mtcnn模型做人脸检测
- 读者需要先根据自己的Nvidia品牌显卡的型号,安装对应的CUDA版本。
- 根据作者的经验,Nvidia品牌20系列显卡需要安装CUDA10,否则运行代码会报错。
- 安装4个组件:CUDA10、cudnn7.6、mxnet-cu100、tensorflow_gpu1.13。
- 作者提供4个组件的百度云下载链接: https://pan.baidu.com/s/1OlKO1fD3C0gdsT-kocfQUg 提取码: 7n15
- 如果读者的显卡为Nvidia品牌10系列,则仍然可以使用CUDA9及其相关组件。
大于等于6G显存的Nvidia品牌显卡
各种软件版本:
- 操作系统: Windows10
- Anaconda: 5.2
- python: 3.6
- CUDA: 10.0
- cudnn: 7.6.1
- tensorflow_gpu: 1.13.1
- mxnet-cu100
- opencv_python: 4.1.0