基于FPGA的相似度计算方法及系统技术方案

技术编号:32241452 阅读:19 留言:0更新日期:2022-02-09 17:45
本发明专利技术公开了一种基于FPGA的相似度计算方法及系统,当系统启动时,FPGA模块获取原图数据、参考图数据、参考图均值数据和参考图方差数据,并存入所述存储设备中;计算时,FPGA模块按照各个数据对应设置的数据块尺寸依次轮询读取各个数据,并将数据块依次写入前数据处理调度模块;所述FPGA模块读取数据块,并通过原图处理模块进行原图的方差和均值计算,通过PE处理模块进行卷积计算,计算结果发送至相似度计算模块,以进行相似度计算。本发明专利技术利用FPGA并行运算的功能,分别对各个计算模块进行计算处理,提高相似度计算效率,使得相似度计算的时间大大减少。算的时间大大减少。算的时间大大减少。

【技术实现步骤摘要】
基于FPGA的相似度计算方法及系统


[0001]本专利技术涉及图像处理领域,特别是涉及一种基于FPGA的相似度计算方法及系统。

技术介绍

[0002]深度相机用于获取目标物体的深度信息以此实现3D扫描、场景重建、识别和交互等。深度相机进行深度计算时,需要采集物体的原图图像,并将原图图像上的每一个像素(i,j)与所有参考图像的像素(i,j)计算相关度。
[0003]其中,参考图的生成过程为,每隔距离Δd拍摄一幅参考图,参考图像大约N张,它们分别对应着距离d0,d0+Δd,d0+2Δd,

,d0+NΔd,Δd目前选取的是Mmm。计算出的相关度最高的参考图对应的距离d=d0+iΔd即为当前图像像素(i,j)的深度值。
[0004]在深度计算过程中,原图图像与参考图像之间的相似度计算是至关重要的一个环节,也是耗时最多的环节,若图像相似度计算速度过低,严重影响3D相机在边缘计算端的实时性。因此,如何提高图像间相似度计算速度成为当前3D相机发展过程中亟待解决的问题。

技术实现思路

