Skip to content

Latest commit

 

History

History
113 lines (82 loc) · 3.24 KB

特征点检测.md

File metadata and controls

113 lines (82 loc) · 3.24 KB

人脸特征点检测器

1. 接口简介

人脸特征点检测器要求输入原始图像数据和人脸位置,返回人脸 5 个或者其他数量的的特征点的坐标(特征点的数量和加载的模型有关)。

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 FaceLandmarker

人脸特征点检测器。

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 构造函数

FaceLandmarker

参数 类型 缺省值 说明
setting const SeetaModelSetting& 检测器结构参数

3.4 成员函数

number

获取模型对应的特征点数组长度。

参数 类型 缺省值 说明
返回值 int 模型特征点数组长度

mark

获取人脸特征点。

参数 类型 缺省值 说明
image const SeetaImageData& 图像原始数据
face const SeetaRect& 人脸位置
points SeetaPointF* 获取的人脸特征点数组(需预分配好数组长度,长度为number()返回的值)
返回值 void

mark

获取人脸特征点和遮挡信息。

参数 类型 缺省值 说明
image const SeetaImageData& 图像原始数据
face const SeetaRect& 人脸位置
points SeetaPointF* 获取的人脸特征点数组(需预分配好数组长度,长度为number()返回的值)
mask int32_t* 获取人脸特征点位置对应的遮挡信息数组(需预分配好数组长度,长度为number()返回的值), 其中值为1表示被遮挡,0表示未被遮挡
返回值 void

mark

获取人脸特征点。

参数 类型 缺省值 说明
image const SeetaImageData& 图像原始数据
face const SeetaRect& 人脸位置
返回值 std::vector 获取的人脸特征点数组

mark_v2

获取人脸特征点和遮挡信息。

参数 类型 缺省值 说明
image const SeetaImageData& 图像原始数据
face const SeetaRect& 人脸位置
返回值 std::vector 获取人脸特征点和是否遮挡数组