Facemark

Objective-C

@interface Facemark : Algorithm

Swift

class Facemark : Algorithm

Abstract base class for all facemark models

To utilize this API in your program, please take a look at the REF: tutorial_table_of_content_facemark ### Description

Facemark is a base class which provides universal access to any specific facemark algorithm. Therefore, the users should declare a desired algorithm before they can use it in their application.

Here is an example on how to declare a facemark algorithm:

// Using Facemark in your code: Ptr facemark = createFacemarkLBF();

The typical pipeline for facemark detection is as follows:

  • Load the trained model using Facemark::loadModel.
  • Perform the fitting on an image via Facemark::fit.

Member of Face

Methods

  • Detect facial landmarks from an image.

    Declaration

    Objective-C

    - (BOOL)fit:(nonnull Mat *)image
            faces:(nonnull Mat *)faces
        landmarks:(nonnull NSMutableArray<Mat *> *)landmarks;

    Swift

    func fit(image: Mat, faces: Mat, landmarks: NSMutableArray) -> Bool

    Parameters

    image

    Input image.

    faces

    Output of the function which represent region of interest of the detected faces. Each face is stored in cv::Rect container.

    landmarks

    The detected landmark points for each faces.

    Example of usage

    Mat image = imread(“image.jpg”); std::vector faces; std::vectorstd::vector<Point2f > landmarks; facemark->fit(image, faces, landmarks);

  • A function to load the trained model before the fitting process.

    Declaration

    Objective-C

    - (void)loadModel:(nonnull NSString *)model;

    Swift

    func loadModel(model: String)

    Parameters

    model

    A string represent the filename of a trained model.

    Example of usage

    facemark->loadModel(“../data/lbf.model”);