2

我接近1000张图片,我想用它作为opencv的正样本,用于cascadedtrainer。Opencv创建样本实用程序:做紧包围盒取代未取出的图像的正面样本?

我读过这个优秀的教程:http://note.sonots.com/SciSoftware/haartraining.html,以及此:http://www.computer-vision-software.com/blog/2009/11/faq-opencv-haartraining/,但我无法决定如何处理createsamples实用程序的-w和-h参数以及裁剪我的图像的想法。

我有很多背景内容的大图像[1300x600],因此实际上需要由级联分类器检测的对象通常需要大约10%的图像。

是否有必要裁剪图像,然后使用OpenCV的creates样本工具? 或者我是否可以省略裁剪部分,因为无论如何,正样本的描述文件包括x和y坐标以及围绕感兴趣对象的边界框的高度和宽度。我很困惑,因为我在某处读到“太多背景”会毁掉表演。当一个人已经为图像内的物体指定了紧密的边界框时,是否会出现“太多背景”的情况?

我在这里的主要问题是时间,我想避免手动裁剪1000个图像,如果它不会最终伤害分类器的性能。


编辑

我确实是有点裁剪和这里的路我的样品看起来平均分布:

car1car2car3car4car5car6car7

回答

3

你不需要调整或剪裁样本,但需要使用注释工具在foll中创建正样本列表欠款格式:

path_to\sample1.png 1 10 10 20 22 
path_to\sample2.png 2 10 10 20 22 40 40 30 33 
... 

这照顾你所关心的所有问题。根据您的示例,创建此文本文件可能会耗费时间。

正面样本边界框内的太多背景可能会影响模型中弱分类器的有效性,但它可能会或可能不会在分类器模型的最终级联中很重要。所有你应该关心的是创建好的正面样本,尽可能精确地捕捉物体在边界框内。这意味着:具有

  1. 在相同的相对位置到其相应的边界框的右上角每个样品,并且具有相同的对象宽度/边界框的宽度比所有样品

换句话说,尝试将所有对象置于边界框中,并为所有对象添加相同的“百分比”填充,以便当它们被cropample修剪并调整大小时,它们全都看起来像类似的位置和大小。

+0

谢谢!尽管我为一些图像做了一些修剪,看看它可能有多高效......我编辑了我的问题以添加这些图像。你可以看一下吗?我只是想知道这些图像是否符合“精确边界框”的两个条件?如果不是,并且如果使用注释工具手动绘制边界框实际上是一个更好的选择,那么我想知道 - 我们不可能将事情正确地对准像素,对吧?所以我猜如果在手动注释中,边界框的大小略有不同,只要它们大致相同就可以了。 – user961627

+0

使用级联分类器,您的目标应该是匹配所有样本的特定特征,以使它们或多或少出现在与边界框相同的相对位置。例如,汽车的轮胎必须位于您所有样品的某个位置。这样,培训计划可以更轻松地找到这些常见功能。 – Bee

+0

同样需要边界框的宽高比是多少?如果我们关闭几个像素,分类器是否非常敏感? – user961627

相关问题