Face Engine SDK  5.25.0
A face detection, recognition and tracking engine.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
SDK core interfaces

Common interfaces and macros shared across all SDK objects. More...

Classes

struct  fsdk::IFaceEngineMobile
 Root LUNA SDK object interface. More...
 
struct  fsdk::IArchive
 Archive interface. More...
 
struct  fsdk::ISerializableObject
 Serializable object interface. More...
 
struct  fsdk::ErrorTraits< ISerializableObject::Error >
 Specialized for ISerializableObject::SerializationError. More...
 
struct  fsdk::IDataStorageObject
 Data storage object interface helper. More...
 
struct  fsdk::IRefCounted
 Base strong reference counted object interface. More...
 
struct  fsdk::ISettingsProvider
 SDK settings provider interface. More...
 
struct  fsdk::ErrorTraits< ISettingsProvider::Error >
 Specialized for ISettingsProvider::ParseError. More...
 

Macros

#define ALIGN_UP(value, align)   (((value) & (align - 1)) ? (((value) + (align - 1)) & ~(align - 1)) : (value))
 
#define ALIGNED(x)   __attribute__((aligned(x)))
 
#define RESTRICT   __restrict__
 
#define FORCE_INLINE   inline __attribute__((always_inline))
 
#define DECLARE_SMARTPTR(X)
 Smart ptr declaration helper macro. More...
 
#define STRINGIFY2(x)   #x
 Stringification helper macro.
 
#define STRINGIFY(x)   STRINGIFY2(x)
 Stringifies it's argument.
 

Functions

virtual ResultValue< FSDKError,
IDetectorPtr > 
fsdk::IFaceEngineMobile::createDetector () noexcept=0
 Creates a detector of given type. More...
 
virtual ResultValue< FSDKError,
IHeadPoseEstimatorPtr > 
fsdk::IFaceEngineMobile::createHeadPoseEstimator () noexcept=0
 Creates Head pose estimator. More...
 
virtual ResultValue< FSDKError,
IAGSEstimatorPtr > 
fsdk::IFaceEngineMobile::createAGSEstimator () noexcept=0
 Creates AGS estimator. More...
 
virtual ResultValue< FSDKError,
IEyeEstimatorPtr > 
fsdk::IFaceEngineMobile::createEyeEstimator () noexcept=0
 Creates Eye estimator. More...
 
virtual ResultValue< FSDKError,
IMedicalMaskEstimatorPtr > 
fsdk::IFaceEngineMobile::createMedicalMaskEstimator () noexcept=0
 Creates MedicalMask estimator. More...
 
virtual ResultValue< FSDKError,
IGlassesEstimatorPtr > 
fsdk::IFaceEngineMobile::createGlassesEstimator () noexcept=0
 Creates Glasses estimator. More...
 
virtual ResultValue< FSDKError,
IQualityEstimatorPtr > 
fsdk::IFaceEngineMobile::createQualityEstimator () noexcept=0
 Creates Quality estimator. More...
 
virtual ResultValue< FSDKError,
IBestShotQualityEstimatorPtr > 
fsdk::IFaceEngineMobile::createBestShotQualityEstimator () noexcept=0
 Creates BestShotQuality estimator. More...
 
virtual ResultValue< FSDKError,
ILivenessOneShotRGBEstimatorPtr > 
fsdk::IFaceEngineMobile::createLivenessOneShotRGBEstimator () noexcept=0
 Creates Liveness OneShot estimator. More...
 
virtual ResultValue< FSDKError,
IDepthLivenessEstimatorPtr > 
fsdk::IFaceEngineMobile::createDepthLivenessEstimator () noexcept=0
 Creates universal DepthLiveness estimator. More...
 
virtual ResultValue< FSDKError,
ILivenessDepthRGBEstimatorPtr > 
fsdk::IFaceEngineMobile::createLivenessDepthRGBEstimator () noexcept=0
 Creates Liveness Depth+RGB estimator. More...
 
virtual ResultValue< FSDKError,
INIRLivenessEstimatorPtr > 
fsdk::IFaceEngineMobile::createNIRLivenessEstimator (const NIRLivenessMode mode=NIRLivenessMode::Default) noexcept=0
 Creates NIRLiveness estimator. More...
 
