
搞过医学图像重建的同行应该都有过这种体验低剂量CT的投影数据到手稀疏角度扫描刚开机直接做解析重建出来的图压根没法看噪声和条纹伪影互相叠加软组织边缘像被啃过一样。数学上道理很简单离散化之后那个方程组天生就是病态的解不稳定甚至没有唯一解。解决这个问题的核心手段就是往目标函数里塞一个正则化项把解从“数学上合理”拉回“解剖上合理”。医学图像重建里用到正则化的频率非常高几乎每个迭代重建算法都离不开它。但如果有人问我“你到底该用哪一类正则化”很多刚入门的同学反而会愣住——因为大家平时听得最多的就是TV、Tikhonov、小波稀疏可它们之间的区别、适用场景和调参手感很少有人系统整理过。这篇内容就围绕常用正则化分类做个梳理把我实际用下来的经验、踩过的坑一并写出来。不保证看完就能成调参大师但至少能让你拿到一个新任务时知道从哪个分类里找方案。1. 从“无解”到“多解”重建方程为什么必须加约束1.1 不完备投影与三个不稳定性先回到最基础的重建模型。理想情况下测量过程可以写成 $y Ax \varepsilon$其中 $x$ 是待求图像$A$ 是系统矩阵$y$ 是投影数据$\varepsilon$ 表示噪声。CT、PET、MRI 的迭代重建几乎都长这样。如果 $A$ 是一个满秩方阵那直接求逆就行。可惜医学成像里的 $A$ 通常不是良态矩阵投影角度稀疏时方程数量不够属于欠定问题$x$ 有无穷多个解低剂量时噪声很大即使是超定问题直接最小二乘也会把噪声放大得离谱还有区域截断、金属伪影等因素会让系统矩阵的条件数变得很差。这三个问题统称病态性直接导致重建解“不稳定”——测量值稍微变一点点解就面目全非。解析重建算法比如滤波反投影FBP面对这种情况基本没辙因为它不建模噪声也不建模先验。迭代重建的优势在于能把“测量数据”和“图像应该长什么样”这两个信息放在同一个目标函数里互相约束。于是正则化项作为第二股力量登场它惩罚那些虽然能拟合投影数据、但解剖学上不可能的图像。1.2 目标函数里的λR(x)是怎么从贝叶斯视角自然掉出来的一个很漂亮的理解方式是从贝叶斯最大后验估计出发。设 $x$ 是需要重建的图像$y$ 是观测数据。后验概率 $p(x|y)$ 正比于似然 $p(y|x)$ 乘以先验 $p(x)$。对后验取负对数最大化后验就变成最小化下列目标函数$$\hat{x} \arg\min_x \left( -\log p(y|x) - \log p(x) \right)$$如果假设噪声是独立高斯分布$-\log p(y|x)$ 就对应数据保真项 $\frac{1}{2}|Ax-y|_W^2$其中 $W$ 是加权矩阵用于体现不同测量值的可靠程度。而 $-\log p(x)$ 正好对应正则化项 $\lambda R(x)$。所谓正则化本质上就是给解空间加一个概率先验哪些图像更可能出现哪些图像几乎不可能出现。这条推导非常重要它把各种正则化方法统一到同一个框架里。以后看到任何正则化项都可以先问一句它隐含的先验是什么比如 Tikhonov 正则隐含“梯度的平方和要小”的先验TV 隐含“图像局部变化要稀疏”的先验。理解了这层关系再去看后面的分类就会特别清晰。2. 二次与非二次按惩罚函数形状分类的第一条分界线2.1 Tikhonov正则数学优雅但边缘吃亏正则化最传统的分类维度之一是看罚函数本身是二次还是非二次。最具代表性的二次正则就是 Tikhonov 正则一般写成 $R(x) |Lx|_2^2$。当 $L$ 取单位矩阵时它约束像素值的能量当 $L$ 取差分矩阵或拉普拉斯算子时它约束图像的一阶或二阶差分的能量。二次正则最大的优点是数学性质极好。目标函数变成严格的二次凸函数求导容易共轭梯度法可以直接求解。如果需要闭式解还能写成 $(A^TA\lambda L^TL)^{-1}A^Ty$ 的形式。很多老式迭代重建系统都用它做默认约束稳定、可控、不容易发散。但二次惩罚对边缘的态度和噪声一样梯度大罚得重噪声的梯度也不小同样罚得重。结果就是它分不清“该保留的锐利边界”和“该压平的噪声波动”于是整体往平滑方向走。把 λ 调大噪声确实下来了但器官轮廓也跟着发糊软组织之间的低对比度边界几乎被抹平。这正是二次正则的软肋。2.2 TV与势函数允许大梯度“低价通行”非二次正则的出发点和二次正好相反。用势函数 $\phi(s)$ 来表示对某种局部特征的惩罚比较常见的有 $L1$ 范数、总变分TV范数以及 Huber 函数、Fair 函数等光滑近似函数。以 TV 正则为例它惩罚的是梯度幅值但用的是 $\sum_i \sqrt{(D_x x)_i^2 (D_y x)_i^2}$ 这种形式而不是梯度幅值的平方。两者的差别很微妙对一个大梯度边缘平方惩罚付出 $t^2$ 的代价TV 只付出 $t$ 的代价对小梯度噪声两者都可能付出一定代价。换句话说TV 对梯度呈“线性收费”使得强边缘比在二次惩罚下更便宜于是解更容易保留锐利的器官边界。这就是“允许大梯度低价通行”的含义。临床诊断最看重解剖结构边界肺结节边缘、血管壁、骨皮质这些位置一旦模糊漏诊风险就上来了。这也是为什么在医学图像重建里非二次、边缘保持的惩罚几乎成了默认选择。2.3 两类惩罚在重建像上的直观差异两类惩罚的差异用语言描述可能不够直观换成人话二次惩罚像把图像拿砂纸整体打磨小坑小棱没了但雕刻的花纹也没了TV 像只打磨细碎毛刺主干线条按斜率线性收费线条还是锋利的。我试过用同一组低剂量CT投影分别做二次正则和TV重建λ都调到噪声水平差不多结果二次重建的软组织区域“肉感”更重轮廓柔和但边界模糊而TV重建的血管边缘明显更硬朗均匀区域里的噪声颗粒感也小。代价则是TV在平滑斜坡区会留下阶梯状伪影后面会细说。下表是个简洁的对照对比维度二次正则Tikhonov类非二次正则TV/势函数类数学凸性强凸求解友好凸但非光滑需特殊算法边缘保留差边界发糊好能保留锐利边界典型伪影过度平滑、细节丢失阶梯伪影、块状感迭代收敛速度快常用CG较慢需ADMM/ISTA适用任务数据噪声温和、要求稳定低剂量/稀疏角度/需要轮廓清晰严格说L1范数也是非二次也是凸函数但不可导属于凸非光滑类还有一种非凸势函数比如 $\phi(s)\frac{|s|^p}{p}$$0p1$ 的超拉普拉斯先验理论上更能保持锐度但目标函数非凸容易陷入局部极小值实际工程里用的时候要特别小心不能盲目提锐度。3. 按约束施加的场域分类像素、梯度、变换域与自相似域3.1 图像域直接约束盯着像素值本身定规则第二种常用分类方式是看正则化作用在图像的哪个“域”上。最简单的一类直接把约束加在像素值上比如对 $x$ 施加 $L2$、$L1$ 或带符号约束。它处理的事情也比较直白禁止某些像素值出现或者让图像距离某个参考图太远。工业界最典型的是先验图像约束。比如做低剂量CT重建时同一病人可能先有一张常规剂量扫描图作为解剖先验重建时鼓励当前图像与先验图保持一致只在病变区域允许差异。这类方法常见于动态成像、双能CT、介入成像延续序列等场景。它的优点是稳定、容易实现代价是如果先验图本身遇到不匹配比如呼吸运动、病人移动就会把误差也带进重建结果所以实际使用时必须为参考区域设置局部权重不能无脑拉着整幅图靠近。3.2 梯度域约束TV家族与阶梯伪影的代价作用在梯度域的正则化是应用最广的一类核心逻辑是直接约束图像的局部变化模式。TV 就是这一类的代表它惩罚梯度幅值总和使图像内部保持分片常数、边界保持锐利。但用过TV的同学都知道它有个挥之不去的现象——画出来像一幅“马赛克拼接画”明明应该是光滑斜面却被重建出一级一级的台阶。原因在于 TV 偏好分片常数解而临床解剖里很多结构是连续渐变的比如软组织密度从T1缓慢过渡到T2TV认为这种渐变“总变分太大”宁可把它切成几个常数台阶。为了解决阶梯伪影后来涌现了大量TV变体总广义变分TGV引入高阶导数惩罚把二阶差分也纳入约束能更好拟合斜坡高清TV在梯度幅值前乘上边缘加权还有小波与TV组合的混合正则。实际项目中我不建议一上来就追高阶模型先做一次标准TV摸清伪影形态再决定要不要上TGV。病灶细节丢失比伪影更隐蔽也更致命。3.3 变换域稀疏约束小波、紧框架与字典学习第三类是变换域正则化。它的根据是压缩感知理论中的稀疏性原理自然图像在某个变换基底下的系数大部分接近零只有少数大系数承载主要结构。如果用这些小系数就能表示图像那投影数据再少也有可能精确重建。实际中常见是小波正则把 $R(x)$ 写成 $|Wx|_1$ 或 $|Wx|_p^p$鼓励变换系数稀疏。小波分解能同时分离频带和空间位置条纹伪影和噪声往往落在某些高频子带里惩罚起来非常顺手。紧框架稀疏代表如曲波变换、剪切波变换也有人在用好处是对边缘方向的表示能力比常规小波更强代价是计算量大不少。字典学习则更进一步不再固化一个变换基底而是从训练图像块中学习出一个过完备字典让图像在这个字典下的表示尽可能稀疏。这相当于让正则化自己“看着办”。在实际实验中字典正则重建出来的细节确实比固定小波更锐利尤其是小结构纹理但字典训练的时间和内存开销都不小而且字典退化、原子之间的冗余会导致边际效果递减参数也更多。作为工程方我喜欢把它作为TV的补充而不是直接替代。3.4 非局部与自相似域让相似结构跨区域互相作证以非局部均值NLM思想为先导的正则化彻底改变了“域”的概念。它不再只看局部邻域而是建立一套全图相似性图像里每个小块都能在全图范围内找到若干外观相似的其他小块即使它们相隔很远也可以互相作为证据来约束重建。NLM 正则化的常见写法是对像素对施加加权二次惩罚$R(x)\sum_i \sum_{j \in \mathcal{N}i} w{ij}(x_i-x_j)^2$。权重 $w_{ij}$ 由两个局部邻域的相似度决定越相似权重越大。这类正则对结构重复度高的部位效果突出比如血管断面、肺泡结构、脑沟回纹理。它可以抑制噪声但不牺牲重复性结构的细节。与非局部思想相关的还有低秩先验。把动态序列或能谱成像的每一帧拉成矩阵的一列由于不同帧之间的结构高度相关这个矩阵应当是低秩的。于是 $R(X)|X|_*$核范数就登场了。低秩正则尤其适合动态心肌灌注、能谱CT、四维成像这类“同一部位多次采样”的任务配合 TV 使用效果很好。不过低秩对运动非常敏感如果帧间发生了大幅形变低秩假设就崩必须配合配准或减少矩阵列跨度的策略。4. 按先验来源分类经典手工正则与学习型正则的交接4.1 经典手工先验为什么还占着出厂默认位置正则化的第三个分类维度也可以从“先验从哪来”来看。经典方法如 TV、Tikhonov、小波稀疏、NLM 都是人手工设定的通用图像假设不依赖任何训练数据。好处极其明确可解释、可证明收敛、好复现而且不受数据分布影响。拿同样的扫描协议去不同科室、不同厂商设备上跑确定性模型的参数不会说谎。因此很多商业化医学影像设备里出厂默认的迭代重建方案往往不是对某类数据最优的而是“二次正则打底 TV调边”的保守组合。这背后是安全性和可解释性的考量临床部署时作为算法负责人的压力主要来自“出了偏差能不能定位到原因”纯学习型方法在这块先天吃亏所以出厂默认保守。4.2 学习型正则落地的三种主流姿势深度学习加入正则化家族之后分类边界就变得模糊了。严格说现在最火的方向都叫“重建网络”但它们的正则化作用可以从三个姿势来理解。第一种是正则项显示学习。直接训练一个能量函数 $R_\theta(x)$把它当先验项加进目标函数再通过迭代算法求解。代表性思路包括基于判别式惩罚和生成式先验的能量学习。它的优点是保留传统优化框架收敛性相对可控缺点是设计难度大不容易在工程里直接插拔。第二种是即插即用Plug-and-Play。理论依据是 ADMM 或原始对偶算法可以把迭代拆成两步一步处理数据项一步处理正则项而处理正则项的那一步本质上是在对中间图像做一个去噪操作。既然所以去噪器都能承担这一角色那为什么不直接把训练好的 CNN 去噪器塞进去当隐式正则这就是即插即用非常实用。我试过在一个稀疏角度重建任务里把内部TV去噪子迭代换成经典的神经网络去噪器重建质量提升明显而且不需要重新训练端到端网络投影算子还是传统迭代的可解释性比端到端重建好太多。第三种是展开网络Unrolled Network。把迭代算法展开成神经网络的结构每一层对应一次迭代层里的梯度步长、正则化算子甚至系统模型都用神经网络参数来学习。这种方向被称为“用数据学迭代规则”上限很高但训练成本和泛化风险也高同一套参数换扫描协议后容易出现伪影。4.3 深度正则的适用边界与设备端现实关于深度正则我的体会是要区分“实验室指标”和“临床可用”。实验室里 SSIM 涨零点几很容易但真正的瓶颈是分布漂移训练数据出自某品牌设备、某个扫描协议换一家医院、换一种剂量就垮。因此很多实际项目采用混合策略比如 TV 低秩 CNN 去噪器的复合正则用TV和低秩来兜底全局稳定性用CNN去噪器来恢复细节。设备端现实也不能忽视。深度学习模型推理对显存和时延有硬要求很多重建工作站还跑不起大型网络展开网络每层都要过前向和反传显存开销进一步放大。所以工程选型时必须反问这台设备允许单次重建时间是多少有没有GPU没有GPU的话轻量CNN在小分辨率块上的加速效果是否值得这些问题都定下来再决定深度正则的形态也不迟。5. 参数标定与迭代工程正则化真正“能用”的关键5.1 λ的选取从网格搜索到L曲线再到χ²准则正则化参数 $\lambda$ 是数据保真项和先验项之间的天平。$\lambda$ 太小噪声主导$\lambda$ 太大重建结果过度平滑甚至变成一张“标准先验图”。很多新手把算法跑不动的账算在方法头上其实八成是 $\lambda$ 没调对。常规做法是网格搜索固定迭代次数把 $\lambda$ 按对数间隔取若干个值在每个值上重建然后比较 ROI 区域的噪声水平和边缘保持指数。听起来笨但最可靠。L曲线方法更学术一点把数据残差 $|Ax-y|_2$ 作为横轴、正则项值 $R(x)$ 作为纵轴在对数坐标里找拐点拐点就是均衡点。这个方法很直观但要求每次迭代都要同时计算出两个值工程落地时稍微麻烦。工业界还经常用 Morozov 偏差原理或 $\chi^2$ 准则如果已知系统噪声水平就选一个 $\lambda$使重建后的残差范数约等于噪声的能量期望。这样可以避免人工反复试参尤其适合自动重建流水线。还有一个我踩过的坑是 $\lambda$ 与数据尺度强相关换一台探测器、换一个像素尺寸同样 $\lambda$ 的表现会差很多。强烈建议先把投影数据按最大值归一化再对 $\lambda$ 进行初次确定这样得到的 $\lambda$ 至少可以作为后续微调的良好初始值。5.2 非光滑正则配什么迭代算法更稳选了非光滑正则之后迭代算法就绕不开。TV 和 L1 都不是可导函数不能随便用梯度下降。实际工程中我最常用的是 ADMM 和原始对偶混合梯度法PDHG。ADMM 的优势是能把问题拆成“解一个线性最小二乘”和“做一个去噪操作也就是近端算子”两个子问题TV 的近端算子可以直接调用现有的 TV 去噪求解器工程实现非常结构化。ISRA图像空间重建算法这类顺序子集法加 TV 用的也很多它的思路是每次只更新一个子集并在更新后做一个 TV 去噪步骤。这里有一个细节我必须提TV 去噪子迭代的次数不是越多越好。子迭代跑太深会破坏数据一致性导致最终重建出现“洗白效应”跑太少又起不到降噪作用。我的经验是每轮子迭代控制在5到10次之间并在每次子迭代后加一个很小的回退系数让数据项能重新接管图像。另外一定要盯能量曲线。很多同学只盯最终图像一旦出现条纹先怪数据其实看目标函数的总能量曲线就能定位问题。如果能量曲线在后期反复振荡多半是算法步长太大或者子问题精度不够如果直接不降说明保护项实现有问题。5.3 按重建任务配正则低剂量CT、稀疏角度、PET与MRI最后给一个按任务分类的推荐配置这是我在若干模拟和实际项目中试过、相对稳妥的方案直接拿去当作起点会省很多时间。低剂量CT首选 TV 或 TVTGV配合一个很轻的二次差分惩罚来稳稳定如果要保留纹理细节可以再加一个小波稀疏项。这么组合的原因是低剂量CT噪声是近似泊松分布条纹伪影主要沿着投影方向延伸TV 能快速压掉条纹二次惩罚负责避免过度阶梯化。稀疏角度CT角度越少欠定程度越高TV 容易产生严重的卡通化。此时建议加大变换域稀疏权重或把 NLM 加进来让结构信息通过自相似性来补充。如果计算资源充裕字典学习正则 TV 是细节与伪影之间比较好的折中。我曾用24个投影角模拟过腹部CT重建单独TV虽然边界锐利但软组织纹理失真严重加入小波稀疏项后明显更接近全角度参考。PET低计数噪声模型更偏泊松常用惩罚似然重建。可优先考虑带统计权重的二次惩罚因为它有利于收敛稳定性但如果病灶边界很重要TV 或者带保边的二次惩罚比如基于 Huber 函数会是更好的选择同时可以把时间帧之间的低秩信息利用起来。动态MRI由于数据在 k 空间采样且时间维度冗余小波稀疏 TV 低秩是常见组合。低秩主要把握时间方向的相位TV 负责空间域的平滑小波负责细节。必须提醒一句配置只是起点定量指标不要只看 RMSE 或 SSIM还要补一个边缘保持指数或对比噪声比CNR最好让放射科背景的同事直接看重建切片做盲评。毕竟物理指标全绿而医生觉得没法诊断那这组参数仍然是不合格的。正则化分类这件事说穿了就是把“图像应该长什么样”用数学语言具象化。二次、非二次、像素域、梯度域、变换域、自相似域、手工先验还是学习型先验分类的维度不同选型的出发点也不同。我在实际项目里的体会是不能怀着“找到一种万能正则”的心态去挑方法而要把每个分类维度当成工具箱里的测量尺先量清遇到了什么病态问题再决定上什么约束。加上参数标定和迭代细节这两道工程关口几乎所有重建项目都能搭出一个稳定、可解释、效果达标的基线方案。