1. 项目背景与核心挑战低光照图像增强是计算机视觉领域长期存在的技术难题。在安防监控、医疗影像、自动驾驶等实际场景中由于光照条件限制获取的图像往往存在噪声大、细节丢失、色彩失真等问题。传统方法如直方图均衡化、Retinex理论等基于人工设计的特征提取方式在处理复杂场景时存在适应性差、容易引入伪影等缺陷。我选择双分支残差结构作为核心框架主要基于三方面考量 1残差连接能有效缓解深层网络梯度消失问题适合处理低光照图像这种需要多层次特征融合的任务 2双分支设计可分别处理亮度增强和噪声抑制两个关键子任务避免单一网络承担过多功能 3相比U-Net等对称结构双分支的参数量更可控适合在毕业设计的硬件条件下实现2. 网络架构设计与实现细节2.1 主干网络结构采用改进的ResNet34作为基础架构主要调整包括输入层将原始3通道RGB输入扩展为4通道增加亮度通道残差块在标准残差块后添加通道注意力模块SE Block双分支设计亮度增强分支输出光照调整系数矩阵细节恢复分支输出高频细节补偿图class DualBranchResNet(nn.Module): def __init__(self): super().__init__() self.shared_encoder ResNet34_modified() self.bright_branch nn.Sequential( ConvBNReLU(512, 256), AttentionGate(256), nn.Conv2d(256, 1, kernel_size1)) self.detail_branch nn.Sequential( ConvBNReLU(512, 256), ResidualBlock(256), nn.Conv2d(256, 3, kernel_size1)) def forward(self, x): features self.shared_encoder(x) bright torch.sigmoid(self.bright_branch(features)) detail self.detail_branch(features) return bright * x detail2.2 关键技术创新点自适应亮度映射通过可学习参数动态调整不同区域的增强强度噪声感知损失在损失函数中加入噪声估计项避免过度增强导致的噪声放大双阶段训练策略先单独训练各分支再联合微调3. 数据集构建与训练技巧3.1 数据准备方案构建了包含三种数据源的混合数据集真实低光照数据集LOL、SICE合成数据使用gamma校正模拟不同光照强度自采集数据用单反相机手动调整曝光参数数据增强策略随机色温扰动2500K-7500K模拟不同ISO噪声ISO 100-6400运动模糊模拟最大15°旋转3.2 损失函数设计采用多任务损失函数def loss_function(output, target): # 结构相似性损失 ssim_loss 1 - ssim(output, target) # 感知损失VGG16特征匹配 percep_loss F.mse_loss(vgg(output), vgg(target)) # 噪声约束项 noise_loss torch.mean(output.std(dim[2,3])) return 0.6*ssim_loss 0.3*percep_loss 0.1*noise_loss4. 实现效果与对比实验4.1 客观指标对比在LOL测试集上的表现方法PSNR↑SSIM↑NIQE↓传统HE12.340.4568.72RetinexNet16.780.6326.15Zero-DCE18.920.7015.83本方法21.050.7534.964.2 主观效果分析在以下场景表现突出极低照度5lux下的色彩保持高ISO噪声图像的细节保留背光场景的局部增强效果5. 工程实现注意事项硬件选型建议最低配置GTX 1660 Ti (6GB显存)推荐配置RTX 3060 (12GB显存)训练batch_size设置为8-16为宜常见训练问题遇到梯度爆炸时尝试减小学习率初始建议3e-4添加梯度裁剪max_norm1.0使用AdamW优化器替代Adam部署优化技巧使用TensorRT加速推理对640x480分辨率图像优化后可达35FPS移动端部署建议转换为TFLite格式6. 扩展应用方向视频增强方案加入时序一致性约束采用光流引导的帧间平滑特定场景优化医疗内窥镜图像增强水下摄影色彩校正监控视频实时处理在实际部署中发现将模型输出与传统的白平衡算法结合可以进一步提升色彩还原效果。对于需要实时处理的场景建议将输入分辨率降至480p并启用半精度推理这样即使在Jetson Nano上也能达到15FPS的处理速度。