152 lines
3.8 KiB
Markdown
152 lines
3.8 KiB
Markdown
# 人脸跟踪器
|
||
|
||
## **1. 接口简介** <br>
|
||
|
||
人脸跟踪器会对输入的彩色图像或者灰度图像中的人脸进行跟踪,并返回所有跟踪到的人脸信息。<br>
|
||
|
||
## **2. 类型说明**<br>
|
||
|
||
### **2.1 struct SeetaImageData**<br>
|
||
|
||
|名称 | 类型 | 说明|
|
||
|---|---|---|
|
||
|data|unit8_t* |图像数据|
|
||
|width | int32_t | 图像的宽度|
|
||
|height | int32_t | 图像的高度|
|
||
|channels | int32_t | 图像的通道数|
|
||
说明:存储彩色(三通道)或灰度(单通道)图像,像素连续存储,行优先,采用 BGR888 格式存放彩色图像,单字节灰度值存放灰度图像。
|
||
|
||
### **2.2 struct SeetaRect**<br>
|
||
|
||
|名称 | 类型 | 说明|
|
||
|---|---|---|
|
||
|x|int32_t |人脸区域左上角横坐标|
|
||
|y| int32_t | 人脸区域左上角纵坐标|
|
||
|width| int32_t | 人脸区域宽度|
|
||
|height| int32_t | 人脸区域高度|
|
||
|
||
### **2.3 struct SeetaTrackingFaceInfo**<br>
|
||
|
||
|名称 | 类型 | 说明|
|
||
|---|---|---|
|
||
|pos|SeetaRect|人脸位置|
|
||
|score|float|人脸置信分数|
|
||
|frame_no|int|视频帧的索引|
|
||
|PID|int|跟踪的人脸标识id|
|
||
|
||
### **2.4 struct SeetaTrackingFaceInfoArray**<br>
|
||
|
||
|名称 | 类型 | 说明|
|
||
|---|---|---|
|
||
|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| |是否是稳定模式|
|