- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有两个数据集:第一个是 340 张大小为 440x200 的图像,每张图像上都有大小在 9x10 像素和 25x15 像素之间的对象。我有一组大约 570 张大小为 440x200 的负片。我使用这些参数进行训练:-numPos 250 -numNeg 22000 -w 10 -h 10 --numStages 24 --minHitRate 0.995 -maxFalseAlarm -maxDepth 20 -maxWeakCount 600 -mode ALL
我根据之前标记的图像创建了我的集合。
我还尝试了 -numPos 320 和 300。第一次它在 4 阶段 (-numPos 320) 以错误“阳性样本计数不足”结束。我用 -numPos 300 在同一个级联上重新运行训练。它给了我另一个阶段并因同样的错误而失败。第三次我选择 -numPos 250 并且它落在 2 Stage 并且 FalseAlarmRate 在 1 Stage 是 0!但在第二阶段 0.028。
所以我很乐意听到有关这方面的任何建议,但我的问题是:用这些小的正样本集训练级联是不可能的?但即使在第一阶段,它也会给我非常小的 FalseAlarmRate。所以它可以成为一个很好的分类器?
最佳答案
对于你的第一个问题:-
目前尚不清楚实际需要每种图像的数量。它也真的取决于你想要检测的对象,它到底有多复杂。不过也有可能,我们举个例子,这个网站实验用了40个正样本和600个负样本,http://coding-robin.de/2013/07/22/train-your-own-opencv-haar-classifier.html .
但是,越是复杂的物体,我想你会需要训练更多的正负图像。如果我没记错的话,大约 3 到 4 年前我做的一个手部检测项目,需要大约 800 多张正图像,几乎是负图像的 2 倍,然后我的 friend 和我对检测率感到满意。
基本上,训练的图像越多,对象检测就越准确。
你的第二个问题:
您必须注意的一件事是分类器的误报率至少与检测率一样重要。通常当一对一误报率没有严格控制时,整体分类器是无法使用的。
另请注意,在大多数情况下,误报错误率大于检测错误率,这使得误报率成为设计分类器时难以最小化的标准。
尝试通过以下方式理解:- http://www.uic.edu/classes/idsc/ids572cna/Model%20evaluation.pdf另一个更容易理解和学习如何用更多文本训练分类器: http://note.sonots.com/SciSoftware/haartraining.html
所以当你问:“即使在第一阶段,它也给我非常小的 FalseAlarmRate。所以它可以成为一个很好的分类器?”,我的回答是为什么不呢?
此外,如果可能,请尝试将负面图像增加到正面图像的两倍。这是我一直在做的事情。
希望我的回答对您有所帮助。祝你好运。如果有任何问题,请随时发表评论。
关于opencv - 我需要关于我的训练集的 opencv_traincascade 参数的建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19312017/
我知道这已经被要求死了,但我已经跟踪了每个链接和解决方案,但都无济于事。我用 10 个原始正图像训练一个级联,并从每个图像创建 200 个样本。我有 544 张底片。根据这个:How to train
我尝试使用 opencv_traincascade.exe,但它在我启动它几秒钟后崩溃了。以下是我的处理方式: 我首先使用以下方法创建正样本: opencv_createsamples -info i
我正在尝试使用 OpenCV 的 opencv_traincascade 生成 Haar Cascade。到目前为止,我有 87 个独特的阳性样本和 39 个阴性样本用于测试目的。我用 opencv_
我在训练我的级联分类器 opencv_traincascede 时遇到了一些问题。它无法正常工作。前一阶段需要 12 分钟才能完成,但在第 20 阶段它给出: ===== TRAINING 20-st
这些是我在命令行中传递的参数: opencv_traincascade -data car_data -vec cars.vec -bg neg.txt -numPos 8792 -numNeg 89
我使用 OpenCV 的 haartraining 的旧实现已经有一段时间了。现在,在最终迁移到 OpenCV 2.3 之后,我想知道如何像我对旧实现所做的那样设置参数。据我所知,还没有关于 open
我有两个数据集:第一个是 340 张大小为 440x200 的图像,每张图像上都有大小在 9x10 像素和 25x15 像素之间的对象。我有一组大约 570 张大小为 440x200 的负片。我使用这
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 8 年前。 Improve this qu
我的目标是训练级联来识别骰子的特定面。 我有 106 个非生成的样本,由 opencv_createsamples 转换为 vec 文件(名为 dice1.vec ),参数为 -w 32 -h32 。
我在使用 opencv_traincascade 时遇到了一些问题,这可能会追溯到早期的方法调用,但我不是 100% 确定。 opencv_traincascade -data classifier
所以我一直在玩弄 opencv 最新的 LBP 级联训练器,但我一直遇到无限循环。我相信原因可能是我有限的负面(背景)图像集造成的。但是程序不应该陷入无限循环......我设法确定了无限循环的位置并对
我在创建 haar 分类器时遇到了一些麻烦。我需要建立一个分类器来检测汽车。目前我用 python 编写了一个读取图像的程序,我在对象所在的区域周围绘制了一个矩形,绘制矩形后,它会输出图像名称、矩形的
正如我在之前的帖子 here 中所解释的那样,我正在尝试生成一些 cascade.xml 文件来识别要在我的 iOS 应用程序中使用的欧元硬币。无论如何,我在理解如何生成 .vec 文件以作为 ope
为什么当我使用 opencv_traincascade.exe 时加载负样本(40 * 40)太慢?加载一个负样本可能需要 1-2 分钟。 最佳答案 这不仅仅是在这段时间内加载单个负样本,而是仍被归类
我在 mac os x 10.7.5 上使用通过 macports 安装的 opencv 2.4.4 和 python 2.7.5。 我想训练一个级联来寻找男性正面。但是我收到了 terminate
到目前为止我尝试过的... opencv_createsamples -info positive/positive.txt -vec positive.vec -w 100 -h 100 -num
我是一名优秀的程序员,十分优秀!