当前位置: 首页 > news >正文

PnP-UnNull v3 模型详解

一、问题背景:光谱马赛克重建

输入是一个快照式光谱相机拍摄的原始数据:

  • 测量值 meas:传感器直接输出的单通道马赛克图像(每个像素只记录了16个波段中的一个)
  • MSFA 模板 Phi:4×4 的滤波器阵列,指示每个像素采样的是哪个波段

目标是从严重欠采样的马赛克图像中重建出16个完整波段的高光谱图像


二、基础框架:DIP + TV 正则(UnNull 原版)

原始 UnNull 方法的核心是一个 Deep Image Prior (DIP) 网络,流程如下:

LRHSI (初始插值) ──> UR_Net ──> 残差 ──> + LRHSI ──> 重建结果↑                        ↓网络参数                   测量一致性 Loss←──── 反向传播 ────────── + TV 正则

UR_Net 是一个 2 层 U-Net 变体(UR_Net.py),包含:

  • 2 级下采样 encoder(stride conv + Channel Attention)
  • 2 级上采样 decoder(PixelShuffle + channel attention + skip connection)
  • 输入:初始插值 LRHSI(shape: (1, 16, H, W)
  • 输出:残差,加到 LRHSI 上形成重建

Forward 的特殊设计UR_Net.forward):

recon = self.forward_once(x)  # DIP 网络直接输出
# 然后对重建结果再次做 MSFA 采样 + 插值,作为"自回归"修正
pred_meas = recon * Phi              # MSFA 采样
LRHSI_new = weight_conv(pred_meas)    # 重插值回全波段
return recon - LRHSI_new              # 最终输出残差

这个设计让网络输出是 DIP 直接估计 - 自回归插值 的残差,起到一种自监督约束作用。

优化目标(原始 UnNull):

Loss = L1(meas, A(recon)) + L2(meas, A(recon)) + 3.0 × TV_spectral(recon)
  • 前两项:测量一致性,要求重建结果经过 MSFA 采样后与原始马赛克一致
  • TV 正则:光谱维度的 TV,惩罚相邻波段之间的突变

三、扩散模型先验的引入

PnP-UnNull v3 用预训练的 PaDIS 扩散降噪器替代 TV 正则,核心思路是 "周期性地去噪 → 作为先验目标 → 拉近 DIP 输出"

3.1 PaDIS 扩散降噪器

PaDIS 是一个预训练的无条件 16 波段扩散模型PaDISDenoiser 类),训练数据是 NTIRE 高光谱数据集:

输入:噪声图像 x_noisy (1, 16, H, W), 噪声水平 σ
输出:去噪图像 x_clean  (1, 16, H, W)

使用细节:

  • 数值范围转换:DIP 输出在 [0, 1],PaDIS 需要 [-1, 1],去噪后再转回来
  • 位置编码:PaDIS 需要 2D 坐标编码(归一化到 [-1, 1]),由 build_position_encoding() 生成
  • Padding:64 像素的 -1 填充,匹配 PaDIS 训练时的尺寸约定

3.2 PnP 优化循环

20 轮迭代,执行以下操作(pnp_unnull_core.py:216-238):

1. 取当前 DIP 输出 model_out
2. 以当前噪声水平 σ 调用扩散降噪器 → 得到 denoised
3. 【关键】测量一致性投影:对 denoised 做 MSFA 采样 → 与真实 meas 比较 → 残差反投影回各波段denoised += (meas - A(denoised)) / Phi_sum * Phi
4. 将投影修正后的去噪结果冻结为 prior_target
5. 在接下来的 20 轮中,DIP 通过 MSE loss 拉向这个 prior_target

优化目标(PnP 版本):

Loss = L1(meas, A(recon)) + L2(meas, A(recon)) + λ × MSE(recon, prior_target)↑扩散先验项(替代 TV)

3.3 σ 衰减调度

噪声水平 σ 在优化过程中线性衰减:

σ = 0.05 → 0.01  (随迭代从 start 到 end)

这遵循了扩散模型的标准用法——前期大 σ 提供粗粒度的结构先验,后期小 σ 保留细节。

在 500 轮迭代中,σ 从 0.05 逐步降到 0.01,共触发 25 次降噪(每 20 轮一次)。


四、测量一致性投影(关键机制)

这是 PnP 版本中确保"扩散先验不违背数据"的核心设计(pnp_unnull_core.py:224-233):

# 扩散去噪结果在测量空间的残差
pred_meas_d = A(denoised, Phi)          # 去噪结果 → 模拟马赛克
meas_residual = meas - pred_meas_d      # 与真实马赛克的偏差# 将残差按 MSFA 模式反投影回各波段
# 每个像素只修正它被采样的那个波段
denoised += (meas_residual / Phi_sum) * Phi

