iOS11 视觉框架映射所有面部特征点
iOS11 vision framework mapping all face landmarks
我正在玩视觉框架并使用此代码获取所有地标点:
if let allFaceLandmarks = landmarks.allPoints {
print(allFaceLandmarks)
}
但是找不到这些点的映射。例如右眼的索引号。
正在寻找与 this 相同的东西,但要寻找 Vision 框架。
希望您已经在使用 Vision API VNDetectFaceLandmarksRequest
class 检测面部特征。
我们找到的每个地标都是 VNFaceLandmarks2D
的类型
var landmarks: VNFaceLandmarks2D? { get }
如果您检查 documentation 的 VNFaceLandmarks2D
class 实例属性,我们可以找到有关检测到的面部的所有详细信息。以下是我们可以从每个地标获得的值。
- 全部积分
- 面部轮廓
- 内唇
- 左眼
- 左眉
- leftPubil
- 中线
- 鼻子
- 鼻冠
- 外唇
- 右眼
- 右眉
- rightPubil
都是[VNFaceLandmarkRegion2D][2]
的类型
我不知道苹果为什么不提供这方面的图形。在文档中提供给人们似乎是非常有用的信息。无论如何,我能够读取观察的所有点 属性 并用数字绘制它们。我不太确定鼻子和鼻梁之间的区别。你大概可以把它们画出来看看...
- 右眉=0 - 3
- 左眉=4 - 7
- 右眼轮廓 = 8 - 15
- 左眼轮廓 = 16 - 23
- 外唇 = 24 - 33
- 内唇 = 34 - 39
- 面部轮廓 = 40 - 50
- 鼻子和鼻梁 = 51 - 59
- 美丹线 = 60 - 62
- 右瞳 = 63
- 左瞳 = 64
这是一张希望对您有所帮助的照片!
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
这个 post 对我非常有帮助,所以我想我会为 iOS 13 更新它(问题的原始范围是 iOS 11)。从 iOS 13 开始,您将获得一组不同的点 (VNDetectFaceLandmarksRequestRevision3),除非您手动指定 VNDetectFaceLandmarksRequestRevision2 修订版。修订参数仅在 iOS12 中可用,因此您需要这样的东西:
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 时,我找不到像这个 post 中的新点的参考图像,所以我想我会生成一个.我希望它能帮助别人!
我正在玩视觉框架并使用此代码获取所有地标点:
if let allFaceLandmarks = landmarks.allPoints {
print(allFaceLandmarks)
}
但是找不到这些点的映射。例如右眼的索引号。
正在寻找与 this 相同的东西,但要寻找 Vision 框架。
希望您已经在使用 Vision API VNDetectFaceLandmarksRequest
class 检测面部特征。
我们找到的每个地标都是 VNFaceLandmarks2D
var landmarks: VNFaceLandmarks2D? { get }
如果您检查 documentation 的 VNFaceLandmarks2D
class 实例属性,我们可以找到有关检测到的面部的所有详细信息。以下是我们可以从每个地标获得的值。
- 全部积分
- 面部轮廓
- 内唇
- 左眼
- 左眉
- leftPubil
- 中线
- 鼻子
- 鼻冠
- 外唇
- 右眼
- 右眉
- rightPubil
都是[VNFaceLandmarkRegion2D][2]
我不知道苹果为什么不提供这方面的图形。在文档中提供给人们似乎是非常有用的信息。无论如何,我能够读取观察的所有点 属性 并用数字绘制它们。我不太确定鼻子和鼻梁之间的区别。你大概可以把它们画出来看看...
- 右眉=0 - 3
- 左眉=4 - 7
- 右眼轮廓 = 8 - 15
- 左眼轮廓 = 16 - 23
- 外唇 = 24 - 33
- 内唇 = 34 - 39
- 面部轮廓 = 40 - 50
- 鼻子和鼻梁 = 51 - 59
- 美丹线 = 60 - 62
- 右瞳 = 63
- 左瞳 = 64
这是一张希望对您有所帮助的照片!
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
这个 post 对我非常有帮助,所以我想我会为 iOS 13 更新它(问题的原始范围是 iOS 11)。从 iOS 13 开始,您将获得一组不同的点 (VNDetectFaceLandmarksRequestRevision3),除非您手动指定 VNDetectFaceLandmarksRequestRevision2 修订版。修订参数仅在 iOS12 中可用,因此您需要这样的东西:
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 时,我找不到像这个 post 中的新点的参考图像,所以我想我会生成一个.我希望它能帮助别人!