SeetaFace6/docs/静默活体.md
2025-04-25 14:48:24 +08:00

4.7 KiB
Raw Permalink Blame History

静默活体识别器

1. 接口简介

静默活体识别根据输入的图像数据、人脸位置和人脸特征点,对输入人脸进行活体的判断,并返回人脸活体的状态。

2. 类型说明

2.1 struct SeetaImageData

名称 类型 说明
data unit8_t* 图像数据
width int32_t 图像的宽度
height int32_t 图像的高度
channels int32_t 图像的通道数
说明:存储彩色(三通道)或灰度(单通道)图像,像素连续存储,行优先,采用 BGR888 格式存放彩色图像,单字节灰度值存放灰度图像。

2.2 struct SeetaRect

名称 类型 说明
x int32_t 人脸区域左上角横坐标
y int32_t 人脸区域左上角纵坐标
width int32_t 人脸区域宽度
height int32_t 人脸区域高度

2.3 struct SeetaPointF

名称 类型 说明
x double 人脸特征点横坐标
y double 人脸特征点纵坐标

3 class FaceAntiSpoofing

活体识别器。

3.1 Enum SeetaDevice

模型运行的计算设备。

名称 说明
SEETA_DEVICE_AUTO 自动检测,会优先使用 GPU
SEETA_DEVICE_CPU 使用CPU计算
SEETA_DEVICE_GPU 使用GPU计算

3.2 struct SeetaModelSetting

构造活体识别器需要传入的结构体参数。

参数 类型 缺省值 说明
model const char** 识别器模型
id int GPU id
device SeetaDevice AUTO 计算设备(CPU 或者 GPU)

3.3 构造函数

FaceAntiSpoofing

构造活体识别器,需要在构造的时候传入识别器结构参数。

参数 类型 缺省值 说明
setting const SeetaModelSetting& 识别器接口参数
说明:活体对象创建可以出入一个模型文件(局部活体模型)和两个模型文件(局部活体模型和全局活体模型,顺序不可颠倒),传入一个模型文件时活体识别速度快于传入两个模型文件的识别速度,传入一个模型文件时活体识别精度低于传入两个模型文件的识别精度。

3.4 成员函数

Predict

基于单帧图像对人脸是否为活体进行判断。

参数 类型 缺省值 说明
image const SeetaImageData& 原始图像数据
face const SeetaRect& 人脸位置
points const SeetaPointF* 人脸特征点数组
返回值 Status 人脸活体的状态
说明Status 活体状态可取值为REAL(真人)、SPOOF(假体)、FUZZY由于图像质量问题造成的无法判断和 DETECTING正在检测DETECTING 状态针对于 PredicVideo 模式。

PredictVideo

基于连续视频序列对人脸是否为活体进行判断。

参数 类型 缺省值 说明
image const SeetaImageData& 原始图像数据
face const SeetaRect& 人脸位置
points const SeetaPointF* 人脸特征点数组
返回值 Status 人脸活体的状态
说明Status 活体状态可取值为REAL(真人)、SPOOF(假体)、FUZZY由于图像质量问题造成的无法判断和 DETECTING正在检测DETECTING 状态针对于 PredicVideo 模式。

ResetVideo

重置活体识别结果,开始下一次 PredictVideo 识别过程。

参数 类型 缺省值 说明
返回值 void

GetPreFrameScore

获取活体检测内部分数。

参数 类型 缺省值 说明
clarity float* 人脸清晰度分数
reality float* 人脸活体分数
返回值 void

SetVideoFrameCount

设置 Video 模式中识别视频帧数,当输入帧数为该值以后才会有活体的 真假结果。

参数 类型 缺省值 说明
number int32_t video模式下活体需求帧数
返回值 void

GetVideoFrameCount

获取video模式下活体需求帧数。

参数 类型 缺省值 说明
返回值 int

SetThreshold

设置阈值。

参数 类型 缺省值 说明
clarity float 人脸清晰度阈值
reality float 人脸活体阈值
返回值 void
说明人脸清晰度阈值默认为0.3人脸活体阈值为0.8。

GetThreshold

获取阈值。

参数 类型 缺省值 说明
clarity float* 人脸清晰度阈值
reality float* 人脸活体阈值

set

设置相关属性值。其中
PROPERTY_NUMBER_THREADS: 表示计算线程数,默认为 4.

参数 类型 缺省值 说明
property Property 属性类别
value double 设置的属性值
返回值 void

get

获取相关属性值。

参数 类型 缺省值 说明
property Property 属性类别
返回值 double 对应的属性值