追踪 SDK 一般是用于对视频流优选出最佳人脸,是所有 SDK 的前置条件。
version: v1.1.0
package: com.tencent.youtu.YTFaceTracker
-
YTFaceTracker.Options
minFaceSize
: 默认值:100
,用于检测算法的搜索- 此数值越大,单次调用耗时越短,此数值越小,单次调用的检测到的人脸越精确,耗时越多
- 请不要依赖此值进行人脸大小的过滤
maxFaceSize
: 默认值:999999
,用于检测算法的搜索- 此数值用于限制检测到的人脸最大范围,一般情况无需做特别设置
- 请不要依赖此值进行人脸大小的过滤
biggerFaceMode
: 是否开启大脸模式,开启有助于减少单次调用耗时,但会降低精度threshold
: 默认值:0.987
,用于检测器人脸阈值过滤,一般不需要修改
-
YTFaceTracker.TrackedFace
xy5Points
: 人脸关键五点x
: 人脸位于输入图的坐标 xy
: 人脸位于输入图的坐标 yfaceWidth
: 人脸宽faceHeight
: 人脸高faceRect
: 由 x/y/faceWidth/faceHeight 组成的人脸框frameId
: 追踪到人脸的 frame id,detect 模式下,为 -1;traceId
: 追踪到人脸的 trace id,detect 模式下,为 -1;consecutive
: 当前追踪结果是否和上一帧连续pitch
: 人脸绕 x 轴角度yaw
: 人脸绕 y 轴角度roll
: 人脸绕 z 轴角度
-
YTFaceTracker();
- @brief 使用默认参数初始化
-
YTFaceTracker(YTFaceTracker.Options options);
- @brief 类实例须指定人脸追踪的参数
- @param
options
人脸追踪的参数,只对track
生效
-
static String getVersion();
- @brief 获得 SDK + MODEL 的版本号,如
v3.0.0-v7114
- MODEL 的版本号由
config.ini
中读取获得 - SDK 的版本号一般为
v3.0.0
/v3.0.0-beta.0
/v3.1.1-rc.0
- MODEL 的版本号由
- @return 版本号
- @brief 获得 SDK + MODEL 的版本号,如
-
static int globalInit(String dirPath, String configFilename);
- @brief 全局初始化函数,初始化模型,进程初始化一次即可,多线程不安全
- @param
dirPath
模型所在外部存储空间的绝对路径 - @param
configFilename
模型所在外部存储控件路径下 config 的文件名,如config.ini
- @return
< 0
失败
-
static int globalInit(AssetManager assetManager, String dirPath, String configFilename);
- @brief 全局初始化函数,初始化模型,进程初始化一次即可,多线程不安全
- @param
assetManager
Android 管理Assets
类,可通过this.getAssets()
获得 - @param
dirPath
模型所在Assets
存储下的相对路径 - @param
configFilename
模型所在Assets
存储下的相对路径下 config 的文件名,如config.ini
- @return
< 0
失败
-
static void globalRelease();
- @brief 全局析构函数,进程结束析构一次即可,多线程不安全
-
void destroy();
- @brief 每一个 new 出的实例,都需要明确的 destroy()。防止内存泄漏。
-
YTFaceTracker.TrackedFace[] track(byte[] rgbData, int width, int height);
- @brief 输入视频流的每一帧图片,经过算法追踪,快速识别出其中的人脸位置和关键五点
- @param
rgbData
输入图片的二进制数据 - @param
width
输入图片的宽 - @param
height
输入图片的高 - @return 追踪到的人脸信息
-
YTFaceTracker.TrackedFace[] detect(byte[] rgbData, int width, int height, YTFaceTracker.Options options);
- @brief 对单帧图片进行检测,配准,获得可识别出的人脸位置和关键五点
- @brief 此接口一般用于单帧检测使用,调用不会影响到
track
的跟踪流程,对于视频流,请使用track
接口,能够显著提高性能 - @param
rgbData
输入图片的二进制数据 - @param
width
输入图片的宽 - @param
height
输入图片的高 - @param
options
检测配准参数,当为 null 时,使用默认值 - @return 图片上的人脸信息