我找到了 this关于创建您自己的 haar 分类器级联的教程。
这向我提出了一个问题:运行 HaarTraining 和创建您自己的分类器(与使用 OpenCv 提供的级联相对)有什么优势(如果有的话)?
Haar 或 LBP 级联分类器是用于检测或刚性物体的常用技术。所以训练自己的级联有两个要点:
OpenCV 附带的级联并未涵盖所有可能的对象类型。因此,如果您要创建面部检测应用程序,则可以使用 OpenCV 级联之一,但如果您需要检测例如狗,则没有现成的级联。
OpenCV 的级联很好,但不是最好的。这是一项具有挑战性的任务,但可以训练一个具有更高检测率并产生更少误报和漏报的级联。
还有一个重要的评论:教程中使用的 haartraining 应用程序现在被 OpenCV 团队视为已弃用。 opencv_traincascade
是较新的版本,它有 2 个重要特性:支持 LBP 特性和支持多线程 (TBB)。典型的区别如下所示
haartraining + singlecore > 一个分类器 3 周。
一个分类器的 traincascades + multicore < 30 分钟。
但最糟糕的是,我不知道有什么好的教程可以解释 opencv_traincascade
的用法。参见 this thread了解详情。
我是一名优秀的程序员,十分优秀!