基于RetinaFace+ArcFace的人脸识别测试和验证代码
目录
一、简介
二、代码
1、RetinaFace的人脸检测和人脸对齐代码
2、ArcFace的人脸识别代码
3、完整测试和验证代码
三、测试
1、人脸实时采集take_pic_retina.py
2、人脸批量导入采集take_pic_pic.py
3、人脸库更新和测试 face_verify_retina.py
4、运行
四、公开数据集验证
一、简介
主要介绍用RetinaFace(MobileNet0.25-RetinaFace和Resnet50-RetinaFace)和ArcFace(MobileFacenet-ArcFace和IR-SE50-ArcFace)的人脸识别测试和验证代码。
二、代码
1、RetinaFace的人脸检测和人脸对齐代码
人脸检测和人脸对齐部分代码参考:https://github.com/biubug6/Pytorch_Retinaface,该代码中也包含人脸识别,测试过期效果,不如ArcFace,感兴趣的可以试下。
2、ArcFace的人脸识别代码
人脸识别代码参考:https://github.com/TreB1eN/InsightFace_Pytorch。
3、完整测试和验证代码
整合人脸检测和人脸对齐代码(https://github.com/biubug6/Pytorch_Retinaface)和人脸识别代码(https://github.com/TreB1eN/InsightFace_Pytorch)。
具体代码参看如下:基于RetinaFace+ArcFace的人脸识别测试和验证代码
三、测试
1、人脸实时采集take_pic_retina.py
主要用于人脸采集并加入到人脸库中。take_pic_retina.py在take_pic.py基础上修改,使用RetinaFace模型进行人脸检测和采集。采集时,按键盘“t”表示采集,按键盘“q”表示退出采集。
2、人脸批量导入采集take_pic_pic.py
主要用于人脸批量采集,多个人脸图片存放规则:人脸/人名/图片。其中“人脸”为存放图片目录;“人名”是每个人脸的唯一标识符,具有唯一性;“图片”是只含有一个人脸的图片。
3、人脸库更新和测试 face_verify_retina.py
主要介绍调用入口文件face_verify_retina.py。face_verify_retina.py在源代码文件face_verify.py的基础上修改的。源代码文件face_verify.py中使用的人脸检测模型是MTCNN,在这里将其换为RetinaFace模型。
其中main入口的说明如下,if __name__ == '__main__':
bank_name = 'MyBank' #自己的人脸库
det_model_path = './weights/Resnet50_Final.pth' # 人脸检测使用的模型,这里选择为Resnet50-RetinaFace
#det_model_path = './weights/mobilenet0.25_Final.pth' # MobileNet0.25-RetinaFace
face_thres = 1.0 # 人脸比对阈值
update = True #是否更新人脸库,在第一次建立人脸库或者后面加入或减少人脸时调用;其余设为False
test_res(args, bank_name, det_model_path, face_thres, rec_mobile=False, update=update)#其中,rec_mobile为True,表示使用识别模型MobileFacenet-ArcFace;rec_mobile为False,使用模型IR-SE50-ArcFace
4、运行
python3 face_verify_retina.py
四、公开数据集验证
CASIA-FaceV5数据集的验证见:test_all_CASIA-FaceV5.py
LFW数据集的验证见:test_all_lfw.py
可参考博客:RetinaFace+ArcFace人脸识别测试
基于RetinaFace+ArcFace的人脸识别测试和验证代码相关推荐
- python读取视频流做人脸识别_基于 Python + OpenCV 进行人脸识别,视频追踪代码全注释...
1 #-*- coding: utf-8 -*- 2 from __future__ importunicode_literals3 #操作文件 4 importos5 #科学计算 6 importn ...
- 基于主成分分析(PCA)的人脸识别
基于主成分分析(PCA)的人脸识别 (完整Matlab代码) (有GUI界面) 本设计会将彩色图片直接转化为黑白图像,自带数据库,图片重建效果好很多 自己的图片可能会差一些,效果如下图所示: ID:6 ...
- 基于face_recognition库的摄像头实时人脸识别测试
前言 介绍一个基于python的开源人脸识别库,且其离线识别率高达99.38%, github上的网址:github链接 该库可以通过python或者命令行即可实现人脸识别的功能.使用dlib深度学习 ...
- 《繁凡的论文精读》(一)CVPR 2019 基于决策的高效人脸识别黑盒对抗攻击(清华朱军)
点我一文弄懂深度学习所有基础和各大主流研究方向! <繁凡的深度学习笔记>,包含深度学习基础和 TensorFlow2.0,PyTorch 详解,以及 CNN,RNN,GNN,AE,GAN, ...
- 聪明的人脸识别4——Pytorch 利用Retinaface+Facenet搭建人脸识别平台
睿智的目标检测51--Pytorch 利用Retinaface+Facenet搭建人脸识别平台 学习前言 什么是Retinface和Facenet 1.Retinface 2.Facenet 整体实现 ...
- 基于深度学习的人脸识别综述
本文转载自 https://xraft.github.io/2018/03/21/FaceRecognition/ (作者:Caleb Ge (葛政)),如有侵权请告知删除. (下文中的"我 ...
- 第十九课.基于sklearn的SVM人脸识别
目录 数据集 确定人脸的类别标记 划分训练集和测试集与训练 实验为基于sklearn的SVM人脸识别,使用 SVM 算法对戴眼镜的人脸和不戴眼镜的人脸进行分类,从而完成 识别戴眼镜的人脸 的任务:实验 ...
- 基于改进的RPCA人脸识别算法
from:http://www.chinaaet.com/article/3000011311 基于改进的RPCA人脸识别算法 作者:首照宇,杨晓帆,莫建文 2015/11/15 18:04:00 摘 ...
- 基于稀疏表示的人脸识别 (SRC,LASRC,RASL,MRR)
FROM:http://blog.csdn.net/loadstar_kun/article/details/39453839 1. 问题背景 信号的稀疏表示并不是新的东西.我们很早就一直在利用这一 ...
- 基于PYQT编写一个人脸识别软件(2)
前言 以前在博客:基于PYQT编写一个人脸识别软件 中给出了我自己用PYQT编写的一个小软件.鉴于使用的是开源库--face_recogniton,尽管使用很简单,但是还有些问题,比如:识别黄种人时效 ...
最新文章
- 计算机网络应用基础 王建珍,计算机网络应用基础
- 微软 CTO 韦青:对微软这样已经走过44年的公司,现在也只是个小小小的开始!!!
- XCode的使用心得
- 在JS函数中执行C#中的函数、字段
- CompletableFuture详解~allOf
- 【转】ASIHTTPRequest开源类库进行http请求
- Go语言中的指针和new(T)函数的使用
- 博客整理002-KICAD生成gerber板厂打不开的原因
- 漏型与源型、PNP与NPN
- 我的世界boat运行库JAVA10_我的世界boat运行库
- 串级调节系统参数整定方法(串级调节器参数整定)
- STM32的端口复用功能RCC_APB2Periph_AFIO
- VTP(VLAN中继协议)简单介绍
- 第1章思维导图图片版
- 网页中设定表格边框的厚度的属性_补充一点前端知识
- LeanCloud 一至二月变化
- 川土微数字隔离器CA-IS36XX高性能数字隔离器 可替代TI ADI MAX等
- 斗地主机器人智能算法深度研究
- 2018安防行业发展趋势
- 用 Python 将 matplotlib 图表集成到 PDF 中