0

In such tasks, I tend to you Mediapipe or Dlib to detect the landmarks of the face and get the specific coordinates I'm interested to work with.

But in the case of the human face taken from a Profil view, Dlib can't detect anything and Mediapipe shows me a standard 3D face-mesh superimposed on top of the 2D image which provides false coordinates.

I was wondering if anyone with Computer Vision (Image Processing) knowledge can guide me on how to detect the A & B points coordinates from this image

Image_Profil_View

PS: The color of the background changes & also the face location is not standard.

Thanks in advance strong text

Bilal
  • 3,191
  • 4
  • 21
  • 49
Capito
  • 5
  • 6

1 Answers1

0

Your question seems a little unclear. If you just want (x,y) screen coordinates you can use this answer to convert the (x,y,z) that mediapipe gives you to just (x,y). If this doesn't doesnt work for you I would recommend this repo or this one which both only work with 68 facial landmarks, but this should be sufficient for your use case.

If all of this fails I would recommend retraining hrnet on a dataset with profile views. I believe either 300-W dataset or the 300-VW dataset provides some data with heads at extreme angles.

If you wish to get the 3D coordinates in camera coordinates (X,Y,Z) you're going to have to use solvePNP. This will require getting calibration info and model mesh points for whatever facial landmark detector you use. You can find a some examples for some of this here

  • Thanks for your quick answer Cole, as I told you if you're doing to apply medipipe face mesh on the giving image you won't get accurate coordinates. Regarding the other repos, they use mostly faces with front view and with some degree of profile view, in my case I'm looking to get the coordinates of A & B points giving any image of the human face taken from Profil View! – Capito Jan 21 '22 at 11:15