2017-02-09 73 views
0

在我的项目中,我试图将行李与其他任何东西(通常是人类)区分开来。针对行李检测的OpenCV和SVM培训

目前,我使用OpenCV和SVM两种训练方法,一种使用行李箱,另一种使用人类。在注入帧之前,我将它们转换为灰度,但我不应用其他滤镜。预测的结果不是很准确。

我想知道如果在训练之前对框架应用额外的过滤器可能会给出更好的结果。例如轮廓检测。如果轮廓接近“矩形”,那么它就是一件行李,否则就是“别的东西”。我也在考虑切换到ONE_CLASS方法。

您认为如何?或者你有更好的想法?

Regards,

Julien。

+0

你对'**近似矩形作为行李**'的建议是一个很好的开始。然后你可以执行**异常检测** –

+0

那么用黑网训练你自己的物体探测器怎么办?看看这个:http://pjreddie.com/darknet/yolo/ – yildirim

+0

轮廓可能不会是一个可行的想法在这种情况下。你有没有尝试微调[SVM参数](http://docs.opencv.org/2.4/doc/tutorials/ml/introduction_to_svm/introduction_to_svm.html)?如果通过在很大范围内改变它们不会改变结果,那么可以选择更好的/强大的功能。 –

回答

0

经过多少考虑后,我认为异常检测是最好的方法。自从您提到ONE_CLASS method后,我就明白了。

假设行李在图像中为矩形形状,您对“任何接近矩形的东西都是行李”的建议也是一种可行的方法。因此,你只有一个班'行李'。

正如术语所暗示的,“异常检测”用于检测不符合特定模式的对象。换句话说,它用于检测异常值(与数据集中存在的对象不同的对象)。

既然你只是强调行李,我认为这种做法是最好的。

如果遇到任何问题,您可以尝试其他方法。

0

所以矩形近似法似乎符合我的要求。我还没有测试过很多图像,所以我不能100%确定我会去做。与往常一样,也有例外:当行李的颜色接近背景的颜色时,结果不准确。有没有办法扩大两种接近颜色之间的差异?

Regards,

Julien。