局部图像描述子
1.Harris角点检测器
角点检测算法:如果像素周围显示存在多于一个方向的边,我们认为该点为兴趣点,该点就称为角点。图像域中点x上的对称半
正定矩阵Ml,选择权重矩阵W(通常为高斯滤波器),可以得到卷积:Ml'=Ml*W。该卷积的目的是得到Ml在周围像素上的局部
平均。W的宽度决定了在像素x周围的感兴趣区域。Harris矩阵Ml'的特征值有三种情况:
(1)两个特征值均为很大的正数,则该点x是角点。
(2)一个很大,一个近似为0,则该区域内存在一个边,该区域的平均Ml的特征值不会变化很大
(3)两个特征值均近似为0,则该区域内为空
角点之间的间隔必须大于设定的最小距离。
补充:
xxx.T是对矩阵xxx进行转置操作
zeros()函数:生成零矩阵,例如:zeros(m,n)生成一个m*n的零矩阵
ones()函数:生成全1矩阵,参数规则与zeros()相同
nonzero()函数:参数为数组,范围数组中不为0的参数下标,以元组的形式返回
2.在图像间寻找对应点
兴趣点描述子:是分配给兴趣点的一个向量,描述该点附近的图像的表观信息。描述子越好,寻找的对应点越好。(对应点:相
同物体和场景点在不同图像上形成的像素点)
Harris角点的描述子通常是由周围图像像素块的灰度值,以及用于比较的归一化互相关矩阵构成的。
3.SIFT——尺度不变特征变换
SIFT特征包括兴趣点检测器和描述子。SIFT描述子具有非常强的稳健性。SIFT特征对于尺度、旋转和亮度都具有不变性。
SIFT特征使用高斯差分函数来定位兴趣点,兴趣点是在图像位置和尺度变化下的最大值点和最小值点。
SIFT描述子采用主方向描述参考方向,主方向使用方向直方图来度量。
SIFT描述子在每个像素点附近选取子区域网络,在每个子区域内计算图像梯度方向直方图。每个子区域的直方图拼接起来可以组
成描述子向量。
SIFT是具有很强稳健性的描述子。
hstack()函数:通过拼接不同的行向量来实现水平堆叠两个向量的功能。
4.匹配描述子
对于将一幅图像中的特征匹配到另一幅图像的特征,一种稳健的准则是使用这两个特征距离和两个最匹配特征距离的比率。
使用该方法可以使错误的匹配率降低。
补充:
linalg.norm()函数:可以衡量两个数组间的差异,即求矩阵的范数