CN108664982A - 一种快速生成sift描述子的方法及其系统 - Google Patents
一种快速生成sift描述子的方法及其系统 Download PDFInfo
- Publication number
- CN108664982A CN108664982A CN201810464054.1A CN201810464054A CN108664982A CN 108664982 A CN108664982 A CN 108664982A CN 201810464054 A CN201810464054 A CN 201810464054A CN 108664982 A CN108664982 A CN 108664982A
- Authority
- CN
- China
- Prior art keywords
- information
- amplitude
- argument
- rotation
- principal direction
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 16
- 238000009825 accumulation Methods 0.000 claims description 4
- 230000002093 peripheral effect Effects 0.000 claims description 3
- 238000012545 processing Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 10
- 238000004364 calculation method Methods 0.000 description 8
- 230000008859 change Effects 0.000 description 8
- 238000005457 optimization Methods 0.000 description 6
- 238000013461 design Methods 0.000 description 4
- 230000001186 cumulative effect Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 238000003860 storage Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 238000004064 recycling Methods 0.000 description 1
- 239000004575 stone Substances 0.000 description 1
- 239000007916 tablet composition Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
- G06V10/443—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Image Analysis (AREA)
Abstract
本发明涉及一种快速生成sift描述子的方法,包括以下步骤:S1.接收从外部传来的高斯图数据信息;S2.经过幅值幅角计算模块后,得到该关键点的主方向;S3.得到的主方向会送入旋转区间计算模块,来计算旋转后的幅角信息;S4.旋转区间计算模块会接收初始幅角信息及主方向,然后根据主方向进行区间旋转,最终确定其所在的行列信息;同时接收幅值和权值2对幅值进行加权;S5.128bin计算模块则接收旋转后的角度信息,旋转后的坐标信息及加权后的幅值,从而计算得到128维的描述子进行输出。
Description
技术领域
本发明涉及计算机视觉领域,更具体地,涉及一种快速生成sift描述子的方法及其系统。
背景技术
在图像匹配的研究中,匹配的方法主要包括两类:基于灰度的匹配和基于特征的匹配。特征匹配由于其计算量相对较小,对噪声的鲁棒性强而成为图像匹配研究的重点。而SIFT(Scale Invariant Feature Transform)算法的提出是局部图像特征描述子研究领域里一项程碑式的工作。与其他的算法相比,除了具有尺度不变性、旋转不变性、仿射不变性外,还具有一定的抗噪能力。但由于SIFT算法本身计算量大,传统的计算机,DSP的平台已无法满足实时快速处理的需求。而硬件架构的流水线设计则可以极大的提高处理速度。
在SIFT算法中,关键点检测和描述子生成是计算的两大部分。在描述子生成的计算中,传统的方式是采用CORDIC坐标旋转算法来实现对角度值本身的计算,但是由于如果图片越大,存储的幅角信息所需要的存储资源将会越多。也有通过dx,dy符号位及tan阈值进行角度区间计算的方式,但是所提出的方式只适用于主方向计算,并不能实现通过主方向对旋转角度进行计算的效果,因此也无法完成对128描述子的计算,并不具有实用性。
发明内容
本发明为解决以上现有技术存在的问题,提供了一种低资源消耗的sift描述子生成方法。
为实现以上发明目的,采用的技术方案是:
一种快速生成sift描述子的方法,包括以下步骤:
S1.接收从外部传来的高斯图数据信息,该信息将作为计算dx、dy的数据被幅值幅角模块接收;
S2.经过幅值幅角计算模块后,将产生初始幅值幅角信息,产生的数据存入幅值幅角buffer;当从关键点buffer中取出关键点位置信息后,会通过地址发生器模块来从幅值幅角buffer中获取对于位置的幅值幅角信息,同时,该坐标信息也会作用于gaussian权值buffer1,从中取出加权值,同幅值幅角信息一起送入主方向计算模块,从而得到该关键点的主方向;
S3.得到的主方向会送入旋转区间计算模块,来计算旋转后的幅角信息;此时会再次获取关键点周围像素的坐标信息,该位置信息除了送入幅值幅角buffer获取幅值幅角外,还会送入gaussian权值buffer2获取第二次所使用的加权值,同时该位置信息还会送入旋转坐标幅值加权模块进行旋转坐标判断;
S4.旋转区间计算模块会接收初始幅角信息及主方向,然后根据主方向进行区间旋转,最终确定其所在的行列信息;同时接收幅值和权值2对幅值进行加权;
S5.128bin计算模块则接收旋转后的角度信息,旋转后的坐标信息及加权后的幅值,从而计算得到128维的描述子进行输出。
优选地,所述幅值幅角计算模块获取高斯图数据信息,经过dx_dy计算模块得到dx、dy信息,该模块由两个减法器组成,在得到dx、dy数据后,经过符号位及绝对值计算模块会得到调整后的符号位区间及dx、dy的绝对值,tan边界阈值计算则是用来计算tan*dx的数值,这里采用的加法和移位操作来实现,在得到tan边界阈值后,利用查表的方式判断初始幅角的信息,送入幅值幅角buffer。
优选地,地址发生器模块由两部分计数器构成,第一部分计数器是统计第一次取关键周围幅值幅角权值信息来计算主方向的坐标信息;第二部分计数器是统计第二次取关键周围幅值幅角权值信息来计算描述子的坐标信息;其产生的位置信息将送入幅值幅角buffer、gaussian权值buffer1、gaussian权值buffer2、旋转坐标幅值加权模块进行处理。
优选地,主方向计算模块接收来自gaussian权值buffer1的加权信息、幅值信息、幅角信息;首先加权信息和幅值信息会通过乘法器进行相乘得到加权后的加权幅值,同时幅角信息会通过查找表1来判定其所在0-360的以10度为一个区间的哪个区间;两部分信息会送入加法器进行累加操作;累加之后便得到一个具有36bin的直方图数据;在处理完第一次获取的关键点周围所有的数据后,将得到的36bin的直方图数据送入比较器组,比较得到36bin中的最大值;之后通过查找表2得到最大bin所在的位置,这个位置就表示主方向。
优选地,旋转区间计算模块包括旋转符号位计算模块,旋转符号位计算模块用于确定在接收到主方向后,旋转之后的当前的符号位区间;其由一个查找表实现功能;同时对于旋转的子区域个数的判断,通过查找表的形式便可确定;之后通过公式计算得到旋转后的角度区间信息,该部分由一个加法器实现;然后再根据dx、dy符号位信息,及每个子区域的位置便可确定旋转的角度区间所在0-360中以45度为区间的8bin中的位置;该位置信息将传入128bin计算模块从而得到最后的128维描述子。
优选地,128bin计算模块接收旋转后的区间信息,旋转后的坐标信息及加权后的幅值,首先根据旋转后坐标信息和旋转后的区间信息来确定幅值要累积在128bin中的哪一个bin上;该功能可以通过选择器进行实现;在得到要累加的位置后,则将加权的幅值进行累加操作;直至计算完第二次要获取的关键点周围区域中的每一个幅值幅角信息;便可得到最终所需的描述子。
同时,本发明还提供了一种应用以上方法的系统,其具体的方案如下:
包括幅值幅角模块、幅值幅角buffer、关键点buffer、地址发生器模块、gaussian权值buffer1、主方向计算模块、旋转区间计算模块、gaussian权值buffer2、旋转坐标幅值加权模块、旋转区间计算模块、128bin计算模块。
与现有技术相比,本发明的有益效果是:
1)本发明提供的处理方式降低了传统计算方式的数据位宽。
2)本发明提供的处理方式可以很大程度上降低存储器资源的使用。
3)本发明提供的处理方式可以极大避免在得到区间信息后,机械地查表方式,极大地降低了查找表操作数。
4)本发明提供的硬件架构采用流水线的处理方式,具有较高的处理速度。
附图说明
图1为本发明初始角度区间划分图。
图2为本发明初始角度区间的子区域表示方式调整图。
图3为本发明优选符号位区间表示方式调整图。
图4为本发明优选实施的优化的SIFT描述子算法系统架构图。
图5为本发明优选实施的幅值幅角计算硬件架构图。
图6为本发明优选实施的幅值幅角计算模块四级流水线。
图7为本发明优选实施的主方向计算模块硬件架构示意图。
图8为本发明的旋转区间计算模块硬件架构图。
图9为本发明旋转区间计算模块三级流水线。
具体实施方式
附图仅用于示例性说明,不能理解为对本专利的限制;
以下结合附图和实施例对本发明做进一步的阐述。
实施例1
本发明采用优化的描述子生成算法来降低资源的消耗,其主要包括三个部分:(1)初始幅值幅角计算;(2)旋转区间判断;(3)计算128bin描述子。原始的SIFT算法中,在软件上采用的是反三角函数进行计算,而在一些硬件设计上,采用的是CORDIC坐标旋转算法来得到相对精确的角度值。但是可以发现,如果采用CORDIC算法来实现硬件上的角度计算的话,那么幅角的位宽一般将采用定点数的处理方式,此时位宽将大于9bit。有些方案为了实现资源的优化,直接使用9bit来表示角度的整数部分,但是会对试验的结果判断上带来影响。
优化的算法将改变原始的幅角的表示方式和旋转角度的判断方式,从多个角度对算法进行调整,以达到资源优化的目的。
在幅角的计算方式上,初始的计算方式公式为:角度=atan2(dy,dx)。此时公式可以转化为tan(角度)=dy/dx。为便于在硬件的进一步实现,再将公式转化为dy=tan(角度)*dx。根据tan函数为增升函数的性质,即可以由dy和dx*tan之间的关系:tan(角度1)<dy<tan(角度2)来判断当前角度区间,再通过dx,dy的正负即可判断,该角度在0-360度上所在的区间范围。而以多少度进行划分合适,是根据主方向和旋转后的区间划分规则来确定的,已知根据主方向旋转的角度最小为10度,而旋转后的角度是以45度为区间对0-360度进行划分。假设此时的角度为0-60度区域,并且当主方向位于36个幅度幅角直方图的第1个bin上,那么初始角度向顺时针旋转10度,根据主方向旋转之后,初始0-60度区域中10-55度区域变成当前的0-45度区域,而初始55-60度区域变成45-50区域。若以10度为区间,通过tan边界值判断角度所在区域的话,则无法判断到5度以内的情况,而当其以5度为区间进行划分时则可以解决这一问题。因此在设计时对tan边界值采用5度为区间进行角度区间判断的方式。在数据表示上,dx,dy的符号位占2bit,而每个符号位区间中共有18个子区间,可用5bit进行表示,所以表示一个角度区间可以由7bit进行表示,相比传统的表示方式,可以节省2bit,并且图片尺寸越大,节省资源越多。对于在计算时引入的乘法器资源,则可以通过移位操作及加法操作完成,从而降低了乘法器资源的使用。
在旋转角度的计算上,如果采用根据主方向,dx,dy符号位,所在子区域进行查表判断的话,理论上需要进行36*4*18*3bit次查找表操作,其中36代表36种可能的主方向,4表示4个符号位区间,该符号位区间占360中的90度,即四分之一。18为每个符号位区间中的子区间,3bit则是将旋转后的角度判断到0-360的8个区间上,其中每个区间的大小为45度。通过计算可知其查找表的资源消耗较大,并不能适用于大多数FPGA的设计。因此本发明创新性的提出新的角度旋转判断方式。根据上述的新的幅角计算方式,可以得到如图一所示的幅角区间图。这里以dx作为坐标系的横轴,dy作为竖轴为例进行说明。当dx符号位为0,dy符号位为0时,此时表示dx,dy符号位的2bit为2’b00,对应于符号位区域0。当dx符号位为1,dy符号位为0时,此时dx,dy符号位的2bit为2’b10,对应于符号位区域2。当dx符号位为0,dy符号位为1时,此时dx,dy符号位的2bit为2’b01,对应于符号位区域1。同理,当dx符号位为1,dy符号位为1时,此时dx,dy符号位的2bit为2’b11,对应于符号位区域3。而每个符号位区域又包含18个由tan角度边界值划分的小区域,即当tan(5)>|dy|>0时,符号位子区域为0,当tan(10)>|dy|>tan(5)时,其位于符号位子区域1位置,以此类推。这里符号位区域3中的子区域0代表0-360中的0-5度区间,然后,从逆时针方向开始算起,每5度代表一个小区间,依次表示0-360度中的5-10度,10-15度,15-20度...355-360度。直至循环整个圆环,具体如图1所示。
本发明根据图1的内容,首先将图1中的其中两个符号位区域的子区域位置进行调整,调整之后如图2所示。通过观察图2可以发现,每个符号位的子区域是从0-17开始,在进入下一个符号位子区域时,同样是从0开始,从17结束,从而在符号位区域之间形成一个循环。
为了将图2更具规则性,本发明将初始的符号位区域数值0改变成符号位区域数值1,同时将符号位区域数值1改变为符号位区域数值0,即将两个符号位子区域的表示数值进行交换,而不作内部的子区域的调整。改变方式如图3所示。
经过调整后,通过图3可以发现明显规律,符号位区域从顺时针方向看呈3,2,1,0分布。在进行旋转后的区间判断时,可以利用此规律。
第一个规律表现在子区域上。这里依然假设得到的主方向位于36个bin的第一个bin。那么原始计算得到的角度需要逆时针旋转10度,这在区间的调整上表现为顺时针旋转了2个符号位子区间,表1表2显示了旋转前与旋转后的符号位区间3,0及其内部子区域的变化情况。
表1
其中表1代表初始符号区域为3的情况,表2是代表初始符号区域为0的情况,另外两种符号位区域旋转情况与2表中情况类似,因此不再列表描述。
表2
在说明之前,首先明确,7bit的角度信息由2bitdx,dy的符号位表示,代表7bit中的高2位,5bit的符号位区间则位于7bit数据中的低5位。通过表格1可以发现,当子区域的区间值大于等于旋转的子区域个数时,旋转后角度信息=(符号位区域值*32)+子区域值-旋转的子区域个数,公式(1)。当子区域的区间值小于旋转的子区域个数时,旋转后角度信息=(符号位区域值*32)+子区域值-(旋转的子区域个数+14),公式(2)。而表2中的符号位区域2’b00则是一种特殊情况。因为在本例中计算小于2的情况时,直接按旋转后角度信息=(符号位区域值*32)+子区域值-(旋转的子区域个数+14)计算的话得到的是一个负值。因此在计算之前还需要判断符号位区域是否为2’b00,然后对其进行调整为3bit的3’b100。因此在判断旋转区间时,所有的计算要扩大到8bit进行处理,即高3bit是符号位区间值,低5bit仍然表示子区间。然后再通过公式(1)当子区域的区间值大于等于旋转的子区域个数时,旋转后角度信息=(符号位区域值*32)+子区域值-旋转的子区域个数,公式(2)当子区域的区间值小于旋转的子区域个数时,旋转后角度信息=(符号位区域值*32)+子区域值-(旋转的子区域个数+14),来计算得到旋转后角度信息。此时对计算的结果只截取低7bit数据,因为如果无越界,则高位是3’b100,有越界则是3’b011,因此只截取低7bit即可。其中7bit的数据中高2bit任然代表符号位,低5bit仍然表示子区域的值。
通过计算不同的主方向下的子区域的旋转个数。可以得到如表3所示的规律。即根据在36个主方向中的位置,可以发现某些主方向位置具有相同旋转子区域个数,因此这在硬件实现上便可以通过查表的进行处理。
主方向位置 | 旋转的子区域个数 |
0,9,18,27 | 0 |
1,10,19,28 | 2 |
2,11,20,29 | 4 |
3,12,21,30 | 6 |
4,13,22,31 | 8 |
5,14,23,32 | 10 |
6,15,24,33 | 12 |
7,16,25,34 | 14 |
8,17,26,35 | 16 |
表3
第二个规律表现在符号区间的变化上,除了确定旋转的子区域个数外,还要在使用公式(1)(2)之前知道当前的符号位区域是否根据主方向发生了改变,以及发生了怎样的改变。为了不影响上述的旋转子区域个数的统计规律,从而在旋转后得到可以是最终的旋转角度信息。因此在计算时就要确定符号位区间的变化情况。表4是在不同的主方向下初始符号位区间值为3的变化情况,其他符号区间的变化情况类似,循环变化。同时可以看出,当0=<旋转角度<90度,符号位区间不变,即2’b11->2’b11。当90=<旋转角度<180度,符号位区间旋转变化一次,即2’b11->2’b10。当180=<旋转角度<270度,符号位区间旋转变化两次,即2’b11->2’b01。当270=<旋转角度<360度,符号位区间旋转变化三次,即2’b11->2’b00。将当前旋转后的符号位区间信息替换掉初始符号位区间值,然后
主方向位置 | 初始符号位区间值 | 旋转后符号位区间值 |
0,1,2,3,4,5,6,7,8 | 2’b11 | 2’b11 |
9,10,11,12,13,14,15,16,17 | 2’b11 | 2’b10 |
18,19,20,21,22,23,24,25,26 | 2’b11 | 2’b01 |
27,28,29,30,31,32,33,34,35 | 2’b11 | 2’b00 |
表4
进行公式(1)(2)的计算,便可得到最终的旋转后的角度信息。然后再根据符号位信息以及子区域信息按照图一的划分规则进行查表,确定其在0-360中以45度为区间的区间范围。进而计算128bin的描述子。调整后只需要进行36+36*4+4*18=252次查表操作就可以完成对旋转角度区间的判断,该发明不但解决了降低存储资源问题,而且极大地降低了旋转角度区间判断的查找表次数。
本发明所设计的架构系统如图4所示。描述子生成模块接收从外部传来的高斯图数据信息,该信息将作为计算dx,dy的数据被幅值幅角模块接收,经过幅值幅角计算模块后,将产生初始幅值幅角信息,产生的数据存入幅值幅角buffer。当从关键点buffer中取出关键点位置信息后,会通过地址发生器模块来从幅值幅角buffer中获取对于位置的幅值幅角信息,同时,该坐标信息也会作用与gaussian权值buffer1,从中取出加权值,同幅值幅角信息一起送入主方向计算模块,从而得到该关键点的主方向。得到的主方向会送入旋转区间计算模块,来计算旋转后的幅角信息。此时会再次获取关键点周围像素的坐标信息,该位置信息除了送入幅值幅角buffer获取幅值幅角外,还会送入gaussian权值buffer2获取第二次所使用的加权值,同时该位置信息还会送入旋转坐标幅值加权模块进行旋转坐标判断。旋转区间计算模块会接收初始幅角信息及主方向,然后根据主方向进行区间旋转,最终确定其所在的行列信息。同时接收幅值和权值2对幅值进行加权。128bin计算模块则接收旋转后的角度信息,旋转后的坐标信息及加权后的幅值,从而计算得到128维地描述子进行输出。在计算得到一个描述子之后,使能下一个关键点计算。
幅值幅角计算模块的硬件架构如图5所示。首先,获取gaussian图像数据,经过dx_dy计算模块的dx,dy信息,该模块由两个减法器组成,在得到dx,dy数据后,经过符号位及绝对值计算模块,会得到按图二进行调整后的符号位区间,及dx,dy的绝对值,tan边界阈值计算则是用来计算tan*dx的数值,这里采用的加法和移位操作来实现,从而避免了乘法器的使用。在得到tan边界阈值后,利用查表的方式判断初始幅角的信息。送入幅值幅角buffer。该操作采用四级流水的处理方式,具体如图6所示。
地址发生器模块其主要由两部分计数器构成。第一部分计数器是统计第一次取关键周围幅值幅角权值信息来计算主方向的坐标信息。第二部分计数器是统计第二次取关键周围幅值幅角权值信息来计算描述子的坐标信息。其产生的位置信息将送入幅值幅角buffer,gaussian权值buffer1,gaussian权值buffer2,旋转坐标幅值加权模块进行处理。(1)各buffer得到地址信息,输出数值到主方向计算模块或128bin描述子计算模块。(2)旋转坐标幅值加权获得坐标信息后,将根据主方向对坐标进行调整。得到用于判定描述子区域行列信息。
对于主方向计算模块,该模块采用两级级流水线对数据处理。图7是该模块的硬件架构。该模块接收来自gaussian权值buffer1的加权信息,幅值信息,幅角信息。首先加权信息和幅值信息会通过乘法器进行相乘得到加权后的加权幅值,同时幅角信息会通过查找表1来判定其所在0-360的以10度为一个区间的哪个区间。两部分信息会送入加法器进行累加操作。累加之后便得到一个具有36bin的直方图数据。在处理完第一次获取的关键点周围所有的数据后,将得到的36bin的直方图数据送入比较器组,比较得到36bin中的最大值。之后通过查找表2得到最大bin所在的位置,这个位置就表示主方向。为节省比较器资源,该比较器组由五级比较器组成。计算得到的主方向将传入旋转区间计算模块及旋转坐标幅值加权模块等待使用。
旋转区间计算模块的硬件结构架构如图8所示。旋转符号位计算模块用于确定在接收到主方向后,旋转之后的当前的符号位区间。其由一个查找表实现功能。同时对于旋转的子区域个数的判断,通过上述优化算法所述方式,通过查找表的形式便可确定。之后通过公式一二便可得到旋转后的角度区间信息,该部分由一个加法器实现。然后再根据dx,dy符号位信息,及每个子区域的位置便可确定旋转的角度区间所在0-360中以45度为区间的8bin中的位置。该位置信息将传入128bin计算模块从而得到最后的128维描述子。本模块在数据流上采用三级流水的处理方式,具体如图9所示。
128bin计算模块接收旋转后的区间信息,旋转后的坐标信息及加权后的幅值,首先根据旋转后坐标信息和旋转后的区间信息来确定幅值要累积的128bin中的哪一个bin上。该功能可以通过选择器进行实现。在得到要累加的位置后,则将加权的幅值进行累加操作。直至计算完第二次要获取的关键点周围区域中的每一个幅值幅角信息。便可得到最终所需的描述子。
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。
Claims (7)
1.一种快速生成sift描述子的方法,其特征在于:包括以下步骤:
S1.接收从外部传来的高斯图数据信息,该信息将作为计算dx、dy的数据被幅值幅角模块接收;
S2.经过幅值幅角计算模块后,将产生初始幅值幅角信息,产生的数据存入幅值幅角buffer;当从关键点buffer中取出关键点位置信息后,会通过地址发生器模块来从幅值幅角buffer中获取对于位置的幅值幅角信息,同时,该坐标信息也会作用于gaussian权值buffer1,从中取出加权值,同幅值幅角信息一起送入主方向计算模块,从而得到该关键点的主方向;
S3.得到的主方向会送入旋转区间计算模块,来计算旋转后的幅角信息;此时会再次获取关键点周围像素的坐标信息,该位置信息除了送入幅值幅角buffer获取幅值幅角外,还会送入gaussian权值buffer2获取第二次所使用的加权值,同时该位置信息还会送入旋转坐标幅值加权模块进行旋转坐标判断;
S4.旋转区间计算模块会接收初始幅角信息及主方向,然后根据主方向进行区间旋转,最终确定其所在的行列信息;同时接收幅值和权值2对幅值进行加权;
S5.128bin计算模块则接收旋转后的角度信息,旋转后的坐标信息及加权后的幅值,从而计算得到128维的描述子进行输出。
2.根据权利要求1所述的快速生成sift描述子的方法,其特征在于:所述幅值幅角计算模块获取高斯图数据信息,经过dx_dy计算模块得到dx、dy信息,该模块由两个减法器组成,在得到dx、dy数据后,经过符号位及绝对值计算模块会得到调整后的符号位区间及dx、dy的绝对值,tan边界阈值计算则是用来计算tan*dx的数值,这里采用的加法和移位操作来实现,在得到tan边界阈值后,利用查表的方式判断初始幅角的信息,送入幅值幅角buffer。
3.根据权利要求1所述的快速生成sift描述子的方法,其特征在于:地址发生器模块由两部分计数器构成,第一部分计数器是统计第一次取关键周围幅值幅角权值信息来计算主方向的坐标信息;第二部分计数器是统计第二次取关键周围幅值幅角权值信息来计算描述子的坐标信息;其产生的位置信息将送入幅值幅角buffer、gaussian权值buffer1、gaussian权值buffer2、旋转坐标幅值加权模块进行处理。
4.根据权利要求1所述的快速生成sift描述子的方法,其特征在于:主方向计算模块接收来自gaussian权值buffer1的加权信息、幅值信息、幅角信息;首先加权信息和幅值信息会通过乘法器进行相乘得到加权后的加权幅值,同时幅角信息会通过查找表1来判定其所在0-360的以10度为一个区间的哪个区间;两部分信息会送入加法器进行累加操作;累加之后便得到一个具有36bin的直方图数据;在处理完第一次获取的关键点周围所有的数据后,将得到的36bin的直方图数据送入比较器组,比较得到36bin中的最大值;之后通过查找表2得到最大bin所在的位置,这个位置就表示主方向。
5.根据权利要求1所述的快速生成sift描述子的方法,其特征在于:旋转区间计算模块包括旋转符号位计算模块,旋转符号位计算模块用于确定在接收到主方向后,旋转之后的当前的符号位区间;其由一个查找表实现功能;同时对于旋转的子区域个数的判断,通过查找表的形式便可确定;之后通过公式计算得到旋转后的角度区间信息,该部分由一个加法器实现;然后再根据dx、dy符号位信息,及每个子区域的位置便可确定旋转的角度区间所在0-360中以45度为区间的8bin中的位置;该位置信息将传入128bin计算模块从而得到最后的128维描述子。
6.根据权利要求1所述的快速生成sift描述子的方法,其特征在于:128bin计算模块接收旋转后的区间信息,旋转后的坐标信息及加权后的幅值,首先根据旋转后坐标信息和旋转后的区间信息来确定幅值要累积在128bin中的哪一个bin上;该功能可以通过选择器进行实现;在得到要累加的位置后,则将加权的幅值进行累加操作;直至计算完第二次要获取的关键点周围区域中的每一个幅值幅角信息;便可得到最终所需的描述子。
7.一种根据权利要求1~6任一项所述方法的系统,其特征在于:包括幅值幅角模块、幅值幅角buffer、关键点buffer、地址发生器模块、gaussian权值buffer1、主方向计算模块、旋转区间计算模块、gaussian权值buffer2、旋转坐标幅值加权模块、旋转区间计算模块、128bin计算模块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810464054.1A CN108664982B (zh) | 2018-05-15 | 2018-05-15 | 一种快速生成sift描述子的方法及其系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810464054.1A CN108664982B (zh) | 2018-05-15 | 2018-05-15 | 一种快速生成sift描述子的方法及其系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108664982A true CN108664982A (zh) | 2018-10-16 |
CN108664982B CN108664982B (zh) | 2022-03-22 |
Family
ID=63779726
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810464054.1A Expired - Fee Related CN108664982B (zh) | 2018-05-15 | 2018-05-15 | 一种快速生成sift描述子的方法及其系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108664982B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1850270A1 (en) * | 2006-04-28 | 2007-10-31 | Toyota Motor Europe NV | Robust interest point detector and descriptor |
US20130236048A1 (en) * | 2012-03-11 | 2013-09-12 | Universidad De Santiago De Compostela | Image processor for feature detection |
CN104978749A (zh) * | 2014-04-08 | 2015-10-14 | 南京理工大学 | 一种基于fpga的sift图像特征提取系统 |
-
2018
- 2018-05-15 CN CN201810464054.1A patent/CN108664982B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1850270A1 (en) * | 2006-04-28 | 2007-10-31 | Toyota Motor Europe NV | Robust interest point detector and descriptor |
US20130236048A1 (en) * | 2012-03-11 | 2013-09-12 | Universidad De Santiago De Compostela | Image processor for feature detection |
CN104978749A (zh) * | 2014-04-08 | 2015-10-14 | 南京理工大学 | 一种基于fpga的sift图像特征提取系统 |
Non-Patent Citations (5)
Title |
---|
JIE JIANG ET AL: "SIFT Hardware Implementation for Real-Time Image Feature Extraction", 《IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY》 * |
JINGBANG QIU ET AL: "A FPGA-Based Real-Time Hardware Accelerator for Orientation Calculation Part in SIFT", 《2009 FIFTH INTERNATIONAL CONFERENCE ON INTELLIGENT INFORMATION HIDING AND MULTIMEDIA SIGNAL PROCESSING》 * |
LEIBO LIU ET AL: "SURFEX: A 57fps 1080P resolution 220mW Silicon Implementation for Simplified Speeded-Up Robust Feature with 65nm Process", 《PROCEEDINGS OF THE IEEE 2013 CUSTOM INTEGRATED CIRCUITS CONFERENCE》 * |
XIAOBAI CHEN ET AL.: "A fast and energy efficient FPGA-based system for real-time object tracking", 《2017 ASIA-PACIFIC SIGNAL AND INFORMATION PROCESSING ASSOCIATION ANNUAL SUMMIT AND CONFERENCE (APSIPA ASC)》 * |
成然: "近红外掌静脉图像识别技术设计与实现", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
Also Published As
Publication number | Publication date |
---|---|
CN108664982B (zh) | 2022-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112446327B (zh) | 一种基于无锚框的遥感图像目标检测方法 | |
US9122954B2 (en) | Performing a histogram using an array of addressable registers | |
CN109446894B (zh) | 基于概率分割及高斯混合聚类的多光谱图像变化检测方法 | |
CN111611948A (zh) | 基于cim与区块链的城市垃圾桶满溢检测方法 | |
CN103617625A (zh) | 一种图像匹配方法及图像匹配装置 | |
JP7368924B2 (ja) | 勾配方向ヒストグラムの演算のためのハードウェアアクセレレータ | |
CN114677565B (zh) | 特征提取网络的训练方法和图像处理方法、装置 | |
CN102376087B (zh) | 检测图像中的对象的装置和方法、分类器生成装置和方法 | |
Jiang et al. | FAWA: Fast adversarial watermark attack | |
CN109784308A (zh) | 一种地址纠错方法、装置及存储介质 | |
CN109255301A (zh) | 一种基于fpga的红外遥感图像舰船检测虚警剔除方法 | |
CN104881670B (zh) | 一种用于sar方位角估计的快速目标提取方法 | |
CN108664982A (zh) | 一种快速生成sift描述子的方法及其系统 | |
CN108734179A (zh) | 基于硬件实现优化的sift关键点描述的方法 | |
Wang et al. | Improved faster-RCNN algorithm for mask wearing detection | |
CN109840525B (zh) | 圆周二进制特征的提取与匹配搜索方法 | |
CN110222749A (zh) | 一种可见光图像与红外图像匹配方法 | |
CN115717887A (zh) | 基于灰度分布直方图的星点快速提取方法 | |
CN108734180A (zh) | 一种基于计算方式优化的sift特征点梯度生成方法 | |
Dai et al. | A hardware-efficient HOG-SVM algorithm and its FPGA implementation | |
Becker et al. | A new approach to create image control networks in ISIS | |
CN105323419B (zh) | 产生方位图像的方法 | |
Motten et al. | Low-cost real-time stereo vision hardware with binary confidence metric and disparity refinement | |
Shi et al. | Multi-scale Features Fusion Network for Unsupervised Change Detection in Heterogeneous Optical and SAR Images | |
Guo et al. | Research on Boat Identification Based on Improved Loss Function of Deep Convolutional Neural Networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20220322 |