ACM MM 2023| CLE Diffusion:可控光照增强扩散模型(low light image enhancement)

本文主要是介绍ACM MM 2023| CLE Diffusion:可控光照增强扩散模型(low light image enhancement),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本文介绍了由北交大、UT Austin、A*Star团队提出的基于扩散模型的可控低光增强方法,论文被ACM MM 2023收录。

在这里插入图片描述

Paper Name:CLE Diffusion: Controllable Light Enhancement Diffusion Model
Keywords:Low light image enhancement, diffusion model, image processing
Paper Link:https://arxiv.org/abs/2308.06725
Code Link:https://github.com/YuyangYin/CLEDiffusion
Web Link:https://yuyangyin.github.io/CLEDiffusion/

Introduction

低光图像增强技术近年来受到了广泛的关注,目前的方法通常假设一个理想的增亮程度,对图像整体进行均匀的增强,同时也限制了用户的可控性。为了解决这个问题,本文提出了可控光照增强扩散模型(Controllable Light Enhancement Diffusion Model),可以让用户输入所需的增亮级别,并利用SAM模型,来实现交互友好的区域可控增亮。
如图演示效果,用户可以通过简单的点击来指定增亮的区域。

Method

本文提出了新型的可控光照增强框架,主要采用了条件扩散模型来控制任意区域的任意亮度增强。通过亮度控制模块(Brightness Control Module)将亮度信息信息融入Diffusion网络中,并且设计了和任务适配的条件控制信息和损失函数来增强模型的能力。同时本文使用了Mask输入和SAM模型(Segment-Anything Model)来进一步增强可控性,使得用户可以通过简单的点击形式实现任意区域的增亮。整体的框架如下图所示:
framework

条件控制扩散模型

给定低光图像(low-light images) x x x和正常光照图像(normal-light images) y y y,相较于学习两个域的one-to-one mapping,本文更倾向于优化条件分布 p ( y ∣ x ) p(y|x) p(yx)。采用了DDPM来进行条件生成,实验发现简单地将low light image x x x和混合噪声的normal-light image y t y_t yt效果比较差。因此本文采用了两个额外的输入信息,来减少色彩扭曲、棋盘状噪声的问题。

Color map:
C ( x ) = x x m a x = [ x r x r , m a x , x g x g , m a x , x b x b , m a x ] C(x)=\frac{x}{x_{max}}=[\frac{x_r}{x_{r, max}},\frac{x_g}{x_{g,max}},\frac{x_b}{x_{b,max}}] C(x)=xmaxx=[xr,maxxr,xg,maxxg,xb,maxxb]
其中 x r x_r xr代表图像的红色通道, x r , m a x x_{r,max} xr,max代表图像的红色通道像素的最大值。

Snr map:
S ( x ) = F ( x ) ∣ x − F ( x ) + ϵ ∣ S(x)=\frac{F(x)}{\vert x - F(x) + \epsilon \vert} S(x)=xF(x)+ϵF(x)
其中 F F F代表低通滤波器(low-pass filter)来进行高斯噪声的加噪, ϵ \epsilon ϵ表示极小量。

因此整体的DDPM训练步骤可以表示为:
L simple = E y , t , ϵ [ ∥ ϵ − ϵ θ ( a ˉ t y + 1 − a ˉ t ϵ , x , C ( x ) , S ( x ) , t ) ∥ 2 ] \mathcal{L}_\text{simple}=\mathbb{E}_{{y}, t, \epsilon}\left[\left\|\epsilon- \epsilon_{\theta}\left(\sqrt{\bar{a}_{t}} {y}+\sqrt{1-\bar{a}_{t}} \epsilon, x,C(x),S(x),t\right)\right\|^{2}\right] Lsimple=Ey,t,ϵ[ ϵϵθ(aˉt y+1aˉt ϵ,x,C(x),S(x),t) 2]

亮度控制板块

为了高效的控制亮度信息,本文采用了classifier-free guidance(CFG)方法。CFG采用同时训练条件扩散模型(conditional diffusion model)和无条件扩散模型(unconditional diffusion model)的方式来实现。
在本任务中,将亮度值(brightness level)视作class label,由于亮度具有连续性,我们的class label也是连续的,可以实现更精细的亮度调节。
对于条件扩散模型,本文通过计算normal-light image的平均亮度 λ \lambda λ,然后通过orthogonal matrix将其在编码成illumintion embedding。然后通过FiLM layer将其注入到UNet的feature map中。
对于无条件扩散模型,本文将illumintion embedding的值设置为0。
实验中为了提升采样速度,采用DDIM采样的办法,因此总体的算法流程可以总结为:
Alg

