View Source Evision.Face.EigenFaceRecognizer (Evision v0.1.28)

Link to this section Summary

Types

t()

Type that represents an Face.EigenFaceRecognizer struct.

Link to this section Types

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

Type that represents an Face.EigenFaceRecognizer struct.

  • ref. reference()

    The underlying erlang resource variable.

Link to this section Functions

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

create

Keyword Arguments
  • num_components: int.

    The number of components (read: Eigenfaces) kept for this Principal Component Analysis. As a hint: There's no rule how many components (read: Eigenfaces) should be kept for good reconstruction capabilities. It is based on your input data, so experiment with the number. Keeping 80 components should almost always be sufficient.

  • threshold: double.

    The threshold applied in the prediction.

Return
  • retval: EigenFaceRecognizer

notes

Notes:

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

  • THE EIGENFACES 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

Model internal data:

  • num_components see EigenFaceRecognizer::create.

  • threshold see EigenFaceRecognizer::create.

  • eigenvalues The eigenvalues for this Principal Component Analysis (ordered descending).

  • eigenvectors The eigenvectors for this Principal Component Analysis (ordered by their eigenvalue).

  • mean The sample mean calculated from the training data.

  • projections The projections of the training data.

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

Python prototype (for reference only):

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

create

Keyword Arguments
  • num_components: int.

    The number of components (read: Eigenfaces) kept for this Principal Component Analysis. As a hint: There's no rule how many components (read: Eigenfaces) should be kept for good reconstruction capabilities. It is based on your input data, so experiment with the number. Keeping 80 components should almost always be sufficient.

  • threshold: double.

    The threshold applied in the prediction.

Return
  • retval: EigenFaceRecognizer

notes

Notes:

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

  • THE EIGENFACES 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

Model internal data:

  • num_components see EigenFaceRecognizer::create.

  • threshold see EigenFaceRecognizer::create.

  • eigenvalues The eigenvalues for this Principal Component Analysis (ordered descending).

  • eigenvectors The eigenvectors for this Principal Component Analysis (ordered by their eigenvalue).

  • mean The sample mean calculated from the training data.

  • projections The projections of the training data.

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

Python prototype (for reference only):

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