静默活体识别根据输入的图像数据、人脸位置和人脸特征点,对输入人脸进行活体的判断,并返回人脸活体的状态。
2.1 struct SeetaImageData
名称
类型
说明
data
unit8_t*
图像数据
width
int32_t
图像的宽度
height
int32_t
图像的高度
channels
int32_t
图像的通道数
说明:存储彩色(三通道)或灰度(单通道)图像,像素连续存储,行优先,采用 BGR888 格式存放彩色图像,单字节灰度值存放灰度图像。
名称
类型
说明
x
int32_t
人脸区域左上角横坐标
y
int32_t
人脸区域左上角纵坐标
width
int32_t
人脸区域宽度
height
int32_t
人脸区域高度
名称
类型
说明
x
double
人脸特征点横坐标
y
double
人脸特征点纵坐标
活体识别器。
模型运行的计算设备。
名称
说明
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)
构造活体识别器,需要在构造的时候传入识别器结构参数。
参数
类型
缺省值
说明
setting
const SeetaModelSetting&
识别器接口参数
说明:活体对象创建可以出入一个模型文件(局部活体模型)和两个模型文件(局部活体模型和全局活体模型,顺序不可颠倒),传入一个模型文件时活体识别速度快于传入两个模型文件的识别速度,传入一个模型文件时活体识别精度低于传入两个模型文件的识别精度。
基于单帧图像对人脸是否为活体进行判断。
参数
类型
缺省值
说明
image
const SeetaImageData&
原始图像数据
face
const SeetaRect&
人脸位置
points
const SeetaPointF*
人脸特征点数组
返回值
Status
人脸活体的状态
说明:Status 活体状态可取值为REAL(真人)、SPOOF(假体)、FUZZY(由于图像质量问题造成的无法判断)和 DETECTING(正在检测),DETECTING 状态针对于 PredicVideo 模式。
基于连续视频序列对人脸是否为活体进行判断。
参数
类型
缺省值
说明
image
const SeetaImageData&
原始图像数据
face
const SeetaRect&
人脸位置
points
const SeetaPointF*
人脸特征点数组
返回值
Status
人脸活体的状态
说明:Status 活体状态可取值为REAL(真人)、SPOOF(假体)、FUZZY(由于图像质量问题造成的无法判断)和 DETECTING(正在检测),DETECTING 状态针对于 PredicVideo 模式。
重置活体识别结果,开始下一次 PredictVideo 识别过程。
获取活体检测内部分数。
参数
类型
缺省值
说明
clarity
float*
人脸清晰度分数
reality
float*
人脸活体分数
返回值
void
设置 Video 模式中识别视频帧数,当输入帧数为该值以后才会有活体的
真假结果。
参数
类型
缺省值
说明
number
int32_t
video模式下活体需求帧数
返回值
void
获取video模式下活体需求帧数。
设置阈值。
参数
类型
缺省值
说明
clarity
float
人脸清晰度阈值
reality
float
人脸活体阈值
返回值
void
说明:人脸清晰度阈值默认为0.3,人脸活体阈值为0.8。
获取阈值。
参数
类型
缺省值
说明
clarity
float*
人脸清晰度阈值
reality
float*
人脸活体阈值
设置相关属性值。其中
PROPERTY_NUMBER_THREADS :
表示计算线程数,默认为 4.
参数
类型
缺省值
说明
property
Property
属性类别
value
double
设置的属性值
返回值
void
获取相关属性值。
参数
类型
缺省值
说明
property
Property
属性类别
返回值
double
对应的属性值