virtual ResultValue< FSDKError,
IMouthEstimatorPtr > 
fsdk::IFaceEngineMobile::createMouthEstimator () noexcept=0
 Creates Mouth estimator. More...
 
virtual ResultValue< FSDKError,
IFaceOcclusionEstimatorPtr > 
fsdk::IFaceEngineMobile::createFaceOcclusionEstimator () noexcept=0
 Creates FaceOcclusion estimator. More...
 
virtual ResultValue< FSDKError,
IDescriptorPtr > 
fsdk::IFaceEngineMobile::createDescriptor (uint32_t version=0) noexcept=0
 Creates Descriptor. More...
 
virtual ResultValue< FSDKError,
IDescriptorPtr > 
fsdk::IFaceEngineMobile::createDescriptor (IArchive *archive, uint32_t flags=0) noexcept=0
 Creates and loads Descriptor from Archive. More...
 
virtual ResultValue< FSDKError,
IDescriptorBatchPtr > 
fsdk::IFaceEngineMobile::createDescriptorBatch (int32_t size, uint32_t version=0) noexcept=0
 Creates Batch of descriptors. More...
 
virtual ResultValue< FSDKError,
IDescriptorExtractorPtr > 
fsdk::IFaceEngineMobile::createExtractor (uint32_t version=0) noexcept=0
 Creates descriptor extractor. More...
 
virtual ResultValue< FSDKError,
IDescriptorMatcherPtr > 
fsdk::IFaceEngineMobile::createMatcher (uint32_t version=0) noexcept=0
 Creates descriptor matcher. More...
 
virtual ResultValue< FSDKError,
IWarperPtr > 
fsdk::IFaceEngineMobile::createWarper () noexcept=0
 Creates warper. More...
 
virtual FaceEngineEdition fsdk::IFaceEngineMobile::getFaceEngineEdition () const noexcept=0
 Get LUNA SDK ditribution edition. More...
 
virtual void fsdk::IFaceEngineMobile::setDataDirectory (const char *path) noexcept=0
 Sets data directory. More...
 
virtual const char * fsdk::IFaceEngineMobile::getDataDirectory () const noexcept=0
 Gets data directory. More...
 
virtual void fsdk::IFaceEngineMobile::setSettingsProvider (ISettingsProvider *provider) noexcept=0
 Sets settings provider. More...
 
virtual void fsdk::IFaceEngineMobile::setRuntimeSettingsProvider (ISettingsProvider *provider) noexcept=0
 Sets runtime settings provider. More...
 
virtual ISettingsProvider * fsdk::IFaceEngineMobile::getSettingsProvider () const noexcept=0
 Gets settings provider. More...
 
virtual ISettingsProvider * fsdk::IFaceEngineMobile::getRuntimeSettingsProvider () const noexcept=0
 Gets runtime settings provider. More...
 
virtual ILicense * fsdk::IFaceEngineMobile::getLicense () const noexcept=0
 Get current License object, which was set for FaceEngine object. More...
 
FSDK_API Result< FSDKError > fsdk::activateLicense (ILicense *license, const char *configPath) noexcept
 Makes License activation with some platform specific manner. Network connection is required. More...
 
FSDK_API Result< FSDKError > fsdk::activateLicense (ILicense *license, ISettingsProvider *settings) noexcept
 Makes License activation with some platform specific manner. Network connection is required. More...
 
FSDK_API ResultValue
< FSDKError,
IFaceEngineMobilePtr > 
fsdk::createFaceEngineMobile (const char *dataPath=nullptr, const char *configPath=nullptr, const char *runtimePath=nullptr) noexcept
 Create the LUNA SDK root object. More...
 
FSDK_API ResultValue
< FSDKError,
ISettingsProviderPtr > 
fsdk::createSettingsProvider (const char *path) noexcept
 Create a settings provider. More...
 
FSDK_API ResultValue
< FSDKError,
ISettingsProviderPtr > 
fsdk::createSettingsProviderFromString (const char *content) noexcept
 Creates a settings provider from the xml-formatted string. More...
 

Detailed Description

Common interfaces and macros shared across all SDK objects.

