View Source Evision.Face.FisherFaceRecognizer (Evision v0.2.3)

Summary

Types

t()

Type that represents an Face.FisherFaceRecognizer struct.

Types

@type t() :: %Evision.Face.FisherFaceRecognizer{ref: reference()}

Type that represents an Face.FisherFaceRecognizer struct.

  • ref. reference()

    The underlying erlang resource variable.

Functions

@spec create() :: t() | {:error, String.t()}

create

Keyword Arguments
  • num_components: integer().

    The number of components (read: Fisherfaces) kept for this Linear Discriminant Analysis with the Fisherfaces criterion. It's useful to keep all components, that means the number of your classes c (read: subjects, persons you want to recognize). If you leave this at the default (0) or set it to a value less-equal 0 or greater (c-1), it will be set to the correct number (c-1) automatically.

  • threshold: double.

    The threshold applied in the prediction. If the distance to the nearest neighbor is larger than the threshold, this method returns -1.

Return
  • retval: FisherFaceRecognizer

Notes:

  • Training and prediction must be done on grayscale images, use cvtColor to convert between the color spaces.

  • THE FISHERFACES METHOD MAKES THE ASSUMPTION, THAT THE TRAINING AND TEST IMAGES ARE OF EQUAL SIZE. (caps-lock, because I got so many mails asking for this). You have to make sure your input data has the correct shape, else a meaningful exception is thrown. Use resize to resize the images.

  • This model does not support updating.

Model internal data:

  • num_components see FisherFaceRecognizer::create.

  • threshold see FisherFaceRecognizer::create.

  • eigenvalues The eigenvalues for this Linear Discriminant Analysis (ordered descending).

  • eigenvectors The eigenvectors for this Linear Discriminant Analysis (ordered by their eigenvalue).

  • mean The sample mean calculated from the training data.

  • projections The projections of the training data.

  • labels The labels corresponding to the projections.

Python prototype (for reference only):

create([, num_components[, threshold]]) -> retval
@spec create([num_components: term(), threshold: term()] | nil) ::
  t() | {:error, String.t()}

create

Keyword Arguments
  • num_components: integer().

    The number of components (read: Fisherfaces) kept for this Linear Discriminant Analysis with the Fisherfaces criterion. It's useful to keep all components, that means the number of your classes c (read: subjects, persons you want to recognize). If you leave this at the default (0) or set it to a value less-equal 0 or greater (c-1), it will be set to the correct number (c-1) automatically.

  • threshold: double.

    The threshold applied in the prediction. If the distance to the nearest neighbor is larger than the threshold, this method returns -1.

Return
  • retval: FisherFaceRecognizer

Notes:

  • Training and prediction must be done on grayscale images, use cvtColor to convert between the color spaces.

  • THE FISHERFACES METHOD MAKES THE ASSUMPTION, THAT THE TRAINING AND TEST IMAGES ARE OF EQUAL SIZE. (caps-lock, because I got so many mails asking for this). You have to make sure your input data has the correct shape, else a meaningful exception is thrown. Use resize to resize the images.

  • This model does not support updating.

Model internal data:

  • num_components see FisherFaceRecognizer::create.

  • threshold see FisherFaceRecognizer::create.

  • eigenvalues The eigenvalues for this Linear Discriminant Analysis (ordered descending).

  • eigenvectors The eigenvectors for this Linear Discriminant Analysis (ordered by their eigenvalue).

  • mean The sample mean calculated from the training data.

  • projections The projections of the training data.

  • labels The labels corresponding to the projections.

Python prototype (for reference only):

create([, num_components[, threshold]]) -> retval