| Face Engine SDK 4.7.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
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 "IHumanWarper.h"
38 #include "IIndex.h"
39 #include "IAsyncContext.h"
40 #include "ILicense.h"
41 #include "Types/FaceEngineEdition.h"
42
44 namespace fsdk {
45
46 #ifndef DOXYGEN_SHOULD_SKIP_THIS
47 DECLARE_SMARTPTR(IFaceEngine);
48 #endif
49
59 struct IFaceEngine : IRefCounted {
60
67 virtual IDetector* createDetector(
68 ObjectDetectorClassType type = FACE_DET_DEFAULT,
69 RecognitionMode mode = RecognitionMode::RM_RGB) noexcept = 0;
70
75 virtual IHumanDetector* createHumanDetector() noexcept = 0;
76
81 virtual IHeadPoseEstimator* createHeadPoseEstimator() noexcept = 0;
82
87 virtual IOverlapEstimator* createOverlapEstimator() noexcept = 0;
88
93 virtual IChildEstimator* createChildEstimator() noexcept = 0;
94
99 virtual IAGSEstimator* createAGSEstimator() noexcept = 0;
100
105 virtual IHeadAndShouldersLivenessEstimator* createHeadAndShouldersLivenessEstimator() noexcept = 0;
106
111 virtual IAttributeEstimator* createAttributeEstimator() noexcept = 0;
112
117 virtual IQualityEstimator* createQualityEstimator() noexcept = 0;
118
123 virtual IBlackWhiteEstimator* createBlackWhiteEstimator() noexcept = 0;
124
129 virtual ILivenessDepthEstimator* createDepthEstimator() noexcept = 0;
130
135 virtual ILivenessIREstimator* createIREstimator() noexcept = 0;
136
141 virtual ISmileEstimator* createSmileEstimator() noexcept = 0;
142
147 virtual IMouthEstimator* createMouthEstimator() noexcept = 0;
148
153 virtual IMedicalMaskEstimator* createMedicalMaskEstimator() noexcept = 0;
154
159 virtual ILivenessFlyingFacesEstimator* createLivenessFlyingFacesEstimator() noexcept = 0;
160
166 virtual ILivenessFlowEstimator* createFaceFlowEstimator() noexcept = 0;
167
173 virtual ILivenessRGBMEstimator* createLivenessRGBMEstimator() noexcept = 0;
174
180 virtual ILivenessFPREstimator* createLivenessFPREstimator() noexcept = 0;
181
187 virtual IEyeEstimator* createEyeEstimator(RecognitionMode mode = RecognitionMode::RM_RGB) noexcept = 0;
188
193 virtual IEmotionsEstimator* createEmotionsEstimator() noexcept = 0;
194
200 virtual IGazeEstimator* createGazeEstimator(RecognitionMode mode = RecognitionMode::RM_RGB) noexcept = 0;
201
206 virtual IGlassesEstimator* createGlassesEstimator() noexcept = 0;
207
212 virtual IBestShotQualityEstimator* createBestShotQualityEstimator() noexcept = 0;
213
218 virtual ICredibilityCheckEstimator* createCredibilityCheckEstimator() noexcept = 0;
219
224 virtual IFacialHairEstimator* createFacialHairEstimator() noexcept = 0;
225
233 virtual IDescriptor* createDescriptor(uint32_t version = 0) noexcept = 0;
234
241 virtual IDescriptor* createDescriptor(fsdk::IArchive* archive, uint32_t flags = 0) noexcept = 0;
242
252 virtual IDescriptorBatch* createDescriptorBatch(int32_t size, uint32_t version = 0) noexcept = 0;
253
261 virtual IDescriptorExtractor* createExtractor(uint32_t version = 0) noexcept = 0;
262
270 virtual IDescriptorMatcher* createMatcher(uint32_t version = 0) noexcept = 0;
271
280 virtual IIndexBuilder* createIndexBuilder(
281 const size_t capacity = 0,
282 uint32_t version = 0) noexcept = 0;
283
291 virtual ResultValue<FSDKError, IDenseIndex*> loadDenseIndex(
292 const char* indexPath) noexcept = 0;
293
301 virtual ResultValue<FSDKError, IDynamicIndex*> loadDynamicIndex(
302 const char* indexPath) noexcept = 0;
303
308 virtual IWarper* createWarper() noexcept = 0;
309
314 virtual IHumanWarper* createHumanWarper() noexcept = 0;
315
321 virtual IAsyncContext* createAsyncContext(const int8_t threadCount) noexcept = 0;
322
330 virtual FaceEngineEdition getFaceEngineEdition() const noexcept = 0;
331
336 virtual void setDataDirectory(const char* path) noexcept = 0;
337
343 virtual const char* getDataDirectory() const noexcept = 0;
344
349 virtual void setSettingsProvider(ISettingsProvider* provider) noexcept = 0;
350
355 virtual void setRuntimeSettingsProvider(ISettingsProvider* provider) noexcept = 0;
356
361 virtual ISettingsProvider* getSettingsProvider() const noexcept = 0;
362
367 virtual ISettingsProvider* getRuntimeSettingsProvider() const noexcept = 0;
368
373 virtual ILicense* getLicense() const noexcept = 0;
374 };
375
382 FSDK_API bool activateLicense(ILicense* license, const char* configPath) noexcept;
383
390 FSDK_API bool activateLicense(ILicense* license, fsdk::ISettingsProvider* settings) noexcept;
391
399 FSDK_API IFaceEngine* createFaceEngine(
400 const char* dataPath = nullptr,
401 const char* configPath = nullptr,
402 const char* runtimePath = nullptr) noexcept;
403
409 FSDK_API ISettingsProvider* createSettingsProvider(const char* path) noexcept;
410
413 }
fsdk::ILivenessFPREstimator
FPR Liveness estimator interface.
Definition: ILivenessFPREstimator.h:33
fsdk::IFaceEngine::createEyeEstimator
virtual IEyeEstimator * createEyeEstimator(RecognitionMode mode=RecognitionMode::RM_RGB) noexcept=0
Creates Eye estimator.
fsdk::IFaceEngine::createBestShotQualityEstimator
virtual IBestShotQualityEstimator * createBestShotQualityEstimator() noexcept=0
Creates BestShotQuality estimator.
fsdk::IFaceEngine::createHeadPoseEstimator
virtual IHeadPoseEstimator * createHeadPoseEstimator() noexcept=0
Creates Head pose 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::ISmileEstimator
Smile estimator interface.
Definition: ISmileEstimator.h:33
fsdk::IFaceEngine::createMouthEstimator
virtual IMouthEstimator * createMouthEstimator() noexcept=0
Creates Mouth estimator.
fsdk::ILivenessIREstimator
Infra red liveness estimator interface.
Definition: ILivenessIREstimator.h:27
fsdk::FACE_DET_DEFAULT
Default detector cpecified in config file;.
Definition: IDetector.h:45
fsdk::IFaceEngine::loadDynamicIndex
virtual ResultValue< FSDKError, IDynamicIndex * > loadDynamicIndex(const char *indexPath) noexcept=0
Loads dynamic index.
IWarper.h
Image and landmarks warping.
fsdk::IGazeEstimator
Gaze estimator interface.
Definition: IGazeEstimator.h:32
fsdk::IFaceEngine::createSmileEstimator
virtual ISmileEstimator * createSmileEstimator() noexcept=0
Creates Smile estimator.
fsdk::IFaceEngine::createAsyncContext
virtual IAsyncContext * createAsyncContext(const int8_t threadCount) noexcept=0
Creates async context.
fsdk::IFaceEngine::getSettingsProvider
virtual ISettingsProvider * getSettingsProvider() const noexcept=0
Gets settings provider.
fsdk::IBestShotQualityEstimator
BestShot and Quality estimator interface.
Definition: IBestShotQualityEstimator.h:20
IHumanWarper.h
Image and human landmarks warping.
fsdk::IFaceEngine::createChildEstimator
virtual IChildEstimator * createChildEstimator() noexcept=0
Creates Child estimator.
fsdk::IDescriptorBatch
Descriptor batch interface.
Definition: IDescriptor.h:130
fsdk::IFaceEngine::createFaceFlowEstimator
virtual ILivenessFlowEstimator * createFaceFlowEstimator() noexcept=0
Creates Liveness flow estimator.
IObject.h
Object system types and interfaces.
fsdk::IWarper
Face detection area warper interface.
Definition: IWarper.h:41
fsdk::IFaceEngine::createDescriptorBatch
virtual IDescriptorBatch * createDescriptorBatch(int32_t size, uint32_t version=0) noexcept=0
Creates Batch of descriptors.
fsdk::ILivenessFlowEstimator
Liveness flow estimator interface.
Definition: ILivenessFlowEstimator.h:21
fsdk::ILicense
License objects interface.
Definition: ILicense.h:33
fsdk::IFaceEngine::createIREstimator
virtual ILivenessIREstimator * createIREstimator() noexcept=0
Creates Liveness Infrared estimator.
fsdk::ICredibilityCheckEstimator
CredibilityCheck estimator interface.
Definition: ICredibilityCheckEstimator.h:38
fsdk::activateLicense
FSDK_API bool activateLicense(ILicense *license, const char *configPath) noexcept
Makes License activation with some platform specific manner. Network connection is required...
fsdk::IFaceEngine::createIndexBuilder
virtual IIndexBuilder * createIndexBuilder(const size_t capacity=0, uint32_t version=0) noexcept=0
Creates index builder.
fsdk::IFaceEngine::getLicense
virtual ILicense * getLicense() const noexcept=0
Get current License object, which was set for FaceEngine object.
fsdk::IFaceEngine::createCredibilityCheckEstimator
virtual ICredibilityCheckEstimator * createCredibilityCheckEstimator() noexcept=0
Creates CredibilityCheck estimator.
fsdk::IFaceEngine::createLivenessFlyingFacesEstimator
virtual ILivenessFlyingFacesEstimator * createLivenessFlyingFacesEstimator() noexcept=0
Creates LivenessFlyingFaces estimator.
fsdk::IFaceEngine::setSettingsProvider
virtual void setSettingsProvider(ISettingsProvider *provider) noexcept=0
Sets settings provider.
fsdk::IFaceEngine
Root LUNA SDK object interface.
Definition: IFaceEngine.h:59
fsdk::IRefCounted
Base strong reference counted object interface.
Definition: IRefCounted.h:36
fsdk::IHumanDetector
human body detector interface.
Definition: IDetector.h:237
fsdk::IAsyncContext
Interface for running tasks asynchronously.
Definition: IAsyncContext.h:24
fsdk::IFaceEngine::loadDenseIndex
virtual ResultValue< FSDKError, IDenseIndex * > loadDenseIndex(const char *indexPath) noexcept=0
Loads dense index.
fsdk::IEmotionsEstimator
Emotions estimator interface.
Definition: IEmotionsEstimator.h:60
fsdk::IDescriptorMatcher
Descriptor matcher interface.
Definition: IDescriptor.h:407
Version.h
SDK version information routines.
fsdk::IOverlapEstimator
Overlap estimator interface.
Definition: IOverlapEstimator.h:27
fsdk::IFaceEngine::createDetector
virtual IDetector * createDetector(ObjectDetectorClassType type=FACE_DET_DEFAULT, RecognitionMode mode=RecognitionMode::RM_RGB) noexcept=0
Creates a detector of given type.
IEstimator.h
Image analysis and attribute estimation interfaces.
fsdk::IDetector
face detector interface.
Definition: IDetector.h:115
fsdk::IFaceEngine::createMatcher
virtual IDescriptorMatcher * createMatcher(uint32_t version=0) noexcept=0
Creates descriptor matcher.
fsdk::IMedicalMaskEstimator
MedicalMask estimator interface.
Definition: IMedicalMaskEstimator.h:70
fsdk::IFaceEngine::createHumanDetector
virtual IHumanDetector * createHumanDetector() noexcept=0
Creates a human detector.
fsdk::ILivenessRGBMEstimator
RGBM Liveness estimator interface.
Definition: ILivenessRGBMEstimator.h:28
IDescriptor.h
Descriptor extractor and matcher interfaces.
fsdk::IFaceEngine::createQualityEstimator
virtual IQualityEstimator * createQualityEstimator() noexcept=0
Creates Quality estimator.
fsdk::IFaceEngine::createExtractor
virtual IDescriptorExtractor * createExtractor(uint32_t version=0) noexcept=0
Creates descriptor extractor.
fsdk::IFaceEngine::getRuntimeSettingsProvider
virtual ISettingsProvider * getRuntimeSettingsProvider() const noexcept=0
Gets runtime settings provider.
fsdk::IGlassesEstimator
Glasses estimator interface.
Definition: IGlassesEstimator.h:33
fsdk::IFaceEngine::createDescriptor
virtual IDescriptor * createDescriptor(uint32_t version=0) noexcept=0
Creates Descriptor.
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::IFaceEngine::createLivenessFPREstimator
virtual ILivenessFPREstimator * createLivenessFPREstimator() noexcept=0
Creates LivenessFPR estimator.
fsdk::IMouthEstimator
Mouth estimator interface.
Definition: IMouthEstimator.h:34
fsdk::IDescriptorExtractor
Descriptor extractor interface.
Definition: IDescriptor.h:291
fsdk::IEyeEstimator
Eye estimator interface.
Definition: IEyeEstimator.h:86
IAsyncContext.h
Async context interface.
fsdk::createSettingsProvider
FSDK_API ISettingsProvider * createSettingsProvider(const char *path) noexcept
Create a settings provider.
fsdk::IFaceEngine::createOverlapEstimator
virtual IOverlapEstimator * createOverlapEstimator() noexcept=0
Creates Overlap estimator.
fsdk::IFaceEngine::setRuntimeSettingsProvider
virtual void setRuntimeSettingsProvider(ISettingsProvider *provider) noexcept=0
Sets runtime settings provider.
fsdk::IFaceEngine::createMedicalMaskEstimator
virtual IMedicalMaskEstimator * createMedicalMaskEstimator() noexcept=0
Creates MedicalMask estimator.
fsdk::IFaceEngine::createGazeEstimator
virtual IGazeEstimator * createGazeEstimator(RecognitionMode mode=RecognitionMode::RM_RGB) noexcept=0
Creates Gaze estimator.
fsdk::ILivenessDepthEstimator
Depth estimator interface.
Definition: ILivenessDepthEstimator.h:45
fsdk::IFaceEngine::createDepthEstimator
virtual ILivenessDepthEstimator * createDepthEstimator() noexcept=0
Creates Liveness Depth estimator.
fsdk::IFaceEngine::createLivenessRGBMEstimator
virtual ILivenessRGBMEstimator * createLivenessRGBMEstimator() noexcept=0
Creates Liveness RGBM estimator.
fsdk::IFaceEngine::createBlackWhiteEstimator
virtual IBlackWhiteEstimator * createBlackWhiteEstimator() noexcept=0
Creates Black/White estimator.
fsdk::IAGSEstimator
Approximate Garbage Score estimator interface.
Definition: IAGSEstimator.h:18
fsdk::IDescriptor
Descriptor interface.
Definition: IDescriptor.h:82
fsdk::IFaceEngine::getDataDirectory
virtual const char * getDataDirectory() const noexcept=0
Gets data directory.
fsdk::IHeadAndShouldersLivenessEstimator
Head And Shoulders estimator interface.
Definition: IHeadAndShouldersLivenessEstimator.h:18
fsdk::ObjectDetectorClassType
ObjectDetectorClassType
Object detector type enumeration.
Definition: IDetector.h:44
fsdk::IFaceEngine::createHeadAndShouldersLivenessEstimator
virtual IHeadAndShouldersLivenessEstimator * createHeadAndShouldersLivenessEstimator() noexcept=0
Creates HeadAndShouldersLiveness estimator.
fsdk::IHumanWarper
Human detection area warper interface.
Definition: IHumanWarper.h:24
fsdk::IFaceEngine::createHumanWarper
virtual IHumanWarper * createHumanWarper() noexcept=0
Creates human warper.
fsdk::IFaceEngine::createGlassesEstimator
virtual IGlassesEstimator * createGlassesEstimator() noexcept=0
Creates Glasses estimator.
fsdk::IArchive
Archive interface.
Definition: IObject.h:37
fsdk::IBlackWhiteEstimator
Grayscale image estimator interface.
Definition: IBlackWhiteEstimator.h:19
fsdk::IFaceEngine::getFaceEngineEdition
virtual FaceEngineEdition getFaceEngineEdition() const noexcept=0
Get LUNA SDK ditribution edition.
fsdk::IFaceEngine::createFacialHairEstimator
virtual IFacialHairEstimator * createFacialHairEstimator() noexcept=0
Creates FacialHair estimator.
fsdk::ILivenessFlyingFacesEstimator
Flying Faces Liveness estimator interface.
Definition: ILivenessFlyingFacesEstimator.h:29
fsdk::IFacialHairEstimator
FacialHair estimator interface.
Definition: IFacialHairEstimator.h:48
ISettingsProvider.h
Settings provider interface.
fsdk::RecognitionMode
RecognitionMode
Recognition mode structure. Determines which recognition mode to use.
Definition: IDetector.h:30
fsdk::IFaceEngine::createAGSEstimator
virtual IAGSEstimator * createAGSEstimator() noexcept=0
Creates AGS estimator.
fsdk::createFaceEngine
FSDK_API IFaceEngine * createFaceEngine(const char *dataPath=nullptr, const char *configPath=nullptr, const char *runtimePath=nullptr) noexcept
Create the LUNA SDK root object.
fsdk::IHeadPoseEstimator
Head pose angles estimator interface.
Definition: IHeadPoseEstimator.h:48
fsdk::IChildEstimator
Child estimator interface.
Definition: IChildEstimator.h:27
fsdk::IFaceEngine::createEmotionsEstimator
virtual IEmotionsEstimator * createEmotionsEstimator() noexcept=0
Creates Emotions estimator.
fsdk::RM_RGB
RGB image processing mode.
Definition: IDetector.h:31
fsdk::IIndexBuilder
Index builder interface.
Definition: IIndex.h:211
fsdk::IFaceEngine::createWarper
virtual IWarper * createWarper() noexcept=0
Creates warper.
fsdk::IFaceEngine::setDataDirectory
virtual void setDataDirectory(const char *path) noexcept=0
Sets data directory.
fsdk::IQualityEstimator
Image quality estimator interface.
Definition: IQualityEstimator.h:77
fsdk::IFaceEngine::createAttributeEstimator
virtual IAttributeEstimator * createAttributeEstimator() noexcept=0
Creates Attribute estimator.
fsdk::ISettingsProvider
SDK settings provider interface.
Definition: ISettingsProvider.h:31