图像金字塔除了sift算法之外还有什么应用
发布网友
发布时间:2022-04-30 04:29
我来回答
共1个回答
热心网友
时间:2023-10-12 18:50
尺度空间的目的是『见森林又能见树木』,墨迹一点的解释就是,在低尺度下可以看清楚很多细节,在高尺度下可以看到轮廓。
在目标检测领域,图像中的物体通常很可能是远近不一,大小不一的,可以利用金字塔来检测不同尺度下的物体。但同时你也可以使用不同大小的sliding window在原图上做检测。
在SIFT提取的时候,因为template上的局部特征跟目标图像上的实际特征可能存在尺度上的差异,使用尺度空间是为了达到『尺度不变性』。我觉得前不久出来的DSP-SIFT其实也是进一步利用尺度空间来构造更强的descriptor的例子。
在一些边缘检测算法里面,为了忽略比较弱的边,也会利用尺度空间来进行降采样(对,高斯滤波大部分时候被理解成某种去噪/平滑操作,其实也是尺度空间思想)。
在一些基于特征的分类和识别问题里面,也有尺度空间的影子。比如基于高维LBP的人脸识别,其中LBP直方图的提取方式就蕴含有尺度空间的思想。
尺度空间的想法其实非常直观(当然证明它为什么那样构造可能会比较费事),但是因为尺度空间的构造和操作往往也是算法里面比较费时的地方,所以针对性的优化也应该说一下。
比如前面说的目标检测,有些情况下目标的变化尺度范围实际上是非常有限的,此时应该适当的设定尺度的数量,来减少不必要的计算量。比如你可以只降采样三次,你也可以降采样八次,去最上面的三个尺度。后者的好处是……快。
比如OpenCV里SIFT的实现默认是上采样一次,降采样至无法再缩小为止。很多时候你其实不需要这么精细的特征点或这么high level的特征点,也许稍微改一下参数就可以优化一些速度回来。这里也需要提一下SURF的反向模拟尺度空间的思路,跟上面提到的高维LBP的思路如出一辙。
在点特征里面,有时候你希望你的点在整个尺度空间里都是很强的,不是那种在最开始还是一个比较强的特征点,尺度高了之后这个特征点就消失了。你希望你只处理那些从始至终都比较坚挺的特征点,那你就可以在金字塔的顶层提取特征点,然后只是在下面的层进行局部搜索验证……这样你可以一边提取着非常鲁棒的descriptor,一边还快如闪电……
视觉里面很多看似直观且简单的东西往往有层出不穷用法,除了这金字塔,还有比如直方图,比如二值化,比如卷积,比如积分图,比如距离变换……等等等等。虽然都不是什么高级的东西,一但用到巧处,也耐人寻味啊。