deepinsight / deepinsight/insightface

Reference Points used for Arcface Alignment

Open
#1,154 7 comments 5 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
29.7k
Forks
6.1k
PR merge metrics
No merged PRs in 30d

Description

Hi,

why do you use the following points for image alignment when doing preprocessing for training with arcface loss?

`arcface_src = np.array([
[38.2946, 51.6963],
[73.5318, 51.5014],
[56.0252, 71.7366],
[41.5493, 92.3655],
[70.7299, 92.2041] ], dtype=np.float32 )`

It seems that first of all eyes and mouth points do not have the same y coordinates. Furthermore when doing mirroring along the y axis (which is a common data augmentation operation) the position of the landmarks changes slightly which could have a bad influence on training?

So where do these coordinates come from and why are they not designed such that the mirroring transformation does not change the landmark locations?

Kind regards,

Christian

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with the preprocessing and ArcFace training path that defines `arcface_src`, then inspect how the five landmarks are transformed during mirroring augmentation. Document the source of these reference coordinates, the coordinate convention, and whether the asymmetry changes the transformed landmarks or is intentional.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
computer-vision, machine-learning
Issue type
Documentation
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.