人脸检测器
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 SeetaFaceInfo
| 名称 |
类型 |
说明 |
| pos |
SeetaRect |
人脸位置 |
| score |
float |
人脸置信分数 |
2.4 struct SeetaFaceInfoArray
| 名称 |
类型 |
说明 |
| data |
const SeetaFaceInfo* |
人脸信息数组 |
| size |
int |
人脸信息数组长度 |
3 class FaceDetector
人脸检测器。
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 构造函数
FaceDetector
| 参数 |
类型 |
缺省值 |
说明 |
| setting |
const SeetaModelSetting& |
|
检测器结构参数 |
3.4 成员函数
detect
输入彩色图像,检测其中的人脸。
| 参数 |
类型 |
缺省值 |
说明 |
| image |
const SeetaImageData& |
|
输入的图像数据 |
| 返回值 |
SeetaFaceInfoArray |
|
人脸信息数组 |
set
设置人脸检测器相关属性值。其中
PROPERTY_MIN_FACE_SIZE: 表示人脸检测器可以检测到的最小人脸,该值越小,支持检测到的人脸尺寸越小,检测速度越慢,默认值为20;
PROPERTY_THRESHOLD:
表示人脸检测器过滤阈值,默认为 0.90;
PROPERTY_MAX_IMAGE_WIDTH 和 PROPERTY_MAX_IMAGE_HEIGHT:
分别表示支持输入的图像的最大宽度和高度;
PROPERTY_NUMBER_THREADS:
表示人脸检测器计算线程数,默认为 4.
| 参数 |
类型 |
缺省值 |
说明 |
| property |
Property |
|
人脸检测器属性类别 |
| value |
double |
|
设置的属性值 |
| 返回值 |
void |
|
|
get
获取人脸检测器相关属性值。
| 参数 |
类型 |
缺省值 |
说明 |
| property |
Property |
|
人脸检测器属性类别 |
| 返回值 |
double |
|
对应的人脸属性值 |