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.