一种光流法的图像匹配系统转让专利

申请号 : CN201410139220.2

文献号 : CN104978728B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 任侃刘恒建韩鲁余明孔筱芳顾国华钱惟贤

申请人 : 南京理工大学

摘要 :

本发明提出一种光流法的图像匹配系统。包括A/D转换模块、中值滤波模块、KLT特征点提取模块、图像金字塔模块、光流和特征点坐标初始化模块、SRAM控制模块、LK光流匹配模块以及四个SRAM存储芯片SRAM1、SRAM2、SRAM3、SRAM4;A/D转换模块、中值滤波模块、KLT特征点提取模块、图像金字塔模块、光流和特征点坐标初始化模块、SRAM控制模块、LK光流匹配模块设置在FPGA上。本发明优化了KLT特征提取算子的判断条件,并合理地简化了光流金字塔的实现过程,在满足硬件系统对精度要求的前提下,降低了方法的计算量及资源开销,同时能够满足旋转图像及较大几何变换图像的匹配要求。

权利要求 :

1.一种光流法的图像匹配系统,其特征在于,包括A/D转换模块、中值滤波模块、KLT特征点提取模块、图像金字塔模块、光流和特征点坐标初始化模块、SRAM控制模块、LK光流匹配模块以及四个SRAM存储芯片SRAM1、SRAM2、SRAM3、SRAM4;

A/D转换模块、中值滤波模块、KLT特征点提取模块、图像金字塔模块、光流和特征点坐标初始化模块、SRAM控制模块、LK光流匹配模块设置在FPGA上,A/D转换模块与中值滤波模块相连,中值滤波模块同时与KLT特征点提取模块和图像金字塔模块相连,KLT特征点提取模块、光流和特征点坐标初始化模块、SRAM控制模块和LK光流匹配模块依次相连;SRAM1通过SRAM控制模块与A/D转换模块相连;SRAM2和SRAM3通过SRAM控制模块与图像金字塔模块相连;SRAM4通过SRAM控制模块与SRAM2相连;

A/D转换模块的作用在于利用A/D转换芯片将CCD采集的模拟图像数据转化为数字图像数据;中值滤波模块的作用在于使用快速中值滤波法对数字图像数据进行降噪处理;KLT特征点提取模块的作用在于使用KLT特征点提取原理与阈值的设定,完成KLT特征点提取;图像金字塔模块的作用在于使用下采样方法通过SRAM控制模块完成图像金字塔模型的建立和存储;光流和特征点坐标初始化模块的作用在于使用图像金字塔的层数信息将光流和特征点进行初始化;SRAM控制模块的作用在于控制四个SRAM存储芯片的读写操作;LK光流匹配模块的作用在于使用最小化差异函数完成图像匹配;

KLT特征提取模块中使用n个先入先出缓存器FIFO组成n×n窗口估计出中值滤波处理后图像中像素点I(x,y)的特征提取矩阵G,然后根据特征提取矩阵G中的参数及阈值λT组建特征方程f(λT),使用特征方程f(λT)按照KLT特征点提取算子的判断条件判断当前窗口的中心像素点是否为特征点,判断过程具体为:设置与图像大小相同的1位逻辑标识序列A(x,y),若当前像素点为KLT特征点,则输出逻辑值1,否则,输出逻辑值0,该逻辑标识序列A(x,y)与滤波后的图像同步输出;然后对逻辑标识序列A(x,y)进行检测,若A(x,y)为1,则输出当前窗口的中心像素点的坐标,即特征点坐标;否则,继续进行检测,特征提取矩阵G如公式(1)所示,特征方程f(λ)如公式(2)所示:f(λ)=λ2-(a+c)λ+ac-b2(2)

其中,Ix为x方向的梯度,Iy为y方向的梯度, 为n×n矩阵中的元素求和,参数参数 参数 λ为特征值;

KLT特征点提取算子的判断条件如公式(3)所示,

