我正在尝试创建训练样本(并随后训练分类器)。我对在创建样本和traincascade中使用的-h
和-w
参数感到困惑。我看到的例子通常使用较小的值,但我的训练图像(负面和正面)明显更大(480x640),我训练的对象通常占据图像的75-100%。似乎这些参数不是询问图像的大小(它可以简单地从图像中拉出),但我怀疑它也不是要求图像中对象的大小。如果我不得不猜测(我宁愿不这样做),较大的尺寸可能会带来更好的检测精度,但会增加训练期间的计算量。
有人可以描述这些参数究竟意味着什么吗?我见过的大多数例子都使用24x24的默认值或40x40以上的默认值,但就我所见,它的值绝不会高得多。
答案 0 :(得分:8)
这些小图像值是您想要训练分类器的正面(对象)。真实帧中的对象可能具有任意大小,因为级联分类器适用于图像的各种比例。
Here是一个很好的教程,在我训练自己的分类器时帮助了我。用于训练的裁剪图像可能会更大,但是当您运行createsamples
时,您需要指定正面纹理缩放的大小。这些新的微小样本是用于分类器的样本。这也影响了级联分类器的速度,这就是它们通常很小的原因。
如果我没有弄错的话,背景图片的尺寸可能会更大,但我记得我还在剪裁我的小块背景图片。
当您使用真实的640x480数据运行分类器时,您可以指定正数可以具有的最小大小限制(当然这个值应该至少 -w -h的大小你之前指定的)以及最大预期大小。
haar探测器将仅搜索测试图像中可以大小的窗口范围内的对象。