图像处理ORB特征学习笔记(1)

关键点:

使用Harris角点检测寻找FAST关键点。初始时,选取低阀值,使获取的关键点数目大于N。再根据Harris测量,为关键点排序,选取测量值高的N个点做关键点。Harris角滤波器丢弃边缘。

由于FAST没有尺度不变性,因此,做尺度金字塔,在每层金字塔上生成FAST特征。

用质心法分析角方向(主方向)。

根据Rosin定义距:

质心:

方向

patch半径为r,x、y区间为[r,-r]。

描述子:

对关键点使用BRIEF算法:

1,对图像使用积分平滑处理(31*31像素上选取5*5子窗口);

2,在特征点附近选取patch,用高斯分布采样方式,选取n对点对(n取256);

3,比较点对:

4,获得一个n位二进制串,即BRIEF描述子;

BRIEF在平面旋转特性上表现差。改进方法:用关键点方向引导BRIEF。

将n对点对组成矩阵:

patch主方向θ及方向矩阵,构建

其中

重新求得BRIEF,即可获得steered BRIEF,即根据关键点方向“引导“的BRIEF。

然而steered BRIEF方差小,相关度高,区分能力差。为恢复steered BRIEF方差,ORB学习了一种新的方法:

1,建立一个300 000关键点的训练集,每个关键点选取31*31的patch;

2,选取5*5子窗口,共有N=(31-5+1)*(31-5+1)个字窗口,用5*5的平均强度代替单点强度;

3,选取点对,共有M=N*(N-1)/2种可能性;

4,300 000个关键点全部运行后,形成300 000*M矩阵,计算每一列平均值;

5,M个平均值按到0.5距离排序,将对应的列向量放入到T中;

6,将T中第一个列向量放入R中;

7,取T中下一列,与R中元素比较相关性。高于阀值,丢弃;否则,添加到R中;

8,重复7,直到R中有256列为止;若小于256,提高阀值,再次搜索。

R中的行元素,就是每个patch对用的256个点对。以上结果,我们称为rBRIEF。


你可能感兴趣的:(OpenCV)