OpenCV Traincascade.exe在没有输出的情况下崩溃

OpenCV Traincascade.exe crashes without output

本文关键字:输出 情况下 崩溃 Traincascade exe OpenCV      更新时间:2023-10-16

这是我第一次尝试使用 opencv 的级联训练机制。我正在基于一个正图像和 3 个负图像的小图像集来尝试这个。我遵循了官方opencv文档的说明。

负片图像由描述文件引用bg.txt

Negative/t1.jpg
Negative/t2.jpg
Negative/t3.jpg

负片图像具有不同的大小(都在"1920 x something"像素范围内)。

正图像用于生成矢量文件

opencv_createsamples.exe -img Positive/p1.jpg -num 5000 -w 100 -h 60 -show -vec vecFile.vec

到目前为止,一切都没有错误。我猜矢量文件vecFile.vec不可读是正常的,因为它存储了 5000 张图像。

当我现在想通过以下方式应用级联训练时

opencv_traincascade.exe -data TrainData/ -vec vecFile.vec -bg bg.txt -w 100 -h 60 -npos 10 -nneg 10
程序

崩溃而没有任何输出("程序已停止工作")。知道为什么会这样吗?我忘记了一些重要参数吗?

我使用的是Windows 10和opencv 3。

当我去年尝试训练级联时,我遇到了同样的问题。我发现它非常耗费内存,所以如果你使用以你写的大小(-w 100 -h 60)采样的5000张图像,你的电脑可能会内存不足(或其他事情,如堆大小限制)。在我看来,火车级联将所有示例数据放在 RAM 中进行训练。

您可能需要尝试更小的大小,例如您提到的文档示例 -w 24 -h 24,并少量增加,直到您获得合适的大小但没有崩溃。

相关文章: