Face Engine SDK
5.23.1
A face detection, recognition and tracking engine.
|
00001 #pragma once 00002 00003 #include <fsdk/Log.h> 00004 #include <fsdk/Def.h> 00005 #include <fsdk/IObject.h> 00006 #include <fsdk/ILicense.h> 00007 #include <fsdk/IDetector.h> 00008 #include <fsdk/IDescriptor.h> 00009 #include <fsdk/ISettingsProvider.h> 00010 #include <fsdk/IWarper.h> 00011 00012 #include <fsdk/Estimators/IAGSEstimator.h> 00013 #include <fsdk/Estimators/IHeadPoseEstimator.h> 00014 #include <fsdk/Estimators/IEyeEstimator.h> 00015 #include <fsdk/Estimators/IFaceOcclusionEstimator.h> 00016 #include <fsdk/Estimators/IGlassesEstimator.h> 00017 #include <fsdk/Estimators/IBestShotQualityEstimator.h> 00018 #include <fsdk/Estimators/IDepthLivenessEstimator.h> 00019 #include <fsdk/Estimators/ILivenessOneShotRGBEstimator.h> 00020 #include <fsdk/Estimators/ILivenessDepthRGBEstimator.h> 00021 #include <fsdk/Estimators/IMedicalMaskEstimator.h> 00022 #include <fsdk/Estimators/IMouthEstimator.h> 00023 #include <fsdk/Estimators/INIRLivenessEstimator.h> 00024 #include <fsdk/Estimators/IQualityEstimator.h> 00025 00026 #include <fsdk/Types/FaceEngineEdition.h> 00027 00050 00051 namespace fsdk { 00052 00053 #ifndef DOXYGEN_SHOULD_SKIP_THIS 00054 DECLARE_SMARTPTR(IFaceEngineMobile); 00055 #endif 00056 00066 struct IFaceEngineMobile : IRefCounted { 00067 00072 virtual ResultValue<FSDKError, IDetectorPtr> createDetector() noexcept = 0; 00073 00078 virtual ResultValue<FSDKError, IHeadPoseEstimatorPtr> createHeadPoseEstimator() noexcept = 0; 00079 00084 virtual ResultValue<FSDKError, IAGSEstimatorPtr> createAGSEstimator() noexcept = 0; 00085 00090 virtual ResultValue<FSDKError, IEyeEstimatorPtr> createEyeEstimator() noexcept = 0; 00091 00097 virtual ResultValue<FSDKError, IMedicalMaskEstimatorPtr> createMedicalMaskEstimator() noexcept = 0; 00098 00104 virtual ResultValue<FSDKError, IGlassesEstimatorPtr> createGlassesEstimator() noexcept = 0; 00105 00111 virtual ResultValue<FSDKError, IQualityEstimatorPtr> createQualityEstimator() noexcept = 0; 00112 00117 virtual ResultValue<FSDKError, IBestShotQualityEstimatorPtr> 00118 createBestShotQualityEstimator() noexcept = 0; 00119 00124 virtual ResultValue<FSDKError, ILivenessOneShotRGBEstimatorPtr> 00125 createLivenessOneShotRGBEstimator() noexcept = 0; 00126 00132 virtual ResultValue<FSDKError, IDepthLivenessEstimatorPtr> createDepthLivenessEstimator() noexcept = 0; 00133 00139 virtual ResultValue<FSDKError, ILivenessDepthRGBEstimatorPtr> 00140 createLivenessDepthRGBEstimator() noexcept = 0; 00141 00149 virtual ResultValue<FSDKError, INIRLivenessEstimatorPtr> 00150 createNIRLivenessEstimator(const NIRLivenessMode mode = NIRLivenessMode::Default) noexcept = 0; 00151 00157 virtual ResultValue<FSDKError, IMouthEstimatorPtr> createMouthEstimator() noexcept = 0; 00158 00159 00165 virtual ResultValue<FSDKError, IFaceOcclusionEstimatorPtr> createFaceOcclusionEstimator() noexcept = 0; 00166 00175 virtual ResultValue<FSDKError, IDescriptorPtr> createDescriptor(uint32_t version = 0) noexcept = 0; 00176 00183 virtual ResultValue<FSDKError, IDescriptorPtr> 00184 createDescriptor(IArchive* archive, uint32_t flags = 0) noexcept = 0; 00185 00196 virtual ResultValue<FSDKError, IDescriptorBatchPtr> 00197 createDescriptorBatch(int32_t size, uint32_t version = 0) noexcept = 0; 00198 00208 virtual ResultValue<FSDKError, IDescriptorExtractorPtr> 00209 createExtractor(uint32_t version = 0) noexcept = 0; 00210 00219 virtual ResultValue<FSDKError, IDescriptorMatcherPtr> createMatcher(uint32_t version = 0) noexcept = 0; 00220 00225 virtual ResultValue<FSDKError, IWarperPtr> createWarper() noexcept = 0; 00226 00234 virtual FaceEngineEdition getFaceEngineEdition() const noexcept = 0; 00235 00240 virtual void setDataDirectory(const char* path) noexcept = 0; 00241 00247 virtual const char* getDataDirectory() const noexcept = 0; 00248 00253 virtual void setSettingsProvider(ISettingsProvider* provider) noexcept = 0; 00254 00259 virtual void setRuntimeSettingsProvider(ISettingsProvider* provider) noexcept = 0; 00260 00265 virtual ISettingsProvider* getSettingsProvider() const noexcept = 0; 00266 00271 virtual ISettingsProvider* getRuntimeSettingsProvider() const noexcept = 0; 00272 00277 virtual ILicense* getLicense() const noexcept = 0; 00278 }; 00279 00286 FSDK_API Result<FSDKError> activateLicense(ILicense* license, const char* configPath) noexcept; 00287 00294 FSDK_API Result<FSDKError> activateLicense(ILicense* license, ISettingsProvider* settings) noexcept; 00295 00304 FSDK_API ResultValue<FSDKError, IFaceEngineMobilePtr> createFaceEngineMobile( 00305 const char* dataPath = nullptr, 00306 const char* configPath = nullptr, 00307 const char* runtimePath = nullptr) noexcept; 00308 00314 FSDK_API ResultValue<FSDKError, ISettingsProviderPtr> createSettingsProvider(const char* path) noexcept; 00315 00322 FSDK_API ResultValue<FSDKError, ISettingsProviderPtr> 00323 createSettingsProviderFromString(const char* content) noexcept; 00324 00325 } // namespace fsdk