C++ API Documentation¶
Tracker class¶
-
class
FaceVerifier¶ The Face Verifier class.
Public Functions
-
FaceVerifier(const std::string &modelFile, int maxConcurrency = 0)¶ Constructor: loads model file, sets up the processing.
- Parameters
model_file: path for the used modelmax_concurrency: maximum allowed concurrency, 0 means automatic (using all cores), default: 0
-
~FaceVerifier()¶ Destructor.
-
std::future<std::vector<fvl::Face>>
detectFaces(const fvl::ImageHeader &imageHeader)¶ Detects the faces on an image with the std::future API.
- Note
The given ImageHeader doesn’t own the image data, and it is safe to delete the data after the call, a copy is happening internally. See fvl::ImageHeader for details.
- Note
Calling this function is non-blocking, so calling it again with the next image without waiting for the result is possible. Also see getConcurrentCalculations().
- Note
This is the std::future based API, for callback API see fvl::FaceVerifier::detectFaces(const fvl::ImageHeader&, std::function<void (ResultOrError<std::vector<Face>>)>).
- Parameters
imageHeader: image descriptor
-
void
detectFaces(const fvl::ImageHeader &imageHeader, std::function<void(ResultOrError<std::vector<Face>>)> callback)¶ Detects the faces on an image with a callback API.
- Note
The given ImageHeader doesn’t own the image data, and it is safe to delete the data after the call, a copy is happening internally. See fvl::ImageHeader for details.
- Note
Calling this function is non-blocking, so calling it again with the next frame without waiting for the result is possible. Also see getConcurrentCalculations().
- Note
This is the callback based API, for std::future API see fvl::FaceVerifier::detectFaces(const fvl::ImageHeader&).
- Return
tracked landmarks and emotions
- Parameters
imageHeader: image descriptorcallback: callback to call with the result
-
std::future<std::vector<float>>
embedFace(const fvl::Face &face)¶ Returns the embedding of the detected face.
- Note
Calling this function is non-blocking, so calling it again with the next frame without waiting for the result is possible. Also see getConcurrentCalculations().
- Note
This is the std::future based API, for callback API see fvl::FaceVerifier::embedFace(const fvl::Face&, std::function<void (ResultOrError<std::vector<float>>)>).
- Return
face embedding vector
- Parameters
face: the previously detected face to embed
-
void
embedFace(const fvl::Face &face, std::function<void(ResultOrError<std::vector<float>>)> callback)¶ Returns the embedding of the detected face.
- Note
Calling this function is non-blocking, so calling it again with the next frame without waiting for the result is possible. Also see getConcurrentCalculations().
- Note
This is the callback based API, for std::future API see fvl::FaceVerifier::embedFace(const fvl::Face&).
- Parameters
face: the previously detected face to embedcallback: callback to call with the result
-
fvl::Match
compareFaces(const std::vector<float> &embedding1, const std::vector<float> &embedding2)¶ Compares two embeddings.
- Return
match object with the similarity metric
- Parameters
embedding1: embedding of one of the faces to compareembedding2: embedding of the other face to compare
-
int
getConcurrentCalculations() const¶ Returns the value of the atomic counter for the number of calculations currently running concurrently.
You can use this to limit the number of concurrent calculations.
- Return
The (approximate) number of calculations currently in-flight.
-
std::string
getModelName() const¶ Returns the name (version etc) of the loaded model.
- Return
name of the model
-
Image header class¶
-
struct
ImageHeader¶ Descriptor class for image data (non-owning)
Result classes¶
Face¶
See also: landmarks specification.
-
class
Face¶ Face Class.
Public Functions
-
Face(const fvl::ImageHeader &imageHeader, const std::vector<fvl::Point2d> &landmarks, const fvl::BoundingBox &bbox = fvl::BoundingBox(), float confidence = 0.0f)¶ Constructor for the Face object to support 3rd party face detectors.
- Parameters
imageHeader: image descriptorlandmarks: face landmarksbbox: face bounding boxconfidence: face detection confidence
-
~Face()¶ Destructor.
-
DetectionQuality
detectionQuality() const¶ Returns the detection quality of the detected face.
- Return
DetectionQuality
-
BoundingBox
boundingBox() const¶ Returns the bounding box of the detected face.
- Return
-
float
confidence() const¶ Returns the confidence value of the detected face.
- Return
float
-
Point2d¶
BoundingBox¶
-
struct
BoundingBox¶ Bounding Box class for the faces.