【问题标题】:How to face alignment and crop?如何面对对齐和裁剪?
【发布时间】:2018-10-13 14:08:50
【问题描述】:

通常我用 dlib 识别人脸,然后用代码裁剪人脸:

创建人脸检测器

face_detector = dlib.get_frontal_face_detector()

运行检测器并获取图像上人脸的边界框。

detected_faces = face_detector(图像, 1) face_frames = [(x.left(), x.top(), x.right(), x.bottom()) for x in detected_faces]

返回 face_frames

用dlib识别人脸好像很简单,但是图片中的人脸怎么对齐呢?

我在https://github.com/deepfakes/faceswap 看到了代码,需要复杂的计算。

那么如何用简单的方法对脸部进行处理和裁剪呢?

【问题讨论】:

    标签: python-3.x opencv


    【解决方案1】:

    正如 Davis 在文档中报告的 here,您可以使用 get_face_chip - 如果您需要单个芯片 - 或 get_face_chips - 多个芯片。更多信息herehere

    示例 1:

    images = dlib.get_face_chips(img, faces, size=320)
    

    img 是 rgb 图像,faces 是一个 full_object_detections()。

    示例 2:

    image = dlib.get_face_chip(img, faces[0])
    

    img 是 rgb 图像,faces[0] 是使用 shape_predictor 获得的第一张图像。

    【讨论】:

    • AttributeError: 模块 'dlib' 没有属性 'get_face_chips'
    • windows conda 4.3.30
    • 你的 dlib 版本是多少?
    • dlib 19.10.0 images = dlib.get_face_chips(img, faces, size=2048, padding=0)
    猜你喜欢
    • 2012-10-23
    • 2013-01-28
    • 1970-01-01
    • 2020-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-25
    • 1970-01-01
    相关资源
    最近更新 更多