这是本人的一个在研大创项目,苦于缺乏推进的方向,就只好自己在github上搜索带有开源代码的论文进行学习,希望自己能坚持下去,本篇博客用于记录自己的学习笔记及过程,力求自己能完整地把论文看懂并复现代码。我会把完整的阅读思路都展示在博客中,我相信如果我能看懂,读者看了这篇博客后也是能看懂的~接下来,我们就开始吧!
论文标题:《Convolutional Sparse Coding for Compressed Sensing CT Reconstruction》(用于压缩感知 CT 重建的卷积稀疏编码)
目录
论文标题:《Convolutional Sparse Coding for Compressed Sensing CT Reconstruction》(用于压缩感知 CT 重建的卷积稀疏编码)
*什么是惩罚加权最小二乘(Penalized Weighted Least Squares, PWLS)框架?
(1)摘要解读:
说明:
本部分是对摘要的一个十分详细的解读,从非常非常基础的一些概念出发让读者读懂论文的工作,如果你不想了解或已经清楚了基本概念的话,你可以直接通过目录跳转到***此篇论文工作的一个简单说明及梳理***这个部分。
摘要:在过去的几年里,基于字典学习(DL)的方法已成功应用于各种图像重建问题。 然而,传统的基于深度学习的计算机断层扫描(CT)重建方法是基于补丁的,并且忽略了重叠补丁中像素的一致性。 此外,通过这些方法学习的特征总是包含相同特征的移位版本。 近年来,人们开发了卷积稀疏编码(CSC)来解决这些问题。 在本文中,受CSC在信号处理领域的几次成功应用的启发,我们探索了CSC在稀疏视图CT重建中的潜力。 通过直接处理整个图像,无需在基于深度学习的方法中将图像划分为重叠的块,所提出的方法可以保留更多细节并避免由块聚合引起的伪影。 使用预定的滤波器,开发交替方案来优化目标函数。 使用模拟和真实 CT 数据进行了大量实验,以验证所提出方法的有效性。 定性和定量结果表明,所提出的方法比几种现有的最先进方法具有更好的性能。
*什么是字典学习?
传统的字典学习(Dictionary Learning, DL)方法是一种广泛用于图像处理和机器学习领域的技术,尤其是在图像恢复和压缩中。旨在从数据中学习一组过完备基(称为字典),使得这些基可以有效地表示样本数据。在这种技术中,原始数据可以被分解为字典元素的稀疏线性组合。其目标是找到最优的字典,使得当用这个字典来表示数据时,表示的误差最小,同时保持表示的稀疏性。
它是一种基于补丁(patch)的方法
在图像处理的上下文中,字典学习通常是基于补丁的。这意味着:
-
补丁提取:整个图像被分割成许多小的、重叠的图像块(称为“补丁”)。这些补丁通常是正方形的,并且在图像中有部分重叠。例如,一个8x8像素的补丁可能在相邻的补丁之间每次只移动4个像素。
-
学习字典:字典学习算法会从这些补丁中学习一组基向量(也称为原子),这些基向量能够最好地表示这些补丁中的内容。基本上,每个补丁可以被表示为这些基向量的线性组合,其中只有少数几个基向量的系数是显著的(即稀疏性)。
-
重建和优化:通过优化过程,算法调整字典的基向量以最小化重建误差(即原始补丁与通过字典重建的补丁之间的差异)同时保持系数的稀疏性。
它存在着以下一些问题:
伪影问题:在重叠的补丁边界处可能出现不一致性,这在重建图像时可能会导致可见的伪影。计算成本:处理大量重叠补丁可能导致较高的计算成本。全局一致性问题:基于补丁的方法可能难以维持整个图像的全局一致性和结构。
*什么是卷积稀疏编码(CSC)?
卷积稀疏编码(Convolutional Sparse Coding, CSC)是一种先进的信号处理和机器学习技术,它扩展了传统的稀疏编码理念。在传统稀疏编码中,目标是将信号表示为少数几个基向量(字典原子)的线性组合。与之相比,CSC考虑的是卷积操作,这使得其在处理图像和其他多维数据时更为自然和有效。 在CSC中,信号或图像不是通过一组离散的原子线性组合来表示,而是通过一组卷积滤波器(字典原子)与对应的特征映射(稀疏激活图)的卷积来表示。这些卷积滤波器在整个信号或图像上滑动,通过这种方式,每个滤波器可以捕捉到全局重复出现的模式或特征,如边缘或纹理等。CSC的目标是找到一组卷积核(filters),这些卷积核与图像的特征映射(feature maps)卷积后能够有效地重建原始图像,同时保持特征映射的稀疏性。
*CSC中的卷积核是如何得到的?
在卷积稀疏编码(CSC)中,卷积核(也称为滤波器或字典元素)是通过一个优化过程获得的,目的是最小化原始数据和通过这些卷积核重建的数据之间的差异,同时保持表示的稀疏性。这个过程通常包括以下几个步骤:
1. 初始化
卷积核的初始化是一个重要的步骤,可以从随机值开始,或者使用一些基于数据的启发式方法,如使用主成分分析(PCA)的结果或其他预先定义的滤波器集。
2. 稀疏编码
给定初始化的卷积核,下一步是解决稀疏编码问题,即对每个训练样本找到最佳的稀疏特征映射。这通常通过求解如下优化问题完成:
其中 𝑥 是输入信号或图像,𝑓𝑖 是卷积核,𝑚𝑖 是特征映射,𝜆 是控制稀疏性的正则化参数,这里以L1正则化为例子。
3. 字典更新
在固定特征映射后,接下来的任务是更新卷积核以更好地适应数据。这也是通过最小化重建误差来实现的,但此时是对卷积核进行优化:
通常也可以添加一些正则化项,如滤波器的范数约束,以避免过拟合和保持模型的泛化能力。
4. 交替优化
稀疏编码和字典更新步骤在整个训练过程中交替进行,直到满足收敛条件,比如达到最大迭代次数或改进程度低于某个阈值。这种交替优化策略有助于逐渐改善卷积核和特征映射,以更好地表示训练数据。
5. 使用高级算法
为了提高优化过程的效率和稳定性,可以使用各种高级算法,如随机梯度下降(SGD)、交替方向乘子法(ADMM)或坐标下降等。这些方法可以加速收敛,并处理大规模数据集。