Visage Technologies strives to minimize changes in API and configuration files when releasing new versions of the SDK. The inevitable changes are listed here, together with specific instructions for developers who have the existing applications built with older versions.
For each visage|SDK release, the incremental changes in relation to the previous release are listed. To apply the changes correctly, apply them in order from the older version to the newer version without skipping intermediary versions.
VisageFaceAnalyser now offers multi-frame analysis functionality which performs estimations on the selected high-quality frames and returns an averaged, smoothed value. This functionality is available via the VisageFaceAnalyser::analyseStream() function.
Introducing smaller, faster and more accurate age and gender estimation models which completely replace the old models that will no longer be distributed.
VisageSDK namespaceIntroducing new FaceData class member for getting the face bounding box:
VisageFaceAnalyser APIVisageFaceAnalyser API was refactored to optimise usage and to include newly introduced multi-frame analysis feature.
Old face analysis functions were removed:
For more details on the updated API please see VisageFaceAnalyser API documentation.
Introducing new AnalysisData structure which contains face analysis results (age, gender and emotions) returned by the VisageFaceAnalyser::analyseImage() and VisageFaceAnalyser::analyseStream() functions.
VisageFeaturesDetector APIPrototype of VisageFeaturesDetector constructor and the following method has been changed:
VisageConfiguration APIIntroducing new functions for getting and setting specific data paths required by tracking algorithm:
VisageGazeTracker APIPrototype of following method has been changed:
virtual int* track(int, int, const char*, FaceData*, int, int, int, long, int maxFaces = 1)
VisageCSWrapper namespaceIntroducing new FaceData class member for getting the face bounding box:
VisageFaceAnalyser APIDue to native VisageFaceAnalyser API changes, VisageCSWrapper's VisageFaceAnalyser API was updated accordingly.
New AnalysisData structure which contains face analysis results (age, gender and emotions) was added as well.
VisageFeaturesDetector APIPrototype of VisageFeaturesDetector constructor has been changed:
VisageConfiguration APIVisageConfiguration class contains new public attributes:
Projects using older versions of these files should be updated to contain the newest data files from the data folder.
The default legacy algorithm that could be allowed via the use_vnn configuration parameter (value 0) has been removed. The VNN algorithm is now the default and only tracking and detection algorithm.
Face tracking and detection algorithms are enhanced so that they can track and detect faces wearing protective masks of various colors and patterns.
Visible contour landmarks from group 13 (13.1-13.17) are no longer available (not detected or estimated). Instead, contour landmarks are now provided only in the form of a physical contour within group 15 (15.1-15.17). For more details please see FDP documentation.
Changing the detection of contour points from visible to physical results in improved stability and accuracy of the 3D head-pose estimation.
Introducing new C++ and C# API for getting SDK version:
Parameter *frame is now mandatory for the following method:
VisageLivenessBlink::update(const FaceData *faceData, VsImage *frame)
Introducing new FaceData class member for getting the rotation of the face from the camera viewpoint:
Facial Features Tracker - High.cfg to Facial Features Tracker.cfg
As a consequence of improving algorithms, removing legacy algorithm, there are certain changes in the data files.
Samples displaying feature points are updated to draw physical contour points.
The in-house developed runner is no longer available and is being replaced by OpenVINO™ toolkit, which is now the only and default neural network runner.
It is implemented in the following libraries:
OpenVINO is a trademark of Intel Corporation or its subsidiaries.
The old face recognition model is being replaced by a smaller, faster and more accurate face recognition model.
Introducing a more accurate and robust face detection model. The new model is used in face tracking and face detection when use_vnn configuration parameter is set to 1. Otherwise, the previous face detection model will be used.
VNN algorithm can now be configured for better performance, at the cost of feature points precision. This mode is enabled by setting use_vnn parameter in configuration file to 1.
Added support for multiple image format for
use_vnn configuration parameter added to
use_vnn configuration parameter values changed and additional value added:
As a consequence of improving algorithms, removing in-house developed runner, and improving VNN algorithm, there are certain changes in the data files.
The previously used BGRATex texture shader for applying captured frame image data was replaced with RGBATex texture shader (Tracker.cs script).
To improve the performance of our algorithms and to support a wider variety of neural network models, we are introducing a configurable framework for choosing between different neural network runners.
As a result, additional configuration file NeuralNet.cfg is now included in visage|SDK (located in Samples/data). This file allows the users to configure which runner will be used by visage|SDK. Users can choose between:
For more information on the parameters of NeuralNet.cfg file see the API page.
OpenVINO is a trademark of Intel Corporation or its subsidiaries.
New experimental algorithm for face tracking and alignment introduced - VNN algorithm.
For the price of slightly reduced tracking speed/performance, it significantly improves tracking quality and robustness.
Introducing new C++ and C# API for programmatically changing
The aforementioned classes are used in conjunction with new
FDP group 10 (ears) has been extended from 10 to 24 points (12 points per ear) as part of the ear tracking feature.
Prototype of method
Two additional configuration files have been added. One for the ear tracking feature and one for the novel tracking algorithm.
A new model file has been added for ear tracking functionality - jk_300_wEars.wfm. The model contains an additional 334 polygons and its vertices are mapped to 14 new FDP points in group 10 (10.11 - 10.24).
New data files and model files for ear tracking added
New data folder and data files added for VNN algorithm in Samples/data/bdtsdata/NN/vnn
FacialAnimationUnityDemo sample application has been removed and will no longer be distributed.
VisageTrackerUnityDemo sample application is distributed as a Unity project, not as a prebuilt application.
Build and run instructions are provided in the VisageTrackerUnityDemo sample documentation.
Libraries built with msvc100 are no longer supported within the package.
visage|SDK data files located in Samples/data/bdtsdata folder have been updated.
Copy all files located in the Samples/data/bdtsdata folder to appropriate folders in any existing application.