给定 dlib 的 68 点面部标志,确定它们有多好
Posted
技术标签:
【中文标题】给定 dlib 的 68 点面部标志,确定它们有多好【英文标题】:Given dlib's 68-point facial landmarks, determine how good they are 【发布时间】:2018-05-06 14:52:48 【问题描述】:我正在使用 dlib 进行人脸检测,然后进行 68 点面部地标检测。一般来说,这很有效。
但是,dlib 的人脸检测器有时会检测到(例如)只有一只眼睛可见或人的嘴巴不可见(或在极少数情况下是非人脸)的人脸。显然,在这些情况下,检测到的 68 个点中有一些是垃圾。
如何检测这些情况?
【问题讨论】:
【参考方案1】:这有点宽泛。
一般来说,人脸检测器应该有一个分数可以读出。这是一个可以使用的信息。
另外:获得地标后,按this 的顺序排列后,您可以:
检查左眼是否是右眼的左眼 眼睛在边界框内 眼睛高于鼻子/嘴巴 ...(你明白了)这些规则/过滤过去对我很有效。
【讨论】:
感谢您的回复,这些都是很好的建议,但我确实有些顾虑。首先,我不相信 dlib 的人脸检测器给出了置信度。无论如何,有问题的情况确实是人脸,所以我不认为这是一个检测问题:只是人脸的角度使得无法正确检测特定的地标。关于您的标志性规则:我担心这些测试仅在面部对齐时才有效。但是,如果我根据地标对齐,我可能会很好地将我试图检测的问题归一化! Dlib 的人脸检测器可以为每次检测提供一个置信度分数:请参阅此 example code 的最后几行(来自 Dlib Github 本身)。以上是关于给定 dlib 的 68 点面部标志,确定它们有多好的主要内容,如果未能解决你的问题,请参考以下文章