iOS11视觉框架映射所有面部标志

时间:2017-07-25 09:04:31

标签: ios swift image-processing face-recognition ios11

我正在使用视觉框架并使用此代码获取所有标志性要点:

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

但是找不到这些点的映射。例如右眼的索引号。

寻找与this相同的内容,而不是寻找Vision框架。

4 个答案:

答案 0 :(得分:14)

我不知道为什么苹果公司没有提供这方面的图片。看起来在文档中给人们提供超级有用的信息。无论如何,我能够读取观察的allPoints属性并用数字绘制出来。我不确定鼻子和鼻子嵴之间的区别。你可以画出来看看......

  • 右眉= 0 - 3
  • 左眉毛= 4 - 7
  • 右眼轮廓= 8 - 15
  • 左眼轮廓= 16 - 23
  • 外唇= 24 - 33
  • 内唇= 34 - 39
  • 脸部轮廓= 40 - 50
  • 鼻子和鼻子嵴= 51 - 59
  • Meidan Line = 60 - 62
  • 右瞳= 63
  • 左瞳子= 64

这是一张有希望帮助的照片!

face points

答案 1 :(得分:3)

这篇文章对我很有帮助,所以我认为我将在iOS 13上对其进行更新(问题的原始范围是iOS 11)。从iOS 13开始,除非手动指定VNDetectFaceLandmarksRequestRevision2修订版,否则您将获得一组不同的点(VNDetectFaceLandmarksRequestRevision3)。版本参数仅在iOS12中可用,因此您需要类似以下内容:

L1

当我将我的应用程序演讲者更新到iOS 13时,我找不到像本文中的新点那样的参考图像,因此我想我会生成一个。希望对您有所帮助!

iOS 13 vision SDK revision 3 allpoints

答案 2 :(得分:1)

lefty eyebrow   : 1~4
right eyebrow   : 5~8
left eye        : 9~16
right eye       : 17~24
outer mouth     : 25~34
inner mouth     : 35~40
left contour    : 41~45
chin            : 46
right contour   : 47~51
nose outline    : 52~60
nose crest      : 61~63
left tulip      : 64
right tulip     : 65

enter image description here

答案 3 :(得分:0)

我希望您已经使用Vision API VNDetectFaceLandmarksRequest类来检测面部特征。

我们找到的每个地标都是VNFaceLandmarks2D

的类型
var landmarks: VNFaceLandmarks2D? { get }

如果您检查VNFaceLandmarks2D类实例属性的documentation,我们可以找到有关检测到的面部的所有详细信息。以下是我们可以从每个地标中获取的值。

  • allPoints
  • faceContour
  • innerLips
  • 左眼
  • leftEyebrow
  • leftPubil
  • medianLine
  • noseCrest
  • outerLips
  • 右眼
  • rightEyebrow
  • rightPubil

所有这些都是[VNFaceLandmarkRegion2D][2]

的类型