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

news2024/9/22 17:23:52

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

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

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

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

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

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

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

# 使用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内容如下,

#!/bin/bash 

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

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

...
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 的目录结构进行组织

训练的传参,

...
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、自动驾驶、工业等。不敢说会对你学习有所帮助,但一定非常好玩,并持续更新更加有趣的项目。https://t.zsxq.com/0aiNxERDq

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1132101.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

云音乐Android Cronet接入实践

背景 网易云音乐产品线终端类型广泛,除了移动端(IOS/安卓)之外,还有PC、MAC、Iot多终端等等。移动端由于上线时间早,用户基数大,沉淀了一些端侧相对比较稳定的网络策略和网络基础能力。然而由于各端在基础…

数字化营销如何推动企业营收增长?数字化营销要点有哪些?

在数字化席卷而来的时代,企业若想在激烈的市场竞争中脱颖而出,就得紧跟潮流,运用数字化营销手段更快、更准地触达目标客户,从而帮助企业更好地解读客户需求,捕捉痛点,实现精细化营销闭环。 数字化营销如何让…

信奥赛一本通:数据排序(合影效果、病人排队、明明的随机数、单词排序、出现次数超过一半的数、统计字符数)

数据排序 1182:合影效果1183:病人排队1184:明明的随机数1185:单词排序1186:出现次数超过一半的数1187:统计字符数 1182:合影效果 由题目可知,n个人有 性别与身高两种属性&#xff0c…

java连接mysql数据库结构表批量生产word文档

java连接数据库&#xff0c;数据库结构表批量生产word文档 pom包引用 <dependency><groupId>cn.smallbun.screw</groupId><artifactId>screw-core</artifactId><version>1.0.5</version> </dependency><dependency>&l…

一句话解释什么是出口IP

出口 IP 是指从本地网络连接到公共互联网时所使用的 IP 地址。这个 IP 地址是由 Internet 服务提供商(ISP)分配给你的,它可以用来标识你的网络流量的来源。如果你使用的是 NAT(网络地址转换)技术,则在 NAT 设备内部会进行地址转换,使得多个设备可以共享同一个公共 IP 地…

功能不够,SQL来凑,修改数据库的正确姿势?

修改数据库是一项关键任务&#xff0c;需要小心谨慎地执行&#xff0c;以确保数据的完整性和准确性。下面是一个详细的步骤指南&#xff0c;介绍了正确修改数据库的姿势。 第一步&#xff1a;备份数据库 在进行任何数据库修改之前&#xff0c;务必备份数据库。这样&#xff0…

TOUGH模型教程

详情点击公众号链接&#xff1a;全流程TOUGH系列软件 一、 第一&#xff1a;多相流流体基本特征及TOUGH系列软件 1.1多相流流体基本特征与解决思路 1.2 TOUGH2系列软件 1.3 TOUGH2软件功能模块 1.4 TOUGH2软件设计思路 1.5 TOUGH2软件数学模型与数值方法 二、基础 第二&…

HarmonyOS 音频开发指导:使用 OpenSL ES 开发音频播放功能

OpenSL ES 全称为 Open Sound Library for Embedded Systems&#xff0c;是一个嵌入式、跨平台、免费的音频处理库。为嵌入式移动多媒体设备上的应用开发者提供标准化、高性能、低延迟的 API。HarmonyOS 的 Native API 基于Khronos Group开发的OpenSL ES 1.0.1 API 规范实现&am…

全志R128基础组件开发指南——SPI LCD 显示驱动

SPI LCD 显示驱动 简介 R128 平台提供了 SPI DBI 的 SPI TFT 接口ACCC&#xff0c;具有如下特点&#xff1a; Supports DBI Type C 3 Line/4 Line Interface ModeSupports 2 Data Lane Interface ModeSupports data source from CPU or DMASupports RGB111/444/565/666/888 …

买学生台灯主要看什么?双十一值得入手的学生台灯

对于台灯来说主要是光源的问题。随着科技时代发展&#xff0c;那种原有的白炽灯&#xff0c;钨丝灯早已不见&#xff0c;换言之是更多的LED灯&#xff0c;再加之它体积小便于安装&#xff0c;而且光线更加均匀柔和&#xff0c;所以深受用户的青睐。 而台灯又是孩子学习必不可少…

