首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何利用变尺寸原始图像块训练SVM?

如何利用变尺寸原始图像块训练SVM?
EN

Stack Overflow用户
提问于 2016-11-12 16:22:43
回答 1查看 755关注 0票数 0

我想训练一个分类器来区分“带武器的人”和“没有武器的人”。武器可以包含任何武器,如左轮手枪或突击步枪。

我有照片里有武器的包围盒。图像大小不一。

我想做什么?

利用武器包围盒坐标获取的原始图像块训练SVM分类器。对于“没有武器的人”,我要把完整的原始图像作为特征向量传递给SVM。

限制:

每个包围盒都有不同的大小,这意味着一个不同大小的武器。我不能对这些包围盒使用主成分分析,因为我认为这可能会导致信息丢失,因为在images.Some包围框中有3种不同大小的武器,几乎覆盖了整个图像。因此,首先,我必须缩小图像和包围框,因为否则我的记忆耗尽,如果我采取整个图像的PCA。

问题:

如何利用可变大小的特征向量训练SVM?换句话说,我如何使所有相同大小的特征向量不丢失信息?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-12 18:28:11

因为您有可变大小的补丁,所以有几种方法可以使用支持向量机处理这些补丁的分类。这些都有它们的优点和缺点,所以你必须决定你认为什么是最好的。考虑到您已经决定选择一个大小为M x N的补丁,以便将图像提交到支持向量机中进行分类,您可以尝试以下两种方法之一:

调整输入图像修补程序的大小

对于测试时的每个图像,调整它们的大小,使它们都与M x N的大小相匹配,然后通过支持向量机分类管道来确定该图像属于哪个类。这样做的优点是,您正在丢失的唯一信息是由于在对图像进行次采样时丢失的信息。但是,缺点是,如果图像小于M x N的目标补丁大小,则在过采样时将引入虚假信息以匹配目标补丁大小。这种事情以前就有过,特别是在深度学习中。具体来说,Region Proposal Networks by Ren et al.首先看一下大图像中哪些补丁是候选对象或值得在图像中查看的东西,然后调整大小以匹配输入层到他们的神经网络(卷积btw)中,然后继续进行分类。

在多尺度上搜索补丁

另一种方法是保持图像大小不变,但使用M x N的补丁大小,做一个滑动窗口方案,其中您提取重叠补丁的大小M x N,提交到您的支持向量机,然后为每个重叠补丁的每个中心,确定该补丁的类别将是什么。您可以在多个尺度上这样做,然后有一个投票过程,在整个图像中最常见的类是感兴趣的类。在Semenet et al. for their Overfeat classification engine中也可以看到类似的现象--也使用卷积神经网络。这样做的好处是,您不会丢失任何信息,因为在对对象进行分类时,您正在使用所有(如果不是大多数)图像信息。缺点是所需的计算时间--特别是,缩放的数量、窗口之间的重叠量和补丁大小本身都是您需要确定的超参数,以获得最优的性能。此方法还假定扫描时修补程序的大小小于所述图像。您必须认识到并选择小于培训数据集中最大图像的修补程序大小。

如果我能推荐..。

因为你在做图像分类,在分类和测试时速度最好的算法是卷积神经网络。我会考虑看看这些,而不是使用SVMs来提高性能。首先,看一看AlexNet pipeline by Krizhevsky et al.作为一个开始。这是一项开创性的工作,以及如何将卷积神经网络放在计算机视觉任务的地图上,如分类、检测等。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40564956

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档