一种基于GPU平台的并行图像压缩感知方法技术

技术编号:14117305 阅读:199 留言:0更新日期:2016-12-08 00:28
本发明专利技术公开了一种基于GPU平台的并行图像压缩感知方法,属于图像处理技术领域。本发明专利技术在包括CPU端和GPU端的平台上执行下列步骤:在CPU端采用串行方式执行如下操作:读入图像数据,基于稀疏度K、稀疏基进行稀疏处理后,再基于预设观测矩阵进行采样处理,得到采样图像;采用CoSaMP算法对采样图像进行重构处理得到压缩图像:将CoSaMP算法中的信号代理计算、获取扩充支持集、采用最小二乘法获取估计信号、残差更新操作及二范数通过GPU端以并行的方式执行完成,而其他处理则在CPU端执行完成。本发明专利技术基于GPU平台实现图像压缩感知的重构处理的并行实现,提升了重构处理效率。

【技术实现步骤摘要】

本专利技术属于图像处理技术,具体涉及一种基于GPU平台的并行图像压缩感知方法
技术介绍
压缩感知是近几年出现的一种新型信号处理方法,以远低于Nyquist频率对信号同时进行压缩与采样,然后通过求解一个最优化问题就能从少量的观测值中以较高的概率重构出原始信号。目前,压缩感知理论已广泛应用在图像处理领域中的各个方面,如图像融合、去噪、压缩、成像等。压缩感知处理的实现过程主要包括四个模块:图像数据读写、稀疏处理、采样、重构。在采用如CoSaMP算法进行重构处理时,其具体又包括如下6个步骤:(1)计算信号代理,通过矩阵向量乘法来计算残差与观测矩阵(采样时所选择的观测矩阵)每一列的内积;(2)从计算结果中选出前2K(K表示稀疏度)个最大值的位置作为信号索引;(3)基于信号索引和上一次迭代得到的索引集得到当前迭代的索引集;(4)采用最小二乘法获取新的估计信号,即获取当前迭代所对应的估计信号;(5)信号剪切,即从最新估计信号选出前K个最大元素的位置,对当前迭代的索引集进行更新,即将所述前K个最大元素的位置作为的位置,对当前迭代的索引集;(6)基于剪切后的估计信号更新残差,并检验是否满足迭代停止条件,若是,则结束迭代,输出步骤(5)得到的剪切后的估计信号;否则基于更新后的残差继续执行步骤(1)。然而,由于遥感图像具有高分辨率、多时相、数据量大等特点,重构信号时间急剧增加,使得压缩感知理论在遥感图像的加速处理实际应用中存在一定待解决的问题,其重构算法包含大量的浮点矩阵运算和迭代运算,计算复杂度高,仅采用传统的串行方式进行处理,存在运行时间过长的问题,无法满足人们对算法处理的实时性要求。最近几年,GPU(图形处理器)计算能力得到很大的提升,具有强大的浮点运算能力,已成为提高算法处理速度最有效的方式之一。CUDA和OpenCL是GPU应用最广泛的两种编程模型。目前,已有相关人员采用CUDA编程模型对压缩感知算法进行并行化研究,但其实现的并行算法只能应用于特定的NVIDIA平台,无法实现并行算法跨平台处理。如采用CUDA实现的并行算法无法在AMD GPU上运行。
技术实现思路
本专利技术的专利技术目的在于:针对上述存在的问题,提供本专利技术的一种基于GPU平台的并行图像压缩感知方法,在包括CPU端和GPU端的平台上执行下列步骤:在CPU端采用串行方式执行如下操作:读入图像数据,基于稀疏度K、稀疏基进行稀疏处理后,再基于预设观测矩阵进行采样处理,得到采样图像;采用CoSaMP算法对采样图像进行重构处理得到压缩图像:在CPU端完成重构处理的初始化并将初始化参数传输给GPU端,存储在预设的GPU端的存储单元后,CPU端采用串行方式,GPU端采用并行方式执行下列操作:GPU端计算信号代理并将计算结果传给CPU端;CPU端从计算结果中筛选出信号索引,并基于信号索引和上一次迭代得到的索引集得到当前迭代的索引集,并将当前迭代的索引集传给GPU端;GPU端基于采样矩阵和当前迭代的索引集得到扩充支持集,其中采样矩阵为观测矩阵和稀疏基的乘积;GPU端基于扩充支持集和采样图像,采用最小二乘法获取当前迭代的估计信号并传给CPU端;CPU端对当前迭代的估计信号进行信号剪切处理并将剪切结果传给GPU端;GPU端基于剪切结果和采样图像进行残差更新操作,及计算当前残差的二范数并传给CPU端;CPU端基于残差的二范数判断是否满足迭代停止条件,若是,则将当前剪切结果作为重构处理的输出;否则继续迭代处理获取新的估计信号及剪切结果。本专利技术的有益效果是:基于GPU平台实现图像压缩感知的重构处理的并行实现,提升了重构处理效率。附图说明图1 CoSaMP算法并行实现图。图2 OpenCL并行算法实现过程。图3多GPU并行实现流程图。图4在NVIDIA平台上并行CoSaMP算法加速比。图5在AMD平台上并行CoSaMP算法加速比。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚,下面结合实施方式和附图,对本专利技术作进一步地详细描述。本专利技术在对待处理图像进行压缩感知处理时,参见图1,首先输入原始图像,即从原始 图像中读取图像的灰度值,用于后续的处理,例如通过调用GDAL开源空间数据库完成对原始图像的图像数据读写操作;然后进行稀疏处理(DWT),如采用离散小波基作为稀疏基(稀疏矩阵Ψ),对输入的原始图像进行稀疏处理;然后对稀疏处理后的图像数据进行采样处理,得到采样图像,如采用高斯随机矩阵作为观测矩阵Φ;对采样图像进行重构处理,得到重构处理,即压缩后的图像,如常采用CoSaMP算法进行重构处理。通过对重构后的图像数据(压缩图像)进行逆稀疏处理,则能得到恢复图像。其中基于CoSaMP算法的重构过程为:输入:观测矩阵Φ,稀疏矩阵Ψ,测量值y,稀疏度K,采样矩阵A=ΦΨ;初始化:残差r0=y,重构信号索引集(空集),迭代次数n=1;1)计算信号代理,即残差和观测矩阵的每一列的内积gn=ΦTrn-1,符号“T”表示矩阵转置,下同;2)选择信号索引Λ,即Λ={gn中绝对值最大的前2K个元素本文档来自技高网
...
一种基于GPU平台的并行图像压缩感知方法

【技术保护点】
一种基于GPU平台的并行图像压缩感知方法,其特征在于,在包括CPU端和GPU端的平台上执行下列步骤:在CPU端采用串行方式执行如下操作:读入图像数据,基于稀疏度K、稀疏基进行稀疏处理后,再基于预设观测矩阵进行采样处理,得到采样图像;采用CoSaMP算法对采样图像进行重构处理得到压缩图像:在CPU端完成重构处理的初始化并将初始化参数传输给GPU端,存储在预设的GPU端的存储单元后,CPU端采用串行方式,GPU端采用并行方式执行下列操作:GPU端计算信号代理并将计算结果传给CPU端;CPU端从计算结果中筛选出信号索引,并基于信号索引和上一次迭代得到的索引集得到当前迭代的索引集,并将当前迭代的索引集传给GPU端;GPU端基于采样矩阵和当前迭代的索引集得到扩充支持集,其中采样矩阵为观测矩阵和稀疏基的乘积;GPU端基于扩充支持集和采样图像,采用最小二乘法获取当前迭代的估计信号并传给CPU端;CPU端对当前迭代的估计信号进行信号剪切处理并将剪切结果传给GPU端;GPU端基于剪切结果和采样图像进行残差更新操作,及计算当前残差的二范数并传给CPU端;CPU端基于残差的二范数判断是否满足迭代停止条件,若是,则将当前剪切结果作为重构处理的输出;否则继续迭代处理获取新的估计信号及剪切结果。...

【技术特征摘要】
1.一种基于GPU平台的并行图像压缩感知方法,其特征在于,在包括CPU端和GPU端的平台上执行下列步骤:在CPU端采用串行方式执行如下操作:读入图像数据,基于稀疏度K、稀疏基进行稀疏处理后,再基于预设观测矩阵进行采样处理,得到采样图像;采用CoSaMP算法对采样图像进行重构处理得到压缩图像:在CPU端完成重构处理的初始化并将初始化参数传输给GPU端,存储在预设的GPU端的存储单元后,CPU端采用串行方式,GPU端采用并行方式执行下列操作:GPU端计算信号代理并将计算结果传给CPU端;CPU端从计算结果中筛选出信号索引,并基于信号索引和上一次迭代得到的索引集得到当前迭代的索引集,并将当前迭代的索引集传给GPU端;GPU端基于采样矩阵和当前迭代的索引集得到扩充支持集,其中采样矩阵为观测矩阵和稀疏基的乘积;GPU端基于扩充支持集和采样图像,采用最小二乘法获取当前迭代的估计信号并传给CPU端;CPU端对当前迭代的估计信号进行信号剪切处理并将剪切结果传给GPU端;GPU端基于剪切结果和采样图像进行残差更新操作,及计算当前残差的二范数并传给CPU端;CPU端基于残差的二范数判断是否满足迭代停止条件,若是,则将当前剪切结果作为重构处理的...

【专利技术属性】
技术研发人员:黄方董蕾朱强金都兰波李丽
申请(专利权)人:电子科技大学
类型:发明
国别省市:四川;51

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

1