人脸活体识别1:眨眼 张嘴 点头 摇头人脸数据集

目录

人脸活体识别1:眨眼 张嘴 点头 摇头人脸数据集

1. 前言

2. 人脸活体识别方法

(1)基于人脸动作的检测​​

(2)​​基于红外的活体识别​​

(3)基于深度的活体识别​​

3. 人脸动作说明

4. 数据集说明

(1)Face-Gesture-v1

(2)Face-Gesture-v2

(3)Face-Gesture-v3

(4)Face-Gesture-test

5. 数据集下载

6.人脸活体识别效果(Python/C++/Android) 


1. 前言

人脸活体识别技术是确保人脸识别系统安全性的关键,主要用于区分真实人脸与伪造攻击(如照片、视频、3D面具等)。本项目基于深度学习技术,构建了一套高鲁棒性的面部活体检测系统,可精准识别眨眼(闭眼)、张嘴、点头(低头)、摇头(侧脸)等生物特征动作,可有效防范照片、视频、3D面具等伪造攻击等多种场景,​​可应用于金融支付、远程身份核验(如银行开户)等场景。

项目分为数据集说明,识别模型训练,以及边缘侧C++/Android部署等多个章节,本篇主要分享人脸活体识别数据集

 【尊重原创,转载请注明出处https://blog.csdn.net/guyuealian/article/details/148774036


更多人脸识别和活体识别文章,请参考:

  1. 人脸活体识别1:眨眼 张嘴 点头 摇头人脸数据集
  2. 人脸活体识别2:Pytorch实现人脸眨眼 张嘴 点头 摇头识别(含训练代码和数据集)
  3. 人脸活体识别3:C/C++实现人脸眨眼 张嘴 点头 摇头识别(可实时检测)
  4. 人脸活体识别4:Android实现人脸眨眼 张嘴 点头 摇头识别(可实时检测)
  5. 人脸识别2:InsightFace实现人脸识别Face Recognition(含源码下载)
  6. 人脸识别3:C/C++ InsightFace实现人脸识别Face Recognition(含源码)
  7. 人脸识别4:Android InsightFace实现人脸识别Face Recognition(含源码)

     


2. 人脸活体识别方法

人脸活体识别的方法有很多,如基于人脸动作的活体识别​,基于红外的活体识别,基于深度的活体识别等等方法。

(1)基于人脸动作的检测​​

    要求用户配合完成随机指令动作(如眨眼、点头、张嘴、摇头等),通过计算机视觉算法(如光流法、关键点跟踪)分析动作的自然性和时序连贯性。

优点​​:实现简单,能有效抵御照片和静态视频攻击。​​

缺点​​:依赖用户配合,体验较差;可能被高仿动态视频(如Deepfake)欺骗。

(2)​​基于红外的活体识别​​

​​     利用红外摄像头捕捉人脸的红外反射特性或热辐射分布,如采用红外光谱分析​​,活体皮肤对特定波长红外光的吸收/反射模式与非活体不同。​​

优点​​:无需用户配合,可抵御照片、视频及部分3D面具攻击。

缺点​​:设备成本较高;受环境温度影响(如低温可能降低检测精度)。

(3)基于深度的活体识别​​

    通过3D深度摄像头(如结构光、ToF)获取人脸的三维几何信息(如鼻梁高度、曲面曲率),非活体(照片、屏幕)缺乏真实的深度结构。​​

优点​​:防御能力最强,可识别高级3D头套攻击。

​​缺点​​:硬件成本高,需专用3D传感器。

本项目实现方案是采用基于人脸动作的活体识别方法,即先采用通用的人脸检测模型,进行人脸检测定位人脸区域,然后按照一定规则裁剪人脸检测区域,再训练一个人脸活体识别分类器,完成人脸活体识别的任务。人脸动作主要包含:眨眼(闭眼)、张嘴、点头(低头)、摇头(侧脸)。


3. 人脸动作说明

项目对人脸图像进行人脸动作标注,人脸动作主要包含:眨眼(闭眼)、张嘴、点头(低头)、摇头(侧脸),标注工具:使用labelme或者AnyLabeling(推荐)进行图片标注,

标注方法:

  • 为了便于数据标注,我们将人脸动作转换为状态识别:人脸眨眼可等效看成是闭眼的状态;同理,点头可以看成低头,摇头可以看成是侧脸的过程。这样就将动态的人脸动作识别转换为静态的人脸状态识别方法。
  • 标注人脸的矩形框,共6个状态:侧脸>低头>张嘴>闭眼>face(优先级由高到低)
  • 同一张人脸可能出现多个状态,如同时出现侧脸和张嘴等多种情况,这时按照优先级优先标注为侧脸;
  • 如果没有出现侧脸>低头>张嘴>闭眼的情况,则标注人脸为face
  • 如果不属于人脸图片,则删除原图,无需标注

