一种基于FPGA多镜像的图像去模糊方法、系统及存储介质与流程

一种基于fpga多镜像的图像去模糊方法、系统及存储介质
技术领域
1.本发明涉及图像数据处理技术领域,特别涉及一种基于fpga多镜像的图像去模糊方法、系统及存储介质。
背景技术:
2.在图像采集过程中,由于相机抖动、对焦不准确、噪声等原因,得到的图像会出现模糊现象。去模糊图像处理是图像处理领域的经典问题,常见的方法有传统频域的逆滤波、维纳滤波算法,传统空域的差分复原算法、最小二乘算法,以及新进的基于深度学习的去模糊算法。但以上方法计算资源需求大,一般是在图像获取后,在后端计算能力更强的处理器上实现。对于移动设备,常见的去模糊方法是通过提前采集一定数量的图像结果,离线调试与优化,选择满足条件的系数参数,再同步更新到硬件系统中;另一类是移动设备通过采集多种模式的图像(如长曝光与短曝光),通过获取到的清晰图像的信息,对模糊图像进行去模糊处理。
3.以上移动图像设备的去模糊方案,第一类方案通过提前采集图像数据,离线计算得到最优参数,器件需要进行大量的人为干预,效率较低;同时离线参数获取后,硬件更新往往需要进行重新编译,及时性较差。第二类方案通过采集多种模式图像信息(如不同曝光时间图像,不同传感器图像等),增加了移动设备的设计复杂度和设计成本。
技术实现要素:
4.本发明提出的一种基于fpga多镜像的图像去模糊方法、系统及存储介质,可至少解决上述技术问题之一。
5.为实现上述目的,本发明提出了以下技术方案:一种基于fpga多镜像的图像去模糊方法,包括:获取图像,对所述图像进行去模糊卷积计算,并对去模糊卷积核进行迭代;对每一次迭代后去模糊卷积计算得到的图片进行评估,若去模糊卷积计算前后的图片亮度差值在设定范围内,去模糊卷积计算后的图像对比度增强,则使用本次去模糊卷积核代替现有的去模糊卷积核;去模糊卷积核迭代完成后,获得优化后的去模糊卷积核;使用优化后的去模糊卷积核对相同场景下获取的图像进行去模糊卷积操作;其中,fpga内设有多个不同功能的fpga镜像,每个镜像用于实现上述方法中的若干个步骤。
6.进一步地,所述fpga内设有两个不同功能的fpga镜像:第一镜像和第二镜像;所述第一镜像用于对去模糊卷积核进行迭代,获得优化后的去模糊卷积核;所述第二镜像用于根据所述优化后的去模糊卷积核,对相同场景下获取的图像进行去模糊卷积操作。
7.进一步地,所述去模糊卷积计算为基于log算子的去模糊卷积计算,包括:
log算子中的卷积核参数在设定区间内遍历;遍历过程中的每一个,具有一个设定的log算子,根据所述设定的log算子对所述图像进行卷积计算,得到所述图像的边缘信息;将所述图像边缘信息与所述输入图像叠加,得到去模糊卷积计算后的图像。
8.进一步地,所述对每一次迭代后去模糊卷积计算得到的图片进行评估,包括:评估指标为任一图像s的亮度m和对比度v,由下式计算:由下式计算:其中n为图像上的像素个数,si为当前像素点的像素值;现有去模糊卷积核对应的评估指标为m
inter
和v
inter
;去卷积计算前的图像对应的评估指标为m0和v0;对每一次迭代后去模糊卷积计算得到的图像,计算其亮度和对比度;若且时,则使用本次去模糊卷积核代替现有的去模糊卷积核;其中,thr为设定的亮度差值范围。
9.另一方面,本发明还提出一种基于fpga多镜像的图像去模糊系统,包括:fpga,所述fpga设有两个不同功能的fpga镜像:第一镜像和第二镜像,以及一非易失性存储器;所述第一镜像,用于获取图像,对所述图像进行去模糊卷积计算,并对去模糊卷积核进行迭代;对每一次迭代后去模糊卷积计算得到的图片进行评估,若去模糊卷积计算前后的图片亮度差值在设定范围内,去模糊卷积计算后的图像对比度增强,则使用本次去模糊卷积核代替现有的去模糊卷积核;完成所有迭代后,获得优化后的去模糊卷积核;所述非易失性存储器,用于存储所述第一镜像、所述第二镜像以及优化后的去模糊卷积核的参数;所述第二镜像,用于读取优化后的去模糊卷积核的参数,并根据所述参数对相同场景下获取的图像进行去模糊卷积操作。
10.进一步地,所述第一镜像包括:参数迭代计算模块,用于对所述图像进行去模糊卷积计算,并对去模糊卷积核进行迭代;中间算子,临时保存的优化后的去模糊卷积核,其初始值为现有的去模糊卷积核;品质监测模块,对每一次迭代后去模糊卷积计算得到的图片进行评估,判断是否去模糊卷积计算前后的图片亮度差值在设定范围,且去模糊卷积计算前后的图像对比度增强;若否,则保持中间算子不变;若是,则中间算子更新为本次去模糊卷积核;迭代完成后,将中间算子的去模糊卷积核的参数保存至所述非易失性存储器中。
11.进一步地,所述第二镜像,包括:
图像采集控制模块,用于控制外部设备采集图片并输入到参数应用模块;所述参数应用模块,读取非易失性存储器中的去模糊卷积核的参数,通过去模糊卷积计算对图像进行去模糊操作;图像输出模块,用于输出去模糊后的图像。
12.进一步地,所述去模糊卷积计算为基于log算子的去模糊卷积计算。
13.进一步地,该系统启动后,若当前采图场景未发生变化,且第一镜像已获得优化后的去模糊卷积核,则第二镜像直接执行对图像的去模糊卷积操作;若当前采图场景发生变化,则第一镜像先对去模糊卷积核进行迭代,获得优化后的去模糊卷积核的参数;然后第二镜像读取优化后的去模糊卷积核的参数,并根据所述参数对相同场景下获取的图像进行去模糊卷积操作。
14.又一方面,本发明还提出了一种计算机可读存储介质,所述计算机可读存储介质内保存有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行上述的基于fpga多镜像的图像去模糊方法。
15.在移动图像采集设备中,由于设备计算资源的限制,图像去模糊一般采用固定的算子对图像进行卷积计算,但固定算子的去模糊效果往往无法同时满足不同场景的应用需求,更换场景后可能出现去模糊效果下降的问题。本发明在去模糊算子的应用基础上,增加针对当前场景的去模糊算子迭代更新功能,可针对不同场景重新优化算子参数,实现兼容多场景应用的能力;此外,本发明根据fpga的多镜像功能,将算子迭代功能和算子应用功能分时运行,进一步降低算法对硬件计算资源的要求。
附图说明
16.图1是本发明基于fpga多镜像的图像去模糊系统的示意图;图2是本发明实施例中的非易失性存储器存储内容示意图;图3是本发明实施例中的fpga的进行切换流程图。
具体实施方式
17.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。
18.本实施例首先提出了一种基于fpga多镜像的图像去模糊方法,该方法中的fpga内设有多个不同功能的fpga镜像,本实施例中在fpga内设置两个fpga镜像:第一镜像和第二镜像,可以理解的是,根据去模糊算法的不同需求,可以设计更多的镜像,每个镜像用于实现去模糊方法中的若干个步骤。
19.如图1所示,第一镜像提供去模糊算子的迭代优化功能,主要由初始算子、参数迭代计算模块、中间算子、品质监测模块、图像采集控制模块组成。初始算子保存去模糊卷积核的初始值,根据选择不同去模糊算法,该卷积核具有不同阶数、数值等;参数迭代计算模块用于重复计算去模糊卷积核的参数,该参数主要是卷积核元素数值,参数迭代的方法根据不同算法选择,可设置为参数等步长遍历或者根据计算结果调整;中间算子是基于当前输入卷积核计算结果得到的下一次迭代计算卷积核;品质监测模块用于评估当前条件下图
像去模糊的效果,本方案综合图像亮度和对比度,卷积计算前后的图像亮度在相近范围内,对比度增大的结果被保留;图像采集控制模块在迭代计算过程中控制设备采集图像作为输入;计算完成后,将优化后的算子写入非易失性存储器中。
20.第二镜像提供去模糊算子的应用功能,主要由图像采集控制模块、参数应用模块、图像输出模块组成。图像采集控制模块与第一镜像中的图像采集控制模块类似;参数应用模块通过从非易失性存储器读取第一镜像得到的最优化算子,并将其与输入图像进行卷积计算;计算完成的图像结果由图像输出模块根据特定协议进行传输。
21.本方案中第一镜像采用log算子对输入图像进行卷积计算,提取图像边缘信息,再将卷积后的结果与原始图像进行叠加,得到增强去模糊后的图像。log算子的计算如下式:
22.x、y为像素点坐标位置,为log算子的参数。不同的log算子能够在不同尺度上对图像的边缘进行提取。第一镜像的参数迭代计算模块基于同一张输入图像,将取值在设定区间内进行遍历。对于某一个特定下的log算子,参数迭代计算模块首先产生5
×
5阶的离散归一化卷积核,如=0.5时,有:
23.卷积核与输入图像i进行卷积,得到图像边缘信息,再将其与输入图像叠加得到当前对应的去模糊后图像:第一镜像的品质监测模块接收图像,计算图像亮度和对比度,其中:其中:其中n为图像上的像素个数,si为当前像素点的像素值。
24.将、与原始输入图像对应指标和以及中间算子对应的指标、进行比较,当且时,将中间算子及其对应指标更新为、、,否则保持中间算子和对应指标不变(中间算子的初始值设定为初始算子)。其中,thr为设定的亮度差值范围。当参数迭代计算模块将取值遍历完成,第一镜像将中间算子保存至非易失性存储器的对应区域。
25.本实施例中第二镜像参数应用模块基于优化后log算子,其对应的卷积核为h,提取实际输入图像的边缘信息并与原始图像叠加,获得去模糊后的图像s,即:本实施例还提出一种基于fpga多镜像的图像去模糊系统,和上述的基于fpga多镜像的图像去模糊方法相对应,如图1所示,该系统包括fpga,该fpga设有两个不同功能的fpga镜像:第一镜像和第二镜像,以及一非易失性存储器。
26.第一镜像用于获取图像,对图像进行去模糊卷积计算,并对去模糊卷积核进行迭代;对每一次迭代后去模糊卷积计算得到的图片进行评估,若去模糊卷积计算前后的图片亮度差值在设定范围内,去模糊卷积计算后的图像对比度增强,则使用本次去模糊卷积核代替现有的去模糊卷积核;完成所有迭代后,获得优化后的去模糊卷积核。
27.非易失性存储器用于存储所述第一镜像、所述第二镜像以及优化后的去模糊卷积核的参数。非易失性存储器还存储有启动信息表、备用启动信息表、镜像间的传递参数(针对特定场景优化后的去模糊算子)。
28.第二镜像用于读取优化后的去模糊卷积核的参数,并根据该参数对相同场景下获取的图像进行去模糊卷积操作。
29.非易失性存储器除了存储两个镜像或多个镜像,如图2所示,同时在起始位置(addr0)存储镜像启动信息表,用于引导fpga从非易失性存储器的特定地址进行镜像载入并启动。镜像启动信息表包含器件特征信息和启动地址信息,器件特征信息用于fpga进行匹配和识别,当器件特征信息匹配时,fpga将继续读取后续内容并将其解释为跳转地址,再从跳转地址进行镜像载入和启动。
30.fpga切换不同镜像的流程如图3所示,若当前运行镜像为第一镜像,且参数迭代计算完成,则将非易失性存储器头部区域的启动信息表中的启动地址信息更新为第二镜像的地址(addr2),更新完成后控制fpga重新启动、载入镜像;若当前运行镜像为第二镜像,由于设备运行环境更换等原因需要更新优化去模糊算子,则将非易失性存储器头部区域的启动信息表中的启动地址信息更新为第一镜像的地址(addr1),更新完成后控制fpga重新启动、载入镜像。若为多个镜像的情况,镜像切换方式与上述方法类似,根据镜像启动流程,更新非易失性存储器头部区域的启动信息表中的启动地址信息,并控制fpga重新启动。
31.备用启动信息表的格式与启动详细表相同,放置在非易失性存储器的末尾(addr4)。由于头部地址的启动信息表会频繁更新,若在更新过程中发生错误或设备断电,fpga将从非易失存储器末尾的备用启动信息表载入启动信息正常启动。
32.设备在面临一个新场景时,用户通过发送指令使设备载入第1镜像,载入后设备根据图像采集模块控制采集,并基于采集结果进行前文所述第一镜像的计算过程进行log算子的迭代计算,当迭代计算完成后,设备退出算子迭代过程并将优化后的算子写入非易失性存储器的对应区域(addr3);算子迭代完成并写入对应区域后,设备根据上述镜像切换流程载入第2镜像(正常工作镜像),此时用户可正常配置设备工作;用户开始图像采集后,第2镜像从非易失性存储器的对应区域(addr3)读出去模糊算子,并按照前文所述第二镜像的计算过程进行图像计算;计算结果由输出模块根据特定协议进行输出显示。
33.本实施例的基于fpga多镜像的图像去模糊系统,利用fpga的双镜像功能,增加去模糊算子迭代过程,解决了单一固定算子面对不同场景的适应性下降的问题;同时使用双
镜像,将算子迭代模块和参数应用模块分时复用,大幅降低了算法设计对fpga计算资源的需求。
34.本实施例还包括一种计算机可读存储介质,所述计算机可读存储介质内保存有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行上述的基于fpga多镜像的图像去模糊方法。
35.以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
36.以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
技术特征:
1.一种基于fpga多镜像的图像去模糊方法,其特征在于,包括:获取图像,对所述图像进行去模糊卷积计算,并对去模糊卷积核进行迭代;对每一次迭代后去模糊卷积计算得到的图片进行评估,若去模糊卷积计算前后的图片亮度差值在设定范围内,去模糊卷积计算后的图像对比度增强,则使用本次去模糊卷积核代替现有的去模糊卷积核;去模糊卷积核迭代完成后,获得优化后的去模糊卷积核;使用优化后的去模糊卷积核对相同场景下获取的图像进行去模糊卷积操作;其中,fpga内设有多个不同功能的fpga镜像,每个镜像用于实现上述方法中的若干个步骤。2.根据权利要求1所述的基于fpga多镜像的图像去模糊方法,其特征在于,所述fpga内设有两个不同功能的fpga镜像:第一镜像和第二镜像;所述第一镜像用于对去模糊卷积核进行迭代,获得优化后的去模糊卷积核;所述第二镜像用于根据所述优化后的去模糊卷积核,对相同场景下获取的图像进行去模糊卷积操作。3.根据权利要求1所述的基于fpga多镜像的图像去模糊方法,其特征在于,所述去模糊卷积计算为基于log算子的去模糊卷积计算,包括:log算子中的卷积核参数在设定区间内遍历;遍历过程中的每一个,具有一个设定的log算子,根据所述设定的log算子对所述图像进行卷积计算,得到所述图像的边缘信息;将所述图像边缘信息与所述输入图像叠加,得到去模糊卷积计算后的图像。4.根据权利要求3所述的基于fpga多镜像的图像去模糊方法,其特征在于,所述对每一次迭代后去模糊卷积计算得到的图片进行评估,包括:评估指标为任一图像s的亮度m和对比度v,由下式计算:由下式计算:其中n为图像上的像素个数,s
i
为当前像素点的像素值;现有去模糊卷积核对应的评估指标为m
inter
和v
inter
;去卷积计算前的图像对应的评估指标为m0和v0;对每一次迭代后去模糊卷积计算得到的图像,计算其亮度和对比度;若且时,则使用本次去模糊卷积核代替现有的去模糊卷积核;其中,thr为设定的亮度差值范围。5.一种基于fpga多镜像的图像去模糊系统,其特征在于,包括:fpga,所述fpga设有两个不同功能的fpga镜像:第一镜像和第二镜像,以及一非易失性存储器;
所述第一镜像,用于获取图像,对所述图像进行去模糊卷积计算,并对去模糊卷积核进行迭代;对每一次迭代后去模糊卷积计算得到的图片进行评估,若去模糊卷积计算前后的图片亮度差值在设定范围内,去模糊卷积计算后的图像对比度增强,则使用本次去模糊卷积核代替现有的去模糊卷积核;完成所有迭代后,获得优化后的去模糊卷积核;所述非易失性存储器,用于存储所述第一镜像、所述第二镜像以及优化后的去模糊卷积核的参数;所述第二镜像,用于读取优化后的去模糊卷积核的参数,并根据所述参数对相同场景下获取的图像进行去模糊卷积操作。6.根据权利要求5所述的基于fpga多镜像的图像去模糊系统,其特征在于,所述第一镜像包括:参数迭代计算模块,用于对所述图像进行去模糊卷积计算,并对去模糊卷积核进行迭代;中间算子,临时保存的优化后的去模糊卷积核,其初始值为现有的去模糊卷积核;品质监测模块,对每一次迭代后去模糊卷积计算得到的图片进行评估,判断是否去模糊卷积计算前后的图片亮度差值在设定范围,且去模糊卷积计算前后的图像对比度增强;若否,则保持中间算子不变;若是,则中间算子更新为本次去模糊卷积核;迭代完成后,将中间算子的去模糊卷积核的参数保存至所述非易失性存储器中。7.根据权利要求5所述的基于fpga多镜像的图像去模糊系统,其特征在于,所述第二镜像,包括:图像采集控制模块,用于控制外部设备采集图片并输入到参数应用模块;所述参数应用模块,读取非易失性存储器中的去模糊卷积核的参数,通过去模糊卷积计算对图像进行去模糊操作;图像输出模块,用于输出去模糊后的图像。8.根据权利要求5所述的基于fpga多镜像的图像去模糊系统,其特征在于,所述去模糊卷积计算为基于log算子的去模糊卷积计算。9.根据权利要求5所述的基于fpga多镜像的图像去模糊系统,其特征在于,该系统启动后,若当前采图场景未发生变化,且第一镜像已获得优化后的去模糊卷积核,则第二镜像直接执行对图像的去模糊卷积操作;若当前采图场景发生变化,则第一镜像先对去模糊卷积核进行迭代,获得优化后的去模糊卷积核的参数;然后第二镜像读取优化后的去模糊卷积核的参数,并根据所述参数对相同场景下获取的图像进行去模糊卷积操作。10.一种计算机可读存储介质,所述计算机可读存储介质内保存有计算机程序,其特征在于,所述计算机程序被处理器执行时,使得所述处理器执行如权利要求1至4任一所述的基于fpga多镜像的图像去模糊方法。
技术总结
本发明公开了一种基于FPGA多镜像的图像去模糊方法、系统及存储介质,属于图像数据处理技术领域。该方法包括:对获取的图像进行去模糊卷积计算,并对去模糊卷积核进行迭代;对每一次迭代后去模糊卷积计算得到的图片进行评估,若评估为更优结果,则使用本次去模糊卷积核代替现有的去模糊卷积核;去模糊卷积核迭代完成后,获得优化后的去模糊卷积核;使用优化后的去模糊卷积核对相同场景下获取的图像进行去模糊卷积操作;其中,FPGA内设有多个不同功能的FPGA镜像,每个镜像用于实现上述方法中的若干个步骤。本发明利用FPGA的多镜像功能,增加去模糊算子迭代过程,解决了单一固定算子面对不同场景的不适用的问题,大幅降低了算法设计对FPGA计算资源的需求。算法设计对FPGA计算资源的需求。算法设计对FPGA计算资源的需求。
技术研发人员:罗来富 杨晨飞 殷亚祥 曹桂平 董宁
受保护的技术使用者:合肥埃科光电科技股份有限公司
技术研发日:2023.06.09
技术公布日:2023/8/30
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/