人脸识别2:InsightFace实现人脸识别Face Recognition(含源码下载)
人脸识别2:InsightFace实现人脸识别Face Recognition(含源码下载)
目录
人脸识别2:InsightFace实现人脸识别Face Recognition(含源码下载)
1. 前言
2. 项目安装
3. 人脸识别系统
(1)人脸检测和关键点检测
(2)人脸校准
(3)人脸特征提取
(4)人脸比对(1:1)
(5)人脸搜索(1:N)
(6)配置文件config
(7)人脸识别优化建议
4. 人脸识别Demo效果
5. 人脸识别C/C++版本源码下载
6. 人脸识别Android版本源码下载
7. 人脸识别Python版本源码下载
1. 前言
这是项目《人脸识别Face Recognition》系列之《InsightFace实现人脸识别Face Recognition》Python版本;项目基于开源ArcFace(也称InsightFace)模型搭建一套完整的Python版本人脸识别系统(Face Recognition or Face Identification);
整套人脸识别系统核心算法包含人脸检测和人脸关键点检测,人脸校准,人脸特征提取以及人脸比对(1:1)和人脸搜索(1:N)。本项目人脸识别系统可以达到目前商业级别的人脸识别准确率,在误识率(FAR)0.1%的情况下,可提供99.57%的通过率(TAR);可以满足人脸比对,人脸签到、人脸门禁、人员信息查询、安防监控等人脸识别应用场景。
Python版本人脸检测和人脸识别效果:
【尊重原创,转载请注明出处】https://blog.csdn.net/guyuealian/article/details/130600472
更多项目《人脸识别Face Recognition》系列文章请参考:
- 人脸识别1:人脸识别数据集https://blog.csdn.net/guyuealian/article/details/130600545
- 人脸识别2:InsightFace实现人脸识别Face Recognition(含源码下载)https://blog.csdn.net/guyuealian/article/details/130600472
- 人脸识别3:C/C++ InsightFace实现人脸识别Face Recognition(含源码)https://blog.csdn.net/guyuealian/article/details/130600571
- 人脸识别4:Android InsightFace实现人脸识别Face Recognition(含源码)https://blog.csdn.net/guyuealian/article/details/130600600
2. 项目安装
项目结构说明
.
├── configs # 配置文件(设置检测模型,特征提取模型)
├── core
│ ├── alignment # 人脸校准算法
│ ├── detection # 人脸检测模型
│ ├── feature # 人脸特征提取模型
│ ├── face_detector.py # 人脸检测(支持MTCNN和RFB)
│ ├── face_feature.py # 人脸特征提取模型
│ ├── face_matcher.py # 人脸匹配算法
│ ├── face_recognizer.py # 人脸识别
│ └── face_register.py # 人脸注册
├── data # 人脸识别相关数据
├── face_compare.py # 1:1人脸比对Demo
├── face_search.py # 1:N人脸搜索Demo
├── register.py # 1:N人脸搜索人脸数据库注册Demo
├── README.md # 说明文档
└── requirements.txt # 项目依赖文件
Python依赖环境,使用pip安装即可,项目代码都在Ubuntu系统和Windows系统验证正常运行,请放心使用;若出现异常,大概率是相关依赖包版本没有完全对应
numpy==1.16.3
matplotlib==3.1.0
Pillow==6.0.0
easydict==1.9
opencv-contrib-python==4.5.2.52
opencv-python==4.5.1.48
pandas==1.1.5
PyYAML==5.3.1
scikit-image==0.17.2
scikit-learn==0.24.0
scipy==1.5.4
seaborn==0.11.2
tensorboard==2.5.0
tensorboardX==2.1
torch==1.7.1+cu110
torchvision==0.8.2+cu110
tqdm==4.55.1
xmltodict==0.12.0
basetrainer
pybaseutils
项目安装教程请参考(初学者入门,麻烦先看完下面教程,配置好开发环境):
- 项目开发使用教程和常见问题和解决方法
- 视频教程:1 手把手教你安装CUDA和cuDNN(1)
- 视频教程:2 手把手教你安装CUDA和cuDNN(2)
- 视频教程:3 如何用Anaconda创建pycharm环境
- 视频教程:4 如何在pycharm中使用Anaconda创建的python环境
3. 人脸识别系统
人脸识别主要包含人脸比对(1:1)和人脸搜索(1:N)两大功能,涉及的核心算法主要包含:人脸检测和人脸关键点检测,人脸校准,人脸特征提取以及人脸比对(1:1)和人脸搜索(1:N);当然,实际业务中,可能还会增加人脸质量检测以及活体识别等算法,碍于篇幅,后续再分享活体识别算法。
下图给出本项目人脸识别系统算法实现架构流程图:
(1)人脸检测和关键点检测
人脸检测的方法比较多,项目提供两种人脸检测方法:一种是基于MTCNN的通用人脸检测模型,另一种是轻量化的、快速的RFB人脸检测模型;这个两个模型都能实现人脸检测,并同时预测人脸的五个关键点(Landmark)。
模型 | Paper | 源码 | 说明 |
MTCNN | Paper | Link |
|
RFB | Paper | Link |
|
- MTCNN人脸检测参考项目:GitHub - Sierkinhane/mtcnn-pytorch: A face detection algorithm
- RFB人脸检测参考项目:GitHub - Linzaer/Ultra-Light-Fast-Generic-Face-Detector-1MB:
人脸识别2:InsightFace实现人脸识别Face Recognition(含源码下载)相关推荐
- 人脸识别3:C/C++ InsightFace实现人脸识别Face Recognition(含源码)
人脸识别3:C/C++ InsightFace实现人脸识别Face Recognition(含源码) 目录 1. 前言 2. 项目安装 (1)项目结构 (2)配置开发环境(OpenCV+OpenCL+ ...
- 人脸识别4:Android InsightFace实现人脸识别Face Recognition(含源码)
人脸识别4:Android InsightFace实现人脸识别Face Recognition(含源码) 目录 人脸识别4:Android InsightFace实现人脸识别Face Recognit ...
- 字体识别c语言,OCR算法之C语言代码 - 源码下载|图形图象|图形/文字识别|源代码 - 源码中国...
OCR算法代码. 这不是一个完整的系统,没法生成可执行程序. 代码基于Linux/KDE开发,用到了C++标准模板库. 代码的目的是向读者展示一个OCR系统包括哪些部分,如何工作, 读者可以借鉴这些代 ...
- c语言回溯实验报告,实验报告: 人脸识别方法回溯与实验分析 【OpenCV测试方法源码】...
实验报告: 人脸识别方法回顾与实验分析 [OpenCV测试方法源码] 趁着还未工作,先把过去做的东西整理下出来~ (涉及个人隐私,源码不包含测试样本,请谅解~) 对实验结果更感兴趣的朋友请直接看第5章 ...
- 面部表情识别3:Android实现表情识别(含源码,可实时检测)
面部表情识别3:Android实现表情识别(含源码,可实时检测) 目录 面部表情识别3:Android实现表情识别(含源码,可实时检测) 1.面部表情识别方法 2.人脸检测方法 3.面部表情识别模型训 ...
- 手把手教你使用LabVIEW OpenCV DNN实现手写数字识别(含源码)
文章目录 前言 一.OpenCV DNN模块 1.OpenCV DNN简介 2.LabVIEW中DNN模块函数 二.TensorFlow pb文件的生成和调用 1.TensorFlow2 Keras模 ...
- 戴眼镜检测和识别3:Android实现戴眼镜检测和识别(含源码,可实时检测)
Android实现戴眼镜检测和识别(含源码,可实时检测) 目录 Android实现戴眼镜检测和识别(含源码,可实时检测) 1.戴眼镜检测和识别方法 2.戴眼镜人脸检测 3.戴眼镜识别模型训练 4.戴眼 ...
- 小程序源码:AI微信小程序源码下载人脸照片AI转换动漫照片全新源码安装简单无需服务器域名-多玩法安装简单
这是一款AI人脸转动漫的一款微信小程序源码 该款小程序源码无需服务器和域名 搭建安装简单 有多种风格转换模式可自选 安装教程: 首先解压源码然后把源码上传到微信开发者工具打开 另外设置一个合法域名 合 ...
- 【Matlab数字识别】数字仪表图像识别【含源码 693期】
一.代码运行视频(哔哩哔哩) [Matlab数字识别]数字仪表图像识别[含源码 693期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 蔡利梅.MATLAB ...
最新文章
- 从六大概念总结吴恩达机器学习书籍:如何做好工程项目实践?
- iphone6 iphone6 plus 放大显示模式高分辨率模式问题
- 学python可以做什么产品-学习Python到底有什么用?
- vue click同时传入事件对象和自定义参数
- c#之task与thread区别及其使用
- 操作系统的SPOOLING技术
- [Swift通天遁地]二、表格表单-(14)实时调整表单元素的激活和失效
- 无需充电的太阳能汽车有多强?约17万起,续航高达1609km
- 阵列信号处理基础(一、协方差矩阵)
- 虚拟环境中更新pip
- Python基础编程(一)
- 不可用来编辑html的文件,Word2016
- 申城一叙:SDCC 2017·上海站数据库专场讲师+议题抢鲜版纵览
- c语言课程设计成型代码,【图片】发几个C语言课程设计源代码(恭喜自己当上技术小吧主)【东华理工大学吧】_百度贴吧...
- codeigniter linux url 大写,CodeIgniter中使用Smarty3基本配置
- MATLAB强化学习实战(一) 强化学习智能体训练总览
- opencv学习-高斯金字塔和拉普拉斯金字塔
- Flask系列教程(一)-----------入门
- MATLAB定态氢原子波函数可视化
- JS之class的前世今生
热门文章