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

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

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

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

(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

相关推荐
newxtc12 分钟前
【随行付-注册安全分析报告-无验证方式导致隐患】
人工智能·安全·网易易盾·极验
计算所陈老师14 分钟前
基于论文的大模型应用:基于SmartETL的arXiv论文数据接入与预处理(二)
人工智能·个人开发·信息抽取
Dlimeng19 分钟前
OpenAI发布GPT-4.1系列模型——开发者可免费使用
人工智能·ai·chatgpt·openai·ai编程·agents·gpt-41
kanna28 分钟前
安装Mamba环境
深度学习
zhuyasen31 分钟前
与AI深度融合的Go开发框架sponge,解决使用cursor、trae等AI辅助编程工具开发项目时的部分痛点
人工智能·低代码·golang
寻丶幽风1 小时前
论文阅读笔记——Multi-Token Attention
论文阅读·笔记·深度学习·语言模型·transformer
啥都鼓捣的小yao1 小时前
实战5:Python使用循环神经网络生成诗歌
开发语言·人工智能·python·rnn·深度学习
lixy5791 小时前
深度学习之微积分
深度学习
机器之心1 小时前
刚刚,OpenAI发布最强推理模型o3!图像深度思考首秀,开源编程智能体已揽5k+star
人工智能·chatgpt
Blossom.1181 小时前
重新定义“边缘”:边缘计算如何重塑人类与数据的关系
人工智能·深度学习·机器学习·智能合约·边缘计算·sklearn·多模态融合