极智项目 | 实战静默活体人脸检测

欢迎关注我的公众号 极智视界,获取我的更多经验分享

大家好,我是极智视界,本文来介绍 实战静默活体人脸检测。

本文介绍的 实战静默活体人脸检测,提供完整的可以一键执行的项目工程源码,获取方式有两个:

(1) 本文工程项目资源下载,链接:download.csdn.net/download/we...

(2) 【推荐 】加入我的知识星球「极智视界」,星球内有超多好玩的项目实战源码下载,链接:t.zsxq.com/0aiNxERDq

活体检测技术的首要任务是鉴别计算机视觉系统前方的人脸是真实的还是伪造的。伪造的人脸可能涵盖各种表现形式,包括但不限于打印在纸上的照片、电子设备的屏幕显示、硅胶面具,以及立体的3D人像等。目前,主要的活体检测解决方案可以划分为配合式活体检测和非配合式活体检测,也称为静默活体检测。在配合式活体检测中,用户需要按照系统的提示执行特定的生物特征活动,然后系统会对这些生物特征活动进行监测和验证。这些生物特征活动可能包括眨眼、摇头、或者其他生物特征的反应。这种方法需要用户的积极互动,以确保人脸的真实性。与之相对,非配合式活体检测,或静默活体检测,是在用户无需特定生物特征互动或介入的情况下直接进行活体验证。系统通过分析人脸的生物特征,例如皮肤反应、眼动,以及其他生理指标,来判断人脸的真实性。这种方法更加强调用户的便捷性,因为用户不需要采取额外的操作来完成验证过程。

在拿到本项目的代码后,进行环境的配置,

ini 复制代码
# 使用Anaconda3来管理py环境, 安装Anaconda3的过程略过

# 创建虚拟环境
conda create -n silent_facedet_py37 python=3.7

# 激活虚拟环境
conda activate silent_facdedet_py37

# 安装依赖
pip install -r requirements.txt

然后即可一键执行,直接一键执行项目中的 run_det.sh就可,run_det.sh内容如下,

bash 复制代码
#!/bin/bash 

python test.py --device_id 0 \
               --model_dir "./resources/silentdet_models" \
               --image_name "001.jpg"

这样其实能看到本项目的几个传参,可以通过 --image_name 来修改传入的图片, 检测结果是否为活体会在控制台打印,图片检测结果会同时存放在 images/sample 同级目录下。具体的执行检测的传参代码部分如下,

ini 复制代码
...
if __name__ == "__main__":
    desc = "test"
    parser = argparse.ArgumentParser(description=desc)
    parser.add_argument(
        "--device_id",
        type=int,
        default=0,
        help="which gpu id, [0/1/2/3]")
    parser.add_argument(
        "--model_dir",
        type=str,
        default="./resources/silentdet_models",
        help="model_lib used to test")
    parser.add_argument(
        "--image_name",
        type=str,
        default="002.jpg",
        help="image used to test")
    args = parser.parse_args()
    test(args.image_name, args.model_dir, args.device_id)

下面展示几个检测效果,

FakeFace:

FakeFace:

RealFace:

若你不满足于直接使用 (直接采用这里提供的训练的好的模型进行活体人脸检测),也可以采用自己的训练集进行训练。项目内也提供了训练脚本,不过需要自己准备训练数据集,按 datasets/README.md 的目录结构进行组织

训练的传参,

python 复制代码
...
def parse_args():
    """parsing and configuration"""
    desc = "Silence-FAS"
    parser = argparse.ArgumentParser(description=desc)
    parser.add_argument("--device_ids", type=str, default="1", help="which gpu id, 0123")
    parser.add_argument("--patch_info", type=str, default="1_80x80",
                        help="[org_1_80x60 / 1_80x80 / 2.7_80x80 / 4_80x80]")
    args = parser.parse_args()
    cuda_devices = [int(elem) for elem in args.device_ids]
    os.environ["CUDA_VISIBLE_DEVICES"] = ','.join(map(str, cuda_devices))
    args.devices = [x for x in range(len(cuda_devices))]
    return args

主要是 --patch_info 需要解释一下,这个 patch_info 是采用多尺度模型融合的方法,采用原图喝扩展图的数据,具体的,

  • 原图直接resize到 (w,h);
  • 扩展图的由来:先对原图做人脸检测,然后对人脸框图按一定的scale进行扩展,设置这个scale分别为1、2.7、4;
  • 最后将上面这四张图打成patch,成为一个patch_info,

images 目录下放置了一张 patch_demo.jpg 的patch示例图片供参考,如下,

好了,以上分享了 实战静默活体人脸检测,并提供完整的项目源码。希望我的分享能对你的学习有一点帮助。


 【公众号传送】

《极智项目 | 实战静默活体人脸检测》

畅享人工智能的科技魅力,让好玩的AI项目不难玩。邀请您加入我的知识星球, 星球内我精心整备了大量好玩的AI项目,皆以工程源码形式开放使用,涵盖人脸、检测、分割、多模态、AIGC、自动驾驶、工业等。不敢说会对你学习有所帮助,但一定非常好玩,并持续更新更加有趣的项目。 t.zsxq.com/0aiNxERDq

相关推荐
workflower28 分钟前
装备企业的 AI 路线图
人工智能·深度学习·机器学习·设计模式·机器人
AKAMAI37 分钟前
Linode接口及默认防火墙现已全面开放使用
人工智能·云计算
前端开发江鸟1 小时前
RAG 回答错了,问题到底出在召回、重排,还是生成?
人工智能
美狐美颜SDK开放平台1 小时前
直播app开发如何实现主播级美颜效果?美颜sdk开发方案详解
人工智能·音视频·美颜sdk·视频美颜sdk·美颜api
东方小月2 小时前
从零开发一个 Coding Agent(四):使用状态机校验大模型事件流
前端·人工智能·后端
大龄码农有梦想2 小时前
使用大模型服务如何保证数据安全?企业 AI 安全、私有化部署与治理实践
人工智能·私有化部署·数据安全·信创·ai agent·智能体·智能体开发平台
冬奇Lab2 小时前
每日一个开源项目(第170篇):CodeWiki - ACL 2026 论文级代码库自动文档生成,递归多 Agent 架构
人工智能·开源·资讯
lxw18449125142 小时前
Claude-Code企业级培训教程
人工智能
冬奇Lab2 小时前
代码库知识库系列(01):技术全景——为什么代码理解比文档检索难十倍
人工智能
MartinYeung52 小时前
[论文学习]迈向自主医疗人工智能智能体:MIRA系统深度分析
人工智能·学习