Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

iOS11 vision framework mapping all face landmarks

I am playing with vision framework and getting all landmark points with this code:

if let allFaceLandmarks = landmarks.allPoints {
    print(allFaceLandmarks)
}

But cant find mapping for these points. For example index numbers for right eye.

Looking for something the same as this, but for Vision framework instead.

like image 989
Samet Bilgi Avatar asked Jul 25 '17 09:07

Samet Bilgi


2 Answers

I have no clue why apple doesn't provide a graphic of this. It seems like it would be super helpful information to give people in the docs. At any rate, I was able to read the allPoints property of the observation and draw them out with numbers. I'm not really sure about the difference between nose and nose crest. You can probably draw them out and see...

  • Right eyebrow = 0 - 3
  • Left eyebrow = 4 - 7
  • Right eye contour = 8 - 15
  • Left eye contour = 16 - 23
  • Outer lips = 24 - 33
  • Inner lips = 34 - 39
  • Face Contour = 40 - 50
  • Nose and Nose Crest = 51 - 59
  • Meidan Line = 60 - 62
  • Right Pupil = 63
  • Left Pupil = 64

Here's a pic that hopefully helps!

face points

like image 81
aferriss Avatar answered Oct 31 '22 06:10

aferriss


This post was super helpful for me, so I figured I would update it for iOS 13 (the original scope of the question is iOS 11). Starting with iOS 13, you will get a different set of points (VNDetectFaceLandmarksRequestRevision3) unless you manually specify the VNDetectFaceLandmarksRequestRevision2 revision. The revision parameter is only available in iOS12, so you need something like:

let faceLandmarksRequest = VNDetectFaceLandmarksRequest(completionHandler: self.myFaceFunction)

if #available(iOS 12.0, *) {
  // Force the revision to 2 (68-points) even on iOS 13 or greater 
  // when VNDetectFaceLandmarksRequestRevision3 is available. 
  faceLandmarksRequest.revision = 2
}

When I was updating my app talkr to iOS 13, I couldn't find a reference image for the new points like the one in this post, so I thought I would generate one. I hope it helps someone!

iOS 13 vision SDK revision 3 allpoints

like image 24
Doug Avatar answered Oct 31 '22 08:10

Doug