区域控制增亮

在实际增亮过程中,用户相比于全局增亮图片其实更加关注区域的亮度控制,本文采用了Mask-CLE Diffusion来解决这个问题。
首先采样了一批羽化边缘的随机mask,通过将normal-light image和mask混合得到了一个新的合成数据集。然后将mask信息拼接到扩散模型的输入中,训练得到新的增亮模型。
SAM(Segment-Anything Model)可以实现任意图片的分割。在SAM的帮助下,Mask-CLE Diffusion提供了更好的用户交互体验,可以让用户通过点击的形式获得指定区域的mask并进行增亮。

辅助损失函数

在实验过程中,仅优化 L simple \mathcal{L}_\text{simple} Lsimple 并不能实现较好的效果,因此本文增加了四个辅助损失函数。
Brightness Loss:
L br = ∣ G ( y 0 ^ ) − G ( y ) ∣ 1 \mathcal{L}_\text{br}=|{G}(\hat{y_0})-{G}(y)|_1 Lbr=G(y0^)G(y)1

Angular Color Loss:
L col = ∑ i ∠ ( y 0 ^ i , y i ) \mathcal{L}_\text{col}=\sum_{i}{\angle\left(\hat{y_0}_i,y_i\right)} Lcol=i(y0^i,yi)

SSIM Loss:
L ssim = ( 2 μ y μ y 0 ^ + c 1 ) ( 2 σ y y 0 ^ + c 2 ) ( μ y 2 + μ y 0 ^ 2 + c 1 ) ( σ y 2 + σ y 0 ^ 2 + c 2 ) \mathcal{L}_\text{ssim} = \frac{(2\mu_{y}\mu_{\hat{y_0}} + c_1)(2\sigma_{y\hat{y_0}} + c_2)}{(\mu_{y^2} + \mu_{\hat{y_0}}^2 + c_1)(\sigma_{y^2} + \sigma_{\hat{y_0}}^2 + c_2)} Lssim=(μy2+μy0^2+c1)(σy2+σy0^2+c2)(2μyμy0^+c1)(2σyy0^+c2)

Perceptual Loss:
L lpips = ∑ l 1 H l W l ∣ ϕ V G G l ( y 0 ^ ) − ϕ V G G l ( y ) ∣ 2 \mathcal{L}_\text{lpips}=\sum_l \frac{1}{H_lW_l}\vert \phi^l_{VGG}(\hat{y_0})-\phi^l_{VGG}(y)\vert_2 Llpips=lHlWl1ϕVGGl(y0^)ϕVGGl(y)2

Expriment

New Metric

