Skip to content

Latest commit

 

History

History
151 lines (110 loc) · 3.76 KB

人脸跟踪.md

File metadata and controls

151 lines (110 loc) · 3.76 KB

人脸跟踪器

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 SeetaTrackingFaceInfo

名称 类型 说明
pos SeetaRect 人脸位置
score float 人脸置信分数
frame_no int 视频帧的索引
PID int 跟踪的人脸标识id

2.4 struct SeetaTrackingFaceInfoArray

名称 类型 说明
data const SeetaTrackingFaceInfo* 人脸信息数组
size int 人脸信息数组长度

3 class FaceTracker

人脸跟踪器。

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

FaceTrakcer

参数 类型 缺省值 说明
setting const SeetaModelSetting& 跟踪器结构参数
video_width int 视频的宽度
video_height int 视频的高度

3.4 成员函数

SetSingleCalculationThreads

设置底层的计算线程数量。

参数 类型 缺省值 说明
num int 线程数量
返回值 void

Track

对视频帧中的人脸进行跟踪。

参数 类型 缺省值 说明
image const SeetaImageData& 原始图像数据
返回值 SeetaTrackingFaceInfoArray 跟踪到的人脸信息数组

Track

对视频帧中的人脸进行跟踪。

参数 类型 缺省值 说明
image const SeetaImageData& 原始图像数据
frame_no int 视频帧索引
返回值 SeetaTrackingFaceInfoArray 跟踪到的人脸信息数组

SetMinFaceSize

设置检测器的最小人脸大小。

参数 类型 缺省值 说明
size int32_t 最小人脸大小
返回值 void
说明:size 的大小保证大于等于 20,size的值越小,能够检测到的人脸的尺寸越小,
检测速度越慢。

GetMinFaceSize

获取最小人脸的大小。

参数 类型 缺省值 说明
返回值 int32_t 最小人脸大小

SetThreshold

设置检测器的检测阈值。

参数 类型 缺省值 说明
thresh float 检测阈值
返回值 void

GetScoreThreshold

获取检测器检测阈值。

参数 类型 缺省值 说明
返回值 float 检测阈值

SetVideoStable

设置以稳定模式输出人脸跟踪结果。

参数 类型 缺省值 说明
stable bool 是否是稳定模式
返回值 void
说明:只有在视频中连续跟踪时,才使用此方法。

GetVideoStable

获取当前是否是稳定工作模式。

参数 类型 缺省值 说明
返回值 bool 是否是稳定模式