[0005]鉴于上述状况,有必要提供一种基于FPGA的相似度计算方法及系统,以提高相似度计算速度,解决3D相机在边缘计算端的实时性问题。
[0006]一种基于FPGA的相似度计算方法,应用于相似度计算系统,所述系统包括,FPGA模块、PE处理模块、原图处理模块和相似度计算模块,所述FPGA模块上挂载有存储设备,所述方法包括,
[0007]当系统启动时,所述FPGA模块获取多个图像数据,所述多个图像数据包括原图数据、参考图数据、参考图均值数据和参考图方差数据,并将各个所述图像数据存入所述存储设备中;
[0008]所述FPGA模块按照各个所述原图数据对应设置的数据块尺寸依次轮询读取各个所述图像数据,以在每次轮询时读取得到一个原图数据块、一个参考图数据块、一个参考图均值数据块和一个参考图方差数据块;
[0009]所述FPGA模块将当前轮询次数读取到的当前原图数据块、当前参考图数据块、当前参考图均值数据块和当前参考图方差数据块依次写入前数据处理调度模块;
[0010]所述FPGA模块读取所述前数据处理调度模块中的所述当前原图数据块,并发送至所述原图处理模块,以使所述原图处理模块对所述当前原图数据块进行方差和均值计算,并将计算得到的原图数据块方差和原图数据块均值写入所述存储设备中,同时所述FPGA模块读取所述前数据处理调度模块中的所述当前原图数据块和所述当前参考图数据块,并发送至所述PE处理模块,以使所述PE处理模块对所述当前原图数据块和所述当前参考图数据块进行卷积计算,得到卷积值;
[0011]所述FPGA模块读取所述原图数据块均值、所述原图数据块方差、所述参考图数据块均值和所述参考图数据块方差,以及所述卷积值,并发送至所述相似度计算模块,以使所
述相似度计算模块根据所述FPGA模块发送的数据计算所述当前原图数据块中各个像素和所述当前参考图数据块中各个像素的相似度。
[0012]进一步的,上述相似度计算方法,所述原图处理模块对所述当前原图数据块进行方差和均值计算的步骤包括:
[0013]所述原图处理模块利用dsp矩阵级联的方式对所述当前原图数据块进行方差和均值计算。
[0014]进一步的,上述相似度计算方法,所述FPGA模块读取所述前数据处理调度模块中的所述当前原图数据块和所述当前参考图数据块,并发送至所述PE处理模块的步骤包括:
[0015]所述FPGA模块按照卷积窗口尺寸依序读取所述原图数据块中每个像素的数据和所述参考图数据块中对应像素的数据,并将读取的所述原图数据块中当前像素的数据以及所述参考图块中对应像素的数据发送至所述PE处理模块;
[0016]所述PE处理模块对所述原图数据块和所述参考图数据块进行卷积计算的步骤包括:
[0017]所述PE处理模块利用dsp矩阵对所述原图数据块中当前像素的数据以及所述参考图块中对应像素的数据完成如下公式运算:
[0018][0019]其中,A
ij
,为原图数据块中像素(i,j)的灰度值,A
ij
为参考图块中像素(i,j)的灰度值,s为卷积窗口的尺寸。
[0020]进一步的,上述相似度计算方法,所述FPGA模块包括PS端和PL端,所述存储设备包括第一存储器和第二存储器,所述第一存储器和所述第二存储器分别挂载在所述PS端和所述PL端;
[0021]所述FPGA模块获取多个数据,所述多个数据包括原图数据、参考图数据、参考图均值数据和参考图方差数据,并将各个所述数据存入所述存储设备中的步骤包括:
[0022]所述PS端获取摄像头采集的原图数据,并存储在所述第一存储器中,所述PL端获取存储卡中的参考图数据、参考图均值数据和参考图方差数据,并存储在所述第二存储器中。
[0023]进一步的,上述相似度计算方法,所述前数据调度模块包括第一缓存区、第二缓存区、第三缓存区、第四缓存区和第五缓存区;
[0024]所述当前原图数据块写入所述第一缓存区、所述原图数据块均值和所述原图数据块方差写入所述第二缓存区,所述当前参考图数据块写入所述第三缓存区,所述当前参考图均值数据块写入所述第四缓存区,所述当前参考图方差数据块写入所述第五缓存区。
[0025]本专利技术还公开一种基于FPGA的相似度计算系统,包括,FPGA模块、PE处理模块、原图处理模块和相似度计算模块,所述FPGA模块上挂载有存储设备,其中,
[0026]所述FPGA模块用于:
[0027]当系统启动时,获取多个图像数据,所述多个数据包括原图数据、参考图数据、参考图均值数据和参考图方差数据,并将各个所述图像数据存入所述存储设备中;
[0028]按照各个所述原图数据对应设置的数据块尺寸依次轮询读取各个所述图像数据,
以在每次轮询时读取得到一个原图数据块、一个参考图数据块、一个参考图均值数据块和一个参考图方差数据块;
[0029]将当前轮询次数读取到的当前原图数据块、当前参考图数据块、当前参考图均值数据块和当前参考图方差数据块依次写入前数据处理调度模块;
[0030]读取所述前数据处理调度模块中的所述当前原图数据块,并发送至所述原图处理模块,以使所述原图处理模块对所述当前原图数据块进行方差和均值计算,并将计算得到的原图数据块方差和原图数据块均值写入所述存储设备中,同时所述FPGA模块读取所述前数据处理调度模块中的所述当前原图数据块和所述当前参考图数据块,并发送至所述PE处理模块,以使所述PE处理模块对所述当前原图数据块和所述当前参考图数据块进行卷积计算,得到卷积值;
[0031]读取所述原图数据块均值、所述原图数据块方差、所述参考图数据块均值和所述参考图数据块方差,以及所述卷积值,并发送至所述相似度计算模块,以使所述相似度计算模块根据所述FPGA模块发送的数据计算所述当前原图数据块中各个像素和所述当前参考图数据块中各个像素的相似本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于FPGA的相似度计算方法,其特征在于,应用于相似度计算系统,所述系统包括,FPGA模块、PE处理模块、原图处理模块和相似度计算模块,所述FPGA模块上挂载有存储设备,所述方法包括,当系统启动时,所述FPGA模块获取多个图像数据,所述多个图像数据包括原图数据、参考图数据、参考图均值数据和参考图方差数据,并将各个所述图像数据存入所述存储设备中;所述FPGA模块按照各个所述原图数据对应设置的数据块尺寸依次轮询读取各个所述图像数据,以在每次轮询时读取得到一个原图数据块、一个参考图数据块、一个参考图均值数据块和一个参考图方差数据块;所述FPGA模块将当前轮询次数读取到的当前原图数据块、当前参考图数据块、当前参考图均值数据块和当前参考图方差数据块依次写入前数据处理调度模块;所述FPGA模块读取所述前数据处理调度模块中的所述当前原图数据块,并发送至所述原图处理模块,以使所述原图处理模块对所述当前原图数据块进行方差和均值计算,并将计算得到的原图数据块方差和原图数据块均值写入所述存储设备中,同时所述FPGA模块读取所述前数据处理调度模块中的所述当前原图数据块和所述当前参考图数据块,并发送至所述PE处理模块,以使所述PE处理模块对所述当前原图数据块和所述当前参考图数据块进行卷积计算,得到卷积值;所述FPGA模块读取所述原图数据块均值、所述原图数据块方差、所述参考图数据块均值和所述参考图数据块方差,以及所述卷积值,并发送至所述相似度计算模块,以使所述相似度计算模块根据所述FPGA模块发送的数据计算所述当前原图数据块中各个像素和所述当前参考图数据块中各个像素的相似度。2.如权利要求1所述的相似度计算方法,其特征在于,所述原图处理模块对所述当前原图数据块进行方差和均值计算的步骤包括:所述原图处理模块利用dsp矩阵级联的方式对所述当前原图数据块进行方差和均值计算。3.如权利要求1所述的相似度计算方法,其特征在于,所述FPGA模块读取所述前数据处理调度模块中的所述当前原图数据块和所述当前参考图数据块,并发送至所述PE处理模块的步骤包括:所述FPGA模块按照卷积窗口尺寸依序读取所述原图数据块中每个像素的数据和所述参考图数据块中对应像素的数据,并将读取的所述原图数据块中当前像素的数据以及所述参考图块中对应像素的数据发送至所述PE处理模块;所述PE处理模块对所述原图数据块和所述参考图数据块进行卷积计算的步骤包括:所述PE处理模块利用dsp矩阵对所述原图数据块中当前像素的数据以及所述参考图块中对应像素的数据完成如下公式运算:其中,A
ij
,为原图数据块中像素(i,j)的灰度值,A
ij
为参考图块中像素(i,j)的灰度值,s
为卷积窗口的尺寸。4.如权利要求1所述的相似度计算方法,其特征在于,所述FPGA模块包括PS端和PL端,所述存储设备包括第一存储器和第二存储器,所述第一存储器和所述第二存储器分别挂载在所述PS端和所述PL端;所述FPGA模块获取多个数据,所述多个数据包括原图数据、参考图数据、参考图均值数据和参考图方差数据,并将各个所述数据存入所述存储设备中的步骤包括:所述PS端获取摄像头采集的原图数据,并存储在所述第一存储器中,所述PL端获取存储卡中的参考图数据、参考图均值数据和参考图方差数据,并存储在所述第二存储器中。5.如权利要求1所述的相似度计算方法,其特征在于,所述前数据调度模块包括第一缓存区、第二缓存区、第三缓存区、第四缓存区和第五缓存区;所述当前原图数据块写入所述第一缓存区、所述原图数据块均值和所述原图数据块方差写入所述第二缓存区,所述当前参考图数据块写入所述第三缓存区,所述当前参考图均值数据块写入所述第四缓存区,所述当前参考图方差数据块写入所述第五缓存区。6.一种基于FPGA的相似度计算系统,其特征在于,包括,FPGA模块、PE处理模块、原图处理模块和相似度计算模块,所述F...

【专利技术属性】
技术研发人员:黄振伟郭振民熊斌
申请(专利权)人:南昌虚拟现实研究院股份有限公司
类型:发明
国别省市:

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

1