什么是分块压缩感知?
我们把它拆解成三个核心概念:

-
压缩感知:
- 核心思想:传统的奈奎斯特采样定理要求采样频率至少是信号最高频率的两倍,这导致高分辨率图像需要海量的数据,给存储和传输带来巨大压力。
- CS突破:CS理论指出,如果信号是稀疏的(或在某个变换域下是稀疏的),那么我们可以通过远少于传统奈奎斯特采样数量的随机线性测量来精确地重构该信号。
- 关键要素:
- 稀疏性:图像本身或其经过某种变换(如小波变换、DCT变换)后,大部分系数接近于零,只有少数几个系数较大。
- 非相干采样:测量矩阵(如随机高斯矩阵、随机掩模)需要与稀疏基不相关,以确保测量值能保留足够的信息。
- 重构算法:通过求解一个L1范数最小化问题(如基追踪、OMP算法),从少量测量值中恢复出原始稀疏信号,进而得到原始图像。
-
分块:
- 核心思想:将一幅巨大的高分辨率图像,分割成许多个较小的、互不重叠或重叠的图像块。
- 目的:将一个复杂的大问题分解成多个简单的小问题,每个图像块的维度远小于原始图像,这使得后续的CS测量和重构计算量大大降低。
-
成像:
指的是整个技术最终的应用目标——获取图像。
(图片来源网络,侵删)
分块压缩感知成像技术的核心思想可以概括为:
将一幅高分辨率图像分割成多个小块,对每个小块独立地进行压缩感知采样和重构,最后将所有重构好的小块拼接起来,得到完整的最终图像。
为什么要使用分块压缩感知?(优势与动机)
直接对整幅大图像进行CS重构存在几个巨大的挑战,而分块技术巧妙地解决了这些问题:
| 特性 | 直接对整幅图像进行CS | 分块压缩感知 |
|---|---|---|
| 计算复杂度 | 极高,重构算法(如L1最小化)的计算复杂度与图像尺寸(像素数)呈超线性关系,对于百万甚至千万像素的图像,计算量是天文数字,无法实时完成。 | 大幅降低,将大图像分解为N个小块后,计算复杂度从 O(M^3) (M为总像素) 降低为 O(N * m^3) (m为单块像素数,N*m ≈ M),这使得实时重构成为可能。 |
| 内存需求 | 巨大,需要将整幅图像、测量矩阵、中间变量等都加载到内存中,对硬件要求极高。 | 显著减少,每次只需处理一个小块,内存占用与单块图像大小相关,对硬件要求大大降低。 |
| 重构质量 | 可能较差,大图像的稀疏性可能不够理想,且测量噪声会被放大到整个图像上,导致重构结果出现明显的伪影。 | 更优且更稳定,每个图像块通常具有更强的结构化稀疏性(如边缘、纹理),重构质量更高,错误和伪影被限制在单个小块内,不会扩散到整个图像。 |
| 系统实现 | 困难,设计一个能对整幅大图像进行非相干采样的光学系统(如一个巨大的随机掩模)非常复杂和昂贵。 | 更简单、更灵活,可以采用单像素相机配合数字微镜器件进行逐块扫描,或者使用可编程光源对场景进行分块照明,系统更容易实现和集成。 |
分块压缩感知如何工作?(技术流程)
其工作流程可以分为编码(测量)和解码(重构)两个阶段。

