【问题标题】:OpenCV: How to improve accuracy of eyes detection using Haar Classifier Cascade?OpenCV:如何使用 Haar Classifier Cascade 提高眼睛检测的准确性?
【发布时间】:2013-03-02 11:34:03
【问题描述】:

我有一个应用程序使用 Haar 级联来检测从摄像机捕获的图像中的眼睛。使用的方法是:

void CascadeClassifier::detectMultiScale(const Mat& image, vector<Rect>& objects, double scaleFactor=1.1, int minNeighbors=3, int flags=0, Size minSize=Size(), Size maxSize=Size())

这在默认值scaleFactorminNeighborsflags 下工作得很好,但有些人的眼睛无法检测到。所以我想提高眼睛检测的准确性。似乎“级联分类器训练”并创建自定义级联分类器是一个很好的解决方案,但在这样做之前

是否可以通过调整方法中的一些参数来提高检测精度?请进一步解释scaleFactorminNeighborsflags 的含义,因为cascadeclassifier-detectmultiscale 文档中的那些含义对我来说不是很清楚。谢谢。

【问题讨论】:

    标签: c++ opencv object-detection


    【解决方案1】:

    scaleFactor 参数用于确定函数将寻找多少不同大小的眼睛。通常该值为 1.1 以获得最佳检测。将此参数设置为 1.2 或 1.3 会更快地检测眼睛,但不会经常发现它们,这意味着准确度会下降。

    minNeighbors 用于告诉检测器在检测到眼睛时他应该有多确定。通常此值设置为 3,但如果您想要更高的可靠性,您可以将其设置得更高。更高的值意味着更低的准确性,但更高的可靠性

    这些标志用于设置特定的偏好,例如寻找最大的对象或跳过区域。默认此值 = 0。设置此值可以加快检测速度

    【讨论】:

    • 这个答案实际上比我在网上找到的任何其他在线文档中记录得更好
    • 我通过实验发现,具有较低的 minNeighbor 会更频繁地找到这些特征。 (精度较低)
    • 图像调色板或色彩空间怎么样?哪一个最适合 Haar 眼睛检测?全彩还是灰度? RGB、LAB、YCrCb、HSV?
    猜你喜欢
    • 2020-03-05
    • 2012-08-27
    • 1970-01-01
    • 2016-10-06
    • 1970-01-01
    • 2011-05-02
    • 1970-01-01
    • 1970-01-01
    • 2023-03-25
    相关资源
    最近更新 更多