标签

说明

样图

侧脸

  1. 摇头(侧脸)
  2. 人脸向左侧或者向右侧旋转幅度超过30°

低头

  1. 点头(低头)
  2. 人脸向下低头幅度超过30°

张嘴

  1. 嘴巴张开,且可以看到口腔内部(如舌头)
  2. 注意:微笑时,虽然嘴巴张开,但若牙齿没张开,看不到口腔内部(如舌头),不属于张嘴

闭眼

  1. 眨眼(闭眼)
  2. 双眼合闭,且看不到眼珠
  3. 注意:单眼合闭,不属于闭眼

face

  1. 若没用出现侧脸>低头>张嘴>闭眼的情况,则标注人脸为face

4. 数据集说明

(1)Face-Gesture-v1

该数据集收集了国内明星人脸照片,总计包含200张不同个体的正面人脸图像。然后,通过数字人生成技术和人脸动作驱动技术(如SadTalker、Face2Face等算法模型),为每张基础人脸生成多张不同的人脸动作序列图片,包含眨眼(闭眼)、张嘴、点头(低头)、摇头(侧脸)的人脸照片,虽然人脸动作是通过数字人技术生成的,但人脸质量和人脸姿态表情跟实际人脸相差无几。总共40000+张人脸图片

所有图片均使用Labelme工具进行人工标注了人脸矩形框的区域和对应的label,标注数据格式即是Labelme的默认格式。

如果你想查看数据集的标注效果,可以直接使用Labelme工具打开图片文件夹,即可查看标注效果,你可以使用Labelme工具修改标注框和label。

(2)Face-Gesture-v2

该数据集是通过网络爬虫技术从百度谷歌等搜索引擎采集,并经过数据清洗流程筛选出的高质量证件照人脸照片,总计包含200张不同个体的正面免冠人脸图像。然后,通过数字人生成技术和人脸动作驱动技术(如SadTalker、Face2Face等算法模型),为每张基础人脸生成多张不同的人脸动作序列图片,包含眨眼(闭眼)、张嘴、点头(低头)、摇头(侧脸)的人脸照片,虽然人脸动作是通过数字人技术生成的,但人脸质量和人脸姿态表情跟实际人脸相差无几。总共有12000张人脸图片,作为训练集使用。所有图片均使用Labelme工具进行人工标注了人脸矩形框的区域和对应的label,标注数据格式即是Labelme的默认格式。

(3)Face-Gesture-v3

该数据集是项目单独收集的人脸动作图片(非数字人生成),包含眨眼(闭眼)、张嘴、点头(低头)、摇头(侧脸)的人脸照片。总共600+张人脸图片,作为训练集使用。所有图片均使用Labelme工具进行人工标注了人脸矩形框的区域和对应的label,标注数据格式即是Labelme的默认格式。

(4)Face-Gesture-test

与Face-Gesture-v1类似,通过数字人生成技术和人脸动作驱动技术生成人脸照片。总共2900+张人脸图片,作为测试集使用。所有图片均使用Labelme工具进行人工标注了人脸矩形框的区域和对应的label,标注数据格式即是Labelme的默认格式。


5. 数据集下载

如需下载项目数据,请WX关注【AI吃大瓜】,回复【活体识别】

项目资源内容包含:

  • 人脸活体识别数据集:Face-Gesture-v1,训练数据集,总共40000+张人脸图片
  • 人脸活体识别数据集:Face-Gesture-v2,训练数据集,总共12000+张人脸图片
  • 人脸活体识别数据集:Face-Gesture-v3,训练数据集,总共600+张人脸图片
  • 人脸活体识别数据集:Face-Gesture-test,测试数据集,总共2900+张人脸图片
  • 人脸活体识别数据集所有图片都标注了:face和眨眼(闭眼)、张嘴、点头(低头)、摇头(侧脸)共5个标签,所有数据均采用Labelme格式,可直接使用Labelme工具打开和修改。

6.人脸活体识别效果(Python/C++/Android) 

  【Android APP Demo体验】https://download.csdn.net/download/guyuealian/91133467

下面是人体活体识别眨眼 张嘴 点头 摇头识别效果

    

   

Logo

脑启社区是一个专注类脑智能领域的开发者社区。欢迎加入社区,共建类脑智能生态。社区为开发者提供了丰富的开源类脑工具软件、类脑算法模型及数据集、类脑知识库、类脑技术培训课程以及类脑应用案例等资源。

更多推荐