![]() |
Face Engine SDK
5.26.0
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/IGazeEstimator.h> 00017 #include <fsdk/Estimators/IGlassesEstimator.h> 00018 #include <fsdk/Estimators/IBestShotQualityEstimator.h> 00019 #include <fsdk/Estimators/IDepthLivenessEstimator.h> 00020 #include <fsdk/Estimators/ILivenessOneShotRGBEstimator.h> 00021 #include <fsdk/Estimators/ILivenessDepthRGBEstimator.h> 00022 #include <fsdk/Estimators/IMedicalMaskEstimator.h> 00023 #include <fsdk/Estimators/IMouthEstimator.h> 00024 #include <fsdk/Estimators/INIRLivenessEstimator.h> 00025 #include <fsdk/Estimators/IQualityEstimator.h> 00026 00027 #include <fsdk/Types/FaceEngineEdition.h> 00028 00051 00052 namespace fsdk { 00053 00054 #ifndef DOXYGEN_SHOULD_SKIP_THIS 00055 DECLARE_SMARTPTR(IFaceEngineMobile); 00056 #endif 00057 00067 struct IFaceEngineMobile : IRefCounted { 00068 00073 virtual ResultValue<FSDKError, IDetectorPtr> createDetector() noexcept = 0; 00074 00079 virtual ResultValue<FSDKError, IHeadPoseEstimatorPtr> createHeadPoseEstimator() noexcept = 0; 00080 00085 virtual ResultValue<FSDKError, IAGSEstimatorPtr> createAGSEstimator() noexcept = 0; 00086 00091 virtual ResultValue<FSDKError, IEyeEstimatorPtr> createEyeEstimator() noexcept = 0; 00092 00098 virtual ResultValue<FSDKError, IMedicalMaskEstimatorPtr> createMedicalMaskEstimator() noexcept = 0; 00099 00105 virtual ResultValue<FSDKError, IGazeEstimatorPtr> 00106 createGazeEstimator(SensorType mode = SensorType::Visible) noexcept = 0; 00107 00113 virtual ResultValue<FSDKError, IGlassesEstimatorPtr> createGlassesEstimator() noexcept = 0; 00114 00120 virtual ResultValue<FSDKError, IQualityEstimatorPtr> createQualityEstimator() noexcept = 0; 00121 00126 virtual ResultValue<FSDKError, IBestShotQualityEstimatorPtr> 00127 createBestShotQualityEstimator() noexcept = 0; 00128 00133 virtual ResultValue<FSDKError, ILivenessOneShotRGBEstimatorPtr> 00134 createLivenessOneShotRGBEstimator() noexcept = 0; 00135 00141 virtual ResultValue<FSDKError, IDepthLivenessEstimatorPtr> createDepthLivenessEstimator() noexcept = 0; 00142 00148 virtual ResultValue<FSDKError, ILivenessDepthRGBEstimatorPtr> 00149 createLivenessDepthRGBEstimator() noexcept = 0; 00150 00158 virtual ResultValue<FSDKError, INIRLivenessEstimatorPtr> 00159 createNIRLivenessEstimator(const NIRLivenessMode mode = NIRLivenessMode::Default) noexcept = 0; 00160 00166 virtual ResultValue<FSDKError, IMouthEstimatorPtr> createMouthEstimator() noexcept = 0; 00167 00168 00174 virtual ResultValue<FSDKError, IFaceOcclusionEstimatorPtr> createFaceOcclusionEstimator() noexcept = 0; 00175 00184 virtual ResultValue<FSDKError, IDescriptorPtr> createDescriptor(uint32_t version = 0) noexcept = 0; 00185 00192 virtual ResultValue<FSDKError, IDescriptorPtr> 00193 createDescriptor(IArchive* archive, uint32_t flags = 0) noexcept = 0; 00194 00205 virtual ResultValue<FSDKError, IDescriptorBatchPtr> 00206 createDescriptorBatch(int32_t size, uint32_t version = 0) noexcept = 0; 00207 00217 virtual ResultValue<FSDKError, IDescriptorExtractorPtr> 00218 createExtractor(uint32_t version = 0) noexcept = 0; 00219 00228 virtual ResultValue<FSDKError, IDescriptorMatcherPtr> createMatcher(uint32_t version = 0) noexcept = 0; 00229 00234 virtual ResultValue<FSDKError, IWarperPtr> createWarper() noexcept = 0; 00235 00243 virtual FaceEngineEdition getFaceEngineEdition() const noexcept = 0; 00244 00249 virtual void setDataDirectory(const char* path) noexcept = 0; 00250 00256 virtual const char* getDataDirectory() const noexcept = 0; 00257 00262 virtual void setSettingsProvider(ISettingsProvider* provider) noexcept = 0; 00263 00268 virtual void setRuntimeSettingsProvider(ISettingsProvider* provider) noexcept = 0; 00269 00274 virtual ISettingsProvider* getSettingsProvider() const noexcept = 0; 00275 00280 virtual ISettingsProvider* getRuntimeSettingsProvider() const noexcept = 0; 00281 00286 virtual ILicense* getLicense() const noexcept = 0; 00287 }; 00288 00295 FSDK_API Result<FSDKError> activateLicense(ILicense* license, const char* configPath) noexcept; 00296 00303 FSDK_API Result<FSDKError> activateLicense(ILicense* license, ISettingsProvider* settings) noexcept; 00304 00313 FSDK_API ResultValue<FSDKError, IFaceEngineMobilePtr> createFaceEngineMobile( 00314 const char* dataPath = nullptr, 00315 const char* configPath = nullptr, 00316 const char* runtimePath = nullptr) noexcept; 00317 00323 FSDK_API ResultValue<FSDKError, ISettingsProviderPtr> createSettingsProvider(const char* path) noexcept; 00324 00331 FSDK_API ResultValue<FSDKError, ISettingsProviderPtr> 00332 createSettingsProviderFromString(const char* content) noexcept; 00333 00334 } // namespace fsdk