2023年【汽车驾驶员(中级)】报名考试及汽车驾驶员(中级)证考试

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 汽车驾驶员&#xff08;中级&#xff09;报名考试根据新汽车驾驶员&#xff08;中级&#xff09;考试大纲要求&#xff0c;安全生产模拟考试一点通将汽车驾驶员&#xff08;中级&#xff09;模拟考试试题进行汇编&…

Shopee买家通系统全自动化操作简单方便又快速

Shopee买家通系统是一款专门针对虾皮买家号所开发的全自动化操作系统&#xff0c;可以自动注册、自动加购加心愿单、自动下单等。 1、全自动化注册 准备好账号需要的资料后即可运行注册任务&#xff0c;程序运行时可以自动输入手机号、自动接收短信、自动输入账号密码。账号支…

浙大陈越何钦铭数据结构06-图1 列出连通集

题目 给定一个有N个顶点和E条边的无向图&#xff0c;请用DFS和BFS分别列出其所有的连通集。假设顶点从0到N−1编号。进行搜索时&#xff0c;假设我们总是从编号最小的顶点出发&#xff0c;按编号递增的顺序访问邻接点。 输入格式: 输入第1行给出2个整数N(0<N≤10)和E&…

2023年9月青少年机器人技术(四级)等级考试试卷-理论综合

2023.9青少年机器人技术等级考试理论综合试卷&#xff08;四级&#xff09; 分数&#xff1a;100 题数&#xff1a;30 一、单选题(共20题&#xff0c;共80分) 1. Arduino C程序如下&#xff0c;当程序运行时&#xff0c;串口监视器输出结果是&#xff1f;&#xff08; &…

微信视频号怎么下载视频?

微信视频号视频和其他平台有个最大的区别就是&#xff0c;没有链接&#xff0c;其他的下载器无法解析&#xff0c;知道我发现了一款非常适用于微信的下载工具&#xff0c;只需要将视频转发下载机器人就能一键解析成功&#xff0c;这么听着有点不懂对不对&#xff1f;别急&#…

【C++代码】回溯,子集,组合,全排列,去重--代码随想录

题目&#xff1a;分割回文串 给你一个字符串 s&#xff0c;请你将 s 分割成一些子串&#xff0c;使每个子串都是 回文串 。返回 s 所有可能的分割方案。回文串 是正着读和反着读都一样的字符串。 在for (int i startIndex; i < s.size(); i)循环中&#xff0c;我们 定义了…

app开发者提升第四季度广告收入的方法

第四季度将迎来双十一、双十二、圣诞、元旦为主的电商购物季&#xff0c;这是一年中利用线上消费为全新年度和全新预算做好准备的最佳时机&#xff0c;从过往的变现成功案例中汇总了优化要点&#xff0c;帮助开发者在第四季度和未来一年获取更多广告收益。 https://www.shensh…

利用IT服务台软件提高客户满意度的4种方法

客户满意度在整个业务过程中常常会被忽视&#xff0c;但其却是业务增长的重要因素。显而易见&#xff1a;满意的客户会在曾购买过的产品上停留更长的时间&#xff0c;也更有可能交叉购买或再次购买。他们会表现出品牌忠诚度&#xff0c;通常会增加在贵公司的平均消费金额。 而满…

Linux ————VI编辑器

&#xff08;一&#xff09;VI编辑器 当提及Unix和Linux系统中的编辑工具&#xff0c;我们不能不提到VI编辑器。这款编辑器对于这些系统来说&#xff0c;犹如Windows系统中的记事本&#xff0c;是标配且不可或缺的。它不仅功能强大&#xff0c;而且其标准操作在各个Unix及Linux…

MySQL2:MySQL中一条查询SQL是如何执行的?

MySQL2&#xff1a;MySQL中一条查询SQL是如何执行的&#xff1f; MySQL中一条查询SQL是如何执行的&#xff1f;1.连接怎么查看MySQL当前有多少个连接&#xff1f;思考&#xff1a;为什么连接数是查看线程&#xff1f;客户端的连接和服务端的线程有什么关系&#xff1f;MySQL参数…