Skip to content

Latest commit

 

History

History
87 lines (69 loc) · 4.19 KB

优图人脸追踪文档.md

File metadata and controls

87 lines (69 loc) · 4.19 KB

优图人脸追踪 FACE-TRACKER

追踪 SDK 一般是用于对视频流优选出最佳人脸,是所有 SDK 的前置条件。

version: v1.1.0

接口 - Java

package: com.tencent.youtu.YTFaceTracker

参数类

  • YTFaceTracker.Options

    • minFaceSize: 默认值:100,用于检测算法的搜索
      • 此数值越大,单次调用耗时越短,此数值越小,单次调用的检测到的人脸越精确,耗时越多
      • 请不要依赖此值进行人脸大小的过滤
    • maxFaceSize: 默认值:999999,用于检测算法的搜索
      • 此数值用于限制检测到的人脸最大范围,一般情况无需做特别设置
      • 请不要依赖此值进行人脸大小的过滤
    • biggerFaceMode: 是否开启大脸模式,开启有助于减少单次调用耗时,但会降低精度
    • threshold: 默认值:0.987,用于检测器人脸阈值过滤,一般不需要修改
  • YTFaceTracker.TrackedFace

    • xy5Points: 人脸关键五点
    • x: 人脸位于输入图的坐标 x
    • y: 人脸位于输入图的坐标 y
    • faceWidth: 人脸宽
    • 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
    • @return 版本号
  • 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 图片上的人脸信息