一种SURF特征点提取加速方法及系统技术方案

技术编号:35926231 阅读:54 留言:0更新日期:2022-12-10 11:19
本发明专利技术提供了一种SURF特征点提取加速方法及系统,属于局部特征检测领域,方法包括:逐个接收原始灰度图像中的像素值,结合上一行所有像素累加值之和,将原始灰度图像转换为积分图像;构建不同尺度的行fifo阵列,在每一个时钟周期接收m+1个积分图像的灰度值;构建寄存器计算单元暂存行fifo阵列中各积分图像的灰度值;对不同大小的积分图像并行计算不同尺度下黑森行列式金字塔;将黑森行列式金字塔输入至ARM端,通过非极大值抑制获取初始特征点,删除小于黑森行列式阈值的特征点;对剩余特征点采用双线性插值方法,获取特征点在尺寸空间中的位置坐标。本发明专利技术优化了缓存方式和计算方式,降低了SURF特征提取的延迟。降低了SURF特征提取的延迟。降低了SURF特征提取的延迟。

【技术实现步骤摘要】
一种SURF特征点提取加速方法及系统


[0001]本专利技术属于局部特征检测领域,更具体地,涉及一种SURF(Speeded

Up Robust Features)特征点提取加速方法及系统。

技术介绍

[0002]图像特征检测提取是计算机视觉里的重要概念,是图像配准的核心步骤,而图像配准在图像拼接、图像检索和图像融合领域都有重要应用。目前图像特征检测和匹配方法主要是基于局部特征的特征匹配方法,主要方法有SIFT、SURF、ORB算法,其中,SURF算法尺度鲁棒性、旋转不变鲁棒性、尺度变换鲁棒性方面均有较大优势,是特征检测和匹配的主流方法,但其存在计算量大,计算速度慢的问题。
[0003]针对SURF算法计算量大、计算速度慢的特点,利用FPGA实现SURF算法加速是解决这一问题主流做法但是整个SURF特征功能点提取电路没有形成流水线工作,并未完全发挥SURF电路的工作效率。现有技术在设计SURF算法加速电路时对图像积分模块的数据位宽进行了优化,虽然降低存储空间的使用,但是未能充分发挥FPGA的性能。对于在FPGA上实现SURF算法加速的研究一直没有停过,研究者一直在致力于降低资源消耗和提高处理速度。然而在众多的研究中存在共性问题:没有充分优化缓存方式,没有尽可能将计算方式优化为并行计算。

技术实现思路

