The invention discloses a method for describing SIFT key points based on hardware optimization, which includes the following steps: generating gradient information by comparing look-up tables to generate gradient information at each level of scale; using four ring structures to statistics SIFT key points neighborhood information, generating gradient information histogram, and weighting phase thereof. The main direction is found, and each gradient information histogram is cyclically shifted according to the main direction, and the histogram is merged into a 64-dimensional descriptor and normalized. The method improves and optimizes the SIFT image matching algorithm from three aspects: gradient calculation, descriptor generation and domain rotation, so that it can be better implemented on the hardware of the FPGA without changing the original SIFT descriptor sub-scale and rotation.
【技术实现步骤摘要】
基于硬件实现优化的SIFT关键点描述的方法
本专利技术涉及SIFT算法家族的关键点描述方法,具体涉及一种基于硬件实现优化的SIFT关键点描述的新方法。
技术介绍
SIFT算法在图像局部不变性特征领域具有举足轻重的地位。SIFT特征不仅有很好的尺度不变性,也同时兼具旋转不变性,对光照影响与仿射变换也有良好的鲁棒性。故SIFT算法在图像匹配、图像三维建模、图像全景拼接等领域得到了广泛的应用。现在主流的SIFT特征描述方法还是基于Lowe论文中的先通过浮点数的乘方开方等运算求得梯度信息,再统计关键点邻域的主方向,并将该邻域旋转主方向个角度,最后统计旋转后的关键点邻域的梯度信息归一化生成描述子。由于按照主方向这一图像局部特性旋转,使得生成的描述子具有旋转不变性;由于在每个尺度上用同样的方法生成描述子,故生成的描述子具有尺度不变性;又由于归一化了梯度信息,故生成的描述子对光照和仿射变换也具有良好的鲁棒性。然而,传统的关键点描述方案有如下的缺点:1)资源占用率高。就梯度信息生成而言,就需要用到大量的平方运算和开方运算,以及反三角函数的计算。虽然这些计算可以用大量的乘法器以及使用cordic算法来实现,但是这样会占用非常多的硬件资源;2)算法的硬件移植难度大。原算法描述关键点的时候,将关键点邻域按照主方向做旋转再生成描述子。由于图像旋转插值操作想用数据流的方式实现非常困难,但如果先将局部缓存起来在操作的话,既需要大量的BRAM资源,还会消耗大量的时间;3)运算速度低。原算法生成关键点的描述子时,每个步骤都是在上一个步骤完成后才能进行,整个流程是串行的,导致整体速度很慢。 ...
【技术保护点】
1.一种基于硬件实现优化的SIFT关键点描述的方法,其特征在于:包括如下步骤:1)通过比对查表的方式来生成梯度信息,生成每一层尺度的梯度信息;2)用四个圆环结构来统计SIFT关键点邻域信息,生成梯度信息直方图,并对其加权相加找出主方向;3)对每个梯度信息直方图按照主方向进行循环移位,并将直方图合并成一个64维的描述子并归一化。
【技术特征摘要】
1.一种基于硬件实现优化的SIFT关键点描述的方法,其特征在于:包括如下步骤:1)通过比对查表的方式来生成梯度信息,生成每一层尺度的梯度信息;2)用四个圆环结构来统计SIFT关键点邻域信息,生成梯度信息直方图,并对其加权相加找出主方向;3)对每个梯度信息直方图按照主方向进行循环移位,并将直方图合并成一个64维的描述子并归一化。2.根据权利要求1所述的一种基于硬件实现优化的SIFT关键点描述的方法,其特征在于:所述步骤1)具体包括如下流程:1.1)计算x与y方向的梯度值Lx和Ly;1.2)计算梯度判决前需要的待选梯度值和方向判断所需的梯度比值;1.3)计算梯度象限,多级判断梯度方向,并给梯度方向和梯度强度赋值。3.根据权利要求1所述的一种基于硬件实现优化的SIFT关键点描述的方法,其特征在于:所述步骤2)具体包括如下流程:2.1)一个邻域窗模块用于连续取出关键点方形邻域的梯度数据。在取梯度数据时,首先根据关键点坐标计算得到关键点邻域左上角梯度在梯度BlockRAM中的初始地址,再将地址不断递增。等一行邻域窗的数据都发送完毕后,下一地址在上一地址基础上加上一个预设定的偏移地址,以读取下一行第一个数据,并以此类推读取整个方形邻域窗的梯度数据;2.2)一个环形邻域划分模块来将步骤2.1)的关键点邻域划分成4个环形区域。环形邻域划分模块主要以状态机方式实现,利用邻域窗模块得到的固定的数据顺序,将输入有效数据的顺序按查找表的方式向下游模块给出环分类信息与使能信息,下游模块再根据环分类信息进行统计得到方向梯度直方图;2.3)一个梯度直方图模块用于接收环形邻域划分模块,并根据环划分信息输入到不同环的梯度直方图中去。在各梯度直方图中,再以32个不同梯度方向分别累加梯度强度值到对应梯度方向的寄存器中去,待邻域窗中所有梯度信息发送统计完毕后,结束梯度直方图统计,并开启下一模块;2.4)主方向统计模块用于统计得出邻域范围内的梯度主方向,该模块与梯度直方图模块是并行的,利用环划分模块得到的环划分信息将权值简单归为2.5,2,1.5,0.5,统...
【专利技术属性】
技术研发人员:李广,邱晓冬,朱恩,朱传杰,朱方杰,
申请(专利权)人:东南大学,
类型:发明
国别省市:江苏,32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。