justadudewhohacks / face-api.js

JavaScript API for face detection and face recognition in the browser and nodejs with tensorflow.js
MIT License
16.69k stars 3.71k forks source link

Low face recognition accuracy for asian guys #302

Open jinhuang415 opened 5 years ago

jinhuang415 commented 5 years ago

We tried with our company employees (Asian faces) but sometimes the distance between 2 different faces are quite low (below 0.3), we can easily separate them with eyes but looks the face-api pre-trained model could not separate them apart, we tried some western faces and it can work well. So I am thinking if there are not so many Asian face samples in the training dataset so it may not perform very well towards them? If I have some Asian face dataset and want to train a new model, would you please advice how should I do the retrain? Thanks.

justadudewhohacks commented 5 years ago

Yes your assumption is correct, the author of dlib (the project where the model is from) also states somewhere in his blog I think, that there is a bias towards western faces. I think you can retrain the model using the corresponding dlib example, but afterwards the model weights have to be converted to a the format that tensorflow uses. But I can help you with the latter one, if you really want to retrain the model.

Other than that, I am planning to train an own face recognition model as well since I want to have a more web friendly and more efficient model for face-api.js. But I can't make any promises when that model will be included.

dr1llc4t commented 5 years ago

Yes your assumption is correct, the author of dlib (the project where the model is from) also states somewhere in his blog I think, that there is a bias towards western faces. I think you can retrain the model using the corresponding dlib example, but afterwards the model weights have to be converted to a the format that tensorflow uses. But I can help you with the latter one, if you really want to retrain the model.

Other than that, I am planning to train an own face recognition model as well since I want to have a more web friendly and more efficient model for face-api.js. But I can't make any promises when that model will be included.

My project also encountered this problem and I had to use a traditional C/C++ face API. So I'm really looking forward to have this feature in the future. Also please please consider to bring liveness detection to face-api, so I can make sure it is a living person standing in front of a cam not a picture.

mickwubs97 commented 4 years ago

@dr1llc4t , hi, I am also interested in retrain the model with a new dataset, would you mind telling me how far have you gone? Or in which direction have you been working on? my email address is sxtgwzz@163.com. ( I don't know what language should I use here, so I just use the common one )

Thanks!