其中,λT为阈值,可通过调整阈值来控制特征点的数量。

2.如权利要求1所述的光流法的图像匹配系统,其特征在于,模拟图像经CCD采集后,通过视频口输入到A/D转换模块,A/D转换模块通过SRAM控制模块控制SARM1完成图像奇偶场的合成,得到完整的数字图像后发送给中值滤波模块;数字图像在中值滤波模块中进行降噪处理后,同时输入到KLT特征点提取模块和图像金字塔模块;KLT特征点提取模块对接收到的图像数据进行特征点提取,然后将特征点坐标信息发送给光流和特征点坐标初始化模块;图像金字塔模块接收到图像数据后通过SRAM控制模块协调SRAM2、SRAM3、SRAM4建立和存储图像金字塔模型;光流和特征点坐标初始化模块接收到来自KLT特征点提取模块的特征点坐标信息以及来自LK光流匹配模块的光流信息后将光流和特征点坐标初始化,并将初始化后的光流和特征点坐标信息输出到SRAM控制模块;LK光流匹配模块根据SRAM控制模块接收到的光流和特征点坐标初始化信息控制SRAM控制模块从SRAM3、SRAM4中读取出图像金字塔模型,进行图像匹配获得光流,然后根据金字塔层数判断是否完成图像匹配,若完成则输出光流完成图像匹配,否则将光流发送到光流和特征点坐标初始化模块再进行初始化。

3.如权利要求1所述的光流法的图像匹配系统,其特征在于,A/D转换模块通过SRAM控制模块控制SARM1完成图像奇偶场的合成,获得完整的数字图像后发送给中值滤波模块。

4.如权利要求1所述的光流法的图像匹配系统,其特征在于,所述中值滤波模块在FPGA中调用两个先入先出缓存器建立3×3的矩阵,两个先入先出缓存器分别记为fifo1、fifo2,fifo1的输出与fifo2的输入相连;将图像数据中相邻9个像素点的灰度值输入到3×3的矩阵;首先对3×3的矩阵每一行的灰度值按照灰度值的大小进行排序,得到每一行的灰度值的最大值、中间值和最小值,通过比较获得三个最大值中的最小值、 三个中值中的中间值以及三个最小值中的最大值组成9个像素点的灰度值的中间值。

5.如权利要求1所述的光流法的图像匹配系统,其特征在于,图像金字塔建立模块中对经中值滤波模块降噪后的图像进行下采样处理,建立三层金字塔结构;设顶层图像的初始光流值为0,下层光流估计时将上层估计出的光流值作为初始光流值初始化本层图像,再在本层图像中根据LK算法进行光流估计,其中,第L层的初始光流值fL的计算公式如式(4)所示,图像总光流d的计算公式如式(5)所示:fL-1=2(fL+dL)   (4)

d=f0+d0   (5)

其中,dL为第L层的光流,f0第0层的初始化光流,d0为第0层的光流。

6.如权利要求1所述的光流法的图像匹配系统,其特征在于,使用SRAM2、SRAM3及SRAM4实现图像金字塔的建立和存储;当第k帧图像经中值滤波后同时分别输入到SRAM2和SRAM3中;SRAM2将第k帧图像进行缓存作为第k+1帧图像光流估计的模板,并将第k-1帧图像发送给SRAM4;SRAM3和SRAM4同步建立第k帧图像金字塔和第k-1帧图像金字塔;LK光流匹配模块根据光流和特征点的初始化信息在第k帧图像金字塔和第k-1帧图像金字塔中提取特征点邻域。

7.如权利要求6所述的光流法的图像匹配系统,其特征在于,SRAM3和SRAM4建立图像金字塔的过程为:在一个像素数据输入期间,SRAM完成四次读或写操作,分别记做wr1、wr2、wr3和rd1,根据公式(6)所示条件对像素点的坐标(x,y)进行判断,根据判断结果完成不同层图像的建立,。

