gpt4 book ai didi

c++ - traincascade 训练面部痣检测器

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:50:37 24 4
gpt4 key购买 nike

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

我使用了 150 张正面图像(人脸图像),其中每张图像包含几颗痣,总共(所有 150 张图像)包含 1452 颗痣;此信息妥善保存在 positive.txt 文件中。我还使用了 1015 张没有痣的皮肤区域负片,这些信息被妥善保存在 negative.txt 文件中。

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

createsamples.exe -info positive.txt -vec positive.vec -w 3 -h 7

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

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

traincascade.exe -data result\-vec positive.vec -bg negative.txt -numStages 20 -nsplits 1 -minhitrate 0.998 -maxfalsealarm 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.

我不知道会发生什么。请帮助我...

最佳答案

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

您可能还需要考虑您的 -numStages 参数。你会过度训练你的分类器,因为你只有 150 个阳性。检查这个link有关 traincascade 参数的更多详细信息。

另外,通过运行命令“createsamples.exe -info positive.txt -vec positive.vec -w 3 -h 7”,你会得到一个包含 150 个样本而不是 1000 个样本的 vector 。

关于c++ - traincascade 训练面部痣检测器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29681374/

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