gpt4 book ai didi

OpenCV - LBP Traincascade 无法通过第 0 阶段的预计算,但 HAAR 工作正常?

转载 作者:太空宇宙 更新时间:2023-11-03 20:41:15 28 4
gpt4 key购买 nike

我运行 opencv_traincascade,但我从未达到阶段 0 的预计算时间。

编辑:我的问题似乎与 LBP 训练有关。我将 featureType 更改为 HAAR,下面的分类器在几分钟内完成了训练

编辑:预计算时间以秒为单位,因此在第 0 阶段,您应该看到它在 10 秒内达到预计算,但我看到它长达 40 秒。预计算时间可能从一个阶段到另一个阶段稳步增加,然后在后期突然急剧增加到半小时(如果你正在处理数千个样本,甚至可能比这更长,但我还没有到那一步)

(我将继续更新这篇文章,填充我已经理解的东西,这些东西阻止我理解预先计算,并且可能会找出为什么 HAAR 训练会起作用而 LBP 不起作用。它可能只需要查看启动阶段循环的源代码)

问题

我运行 opencv_traincascade,但我从未达到阶段 0 的预计算时间。

我使用的是 2014 年购买的 MacBook Air。

Processor 1.3 GHz Intel Core i5
Memory 4 GB 1600 MHz DDR3
Graphics Intel HD Graphics 5000
Software OS X 10.9.4 (13E28)

我的终端看起来像这样,并且在我的事件监视器中运行了大约 390%(真的吗?)的 CPU 和 4 个线程。

===== TRAINING 0-stage =====
<BEGIN
POS count : consumed x : x
NEG count : acceptanceRatio y : 1

虽然我已经尝试创建许多分类器,但为了分享我们都可以涉及的东西,我将引用一个汽车检测教程,因为我得到相同的结果不管它是否是我自己的训练或不。此培训师已发布,我看到其他人引用过它,所以我认为它有效。

https://www.youtube.com/watch?v=WEzm7L5zoZE

在我的桌面上我有:

在 cars.info 文件夹中包含相对文件路径和信息 (1 0 0 100 40) 的 pos 文件夹;
包含负样本的 neg 文件夹的相对路径的 bg.txt 文件;
一个名为“data”的空数据文件夹;
正样本的 cars.vec 文件。我可以查看矢量文件和图像。

原来100x40有550个正样本,用createsamples创建vec文件后是48x24

100x40有500个负样本

这里是createsamples命令,供引用:

opencv_createsamples -info cars.info -num 550 -w 48 -h 24 -vec cars.vec

然后我运行以下命令:

opencv_traincascade -data data -vec cars.vec -bg bg.txt -numPos 500 -numNeg 500 -numStages 2 -w 48 -h 24 -featureType LBP

PARAMETERS:
cascadeDirName: data
vecFileName: cars.vec
bgFileName: bg.txt
numPos: 500
numNeg: 500
numStages: 2
precalcValBufSize[Mb] : 256
precalcIdxBufSize[Mb] : 256
stageType: BOOST
featureType: LBP
sampleWidth: 48
sampleHeight: 24
boostType: GAB
minHitRate: 0.995
maxFalseAlarmRate: 0.5
weightTrimRate: 0.95
maxDepth: 1
maxWeakCount: 100

无论我尝试训练什么,这是我从未见过的达到 LBP 预计算的输出;我如何尝试更改样本大小、图像分辨率、minHitRate 或降低 numPos。

===== TRAINING 0-stage =====
<BEGIN
POS count : consumed 500 : 500
NEG count : acceptanceRatio 500 : 1

请询问我未能提供的任何信息。我道歉。

我读到过有关培训师陷入无限循环的报道,并且需要修改源代码。但是,我希望可以避免这种情况,因为这似乎对其他人(至少对作者)有用。

感谢大家在过去的所有问题和答案中帮助我完成各种编码项目。

最佳答案

我以前遇到过这样的问题。我解决的办法是把precalcValBufSize和precalcIdxBufSize的值分别设置为0和0。LBP好像预计算不行。但是,将它们设置为 0 后效果很好。LBP 的训练过程比 Haar 快得多。

关于OpenCV - LBP Traincascade 无法通过第 0 阶段的预计算,但 HAAR 工作正常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25477841/

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