【问题标题】:Creating Haar Cascade from images shows error从图像创建 Haar Cascade 显示错误
【发布时间】:2020-03-02 22:55:03
【问题描述】:

我想为车牌创建自己的 haarcascade。我找到了一个名为 Cascade-Trainer-GUI 的 GUI,它可以做到这一点。我正在使用 Windows 10。 您可以从这里下载 gui:

http://amin-ahmadi.com/cascade-trainer-gui/

我有两个包含正面和负面图像的文件夹。大约有 650 张正面图像和 570 张负面图像。

当我运行程序时,它会在几秒钟内完成,但我没有得到 cascade.xml 文件。 我得到 .txt 文件,并在该 txt 文件的末尾显示:

OpenCV Error: Insufficient memory (Failed to allocate 1357715212 bytes) in cv::OutOfMemoryError, file D:\cv\opencv_3.2.0\sources_withTextModule\modules\core\src\alloc.cpp, line 52

我已按照文档进行操作,并在 youtube 上观看了一些视频,但我不知道我做错了什么。

这些是我尝试训练级联时我的 PC 的性能:

我试图清理我的磁盘空间并关闭所有其他程序,以便增加我的 RAM 内存,但我仍然遇到同样的错误。

我试图将缓冲区大小从 1024 减少到 256。在这种情况下,它开始工作,但在 5-6 个样本(10 分钟)后它显示错误Insufficient Count of Samples,我试图减少最大特征的参数数量100% 到 70%,但我在同一时间后得到同样的错误。

你可以从这里下载图片,我已经把它们分为正面和负面:

https://www.sendspace.com/file/uo18pu

你知道我做错了什么吗,我应该怎么做才能解决这个问题? 我应该在这个 gui 中选择哪些参数?

另外,是否有某种应用可以在线创建 haar 级联?

【问题讨论】:

    标签: python opencv haar-classifier


    【解决方案1】:

    我相信你的问题是由于用于训练的图像块的大小。在最初的 Violaj-Jones 论文中,他们使用了 20x20 像素的补丁,从而产生了超过 180,000 个特征。为了在级联的每个阶段找到最佳特征集,boosting 算法必须在每次迭代中找到最佳特征/阈值组合(弱分类器是感知器)。这涉及计算具有 M 个可能阈值的 N 个特征的熵,其中 M 与训练图像的数量一致。然后在每次boosting迭代中需要MxN个内存空间。假设这个程序在内部使用浮点精度,那么每次提升迭代大约需要 MxNx4 字节的内存。在您的情况下,对于 20x20 图像块,这只有 180000x(119+114)x4=167,760,000 字节,即大约 0.16 GB,但如果训练块的大小更大或者如果您使用的基本特征比原始的 Violaj-Jones 论文大(在本文中,基本特征的集合是 4,但还有另一个称为 haar-like 的集合)。然后,我相信你需要配置训练图像块的大小。

    【讨论】:

    • 因为我使用的是车牌图像,我将“样本宽度设置为 85”和“样本高度设置为 28”(矩形),负片图像大多是平方的,但它们的高度从 100 到 1000 不等。 toy 可以告诉我我应该怎么做才能使这项工作,如何配置训练图像块的大小?
    • 是否应该将所有负片图像转换为相同尺寸,例如 100x100 或 200x200?
    • 我建议使用另一种算法来检测车牌,例如 hought-transform。无论如何,如果您决定尝试使用 haar 级联,请选择 LBP 特征并使用不大于 24x24 像素的训练补丁,否则您将需要大量 RAM。
    • 我有 8gb 内存,够吗?另外,如果我使用 LBP 功能,Python 和 OpenCV 中的编码过程是否与使用 haar 级联相同?
    • 特征集 N 随着您用于训练的补丁的大小而增长。如果您想对 HxW 大小窗口进行近似计算,请点击以下链接 (stackoverflow.com/questions/40198217/…),他们在其中以数字方式执行计算(使用可以在 python 或 C++ 中实现的简单代码)。然后,您计算 NXMX4,这将为您提供所需的 RAM 量。
    猜你喜欢
    • 2020-09-23
    • 2018-02-04
    • 2020-05-11
    • 1970-01-01
    • 2011-09-19
    • 2017-12-13
    • 1970-01-01
    • 2011-11-08
    • 2013-03-21
    相关资源
    最近更新 更多