基于MATLAB的图像压缩感知

一、课题背景

数据压缩技术是提高无线数据传输速度的有效措施之一。传统的数据压缩技术是基于奈奎斯特采样定律进行采样,并根据数据本身的特性降低其冗余度,从而达到压缩的目的。近年来出现的压缩感知理论(Compressed Sensing,CS)则不受制于奈奎斯特采样定律,它是采用非自适应线性投影来保持信号的原始结构,以直接采集压缩后的数据的方式,从尽量少的数据中提取尽量多的信息。

本文阐述了压缩感知方法的基本原理,分析了CS理论框架及关键技术问题,介绍了压缩感知技术应用于无线传感的优势,并着重介绍了信号稀疏变换、观测矩阵设计和重构算法三个方面的最新进展,对研究中现存的难点问题进行了探讨。并运用matlab软件,在离散傅里叶变换(DFT)和离散余弦变换(DCT)分块CS的基础上,采用正交匹配追踪算法(OMP)实现了对一维信号和二维图像的高概率重构。将重构结果与原始信号对比,结果表明,只要采样数M(远小于奈奎斯特定理所需要的采样率)能够包含图像所需要的有用信息时,CS算法就能精确的完成对图像的重构,并且重构效果也比较好。



二、 研究背景和意义

随着人们对信息需求量的增加,网络通信、多媒体技术、存储技术的发展越来越快,网络的规模也越来越大,寻找高效的信息技术来降低数据量成为无线传输系统中急需处理的问题之一。这是因为数字化的各类信息的数据量十分庞大,若不对其进行有效的压缩就难以得到实际的应用,因此,数据压缩技术成为人们研究的一项重要技术。无线传感器网络是近来研究的热点方向之一。它是由分布在监测区域内的大量微型传感器节点通过无线电通信而形成的一个自组织网络系统。这个系统的目的是协作的感知、采集和处理网络覆盖区域里被监测对象的信息,并将结果发送给用户。在一个传感器网络中,常常包含大量传感器节点,每个传感器都会采集大量的数据。这些数据将会被传输到一个控制中心,也会在各个节点之间传输,在这种分布式传感网络中,数据传输功耗和带宽需求非常大,所以,如何对这样的分布式信号进行压缩,从而减小通信开销已经成为非常紧迫的需求。

压缩感知理论与传统奈奎斯特采样定理不同,它指出,只要信号是可压缩的或在某个变换域是稀疏的,那么就可以用一个与变换基不相关的观测矩阵将变换所得高维信号投影到一个低维空间上,然后通过求解一个优化问题就可以从这些少量的投影中以高概率重构出原信号,可以证明这样的投影包含了重构信号的足够信息。 在该理论框架下,采样速率不决定于信号的带宽,而决定于信息在信号中的结构和内容。 事实上,压缩感知理论的某些抽象结论源于Kashin创立的范函分析和逼近论, 最近由Candès,Romberg ,Tao和Donoho等人构造了具体的算法并且通过研究表明了这一理论的巨大应用前景。从信号分析角度来讲,傅立叶变换是信号和数字图像处理的理论基础,小波分析将信号和数字图像处理带入到一个崭新的领域。 多尺度几何分析是继小波分析后的新一代信号分析工具,它具有多分辨、局部化和多方向性等优良特性,更适合于处理图像等高维信号。 这些研究工作都为压缩感知理论奠定了基础。显然,在压缩感知理论中,图像/信号的采样和压缩同时以低速率进行,使传感器的采样和计算成本大大降低,而信号的恢复过程是一个优化计算的过程。 因此,该理论指出了将模拟信号直接采样压缩为数字形式的有效途径,具有直接信息采样特性。 由于从理论上讲任何信号都具有可压缩性,只能找到其相应的稀疏表示空间,就可以有效地进行压缩采样,这一理论必将给信号采样方法带来一次新的革命。

三、流程



主程序流程图如图3.10:

基于MATLAB的图像压缩感知_第1张图片


图3.10 基于离散余弦变换(DCT)的二维图像CS分块重构流程图



CS压缩编码子程序流程图如图3.11:

基于MATLAB的图像压缩感知_第2张图片


图3.11 CS压缩编码子程序流程图


OMP重构子程序如图4.12:

基于MATLAB的图像压缩感知_第3张图片

图3.12 二维图像OMP重构子程序


重构结果及分析

首先我们令分块都为8×8不变,通过选取大小不同的观测矩阵,即在不同的观测长度下,研究采样率对重构效果和重构时间的影响。本实验所选取的观测长度M分别为16、32、64、128。

重构效果如图3.13和图3.14所示。


(a) 原图

(c) M=32

(b) M=16

基于MATLAB的图像压缩感知_第4张图片

基于MATLAB的图像压缩感知_第5张图片

基于MATLAB的图像压缩感知_第6张图片


(d) M=64

(e) M=128

基于MATLAB的图像压缩感知_第7张图片

