**中文版**|[English Version](README_EN.md)
![静默活体检测](https://github.com/minivision-ai/Silent-Face-Anti-Spoofing/blob/master/images/logo.jpg)
# 静默活体检测 (Silent-Face-Anti-Spoofing)
该项目为[小视科技](https://www.minivision.cn/)的静默活体检测项目,您可以扫描下方的二维码获取安卓端APK,体验静默活体的检测效果.
<img src="https://github.com/minivision-ai/Silent-Face-Anti-Spoofing/blob/master/images/静默活体APK.jpeg" width="200" height="200" align=center />
## 更新
**2020-07-30:** 开源caffe模型,分享工业级静默活体检测算法技术解析直播视频以及相关文件。
## 简介
在本工程中我们开源了活体模型训练架构,数据预处理方法,模型训练和测试脚本以及开源的APK供大家测试使用。
活体检测技术主要是判别机器前出现的人脸是真实还是伪造的,其中借助其他媒介呈现的人脸都可以定义为虚假的人脸,包括打印的纸质照片、电子产品的显示屏幕、硅胶面具、立体的3D人像等。目前主流的活体解决方案分为配合式活体检测和非配合式活体检测(静默活体检测)。配合式活体检测需要用户根据提示完成指定的动作,然后再进行活体校验,静默活体则在用户无感的情况下直接进行活体校验。
因傅里叶频谱图一定程度上能够反应真假脸在频域的差异,因此我们采用了一种基于傅里叶频谱图辅助监督的静默活体检测方法, 模型架构由分类主分支和傅里叶频谱图辅助监督分支构成,整体架构如下图所示:
![整体架构图](https://github.com/minivision-ai/Silent-Face-Anti-Spoofing/blob/master/images/framework.jpg)
使用自研的模型剪枝方法,将MobileFaceNet的Flops从0.224G降低待了0.081G,在精度损失不大的情况下,明显提升模型的性能(降低计算量与参数量).
|Model|FLOPs|Params|
| :------:|:-----:|:-----:|
|MobileFaceNet|0.224G|0.991M|
|MiniFASNetV1|0.081G|0.414M|
|MiniFASNetV2|0.081G|0.435M|
## APK
### APK源码
开源了适用于安卓平台的部署代码:https://github.com/minivision-ai/Silent-Face-Anti-Spoofing-APK
### Demo
<img src="https://github.com/minivision-ai/Silent-Face-Anti-Spoofing/blob/master/images/demo.gif" width="300" height="400"/>
### 关键指标
| Model(input 80x80)|FLOPs|Speed| FPR | TPR |备注 |
| :------:|:-----:|:-----:| :----: | :----: | :----: |
| APK模型 |84M| 20ms | 1e-5|97.8%| 开源|
| 高精度模型 |162M| 40ms| 1e-5 |99.7%| 未开源 |
### 测试方法
- 显示信息:速度(ms), 置信度(0~1)以及活体检测结果(真脸or假脸)
- 点击右上角图标可设置阈值,如果置信度大于阈值,为真脸,否则为假脸
### 测试须知
- 所有测试图片必须通过摄像头采集得到,否则不符合正常场景使用规范,算法效果也无法保证。
- 因为RGB静默活体对摄像头型号和使用场景鲁棒性受限,所以实际使用体验会有一定差异。
- 测试时,应保证有完整的人脸出现在视图中,并且人脸旋转角与竖直方向小于30度(符合正常刷脸场景),否则影响体验。
**已测试型号**
|型号|麒麟990 5G|麒麟990 |骁龙845 |麒麟810 |RK3288 |
| :------:|:-----:|:-----:|:-----:|:-----:|:-----:|
|速度/ms|19|23|24|25|90|
## 工程
### 安装依赖库
```
pip install -r requirements.txt
```
### Clone
```
git clone https://github.com/minivision-ai/Silent-Face-Anti-Spoofing
cd Silent-Face-Anti-Spoofing
```
### 数据预处理
1.将训练集分为3类,将相同类别的图片放入一个文件夹;
2.因采用多尺度模型融合的方法,分别用原图和不同的patch训练模型,所以将数据分为原图和基于原图的patch;
- 原图(org_1_height**x**width),直接将原图resize到固定尺寸(width, height),如图1所示;
- 基于原图的patch(scale_height**x**width),采用人脸检测器人脸,获取人脸框,按照一定比例(scale)对人脸框进行扩边,为了保证模型的输入尺寸的一致性,将人脸框区域resize到固定尺寸(width, height),图2-4分别显示了scale为1,2.7和4的patch样例;
![patch demo](https://github.com/minivision-ai/Silent-Face-Anti-Spoofing/blob/master/images/patch_demo.png)
3.采用傅里叶频谱图作为辅助监督,训练集图片在线生成对应的傅里叶频谱图.
**数据集的目录结构如下所示**
```
├── datasets
└── RGB_Images
├── org_1_80x60
├── 0
├── aaa.png
├── bbb.png
└── ...
├── 1
├── ddd.png
├── eee.png
└── ...
└── 2
├── ggg.png
├── hhh.png
└── ...
├── 1_80x80
└── ...
```
### 训练
```
python train.py --device_ids 0 --patch_info your_patch
```
### 测试
./resources/anti_spoof_models 活体检测的融合模型
./resources/detection_model 检测器模型
./images/sample 测试图片
```
python test.py --image_name your_image_name
```
## 相关资源
[百度网盘](https://pan.baidu.com/s/1u3BPHIEU4GmTti0G3LIDGQ)提取码:6d8q
(1)工业级静默活体检测开源算法技术解析[直播回放视频](https://www.bilibili.com/video/BV1qZ4y1T7CH);
(2)直播视频中的思维导图文件,存放在files目录下;
(3)开源模型的caffemodel,存放在models目录下;
## 参考
- 检测器 [RetinaFace](https://github.com/deepinsight/insightface/tree/master/RetinaFace)
针对此项目,为了方便开发者们的技术交流,创建了QQ群:1121178835,欢迎加入。
除了本次开源的静默活体检测算法外,小视科技还拥有多项人脸识别、人体识别相关的自研算法及商用SDK。有兴趣的个人开发者或企业开发者可登录[小视科技Mini-AI开放平台](https://ai.minivision.cn/)了解和联系我们。
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
毕设项目_智慧教室基于深度学习开发的课堂专注度分析和考试作弊检测系统python源码(有模型_项目操作说明) 课堂专注度及考试作弊系统 课堂动态点名,情绪识别、表情识别和人脸识别结合 新加:转头(probe)+低头(peep)+传递物品(passing) 作弊动作分类器 python版本实现,建议安装anaconda和pycharm 【备注】主要针对正在做毕设的同学和需要项目实战的深度学习cv图像识别模式识别方向学习者。 也可作为课程设计、期末大作业。包含:项目源码、训练好的模型、项目操作说明等,该项目可直接作为毕设使用。 也可以用来学习、参考、借鉴。如果基础不错,在此代码上做修改,训练其他模型。
资源推荐
资源详情
资源评论
收起资源包目录
毕设项目-智慧教室基于深度学习开发的课堂专注度分析和考试作弊检测系统python源码(有模型-项目操作说明).7z (618个子文件)
psroi_pooling_cuda.c 3KB
psroi_pooling_cuda.c 3KB
Widerface-RetinaFace.caffemodel 1.78MB
yolov3-spp.cfg 9KB
yolov3-spp.cfg 9KB
yolov3.cfg 9KB
yolov3.cfg 9KB
yolov3.cfg 8KB
yolov3.cfg 8KB
yolo-voc.cfg 3KB
yolo-voc.cfg 3KB
yolo.cfg 3KB
yolo.cfg 3KB
tiny-yolo-voc.cfg 1KB
tiny-yolo-voc.cfg 1KB
setup.cfg 66B
setup.cfg 66B
soft_nms_cpu.cpp 342KB
soft_nms_cpu.cpp 342KB
deform_conv_cuda.cpp 29KB
deform_conv_cuda.cpp 29KB
deform_pool_cuda.cpp 4KB
deform_pool_cuda.cpp 4KB
roi_align_cuda.cpp 3KB
roi_align_cuda.cpp 3KB
nms_cpu.cpp 2KB
nms_cpu.cpp 2KB
nms_cuda.cpp 575B
nms_cuda.cpp 575B
deform_conv_cuda_kernel.cu 41KB
deform_conv_cuda_kernel.cu 41KB
deform_pool_cuda_kernel.cu 16KB
deform_pool_cuda_kernel.cu 16KB
roi_align_kernel.cu 11KB
roi_align_kernel.cu 11KB
psroi_pooling_kernel.cu 8KB
psroi_pooling_kernel.cu 8KB
nms_kernel.cu 5KB
nms_kernel.cu 5KB
nms_kernel.cu 5KB
alphapose_17.gif 7.93MB
alphapose_17.gif 7.93MB
alphapose_26.gif 6.74MB
alphapose_26.gif 6.74MB
alphapose_136.gif 6.7MB
alphapose_136.gif 6.7MB
posetrack1.gif 3.9MB
posetrack.gif 3.9MB
posetrack1.gif 3.9MB
posetrack.gif 3.9MB
posetrack2.gif 3.13MB
posetrack2.gif 3.13MB
posetrack2.gif 3.13MB
posetrack2.gif 3.13MB
pose.gif 2.14MB
pose.gif 2.14MB
crowdpose.gif 1.61MB
crowdpose.gif 1.61MB
demo.gif 1.37MB
demo.gif 997KB
demo1.gif 930KB
.gitignore 236B
.gitignore 26B
.gitignore 5B
psroi_pooling_kernel.h 835B
psroi_pooling_kernel.h 835B
psroi_pooling_cuda.h 489B
psroi_pooling_cuda.h 489B
gpu_nms.hpp 146B
smart_classroom.iml 384B
静默活体APK.jpeg 26KB
logo.jpg 438KB
logo.jpg 438KB
step4.jpg 352KB
step4.jpg 352KB
1.jpg 193KB
1.jpg 193KB
2.jpg 148KB
2.jpg 148KB
worlds-largest-selfie.jpg 136KB
logo.jpg 128KB
step3.jpg 102KB
step3.jpg 102KB
image_F2_result.jpg 85KB
image_F2.jpg 84KB
image_T1_result.jpg 73KB
image_T1.jpg 72KB
step2.jpg 70KB
step2.jpg 70KB
image_F1_result.jpg 65KB
image_F1.jpg 63KB
3.jpg 41KB
3.jpg 41KB
step1.jpg 41KB
step1.jpg 41KB
framework.jpg 35KB
alpha-pose-results-sample.json 5KB
alpha-pose-results-sample.json 5KB
ccmcpe.json 606B
ccmcpe.json 606B
共 618 条
- 1
- 2
- 3
- 4
- 5
- 6
- 7
资源评论
- weixin_519548442024-04-02终于找到了超赞的宝藏资源,果断冲冲冲,支持!
- JavaScript奴隶2023-08-24发现一个超赞的资源,赶紧学习起来,大家一起进步,支持!
- SilvaAD2023-02-26发现一个宝藏资源,资源有很高的参考价值,赶紧学起来~Make程序设计2023-05-22感谢您的支持和认可~互相学习!
- m0_739717012023-02-08非常有用的资源,可以直接使用,对我很有用,果断支持!Make程序设计2023-05-22感谢您的支持和认可~加油!!!
- 2201_758864862023-01-18资源内容详实,描述详尽,解决了我的问题,受益匪浅,学到了。Make程序设计2023-02-02感谢支持~
Make程序设计
- 粉丝: 5740
- 资源: 3570
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 三菱PLC(Mitsubishi)通讯协议的C#实现,支持FX、Q系列的ASCII-3E、BIN-3E、FX串口格式
- 五一建模20242024
- rainy-day.jpg
- IMG_20240501_171218.jpg
- Swift-内购封装swift版本
- 经典CNN网络之ResNet 图像分类网络实战项目:7种小麦叶片病害分类(迁移学习)
- Java毕设之ssm010基于ssm的新能源汽车在线租赁管理系统+vue.rar
- Java毕设之ssm009毕业生就业信息统计系统+vue.rar
- Java毕设之ssm008医院门诊挂号系统+jsp.rar
- Java毕设之ssm007亚盛汽车配件销售业绩管理统+jsp.rar
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功