dlib.image_window.add_overlay()未显示部分人脸地标的封闭图

时间:2018-10-13 18:52:21

标签: python-3.x dlib

我正在尝试显示形成68个具有地标的面部对象的下巴区域的界标点48-67。 image_window所使用的方法具有以下签名: add_overlay(dlib.full_object_detection)

我正在以这种方式从shape_predictor返回的full_object_detection对象中提取dlib.points 48-67-:

faces = faceDetector(img,1)
lipPoints = []
shape = detector(img,faces[0])
for i in range(48,68):
    lipPoints.append(shape.part(i))
lipDetections = dlib.full_object_detection(faces[0],lipPoints)
win.add_overlay(lipDetections)

但是它导致下颌的孤立点,而不是闭合曲线-

enter image description here

当我通过设置范围(0,68)使用所有68个点时,image_window显示了所有用于描述脸部的点。

faces = faceDetector(img,1)
lipPoints = []
shape = detector(img,faces[0])
for i in range(0,68):
    lipPoints.append(shape.part(i))
lipDetections = dlib.full_object_detection(faces[0],lipPoints)
win.add_overlay(lipDetections)

代码输出的是曲线,而不是预期的点索引-

enter image description here

即使在使用相同的image_window实例的相同重载后,add_overlay()方法的行为也如何不同?在这两种情况下,full_object_detector的创建方式相同,因此我希望它能显示出闭合的嘴唇边界图。

我查看了add_overlay(full_object_detection)的源代码,但没有发现任何显示add_overlay与检测器模型之间的链接的东西。如何仅显示颌骨的连接点?

我还尝试通过从火车xml文件中删除其他地标,自己尝试仅使用颌部地标来训练dlib.shape_predictor(),但结果相同,没有闭合曲线,仅显示孤立点。

我正在使用从Ubuntu 18.04上的源代码安装的dlib v19.15。 @ davis-king您可以帮忙吗?

0 个答案:

没有答案