Face-api vs. FaceRes vs. SSR-Net for non-realtime use? #212
-
First off, thank you for the awesome libraries! I'm trying to get the best possible age & gender estimates in a ~50k small profile picture dataset (mostly 150x150px). I modified the nodejs example in vladmandic/face-api and it works ok(ish), but then I found your comment saying that "models used by face-api are pretty old" which has led me here. Which combination of models would you recommend for such a task in Human? Is SSR-Net better than the default FaceRes? Speed is not critical, but of course appreciated. Thank you! |
Beta Was this translation helpful? Give feedback.
Replies: 4 comments 3 replies
-
Thanks! Regarding Regarding your use case, its not something I've focused on, but its worth special considerations.
Can you share a part of your dataset? I'd be interested in testing solutions as I'm improving 'Human`? |
Beta Was this translation helpful? Give feedback.
-
I'm afraid that's not possible at this time as it's part of a research project. I'll make sure to let you know if/when it becomes possible. The dataset is honestly nothing special. I would love to test the individual models side by side on it and share the results, though. The dataset contains about 2k images that are age-labeled, so there's some semi-reliable ground truth to test against. Is it possible to set Human up (in nodejs) to use multiple models for the same thing (e.g. age detection) in a single run? And the most basic of questions - how do I switch face description from the default combined model to individual models at all? With the additional models downloaded, I thought I'd just change the inside of |
Beta Was this translation helpful? Give feedback.
-
its been a while since i've played with anyhow, i've just fixed them and new version of and a quick test app at you need to download models separately since they are not included in the default distribution due to overal size considerations but...all 3 models require further tuning regarding ideal face crop (tunable via once best values are known, i can place them directly in the library (can be different for each model) |
Beta Was this translation helpful? Give feedback.
-
I wrote a quick test to compare results: dataset: UTKFace In-the-wild variation Results
1. FaceRes
results: { genderAccuracy: 98, raceAccuracy: 0, ageError: { '<10%': 33, '<25%': 78, '<50%': 99, '<99%': 100 } } 2. GEAR
results: { genderAccuracy: 93, raceAccuracy: 56, ageError: { '<10%': 32, '<25%': 73, '<50%': 92, '<99%': 100 } } 3. SSRNet
results: { genderAccuracy: 88, raceAccuracy: 0, ageError: { '<10%': 26, '<25%': 57, '<50%': 96, '<99%': 99 } } |
Beta Was this translation helpful? Give feedback.
its been a while since i've played with
gear
orssrnet
since most of my focus has been onfaceres
as a result, those two module got pretty broken
anyhow, i've just fixed them and new version of
human
is on githuband a quick test app at
test/test-gear.js
to try each of the 3 models on input image or all images in input folder(you can see how you select each model there)
you need to download models separately since they are not included in the default distribution due to overal size considerations
(i only include default models in default distribution)
url is: https://github.com/vladmandic/human-models/tree/main/models
but...all 3 models require further tuning regarding ideal face crop (t…