图像增强论文精读笔记-Learning a Deep Single Image Contrast Enhancer from Multi-Exposure Images(SICE)

1. 论文基本信息

2. 研究背景和动机

        现存的图像增强方法有基于多张图片的(MEF)以及基于单张图片的(SICE),MEF会由于多张曝光图像的物体位置不同等等而引入伪影,从前的SICE方法会由于单张图像信息不够而无法完美地恢复图像。并且现存的多曝光图像数据集也很少。

3. 主要贡献

        (1) 构建了一个大型的多曝光图像数据集,其中由低or高曝光/正常曝光的图像对组成,正常曝光的图像是由13种算法处理非正常曝光图像序列得来的。基于此数据集可以训练一个高效的CNN来增强单张图像;

        (2) 训练了一个CNN用于单张图像增强;

4. 方法和模型

        (1) 构建的数据集样图如下,每一组非正常曝光是一个图像序列,通过这一个序列结合算法得到正常曝光的图像:

        (2)网络总体架构图如下。增强的过程为分为两个阶段

        第一阶段:首先根据Retinex理论,将图像分为高频R、低频L两部分,高频部分代表局部细节,低频部分代表全局图像的自然性。分解为L和R后分别通过部分增强网络以及细节增强网络

        第二阶段:将两部分结果合起来通过全局增强网络进一步增强

        (3) 损失函数考虑到了MSE损失、L1Norm损失、Structural dissimilarity (DSSIM)损失:

        其中MSE损失用于阶段一的部分增强网络;
        考虑到高频细节部分通常遵循拉普拉斯分布,并包含一些噪声和离群点,阶段一的细节增强网络使用L1Norm损失函数;
        为了提升最终输出的感知质量,阶段二使用基于感知驱动的 DSSIM 度量作为损失函数;

5. 一些缺点

        对于局部大块的极端过曝光情况,恢复效果并不是太好,如下所示。图b是之前MEF的方法,可以看到细节恢复较好;图c是本文的方法,对于右半边过度曝光区域恢复效果不太理想

好的,我可以帮你制作一个简单的界面,并添加三个按钮分别调节饱和度、对比度和锐度参数。 你可以使用Python的Tkinter库来创建GUI界面,同时使用Pillow库来处理图像。以下是实现代码的示例: ```python from tkinter import * from PIL import Image, ImageEnhance class ImageProcessor: def __init__(self, root): self.root = root self.root.title("图像处理") self.root.geometry("400x300") self.image_path = "image.jpg" self.image = Image.open(self.image_path) self.saturate_btn = Button(self.root, text="饱和度增强", command=self.saturate) self.saturate_btn.pack(pady=10) self.contrast_btn = Button(self.root, text="对比度增强", command=self.contrast) self.contrast_btn.pack(pady=10) self.sharpness_btn = Button(self.root, text="锐度增强", command=self.sharpness) self.sharpness_btn.pack(pady=10) self.quit_btn = Button(self.root, text="退出", command=self.root.quit) self.quit_btn.pack(pady=10) def saturate(self): enhancer = ImageEnhance.Color(self.image) self.image = enhancer.enhance(1.5) self.image.save("processed_image.jpg") def contrast(self): enhancer = ImageEnhance.Contrast(self.image) self.image = enhancer.enhance(1.5) self.image.save("processed_image.jpg") def sharpness(self): enhancer = ImageEnhance.Sharpness(self.image) self.image = enhancer.enhance(1.0) self.image.save("processed_image.jpg") if __name__ == '__main__': root = Tk() app = ImageProcessor(root) root.mainloop() ``` 这个程序创建了一个窗口,包含了三个按钮和一个退出按钮。当你点击“饱和度增强”按钮时,程序会调用`saturate`方法,该方法会使用Pillow库中的`ImageEnhance.Color`增强器来增强图像的饱和度。同样的,当你点击“对比度增强”按钮时,程序会调用`contrast`方法,该方法会使用`ImageEnhance.Contrast`增强器来增强图像的对比度。当你点击“锐度增强”按钮时,程序会调用`sharpness`方法,该方法会使用`ImageEnhance.Sharpness`增强器来增强图像的锐度。所有处理过的图像都将保存在`processed_image.jpg`文件中。 希望这能帮到你!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值