[RELEASED] Face Analyzer: 84 landmarks, pose, gender, age, race, eyeglass, wearing-hat recognition

Face Analyzer
84 landmarks, pose, gender, age, race, eyeglasses, wearing-hat, baldness, blond-hair recognition

Available in Asset Store
Make your game to know about your game player!

Current Version 1.0.0 (first release)

FaceAnalyzer is a deep-learning-based face analyzer plugin, trained with 150,000+ datasets.

[FEATURES]

1) 51 / 84 facial landmarks detection in real-time

2) head pose estimation (roll, pitch and yaw)

3) gender estimation (male / female)

4) age estimation (0 ~ 99)

5) race estimation (white / black / Asian / Indian / others)

6) baldness estimation (bald or not bald)

7) blond-hair estimation (blond or not blond)

8) eyeglasses detection (wearing eyeglasses or not)

9) hat detection (wearing hat or not)

10) lightweight OpenCV API (opencv.org) with only core, imgproc, and dnn module.

(If you want more OpenCV module, feel free to contact us : ) )

Trained deep learning model is also very lightweight.

Facial landmarks(and face detect, head pose) model size is just 3.4MB and facial attributes(gender, age, race, baldness, blond-hair, eyeglasses, wearing-hat) is just 14.6MB.

Because this plugin was trained with 150,000+ datasets, it cannot be perfect.

Especially, the facial attributes ‘Indian, baldness and blond-hair’ show some errors because of dataset imbalance.

[MORE TO COME]

We will upgrade this plugin with larger and larger dataset.
We will also add additional facial attributes such as a beard, eye-color, or wearing sunglasses, etc.

To get enterprise-level plugin, which is faster and more accurate using larger datasets with required customization,

Feel free to contact,

contact@illuni.com

We can also customize according to your needs for your application, such as algorithm speed vs. accuracy vs. model-size, or more facial attributes, such as facial emotion, hairstyle, eye blink, or gaze direction.

If you find a bug or you can’t use the asset as you need,

please first email me to contact@illuni.com (in English or in Korean) before leaving a review to the asset store.

I am here to help and to improve my assets for the best.

Response time can be up to 5 business days.

System Requirements:

Windows, macOS, Android and iOS are supported.

You can see all the features of this plugin in detail in this document.

Best,

[DEMO]

[KNOWN ISSUE]

To run the provided example scene in the first release version, the scene script requires a webcam device connection.
If there is no webcam device connection, it shows error!

1 Like

Hello, I am having issues with the asset.

At undetermined moments it crashes when calling the EstimateFacialLandmark function, giving: ERROR: SymGetSymFromAddr64, GetLastError: ‘Se ha intentado tener acceso a una dirección no válida.’

I am using a simpler version of the FaceAnalyzerExample. Mainly webcam detection for face recognition.

I send you attached the error log generated in the last crash. If you need something more please tell me.

6361005–707790–error.zip (10.1 KB)

Hello!

Thanks for your error report.

Hmm, by the way, I cannot understand your error based on your providing error log.

Could you provide simple example project?

I will do analysis.

Thanks

Best,

Hello

We are a startup called Drazor Studio, ten days ago I tried to contact you requesting a demo for test.

Thanks in advance!

Hello,

Not able to build the iOS app from a new project. We are using Version 2.2

Getting the following error:

