Reducing DeepFace's Racial Recognition Bias
Due to uneven distribution of training data, the DeepFace default model may have reduced recognition accuracy for non-Caucasian races. Improvement options include:
- model fusion: Combine predictions from multiple models, such as using both ArcFace and GhostFaceNet, to determine the final race classification through a voting mechanism
- data enhancement: Application to minority samples
albumentationsLibrary for color dithering, occlusion enhancement, and other preprocessing - Threshold adjustment: Different validation thresholds are used for different races, and Asian faces are recommended to be
threshold=0.35The African Face Proposalthreshold=0.25 - <strong]Transfer Learning: Use of
DeepFace.build_model()Fine-tuning on your own multi-ethnic dataset after loading the base model
For professional scenarios, it is recommended to 1) collect localized face datasets, 2) use de-biased pre-trained models such as FairFace, and 3) perform demographic-based post-calibration (Platt Scaling) on the output. These measures can keep cross-racial recognition accuracy differences within ±5%.
This answer comes from the articleDeepFace: a lightweight Python library that implements facial age, gender, emotion, race recognitionThe































