【问题标题】:dlib labeling for object detection - detect only 60%用于对象检测的 dlib 标记 - 仅检测 60%
【发布时间】:2018-04-19 11:53:17
【问题描述】:

我对使用 dlib 进行对象检测有疑问。我想检测脸上的胡须。所以我像下面这样标记

typedef scan_fhog_pyramid<pyramid_down<6> > image_scanner_type; 
image_scanner_type scanner;
scanner.set_detection_window_size(80, 80); 
structural_object_detection_trainer<image_scanner_type> trainer(scanner);

我已经训练了 400 张图像。但检测百分比为 60。即使没有胡须,它也在检测,我认为这是因为我标记了 no_beard,所以它正在检测(可能是)。看来我的标签是错误的,我只想检测胡须脸。那么在这种情况下,我是否只需要标记有胡须的脸?或者我应该标记胡须和无胡须?出了什么问题?供参考,我正在使用enter link description here

【问题讨论】:

    标签: c++ dlib


    【解决方案1】:

    如果您不更改任何内容,默认的训练方式就像这个xml 文件。它仅将对象训练为矩形框(所有框的宽度和高度比几乎相同)。

    它不训练任何标签,所以我建议你只训练胡须图像作为对象。如果你有足够的图像,它应该学习胡须对象。

    另一种思路是,通过dlib's MMOD Face detection检测人脸,然后训练胡须图像。

    确保在训练中保留没有注释的非胡须图像,以便它学习。

    【讨论】:

    • 是的,我的方法是使用 MMOD 人脸检测然后训练胡须图像。我的问题是注释非胡须图像与否。谢谢你的快速建议。我将留下没有注释的非胡须图像。
    • 是的,不要注释非胡须图像。例如。将示例中的第三张图像保留为空,但将其保留在训练集中。检测器将学习它们之间的区别。
    猜你喜欢
    • 2015-07-31
    • 1970-01-01
    • 2019-04-20
    • 2016-07-18
    • 2018-11-27
    • 2019-12-19
    • 2016-11-15
    • 2017-08-23
    • 2018-01-17
    相关资源
    最近更新 更多