4. 去除低对比度的特征点
如果在DoG图像的当前像素的灰度幅值小于一个特定值,这个点就被抛弃。实际中,我们计算在位移 的 泰勒二次展开式,如果它的值小于0.03,则该点被抛弃,否则保留,且最终的位置为 ,尺度为t,其中 是尺度为t的关键点的原来位置(即步骤3最先找出的点)。
5. 去除边上的点
DoG函数容易得到边上的点,而这些点可能对即使是小数量的噪声也无法保持健壮性。因此,为了提高稳定性,我们要去除那些对图像表示没有帮助,却对边反应强烈的点。
我们的想法是在关键点上计算两个方向上的梯度。两个方向相互垂直。根据关键点周围的图像,存在三种可能性。
    一个平坦的区域: 这种情况下,两个梯度值都很小。
    边上:这种情况下,其中的一个梯度(与边垂直的那个)会很大,而另一个(与边平行)会很小。
    一个角上:这种情况下,两个梯度的值都会很大。
其中,在角上的点是理想的点,所以我们想要的只是角上的点。如果两个梯度值都足够大,我们就把它当成一个关键点。否则,就把该点抛弃。
理论上,这个步骤是通过计算DoG函数的二次Hessian矩阵实现的,这里不再赘述。
6. 为关键点确定主方向
为关键点确定主方向是SIFT具有旋转不变性的很重要的一个过程。我们的想法是在关键点周围统计相应的梯度方向及幅值。之后再找到该区域中最主要的一个方向,把它作为关键点的方向。之后的所有计算都以此方向为基准。这样就保证了旋转不变性。
梯度的幅值和方向是用下面两个公式计算的:
 
之后,我们用一个直方图来统计关键点周围所有像素的幅值和方向。在该直方图中,360度被分成了36个“桶”(每个桶包括10度)。例如,得到一个点是18.97度,那就把它放到10-19这个“桶”中,而加到该“桶”上的量与这个点的幅值成比例。对所有的点完成上述操作后,直方图在某些点上会出现峰值,如下图,峰值出现在20-29间,因此,关键点的方向为3(第三个桶)。
另外,每个高于峰值80%的桶都将独立生成一个新的关键点,新点的位置与原先的点相同,但方向与新的峰值相同。
上一篇:UML客户关系管理系统的设计与实现
下一篇:典型地物光谱库系统设计与实现

基于android的环境信息管理系统设计

基于激光超声检测金属材...

基于MOODLE平台的在线交互式学习设计

基于离散事件系统Petri网模型的可达图研究

基于高斯过程动态模型的时序数据恢复方法

基于深度学习的目标识别算法研究

MATLAB基于流形学习与神经网络的预测建模

压疮高危人群的标准化中...

浅谈高校行政管理人员的...

提高教育质量,构建大學生...

浅论职工思想政治工作茬...

基于Joomla平台的计算机学院网站设计与开发

STC89C52单片机NRF24L01的无线病房呼叫系统设计

上海居民的社会参与研究

酵母菌发酵生产天然香料...

AES算法GPU协处理下分组加...

从政策角度谈黑龙江對俄...