opencv-SIFT

图像尺度空间-SIFT

1.尺度空间的获取通常使用高斯模糊来实现

L ( x , y , σ ) = G ( x , y , σ ) ∗ I ( x , y ) L(x,y,\sigma)=G(x,y,\sigma)*I(x,y) L(x,y,σ)=G(x,y,σ)I(x,y)

G ( x , y , σ ) = 1 2 π σ 2 e x 2 + y 2 2 σ 2 G(x,y,\sigma)=\frac{1}{2\pi \sigma ^{2} } e ^{\frac{x^2+y^2}{2\sigma ^2}} G(x,y,σ)=2πσ21e2σ2x2+y2

不同sigma的高斯函数决定了对图像的平滑程度,越大的sigma值对应的图像越模糊。

2.多分辨率金字塔

3.高斯差分金字塔(DOG)

D ( x , y , σ ) = [ G ( x , y , k σ ) ∗ I ( x , y ) − G ( x , y , σ ) ∗ I ( x , y ) ] = L ( x , y , k σ ) − L ( x , y , σ ) D(x,y,\sigma)=[G(x,y,k\sigma)*I(x,y)-G(x,y,\sigma)*I(x,y)]=L(x,y,k\sigma)-L(x,y,\sigma) D(x,y,σ)=[G(x,y,kσ)I(x,y)G(x,y,σ)I(x,y)]=L(x,y,kσ)L(x,y,σ)

4.DoG空间极值检测

为了寻找尺度空间的极值点,每个像素点要和其图像域(同一尺度空间)和尺度域(相邻的尺度空间)的所有相邻点进行比较,当其大于(或者小于)所有相邻点时,该点就是极值点。

5.关键点的精确定位

候选关键点是DOG空间的局部极值点,而且这些极值点均为离散的点,精确定位的一种方法是,对尺度空间DoG函数进行曲线拟合,计算其极值点。

6.消除边界响应

Hessian矩阵。 令 α = λ m a x 为 最 大 的 特 征 值 , β = λ m i n 为 最 小 的 特 征 值 令\alpha = \lambda max 为最大的特征值, \beta = \lambda min 为最小的特征值 α=λmaxβ=λmin
论文中的 γ = 10 \gamma = 10 γ=10 假设 α β > 10 的 特 征 点 将 被 删 除 \frac{\alpha}{\beta} > 10的特征点将被删除 βα>10

7.特征点的主方向

每 个 点 L ( x , y ) 的 梯 度 的 模 m ( x , y ) 以 及 方 向 θ ( x , y ) 每个点 L(x,y) 的梯度的模m(x,y)以及方向\theta(x,y) L(x,y)m(x,y)θ(x,y)

m ( x , y ) = [ L ( x + 1 , y ) − L ( x − 1 , y ) ] 2 + L ( x , y + 1 ) − L ( x , y − 1 ) ] 2 m(x,y)=\sqrt{[L(x+1,y)-L(x-1,y)]^2 + L(x,y+1)-L(x,y-1)]^2} m(x,y)=[L(x+1,y)L(x1,y)]2+L(x,y+1)L(x,y1)]2

θ ( x , y ) = a r c t a n L ( x , y + 1 ) − L ( x , y − 1 ) L ( x + 1 , y ) − L ( x − 1 , y ) \theta (x,y) = arctan \frac{L(x,y+1)-L(x,y-1)}{L(x+1,y)-L(x-1,y)} θ(x,y)=arctanL(x+1,y)L(x1,y)L(x,y+1)L(x,y1)

每个特征点可以得到三个信息 ( x , y , σ , θ ) (x,y,\sigma, \theta) (x,y,σ,θ) 即位置、尺度和方向。具有多个方向的关键点可以被复制成多份,然后将方向值分别赋给复制后的特征点,一个特征点就产生了多个坐标、尺度相等,但是方向不同的特征点。

8.生成特征描述

在完成关键点的梯度计算后,使用直方图统计领域内像素的梯度和方向

为了保证特征矢量的旋转不变性,要以特征点为中心,在附近领域内将坐标轴旋转theta角度,即将坐标轴旋转为特征的主方向

旋转之后的主方向为中心取8x8的窗口,求每个像素的梯度幅值和方向。箭头方向代表梯度方向,长度代表梯度幅值,然后利用高斯窗口对其进行加权运算,最后在每个4x4的小块上绘制8个方向的梯度直方图,计算每个梯度方向的累加值,即可形成一个种子点,即每个特征由4个种子点组成,每个种子点有8个方向的向量信息。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值