m0_58844937 2022-05-13 17:39 采纳率: 94.3%
浏览 167
已结题

dlib人脸识别的精度问题

问题遇到的现象和发生背景

人脸识别,识别精度不高

问题相关代码,请勿粘贴截图
import dlib
from skimage import io
from skimage.draw import polygon_perimeter

detector = dlib.get_frontal_face_detector()
sample_image = io.imread('test.jpg')
faces = detector(sample_image, 1)

for d in faces:
    rr, cc = polygon_perimeter([d.top(), d.top(), d.bottom(), d.bottom()], [d.right(), d.left(), d.left(), d.right()])
    sample_image[rr, cc] = (0, 255, 0)
io.imsave('result.jpg', sample_image)
运行结果及报错内容

运行结果图:

img

原图

img

我想要达到的结果

每个人脸都能识别

  • 写回答

1条回答 默认 最新

  • lazyn 2022-05-14 20:01
    关注
    import dlib
    from skimage import io
    from skimage.draw import polygon_perimeter
    
    detector = dlib.get_frontal_face_detector()
    sample_image = io.imread('test.jpg')
    faces, scores, idx = detector.run(sample_image, 1, -0.2)
    for d in faces:
        rr, cc = polygon_perimeter([d.top(), d.top(), d.bottom(), d.bottom()],
                                   [d.right(), d.left(), d.left(), d.right()])
        sample_image[rr, cc] = (0, 255, 0)
    io.imsave('result.jpg', sample_image)
    

    通过框选的值设定阈值,设置越小检测框越多

    img


    设置为-0.2可以满足你的需求

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 5月22日
  • 已采纳回答 5月14日
  • 创建了问题 5月13日