繁体   English   中英

为OpenCV中的级联训练构建旋转图像的正样本

[英]building positive samples for rotated images for cascaded training in OpenCV

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

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

在此输入图像描述

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

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

在此输入图像描述

问:分类器是否会识别车辆的特定角度,而不管它在背景上的旋转方式?

答:没有。 无论旋转方式如何,分类器都无法识别车辆的特定角度。 (在这里谈论类似Haar的特征)。有一个概念被创建用于引入倾斜的45°Haar样特征来改善“维度”,这在我过去读过的研究论文中非常成功。

还有一种尝试引入通用的旋转类似haar的功能,但它几乎没有成功记忆。 但是,如果您打算使用超高分辨率图像,它可能会起作用。 但我不会赌钱。

问:对你的整个问题

答:正图像样本中的背景可能不一定严重影响检测。 从案例到案例,它实际上可能有助于您的检测。

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

对于视频方面,如果我没有错,那将是超级滞后的。 如果时间允许,请试一试。

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

如果您打算将它们训练成一个分类器,它可能会也可能不会起作用,所以请注意我的建议是安全的。

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

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

希望我的回答能帮到你。 祝你好运(:如果你需要帮助或任何事情都不清楚,请发表评论。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM