Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 串级串级串级串级串级串级串级串级串级串级串级串级串级串级串级串级串级串级串级串级串级串级串级串级串级串级串级串级串级串级串级串级串级串级串级检测器_C++_Opencv - Fatal编程技术网

C++ 串级串级串级串级串级串级串级串级串级串级串级串级串级串级串级串级串级串级串级串级串级串级串级串级串级串级串级串级串级串级串级串级串级串级串级检测器

C++ 串级串级串级串级串级串级串级串级串级串级串级串级串级串级串级串级串级串级串级串级串级串级串级串级串级串级串级串级串级串级串级串级串级串级串级检测器,c++,opencv,C++,Opencv,我正在使用createsamples.exe和traincascade.exe训练面部痣检测器 我使用了150张正面图像(面部图像),每张图像包含几个摩尔,总共(所有150张图像)包含1452摩尔;此信息保存在positive.txt文件中。我还使用了1015张没有痣的皮肤区域的负片图像,这些信息恰好保存在negative.txt文件中 为了创建阳性样本,我执行了以下命令行: createsamples.exe-info positive.txt-vec positive.vec-w3-h7 成

我正在使用createsamples.exe和traincascade.exe训练面部痣检测器

我使用了150张正面图像(面部图像),每张图像包含几个摩尔,总共(所有150张图像)包含1452摩尔;此信息保存在positive.txt文件中。我还使用了1015张没有痣的皮肤区域的负片图像,这些信息恰好保存在negative.txt文件中

为了创建阳性样本,我执行了以下命令行:

createsamples.exe-info positive.txt-vec positive.vec-w3-h7

成功创建了1000个样本的正向量;我使用w=3和h=7,因为正面图像中标记的痣和负面图像中的皮肤区域非常小

然后,在为最终训练检测器执行此命令行后:

traincascade.exe-数据结果\-vec positive.vec-bg negative.txt-numStages 20-nsplits 1-最小命中率0.998-最大虚警0.5-numPos 150-numNeg 1015-w 3-h 7

我得到了这个:

PARAMETERS:
cascadeDirName: result\
vecFileName: positive.vec
bgFileName: negative.txt
numPos: 150
numStages: 20
precalcValBufSize[Mb] : 256
precalcIdxBufSize[Mb] : 256
stageType: BOOST
featureType: HAAR
sampleWidth: 3
sampleHeight: 7
boostType: GAB
minHitRate: 0.995
maxFalseAlarmRate: 0.5
weightTrimRate: 0.95
maxDepth: 1
maxWeakCount: 100
mode: BASIC

===== TRAINING 0-stage =====
<BEGIN
POS count : consumed   150 : 150
Train dataset for temp stage can not be filled. Branch training terminated.
Cascade classifier can't be trained. Check the used training parameters.
参数:
名称:结果\
vecFileName:positive.vec
bgFileName:negative.txt
numPos:150
数字:20
预制尺寸[Mb]:256
precalcIdxBufSize[Mb]:256
舞台类型:助推
特征类型:哈尔
样本宽度:3
样本高度:7
boostType:GAB
最低税率:0.995
最大错误报警率:0.5
重量比率:0.95
最大深度:1
最大值:100
模式:基本
====培训0级=====

您需要减少-numPos参数。-numPos参数应小于.vec文件中的正数总数。尝试将其设置为130

您可能还需要考虑您的NoMePrimes参数。你将过度训练你的分类器,因为你只有150个积极因素。有关traincascade参数的更多详细信息,请查看此项


另外,通过运行命令“createsamples.exe-info positive.txt-vec positive.vec-w 3-h7”,您将得到一个150个样本的向量,而不是1000个。

似乎您的
negative.txt
格式不正确,因为
traincascade.exe
输出消耗的正片,但负片不输出。负面示例的路径应该与
traincascade.exe
的目录相关。

我遇到了与您之前相同的问题。我的问题是负面例子的路径。这是我的解决方案。我把文件“neg.txt”放在与“opencv_traincascade.exe”相同的路径上。所有的例子都放在一个名为“neg”的文件夹中。在“neg.txt”文件中,我指出了相对路径,如下所示。 希望可以帮助有同样问题的人

neg/image1.png
neg/image2.png
neg/image3.png
...

它说训练参数有问题。检查opencv的文档,可能分类器的大小是问题或分类器的数量(或格式)samples@Nikos问题是我没有找到太多关于traincascade的文档。我一直在网上关注一些很好的例子,所以。。。我不知道错误在哪里…为什么这个标签是C++?更好的是,为什么它在StackOverflow上?输入命令行不是编程。我投票结束这个问题,因为它与编程无关。这是关于运行一个程序的。可能是你的negative.txt有问题。你确定在negatives.txt中正确指定了负片样本的路径吗?我有一个haar文件夹,其中包含:createsamples.exe、traincascade.exe、负片和正片文件夹,其中包含相应的图像,Positive.txt(每行有类似的内容:Positive/img1.jpg 2 132 143 10 20 201 300 6 11)negative.txt(每行都有类似的内容:negative/nimg1.jpg),运行cretesamples.exe的cascade.xml和positive.vec结果的空结果文件夹。我从haar文件夹执行命令行…我认为这不是路径问题。。。