特征检测和对象检测之间的差异

mug*_*tsu 2 opencv object-detection feature-detection

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

我不需要知道它们如何运作的区别,但是否有一个足以排除另一个.如果我使用Haar级联,我是否需要打扰SIFT?何必?

谢谢

编辑:为了我的目的,我想在广泛的事物上实现对象识别.这意味着任何形状与杯子形状相似的杯子都将作为杯子的一部分被拾取.但我也想指定实例,这意味着NYC杯将被作为NYC杯的实例.

Pet*_* O. 5

对象检测通常包括两个步骤:特征检测和分类.

在特征检测步骤中,收集要检测的对象的相关特征.

这些功能输入到第二步,分类.(据我所知,甚至Haar级联也可以用于特征检测.)分类涉及诸如神经网络,K最近邻等算法.分类的目的是找出检测到的特征是否对应于要检测的对象将具有的特征.分类一般属于机器学习领域.

例如,面部检测是对象检测的示例.

编辑(2018年7月9日):

随着深度学习的出现,具有多个隐藏层的神经网络得到了广泛应用,使得相对容易看到特征检测和对象检测之间的差异.深度学习神经网络由两个或多个隐藏层组成,每个隐藏层专门用于手头任务的特定部分.对于从图像中检测对象的神经网络,较早的层将低级特征排列到多维空间(特征检测),后面的层根据在多维空间(对象)中找到这些特征的位置对对象进行分类.检测).Wolfram博客文章"启动Wolfram神经网络存储库"中提供了对此类神经网络的精彩介绍.