[0004]针对现有技术的缺陷,本专利技术的目的在于提供一种SURF特征点提取加速方法及系统,旨在解决现有利用FPGA实现SURF算法加速技术没有充分优化缓存方式,导致SURF特征提取效率较低的问题。
[0005]为实现上述目的,一方面,本专利技术提供了一种SURF特征点提取加速系统,包括:积分图像计算模块、数据遍历模块、黑森行列式计算模块和特征点坐标方向计算模块;
[0006]所述积分图像计算模块、数据遍历模块和黑森行列式计算模块设置在FPGA端,所述特征点坐标方向计算模块设置在ARM端;
[0007]所述积分图像计算模块用于逐个接收原始灰度图像中的像素值,结合积分图像缓冲寄存器传送的上一行所有像素累加值之和,通过计算并存储原始灰度图像中当前行各个像素的累加值作为积分图像各个像素的灰度值,将所述原始灰度图像转换为积分图像;
[0008]所述数据遍历模块包括不同尺度的行fifo阵列和寄存器计算单元;其中,所述行fifo阵列中包含m+1个行fifo,每个行fifo的深度为n;其中,m的取值不同代表不同的尺度;n≥m+1;所述寄存器计算单元为(m+1)*(m+1)大小的寄存器链;所述行fifo阵列用于在每一个时钟周期从积分图像计算模块中接收m+1个积分图像的灰度值,当计数每满一行则复位一次,积分图像的灰度值数据向下平移一行重新送入灰度值;所述寄存器计算单元用于暂存所述行fifo阵列中各积分图像的灰度值;
[0009]所述黑森行列式计算模块用于在每个时钟周期对存储在寄存器计算单元的不同
大小的积分图像并行计算D
xx
、D
yy
、D
xy
方向上的盒子滤波模板,获取不同尺度下黑森行列式金字塔;
[0010]所述特征点坐标方向计算模块用于将黑森行列式金字塔输入至ARM端,通过非极大值抑制获取初始特征点,再通过设定黑森行列式阈值,删除小于黑森行列式阈值的特征点;对剩余特征点采用双线性插值方法,获取特征点在尺寸空间中的位置坐标。
[0011]进一步优选地,积分图像计算模块包括一个累加器、一个计数器、一个fifo和一个积分图像行缓冲寄存器;
[0012]所述累加器输出端连接fifo;所述累加器与所述积分图像行缓冲寄存器双向连接;所述计数器与所述累加器相连;所述fifo输出端与所述行fifo阵列相连;
[0013]所述累加器用于逐个接收原始灰度图像中的像素值,结合积分图像缓冲寄存器传送的上一行所有像素累加值之和,获取当前行的每个像素的累加值,将原始灰度图像转换为积分图像;其中,原始灰度图像中各个像素的累加值作为积分图像各个像素的灰度值;
[0014]所述计数器用于对输入累加器的原始灰度图像中的像素计数,当原始图像每一行像素值传输后,累加器用于将积分图像每一行中各像素累加值保存;积分图像缓冲寄存器用于接收每一行所有像素累加值之和,作为下一行积分图像计算时使用。
[0015]进一步优选地,m取值为9、15、21、27、33、39、45和51。
[0016]进一步优选地,D
xx
=((A+G)

(B+H))

2((B+F)

(C+G))+((C+E)

(D+F))
[0017]D
yy
=((A+G)

(B+H))

2((B+F)

(C+G))+((C+E)

(D+F))
[0018]D
xy
=((A+F)

(B+E))

((C+H)

(G+D))

