deepinsight / deepinsight/insightface

Specific Model Roles in FaceAnalysis and Training Guidance

Open
#2,548 0 comments 3 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
29.7k
Forks
6.1k
PR merge metrics
No merged PRs in 30d

Description

Hello,

I am currently utilizing the FaceAnalysis class from InsightFace for extracting facial embeddings and keypoints from images, and I have a few questions regarding the specific models used in this process, as well as guidance on training these models on private datasets.

Context:

In my application, I execute the following steps:

```
face_info = app.get(cv2.cvtColor(np.array(face_image), cv2.COLOR_RGB2BGR))
face_info = sorted(face_info, key=lambda x: (x['bbox'][2]-x['bbox'][0])*(x['bbox'][3]-x['bbox'][1]))[-1]
face_emb = face_info['embedding']
face_kps = draw_kps(face_image, face_info['kps'])
```
Assumptions:

Based on the model files present in the antelopev2 package (scrfd_10g_bnkps.onnx, 2d106det.onnx, glintr100.onnx, genderage.onnx, 1k3d68.onnx), I am assuming the following:

- scrfd_10g_bnkps.onnx is used for initial face detection.
- 2d106det.onnx provides detailed facial keypoints.
- glintr100.onnx is responsible for generating face embeddings.

Questions:

1. Are my assumptions about the model roles in facial embedding and keypoint extraction correct?
2. I need to train the models from scratch due to commercial licensing concerns. Specifically, which models are required to replicate the face detection, landmark detection, and embedding generation of the FaceAnalysis process? I suspect I need to train models like ResNet100@Glint360K, SCRFD-10GF, 2d106, and 3d68. I am in the process of creating my own synthetic datasets but can you confirm the training code is available for the antelope suite of models?

Your guidance on training these models with my data would be greatly appreciated 🙏

Thank you.

cc @nttstar

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.