SeetaFace6/docs/人脸跟踪.md
2025-04-25 14:48:24 +08:00

152 lines
3.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 人脸跟踪器
## **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 的大小保证大于等于 20size的值越小能够检测到的人脸的尺寸越小
检测速度越慢。
#### GetMinFaceSize
获取最小人脸的大小。
|参数 | 类型 |缺省值|说明|
|---|---|---|---|
|返回值|int32_t| |最小人脸大小|
#### SetThreshold
设置检测器的检测阈值。
|参数 | 类型 |缺省值|说明|
|---|---|---|---|
|thresh|float| |检测阈值|
|返回值|void| ||
#### GetScoreThreshold
获取检测器检测阈值。
|参数 | 类型 |缺省值|说明|
|---|---|---|---|
|返回值|float| |检测阈值|
#### SetVideoStable
设置以稳定模式输出人脸跟踪结果。
|参数 | 类型 |缺省值|说明|
|---|---|---|---|
|stable|bool| |是否是稳定模式|
|返回值|void| ||
说明:只有在视频中连续跟踪时,才使用此方法。
#### GetVideoStable
获取当前是否是稳定工作模式。
|参数 | 类型 |缺省值|说明|
|---|---|---|---|
|返回值|bool| |是否是稳定模式|