iOS 11视觉框架:映射所有面部标志。

9
我正在使用视觉框架,并使用以下代码获取所有地标点:
if let allFaceLandmarks = landmarks.allPoints {
    print(allFaceLandmarks)
}

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

寻找与相同的东西,但用于Vision框架。

4个回答

23

我不知道为什么苹果不提供这个图形。在文档中给人们提供这个超级有帮助的信息似乎是很好的。无论如何,我能够读取观察的allPoints属性并用数字绘制出它们。我不是很确定nose和nose crest之间的区别。您可能可以将它们绘制出来看看...

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

这里是一张希望有所帮助的图片!

人脸特征点


8

这篇文章对我非常有帮助,所以我打算为iOS 13更新它(原问题的范围是iOS 11)。从iOS 13开始,除非手动指定VNDetectFaceLandmarksRequestRevision2修订版,否则您将获得不同的点集合(VNDetectFaceLandmarksRequestRevision3)。修订参数仅适用于iOS 12,因此您需要类似以下的内容:

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
}

当我在将我的应用程序 talkr 更新到 iOS 13 时,我找不到新点的参考图片,就像这篇帖子中的图片一样,所以我想生成一个。我希望能帮助到某些人!iOS 13 vision SDK revision 3 allpoints

7
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

在此输入图像描述

修订3

在此输入图像描述


0

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

我们发现的每个地标都是VNFaceLandmarks2D类型的。

var landmarks: VNFaceLandmarks2D? { get }

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

  • allPoints
  • faceContour
  • innerLips
  • leftEye
  • leftEyebrow
  • leftPubil
  • medianLine
  • nose
  • noseCrest
  • outerLips
  • rightEye
  • rightEyebrow
  • rightPubil

它们全部都是[VNFaceLandmarkRegion2D][2]类型。


谢谢你的回答。我得到了正确眉毛的点数,但它返回了4个点,我需要知道哪个索引在中间。 - sametbilgi
正如您从文档中所看到的,点是“VNFaceLandmarks2D”的一种类型,它是特定面部特征的二维几何信息。每个点都是“vector_float2”的一种类型,它是二维向量。您可以尝试将其转换为CGPoint以找出中心。 - Bluewings

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接