2011-09-29 97 views
1

我知道最常见的对象检测涉及Haar级联,并且有很多用于特征检测的技术,如SIFT,SURF,STAR,ORB等......但是如果我的最终目标是承认物体不是两种方式最终都会给我相同的结果?我理解在简单的形状和模式上使用特征技术,但对于复杂的对象,这些特征算法似乎也可以工作。特征检测和对象检测的区别

我不需要知道它们在功能上的差异,但是不管它们中的一个是否足以排除另一个。如果我使用Haar级联,是否需要打扰SIFT?何必?

感谢

编辑:我的目的,我想实现在广泛类的东西物体识别。这意味着任何形状类似杯子的杯子都将被拿来作为杯子的一部分。但我也想指定实例,这意味着纽约杯将作为纽约杯的一个实例。

+0

您是否熟悉分类算法是如何工作的?我看到它的方式,特征检测仅仅是对象检测的一部分。看到我的答案。 –

+0

@PeterO。你知道涉及我提到的检测技术的物体检测技术吗?据我所知,哈尔并没有参与其中。或者,这些功能更强大的检测功能仅限于开发人员自行整合机器学习功能吗? – mugetsu

回答

4

对象检测通常由两个步骤组成:特征检测和分类。 在特征检测步骤中,收集待检测对象的相关特征。 这些功能被输入到第二步,分类。 (就我所知,甚至可以使用Haar级联可以使用 进行特征检测。)分类包括算法 ,如神经网络,K最近邻居等等。分类的目标是找出 了解检测到的特征是否与要检测的对象 具有的特征相对应。分类一般属于机器学习的领域。例如,人脸检测是对象检测的一个例子。

1

通常,对象是要素的集合。功能往往是一个非常低级的原始事物。一个对象意味着将对场景的理解转移到下一个层次。

一个功能可能像一个角落,一个边缘等,而一个对象可能像书,盒子,桌子。这些对象全部由多个特征组成,其中一些特征可能在任何给定的场景中可见。

+0

那么人们使用功能检测功能是什么?指定对象的实例? – mugetsu

+0

所以为了我的目的,你会说对象检测可以用于实例定义,并且可以使用特征检测来定义类?我知道哈尔在特定对象方面非常擅长,但在定义一个广泛的类时很不好。使用特征检测不应该能够找到同一类中的对象的共同特征,然后将它们确定为同一类? – mugetsu

0

不变性,速度,存储;有几个理由,我能想到我的头脑。另一种方法是保留完整的图像,然后检查给定的图像是否与数据库中的玻璃图像相似。但是,如果你有一个压缩的玻璃表示,它将需要较少的计算(因此更快),将需要较少的存储空间,并且这些功能会告诉你图像之间的不变性。

您提到的两种方法基本上都是相同的,只是略有不同。在哈尔的情况下,你检测到哈尔特征,然后你提高它们以增加信心。 Boosting不过是一个元分类器,它巧妙地选择将所有Harr特征包含在最终的元分类中,以便能够提供更好的估计。另一种方法,或多或少都是这样做的,除了你有更复杂的功能。主要区别在于,您不直接使用boosting。您倾向于使用某种分类或聚类,例如MoG(混合高斯)或K均值或其他启发式来聚类数据。您的群集很大程度上取决于您的功能和应用程序。

什么会在你的情况下工作:这是一个棘手的问题。如果我是你,我会和哈尔玩耍,如果它不起作用,会尝试其他方法(obs:>)。请注意,您可能想要分割图像并给出某种边界来检测眼镜。