【问题标题】:opencv_traincascade crash without explanationopencv_traincascade 崩溃没有解释
【发布时间】:2016-11-03 19:54:32
【问题描述】:

我尝试使用 opencv_traincascade.exe,但在我启动它几秒钟后它就崩溃了。我是这样进行的:

我首先使用以下方法创建正样本:

opencv_createsamples -info info.txt -vec vecFile.vec -bg neg.txt -num 100 -w 100 -h 100
  • info.txt 有 116 行,都是这样的:

    图像路径 1 0 0 100 100

    只是文件的名称在不同的行中发生了变化,但所有图像的大小都是 100*100(我正在研究干细胞的高分辨率图片,因此在 25*25 的图像中,我想我不会有足够的信息来检测我在寻找什么)

  • neg.txt 包含 715 行,仅包含文件路径

成功创建了 100 个样本

然后我开始训练:

opencv_traincascade -data Cascade -vec vecFile.vec -bg neg.txt -numPos 10 -numNeg 20 -numStages 2 -featureType HAAR -w 100 -h 100

然后我收到以下错误消息:

opencv_traincascade.exe has stopped working

没有别的了。

知道发生了什么吗?

谢谢

【问题讨论】:

  • 您是否创建了文件 vecFile.vec 和文件夹 Cascade ?
  • vecFile.vec 是使用 opencv_createsamples 创建的,所以是的。是的,我还创建了 Cascade 文件夹

标签: opencv computer-vision


【解决方案1】:

发生这种情况是因为您选择了窗口大小。用于训练分类器的内存 traincascade.exe 会随着窗口大小呈指数增长,并且很少有家用计算机可以在 traincascade 中处理 100x100 窗口大小。..

做这个练习:打开你的任务管理器并监控开始训练时内存使用量的增长,你会注意到程序在无法分配更多内存时崩溃。 要解决此问题,您确实必须选择较小的窗口大小。

【讨论】:

  • 我只是按照你的建议进行了监控,但它并没有使用我电脑的所有 RAM,或者它运行得太快我什至看不到它......我会尝试使用更小的窗口来见
  • 您可以使用参数 -precalcValBufSize 1024 和 -precalcIdxBufSize 1024。如果您愿意,可以增加数字,但您需要将值设置为低于 RAM 容量。
猜你喜欢
  • 1970-01-01
  • 2015-12-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-25
  • 2012-07-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多