OpenCV Haar 分类器被杀死

标签 opencv computer-vision object-detection haar-classifier viola-jones

我正在尝试训练 Haar 分类器,但是在 Stage 2 期间它停止并显示消息 Killed

PARAMETERS:
cascadeDirName: classifier
vecFileName: samples.vec
bgFileName: negatives.txt
numPos: 500
numNeg: 964
numStages: 10
precalcValBufSize[Mb] : 2048
precalcIdxBufSize[Mb] : 2048
stageType: BOOST
featureType: HAAR
sampleWidth: 80
sampleHeight: 40
boostType: GAB
minHitRate: 0.999
maxFalseAlarmRate: 0.5
weightTrimRate: 0.95
maxDepth: 1
maxWeakCount: 100
mode: ALL

Stages 0-1 are loaded

===== TRAINING 2-stage =====
<BEGIN
POS count : consumed   500 : 500
NEG count : acceptanceRatio    964 : 0.182992
Precalculation time: 49
+----+---------+---------+
|  N |    HR   |    FA   |
+----+---------+---------+
|   1|        1|        1|
+----+---------+---------+
|   2|        1|        1|
+----+---------+---------+
|   3|        1|        1|
+----+---------+---------+
|   4|        1|        1|
+----+---------+---------+
|   5|        1|  0.56639|
+----+---------+---------+
Killed

我用来运行的命令如下:

opencv_traincascade -data classifier -vec samples.vec -bg negatives.txt  -numStages 10 -minHitRate 0.999 -maxFalseAlarmRate 0.5 -numPos 500-nonsym -mem 512  -numNeg 964 -w 80 -h 40 -mode ALL -precalcValBufSize 2048  -precalcIdxBufSize 2048

这是什么原因造成的?

注意:我正在按照给出的教程 here 进行操作(用不同数量的不同对象替换图像)。

最佳答案

减少opencv_traincascade命令中的宽度和高度使程序正确运行。

您的 -w 80 -h 40 可能对您的 PC 来说太高了。推荐大小应为 -w 24 -h 24

我注意到在执行命令时硬盘驱动器的使用率很高,除非它被终止。也许我们的硬盘不够快。

关于OpenCV Haar 分类器被杀死,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26972154/

相关文章:

python - python/opencv:如何通过给定图像上的点识别循环?

android - OpenCV无法为ARM64目标构建(Android)

Windows CE OpenCV 性能

algorithm - 如何有效地分割图像?

opencv - 无法从 L/R 对获得正确的立体声

google-cloud-platform - 无法在 Google Cloud Vision 对象检测中开始训练,训练测试验证未拆分

python - Tensorflow Object Detection API 中的预测数量限制

opencv - 不确定如何训练 ML 模型来识别静态图像

image - 如何将图像重新缩放为标准尺寸?

pytorch - 如何避免在推理过程中得到重叠的关键点?