((I+N)

(J+M))+((K+P)

(L+O))
[0019]其中,A、B、C、D、E、F、G、H、I、J、K、L、M、N、O和P分别为对应积分图像中点a、b、c、d、e、f、g、h、i、j、k、l、m、n、o和p的灰度值;a、b、c、d、e、f、g、h、i、j、k、l、m、n、o和p分别为SURF算法所规定D
xx
、D
yy
、D
xy
方向滤波模板计算对应积分图像像素点。
[0020]进一步优选地,特征点坐标方向计算模块包括:均设置于ARM端顺次相连的非极大值抑制单元、特征点筛选单元和插值计算单元;
[0021]所述非极大值抑制单元用于在每一黑森行列式金字塔中选取相邻的三层黑森行列式图像,其中,选取中间层任一个黑森行列式值作为待比较点,在空间中选取待比较点相邻预设数目的黑森行列式值进行比较,若待比较点大于相邻黑森行列式值,则判定待比较点为特征点;
[0022]所述特征点筛选单元用于设置黑森行列式阈值,将低于黑森行列式值阈值的特征点删除;
[0023]所述插值计算单元用于对筛选后的特征点的极大值位置进行双线性插值计算,获取特征点在尺度空间中的位置坐标。
[0024]另一方面,本专利技术提供了一种SURF特征点提取加速方法,包括以下步骤:
[0025]S1:逐个接收原始灰度图像中的像素值,结合上一行所有像素累加值之和,计算原始灰度图像中当前行各个像素的累加值作为积分图像各个像素的灰度值,将原始灰度图像转换为积分图像;
[0026]S2:构建不同尺度的行fifo阵列,在每一个时钟周期接收m+1个积分图像的灰度值,当计数每满一行则复位一次,积分图像的灰度值向下平移一行,行fifo阵列重新接收积分本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种SURF特征点提取加速系统,其特征在于,包括:积分图像计算模块、数据遍历模块、黑森行列式计算模块和特征点坐标方向计算模块;所述积分图像计算模块、数据遍历模块和黑森行列式计算模块设置在FPGA端,所述特征点坐标方向计算模块设置在ARM端;所述积分图像计算模块用于逐个接收原始灰度图像中的像素值,结合积分图像缓冲寄存器传送的上一行所有像素累加值之和,通过计算并存储原始灰度图像中当前行各个像素的累加值作为积分图像各个像素的灰度值,将所述原始灰度图像转换为积分图像;所述数据遍历模块包括不同尺度的行fifo阵列和寄存器计算单元;其中,所述行fifo阵列中包含m+1个行fifo,每个行fifo的深度为n;其中,m的取值不同代表不同的尺度;n≥m+1;所述寄存器计算单元为(m+1)*(m+1)大小的寄存器链;所述行fifo阵列用于在每一个时钟周期从积分图像计算模块中接收m+1个积分图像的灰度值,当计数每满一行则复位一次,积分图像的灰度值数据向下平移一行重新送入灰度值;所述寄存器计算单元用于暂存所述行fifo阵列中各积分图像的灰度值;所述黑森行列式计算模块用于在每个时钟周期对存储在寄存器计算单元的不同大小的积分图像并行计算D
xx
、D
yy
、D
xy
方向上的盒子滤波模板,获取不同尺度下黑森行列式金字塔;所述特征点坐标方向计算模块用于将黑森行列式金字塔输入至ARM端,通过非极大值抑制获取初始特征点,再通过设定黑森行列式阈值,删除小于黑森行列式阈值的特征点;对剩余特征点采用双线性插值方法,获取特征点在尺寸空间中的位置坐标。2.根据权利要求1所述的SURF特征点提取加速系统,其特征在于,所述积分图像计算模块包括一个累加器、一个计数器、一个fifo和一个积分图像行缓冲寄存器;所述累加器输出端连接fifo;所述累加器与所述积分图像行缓冲寄存器双向连接;所述计数器与所述累加器相连;所述fifo输出端与所述行fifo阵列相连;所述累加器用于逐个接收原始灰度图像中的像素值,结合积分图像缓冲寄存器传送的上一行所有像素累加值之和,获取当前行的每个像素的累加值,将原始灰度图像转换为积分图像;其中,原始灰度图像中各个像素的累加值作为积分图像各个像素的灰度值;所述计数器用于对输入累加器的原始灰度图像中的像素计数,当原始图像每一行像素值传输后,累加器用于将积分图像每一行中各像素累加值保存;积分图像缓冲寄存器用于接收每一行所有像素累加值之和,作为下一行积分图像计算时使用。3.根据权利要求1或2所述的SURF特征点提取加速系统,其特征在于,m取值为9、15、21、27、33、39、45和51。4.根据权利要求1或2所述的SURF特征点提取加速系统,其特征在于,D
xx
=((A+G)

(B+H))

2((B+F)

(C+G))+((C+E)

(D+F))D
yy
=((A+G)

(B+H))

2((B+F)

(C+G))+((C+E)

(D+F))D
xy
=((A+F)

(B+E))

((C+H)

(G+D))

((I+N)

(J+M))+((K+P)

(L+O))其中,A、B、C、D、E、F、G、H、I、J、K、L、M、N、O和P分别为对应积分图像中点a、b、c、d、e、f、g、h、i、j、k、l、m、n、o和p的灰度值;a、b、c、d、e、f、g、h、i、j、k、l、m、n、o和p分别为SURF算法规定的D
xx
、D
yy
、D
xy
方向滤波模板计算对应积分图像像素点。5.根据权利要求4所述的SURF特征点提取加速系统,其特征在于,所述特征点坐标方向
计算模块包括均设置于ARM端顺次相连的非极大值抑制单元、特征点筛选单元和插值计算单元;所述非极大值抑制单元用于在每一黑森行列式金字塔...

【专利技术属性】
技术研发人员:赵玉普刘博胡硕
申请(专利权)人:中国船舶集团有限公司第七〇九研究所
类型:发明
国别省市:

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

1