第一阶段:编码(测量)
- 分块:在成像前或图像采集后,将目标场景或最终图像划分为
K x K像素的小块(8x8, 16x16)。 - 逐块测量:
- 方法一(扫描式):最常见的实现方式,使用一个单像素相机和一个DMD,DMD上显示一个随机的二值图案(即测量矩阵的一列),照射到场景上,场景反射的光线被单像素探测器收集,得到一个测量值,DMD快速切换到下一个随机图案,进行下一次测量,对场景的每一个位置重复这个过程
M次(M是测量次数,远小于K^2)。 - 方法二(并行式):在某些特定硬件(如计算层析成像)中,可以同时对多个图像块进行测量,提高速度。
- 方法一(扫描式):最常见的实现方式,使用一个单像素相机和一个DMD,DMD上显示一个随机的二值图案(即测量矩阵的一列),照射到场景上,场景反射的光线被单像素探测器收集,得到一个测量值,DMD快速切换到下一个随机图案,进行下一次测量,对场景的每一个位置重复这个过程
- 数据收集:对于图像中的每一个块,我们都得到了一个长度为
M的测量向量y_i。
第二阶段:解码(重构)
- 独立重构:将每个块的测量向量
y_i和预设的测量矩阵Φ_i(对于每个块通常是相同的)输入到重构算法中。 - 求解优化问题:对于第
i个块,求解以下L1最小化问题: $$ \min_{\mathbf{x}_i} |\mathbf{\Psi} \mathbf{x}_i|_1 \quad \text{subject to} \quad \mathbf{y}_i = \mathbf{\Phi}_i \mathbf{x}_i $$x_i:待重构的第i个图像块的信号向量(K^2 x 1)。y_i:第i个块的测量向量(M x 1)。Φ_i:第i个块的测量矩阵(M x K^2)。- 稀疏基(如小波基、DCT基),
x_i在该基下是稀疏的。
- 拼接:当所有
N个图像块都重构完成后,将它们按照原始位置拼接起来,就得到了最终的高分辨率图像。
关键技术与挑战
-
块大小选择:
- 小块:计算量小,内存占用低,但块内信息少,稀疏性可能不强,重构质量可能下降,且容易产生块效应(Block Artifacts),即块与块之间出现不连续的边界。
- 大块:稀疏性更好,重构质量更高,块效应不明显,但计算量和内存需求会急剧增加。
- 权衡:需要在计算复杂度和重构质量之间找到一个最佳平衡点,通常根据应用场景和硬件性能来决定。
-
块间重叠:
- 为了消除块效应,可以在分块时让相邻的块之间存在一定的重叠区域(重叠2-4个像素)。
- 重构后,对重叠区域的像素值进行加权平均,可以平滑边界,获得更自然的视觉效果。
-
重构算法:
- 除了经典的基追踪和OMP算法,针对分块CS的特点,也发展出许多高效的重构算法,如基于总变分 的算法,它能更好地保留图像的边缘信息。
-
运动伪影:
在扫描式测量中,如果场景在测量过程中发生移动,会导致不同块之间的配准错误,最终图像出现模糊或错位,需要高精度的运动补偿或快速扫描机制来克服。
典型应用领域
分块压缩感知技术凭借其高效率和灵活性,在许多领域大放异彩:
- 单像素成像:这是其最经典的应用,通过分块扫描,单像素相机可以“拍摄”出高分辨率的二维或三维图像,成本远低于传统CCD/CMOS相机。
- 计算层析成像:在CT扫描中,通过分块重建可以加速图像重构过程,减少患者的辐射剂量或扫描时间。
- 超光谱成像:超光谱数据立方体(空间+光谱维度)数据量巨大,分块CS可以同时降低空间和光谱维度的采样率,实现高效压缩和重构。
- 视频压缩:将视频的每一帧图像进行分块CS编码,结合帧间预测,可以极大地降低视频的码率,适用于低带宽传输。
- 医学成像:在MRI(磁共振成像)中,分块CS可以显著缩短扫描时间,提高患者舒适度,并减少运动伪影。
分块压缩感知成像技术是一种将压缩感知的“采样-重构”理论与分块处理的工程思想相结合的强大技术,它通过“化整为零”的策略,巧妙地解决了直接对大图像进行CS重构时遇到的计算复杂度、内存需求和系统实现等瓶颈问题,虽然在块大小选择和块效应处理上存在挑战,但其在单像素成像、计算层析、超光谱成像等领域的巨大成功,使其成为现代计算成像中不可或缺的关键技术之一。
