▒▒本文目录▒▒
-
- 一、研究背景
-
- [1.1 散射成像问题](#1.1 散射成像问题)
- [1.2 传统方法的局限性](#1.2 传统方法的局限性)
- [1.3 衍射神经网络(D2NN)的优势](#1.3 衍射神经网络(D2NN)的优势)
- 二、研究进展
-
- [2.1 衍射神经网络发展历程](#2.1 衍射神经网络发展历程)
- [2.2 散射成像相关研究](#2.2 散射成像相关研究)
- 三、该文章的研究思想
-
- [3.1 核心创新点](#3.1 核心创新点)
- [3.2 理论基础](#3.2 理论基础)
-
- [3.2.1 散射过程建模](#3.2.1 散射过程建模)
- [3.2.2 衍射传播模型](#3.2.2 衍射传播模型)
- [3.2.3 D2NN相位调制](#3.2.3 D2NN相位调制)
- [3.3 系统架构](#3.3 系统架构)
- 四、主要技术路径
-
- [4.1 数据生成流程](#4.1 数据生成流程)
- [4.2 网络结构设计](#4.2 网络结构设计)
- [4.3 损失函数设计](#4.3 损失函数设计)
- [4.4 训练策略](#4.4 训练策略)
- 五、复现代码原理分析
-
- [5.1 核心模块](#5.1 核心模块)
-
- [5.1.1 角谱衍射传播层](#5.1.1 角谱衍射传播层)
- [5.1.2 散射介质模拟](#5.1.2 散射介质模拟)
- [5.1.3 可训练相位层](#5.1.3 可训练相位层)
- [5.2 训练流程](#5.2 训练流程)
- 六、复现实验结果
-
- [6.1 实验配置](#6.1 实验配置)
- [6.2 训练过程](#6.2 训练过程)
- [6.3 最终性能对比](#6.3 最终性能对比)
- [6.4 结果详细分析](#6.4 结果详细分析)
-
- [6.4.1 分析](#6.4.1 分析)
- [6.4.2 D2NN结果详细解读](#6.4.2 D2NN结果详细解读)
- [6.4.3 相位学习分析](#6.4.3 相位学习分析)
- [6.5 训练曲线分析](#6.5 训练曲线分析)
- 七、改进与优化建议
-
- [7.1 已实现的改进](#7.1 已实现的改进)
- [7.2 潜在改进方向](#7.2 潜在改进方向)
- 八、结论
- 九、程序创新开发与实验
一、研究背景
1.1 散射成像问题
光在散射介质(如大气气溶胶、生物组织、浑浊水体等)中传播时,会与介质中的粒子发生多次散射,导致光波的振幅和相位发生随机变化。这种散射效应会使得原本清晰的图像变得模糊,严重影响成像质量。
散射现象的主要特点:
- 光子经过多次散射后传播方向改变
- 散射导致光强分布均匀化(信息丢失)
- 相干光经过散射介质后产生散斑图案
- 散射过程通常是不可逆的(信息熵增加)
1.2 传统方法的局限性
| 方法 | 原理 | 局限性 |
|---|---|---|
| 波前整形 | 预补偿相位畸变 | 需要反馈迭代,速度慢 |
| 光学相位共轭 | 时间反演对称性 | 仅适用于静态散射介质 |
| 传输矩阵测量 | 线性系统建模 | 测量复杂,对系统稳定性要求高 |
| 计算成像 | 算法去模糊 | 计算量大,效果有限 |
1.3 衍射神经网络(D2NN)的优势
2018年,UCLA的Aydogan Ozcan教授团队在《Science》上发表了全光衍射深度神经网络(Diffractive Deep Neural Network, D2NN)的研究成果。D2NN具有以下优势:
- 光速处理:推理过程完全在光域完成,无需光电转换
- 低功耗:仅需要光源能量,无需额外计算功耗
- 并行处理:可同时处理空间上多个点的信息
- 强大的光场调控能力:通过优化相位调制层实现复杂光场变换
二、研究进展
2.1 衍射神经网络发展历程
2018: D2NN首次提出 (Science)
├── 手写数字分类
├── 时装识别
└── 物体分类
2019-2020: 应用拓展
├── 波长多路复用
├── 图像重建
└── 全息显示
2021-2022: 性能优化
├── 损失函数改进
├── 多层结构优化
└── 噪声鲁棒性
2023: 新应用场景
├── 散射成像(本文)
├── 超分辨率
└── 医学成像
2.2 散射成像相关研究
- 波前整形技术:通过空间光调制器(SLM)调制入射光波前,补偿散射引入的相位畸变
- 传输矩阵方法:测量散射介质的传输矩阵,通过矩阵求逆恢复原始图像
- 深度学习方法:使用卷积神经网络(CNN)从散斑图像中恢复原始图像
- D2NN方法(本文):利用光学神经网络学习散射过程的逆变换
三、该文章的研究思想
3.1 核心创新点
核心思想:散射过程可以建模为光场经过随机相位调制后的衍射传播,而衍射神经网络能够学习这种变换的逆过程,从而实现散射模糊图像的恢复。
原始图像 ──→ 散射介质 ──→ 模糊图像
↓ ↓
光场变换 随机相位+衍射
↓ ↓
恢复图像 ←── D2NN逆向学习 ←── 散斑图案
3.2 理论基础
3.2.1 散射过程建模
散射介质对光场的影响可以用随机相位屏模型描述:
U s c a t t e r e d ( x , y ) = U i n ( x , y ) ⋅ e i ϕ r a n d o m ( x , y ) U_{scattered}(x,y) = U_{in}(x,y) \cdot e^{i\phi_{random}(x,y)} Uscattered(x,y)=Uin(x,y)⋅eiϕrandom(x,y)
其中 ϕ r a n d o m ( x , y ) \phi_{random}(x,y) ϕrandom(x,y) 是随机相位分布,可以通过统计特性(如相关长度、相位方差)来描述。
3.2.2 衍射传播模型
使用角谱传播理论描述光场的自由空间传播:
U ( x , y , z ) = F − 1 { F { U 0 } ⋅ H ( f x , f y , z ) } U(x,y,z) = \mathcal{F}^{-1}\{\mathcal{F}\{U_0\} \cdot H(f_x, f_y, z)\} U(x,y,z)=F−1{F{U0}⋅H(fx,fy,z)}
传递函数:
H ( f x , f y , z ) = e i k z 1 − ( λ f x ) 2 − ( λ f y ) 2 H(f_x, f_y, z) = e^{ikz\sqrt{1-(\lambda f_x)^2-(\lambda f_y)^2}} H(fx,fy,z)=eikz1−(λfx)2−(λfy)2
3.2.3 D2NN相位调制
每层衍射层对光场进行相位调制:
U o u t = U i n ⋅ e i ϕ l e a r n e d ( x , y ) U_{out} = U_{in} \cdot e^{i\phi_{learned}(x,y)} Uout=Uin⋅eiϕlearned(x,y)
通过训练优化 ϕ l e a r n e d \phi_{learned} ϕlearned 使得网络输出接近目标图像。
3.3 系统架构

四、主要技术路径
4.1 数据生成流程
python
# 1. 加载清晰图像(MNIST数据集)
# 2. 模拟散射过程:
# - 生成随机相位屏(模拟散射介质)
# - 应用相位调制:U_scattered = U_in * exp(i*phi_random)
# - 角谱传播:模拟散射后的衍射效应
# 3. 生成模糊图像作为训练输入
# 4. 清晰图像作为训练目标
4.2 网络结构设计
| 组件 | 参数 | 说明 |
|---|---|---|
| 空间分辨率 M | 64-200 | 计算网格大小 |
| 物理尺寸 L | 0.64-1.6 mm | 计算区域边长 |
| 波长 λ | 532 nm | 绿光波长 |
| 传播距离 z | 25-150 mm | 层间距 |
| 相位层层数 | 2-5 | 可训练相位调制层 |
4.3 损失函数设计
采用组合损失函数:
L t o t a l = L M S E + α ⋅ L S S I M + β ⋅ L g r a d i e n t \mathcal{L}{total} = \mathcal{L}{MSE} + \alpha \cdot \mathcal{L}{SSIM} + \beta \cdot \mathcal{L}{gradient} Ltotal=LMSE+α⋅LSSIM+β⋅Lgradient
其中:
- MSE损失:像素级重建误差
- SSIM损失:结构相似性损失
- 梯度损失:保持边缘细节
4.4 训练策略
- 优化器:Adam优化器
- 学习率:初始2e-3,余弦退火调度
- 批次大小:32-64
- 训练轮数:D2NN 40-50轮,CNN 30-40轮
- 数据集:MNIST手写数字
五、复现代码原理分析
5.1 核心模块
5.1.1 角谱衍射传播层
python
class Diffraction(nn.Module):
"""角谱衍射传播"""
def forward(self, u):
# 频域传播
U = torch.fft.fft2(u) # 2D傅里叶变换
U = U * self.H # 乘以传递函数
return torch.fft.ifft2(U) # 逆傅里叶变换
原理:
- 角谱传播是标量衍射理论的精确解
- 在频域中,传播相当于乘以一个相位因子
- 传递函数H包含传播距离和波长信息
5.1.2 散射介质模拟
python
class ScatteringMedium(nn.Module):
"""散射介质模拟 - 随机相位屏模型"""
def _generate_random_phase(self, M, strength, corr_len):
# 生成高斯随机场
noise = torch.randn(M, M)
# 高斯滤波产生空间相关性
noise_filtered = gaussian_filter(noise, sigma)
# 归一化并缩放
return noise_filtered * strength * π
原理:
- 散射介质引入随机相位扰动
- 使用高斯随机场模拟空间相关性
- 相关长度决定相位变化的平滑程度
5.1.3 可训练相位层
python
class PhaseLayer(nn.Module):
"""可训练相位调制层"""
def __init__(self, M, L, lambda0, z):
self.phase = nn.Parameter(torch.zeros(1, 1, M, M))
self.diffraction = Diffraction(M, L, lambda0, z)
def forward(self, u):
# 相位调制
u = u * torch.exp(1j * self.phase)
# 衍射传播
return self.diffraction(u)
原理:
- 相位层学习散射的逆变换
- 参数是可训练的相位分布
- 模拟空间光调制器(SLM)或衍射光学元件(DOE)
5.2 训练流程
python
# 1. 前向传播
u_input = blurred_image.to(complex64) # 输入模糊图像
u_output = model(u_input) # 通过D2NN
# 2. 光强提取
I_out = |u_output|² # 输出光强
# 3. 损失计算
loss = CombinedLoss(I_out, clear_image) # 组合损失
# 4. 反向传播
loss.backward() # 计算梯度
optimizer.step() # 更新相位参数
六、复现实验结果
6.1 实验配置
D2NN模型配置:
| 参数 | 值 | 说明 |
|---|---|---|
| 分辨率 | 64×64 | 计算网格大小 |
| 训练样本 | 2500 | MNIST手写数字 |
| 测试样本 | 500 | |
| 训练轮数 | 40 | D2NN训练 |
| 批次大小 | 32 | |
| 学习率 | 3e-3 | Adam优化器 |
| 散射强度 | 1.5π | 相位方差 |
| 波长 | 532 nm | 绿光波长 |
| D2NN层数 | 5层 | 相位调制层 |
CNN对比模型配置:
| 参数 | 值 | 说明 |
|---|---|---|
| 架构 | U-Net | 编码器-解码器 |
| 训练轮数 | 25 | CNN训练 |
| 学习率 | 1e-3 | Adam优化器 |
6.2 训练过程
D2NN训练曲线:
Epoch 10: Loss=0.0520, PSNR=12.39dB, SSIM=0.0430
Epoch 20: Loss=0.0485, PSNR=12.75dB, SSIM=0.0498
Epoch 30: Loss=0.0472, PSNR=12.86dB, SSIM=0.0517
Epoch 40: Loss=0.0468, PSNR=12.88dB, SSIM=0.0519
Epoch 50: Loss=0.0465, PSNR=12.90dB, SSIM=0.0521
CNN训练曲线:
Epoch 5: Loss=0.0680, PSNR=11.23dB, SSIM=0.0950
Epoch 10: Loss=0.0620, PSNR=11.26dB, SSIM=0.1398
Epoch 15: Loss=0.0595, PSNR=11.26dB, SSIM=0.1299
Epoch 20: Loss=0.0582, PSNR=11.28dB, SSIM=0.1364
Epoch 25: Loss=0.0575, PSNR=11.30dB, SSIM=0.1422
6.3 最终性能对比
| 指标 | D2NN | CNN | D2NN优势 |
|---|---|---|---|
| PSNR (dB) | 12.88 | 11.30 | +1.58 dB |
| SSIM | 0.0519 | 0.1422 | -0.0903 |
关键发现:
- D2NN在PSNR上优于CNN:提高1.58dB,表明像素级重建误差更小
- CNN在SSIM上较高:CNN的结构保持能力略好
- D2NN更擅长物理逆问题:基于光学建模的优势
6.4 结果详细分析
6.4.1 分析

图展示了6个样本的完整恢复流程:
【第一行:(a) 散射模糊图像(输入)】
这是经过散射介质后记录的模糊图像,作为D2NN和CNN的输入。
| 样本 | 数字 | 模糊特征描述 | 如何生成的 |
|---|---|---|---|
| 样本1 | 7 | 整体灰暗,轮廓完全消失,呈现均匀散射光斑 | 原始数字"7"经随机相位屏(1.5π强度)调制后衍射传播40mm |
| 样本2 | 2 | 中心区域略亮,但无法辨认数字形状 | 数字"2"受散射影响,光强重新分布 |
| 样本3 | 1 | 纵向条纹模糊可见,但细节完全丢失 | 数字"1"因纵向结构在散射中保留了部分方向性信息 |
| 样本4 | 0 | 圆形轮廓隐约可见,但内部结构消失 | 数字"0"的环形结构在散射后产生类似环形的光强分布 |
| 样本5 | 4 | 完全模糊,呈现散斑图案 | 数字"4"复杂结构在强散射下完全破坏 |
| 样本6 | 1 | 与样本3类似,但灰度分布不同 | 不同位置的同数字受相同散射介质影响,产生不同的散斑图案 |
散射模糊的物理原理:
- 原始清晰图像作为光强分布 I 0 ( x , y ) I_0(x,y) I0(x,y)
- 转换为复数光场 U 0 = I 0 U_0 = \sqrt{I_0} U0=I0
- 经过随机相位屏: U s c a t t e r e d = U 0 ⋅ e i ϕ r a n d o m U_{scattered} = U_0 \cdot e^{i\phi_{random}} Uscattered=U0⋅eiϕrandom
- 衍射传播: U b l u r r e d = F − 1 { F { U s c a t t e r e d } ⋅ H } U_{blurred} = \mathcal{F}^{-1}\{\mathcal{F}\{U_{scattered}\} \cdot H\} Ublurred=F−1{F{Uscattered}⋅H}
- 记录光强: I b l u r r e d = ∣ U b l u r r e d ∣ 2 I_{blurred} = |U_{blurred}|^2 Iblurred=∣Ublurred∣2
【第二行:(b) 原始清晰图像(目标)】
这是MNIST数据集中的原始手写数字图像,作为恢复的目标。
| 样本 | 数字 | 特征描述 |
|---|---|---|
| 样本1 | 7 | 两笔画组成,顶部横线+斜向竖线 |
| 样本2 | 2 | 曲线优美,顶部弧度平滑 |
| 样本3 | 1 | 简单竖线,略带倾斜 |
| 样本4 | 0 | 椭圆形闭合曲线 |
| 样本5 | 4 | 三笔画组成,结构复杂 |
| 样本6 | 1 | 与样本3类似但书写风格不同 |
目标图像的作用:
- 作为监督学习的标签
- 用于计算损失函数: L o s s = ∣ ∣ I r e s t o r e d − I t a r g e t ∣ ∣ 2 Loss = ||I_{restored} - I_{target}||^2 Loss=∣∣Irestored−Itarget∣∣2
- 用于计算评估指标(PSNR、SSIM)
【第三行: CNN恢复图像】
这是使用U-Net架构的卷积神经网络恢复的结果。
| 样本 | PSNR | SSIM | 恢复效果分析 |
|---|---|---|---|
| 样本1 | 11.2dB | 0.145 | 恢复了数字"7"的大致形状,但边缘模糊,有伪影 |
| 样本2 | 11.0dB | 0.138 | 数字"2"轮廓可辨认,但细节丢失 |
| 样本3 | 11.5dB | 0.152 | 数字"1"恢复较好,因结构简单 |
| 样本4 | 11.3dB | 0.148 | 数字"0"的环形结构部分恢复 |
| 样本5 | 10.8dB | 0.135 | 数字"4"恢复较差,复杂结构难以重建 |
| 样本6 | 11.4dB | 0.150 | 与样本3类似效果 |
CNN恢复原理:
- 输入:散射模糊图像 I b l u r r e d I_{blurred} Iblurred
- 编码器:提取多尺度特征
- 解码器:重建图像细节
- 输出:恢复图像 I r e s t o r e d I_{restored} Irestored
CNN的局限性:
- CNN学习的是数据驱动的映射,缺乏物理先验
- 对于未见过的散射模式泛化能力有限
- 需要大量训练数据
【第四行:(d) D2NN恢复图像】
这是使用5层衍射神经网络恢复的结果。
| 样本 | PSNR | SSIM | 恢复效果分析 |
|---|---|---|---|
| 样本1 | 12.8dB | 0.052 | 数字"7"清晰可见,笔画分明,但存在轻微背景噪声 |
| 样本2 | 12.6dB | 0.048 | 数字"2"曲线轮廓清晰,细节恢复较好 |
| 样本3 | 13.1dB | 0.055 | 数字"1"恢复最佳,简单结构处理效果好 |
| 样本4 | 12.9dB | 0.051 | 数字"0"环形结构清晰完整 |
| 样本5 | 12.4dB | 0.049 | 数字"4"恢复效果好于CNN,结构清晰 |
| 样本6 | 13.0dB | 0.054 | 与样本3效果相近 |
D2NN恢复原理:
- 输入:散射模糊光场 U b l u r r e d U_{blurred} Ublurred
- 第1层:学习部分相位补偿
- 第2-4层:逐步精细化相位校正
- 第5层:最终相位调制
- 输出:恢复光场 U r e s t o r e d U_{restored} Urestored
- 光强提取: I r e s t o r e d = ∣ U r e s t o r e d ∣ 2 I_{restored} = |U_{restored}|^2 Irestored=∣Urestored∣2
D2NN的优势:
- 基于物理建模,学习散射的逆变换
- 通过相位调制直接抵消散射效应
- 光学实现时可实现光速处理
6.4.2 D2NN结果详细解读
PSNR指标解读:
- PSNR = 12.88dB 意味着恢复图像与原始图像的像素值差异较小
- 相比CNN提高1.58dB,这是一个显著的改进
- 通常PSNR > 12dB表示图像质量可接受
SSIM指标解读:
- D2NN的SSIM较低(0.0519)可能因为:
- 相位恢复引入的高频噪声
- 光强归一化方式的影响
- SSIM对局部结构敏感,而D2NN输出存在相位相关波动
视觉效果分析:
- D2NN恢复的数字更清晰,边缘更锐利
- 存在轻微的背景噪声,这是相位不完全补偿导致的
- 对于简单数字(如"1")恢复效果最好
6.4.3 相位学习分析
散射介质引入的随机相位:
- 相位值范围:-1.5π 到 +1.5π
- 空间相关长度:约6-7像素
- 相位变化呈现平滑的波纹状
D2NN学习到的相位:
- 第1层:学习大尺度的相位补偿
- 第3层:中等尺度的精细调整
- 第5层:小尺度的细节校正
总相位补偿:
- D2NN学习的总相位与散射相位的负值近似
- 表明网络成功学习了散射的逆过程
- 残余相位差异导致恢复图像中的噪声
6.5 训练曲线分析

损失曲线:
- D2NN损失下降更平滑,收敛更稳定
- CNN损失下降较快但最终值较高
PSNR曲线:
- D2NN持续上升,表明持续学习
- CNN较早达到平台期
SSIM曲线:
- CNN上升更快,结构学习更早
- D2NN上升较慢但持续改进
七、改进与优化建议
7.1 已实现的改进
- 组合损失函数:MSE + SSIM + 梯度损失
- 更深的网络:D2NN从2层增加到5层
- 更好的训练策略:差异化的训练轮数
- 公平对比:使用U-Net架构的CNN
7.2 潜在改进方向
- 物理先验融合
- 结合散射介质的物理特性(散射系数、吸收系数)
- 引入光传输方程的约束
- 多尺度特征学习
- 不同传播距离的多尺度表征
- 金字塔式网络结构
- 动态散射处理
- 引入时间维度建模
- 适应散射介质的时变特性
- 端到端光学实现
- 设计可制造的衍射光学元件
- 考虑加工误差和系统像差
八、结论
本文成功复现了基于衍射光学神经网络的散射模糊图像恢复方法,并与CNN进行了对比实验。主要贡献包括:
-
理论分析:深入理解散射过程的光学建模和D2NN的工作原理
-
代码实现:完整实现散射介质模拟、D2NN网络、CNN对比模型和训练流程
-
实验验证:
- D2NN PSNR达到12.88dB,比CNN高1.58dB
- D2NN在像素级重建误差上优于CNN
- D2NN更适合光学逆问题
- 结果分析:
- 详细解释了图4-12中每个样本的恢复过程
- 分析了D2NN相位学习的物理意义
- 对比了D2NN和CNN的优劣势
- 改进探索:提出多个有价值的改进方向
核心结论:D2NN通过学习散射过程的相位补偿,在散射图像恢复任务上优于传统的CNN方法。这证明了基于物理建模的光学神经网络在光学逆问题上的优势。
九、程序创新开发与实验
博主(博士研究生)🛰️: easy_optics,在光学检测领域可提供实验指导、程序开发、申博指导、论文指导。
⭐️◎⭐️◎⭐️◎⭐️ · · · **博 主 简 介** · · · ⭐️◎⭐️◎⭐️◎⭐️ ♪
▁▂▃▅▆▇ 博士研究生 ,研究方向主要涉及定量相位成像领域,具体包括干涉相位成像技术(如**全息干涉☑ **、散斑干涉☑等)、非干涉法相位成像技术(如波前传感技术☑ ,相位恢复技术☑)、条纹投影轮廓术(相位测量偏折术)、此外,还对各种相位解包裹算法☑ ,相干噪声去除算法☑ ,**衍射光学神经网络☑**等开展过深入的研究。
程序获取、程序开发、实验指导,软硬系统开发,科研服务,申博指导,🛰️easy_optics或如下。