Macro Definition Documentation

#define DECLARE_SMARTPTR (   X)
Value:
struct X; \
using X##Ptr = fsdk::Ref<X>
Smart pointer for reference counted objects.
Definition: Ref.h:26

Smart ptr declaration helper macro.

Function Documentation

FSDK_API Result<FSDKError> fsdk::activateLicense ( ILicense *  license,
const char *  configPath 
)
noexcept

Makes License activation with some platform specific manner. Network connection is required.

Parameters
[in]licensepointer to the license object which should be activated
[in]configPathpath to license.conf file with licensing settings.
Returns
true if license was successfully activated.
FSDK_API Result<FSDKError> fsdk::activateLicense ( ILicense *  license,
ISettingsProvider *  settings 
)
noexcept

Makes License activation with some platform specific manner. Network connection is required.

Parameters
[in]licensepointer to the license object which should be activated
[in]providersettings provider.
Returns
true if license was successfully activated.
virtual ResultValue<FSDKError, IAGSEstimatorPtr> fsdk::IFaceEngineMobile::createAGSEstimator ( )
pure virtualnoexcept

Creates AGS estimator.

Returns
Error code;
See Also
FSDKError and AGS estimator if succeeded, null if failed.
virtual ResultValue<FSDKError, IBestShotQualityEstimatorPtr> fsdk::IFaceEngineMobile::createBestShotQualityEstimator ( )
pure virtualnoexcept

Creates BestShotQuality estimator.

Returns
Error code;
See Also
FSDKError and BestShotQuality estimator if succeed, null if failed.
virtual ResultValue<FSDKError, IDepthLivenessEstimatorPtr> fsdk::IFaceEngineMobile::createDepthLivenessEstimator ( )
pure virtualnoexcept

Creates universal DepthLiveness estimator.

Returns
ResultValue with error code and IDepthLivenessEstimatorPtr instance.
See Also
ResultValue, FSDKError, IDepthLivenessEstimatorPtr, LaunchOptions
virtual ResultValue<FSDKError, IDescriptorPtr> fsdk::IFaceEngineMobile::createDescriptor ( uint32_t  version = 0)
pure virtualnoexcept

Creates Descriptor.

Parameters
[in]versiondescriptor version.

face descriptor will created by default, to create human descriptor pass version, minimum version of human descriptor is DV_MIN_HUMAN_DESCRIPTOR_VERSION == 102

See Also
DescriptorVersion
Returns
Error code;
See Also
FSDKError and Descriptor if succeed, null if failed.
virtual ResultValue<FSDKError, IDescriptorPtr> fsdk::IFaceEngineMobile::createDescriptor ( IArchive archive,
uint32_t  flags = 0 
)
pure virtualnoexcept

Creates and loads Descriptor from Archive.

Parameters
[in]archiveArchive with descriptor.
[in]flagsArchive flag.
Returns
Error code;
See Also
FSDKError and Descriptor if succeed, null if failed.
virtual ResultValue<FSDKError, IDescriptorBatchPtr> fsdk::IFaceEngineMobile::createDescriptorBatch ( int32_t  size,
uint32_t  version = 0 
)
pure virtualnoexcept

Creates Batch of descriptors.

face descriptor batch will be created by default, to create human descriptor batch you must pass version, minimum version of human descriptor is DV_MIN_HUMAN_DESCRIPTOR_VERSION == 102

See Also
DescriptorVersion
Parameters
[in]size- amount of descriptors in batch.
[in]version- descriptor version in batch. If 0 - use dafault version from config.
Returns
Error code;
See Also
FSDKError and Batch if succeed, null if failed.
virtual ResultValue<FSDKError, IDetectorPtr> fsdk::IFaceEngineMobile::createDetector ( )
pure virtualnoexcept

Creates a detector of given type.

Returns
Error code;
See Also
FSDKError and detector object if succeeded, null if failed.
virtual ResultValue<FSDKError, IDescriptorExtractorPtr> fsdk::IFaceEngineMobile::createExtractor ( uint32_t  version = 0)
pure virtualnoexcept

Creates descriptor extractor.

Parameters
[in]versiondescriptor version.

