3

我需要训练一个级联分类器来检测车辆和不同的视角。我正在使用 OpenCV。

我需要捕捉的一些角度导致图像中车辆的放置是对角线的,如下所示:

在此处输入图像描述

现在的问题是,由于车辆对角放置在图像上,所以有很多不必要的背景,我不能仅仅因为图像必须是矩形而裁剪掉。是否有另一种方法可以为对象的对角放置的角度/视角构建正样本?我确实需要分类器能够识别对象的这个特定视图。在上面的汽车中并没有那么糟糕,因为汽车的长度和宽度之间没有太大的差异。但是,如果我对一辆卡车做同样的事情,它的长度是宽度的几倍,那么图像最终的背景比它们感兴趣的对象要多,如下所示。我担心这对分类是好是坏,以及是否有任何解决方案。

无论车辆在背景上以哪种方式旋转,分类器都会识别出车辆的特定角度吗?在这种情况下,最好旋转整个卡车图像,使卡车水平/垂直,然后剪辑图像的其余部分?

在此处输入图像描述

4

1 回答 1

6

问:无论车辆在背景上以哪种方式旋转,分类器都会识别车辆的特定角度吗?

答:没有。无论车辆以何种方式旋转,分类器都无法识别车辆的特定角度。(在这里谈论类似 Haar 的特征)。有一个概念是为了引入倾斜的 45° Haar-like 特征来提高“维度”,这在我过去读过的研究论文中非常成功。

也有尝试引入通用的旋转 haar 特征,但从我的记忆来看几乎没有成功。但是,如果您要使用超高分辨率图像,它很可能会起作用。但我不会赌钱。

问:你的整个问题

A:正图像样本中的背景不一定会严重影响检测。根据具体情况,它实际上可能有助于您的检测。

我的解决方案(如果你真的必须使用分类器),至少对于基于图像的检测,是利用 OpenCV rotate() 函数。您将图像从 1° 旋转到 360°(每次可能 10°)并每次都继续应用分类器。检测时间可能会稍微长一些,但我认为不会超过几秒钟。

对于视频而言,如果我没记错的话,那将是超级滞后。如果时间允许,一定要试一试。

我想提出的另一件事是您的车辆(如卡车和汽车)具有非常不同的功能。如果我是你,我会将它们分成不同的分类器并同时运行它们以进行车辆检测(之前使用 3 个不同的分类器完成它,眼睛、手和面部的实时结果)。

如果您打算将它们训练成一个分类器,它可能会或可能不会起作用,因此请务必考虑我的建议以确保安全。

您可能还想查看以下链接:http ://docs.opencv.org/modules/objdetect/doc/latent_svm.html (分类器更常用于对象检测。我一直使用haar,所以没有经验这个分类器。对不起)

http://www.araa.asn.au/acra/acra2006/papers/paper_5_63.pdf(基于旋转,与我的回答有点矛盾。但我坚持认为,如果图像的分辨率不够高,可能很多舍入错误。)

希望我的回答对你有所帮助。祝你好运(:如果您需要更多帮助或有任何不清楚的地方,请发表评论。

于 2014-01-29T02:35:00.850 回答