1.一種基于GPU平臺的并行圖像壓縮感知方法,其特征在于,在包括CPU端和GPU端的平臺上執(zhí)行下列步驟:
在CPU端采用串行方式執(zhí)行如下操作:讀入圖像數(shù)據(jù),基于稀疏度K、稀疏基進行稀疏處理后,再基于預(yù)設(shè)觀測矩陣進行采樣處理,得到采樣圖像;
采用CoSaMP算法對采樣圖像進行重構(gòu)處理得到壓縮圖像:
在CPU端完成重構(gòu)處理的初始化并將初始化參數(shù)傳輸給GPU端,存儲在預(yù)設(shè)的GPU端的存儲單元后,CPU端采用串行方式,GPU端采用并行方式執(zhí)行下列操作:
GPU端計算信號代理并將計算結(jié)果傳給CPU端;
CPU端從計算結(jié)果中篩選出信號索引,并基于信號索引和上一次迭代得到的索引集得到當(dāng)前迭代的索引集,并將當(dāng)前迭代的索引集傳給GPU端;
GPU端基于采樣矩陣和當(dāng)前迭代的索引集得到擴充支持集,其中采樣矩陣為觀測矩陣和稀疏基的乘積;
GPU端基于擴充支持集和采樣圖像,采用最小二乘法獲取當(dāng)前迭代的估計信號并傳給CPU端;
CPU端對當(dāng)前迭代的估計信號進行信號剪切處理并將剪切結(jié)果傳給GPU端;
GPU端基于剪切結(jié)果和采樣圖像進行殘差更新操作,及計算當(dāng)前殘差的二范數(shù)并傳給CPU端;
CPU端基于殘差的二范數(shù)判斷是否滿足迭代停止條件,若是,則將當(dāng)前剪切結(jié)果作為重構(gòu)處理的輸出;否則繼續(xù)迭代處理獲取新的估計信號及剪切結(jié)果。
2.如權(quán)利要求1所述的方法,其特征在于,GPU端在執(zhí)行矩陣間的乘法處理時,以分塊的方式將待處理的矩陣存儲到GPU端的局部內(nèi)存中,其中一個矩陣以行的方式進行分塊,另一個矩陣以列的方式進行分塊。
3.如權(quán)利要求1所述的方法,其特征在于,在GPU端,在存儲的初始化參數(shù)和計算結(jié)果時,對數(shù)據(jù)類型進行對齊處理,及存儲位置的首地址從16的整數(shù)倍開始。
4.如權(quán)利要求1所述的方法,其特征在于,在GPU端進行運算處理時,將除法操作通過左移操作實現(xiàn),乘法操作通過右移操作實現(xiàn)。
5.如權(quán)利要求1所述的方法,其特征在于,在GPU端執(zhí)行條件判斷處理時,采用條件表達式的方式實現(xiàn)。
6.如權(quán)利要求1所述的方法,其特征在于,在GPU端進行矩陣乘法處理時,若存在循環(huán)操作,則通過指令使得編譯器有效展開循環(huán)。
7.如權(quán)利要求1所述的方法,其特征在于,平臺包括兩個GPU端,在進行重構(gòu)處理時,兩個GPU端同時對同一采樣圖像進行重構(gòu)處理,將采樣圖像的前1/3分配給一個GPU端處理,采樣圖像的剩余部分分配給另一個GPU端處理。
8.如權(quán)利要求1所述的方法,其特征在于,GPU端采用Opencl編程的方式實現(xiàn)對采樣圖像進行重構(gòu)處理。