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

问题描述 投票:6回答:3

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

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

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

寻找与this相同的东西,但代替Vision框架。

ios swift image-processing face-recognition ios11
3个回答
14
投票

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

  • 右眉= 0 - 3
  • 左眉毛= 4 - 7
  • 右眼轮廓= 8 - 15
  • 左眼轮廓= 16 - 23
  • 外唇= 24 - 33
  • 内唇= 34 - 39
  • 面部轮廓= 40 - 50
  • 鼻子和鼻子波峰= 51 - 59
  • me i但line = 60 - 62
  • 右瞳= 63
  • 左瞳= 64

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

face points


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


0
投票

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

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

var landmarks: VNFaceLandmarks2D? { get }

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

  • allPoints
  • faceContour
  • 嘴唇内侧
  • 左撇子
  • leftEyebrow
  • leftPubil
  • medianLine
  • 鼻子
  • noseCrest
  • outerLips
  • 右眼
  • rightEyebrow
  • rightPubil

所有这些都是[VNFaceLandmarkRegion2D][2]的类型

© www.soinside.com 2019 - 2024. All rights reserved.