face descriptor extractor will created by default, to create human descriptor extractor descriptor you must pass version, minimum version of human descriptor is DV_MIN_HUMAN_DESCRIPTOR_VERSION == 102

See Also
DescriptorVersion
Returns
Error code;
See Also
FSDKError and Descriptor extractor if succeed, null if failed.
virtual ResultValue<FSDKError, IEyeEstimatorPtr> fsdk::IFaceEngineMobile::createEyeEstimator ( )
pure virtualnoexcept

Creates Eye estimator.

Returns
Error code;
See Also
FSDKError and Eye estimator if succeed, null if failed.
FSDK_API ResultValue<FSDKError, IFaceEngineMobilePtr> fsdk::createFaceEngineMobile ( const char *  dataPath = nullptr,
const char *  configPath = nullptr,
const char *  runtimePath = nullptr 
)
noexcept

Create the LUNA SDK root object.

Parameters
[in]dataPath[optional] path to folder with FSDK data. Default: ./data (on windows), /opt/visionlabs/data (on linux)
[in]configPath[optional] path to faceengine.conf file. Default: <dataPath>/faceengine.cong
[in]runtimePath[optional] path to runtime.conf file. Default: <dataPath>/runtime.cong
Returns
Error code;
See Also
FSDKError and face engine object if succeeded, null if failed.
virtual ResultValue<FSDKError, IFaceOcclusionEstimatorPtr> fsdk::IFaceEngineMobile::createFaceOcclusionEstimator ( )
pure virtualnoexcept

Creates FaceOcclusion estimator.

Returns
ResultValue with error code and IFaceOcclusionEstimatorPtr instance.
See Also
ResultValue, FSDKError, IFaceOcclusionEstimatorPtr
virtual ResultValue<FSDKError, IGlassesEstimatorPtr> fsdk::IFaceEngineMobile::createGlassesEstimator ( )
pure virtualnoexcept

Creates Glasses estimator.

Returns
ResultValue with error code and IGlassesEstimatorPtr instance.
See Also
ResultValue, FSDKError, IGlassesEstimatorPtr
virtual ResultValue<FSDKError, IHeadPoseEstimatorPtr> fsdk::IFaceEngineMobile::createHeadPoseEstimator ( )
pure virtualnoexcept

Creates Head pose estimator.

Returns
Error code;
See Also
FSDKError and Head pose estimator if succeeded, null if failed.
virtual ResultValue<FSDKError, ILivenessDepthRGBEstimatorPtr> fsdk::IFaceEngineMobile::createLivenessDepthRGBEstimator ( )
pure virtualnoexcept

Creates Liveness Depth+RGB estimator.

Returns
ResultValue with error code and ILivenessDepthRGBEstimatorPtr instance.
See Also
ResultValue, FSDKError, ILivenessDepthRGBEstimatorPtr
virtual ResultValue<FSDKError, ILivenessOneShotRGBEstimatorPtr> fsdk::IFaceEngineMobile::createLivenessOneShotRGBEstimator ( )
pure virtualnoexcept

Creates Liveness OneShot estimator.

Returns
Error code;
See Also
FSDKError and OneShot liveness estimator if succeed, null if failed.
virtual ResultValue<FSDKError, IDescriptorMatcherPtr> fsdk::IFaceEngineMobile::createMatcher ( uint32_t  version = 0)
pure virtualnoexcept

Creates descriptor matcher.

Parameters
[in]versiondescriptor version.

face descriptor matcher will created by default, to create human descriptor matcher you must pass version, minimum version of human descriptor is DV_MIN_HUMAN_DESCRIPTOR_VERSION == 102

See Also
DescriptorVersion
Returns
Error code;
See Also
FSDKError and Descriptor matcher if succeed, null if failed.
virtual ResultValue<FSDKError, IMedicalMaskEstimatorPtr> fsdk::IFaceEngineMobile::createMedicalMaskEstimator ( )
pure virtualnoexcept

Creates MedicalMask estimator.

Returns
ResultValue with error code and IMedicalMaskEstimatorPtr instance.
See Also
ResultValue, FSDKError, IMedicalMaskEstimatorPtr
virtual ResultValue<FSDKError, IMouthEstimatorPtr> fsdk::IFaceEngineMobile::createMouthEstimator ( )
pure virtualnoexcept

