Skip to content

Licensing#

Server platforms#

FaceEngine supports per-features node-locked licensing for every supported platform. This means that by activating and deactivating the licensed features a final customer version of FaceEngine might be customized. For that reason, not all algorithms and modules described in this book might be available to you. Each SDK instance should be activated on every device. License, which was activated for one device could not be used on some other device. Interface for License objects ILicense (see file ILicense.h) gives you possibility to:

  • check if license is already activated;
  • save license for next usage to some file;
  • load license from file;
  • check if some feature of FaceEngine is available for this license;
  • check the expiration date for each feature in this license.

Typical usage scenario:

  • Create a IFaceEngine object (see file FaceEngine.h);
  • Get license pointer through fsdk::IFaceEngine::getLicense.
  • Make activation for that license object through fsdk::activateLicense. This method requires full or relative path to the license.conf file.

NOTE: Descriptor license feature allows creating no more than 100000 descriptors on server platforms.

NOTE: If the feature is not available for the current license or the feature has expired, an attempt to use the corresponding functionality will result in an error.

License features#

To work with license features in code the LicenseFeature enum should be used (see file ILicense.h). Some features are not available for some platforms.

Full list of features and according list of estimators:

  • Detection - allows to create IDetector instance to find person face on a frame;
  • BestShot - allows to create IAGSEstimator, IBestShotQualityEstimator, IHeadPoseEstimator, IQualityEstimator instances;
  • Attributes - allows to create IAttributeEstimator, IChildEstimator, ICredibilityCheckEstimator instances;
  • Emotions - allows to create IEmotionsEstimator, IMouthEstimator, ISmileEstimator instances;
  • FaceFeatures - allows to create IEyeEstimator, IGazeEstimator, IGlassesEstimator, IMedicalMaskEstimator, IOverlapEstimator instances;
  • Liveness - allows to create ILivenessDepthEstimator, ILivenessFlowEstimator, IHeadPoseAndShouldersLivenessEstimator, ILivenessIREstimator, ILivenessFlyingFacesEstimator, ILivenessRGBMEstimator instances;
  • Descriptor - allows to create IDescriptor, IDescriptorBatch, IDescriptorExtractor, IDescriptorMatcher instances to extract face features of a concrete person and work with them;
  • DescriptorIndex - allows to create IIndexBuilder, IDenseIndex, IDynamicIndex instances;
  • LivenessEngine - allows to create ILivenessEngine instance to check real person or not on video;
  • TrackEngine - allows to create ITrackEngine instance to track person on video;
  • HumanDetection - allows to create IHumanDetector instance for human bodies detection.
  • MedicalMaskDetection - allows to create IMedicalMaskEstimator instance to detect a medical face mask on the face in the source image.

If the license for the selected feature is invalid, the factory instantiation method will return nullptr. For example, method: IFaceEngine::createAGSEstimator will return nullptr in case if LicenseFeature::BestShot in not available.

Back to top