当前位置: 首页 > 专利查询>东南大学专利>正文

基于硬件实现优化的SIFT关键点描述的方法技术

技术编号:19321318 阅读:30 留言:0更新日期:2018-11-03 11:22
本发明专利技术公开了一种基于硬件实现优化的SIFT关键点描述的方法,包括如下步骤:通过比对查表的方式来生成梯度信息,生成每一层尺度的梯度信息;用四个圆环结构来统计SIFT关键点邻域信息,生成梯度信息直方图,并对其加权相加找出主方向;对每个梯度信息直方图按照主方向进行循环移位,并将直方图合并成一个64维的描述子并归一化。本发明专利技术主要通过对梯度计算、描述子生成、领域旋转三个方面对SIFT图像匹配算法进行改进优化,使其能保留原SIFT描述子尺度不变、旋转不变等优良特性的前提下,更好地在FPGA上硬件实现。

SIFT key point description method based on hardware implementation optimization

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)运算速度低。原算法生成关键点的描述子时,每个步骤都是在上一个步骤完成后才能进行,整个流程是串行的,导致整体速度很慢。
技术实现思路
专利技术目的:为了克服现有技术中存在的虽然SIFT特征具有很好的尺度不变性,也同时兼具旋转不变性,对光照影响与仿射变换也有良好的鲁棒性,但是由于算法复杂度较大,无法在软件平台上实现实时匹配的问题,提供一种基于硬件实现优化的SIFT关键点描述的方法,重新设计了SIFT关键点的描述方法,在利用硬件实现的同时,新方法生成的描述子同样拥有旋转不变性、尺度不变性和光照不变性等特性。技术方案:为实现上述目的,本专利技术提供一种基于硬件实现优化的SIFT关键点描述的方法,包括如下步骤:1)通过比对查表的方式来生成梯度信息,生成每一层尺度的梯度信息;2)用四个圆环结构来统计SIFT关键点邻域信息,生成梯度信息直方图,并对其加权相加找出主方向;3)对每个梯度信息直方图按照主方向进行循环移位,并将直方图合并成一个64维的描述子并归一化。进一步地,所述步骤1)具体包括如下流程:1.1)计算x与y方向的梯度值Lx和Ly;1.2)计算梯度判决前需要的待选梯度值和方向判断所需的梯度比值;1.3)计算梯度象限,多级判断梯度方向,并给梯度方向和梯度强度赋值。进一步地,所述步骤2)具体包括如下流程:2.1)一个邻域窗模块用于连续取出关键点方形邻域的梯度数据。在取梯度数据时,首先根据关键点坐标计算得到关键点邻域左上角梯度在梯度BlockRAM中的初始地址,再将地址不断递增。等一行邻域窗的数据都发送完毕后,下一地址在上一地址基础上加上一个预设定的偏移地址,以读取下一行第一个数据,并以此类推读取整个方形邻域窗的梯度数据,此外,对于一组中不同层的关键点,其邻域窗尺寸也不同。因此,行列计数器的计数值与行偏移值也不相同。对于第一组中第一层,行列计数为15,行偏移地址为284-14=270;第二层,行列计数为19,行偏移地址为284-18=266;第三层,行列计数为23,行偏移地址为284-22=262。对于第二组中第一层,行列计数为15,行偏移地址为142-14=128;第二层,行列计数为19,行偏移地址为142-18=124;第三层,行列计数为23,行偏移地址为142-22=120;2.2)一个环形邻域划分模块来将步骤2.1)的关键点邻域划分成4个环形区域。环形邻域划分模块主要以状态机方式实现,利用邻域窗模块得到的固定的数据顺序,将输入有效数据的顺序按查找表的方式向下游模块给出环分类信息与使能信息,下游模块再根据环分类信息进行统计得到方向梯度直方图,为实现尺度不变性,环形邻域划分模块针对每组中的三层,分别使用15×15、19×19和23×23尺寸的环形邻域划分模块,以对应不同尺度下的特征描述子要求;2.3)一个梯度直方图模块用于接收环形邻域划分模块,并根据环划分信息输入到不同环的梯度直方图中去。在各梯度直方图中,再以32个不同梯度方向分别累加梯度强度值到对应梯度方向的寄存器中去,待邻域窗中所有梯度信息发送统计完毕后,结束梯度直方图统计,并开启下一模块;2.4)主方向统计模块用于统计得出邻域范围内的梯度主方向,该模块与梯度直方图模块是并行的,为了简化经典SIFT算法中主方向统计对各邻域梯度使用的高斯权值,利用环划分模块得到的环划分信息将权值简单归为2.5,2,1.5,0.5,统计完邻域窗中所有梯度数据后,得到一个32方向的梯度直方图,再通过5级二叉树比较,每一级中较大的梯度方向会传到下一级继续做比较,最终得到该梯度直方图的峰值所对应的方向,以此作为该特征描述子的主方向,用于后续模块对描述子的方向归一化。进一步地,所述步骤3)具体包括如下流程:3.1)对步骤2)产生的四个梯度直方图进行主方向重排序。对每个梯度直方图进行循环移位,将主方向部分的数据排到第一维,其他维数据依次循环,此外,为了减少描述子维度,在重排序的同时,还将描述子两两合并相加,最终将128维描述子合并为64维描述子,可降低描述子匹配环节的计算量为原本的1/4;3.2)光照强度归一化则是将各维度都除以描述子数据的总和,为了进一步提高匹配效率,在光照强度归一化后,描述子每个维度由16bit做除法后,仅保留最高8bit的有效数据,还可进一步将匹配计算量降低至1/4,即在归一化环节可为描述子匹配环节的计算量降低至1/16,大大提高系统的实时性。本专利技术的设计原理为:由于对SIFT关键点的描述采用的方法是先统计关键点邻域的主方向,即邻域特性,再将邻域按照主方向旋转,最后生成出来的描述子就是关键点的局部特性,同时拥有旋转不变性、光照不变性等特性。但对于关键点的描述方法,并没有一套完整的理论支撑,所采用的大都是基于对于图像局部特征理解的经验方法。所以,在保留图像局部特性的基础上重新设计利于硬件实现的关键点描述方法,是一个行之有效的手段。有益效果:本专利技术与现有技术相比,采用基于硬件实现优化的SIFT关键点描述方法,因为在生成关键点描述子的时候,使用了查表、圆形邻域划分等手段,使得避免了引进浮点运算、反三角函数计算、图像插值等不利于硬件化的部分,从而加快了描述子生成的速度,有效降低了单点处理功耗和硬件资源,并且新方法生成的描述子同样拥有旋转不变性、尺度不变性和光照不变性等特性,具有广泛的应用前景。附图说明图1为本专利技术的流程简单示意图;图2为梯度计算模块图;图3为关键点描述优化算法流程图;图4为环形邻域划分模块图;图5为梯度方向直方图模块图;图6为主方向统计模块图;图7为描述子重排序与归一化模块图。具体实施方式下面结合附图和具体实施例,对本专利技术做进一步的说明。如图1所示,本专利技术提供一种基于硬件实现优化的SIFT关键点描述的方法,包括如下步骤本文档来自技高网
...

【技术保护点】
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

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1