Creates Mouth estimator.

Returns
ResultValue with error code and IMouthEstimatorPtr instance.
See Also
ResultValue, FSDKError, IMouthEstimatorPtr
virtual ResultValue<FSDKError, INIRLivenessEstimatorPtr> fsdk::IFaceEngineMobile::createNIRLivenessEstimator ( const NIRLivenessMode  mode = NIRLivenessMode::Default)
pure virtualnoexcept

Creates NIRLiveness estimator.

Parameters
[in]modeis the option to set estimation scenario.
See Also
NIRLivenessMode.
Parameters
[in]launchOptionslaunch options for fine grained control over target device resources.
Returns
ResultValue with error code and INIRLivenessEstimatorPtr instance.
See Also
ResultValue, FSDKError, INIRLivenessEstimatorPtr, LaunchOptions
virtual ResultValue<FSDKError, IQualityEstimatorPtr> fsdk::IFaceEngineMobile::createQualityEstimator ( )
pure virtualnoexcept

Creates Quality estimator.

Returns
ResultValue with error code and IQualityEstimatorPtr instance.
See Also
ResultValue, FSDKError, IQualityEstimatorPtr
FSDK_API fsdk::ResultValue< fsdk::FSDKError, fsdk::ISettingsProviderPtr > fsdk::createSettingsProvider ( const char *  path)
noexcept

Create a settings provider.

Creates a settings provider.

Parameters
[in]pathconfiguration file path.
Returns
settings provider object if succeeded, null if failed.
Parameters
[in]pathconfiguration file path
Returns
Error code;
See Also
FSDKError and settings provider object if succeeded, null if failed.
FSDK_API ResultValue< FSDKError, ISettingsProviderPtr > fsdk::createSettingsProviderFromString ( const char *  content)
noexcept

Creates a settings provider from the xml-formatted string.

Parameters
[in]contentcontent string in xml-format, in a case of nullptr empty config will be created
Returns
Error code and settings provider object if succeeded, null if failed.
See Also
FSDKError, ISettingsProvider::save
virtual ResultValue<FSDKError, IWarperPtr> fsdk::IFaceEngineMobile::createWarper ( )
pure virtualnoexcept

Creates warper.

Returns
Warper if succeed, null if failed.
virtual const char* fsdk::IFaceEngineMobile::getDataDirectory ( ) const
pure virtualnoexcept

Gets data directory.

By default is set to "./data".

Returns
path to data directory.
virtual FaceEngineEdition fsdk::IFaceEngineMobile::getFaceEngineEdition ( ) const
pure virtualnoexcept

Get LUNA SDK ditribution edition.

Returns
Edition of LUNA SDK instance. Posible values:
  • CompleteEdition - full edition with all function.
  • FrontEndEdition - short edition with excluded descriptor functions. Extractor, matcher, descriptor, batch and index cannot be created.
virtual ILicense* fsdk::IFaceEngineMobile::getLicense ( ) const
pure virtualnoexcept

Get current License object, which was set for FaceEngine object.

Returns
pointer to current license object, nullptr if no any license was set to.
virtual ISettingsProvider* fsdk::IFaceEngineMobile::getRuntimeSettingsProvider ( ) const
pure virtualnoexcept

Gets runtime settings provider.

Returns
runtime settings provider.
virtual ISettingsProvider* fsdk::IFaceEngineMobile::getSettingsProvider ( ) const
pure virtualnoexcept

Gets settings provider.

Returns
settings provider.
virtual void fsdk::IFaceEngineMobile::setDataDirectory ( const char *  path)
pure virtualnoexcept

Sets data directory.

Parameters
[in]pathpath to data directory.
virtual void fsdk::IFaceEngineMobile::setRuntimeSettingsProvider ( ISettingsProvider provider)
pure virtualnoexcept

Sets runtime settings provider.

Parameters
[in]providerruntime settings provider.
virtual void fsdk::IFaceEngineMobile::setSettingsProvider ( ISettingsProvider provider)
pure virtualnoexcept

Sets settings provider.

Parameters
[in]providersettings provider.