基于MATLAB的图像压缩感知_第8张图片


图4.13 8×8分块CS在不同M值下lena图像重构效果图


图3.14 8×8分块CS在不同M值下对coins图像重构效果图


(e)M=128

(d)M=64

(a)原始图像

(c)M=32

(b)M=16

基于MATLAB的图像压缩感知_第9张图片

基于MATLAB的图像压缩感知_第10张图片

基于MATLAB的图像压缩感知_第11张图片

基于MATLAB的图像压缩感知_第12张图片

基于MATLAB的图像压缩感知_第13张图片


过重构效果图可以看出,图像的质量随着采样率的增加而显著提高,当采样率较低时,采样信息不能包含图像的所有有效信息,重构会出现很多误差,甚至根本不能实现重构。在实验过程中对于不同稀疏度的图像重构的效果也是不一

样的,重构的时间也相同。当采样率太低而重构算法不能有效进行时,重构时间会特别长,而重构效果也不好。表3.4 给出了在不同的测量值M下,该方法对两幅图像重构所用重构时间、PSNR(峰值信噪比)、MSE(均方差)的对比。


表3.3 8×8分块CS在不同测量值下图像重构参数对比


观测长度M Psnr(dB) MSE 重构时间(s)
lena 16 NaN NaN 41.30
32 24.3720 1.5572e+007 20.03
64 33.2605 2.0114e+006 24.36
128 37.2576 8.0131e+005 27.43
coins 16 NaN NaN 21.49
32 24.2518 1.6010e+007 10.54
64 33.0032 2.1342e+006 12.86
128 37.5355 7.5164e+005 14.66

从表3.3可以看出:当测量数增加时,重构图像的PSNR值有明显的提高,重构效果也相应增强,但当测量数偏低,如测量数为16时,PSNR值明显过低,重构效果很差。这也说明当采样率过低时,该算法的性能很低,达不到压缩感知重构算法的要求。但当采样率较高时,虽然重构图像的效果和PSNR值较高,但整个重构过程所花费的时间也随之增长。重构所需要的观测值数量较多的话,便体现不了压缩感知理论对信号重构所需要的低采样率的优势。所以该算法的性能还需得到进一步的改进和优化。

上面我们只是在8×8分块的情况下运行算法进行图像重构,如果将图像分块为16×16时,会有什么效果呢?下面我们给出16×16分块下,图像cameraman和rice的重构效果图并做出结果分析。

重构效果如图3.15和图3.16所示。


(c)M=32

(b)M=16

(a)原图

基于MATLAB的图像压缩感知_第14张图片

基于MATLAB的图像压缩感知_第15张图片

基于MATLAB的图像压缩感知_第16张图片


图3.15 16×16分块CS在不同M值下对coins图像重构效果图

(e)M=128

(d)M=64

基于MATLAB的图像压缩感知_第17张图片

基于MATLAB的图像压缩感知_第18张图片



(e)M=128

(d)M=64

(a)原始图像

(b)M=16

(c)M=32

基于MATLAB的图像压缩感知_第19张图片

基于MATLAB的图像压缩感知_第20张图片

基于MATLAB的图像压缩感知_第21张图片

基于MATLAB的图像压缩感知_第22张图片

基于MATLAB的图像压缩感知_第23张图片


图3.16 16×16分块CS在不同M值下对lena图像重构效果图



通过实验分析可得采用不同分块重构效果的性能参数的比较如表3.4和表3.5所示:


表3.4 分块压缩感知对lena不同分块的性能比较


lena 分块(8×8) 分块(16×16)
测量值M PSNR(dB) 重构时间(s) PSNR(dB) 重构时间(s)
16 NaN 41.30 NaN 11.57
32 24.3720 20.03 17.9850 6.03
64 33.2605 24.36 20.9283 7.32
128 37.2576 27.43 25.0834 8.72


表4.5 分块压缩感知对coins不同分块的性能比较




coins 分块(8×8) 分块(16×16)
测量值M PSNR(dB) 重构时间(s) PSNR(dB) 重构时间(s)
16 NaN 21.49 NaN 6.88
32 24.2518 10.54 17.3982 3.38
64 33.0032 12.86 21.1624 4.31
128 37.5355 14.66 25.9449 5.03


通过重构效果图可以很明显的看出,随着测量数的增加,重构效果明显增强,重构图像的信噪比PSNR值也随之提高。而从不同分块的效果图以及表3.5和表3.6中的数据可以得出,对于相同的采样数,随着分块大小的减小,图像的重构效果会有很大的提高,但重构时间则会随之增加。分块16×16的重构时间比分块8×8的重构时间少的多,但相应的其重构质量却大为下降。如何构造稳定的、计算复杂度较低的、对观测次数较少的重构算法来精确的恢复可压缩信号,将是未来压缩感知的一个重要的研究方向。

你可能感兴趣的:(网络,算法,人工智能,机器学习,计算机视觉)