Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Face tracking is limited to 20 faces (for performance reasons). To locate more faces in the image, use face detection (class FacialFeaturesDetector ).

  • visage|SDK is capable of detecting/tracking faces whose size in the image is at least 5% of the larger resolution i.e. image width (in case of landscape images and image height in case of portrait images).

    • The default setting for the VisageFeaturesDetector  is to detect faces larger than 10% of the image size and 15% in case of the VisageTracker . The default parameter for minimal face scale needs to be modified to process smaller faces.

    • If you are using high resolution images with many faces, so that each face is smaller than 5% of image width, one solution may be to divide the image into portions and process each portion separately. Alternatively, a custom version of visage|SDK may be discussed.

  • For optimal performance of algorithms for face recognition and analysis (age, gender, emotion), faces should be at least 100 pixels wide.

...

Revise this section, especially on image size

Info
iconfalse

See also:

...

Verify that the build target and visage|SDK platform match. For example, running visage|SDK for Windows inside the Unity Editor and for a Standalone application will work since both are run on the same platform. Attempting to run visage|SDK for iOS inside the Unity Editor on a MacOS will output an error because iOS architecture does not match MacOS architecture.

When working with large resolution videos (>2K), video FPS significantly drops, why?

It seems that the slowdown is the result of not optimal frame mirroring (our native Windows plugin mirrors the image). The track function itself seems to be good enough. There are further optimizations that can be implemented. However, for a quick fix solution, try to turn off frame mirroring in Unity project by setting Mirrored property to 0 in the Unity Editor Property page for the Tracker object.

To elaborate, _grabFrame function has two working modes:

  1. The cameraOrientation and cameraMirror values are equal to 0

  2. The cameraOrientation and cameraMirror value are different from 0

The first one will just copy pixels to another buffer, and the second one will go to the pixels manipulation process to prepare pixels for the _track() function.

Pixels manipulation is an expensive operation. To avoid it, please turn off isMirrored value which is by default set to 1 and adjust the mirroring property in the setting of camera itself if needed.

This will result in a significantly faster execution of the _grabframe() function.

Note

Important! This refers to visage|SDK 8.7.b1 and older versions. On newer versions, isMirrored value is turned off by default.

Warning

This is relevant to Unity sample. Needs an introduction (context) and might need revision if a new version is available.

Note

Need to insert links to relevant API parts in text and/or as “See also” section.

Errors concerning 'NSString' or other Foundation classes encountered in client project which includes iOS sample files (VisageRendering.cpp, etc.)?

It is neccessary to make sure that VisageRendering.cpp is compiled as an Objective-C++ source, and not as a C++ source by changing 'Type' property of the file on the right-hand property side in the Xcode editor. This applies generally to any source which includes/imports (directly or indirectly) any Apple classes.

Troubleshooting - Licensing Errors

The following articles describe the various error codes produced by the Visage Technologies licensing system, and what may be done to remedy each error. They are valid for visage|SDK version 8.6b1 and higher.

...

Errors concerning 'NSString' or other Foundation classes encountered in client project which includes iOS sample files (VisageRendering.cpp, etc.)?

It is necessary to make sure that VisageRendering.cpp is compiled as an Objective-C++ source, and not as a C++ source by changing 'Type' property of the file on the right-hand property side in the Xcode editor. This applies generally to any source which includes/imports (directly or indirectly) any Apple classes.

Troubleshooting - Licensing Errors

The following articles describe the various error codes produced by the Visage Technologies licensing system, and what may be done to remedy each error. They are valid for visage|SDK version 8.6b1 and higher.

Error code 0x00000001 (VS_ERROR_INVALID_LICENSE)

The error you received indicates that the license is not valid. The error occurs when the BundleID is not the same as the one in your application, or when the license that is registered to one product is used with another product. Please check if you’re using the correct license.

Error code 0x00000002 (VS_ERROR_EXPIRED_LICENSE)

The error you received indicates that the license has expired. Please consider renewing your license. Your Visage Technologies contact person may advise you on the options.

Error code 0x00000004 (VS_ERROR_EARLIER_VERSION_LICENSE)

The error you received indicates that the license version you are using is out of date, so you need to update to the newest available version. Please consider upgrading your license. Your Visage Technologies contact person may advise you on the options.

Error code 0x00000008 (VS_ERROR_MISSING_KEYFILE)

The error you received indicates that the application cannot locate the license key file. Please verify that the license key file is present in the folder used as a path to initialize the license manager. For more details, please follow the instructions from Documentation -> Licensing.

Error code 0x00000010 (VS_ERROR_NO_LICENSE)

The error you received indicates that there is currently no license available. Please follow the instructions from Documentation -> Licensing on how to correctly use the license key in your application.

Error code 0x00000020 (VS_ERROR_CORRUPT_VERSION_STRING)

The error you received indicates that the license is not valid. The error occurs when the BundleID is not the same as the one in your application, or when the license that is registered to one product is used with another product. Please check if you’re using the correct licensekey file was modified. Please try using a clean copy of the license key file that was sent to you, and see if the error still occurs.

Error code

...

0x00000040 (VS_ERROR_LICENSE_

...

VALIDATION_

...

FAILURE)

The error you received indicates that the server has rejected the license has expired. Please consider renewing your license. Your get in touch with your Visage Technologies contact person may advise you on the options.

Error code 0x00000004 (VS_ERROR_EARLIER_VERSION_LICENSE)

The error you received indicates that the license version you are using is out of date, so you need to update to the newest available version. Please consider upgrading your license. Your Visage Technologies contact person may advise you on the options.

Error code 0x00000008 (VS_ERROR_MISSING_KEYFILE)

The error you received indicates that the application cannot locate the license key file. Please verify that the license key file is present in the folder used as a path to initialize the license manager. For more details, please follow the instructions from Documentation -> Licensing.

Error code 0x00000010 (VS_ERROR_NO_LICENSE)

The error you received indicates that there is currently no license available. Please follow the instructions from Documentation -> Licensing on how to correctly use the license key in your application.

Error code 0x00000020 (VS_ERROR_CORRUPT_VERSION_STRING)

The error you received indicates that the license key file was modified. Please try using a clean copy of the license key file that was sent to you, and see if the error still occurs.

Error code 0x00000040 (VS_ERROR_LICENSE_VALIDATION_FAILURE)

The error you received indicates that the server has rejected the license. Please get in touch with your Visage Technologies contact person, who will investigate the matter further and get back to you.

...

[Internal - for Visage Technologies contact person] - Check on the VTLS server for the reason why the license was rejected. It can be one of the following (the most common being -6):

...

-1 - License Key sent to VTLS server for validation was malformed

...

-2 - Device ID sent to VTLS server for validation was malformed

...

-3 - License does not exist on VTLS server

...

-4 - License is blocked on VTLS server

...

-5 - License expired

...

-6 - Installations limit reached

...

, who will investigate the matter further and get back to you.

Error code 0x00000080 (VS_ERROR_NC_CONNECTION_FAILED)

...