Undefined symbols for architecture arm64:
  "cv::Mat::inv(int) const", referenced from:
      luni::KalmanFilter::KalmanCorrect(cv::Mat) in libface_analyzer.a(KalmanFilter.o)
      luni::KalmanFilter::KalmanUpadteStateEstimate(cv::Mat) in libface_analyzer.a(KalmanFilter.o)
  "cv::Mat::eye(int, int, int)", referenced from:
      luni::KalmanFilter::KalmanCorrect(cv::Mat) in libface_analyzer.a(KalmanFilter.o)
  "cv::operator-(cv::Mat const&, cv::MatExpr const&)", referenced from:
      luni::KalmanFilter::KalmanCorrect(cv::Mat) in libface_analyzer.a(KalmanFilter.o)
      luni::KalmanFilter::KalmanUpadteStateEstimate(cv::Mat) in libface_analyzer.a(KalmanFilter.o)
  "cv::operator*(cv::MatExpr const&, cv::Mat const&)", referenced from:
      luni::KalmanFilter::KalmanCorrect(cv::Mat) in libface_analyzer.a(KalmanFilter.o)
  "cv::operator*(double, cv::Mat const&)", referenced from:
      luni::KalmanFilter::_KalmanInit(cv::Mat&, cv::Mat&) in libface_analyzer.a(KalmanFilter.o)
      luni::KalmanFilter::KalmanConstantAccelerationModelInit(cv::Mat&) in libface_analyzer.a(KalmanFilter.o)
  "cv::operator*(cv::Mat const&, cv::Mat const&)", referenced from:
      DNNUtils::PaddingAndAlignLndmrkImage(cv::Mat const&, cv::Mat const&, int, int, int, int, cv::Mat&, cv::Mat&) in libface_analyzer.a(dnnutils.o)
      DNNUtils::PaddingAndAlignLndmrkImage_InnerShape(cv::Mat const&, cv::Mat const&, int, int, int, int, cv::Mat&, cv::Mat&) in libface_analyzer.a(dnnutils.o)
      luni::KalmanFilter::KalmanPredict(cv::Mat) in libface_analyzer.a(KalmanFilter.o)
      luni::KalmanFilter::KalmanCorrect(cv::Mat) in libface_analyzer.a(KalmanFilter.o)
      luni::KalmanFilter::KalmanUpadteStateEstimate(cv::Mat) in libface_analyzer.a(KalmanFilter.o)
  "cv::hconcat(cv::_InputArray const&, cv::_InputArray const&, cv::_OutputArray const&)", referenced from:
      NPDFNet::GetHeadPoseAngle(float*, float*, float*) in libface_analyzer.a(NPDFNet.o)
  "cv::fastAtan2(float, float)", referenced from:
      NPDFNet::EstimateFacialLandmark_Dynamic_Resizing(cv::Mat const&, cv::Rect_<int> const&, cv::Mat&, int, bool, int, int) in libface_analyzer.a(NPDFNet.o)
      DNNUtils::PaddingAndAlignLndmrkImage(cv::Mat const&, cv::Mat const&, int, int, int, int, cv::Mat&, cv::Mat&) in libface_analyzer.a(dnnutils.o)
      DNNUtils::PaddingAndAlignLndmrkImage_InnerShape(cv::Mat const&, cv::Mat const&, int, int, int, int, cv::Mat&, cv::Mat&) in libface_analyzer.a(dnnutils.o)
  "cv::operator*(cv::Mat const&, double)", referenced from:
      NPDFNet::InitKalmanFilter(float) in libface_analyzer.a(NPDFNet.o)



........

If anyone is facing the above issue,

Solution by Yin Jiawei

“You need to bring out the files in “Version/A” folder. And here is my file path.”

Work on Webgl?

Hello, Dear SachinGanesh

We have a similar problem but we can’t resolve it.
Please help us.

7811646--987978--Screenshot 2022-01-15 at 19.50.52.png

1 Like

Hi,
Thanks for your great plugin!
Do you have any plans to support android x86_64 and android x86 (in order to be able to run on chromebook)?
Thank you!

Would anyone know how to detect emotions and whatnot with this asset from a texture?
I want to load images, not use webcam or video player.
I wrote the dev, have yet to head back.

Did someone have this error: If yes, are there any ways to solve?

DllNotFoundException: face_analyzer assembly: type: member:(null)
dnn.DNNUtils…ctor () (at Assets/FaceAnalyzer/dnn/DNNUtils.cs:136)
FaceAnalyzerExample.FaceAnalyzerExample.InitModel () (at Assets/FaceAnalyzer/face_example/FaceAnalyzerExample.cs:375)
FaceAnalyzerExample.FaceAnalyzerExample.Start () (at Assets/FaceAnalyzer/face_example/FaceAnalyzerExample.cs:300)

using this plugin, can i custom for analyze of acne?
the result i can show spot and follow movement on face/