SIFT中尺度的概念

        好久没有碰sift了,对于尺度空间也忘得差不多,重新温习了一下,想到哪写到哪

        尺度空间是SIFT非常重要的概念,SIFT的特点也就在于特征的尺度的连续性,当然这个连续性是打引号的,它还是离散的,但是比起图像金字塔这种相邻尺度比例为2的来说,它要连续得多,至于有多连续,就看你自己在每个octave中设置多少个level了,不妨设构建的高斯金字塔有o个octave,每个octave有S个level,每一层第一幅的尺度为delta0,有

        

         这样每个层与层之间的scale相对就连续了一些,相邻两个octave的同一层之间的尺度为两倍关系。

         下一个octave的第一幅图像是由前一个octave的倒数第二幅图像降采样而来的,这样保持了尺度的一致性,说得更明白一点,设当前octave的第一幅图像的尺度是delta,那么当前octave的最后一幅图像和下一个octave的第一幅图像的尺度都是2*delta。

         这里的尺度是通过高斯模糊实现的,由于对一幅图像进行多次连续高斯模糊的效果与一次更大的高斯模糊可以产生同样的效果,大的高斯模糊的半径是所用多个高斯模糊半径平方和的平方根,所以我们认为,高斯模糊的效果是可以累加的。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
SIFT(尺度不变特征变换)算法是一种基于局部特征的图像匹配算法,它可以在不同的尺度和旋转角度下提取出关键点,并对这些关键点进行描述,从而实现图像的匹配。其中,多尺度多分辨率是SIFT算法的核心思想之一。 SIFT算法通过构建高斯金字塔来实现多尺度空间的特征提取。具体来说,它首先对原始图像进行高斯模糊,然后对模糊后的图像进行下采样,得到一系列不同尺度的图像。这些图像构成了高斯金字塔。接着,对每个尺度的图像进行差分,得到一系列差分金字塔。在差分金字塔中,每个层次都对应一个尺度,每个尺度都对应一个高斯核的大小。通过对差分金字塔进行极值检测,可以得到关键点。 在SIFT算法中,还有一个重要的概念是特征描述子。对于每个关键点,SIFT算法会在其周围的邻域内提取出128维的特征向量,用于描述该关键点的特征。这些特征向量可以用于匹配不同图像之间的关键点。 下面是SIFT算法多尺度多分辨率的Python实现示例: ```python import cv2 # 读取图像 img = cv2.imread('image.jpg') # 构建高斯金字塔 G = img.copy() gp = [G] for i in range(6): G = cv2.pyrDown(G) gp.append(G) # 构建差分金字塔 lp = [gp[5]] for i in range(5, 0, -1): GE = cv2.pyrUp(gp[i]) L = cv2.subtract(gp[i-1], GE) lp.append(L) # 在差分金字塔中检测极值点 keypoints = [] for i in range(1, 5): for j in range(1, 5): for k in range(len(lp)): if is_extremum(lp[k], i, j): keypoints.append((i, j, k)) # 提取关键点的特征描述子 descriptors = [] for x, y, s in keypoints: descriptor = extract_descriptor(lp[s], x, y) descriptors.append(descriptor) ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值