【代码复现Zero-DCE详解:Zero-Reference Deep Curve Estimation for Low-Light Image Enhancement】

在这里插入图片描述

链接概括

1.文章:(CVPR 2020) Zero-Reference Deep Curve Estimation for Low-Light Image Enhancement
2. 链接: paper.
3. 链接: code.
4. 其他博主复现链接: link.

存在的几个主要问题

1.检查电脑是否含有GPU,不是GPU环境需要将代码改为CPU环境下
2. 源代码中没有数据集
3. 代码中路径问题,路径不对将导致无法加载数据
3.需要按照要求设置文件夹
4. 由于版本不同,代码运行中出现的警告影响代码运行

检查电脑是否含有GPU:将代码改为CPU环境下运行

论文中的代码是GPU环境下的,并且是在每一句需要用到GPU的代码下注释的,所以需要将所有含有该语令的改为CPU
具体改法:
将代码中".cuda()"删去,或者将其改为“.cpu()”
下面仅仅是部分示例:其中前面带“#”为源代码

// Myloss.py
        # kernel_left = torch.FloatTensor( [[0,0,0],[-1,1,0],[0,0,0]]).cuda().unsqueeze(0).unsqueeze(0)
        # kernel_right = torch.FloatTensor( [[0,0,0],[0,1,-1],[0,0,0]]).cuda().unsqueeze(0).unsqueeze(0)
        # kernel_up = torch.FloatTensor( [[0,-1,0],[0,1, 0 ],[0,0,0]]).cuda().unsqueeze(0).unsqueeze(0)
        # kernel_down = torch.FloatTensor( [[0,0,0],[0,1, 0],[0,-1,0]]).cuda().unsqueeze(0).unsqueeze(0)
        kernel_left = torch.FloatTensor([[
### Zero-DCE 图像增强算法原理 Zero-DCE 是一种用于低光图像增强的方法,采用数据驱动的方式设计非参考损失函数,考虑了多个光增强因素,因此具备良好的鲁棒性和广泛的动态范围调整能力[^1]。具体来说,此方法引入了一个轻量级的神经网络 DCE-Net 来预测每张输入图片的最佳拟合光增强曲线 (LE-曲线),这些曲线被用来调整原始图像的颜色分布。 为了确保生成的 LE 曲线能够有效地提升图像质量,DCE-Net 所学得的曲线需满足几个特性:它们应当是逐像素定义、单调增加以及完全可微分的,这使得优化过程更加稳定并允许端到端的学习机制[^2]。 当应用到实际场景时,Zero-DCE 的工作流程如下: 1. 输入一张待处理的照片; 2. 使用预训练好的 DCE-Net 对其进行分析,得到一系列适合当前图像特征的光增强参数; 3. 利用上述参数构建相应的 LE 曲线,并将其应用于原图各颜色通道上的每一个像素点上; 4. 经过多次迭代更新直至达到满意的视觉效果为止,最终输出经过强化后的版本[^3]。 这种方法不仅能在不依赖任何外部参照物的情况下完成高质量的图像增强任务,而且由于模型结构简单紧凑,在硬件资源有限的情况下也能高效运行[^4]。 ```python import torch from zero_dce import Zero_DCE # 初始化模型实例 model = Zero_DCE() # 加载权重文件 checkpoint = 'path_to_checkpoint.pth' state_dict = torch.load(checkpoint)['state_dict'] model.load_state_dict(state_dict) def enhance_image(input_img_path, output_img_path): img_tensor = load_image_as_tensor(input_img_path) with torch.no_grad(): enhanced_tensor = model(img_tensor) save_tensor_as_image(enhanced_tensor, output_img_path) if __name__ == "__main__": input_path = './input.jpg' output_path = './output_enhanced.jpg' enhance_image(input_path, output_path) ```
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值