一种压缩感知图像恢复方法、装置、设备及介质与流程

文档序号:27099921发布日期:2021-10-27 17:33阅读:153来源:国知局
一种压缩感知图像恢复方法、装置、设备及介质与流程

1.本技术涉及图像处理技术领域,特别涉及一种压缩感知图像恢复方法、装置、设备及介质。


背景技术:

2.目前,由于具有高探测效率、低噪声、低成本、结构简单等优势,压缩感知(cs,compressed sensing)在空间遥感、光学加密传输、医学成像等领域展现出了巨大的应用前景。压缩感知成像技术是一种利用光场强度关联特性恢复待测场景信息的新型成像技术。不同于传统面阵探测器直接成像,压缩感知仅利用无空间分辨力的单点探测器,通过关联光场涨落及回波总光强变化即可实现目标场景信息的重建。
3.压缩感知成像过程主要包括数据采集和图像恢复两个独立的模块,其中图像恢复模块通常是整个压缩感知成像过程中耗时最长的模块,当前压缩感知图像恢复过程主要存在以下三大问题:第一,矩阵运算的数据量很大且都是串行执行;第二,运算过程复杂且运算步骤多,第三,数据运算中间结果之间存在严重依赖。
4.由于目前压缩感知图像恢复技术存在上述问题,导致成像时间过长、难以实现大画面成像,不利于压缩感知的实际应用。因此,如何缩短矩阵运算的时间、降低运算过程的复杂度、解除数据运算中间结果的依赖是本领域有待解决的问题。


技术实现要素:

