FaceLandmarker

公开 final 类 FaceLandmarker

对图片执行人脸特征点检测。

此 API 需要预训练的人脸特征点模型资源包。请参阅

  • 输入图片 MPImage
    • 运行人脸特征点检测的图片。
  • 输出 FaceLandmarkerResult
    • 包含人脸特征点的 FaceSitelinkerResult。

嵌套类

类别 FaceLandmarker.FaceLandmarkerOptions 用于设置 FaceLandmarker 的选项。 

字段

public static final Set<Connection> FACE_LANDMARKS_CONNECTORS
public static final Set<Connection> FACE_LANDMARKS_FACE_OVAL
public static final Set<Connection> FACE_LANDMARKS_LEFT_EYE
public static final Set<Connection> FACE_LANDMARKS_LEFT_EYE_BROW
public static final Set<Connection> FACE_LANDMARKS_LEFT_IRIS
public static final Set<Connection> FACE_LANDMARKS_LIPS
public static final Set<Connection> FACE_LANDMARKS_RIGHT_EYE
public static final Set<Connection> FACE_LANDMARKS_RIGHT_EYE_BROW
public static final Set<Connection> FACE_LANDMARKS_RIGHT_IRIS
public static final Set<Connection> FACE_LANDMARKS_TESSELATION

公共方法

静态 FaceLandmarker
createFromBuffer(Context context, ByteBuffer modelAssetBuffer)
根据模型资源包缓冲区和默认的 FaceLandmarker.FaceLandmarkerOptions 创建 FaceLandmarker 实例。
静态 FaceLandmarker
createFromFile(Context context, String modelAssetPath)
根据模型资源包路径和默认的 FaceLandmarker.FaceLandmarkerOptions 创建 FaceLandmarker 实例。
静态 FaceLandmarker
createFromFile(Context context, File modelAssetFile)
根据模型资源包文件和默认的 FaceLandmarker.FaceLandmarkerOptions 创建 FaceLandmarker 实例。
静态 FaceLandmarker
FaceLandmarkerResult
detectMPImage 图片)
使用默认的图片处理选项(即,在提供的单张图片上)执行人脸特征点检测
FaceLandmarkerResult
detectMPImage 图片、ImageProcessingOptions imageProcessingOptions)
对提供的单张图片执行人脸特征点检测。
void
detectAsyncMPImage 图片、ImageProcessingOptions imageProcessingOptions、long timestampMs)
发送实时图像数据以执行人脸特征点检测,结果将通过 FaceLandmarker.FaceLandmarkerOptions 中提供的 OutputHandler.ResultListener 获取。
void
detectAsyncMPImage 图片,长 timestampMs)
发送实时图像数据,以使用默认图像处理选项(即
FaceLandmarkerResult
detectForVideoMPImage 图片、ImageProcessingOptions imageProcessingOptions、long timestampMs)
对提供的视频帧执行人脸特征点检测。
FaceLandmarkerResult
detectForVideoMPImage 图片,长 timestampMs)
使用默认的图片处理选项(即,在提供的视频帧上)执行人脸特征点检测

继承的方法

字段

public static final 设置<Connection> FACE_LANDMARKS_CONNECTORS

public static final 设置<Connection> FACE_LANDMARKS_FACE_OVAL

public static final 设置<Connection> FACE_LANDMARKS_LEFT_EYE

public static final 设置<Connection> FACE_LANDMARKS_LEFT_EYE_BROW

public static final 设置<Connection> FACE_LANDMARKS_LEFT_IRIS

public static final 设置<Connection> FACE_LANDMARKS_LIPS

public static final 设置<Connection> FACE_LANDMARKS_RIGHT_EYE

public static final 设置<Connection> FACE_LANDMARKS_RIGHT_EYE_BROW

public static final 设置<Connection> FACE_LANDMARKS_RIGHT_IRIS

public static final 设置<Connection> FACE_LANDMARKS_TESSELATION

公共方法

public static FaceLandmarker createFromBuffer (Context context、ByteBuffer modelAssetBuffer)

根据模型资源包缓冲区和默认的 FaceLandmarker.FaceLandmarkerOptions 创建 FaceLandmarker 实例。

参数
context 一个 Android ERROR(/Context)
modelAssetBuffer
抛出
如果 FaceLandmarker 创建过程中出错,则会发生该错误。

public static FaceLandmarker createFromFile (Context context, String modelAssetPath)

根据模型资源包路径和默认的 FaceLandmarker.FaceLandmarkerOptions 创建 FaceLandmarker 实例。

参数
context 一个 Android ERROR(/Context)
modelAssetPath 包含资源中元数据的人脸特征点模型的路径。
抛出
如果 FaceLandmarker 创建过程中出错,则会发生该错误。

public static FaceLandmarker createFromFile (Context context, File modelAssetFile)

根据模型资源包文件和默认的 FaceLandmarker.FaceLandmarkerOptions 创建 FaceLandmarker 实例。

参数
context 一个 Android ERROR(/Context)
modelAssetFile 人脸特征点模型 File 实例。
抛出
IOException 如果在打开 tflite 模型文件时发生 I/O 错误,则会发生该错误。
如果 FaceLandmarker 创建过程中出错,则会发生该错误。