说明书 :

一种光流法的图像匹配系统

技术领域

[0001] 本发明属于图像处理的技术领域,尤其是目标搜索跟踪系统中一种光流法的图像匹配系统。

背景技术

[0002] 近年来,国内外对目标搜索跟踪的研究越来越深,算法也越来越趋于成熟,由于其检测跟踪目标的特点,在银行、交通、国防、安保等民用和军用领域得到广泛应用。而图像匹配作为搜索跟踪系统中的重要一环,其匹配的准确性和实时性都影响着目标搜索跟踪系统的效果。
[0003] 一般,图像匹配方法主要是分为基于特征点的匹配和基于图像内扩展区域的匹配。
[0004] 基于特征的匹配方法能够有效的提取出图像中的显著特征,并且运算量相对较小,适合在FPGA上实现。基于图像内扩展区域的匹配是直接对整幅图像或对从图像中提取的小块区域进行匹配,与基于特征的匹配方法相比,基于区域的匹配方法有很多不足,图像的任何畸变都会影响图像内物体的形状和大小,进而影响匹配的质量。区域匹配方法通常是基于像素值匹配的,因此还受收到许多其他图像变化因素的干扰,例如光照变化或者传感器类型的变化。
[0005] 图像匹配的实时性和准确性都影响着目标检测的实时性和准确性,杨陈晨,龚振飞等提出了一种相位相关法的FPGA实现(杨陈晨,顾国华,龚振飞等.相位相关红外图像匹配算法的硬件实现[J].半导体光电,2013,34(5):884-889),该算法实现简单、资源占用率低,但其受图像灰度的影响,对图像旋转及较大几何变换敏感,因而无法满足硬件系统的精度要求。Jang W,Oh S等提出了一种基于Harris角点的光流金字塔匹配算法的FPGA实现方法(Jang W,Oh S,Kim G.A hardware implementation of pyramidal KLT feature tracker for driving assistance systems[C]//Intelligent Transportation Systems,2009.ITSC'09.12th International IEEE Conference on.IEEE,2009:1-6),该方法借助多分辨率的光流估计提高了图像大运动的匹配精度,同时基于角点特征大幅度地降低了计算量,但由于光流金字塔的硬件化资源开销大、实现复杂,从而导致整个系统的成本过高。

发明内容

[0006] 本发明提出一种光流法的图像匹配系统,法优化了KLT特征提取算子的判断条件,并合理地简化了光流金字塔的实现过程;在满足硬件系统对精度要求的前提下,大幅度地降低了方法的计算量及资源开销,同时能够满足旋转图像及较大几何变换图像的匹配要求。
[0007] 为了解决上述技术问题,本发明提供一种光流法的图像匹配系统,其特征在于,包括A/D转换模块、中值滤波模块、KLT特征点提取模块、图像金字塔模块、光流和特征点坐标初始化模块、SRAM控制模块、LK光流匹配模块以及四个SRAM存储芯片SRAM1、SRAM2、SRAM3、SRAM4;A/D转换模块、中值滤波模块、KLT特征点提取模块、图像金字塔模块、光流和特征点坐标初始化模块、SRAM控制模块、LK光流匹配模块设置在FPGA上,A/D转换模块与中值滤波模块相连,中值滤波模块同时与KLT特征点提取模块和图像金字塔模块相连,KLT特征点提取模块、光流和特征点坐标初始化模块、SRAM控制模块和LK光流匹配模块依次相连;SRAM1通过SRAM控制模块与A/D转换模块相连;SRAM2和SRAM3通过SRAM控制模块与图像金字塔模块相连;SRAM4通过SRAM控制模块与SRAM2相连;A/D转换模块的作用在于利用A/D转换芯片将CCD采集的模拟图像数据转化为数字图像数据;中值滤波模块的作用在于使用快速中值滤波法对数字图像数据进行降噪处理;KLT特征点提取模块的作用在于使用KLT特征点提取原理与阈值的设定,完成KLT特征点提取;图像金字塔模块的作用在于使用下采样方法通过SRAM控制模块完成图像金字塔模型的建立和存储;光流和特征点坐标初始化模块的作用在于使用图像金字塔的层数信息将光流和特征点进行初始化;SRAM控制模块的作用在于控制四个SRAM存储芯片的读写操作;LK光流匹配模块的作用在于使用最小化差异函数完成图像匹配。
[0008] 本发明与现有技术相比,其显著优点在于:(1)该方法提出了一种快速的中值滤波的方法,提高了整个算法计算速度;(2)该方法提出了一种新的KLT特征点提取的方法体,节省了FPGA处理板的板上资源;(3)该方法提出了一种利用模块复用实现LK光流匹配的方法;(4)该方法为算法的硬件实现,可保证整个算法的实时性。

附图说明

[0009] 图1是本发明系统简图。
[0010] 图2是本发明系统详图。
[0011] 图3是本发明中值滤波模块中实现3×3矩阵的示意图。
[0012] 图4是本发明KLT特征点提取模块硬件实现示意图。
[0013] 图5是本发明多块SRAM协调操作建立图像金字塔即光流估计的示意图。
[0014] 图6是本发明SRAM3和SRAM4中建立图像金字塔的示意图。
[0015] 图7是本发明光流和特征点坐标初始化模块和LK光流匹配模块算法实现示意图。

具体实施方式

[0016] 本发明是一种光流法的图像匹配系统,是基于KLT(Kanade-Lucas-Tomasi)特征点的LK光流匹配算法的FPGA实现系统。
[0017] 系统构架:
[0018] 本发明系统框架如图1和图2所示,包括A/D转换模块、中值滤波模块、KLT特征点提取模块、图像金字塔模块、光流和特征点坐标初始化模块、SRAM控制模块、LK光流匹配模块以及四个SRAM存储芯片SRAM1、SRAM2、SRAM3、SRAM4;
[0019] A/D转换模块、中值滤波模块、KLT特征点提取模块、图像金字塔模块、光流和特征点坐标初始化模块、SRAM控制模块、LK光流匹配模块设置在FPGA上,A/D转换模块与中值滤波模块相连,中值滤波模块同时与KLT特征点提取模块和图像金字塔模块相连,KLT特征点提取模块、光流和特征点坐标初始化模块、SRAM控制模块和LK光流匹配模块依次相连;SRAM1通过SRAM控制模块与A/D转换模块相连;SRAM2和SRAM3通过SRAM控制模块与图像金字塔模块相连;SRAM4通过SRAM控制模块与SRAM2相连。
[0020] A/D转换模块的作用在于利用A/D转换芯片将CCD采集的模拟图像数据转化为数字图像数据;中值滤波模块的作用在于使用快速中值滤波法对数字图像数据进行降噪处理;KLT特征点提取模块的作用在于使用KLT特征点提取原理与阈值的设定,完成KLT特征点提取;图像金字塔模块的作用在于使用下采样方法通过SRAM控制模块完成图像金字塔模型的建立和存储;光流和特征点坐标初始化模块的作用在于使用图像金字塔的层数信息将光流和特征点进行初始化;SRAM控制模块的作用在于控制四个SRAM存储芯片的读写操作;LK光流匹配模块的作用在于使用最小化差异函数完成图像匹配。
[0021] 系统工作过程:
[0022] 模拟图像经CCD采集后,通过视频口输入到A/D转换模块,A/D转换模块通过SRAM控制模块控制SARM1完成图像奇偶场的合成,得到完整的数字图像后发送给中值滤波模块;
[0023] 数字图像在中值滤波模块中进行降噪处理后,同时输入到KLT特征点提取模块和图像金字塔模块;
[0024] KLT特征点提取模块对接收到的图像数据进行特征点提取,然后将特征点坐标信息发送给光流和特征点坐标初始化模块;
[0025] 图像金字塔模块接收到图像数据后通过SRAM控制模块协调SRAM2、SRAM3、SRAM4建立和存储图像金字塔模型;
[0026] 光流和特征点坐标初始化模块接收到来自KLT特征点提取模块的特征点坐标信息以及来自LK光流匹配模块的光流信息后将光流和特征点坐标初始化,并将初始化后的光流和特征点坐标信息输出到SRAM控制模块;
[0027] LK光流匹配模块根据SRAM控制模块接收到的光流和特征点坐标初始化信息控制SRAM控制模块从SRAM3、SRAM4中读取出图像金字塔模型,进行图像匹配获得光流,然后根据金字塔层数判断是否完成图像匹配,若完成则输出光流完成图像匹配,否则将光流发送到光流和特征点坐标初始化模块再进行初始化。
[0028] 实施例:
[0029] 本实施例采用的FPGA处理板以XC5VFX30T为主芯片,主要存储芯片为SRAM,算法使用Verilog语言描述,程序的编写和仿真是在ISE13.1上完成的。视频图像大小为640×480,时钟为27Mhz。
[0030] 1、A/D转换模块
[0031] 由CCD获得的视频通过视频接口输入到A/D转换模块,A/D转换模块通过SRAM控制模块控制SARM1完成图像奇偶场的合成,得到完整的数字图像后发送给中值滤波模块。
[0032] 2、中值滤波模块
[0033] 中值滤波模块收到数字图像后进行降噪处理,降噪处理过程为:
[0034] 将图像数据中相邻9个像素点的灰度值输入到一个大小为3×3的矩阵中。所述3×3矩阵的建立如图3所示,系在FPGA中调用两个先入先出缓存器实现,两个先入先出缓存器分别记为fifo1、fifo2,将fifo1的输出与fifo2的输入相连。将A/D转换模块输出的数字图像数据输入fifo1,经两行数据的延迟后,共同构成了3行数据。矩阵中的9个点D11,D12,D13,D21,D22,D23,D31,D32,D33分别代表9个像素点的灰度值。
[0035] 在中值滤波运算时,首先对每一行的灰度值按照灰度值的大小进行排序,得到每一行的灰度值的最大值、中间值和最小值。其中第一行的最大值、中间值和最小值如下,[0036] 最大值 Max1=max{D11,D12,D13}
[0037] 中间值 Med1=med{D11,D12,D13}
[0038] 最小值 Min1=min{D11,D12,D13}
[0039] 同理,也可得到第二行像素点灰度值的最大值Max2、中间值Med2和最小值Min2和第三行像素点灰度值的最大值Max3、中间值Med3和最小值Min3。
[0040] 在上面得到的9个灰度值中,三个最大值中的最大值一定是9个灰度值中的最大值。同理,三个最小值中的最小值一定是9个灰度值中的最小值。三个中值中的最大值至少大于五个数即本行的最小值和其他两行中的中值及最小值。而三个中值中的最小值至少小于五个数;即本行的最大值和其他两行的中值和最大值。所以,经比较获得三个最大值中的最小值Min_of_max、三个中值中的中间值Med_of_med以及三个最小值中的最大值Max_of_min,所得到的中间值就是最终的滤波结果Med_data,即9个灰度值的中间值。其具体过程如下:
[0041] Min_of_max=min{Max1,Max2,Max3}
[0042] Med_of_med=med{Med1,Med2,Med3}
[0043] Max_of_min=min{Min1,Min2,Min3}
[0044] 则最后的滤波结果为:
[0045] Med_data=med{Min_of_max,Med_of_med,Max_of_min}
[0046] 最后,中值滤波模块将降噪处理后的图像数据同时发送给KLT特征提取模块和图像金字塔模块。
[0047] 与传统的排序方法相比,这种方法的比较次数减少了许多,只用了19次比较运算求出中值,并且该方法十分适合在FPGA上进行并行处理,可较大地提高算法的运算速度。
[0048] 3、KLT特征提取模块
[0049] (1)本发明使用的特征点提取方法:
[0050] KLT特征提取模块使用KLT特征点算子进行特征点的提取。KLT特征点算子是由Lucas、Kanade和Tomasi提出在文献(Tomasi C,Kanade T.Detection and tracking of point features[M].School of Computer Science,Carnegie Mellon Univ.,1991.)提出的。该算子通过对灰度图像进行二阶求导得到像素点的特征提取矩阵G,再将特征提取矩阵G的特征值与预先设定的阈值进行对比判断,从而完成特征点的提取。在使用KLT特征点算子进行特征点的提取的过程中,设图像中任意一像素点为I(x,y),其特征提取矩阵G及特征方程f(λ)分别如式(1)、(2)所示:
[0051]
[0052] f(λ)=λ2-(a+c)λ+ac-b2
[0053] 其中,Ix为x方向的梯度,Iy为y方向的梯度, 为7*7矩阵中的元素求和,λ为特征值。
[0054] 上述特征值求解方法涉及开根号运算,但在FPGA中,开根号运算不仅逻辑资源开销大,且计算速度较慢。为了在保证精度的前提下降低运算开销,本发明选用公式(3)所示条件作为KLT特征点提取算子的判断条件:
[0055]
[0056] 其中,λT为阈值,可通过调整阈值来控制特征点的数量。
[0057] (2)本发明KLT特征提取模块的硬件实现方法:
[0058] 如图4所示,首先,使用n个先入先出缓存器FIFO组成n×n(本实施例n取7)窗口估计出降噪图像中像素点I(x,y)的特征提取矩阵G,其中x方向梯度Ix为后列像素值I(x,y+1)与该像素值I(x,y)的差,y方向梯度Iy为下行像素值I(x+1,y)与该像素值I(x,y)的差;然后,根据特征提取矩阵G中的参数及阈值λT带入特征方程f(λT),使用特征方程f(λT)按照KLT特征点提取算子的判断条件判断当前窗口的中心像素点是否为特征点,判断过程具体为:设置与图像大小相同的1位逻辑标识序列A(x,y),若当前像素点为KLT特征点,则输出逻辑值1,否则,输出逻辑值0,该逻辑标识序列A(x,y)与滤波后的图像同步输出;第三,对逻辑标识序列A(x,y)进行检测,若A(x,y)为1,则输出当前窗口的中心像素点的坐标,即特征点坐标;否则,继续进行检测;最后将特征点坐标信息输入到光流和特征点坐标初始化模块中。
[0059] 4、图像金字塔建立模块
[0060] 为了利用LK光流算法精确地估计出图像大运动的光流值,需借助图像金字塔结构将图像大运动分解为若干连续的小运动,从而“由粗到精”的进行光流估计。考虑到FPGA资源的有限性及硬件系统的精度要求,本发明合理地简化了LK光流金字塔算法的计算过程,即省去每层计算中的双向估计与迭代过程,只依靠金字塔结构将图像的大运动分解成符合光流计算假设条件的小运动,从而提高图像匹配的精度。
[0061] 本发明中LK光流金字塔的实现过程如下所述:对经中值滤波模块降噪后的图像进行下采样处理,建立三层金字塔结构;设顶层图像的初始光流值为0,下层光流估计时将上层估计出的光流值作为初始光流值初始化本层图像,再在本层图像中根据LK算法进行光流估计。其中,第L层的初始光流值fL的计算公式如式(4)所示,图像总光流d的计算公式如式(5)所示:
[0062] fL-1=2(fL+dL)               (4)
[0063] d=f0+d0              (5)
[0064] 其中,dL为第L层的光流,f0第0层的初始化光流,d0为第0层的光流。
[0065] LK光流的估计需要第k-1帧、第k帧图像同步建立金字塔结构。
[0066] 本发明使用SRAM2、SRAM3及SRAM4实现图像金字塔的建立和存储,具体如图5所示。当第k帧图像经中值滤波后以27Mhz的工作频率同时分别以流水输入到SRAM2和SRAM3中,SRAM2、SRAM3和SRAM4同步进行三条流水线操作:第一条流水线操作是SRAM2将第k帧图像进行缓存作为第k+1帧图像光流估计的模板,并将第k-1帧图像发送给SRAM4;第二条流水线操作是SRAM3和SRAM4同步建立第k帧图像金字塔和第k-1帧图像金字塔;第三条流水线操作是LK光流匹配模块根据光流和特征点的初始化信息在第k帧图像金字塔和第k-1帧图像金字塔中提取特征点邻域。
[0067] SRAM3和SRAM4建立图像金字塔的过程相同,具体如图6所示:SRAM控制模块的工作频率为108Mhz,在一个像素数据输入期间,SRAM可完成四次读或写操作,分别记做wr1、wr2、wr3和rd1。根据式(6)对像素点的坐标(x,y)进行判断,根据判断结果完成不同层图像的建立。本实施例中,在读周期rd1内,从顶层图像开始,结合特征点坐标信息及初始化光流值,提取出以特征点为中心像素的7×7邻域及层数信号,用于LK光流的估计。
[0068]
[0069] 5、光流和特征点坐标初始化模块和LK光流匹配模块
[0070] (1)本发明采用的计算方法:
[0071] 若图像运动满足光流估计的三个前提假设:亮度恒定、图像运动为小位移以及速度连续性,则可得到如式(7)和(8)所示的LK光流计算公式,其中I、J分别为第k-1帧、第k帧图像,dL=[dxL dyL]T为估计光流量:
[0072]
[0073] 整理式(7)可以获得到式(8):
[0074]
[0075] 其中,dxL是x方向的光流,dyL是y方向的光流。
[0076] (2)本发明LK光流估计的实现方式:
[0077] 本发明LK光流估计的实现方式如图7所示。LK光流估计模块的工作频率为108Mhz,当第k-1帧及第k帧图像的特征点信息I(x,y)、J(x,y)以27Mhz的工作频率流水进入LK光流匹配模块时,同步完成I(x,y)-J(x,y)及(I(x,y)+J(x,y))/2的计算。当特征点邻域内7×7=49个数据完全进入LK光流匹配模块后,根据式(8)在5个系统时钟内计算出该特征点在第L层的光流值dL=[dxL dyL]T;若层数L不为0,则把光流输入到光流和特征点坐标初始化模块,光流输入到光流和特征点坐标初始化模块根据初始光流值的计算公式(4)估计出初始光流fL-1,并通过四舍五入提取其整数部分,再根据光流初始化后的整数部分调整SRAM3中特征点的提取地址,完成对下层图像的初始化,并把调整后的SRAM3中特征点的提取地址发送给LK光流匹配模块;若层数L为0,则通过网口同步输出特征点坐标及光流值至电脑端。
[0078] 本实施例整个算法所占的FPGA资源情况如表1所示,其中片上寄存器和片上查找表分别占17.5%和44.6%,由于本实施例算法计算涉及到大量的乘法运算,调用的FPGA上的乘法器资源占到了96.8%,片内的先入先出缓存器占到了63.2%。由于本发明LK光流匹配模块调用的乘法器较多,因此乘法器的资源占用率较高;而其他三个方面的资源占用率均较低。由此说明,本发明算法的总体硬件资源开销较小,明显降低了硬件系统的应用成本,可为后端算法程序的实现提供较大的资源空间。
[0079] 表1
[0080]名称 已用资源 可用资源 所占比例
寄存器 3588 20480 17.5%
查找表 9135 20480 44.6%
乘法器 62 64 96.8%
先入先出缓存器 43 68 63.2%