5.有鉴于此,本技术的目的在于提供一种压缩感知图像恢复方法、装置、设备及介质,能够极大地缩短矩阵运算时间,提高压缩感知图像的恢复速度。其具体方案如下:第一方面,本技术公开了一种压缩感知图像恢复方法,包括:对压缩感知恢复算法中的测量矩阵进行分解以得到多个小尺寸矩阵;分别确定所述压缩感知恢复算法中的感知矩阵与每个所述小尺寸矩阵之间的矩阵运算,得到多组所述矩阵运算;分别对每组所述矩阵运算进行分解以得到每组所述矩阵运算对应的所有计算步骤,并将每组所述矩阵运算中存在数据依赖关系的不同计算步骤划分至不同的运算模块,得到每组所述矩阵运算对应的运算模块集;通过具有并行运算能力的处理芯片对每组所述矩阵运算对应的所述运算模块集进行处理,得到每组所述矩阵运算的运算结果,并对每组所述矩阵运算的运算结果进行合并以得到压缩感知图像恢复结果。
6.可选的,所述对压缩感知恢复算法中的测量矩阵进行分解以得到多个小尺寸矩阵,包括:对压缩感知恢复算法中的测量矩阵按列进行分解,以得到与所述测量矩阵的列数相同的多个列向量;相应的,所述分别确定所述压缩感知恢复算法中的感知矩阵与每个所述小尺寸矩
阵之间的矩阵运算,得到多组所述矩阵运算,包括:分别确定所述压缩感知恢复算法中的感知矩阵与每个所述列向量之间的矩阵运算,得到多组所述矩阵运算。
7.可选的,所述分别对每组所述矩阵运算进行分解以得到每组所述矩阵运算对应的所有计算步骤,包括:分别确定每组所述矩阵运算所包含的全部运算功能;基于一个运算功能对应一个计算步骤的分解方式,分别对每组所述矩阵运算进行分解,以得到每组所述矩阵运算对应的所有计算步骤。
8.可选的,所述将每组所述矩阵运算中存在数据依赖关系的不同计算步骤划分至不同的运算模块,得到每组所述矩阵运算对应的运算模块集,包括:确定每个计算步骤之间的输入输出数据的依赖关系;基于所述输入输出数据的依赖关系,分别对每组所述矩阵运算中的不同计算步骤进行划分,以将存在所述依赖关系的不同计算步骤划分至不同的运算模块,得到每组所述矩阵运算对应的运算模块集。
9.可选的,所述通过具有并行运算能力的处理芯片对每组所述矩阵运算对应的所述运算模块集进行处理,得到每组所述矩阵运算的运算结果,包括:基于不同计算步骤之间的数据依赖关系,确定出所述运算模块集中每个运算模块的运算优先级;通过具有并行运算能力的处理芯片并按照所述运算优先级,对每组所述矩阵运算对应的所述运算模块集进行处理,得到每组所述矩阵运算的运算结果。
10.可选的,所述对每组所述矩阵运算的运算结果进行合并以得到压缩感知图像恢复结果,包括:按照所述矩阵运算对应的所述小尺寸矩阵在所述测量矩阵中的位置先后顺序,对每组所述矩阵运算的运算结果进行依次合并以得到压缩感知图像恢复结果。
11.可选的,所述通过具有并行运算能力的处理芯片对每组所述矩阵运算对应的所述运算模块集进行处理,得到每组所述矩阵运算的运算结果,包括:将每组所述矩阵运算对应的所述运算模块集装载至现场可编程逻辑门阵列芯片的片上存储,以利用所述现场可编程逻辑门阵列芯片对每组所述矩阵运算对应的所述运算模块集进行流水并行处理,得到每组所述矩阵运算的运算结果。
12.第二方面,本技术公开了一种压缩感知图像恢复装置,包括:矩阵分解模块,用于对压缩感知恢复算法中的测量矩阵进行分解以得到多个小尺寸矩阵;运算确定模块,用于分别确定所述压缩感知恢复算法中的感知矩阵与每个所述小尺寸矩阵之间的矩阵运算,得到多组所述矩阵运算;步骤划分模块,用于分别对每组所述矩阵运算进行分解以得到每组所述矩阵运算对应的所有计算步骤,并将每组所述矩阵运算中存在数据依赖关系的不同计算步骤划分至不同的运算模块,得到每组所述矩阵运算对应的运算模块集;合并模块,用于通过具有并行运算能力的处理芯片对每组所述矩阵运算对应的所述运算模块集进行处理,得到每组所述矩阵运算的运算结果,并对每组所述矩阵运算的运
算结果进行合并以得到压缩感知图像恢复结果。
13.第三方面,本技术公开了一种电子设备,包括处理器和存储器;其中,所述处理器执行所述存储器中保存的计算机程序时实现前述的压缩感知图像恢复方法。
14.第四方面,本技术公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现前述的压缩感知图像恢复方法。
15.可见,本技术先对压缩感知恢复算法中的测量矩阵进行分解以得到多个小尺寸矩阵,然后分别确定所述压缩感知恢复算法中的感知矩阵与每个所述小尺寸矩阵之间的矩阵运算,得到多组所述矩阵运算,再分别对每组所述矩阵运算进行分解以得到每组所述矩阵运算对应的所有计算步骤,并将每组所述矩阵运算中存在数据依赖关系的不同计算步骤划分至不同的运算模块,得到每组所述矩阵运算对应的运算模块集,最后通过具有并行运算能力的处理芯片对每组所述矩阵运算对应的所述运算模块集进行处理,得到每组所述矩阵运算的运算结果,并对每组所述矩阵运算的运算结果进行合并以得到压缩感知图像恢复结果。可见,本技术通过对压缩感知中的大尺寸测量矩阵进行拆分,得到的多个小尺寸运算,并将上述小尺寸矩阵与感知矩阵之间的矩阵运算进行细化分解,得到多个计算步骤,并根据计算步骤数据之间的依赖关系,将上述计算步骤划分至不同的运算模块,再将上述运算模块中的计算步骤在具有并行运算能力的处理芯片上并行执行,能够极大地缩短矩阵运算时间,提高压缩感知图像恢复的速度。
附图说明
16.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
17.图1为本技术公开的一种压缩感知图像恢复方法流程图;图2为本技术公开的一种具体的压缩感知图像恢复方法流程图;图3为本技术公开的一种具体的压缩感知测量矩阵拆分示意图;图4为本技术公开的一种具体的小尺寸矩阵运算分解示意图;图5为本技术公开的一种具体的模块划分示意图;图6为本技术公开的一种具体的fpga流水并行执行示意图;图7为本技术公开的一种具体的小尺寸矩阵运算结果合并示意图;图8为本技术公开的一种压缩感知图像恢复装置结构示意图;图9为本技术公开的一种电子设备结构图。
具体实施方式
18.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
19.本技术实施例公开了一种压缩感知图像恢复方法,参见图1所示,该方法包括:
步骤s11:对压缩感知恢复算法中的测量矩阵进行分解以得到多个小尺寸矩阵。
20.本实施例中,保持不因图像差异而变化的压缩感知恢复算法中的感知矩阵不变,将因图像差异而不同的压缩感知恢复算法中的测量矩阵进行拆分,得到相应的多个小尺寸矩阵。需要指出的是,在对上述测量矩阵进行拆分时,可以根据实际的应用情况进行拆分,可以对测量矩阵按列进行拆分,也可以按行进行拆分,并且,在按行或按列进行拆分时,既可以拆分为单列或单行,也可以拆分为多列或多行。
21.步骤s12:分别确定所述压缩感知恢复算法中的感知矩阵与每个所述小尺寸矩阵之间的矩阵运算,得到多组所述矩阵运算。
22.本实施例中,在对压缩感知恢复算法中的测量矩阵进行分解得到多个小尺寸矩阵之后,可以分别确定出所述感知矩阵与每个上述小尺寸矩阵之间的矩阵运算的类型,进一步的可以利用确定出的矩阵运算的类型对上述感知矩阵与每个上述小尺寸矩阵进行矩阵运算,得到与上述小尺寸矩阵数量相同的多组所述矩阵运算。
23.步骤s13:分别对每组所述矩阵运算进行分解以得到每组所述矩阵运算对应的所有计算步骤,并将每组所述矩阵运算中存在数据依赖关系的不同计算步骤划分至不同的运算模块,得到每组所述矩阵运算对应的运算模块集。
24.本实施例中,在分别确定所述压缩感知恢复算法中的感知矩阵与每个所述小尺寸矩阵之间的矩阵运算,得到多组所述矩阵运算之后,分别对每组上述矩阵运算的运算过程进行细化分解,得到与每组上述矩阵运算对应的细化展开后的计算步骤,在得到上述计算步骤之后,对每组上述矩阵运算对应的计算步骤中的数据之间的关系进行分析,依据运算过程中数据的关联性,判断每组中不同计算步骤之间是否存在数据依赖关系,其中,上述数据依赖关系包括但不限于数据输入输出之间的依赖关系,若上述不同的计算步骤之间存在数据依赖关系,则将存在数据依赖关系的不同的计算步骤划分到不同的运算模块,通过对所有每组所述矩阵运算中的计算步骤进行上述划分处理,得到每组所述矩阵运算对应的运算模块集。
25.步骤s14:通过具有并行运算能力的处理芯片对每组所述矩阵运算对应的所述运算模块集进行处理,得到每组所述矩阵运算的运算结果,并对每组所述矩阵运算的运算结果进行合并以得到压缩感知图像恢复结果。
26.本实施例中,在分别对每组所述矩阵运算进行分解以得到每组所述矩阵运算对应的所有计算步骤,并将每组所述矩阵运算中存在数据依赖关系的不同计算步骤划分至不同的运算模块,得到每组所述矩阵运算对应的运算模块集之后,将所有的每组上述矩阵运算中经过拆分后包含不存在数据依赖关系的不同运算模块移植到具有并行运算能力的处理芯片上,并在上述具有并行运算能力的处理芯片上流水并行执行上述运算模块中所包含的计算步骤,得到对应的每组上述矩阵运算的运算结果,在得到每组上述矩阵运算的运算结果之后,可以将上述矩阵运算的运算结果进行合并,通过上述合并之后得到的结果,可以实现对压缩感知图像的恢复。
27.本实施例中,所述对每组所述矩阵运算的运算结果进行合并以得到压缩感知图像恢复结果,具体可以包括:按照所述矩阵运算对应的所述小尺寸矩阵在所述测量矩阵中的位置先后顺序,对每组所述矩阵运算的运算结果进行依次合并以得到压缩感知图像恢复结果。可以理解的是,在得到每组所述矩阵运算的运算结果之后,可以按照上述矩阵运算对应
的小尺寸矩阵在压缩感知恢复算法中测量矩阵所处位置的先后顺序,对每组所述矩阵运算的运算结果进行依次合并,并将上述合并结果作为压缩感知图像恢复的结果。
28.可见,本技术实施例先对压缩感知恢复算法中的测量矩阵进行分解以得到多个小尺寸矩阵,然后分别确定所述压缩感知恢复算法中的感知矩阵与每个所述小尺寸矩阵之间的矩阵运算,得到多组所述矩阵运算,再分别对每组所述矩阵运算进行分解以得到每组所述矩阵运算对应的所有计算步骤,并将每组所述矩阵运算中存在数据依赖关系的不同计算步骤划分至不同的运算模块,得到每组所述矩阵运算对应的运算模块集,最后通过具有并行运算能力的处理芯片对每组所述矩阵运算对应的所述运算模块集进行处理,得到每组所述矩阵运算的运算结果,并对每组所述矩阵运算的运算结果进行合并以得到压缩感知图像恢复结果。可见,本技术实施例通过对压缩感知中的大尺寸测量矩阵进行拆分,得到的多个小尺寸运算,并将上述小尺寸矩阵与感知矩阵之间的矩阵运算进行细化分解,得到多个计算步骤,并根据计算步骤数据之间的依赖关系,将上述计算步骤划分至不同的运算模块,再将上述运算模块中的计算步骤在具有并行运算能力的处理芯片上并行执行,能够极大地缩短矩阵运算时间,提高压缩感知图像恢复的速度。
29.本技术实施例公开了一种具体的压缩感知图像恢复方法,参见图2所示,该方法包括:步骤s21:对压缩感知恢复算法中的测量矩阵按列进行分解,以得到与所述测量矩阵的列数相同的多个列向量。
30.本实施例中,在对压缩感知恢复算法中的测量矩阵进行分解时,保持不因图像差异而变化的压缩感知恢复算法中的感知矩阵不变,将因图像差异而不同的压缩感知恢复算法中的测量矩阵按列进行拆分,得到与所述测量矩阵的列数相同的多个列向量。具体的,如图3所示,保持尺寸大小为m
×
n的感知矩阵a不变,将因图像而异的尺寸大小为n
×
k的测量矩阵b按列进行拆分,得到k列尺寸大小为n
×
1的列向量bx(1≤x≤k)。
31.步骤s22:分别确定所述压缩感知恢复算法中的感知矩阵与每个所述列向量之间的矩阵运算,得到多组所述矩阵运算。
32.本实施例中,在对压缩感知恢复算法中的测量矩阵按列进行分解,得到与所述测量矩阵的列数相同的多个列向量之后,可以进一步的分别确定出所述压缩感知恢复算法中的感知矩阵与每个上述列向量之间的矩阵运算地类型,得到与上述测量矩阵的列数相同的多组所述矩阵运算。例如图3所示,在对尺寸大小为n
×
k的测量矩阵b按列进行拆分得到k列尺寸大小为n
×
1的列向量bx(1≤bx≤k)之后,可以分别将压缩感知恢复算法中的感知矩阵a与每个上述列向量bx之间进行矩阵运算,得到k组所述矩阵运算 。
33.步骤s23:分别确定每组所述矩阵运算所包含的全部运算功能。
34.本实施例中,在分别确定所述压缩感知恢复算法中的感知矩阵与每个所述列向量之间的矩阵运算,得到多组所述矩阵运算之后,将每组所述矩阵运算的运算过程进行展开,并进一步的根据展开后的运算过程确定出每组所述矩阵运算中所包含的全部运算功能。
35.步骤s24:基于一个运算功能对应一个计算步骤的分解方式,分别对每组所述矩阵运算进行分解,以得到每组所述矩阵运算对应的所有计算步骤。
36.本实施例中,在分别确定每组所述矩阵运算所包含的全部运算功能之后,可以根据上述运算功能对每组所述矩阵运算的运算过程进行分解,具体的,可以基于一个运算功
能对应一个计算步骤的分解方式将每组所述矩阵运算分解为功能单一的多个独立的计算步骤。例如,参见图4所示,图4为将感知矩阵a与按列拆分后的测量矩阵b的任一列向量bx进行矩阵运算,并将上述矩阵运算的运算过程基于一个运算功能对应一个计算步骤的分解方式进行分解,得到粒度很小的一个一个功能单一的计算步骤,如步骤1、步骤2、步骤w。
37.步骤s25:确定每个计算步骤之间的输入输出数据的依赖关系。
38.本实施例中,在基于一个运算功能对应一个计算步骤的分解方式,分别对每组所述矩阵运算进行分解,得到每组所述矩阵运算对应的所有计算步骤之后,则对不同的上述计算步骤进行分析,并确定出每个计算步骤之间的输入输出数据的依赖关系。具体的,若任一计算步骤中的输入数据和/或输出数据作为另一个计算步骤的输入数据和/或输出数据,则可以确定出这两个计算步骤之间的输入输出数据存在依赖关系。例如,参见图4所示,图4中步骤4是由步骤1的得到的,则可以确定步骤1与步骤4之间存在输入输出数据的依赖关系。
39.步骤s26:基于所述输入输出数据的依赖关系,分别对每组所述矩阵运算中的不同计算步骤进行划分,以将存在所述依赖关系的不同计算步骤划分至不同的运算模块,得到每组所述矩阵运算对应的运算模块集。
40.本实施例中,在确定每个计算步骤之间的输入输出数据的依赖关系之后,可以基于确定出的上述输入输出数据的依赖关系分别对每组上述矩阵运算中的不同计算步骤进行划分。具体的,若确定出不同计算步骤之间存在输入输出数据的依赖关系,则表明上述不同计算步骤中的某个计算步骤的输入数据和/或输出数据与上述不同计算步骤中的另一个计算步骤的输入数据和/或输出数据之间存在关联,则将存在输入输出数据的依赖关系的计算步骤划分到不同的运算模块,进而得到每组矩阵运算对应的运算模块集。例如,参见图5所示,将图4中存在数据依赖关系的计算步骤划分到不同的运算模块中,将不存在数据依赖关系的计算步骤划分到同一个运算模块。如计算步骤1的输入输出数据与计算步骤2的输入输出数据没有依赖关系,则将计算步骤1和计算步骤2划分到相同的运算模块中,即划分到模块1中;计算步骤4的输入数据是计算步骤1的输出数据,则将计算步骤1和计算步骤4划分到不同的运算模块中,即分别划分到模块1和模块2中。
41.步骤s27:基于不同计算步骤之间的数据依赖关系,确定出所述运算模块集中每个运算模块的运算优先级。
42.本实施例中,在基于所述输入输出数据的依赖关系,分别对每组所述矩阵运算中的不同计算步骤进行划分,以将存在所述依赖关系的不同计算步骤划分至不同的运算模块,得到每组所述矩阵运算对应的运算模块集之后,可以进一步的根据不同计算步骤之间的数据依赖关系的先后顺序确定出上述运算模块集中每个运算模块的运算优先级。例如图5所示,在将存在输入输出数据的依赖关系的计算步骤1和计算步骤4分别划分到不同的两个运算模块之后,由于计算步骤1的输出为计算步骤4的输入,则计算步骤1所在的运算模块优先于计算步骤4所在的运算模块执行。
43.步骤s28:通过具有并行运算能力的处理芯片并按照所述运算优先级,对每组所述矩阵运算对应的所述运算模块集进行处理,并对每组所述矩阵运算的运算结果进行合并以得到压缩感知图像恢复结果。
44.本实施例中,在基于不同计算步骤之间的数据依赖关系,确定出所述运算模块集
中每个运算模块的运算优先级之后,可以将每组所述矩阵运算对应的所述运算模块集移植到具有并行运算能力的处理芯片上,并在上述具有并行运算能力的处理芯片上按照上述运算优先级执行上述运算模块集中所有运算模块对应的计算步骤,得到每组所述矩阵运算的运算结果,并按照所述矩阵运算对应的所述列向量在所述测量矩阵中位置的先后顺序,对每组所述矩阵运算的运算结果进行依次合并,并将合并后的结果作为压缩感知图像恢复的结果。
45.在一种具体的实施例中,所述通过具有并行运算能力的处理芯片对每组所述矩阵运算对应的所述运算模块集进行处理,得到每组所述矩阵运算的运算结果,可以包括:将每组所述矩阵运算对应的所述运算模块集装载至fpga(即field programmable gate array,现场可编程逻辑门阵列)芯片的片上存储,以利用所述fpga芯片对每组所述矩阵运算对应的所述运算模块集进行流水并行处理,得到每组所述矩阵运算的运算结果。可以理解的是,在获取到上述运算模块集并确定出所述运算模块集中每个运算模块的运算优先级之后,可以将上述运算模块集中的每个运算模块移植到fpga芯片上进行片上存储,并利用fpga芯片强大的并行处理特性对上述数运算模块中的计算步骤进行流水并行处理,从而得到每组所述矩阵运算的运算结果。具体的,参见图6所示,将经过解除依赖关系后的图5中的各个运算模块移植到fpga芯片的cycle单元上并流水并行处理,如图6中第一个cycle单元执行模块1的步骤1,第二个cycle单元并行执行模块1的步骤2和模块2的步骤4,第三个cycle单元并行执行模块1的步骤3、模块2的步骤5和模块3的步骤7,第四个cycle单元并行执行模块2的步骤6同时执行模块3的步骤8,第五个cycle单元执行模块3的步骤9,执行完毕后得到整个小尺寸矩阵的运算结果rx(1≤x≤k)。进一步的,将所有运算矩阵在fpga芯片上流水并行处理,并参照图7所示,按照每个矩阵运算在运算模块集中的运算优先级进行合并,得到尺寸大小为m
×
k的最终合并结果r,上述矩阵r即为压缩感知图像恢复结果。
46.可见,本技术实施例先对压缩感知恢复算法中的测量矩阵按列进行分解,得到与所述测量矩阵的列数相同的多个列向量,然后分别确定所述压缩感知恢复算法中的感知矩阵与每个所述列向量之间的矩阵运算,得到多组所述矩阵运算,并分别确定每组所述矩阵运算所包含的全部运算功能,然后基于一个运算功能对应一个计算步骤的分解方式,分别对每组所述矩阵运算进行分解,得到每组所述矩阵运算对应的所有计算步骤,并确定出每个计算步骤之间的输入输出数据的依赖关系,再基于所述输入输出数据的依赖关系,分别对每组所述矩阵运算中的不同计算步骤进行划分,以将存在所述依赖关系的不同计算步骤划分至不同的运算模块,得到每组所述矩阵运算对应的运算模块集,最后基于不同计算步骤之间的数据依赖关系,确定出所述运算模块集中每个运算模块的运算优先级,通过具有并行运算能力的处理芯片并按照所述运算优先级,对每组所述矩阵运算对应的所述运算模块集进行处理,并对每组所述矩阵运算的运算结果进行合并以得到压缩感知图像恢复结果。可见,本技术实施例通过对压缩感知中的大尺寸测量矩阵按列进行拆分,得到功能单一的多个独立的小尺寸列向量,并将上述列向量分别与压缩感知恢复算法中的感知矩阵进行矩阵运算,然后将上述矩阵运算进行细化分解,得到多个计算步骤,并根据计算步骤数据之间的依赖关系,将上述计算步骤划分至不同的运算模块,再将上述运算模块中的计算步骤在具有并行运算能力的处理芯片上并行执行,能够极大缩短矩阵运算时间,提高压缩感知图像恢复的速度。
47.相应的,本技术实施例还公开了一种压缩感知图像恢复装置,参见图8所示,该装置包括:矩阵分解模块11,用于对压缩感知恢复算法中的测量矩阵进行分解以得到多个小尺寸矩阵;运算确定模块12,用于分别确定所述压缩感知恢复算法中的感知矩阵与每个所述小尺寸矩阵之间的矩阵运算,得到多组所述矩阵运算;步骤划分模块13,用于分别对每组所述矩阵运算进行分解以得到每组所述矩阵运算对应的所有计算步骤,并将每组所述矩阵运算中存在数据依赖关系的不同计算步骤划分至不同的运算模块,得到每组所述矩阵运算对应的运算模块集;合并模块14,用于通过具有并行运算能力的处理芯片对每组所述矩阵运算对应的所述运算模块集进行处理,得到每组所述矩阵运算的运算结果,并对每组所述矩阵运算的运算结果进行合并以得到压缩感知图像恢复结果。
48.其中,关于上述各个模块的具体工作流程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
49.可见,本技术实施例先对压缩感知恢复算法中的测量矩阵进行分解以得到多个小尺寸矩阵,然后分别确定所述压缩感知恢复算法中的感知矩阵与每个所述小尺寸矩阵之间的矩阵运算,得到多组所述矩阵运算,再分别对每组所述矩阵运算进行分解以得到每组所述矩阵运算对应的所有计算步骤,并将每组所述矩阵运算中存在数据依赖关系的不同计算步骤划分至不同的运算模块,得到每组所述矩阵运算对应的运算模块集,最后通过具有并行运算能力的处理芯片对每组所述矩阵运算对应的所述运算模块集进行处理,得到每组所述矩阵运算的运算结果,并对每组所述矩阵运算的运算结果进行合并以得到压缩感知图像恢复结果。可见,本技术实施例通过对压缩感知中的大尺寸测量矩阵进行拆分,得到的多个小尺寸运算,并将上述小尺寸矩阵与感知矩阵之间的矩阵运算进行细化分解,得到多个计算步骤,并根据计算步骤数据之间的依赖关系,将上述计算步骤划分至不同的运算模块,再将上述运算模块中的计算步骤在具有并行运算能力的处理芯片上并行执行,能够极大地缩短矩阵运算时间,提高压缩感知图像恢复的速度。
50.在一些具体实施例中,所述矩阵分解模块11,具体可以包括:第一矩阵分解单元,用于对压缩感知恢复算法中的测量矩阵按列进行分解,以得到与所述测量矩阵的列数相同的多个列向量;相应的,所述运算确定模块12,具体可以包括:运算确定单元,用于分别确定所述压缩感知恢复算法中的感知矩阵与每个所述列向量之间的矩阵运算,得到多组所述矩阵运算。
51.在一些具体实施例中,所述步骤划分模块13,具体可以包括:第一确定单元,用于分别确定每组所述矩阵运算所包含的全部运算功能;运算分解单元,用于基于一个运算功能对应一个计算步骤的分解方式,分别对每组所述矩阵运算进行分解,以得到每组所述矩阵运算对应的所有计算步骤。
52.在一些具体实施例中,所述步骤划分模块13,具体可以包括:第二确定单元,用于确定每个计算步骤之间的输入输出数据的依赖关系;步骤划分单元,用于基于所述输入输出数据的依赖关系,分别对每组所述矩阵运
算中的不同计算步骤进行划分,以将存在所述依赖关系的不同计算步骤划分至不同的运算模块,得到每组所述矩阵运算对应的运算模块集。
53.在一些具体实施例中,所述合并模块14,具体可以包括:优先级确定单元,用于基于不同计算步骤之间的数据依赖关系,确定出所述运算模块集中每个运算模块的运算优先级;模块集处理单元,用于通过具有并行运算能力的处理芯片并按照所述运算优先级,对每组所述矩阵运算对应的所述运算模块集进行处理,得到每组所述矩阵运算的运算结果。
54.在一些具体实施例中,所述合并模块14,具体可以包括:合并单元,用于按照所述矩阵运算对应的所述小尺寸矩阵在所述测量矩阵中的位置先后顺序,对每组所述矩阵运算的运算结果进行依次合并以得到压缩感知图像恢复结果。
55.在一些具体实施例中,所述合并模块14,具体可以包括:装载单元,用于将每组所述矩阵运算对应的所述运算模块集装载至fpga芯片的片上存储,以利用所述fpga芯片对每组所述矩阵运算对应的所述运算模块集进行流水并行处理,得到每组所述矩阵运算的运算结果。
56.进一步的,本技术实施例还公开了一种电子设备,图9是根据一示例性实施例示出的电子设备20结构图,图中的内容不能认为是对本技术的使用范围的任何限制。
57.图9为本技术实施例提供的一种电子设备20的结构示意图。该电子设备 20,具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的压缩感知图像恢复方法中的相关步骤。另外,本实施例中的电子设备20具体可以为电子计算机。
58.本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口24能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本技术技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
59.另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、 磁盘或者光盘等,其上所存储的资源可以包括操作系统221、计算机程序222 等,存储方式可以是短暂存储或者永久存储。
60.其中,操作系统221用于管理与控制电子设备20上的各硬件设备以及计算机程序222,其可以是windows server、netware、unix、linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的压缩感知图像恢复方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。
61.进一步的,本技术还公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现前述公开的压缩感知图像恢复方法。关于该方法的具体步骤可以参考前述实施例中公开的相应内容,在此不再进行赘述。
62.本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它
实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
63.专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
64.结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd

rom、或技术领域内所公知的任意其它形式的存储介质中。
65.最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
66.以上对本技术所提供的一种压缩感知图像恢复方法、装置、设备及介质进行了详细介绍,本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想;同时,对于本领域的一般技术人员,依据本技术的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本技术的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1