过程:
- 1.尺度空间建立及极值点搜索(初步搜索);
- 2.关键点精确定位:直线拟合使得关键点精确定位(x,y, σ σ )、消除边缘响应;
初步搜寻特征点后,得到特征点的层数,像素坐标(x,y),方向(文中分为18或36个离散方向)
1. SIFT算法具的特点
- (最重要)图像的局部特征,对旋转、尺度缩放、亮度变化保持不变,对视角变化、仿射变换、* 遮挡*、噪声也保持一定程度的稳定性。
- 独特性好,信息量丰富,适用于海量特征库进行快速、准确的匹配。
- 多量性,即使是很少几个物体也可以产生大量的SIFT特征
- 高速性,经优化的SIFT匹配算法甚至可以达到实时性
- 扩招性,可以很方便的与其他的特征向量进行联合。
2.尺度空间
人不管物体离得远还是近,都能对它进行仔细辨认,这就是尺度不变性。
然而计算机要有相同的能力却不是那么的容易,在未知的场景中,计算机视觉并不能提供物体的尺度大小,其中的一种方法是把物体不同尺度下的图像都提供给机器,让机器能够对物体在不同的尺度下有一个统一的认知。在建立统一认知的过程中,要考虑的就是在图像在不同的尺度下都存在的特征点。
2.1 高斯拉普拉斯与高斯差分
Laplace算子作为一种优秀的边缘检测算子,在边缘检测中得到了广泛的应用。该方法通过对图像 求图像的二阶倒数的零交叉点来实现边缘的检测,公式表示如下:
由于Laplace算子是通过对图像进行微分操作实现边缘检测的,所以对离散点和噪声比较敏感。于是,首先对图像进行高斯卷积滤波进行降噪处理,再采用Laplace算子进行边缘检测,就可以提高算子对噪声和离散点的鲁棒性。当然,实际上是先对高斯算子进行拉普拉斯求导,再对其进行卷积操作(类似于先积分后求导和先求导后积分)。如此,拉普拉斯高斯算子Log(高斯拉普拉斯(Laplace of Gaussian)):
参见高斯拉普拉斯算子
由于x方向和y方向上的高斯拉普拉斯的指数部分一样,所以既可以分别计算x,y方向的高斯拉普拉斯,也可以一起计算,这就是高斯拉普拉斯的线性可分。
于是一副二维图像的尺度空间定义为:
高斯卷积核是实现尺度变换的唯一线性核。原始像素的值有最大的高斯分布值,所以有最大的权重,相邻像素随着距离原始像素越来越远,其权重也越来越小。这样进行模糊处理比其它的均衡模糊滤波器更高地保留了边缘效果。
(x,y)是空间坐标,是尺度坐标。σ大小决定图像的平滑程度,大尺度对应图像的概貌特征,小尺度对应图像的细节特征。大的σ值对应粗糙尺度(低分辨率),反之,对应精细尺度(高分辨率)。但是其运算量过大,通常可使用DoG(差分高斯,Difference of Gaussina)来近似计算LoG[Marr and Hidreth]。
设k为