gpt4 book ai didi

Opencv traincascade 无法填充临时阶段

转载 作者:行者123 更新时间:2023-12-02 16:56:10 27 4
gpt4 key购买 nike

所以,我有 20 个正样本和 500 个负样本。我使用 createsample 实用程序创建了 .vec 文件。现在,当我尝试使用 traincascade.exe 实用程序训练分类器时,遇到以下错误:
enter image description here

我研究了许多解决方案,这些解决方案是为面临类似问题的人提供的,但都没有奏效。

我尝试过的事情: 1. 增加负样本大小 2. 检查存储在 Negative.txt 文件中的负(或背景图像)的路径 3. 改变不同的参数。

以下是有关路径的一些信息: 我的工作目录包含以下文件: 1. Traincascade.exe 2. 正图像文件夹 3. NegativeImageFolder 4. vec 文件 5. Negative.txt(具有负图像文件夹中图像路径的文件)

我的 Negative.txt 文件具有负图像文件夹中图像的绝对文件路径。我还尝试将文件路径更改为以下格式:

NegativeImageFolder\Image1.pgm

但没有用!我也尝试了正斜杠和反斜杠!

我已经用完了更改文件路径或进行任何修改以使其工作的方法!

最佳答案

首先:NumStages 1 和 maxDepth 1 是故意的吗?
查看Opencv的源代码(cascadeclassifier.cppimagestorage.cpp),在函数中抛出错误

bool CvCascadeClassifier::updateTrainingSet( double& acceptanceRatio)

无法填充负样本数 negCount=500。
以前,阳性样本一切正常(屏幕上打印的关于 pos 计数的行就是证明)。
当 imgReader.getNeg(img) 返回 false 时,无法填充源代码 negCount,这意味着它无法提供任何图像,而当源底片列表为空时,就会发生这种情况。
因此,您必须将所有精力集中在为算法提供正确的负面图像列表的方向上。
有两种方法可以解决这个问题:确保读取 Negative.txt 并且所有路径都是规则的,并且列表中的每个图像都可以被定期读取。
文件名是“Negative.txt”还是“Negatives.txt”?

无论如何,正负样本如此之少,您将无法训练任何功能,只有让您了解训练过程的工作原理才有用。

关于Opencv traincascade 无法填充临时阶段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34076508/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com