opencv - 无限循环: Haar, LBP,opencv的HOG traincascade卡住了

标签 opencv face-detection haar-classifier cascade-classifier

我正在尝试构建一个分类器来检测热图像中的人脸。所以我尝试使用 Haar、LBP 和 HOG 分类器进行训练。我在 Windows 上使用 OpenCV 2.4.8。

opencv_traincascade.exe -data haarcascades -vec pos.vec -bg neg.txt -numPos 250 -numStages 24 -numNeg 900 -w 24 -h 24

我总共有 307 个阳性样本。负样本的大小为 75x75。对于这三种情况中的每一种,训练都停留在特定阶段——Haar 较早(第 12 阶段),LBP 较晚(第 14/15 阶段)。我减少了底片的数量(最多 200 个),但这意味着训练会在后期停滞不前。自 2 天以来,培训没有进展。没有底片被消耗,命令窗口看起来像这样 -

===== TRAINING 14-stage =====
<BEGIN
POS count : consumed   255 : 262

还有

  • 消耗的 POS 计数和消耗的 NEG 计数表示什么?
  • 当我将 minHitRate 降低到 0.7 时,为什么消耗的 POS 数量会增加?

请让我知道我做错了什么。 谢谢。

最佳答案

我自己也遇到过类似的问题。问题是每个阶段的分类器都会采用那些在前一阶段被分类为正例的负例。所以发生的事情是没有一个负样本被归类为正样本,代码进入无限循环试图找到一个。我通过更改源代码解决了这个问题,这样算法在找不到任何负面示例并仅使用分类器的前几个阶段后终止。 如果您不想更改代码,请尝试添加更多反例或减少阶段数。

关于opencv - 无限循环: Haar, LBP,opencv的HOG traincascade卡住了,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22440647/

相关文章:

python - 如何使用 OpenCV 网络摄像头视频和其他 wx 组件(在同一框架/面板内)创建 wxPython 框架?

ios - 相机人脸检测

opencv - 有没有办法使用 haar 级联从检测到的对象获取所有坐标?

python - 通过Python从图像中提取椭圆形食物盘

python - 为什么从 OpenCV python 示例中读取图像会给出错误,而在 C++ 中却没有给出错误?

javascript - 是否可以在 Javascript 中使用 OpenCV 或类似的库?

opencv - OpenCV在iOS上可以检测到哪些面部部位?

opencv - 使用 OpenCV 检测写在白板上的符号

opencv - 使用 Haar Cascade 的正负图像的大小

python - 如何使用 cv2.im 显示大尺寸图像?