目前的大部分指标通常假设理想的亮度值,但对于不同亮度的图片质量比较困难。如下图所示,PSNR和SSIM通常随着亮度变化呈现V字形的变换,而LPIPS会呈现倒V型。因此本文希望提出一个新的指标,可以衡量不同亮度下的图片质量。
metric
本文发现可以用color map来对亮度进行归一化,之后通过Canny边缘提取算子来衡量细节信息,最后采用LPIPS函数来衡量高频质量。
新的指标可以命名为Light-IndependentLPIPS,表示为:
L LI-LPIPS ( a , b ) = ∑ l 1 H l W l ∣ ϕ l ( Canny ( C ( a ) ) − ϕ l ( Canny ( C ( b ) ) ∣ 2 , \mathcal{L}_\text{LI\text{-}LPIPS}(a, b)=\sum_l \frac{1}{H_lW_l}\vert \phi^l(\text{Canny}(C(a))-\phi^l(\text{Canny}(C(b))\vert_2, LLI-LPIPS(a,b)=lHlWl1ϕl(Canny(C(a))ϕl(Canny(C(b))2,

LOL和Mit-Adobe FiveK数据集上的表现

评测指标的比较:
table
LOL数据集上的可视化比较:
在这里插入图片描述

Mit-Adobe FiveK数据集上的可视化比较:
在这里插入图片描述

区域亮度增强

给定用户感兴趣的区域,可以实现任意亮度的增强。对比于过往低光增强方法MAXIM(CVPR 2022 Oral),具有更强的可控性和增亮效果。
在这里插入图片描述
在这里插入图片描述

全局亮度增强

Global1
在这里插入图片描述

和其他亮度可控方法的比较

ReCoRo只能实现在low-light到well-light之间的亮度增强,而CLE Diffusion有更广的编辑空间。
在这里插入图片描述

在VE-LOL数据集上的比较

在这里插入图片描述

在正常光照数据集上的比较

在这里插入图片描述

在分割模型上的表现

在这里插入图片描述

总结

CLE Diffusion提出了一种新型的扩散模型框架来实现可的光照增强。方法主要将亮度信息编码,利用条件扩散模型来实现可控的亮度增强。并且借助SAM模型,让用户可以选择感兴趣的区域进行增亮。大量的实验表明,方法在定量和定性上都有优异的表现。

这篇关于ACM MM 2023| CLE Diffusion:可控光照增强扩散模型(low light image enhancement)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/704391

相关文章

0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型的操作流程

《0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeekR1模型的操作流程》DeepSeekR1模型凭借其强大的自然语言处理能力,在未来具有广阔的应用前景,有望在多个领域发... 目录0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型,3步搞定一个应

Deepseek R1模型本地化部署+API接口调用详细教程(释放AI生产力)

《DeepseekR1模型本地化部署+API接口调用详细教程(释放AI生产力)》本文介绍了本地部署DeepSeekR1模型和通过API调用将其集成到VSCode中的过程,作者详细步骤展示了如何下载和... 目录前言一、deepseek R1模型与chatGPT o1系列模型对比二、本地部署步骤1.安装oll

Spring AI Alibaba接入大模型时的依赖问题小结

《SpringAIAlibaba接入大模型时的依赖问题小结》文章介绍了如何在pom.xml文件中配置SpringAIAlibaba依赖,并提供了一个示例pom.xml文件,同时,建议将Maven仓... 目录(一)pom.XML文件:(二)application.yml配置文件(一)pom.xml文件:首

如何在本地部署 DeepSeek Janus Pro 文生图大模型

《如何在本地部署DeepSeekJanusPro文生图大模型》DeepSeekJanusPro模型在本地成功部署,支持图片理解和文生图功能,通过Gradio界面进行交互,展示了其强大的多模态处... 目录什么是 Janus Pro1. 安装 conda2. 创建 python 虚拟环境3. 克隆 janus

本地私有化部署DeepSeek模型的详细教程

《本地私有化部署DeepSeek模型的详细教程》DeepSeek模型是一种强大的语言模型,本地私有化部署可以让用户在自己的环境中安全、高效地使用该模型,避免数据传输到外部带来的安全风险,同时也能根据自... 目录一、引言二、环境准备(一)硬件要求(二)软件要求(三)创建虚拟环境三、安装依赖库四、获取 Dee

DeepSeek模型本地部署的详细教程

《DeepSeek模型本地部署的详细教程》DeepSeek作为一款开源且性能强大的大语言模型,提供了灵活的本地部署方案,让用户能够在本地环境中高效运行模型,同时保护数据隐私,在本地成功部署DeepSe... 目录一、环境准备(一)硬件需求(二)软件依赖二、安装Ollama三、下载并部署DeepSeek模型选

Golang的CSP模型简介(最新推荐)

《Golang的CSP模型简介(最新推荐)》Golang采用了CSP(CommunicatingSequentialProcesses,通信顺序进程)并发模型,通过goroutine和channe... 目录前言一、介绍1. 什么是 CSP 模型2. Goroutine3. Channel4. Channe

Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)

《Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)》:本文主要介绍Python基于火山引擎豆包大模型搭建QQ机器人详细的相关资料,包括开通模型、配置APIKEY鉴权和SD... 目录豆包大模型概述开通模型付费安装 SDK 环境配置 API KEY 鉴权Ark 模型接口Prompt

大模型研发全揭秘:客服工单数据标注的完整攻略

在人工智能(AI)领域,数据标注是模型训练过程中至关重要的一步。无论你是新手还是有经验的从业者,掌握数据标注的技术细节和常见问题的解决方案都能为你的AI项目增添不少价值。在电信运营商的客服系统中,工单数据是客户问题和解决方案的重要记录。通过对这些工单数据进行有效标注,不仅能够帮助提升客服自动化系统的智能化水平,还能优化客户服务流程,提高客户满意度。本文将详细介绍如何在电信运营商客服工单的背景下进行

认识、理解、分类——acm之搜索

普通搜索方法有两种:1、广度优先搜索;2、深度优先搜索; 更多搜索方法: 3、双向广度优先搜索; 4、启发式搜索(包括A*算法等); 搜索通常会用到的知识点:状态压缩(位压缩,利用hash思想压缩)。