为什么这很重要:

  • 扩散模型是无条件训练的,不知道当前图像的具体测量值
  • 直接拿扩散去噪结果作为 prior_target,可能把 DIP 拉向一个"好看但不满足测量约束"的方向
  • 投影修正确保 prior_target 同时满足两个条件
    1. 被扩散模型去除了噪声/伪影(结构先验)
    2. 经过 MSFA 采样后与真实测量一致(数据保真)

五、完整流程总结

                        ┌─────────────────────────────────────────┐│           PnP-UnNull 优化循环             ││                                         │LRHSI ──> UR_Net ──> + ──> recon ──> 测量一致性 Loss            │↑         │            (L1 + L2 vs meas)          ││         │                                       ││         └──> MSE Loss(recon, prior_target)      ││                         ↑                       ││                   prior_target                  ││                         ↑                       ││              每 20 轮更新一次                     ││              ┌─────────┴──────────┐             ││              │  扩散降噪 + 测量投影  │             ││              │  PaDIS(σ_t)        │             ││              │  σ: 0.05 → 0.01    │             ││              └────────────────────┘             ││                                                 │└─────────── 反向传播更新参数 ◄─────────────────────┘

六、为什么扩散先验有效

  1. 强结构先验:PaDIS 在 NTIRE 数据集上训练,学到了高光谱图像的自然光谱统计规律(平滑、相关性、纹理-光谱的联合分布)

  2. TV 的局限:TV 正则只惩罚相邻波段的差异,是一种"盲"正则——它不知道什么样的光谱变化是合理的

  3. 扩散先验的优势:扩散模型知道"一个好高光谱图像应该是什么样",可以:

    • 修正 TV 无法处理的复杂伪影
    • 恢复丢失的纹理细节
    • 保持光谱曲线的自然形状(SAM 大幅改善的根源)
  4. λ 的甜区:v3 通过网格搜索确定 λ=5~10 是最优区间——太小(0.1)时扩散先验被数据拟合梯度淹没,太大(50)时过度压制测量保真度

http://www.jsqmd.com/news/925488/

相关文章:

  • 2026苏州防水补漏公司TOP榜|屋面卫生间渗漏修缮靠谱推荐 - 吉修匠
  • Python端到端测试:模拟真实用户场景
  • 从PBMC数据实战出发:手把手教你用Scanpy完成单细胞测序标准分析流程(附代码避坑点)
  • 清世祖 福临
  • 终极指南:如何用ExplorerPatcher恢复Windows经典界面并提升工作效率
  • 2026 AI企业应用培训优选指南(财务/人力/生产/营销型) - 速递信息
  • Python测试模式:构建高效测试体系
  • 保姆级教程:在Windows/Linux双环境下配置与验证Tasking for TriCore许可证
  • 清单来了:盘点2026年风靡全网的的降AIGC工具 - 降AI小能手
  • 掘金量化终端3.0实战:除了跑策略,它的‘量化研究’模块还能帮你做什么?
  • 5.31
  • Agent 架构设计与能力构建
  • 清圣祖 玄烨
  • Python测试自动化与CI/CD集成
  • 2026制造业AI应用培训优选指南:人才孵化组织赋能政务落地 - 速递信息
  • 别再手画UML了!用StartUML 6.0给C++项目画类图,保姆级避坑指南
  • 2026南京漏水维修攻略,卫生间、阳台、外墙、屋顶、地下室漏水,靠谱防水门店推荐 - 吉修匠
  • 构建具备常识推理能力的 AI Agent Harness Engineering
  • 遂宁黄金回收商家推荐榜单5.31今日大盘价 + 靠谱门店实测,价高无套路 - 速递信息
  • 2026年4月可靠的石灰岩门店推荐,人造石/超薄石材/仿古砖/文化石/岩板/花岗石/软石/PC砖,石灰岩供应商口碑推荐 - 品牌推荐师
  • 为什么97%的非洲开发者还没用上Gemini多语能力?——3步完成阿姆哈拉语API集成(附调试秘钥)
  • 淘宝网店运营服务商:多家机构核心能力优势 - 速递信息
  • Rust异步测试:验证异步代码的正确性
  • 杭州黄金回收|2026 今日金价 + 正规门店 + 无套路变现 - 速递信息
  • 南充黄金回收商家推荐榜单|今日大盘价 + 靠谱商家实测,价高无套路 - 速递信息
  • 2026年制造业AI赋能优选服务商盘点:为何说“人才转型”比“工具迭代”更关键? - 速递信息
  • CE修改器找基址保姆级教程:从动态地址到绿色指针,手把手教你定位稳定内存(附汇编指令分析)
  • 合肥黄金回收哪家靠谱?2026 今日金价 + 全域门店榜单 - 速递信息
  • 抖音内容批量下载终极指南:开源工具douyin-downloader的完整解决方案
  • 无锡修漏水哪家好|无锡靠谱防水补漏,卫生间阳台外墙屋顶地下室维修推荐 - 吉修匠