[图像] sift特征

第一步:构造原始图像尺度空间

    利用高斯滤波,通过改变方差来得到不同尺度的图像。

    ,一般取模板中心坐标为(0,0)构造滤波矩阵。方差越大越模糊,一般来说距离为的权重为0

 

第二步:构造高斯差图像

    将相邻尺度的图像相减,构造高斯差图像。得到的结果提取出了边界信息。

    这里构建的应该是高斯-差分金字塔模型,也就是不断隔行隔列下采样,先构造出金字塔模型,再进行作差,得到DOG金字塔。

 

第三步:搜索极值点

    对于金字塔某一层,在高斯差尺度空间中,对于某个像素点,在其邻域空间(26个临接点)中搜索极大(小)值。(这里的邻域空间是由相邻的尺度图像叠加构成的)

 

第四步:去噪

    去除对比度小的点和边缘的点(DOG边缘效应较强)。其中极值点的精确定位涉及到了比较复杂的插值法,边缘效应消除的方法也比较麻烦。应该不会做考试要求。

 

第五步:方向表示

   

    计算每个极值点的方向和梯度,把极值点方向规整到8bin的方向中,也就是得到左、右、上、下、左上、左下、右上、右下8个方向的直方图,反正切函数的值域为[-pi/2,pi/2],将其规整到[0,2pi]

    得到的结果是很多个箭头,箭头的方向是极值点的方向,长度是极值点的梯度。

 

第六步:sift特征向量

    对于每个极值点,取以它为中心16*16的窗口,再把窗口划分为164x4的子块,在每个子块中,先计算每个像素点的梯度方向,把它们放入对应的bin中,每个bin的值为这些像素点的梯度模的和,再将和乘以当前极值点的,乘以1.5,每个bin就得到一个大小,每个子块得到8个值。

    一共得到了16X8 = 128个值,它们组成了极值点的sift特征向量。

你可能感兴趣的:([图像] sift特征)