【发布时间】:2016-10-05 07:02:45
【问题描述】:
我将所有正样本的大小调整为相同的大小,因此负样本的大小应该与正样本的大小相同。
【问题讨论】:
-
您指的是滑动窗口中车辆的相对大小吗?
-
没有。负面图像不包含车辆。我的问题是图像大小是否应该相同。
标签: opencv computer-vision object-detection cascade-classifier
我将所有正样本的大小调整为相同的大小,因此负样本的大小应该与正样本的大小相同。
【问题讨论】:
标签: opencv computer-vision object-detection cascade-classifier
通常,使用对象检测时,您会在图像上滑动固定大小的搜索窗口,从而产生特征响应。然后分类器将响应与经过训练的模型进行比较,并报告两者的接近程度。我们依赖于相同类型的对象会产生相似的特征响应这一事实。因此,您希望每个滑动窗口中的正数据大小相同,否则响应将不同,您将无法获得良好的匹配。
当您在负面数据上进行训练时,您正在向分类器提供通常没有任何共同点的响应示例,这就是算法学习划分数据的方式。图像的大小并不重要,因为您将使用相同的滑动窗口。重要的是该窗口捕获的数据 - 它应该代表您将在运行时使用的数据。我的意思是滑动窗口不应该包含太多或太少的细节。你真的不想拍一张全景照片,把它缩小到 320x240,然后在上面训练。您的滑动窗口将捕获太多信息。拍摄场景的较小子集并将其放大到 1280x960 也是如此。现在信息太少了。
话虽如此,但在现实世界中,事情既复杂又简单。你会遇到大小不一的物体;因此,您需要能够以不同的规模处理它们。因此,您的分类器应该在多个尺度上进行搜索,从而使图像大小无关紧要。请记住,重要的是滑动窗口内的内容。并且:垃圾进=垃圾出。确保您的数据看起来不错。
编辑:http://docs.opencv.org/2.4/doc/user_guide/ug_traincascade.html 但每张图像都应该(但不一定)大于训练窗口大小,因为这些图像用于将负图像子采样到训练大小。
【讨论】: