View Source Evision.Zoo.FaceDetection.YuNet (Evision v0.2.9)

YuNet is a light-weight, fast and accurate face detection model

Summary

Functions

Default configuration.

Docs in smart cell.

Inference.

Initialize model.

Model URL and filename of predefined model.

Set the input size.

Customizable parameters from smart cell.

Smart cell tasks.

Generate quoted code from smart cell attrs.

Functions

@spec default_config() :: map()

Default configuration.

@spec docs() :: String.t()

Docs in smart cell.

Inference.

Positional arguments
  • self: Evision.FaceDetectorYN.t().

    An initialized FaceDetectorYN model.

  • image: Evision.Mat.maybe_mat_in().

    Input image.

Link to this function

init(model_path, opts \\ [])

View Source
@spec init(binary() | :default_model | :quant_model, nil | Keyword.t()) ::
  {:error, String.t()} | Evision.FaceDetectorYN.t()

Initialize model.

Positional arguments
  • model: String.t() | :default_model |:quant_model`.

    • When model is a string, it will be treat as the path to a weight file and init/2 will load the model from it.

    • When model is either :default_model or :quant_model, init/2 will download and load the predefined model.

    Keyword arguments
    • input_size: {width=pos_integer(), height=pos_integer()}
    Input size of the image. It can be adjusted later with setInputSize/2.Defaults to {320, 320}.
    • conf_threshold: number().
    Confidence threshold. Defaults to 0.9
    • nms_threshold: number().
    NMS threshold. Defaults to 0.3
    • top_k: pos_integer().
    Top k results.
    • cache_dir: String.t().
    Path to the cache directory.Optional. Defaults to :filename.basedir(:user_cache, "", ...)
    • backend: integer().
    Specify the backend.Optional. Defaults to Evision.Constant.cv_DNN_BACKEND_OPENCV().
    • target: integer().
    Specify the target.Optional. Defaults to Evision.Constant.cv_DNN_TARGET_CPU().
Link to this function

init(model_path, input_size, opts)

View Source
@spec model_info(:default_model | :quant_model) :: {String.t(), String.t()}

Model URL and filename of predefined model.

Link to this function

setInputSize(self, size)

View Source
@spec setInputSize(
  Evision.FaceDetectorYN.t(),
  {pos_integer(), pos_integer()}
) :: :ok | {:error, String.t()}

Set the input size.

infer/2 will call this function automatically.

Positional arguments
  • self: Evision.FaceDetectorYN.t().

    An initialized FaceDetectorYN model.

  • size: {width=pos_integer(), height=pos_integer()}.

    Input size of the image.

@spec smartcell_params() :: Evision.Zoo.smartcell_params()

Customizable parameters from smart cell.

@spec smartcell_tasks() :: Evision.Zoo.smartcell_tasks()

Smart cell tasks.

A list of variants of the current model.

@spec to_quoted(map()) :: list()

Generate quoted code from smart cell attrs.

Link to this function

visualize(image, results, opts \\ [])

View Source

Visualize the result.

Positional arguments
  • image: Evision.Mat.maybe_mat_in().

    Original image.

  • results: Evision.Mat.maybe_mat_in(), nil.

    Results given by infer/2.

Keyword arguments
  • box_color: {blue=integer(), green=integer(), red=integer()}.

    Values should be in [0, 255]. Defaults to {0, 255, 0}.

    Specify the color of the bounding box.

  • text_color: {blue=integer(), green=integer(), red=integer()}.

    Values should be in [0, 255]. Defaults to {0, 0, 255}.

    Specify the color of the text (confidence value).

Return

An image with bounding boxes and corresponding confidence values.