**中文版**|[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的智慧教室(课堂专注度分析、考试作弊系统、动态点名)【源码】.zip 群体课堂专注度分析、考试作弊系统、动态点名功能的Qt Demo,使用多人姿态估计、情绪识别、人脸识别、静默活体检测等技术
资源推荐
资源详情
资源评论
收起资源包目录
基于Python的智慧教室(课堂专注度分析、考试作弊系统、动态点名)【源码】.zip (218个子文件)
video_sources.csv 44B
nms_kernel.cu 5KB
demo.gif 1.37MB
.gitignore 245B
.gitignore 70B
.gitignore 26B
.gitignore 5B
gpu_nms.hpp 146B
qr-code-scan.ico 17KB
scan.ico 17KB
webcam.ico 9KB
edit.ico 9KB
multimedia.ico 9KB
refresh.ico 9KB
video-player.ico 9KB
web-camera.ico 9KB
smart_classroom_demo.iml 327B
静默活体APK.jpeg 26KB
作弊检测界面.jpg 273KB
动态点名.jpg 239KB
人脸注册.jpg 238KB
静默活体效果.jpg 217KB
worlds-largest-selfie.jpg 136KB
logo.jpg 128KB
image_F2_result.jpg 85KB
image_F2.jpg 84KB
Installer单个组件CMake.jpg 74KB
image_T1_result.jpg 73KB
image_T1.jpg 72KB
image_F1_result.jpg 65KB
image_F1.jpg 63KB
framework.jpg 35KB
events.out.tfevents.1623399949.LAPTOP-GJLJI8Q3 319KB
events.out.tfevents.1623399515.LAPTOP-GJLJI8Q3 271KB
LICENSE 11KB
README_EN.md 6KB
README.md 6KB
README.md 4KB
README.md 370B
events.out.tfevents.1594183888.old01 2KB
NotoSansCJKkr-Black.otf 16.56MB
patch_demo.png 48KB
设置阈值.png 40KB
human_boarder.png 40KB
smart_classroom_rc.py 38KB
general.py 28KB
transforms.py 25KB
functional.py 20KB
class_concentration.py 19KB
dynamic_attendance.py 17KB
pose_estimator.py 17KB
cheating_detection.py 17KB
dynamic_attendance_app.py 16KB
vis_modules.py 16KB
cheating_detection_app.py 16KB
class_concentration_app.py 15KB
face_register_app.py 15KB
list_items.py 13KB
torch_utils.py 12KB
MiniFASNet.py 12KB
transform.py 11KB
concentration_evaluator.py 11KB
box_utils.py 10KB
register_face_webcam.py 9KB
metrics.py 9KB
bbox.py 8KB
face_recog.py 8KB
face_register.py 7KB
classroom_action_module.py 6KB
simple_transform.py 6KB
face_boxes_location.py 6KB
google_utils.py 6KB
train_main.py 5KB
action_analysis.py 5KB
faceboxes.py 5KB
build.py 5KB
base_module.py 5KB
main.py 5KB
multibox_loss.py 5KB
smart_classroom.py 4KB
vis.py 4KB
face_location_scanner.py 4KB
attendance_item.py 4KB
anti_spoof_predict.py 3KB
test.py 3KB
yolo_detector.py 3KB
smart_classroom_app.py 3KB
test.py 3KB
register_face.py 3KB
MultiFTNet.py 3KB
roll_call.py 3KB
face_list_item.py 3KB
real_time_catch.py 3KB
anti_spoof_predictor.py 2KB
alphapose.py 2KB
img_cropper.py 2KB
fatigue_monitor.py 2KB
face_match_module.py 2KB
prior_box.py 2KB
dataset_folder.py 2KB
共 218 条
- 1
- 2
- 3
资源评论
武昌库里写JAVA
- 粉丝: 3136
- 资源: 1872
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- docker一键安装包
- Screenshot_20240430_144340_com.ss.android.ugc.live.jpg
- 回到山沟沟.mp3
- 基于matlab实现自适应波束形成RLS及LMS算法仿真源程序1.rar
- 基于matlab实现自己编写的基于卡尔曼滤波的利用加速度传感器的计步器,测试数据是传感器放在腰部和手臂 .rar
- 基于matlab实现阵列信号处理,波束形成.rar
- 111111111111111111
- 基于matlab实现计步器编程;对当前的计步器装置的数值算法模拟 .rar
- Mdb学习查看PW;access;mdb;pw;password;patch
- 基于matlab实现关于语音信号声源定位DOA估计所用的一些传统算法.rar
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功