deepinsight / deepinsight/insightface
Reference Points used for Arcface Alignment
- 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