| Face Engine SDK 5.2.0 A face detection, recognition and tracking engine.

- Main Page
- Modules
- Namespaces
- Classes
- Files

- File List
- File Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
IFaceEngine.h
1
8 #pragma once
9
29 #include "Log.h"
30 #include "Version.h"
31 #include "IObject.h"
32 #include "ISettingsProvider.h"
33 #include "IEstimator.h"
34 #include "IDetector.h"
35 #include "IDescriptor.h"
36 #include "IWarper.h"
37 #include "IHumanDetector.h"
38 #include "IHumanWarper.h"
39 #include "IIndex.h"
40 #include "IAsyncContext.h"
41 #include "ILicense.h"
42 #include "LaunchOptions.h"
43 #include "Types/FaceEngineEdition.h"
44
46 namespace fsdk {
47
48 #ifndef DOXYGEN_SHOULD_SKIP_THIS
49 DECLARE_SMARTPTR(IFaceEngine);
50 #endif
51
61 struct IFaceEngine : IRefCounted {
62
71 virtual ResultValue<FSDKError, IDetectorPtr> createDetector(
72 ObjectDetectorClassType type = FACE_DET_DEFAULT,
73 SensorType mode = SensorType::Visible,
74 const LaunchOptions* launchOptions = nullptr) noexcept = 0;
75
76
77 virtual ResultValue<FSDKError, IOrientationEstimatorPtr>
78 createOrientationEstimator(
79 const LaunchOptions* launchOptions = nullptr
80 ) noexcept = 0;
81
88 virtual ResultValue<FSDKError, IHumanDetectorPtr> createHumanDetector(const LaunchOptions* launchOptions = nullptr) noexcept = 0;
89
96 virtual ResultValue<FSDKError, IHeadPoseEstimatorPtr> createHeadPoseEstimator(const LaunchOptions* launchOptions = nullptr) noexcept = 0;
97
104 virtual ResultValue<FSDKError, IOverlapEstimatorPtr> createOverlapEstimator(const LaunchOptions* launchOptions = nullptr) noexcept = 0;
105
112 virtual ResultValue<FSDKError, IChildEstimatorPtr> createChildEstimator(const LaunchOptions* launchOptions = nullptr) noexcept = 0;
113
120 virtual ResultValue<FSDKError, IAGSEstimatorPtr> createAGSEstimator(const LaunchOptions* options = nullptr) noexcept = 0;
121
128 virtual ResultValue<FSDKError, IHeadAndShouldersLivenessEstimatorPtr> createHeadAndShouldersLivenessEstimator(const LaunchOptions* launchOptions = nullptr) noexcept = 0;
129
136 virtual ResultValue<FSDKError, IAttributeEstimatorPtr> createAttributeEstimator(const LaunchOptions* launchOptions = nullptr) noexcept = 0;
137
144 virtual ResultValue<FSDKError, IQualityEstimatorPtr> createQualityEstimator(const LaunchOptions* launchOptions = nullptr) noexcept = 0;
145
151 virtual ResultValue<FSDKError, IBlackWhiteEstimatorPtr> createBlackWhiteEstimator() noexcept = 0;
152
159 virtual ResultValue<FSDKError, ILivenessDepthEstimatorPtr> createDepthEstimator(const LaunchOptions* launchOptions = nullptr) noexcept = 0;
160
167 virtual ResultValue<FSDKError, ILivenessIREstimatorPtr> createIREstimator(const LaunchOptions* launchOptions = nullptr) noexcept = 0;
168
175 virtual ResultValue<FSDKError, ILivenessOneShotRGBEstimatorPtr> createLivenessOneShotRGBEstimator(const LaunchOptions* launchOptions = nullptr) noexcept = 0;
176
183 virtual ResultValue<FSDKError, IMouthEstimatorPtr> createMouthEstimator(const LaunchOptions* launchOptions = nullptr) noexcept = 0;
184
191 virtual ResultValue<FSDKError, IMedicalMaskEstimatorPtr> createMedicalMaskEstimator(const LaunchOptions* launchOptions = nullptr) noexcept = 0;
192
199 virtual ResultValue<FSDKError, ILivenessFlyingFacesEstimatorPtr> createLivenessFlyingFacesEstimator(const LaunchOptions* launchOptions = nullptr) noexcept = 0;
200
207 virtual ResultValue<FSDKError, ILivenessFPREstimatorPtr> createLivenessFPREstimator(const LaunchOptions* launchOptions = nullptr) noexcept = 0;
208
216 virtual ResultValue<FSDKError, ILivenessFlowEstimatorPtr> createFaceFlowEstimator(const LaunchOptions* launchOptions = nullptr) noexcept = 0;
217
225 virtual ResultValue<FSDKError, ILivenessRGBMEstimatorPtr> createLivenessRGBMEstimator(const LaunchOptions* launchOptions = nullptr) noexcept = 0;
226
233 virtual ResultValue<FSDKError, IEyeEstimatorPtr> createEyeEstimator(SensorType mode = SensorType::Visible, const LaunchOptions* launchOptions = nullptr) noexcept = 0;
234
241 virtual ResultValue<FSDKError, IEmotionsEstimatorPtr> createEmotionsEstimator(const LaunchOptions* launchOptions = nullptr) noexcept = 0;
242
249 virtual ResultValue<FSDKError, IGazeEstimatorPtr> createGazeEstimator(SensorType mode = SensorType::Visible, const LaunchOptions* launchOptions = nullptr) noexcept = 0;
250
257 virtual ResultValue<FSDKError, IGlassesEstimatorPtr> createGlassesEstimator(const LaunchOptions* launchOptions = nullptr) noexcept = 0;
258
265 virtual ResultValue<FSDKError, IBestShotQualityEstimatorPtr> createBestShotQualityEstimator(const LaunchOptions* launchOptions = nullptr) noexcept = 0;
266
273 virtual ResultValue<FSDKError, ICredibilityCheckEstimatorPtr> createCredibilityCheckEstimator(const LaunchOptions* launchOptions = nullptr) noexcept = 0;
274
281 virtual ResultValue<FSDKError, IPPEEstimatorPtr> createPPEEstimator(const LaunchOptions* LaunchOptions = nullptr) noexcept = 0;
282
290 virtual ResultValue<FSDKError, IDescriptorPtr> createDescriptor(uint32_t version = 0) noexcept = 0;
291
299 virtual ResultValue<FSDKError, IDescriptorPtr> createDescriptor(IArchive* archive, uint32_t flags = 0) noexcept = 0;
300
310 virtual ResultValue<FSDKError, IDescriptorBatchPtr> createDescriptorBatch(int32_t size, uint32_t version = 0) noexcept = 0;
311
320 virtual ResultValue<FSDKError, IDescriptorExtractorPtr> createExtractor(uint32_t version = 0, const LaunchOptions* launchOptions = nullptr) noexcept = 0;
321
330 virtual ResultValue<FSDKError, IDescriptorMatcherPtr> createMatcher(uint32_t version = 0) noexcept = 0;
331
339 virtual ResultValue<FSDKError, IIndexBuilderPtr> createIndexBuilder(
340 const size_t capacity = 0,
341 uint32_t version = 0) noexcept = 0;
342
350 virtual ResultValue<FSDKError, IDenseIndexPtr> loadDenseIndex(
351 const char* indexPath) noexcept = 0;
352
360 virtual ResultValue<FSDKError, IDynamicIndexPtr> loadDynamicIndex(
361 const char* indexPath) noexcept = 0;
362
368 virtual ResultValue<FSDKError, IWarperPtr> createWarper() noexcept = 0;
369
375 virtual ResultValue<FSDKError, IHumanWarperPtr> createHumanWarper() noexcept = 0;
376
383 virtual ResultValue<FSDKError, IAsyncContextPtr> createAsyncContext(const int8_t threadCount) noexcept = 0;
384
392 virtual FaceEngineEdition getFaceEngineEdition() const noexcept = 0;
393
398 virtual void setDataDirectory(const char* path) noexcept = 0;
399
405 virtual const char* getDataDirectory() const noexcept = 0;
406
411 virtual void setSettingsProvider(ISettingsProvider* provider) noexcept = 0;
412
417 virtual void setRuntimeSettingsProvider(ISettingsProvider* provider) noexcept = 0;
418
423 virtual ISettingsProvider* getSettingsProvider() const noexcept = 0;
424
429 virtual ISettingsProvider* getRuntimeSettingsProvider() const noexcept = 0;
430
435 virtual ILicense* getLicense() const noexcept = 0;
436 };
437
444 FSDK_API Result<FSDKError> activateLicense(ILicense* license, const char* configPath) noexcept;
445
452 FSDK_API Result<FSDKError> activateLicense(ILicense* license, fsdk::ISettingsProvider* settings) noexcept;
453
465 FSDK_API ResultValue<FSDKError, IFaceEnginePtr> createFaceEngine(
466 const char* dataPath = nullptr,
467 const char* configPath = nullptr,
468 const char* runtimePath = nullptr) noexcept;
469
475 FSDK_API ResultValue<FSDKError, ISettingsProviderPtr> createSettingsProvider(const char* path) noexcept;
476
479 }
fsdk::IFaceEngine::createWarper
virtual ResultValue< FSDKError, IWarperPtr > createWarper() noexcept=0
Creates warper.
fsdk::IFaceEngine::createHumanDetector
virtual ResultValue< FSDKError, IHumanDetectorPtr > createHumanDetector(const LaunchOptions *launchOptions=nullptr) noexcept=0
Creates a human detector.
fsdk::IFaceEngine::createHeadAndShouldersLivenessEstimator
virtual ResultValue< FSDKError, IHeadAndShouldersLivenessEstimatorPtr > createHeadAndShouldersLivenessEstimator(const LaunchOptions *launchOptions=nullptr) noexcept=0
Creates HeadAndShouldersLiveness estimator.
fsdk::IFaceEngine::createAGSEstimator
virtual ResultValue< FSDKError, IAGSEstimatorPtr > createAGSEstimator(const LaunchOptions *options=nullptr) noexcept=0
Creates AGS estimator.
fsdk::IFaceEngine::createDepthEstimator
virtual ResultValue< FSDKError, ILivenessDepthEstimatorPtr > createDepthEstimator(const LaunchOptions *launchOptions=nullptr) noexcept=0
Creates Liveness Depth estimator.
FSDK_API
#define FSDK_API
Dummy.
Definition: Def.h:27
DECLARE_SMARTPTR
#define DECLARE_SMARTPTR(X)
Smart ptr declaration helper macro.
Definition: Def.h:59
fsdk::LaunchOptions
LaunchOptions struct configures inference options on per-estimator/detector basis, giving user fine grained control over cpu/gpu utilisation.
Definition: LaunchOptions.h:33
fsdk::FACE_DET_DEFAULT
Default detector cpecified in config file;.
Definition: IDetector.h:43
IWarper.h
Image and landmarks warping.
fsdk::Result
A structure that encapsulates an action result enumeration.
Definition: Result.h:29
fsdk::IFaceEngine::createHeadPoseEstimator
virtual ResultValue< FSDKError, IHeadPoseEstimatorPtr > createHeadPoseEstimator(const LaunchOptions *launchOptions=nullptr) noexcept=0
Creates Head pose estimator.
fsdk::IFaceEngine::createDescriptorBatch
virtual ResultValue< FSDKError, IDescriptorBatchPtr > createDescriptorBatch(int32_t size, uint32_t version=0) noexcept=0
Creates Batch of descriptors.
fsdk::IFaceEngine::createLivenessFlyingFacesEstimator
virtual ResultValue< FSDKError, ILivenessFlyingFacesEstimatorPtr > createLivenessFlyingFacesEstimator(const LaunchOptions *launchOptions=nullptr) noexcept=0
Creates LivenessFlyingFaces estimator.
fsdk::IFaceEngine::createCredibilityCheckEstimator
virtual ResultValue< FSDKError, ICredibilityCheckEstimatorPtr > createCredibilityCheckEstimator(const LaunchOptions *launchOptions=nullptr) noexcept=0
Creates CredibilityCheck estimator.
fsdk::IFaceEngine::createMouthEstimator
virtual ResultValue< FSDKError, IMouthEstimatorPtr > createMouthEstimator(const LaunchOptions *launchOptions=nullptr) noexcept=0
Creates Mouth estimator.
fsdk::IFaceEngine::createLivenessOneShotRGBEstimator
virtual ResultValue< FSDKError, ILivenessOneShotRGBEstimatorPtr > createLivenessOneShotRGBEstimator(const LaunchOptions *launchOptions=nullptr) noexcept=0
Creates Liveness OneShot estimator.
fsdk::IFaceEngine::getSettingsProvider
virtual ISettingsProvider * getSettingsProvider() const noexcept=0
Gets settings provider.
IHumanWarper.h
Image warping base on Human detection.
fsdk::IFaceEngine::createPPEEstimator
virtual ResultValue< FSDKError, IPPEEstimatorPtr > createPPEEstimator(const LaunchOptions *LaunchOptions=nullptr) noexcept=0
Creates Personal Protection Equipment (PPE) estimator.
fsdk::IFaceEngine::createHumanWarper
virtual ResultValue< FSDKError, IHumanWarperPtr > createHumanWarper() noexcept=0
Creates human warper.
IObject.h
Object system types and interfaces.
fsdk::IFaceEngine::createMatcher
virtual ResultValue< FSDKError, IDescriptorMatcherPtr > createMatcher(uint32_t version=0) noexcept=0
Creates descriptor matcher.
fsdk::activateLicense
FSDK_API Result< FSDKError > activateLicense(ILicense *license, const char *configPath) noexcept
Makes License activation with some platform specific manner. Network connection is required...
fsdk::ILicense
License objects interface.
Definition: ILicense.h:37
fsdk::IFaceEngine::createGlassesEstimator
virtual ResultValue< FSDKError, IGlassesEstimatorPtr > createGlassesEstimator(const LaunchOptions *launchOptions=nullptr) noexcept=0
Creates Glasses estimator.
fsdk::IFaceEngine::createBestShotQualityEstimator
virtual ResultValue< FSDKError, IBestShotQualityEstimatorPtr > createBestShotQualityEstimator(const LaunchOptions *launchOptions=nullptr) noexcept=0
Creates BestShotQuality estimator.
fsdk::IFaceEngine::getLicense
virtual ILicense * getLicense() const noexcept=0
Get current License object, which was set for FaceEngine object.
fsdk::IFaceEngine::setSettingsProvider
virtual void setSettingsProvider(ISettingsProvider *provider) noexcept=0
Sets settings provider.
fsdk::IFaceEngine
Root LUNA SDK object interface.
Definition: IFaceEngine.h:61
fsdk::IRefCounted
Base strong reference counted object interface.
Definition: IRefCounted.h:36
fsdk::IFaceEngine::createIndexBuilder
virtual ResultValue< FSDKError, IIndexBuilderPtr > createIndexBuilder(const size_t capacity=0, uint32_t version=0) noexcept=0
Creates index builder.
Version.h
SDK version information routines.
Log.h
Log interfaces.
IEstimator.h
Image analysis and attribute estimation interfaces.
fsdk::createFaceEngine
FSDK_API ResultValue< FSDKError, IFaceEnginePtr > createFaceEngine(const char *dataPath=nullptr, const char *configPath=nullptr, const char *runtimePath=nullptr) noexcept
Create the LUNA SDK root object.
fsdk::SensorType
SensorType
Sensor type structure. Determines which type of camera sensor is used to perform face recognition...
Definition: IDetector.h:28
fsdk::IFaceEngine::createExtractor
virtual ResultValue< FSDKError, IDescriptorExtractorPtr > createExtractor(uint32_t version=0, const LaunchOptions *launchOptions=nullptr) noexcept=0
Creates descriptor extractor.
IDescriptor.h
Descriptor extractor and matcher interfaces.
fsdk::IFaceEngine::createLivenessRGBMEstimator
virtual ResultValue< FSDKError, ILivenessRGBMEstimatorPtr > createLivenessRGBMEstimator(const LaunchOptions *launchOptions=nullptr) noexcept=0
Creates Liveness RGBM estimator.
fsdk::IFaceEngine::createGazeEstimator
virtual ResultValue< FSDKError, IGazeEstimatorPtr > createGazeEstimator(SensorType mode=SensorType::Visible, const LaunchOptions *launchOptions=nullptr) noexcept=0
Creates Gaze estimator.
fsdk::IFaceEngine::createDescriptor
virtual ResultValue< FSDKError, IDescriptorPtr > createDescriptor(uint32_t version=0) noexcept=0
Creates Descriptor.
fsdk::IFaceEngine::getRuntimeSettingsProvider
virtual ISettingsProvider * getRuntimeSettingsProvider() const noexcept=0
Gets runtime settings provider.
fsdk::IFaceEngine::createOverlapEstimator
virtual ResultValue< FSDKError, IOverlapEstimatorPtr > createOverlapEstimator(const LaunchOptions *launchOptions=nullptr) noexcept=0
Creates Overlap estimator.
fsdk::IFaceEngine::loadDenseIndex
virtual ResultValue< FSDKError, IDenseIndexPtr > loadDenseIndex(const char *indexPath) noexcept=0
Loads dense index.
fsdk::IFaceEngine::createLivenessFPREstimator
virtual ResultValue< FSDKError, ILivenessFPREstimatorPtr > createLivenessFPREstimator(const LaunchOptions *launchOptions=nullptr) noexcept=0
Creates LivenessFPR estimator.
fsdk::ResultValue
Addon for Result to output some value aside the result. Specialization for copiable types...
Definition: ResultValue.h:21
IDetector.h
Face detector interfaces.
fsdk::SensorType::Visible
Visible sensor type.
fsdk::IFaceEngine::createDetector
virtual ResultValue< FSDKError, IDetectorPtr > createDetector(ObjectDetectorClassType type=FACE_DET_DEFAULT, SensorType mode=SensorType::Visible, const LaunchOptions *launchOptions=nullptr) noexcept=0
Creates a detector of given type.
fsdk::IFaceEngine::createEmotionsEstimator
virtual ResultValue< FSDKError, IEmotionsEstimatorPtr > createEmotionsEstimator(const LaunchOptions *launchOptions=nullptr) noexcept=0
Creates Emotions estimator.
fsdk::IFaceEngine::createFaceFlowEstimator
virtual ResultValue< FSDKError, ILivenessFlowEstimatorPtr > createFaceFlowEstimator(const LaunchOptions *launchOptions=nullptr) noexcept=0
Creates Liveness flow estimator.
IAsyncContext.h
Async context interface.
fsdk::IFaceEngine::loadDynamicIndex
virtual ResultValue< FSDKError, IDynamicIndexPtr > loadDynamicIndex(const char *indexPath) noexcept=0
Loads dynamic index.
fsdk::IFaceEngine::setRuntimeSettingsProvider
virtual void setRuntimeSettingsProvider(ISettingsProvider *provider) noexcept=0
Sets runtime settings provider.
fsdk::IFaceEngine::createQualityEstimator
virtual ResultValue< FSDKError, IQualityEstimatorPtr > createQualityEstimator(const LaunchOptions *launchOptions=nullptr) noexcept=0
Creates Quality estimator.
fsdk::IFaceEngine::createMedicalMaskEstimator
virtual ResultValue< FSDKError, IMedicalMaskEstimatorPtr > createMedicalMaskEstimator(const LaunchOptions *launchOptions=nullptr) noexcept=0
Creates MedicalMask estimator.
fsdk::IFaceEngine::getDataDirectory
virtual const char * getDataDirectory() const noexcept=0
Gets data directory.
fsdk::IFaceEngine::createEyeEstimator
virtual ResultValue< FSDKError, IEyeEstimatorPtr > createEyeEstimator(SensorType mode=SensorType::Visible, const LaunchOptions *launchOptions=nullptr) noexcept=0
Creates Eye estimator.
fsdk::IFaceEngine::createAsyncContext
virtual ResultValue< FSDKError, IAsyncContextPtr > createAsyncContext(const int8_t threadCount) noexcept=0
Creates async context.
fsdk::ObjectDetectorClassType
ObjectDetectorClassType
Object detector type enumeration.
Definition: IDetector.h:42
fsdk::IArchive
Archive interface.
Definition: IObject.h:37
fsdk::IFaceEngine::getFaceEngineEdition
virtual FaceEngineEdition getFaceEngineEdition() const noexcept=0
Get LUNA SDK ditribution edition.
fsdk::FSDKError
FSDKError
Common SDK error codes.
Definition: FSDKError.h:17
fsdk::IFaceEngine::createIREstimator
virtual ResultValue< FSDKError, ILivenessIREstimatorPtr > createIREstimator(const LaunchOptions *launchOptions=nullptr) noexcept=0
Creates Liveness Infrared estimator.
ISettingsProvider.h
Settings provider interface.
fsdk::createSettingsProvider
FSDK_API ResultValue< FSDKError, ISettingsProviderPtr > createSettingsProvider(const char *path) noexcept
Create a settings provider.
fsdk::IFaceEngine::createBlackWhiteEstimator
virtual ResultValue< FSDKError, IBlackWhiteEstimatorPtr > createBlackWhiteEstimator() noexcept=0
Creates Black/White estimator.
fsdk::IFaceEngine::setDataDirectory
virtual void setDataDirectory(const char *path) noexcept=0
Sets data directory.
fsdk::IFaceEngine::createChildEstimator
virtual ResultValue< FSDKError, IChildEstimatorPtr > createChildEstimator(const LaunchOptions *launchOptions=nullptr) noexcept=0
Creates Child estimator.
fsdk::IFaceEngine::createAttributeEstimator
virtual ResultValue< FSDKError, IAttributeEstimatorPtr > createAttributeEstimator(const LaunchOptions *launchOptions=nullptr) noexcept=0
Creates Attribute estimator.
fsdk::ISettingsProvider
SDK settings provider interface.
Definition: ISettingsProvider.h:32