public static FaceLandmarker createFromOptions (Context context, FaceLandmarker.FaceLandmarkerOptions markerOptions)

参数
context 一个 Android ERROR(/Context)
landmarkerOptions 一个 FaceLandmarker.FaceLandmarkerOptions 实例。
抛出
如果 FaceLandmarker 创建过程中出错,则会发生该错误。

public FaceLandmarkerResult detect MPImage 图片)

使用默认图片处理选项(即不应用任何旋转)对提供的单张图片执行人脸特征点检测。仅当使用 ERROR(/RunningMode.IMAGE) 创建 FaceLandmarker 时,才使用此方法。输入图片格式的 TODO 更新 Java 文档。

FaceLandmarker 支持以下颜色空间类型:

参数
图片 用于处理的 MediaPipe MPImage 对象。
抛出
出现内部错误。

public FaceLandmarkerResult detect (MPImage image, ImageProcessingOptions imageProcessingOptions)

对提供的单张图片执行人脸特征点检测。仅当使用 ERROR(/RunningMode.IMAGE) 创建 FaceLandmarker 时,才使用此方法。输入图片格式的 TODO 更新 Java 文档。

FaceLandmarker 支持以下颜色空间类型:

参数
图片 用于处理的 MediaPipe MPImage 对象。
imageProcessingOptions ImageProcessingOptions,用于指定在运行推断之前如何处理输入图片。请注意,此任务支持相关区域:指定 ImageProcessingOptions.regionOfInterest() 会导致此方法抛出 IllegalArgumentException。
抛出
IllegalArgumentException 如果 ImageProcessingOptions 指定了关注区域,则会发生该错误。
出现内部错误。

public void detectAsync (MPImage image, ImageProcessingOptions imageProcessingOptions, long timestampMs)

发送实时图像数据以执行人脸特征点检测,结果将通过 FaceLandmarker.FaceLandmarkerOptions 中提供的 OutputHandler.ResultListener 获取。只有在使用 ERROR(/RunningMode.LIVE_STREAM) 创建 FaceLandmarker 时,才应使用此方法。

必须提供时间戳(以毫秒为单位),以指明输入图片何时发送到人脸特征点。输入时间戳必须单调递增。

FaceLandmarker 支持以下颜色空间类型:

参数
图片 用于处理的 MediaPipe MPImage 对象。
imageProcessingOptions ImageProcessingOptions,用于指定在运行推断之前如何处理输入图片。请注意,此任务支持相关区域:指定 ImageProcessingOptions.regionOfInterest() 会导致此方法抛出 IllegalArgumentException。
timestampMs 输入时间戳(以毫秒为单位)。
抛出
IllegalArgumentException 如果 ImageProcessingOptions 指定了关注区域,则会发生该错误。
出现内部错误。

public void detectAsync (MPImage image, long timestampMs)

发送实时图片数据,以使用默认图片处理选项(即不应用任何旋转)执行人脸特征点检测,结果将通过 FaceLandmarker.FaceLandmarkerOptions 中提供的 OutputHandler.ResultListener 获取。仅当使用 ERROR(/RunningMode.LIVE_STREAM) 创建 FaceLandmarker 时,才使用此方法。

必须提供时间戳(以毫秒为单位),以指明输入图片何时发送到人脸特征点。输入时间戳必须单调递增。

FaceLandmarker 支持以下颜色空间类型:

参数
图片 用于处理的 MediaPipe MPImage 对象。
timestampMs 输入时间戳(以毫秒为单位)。
抛出
出现内部错误。

public FaceLandmarkerResult detectForVideo MPImage image、ImageProcessingOptions imageProcessingOptions, long timestampMs)

对提供的视频帧执行人脸特征点检测。仅当使用 ERROR(/RunningMode.VIDEO) 创建 FaceLandmarker 时,才使用此方法。

必须提供视频帧的时间戳(以毫秒为单位)。输入时间戳必须单调递增。

FaceLandmarker 支持以下颜色空间类型:

参数
图片 用于处理的 MediaPipe MPImage 对象。
imageProcessingOptions ImageProcessingOptions,用于指定在运行推断之前如何处理输入图片。请注意,此任务支持相关区域:指定 ImageProcessingOptions.regionOfInterest() 会导致此方法抛出 IllegalArgumentException。
timestampMs 输入时间戳(以毫秒为单位)。
抛出
IllegalArgumentException 如果 ImageProcessingOptions 指定了关注区域,则会发生该错误。
出现内部错误。

public FaceLandmarkerResult detectForVideo MPImage image, long timestampMs)

使用默认图片处理选项(即不应用任何旋转)对提供的视频帧执行人脸特征点检测。仅当使用 ERROR(/RunningMode.VIDEO) 创建 FaceLandmarker 时,才使用此方法。

必须提供视频帧的时间戳(以毫秒为单位)。输入时间戳必须单调递增。

FaceLandmarker 支持以下颜色空间类型:

参数
图片 用于处理的 MediaPipe MPImage 对象。
timestampMs 输入时间戳(以毫秒为单位)。
抛出
出现内部错误。