TreEnhance: A Tree Search Method For Low-Light Image Enhancement 论文阅读笔记

在这里插入图片描述

  • 这是2023年PR这个期刊的论文
  • 主要思想是,利用一系列预定义好的操作序列来进行增强,然后利用强化学习来学习增强序列的预测。所以训练阶段有两个交替进行的阶段,一个是蒙特卡洛树搜索阶段,第二个是训练深度强化学习的阶段。而测试的时候则可以有两种方式,一种是用蒙特卡洛树搜索的方式去找到一个好的序列,但这太慢了;另一种是利用训练好的强化学习直接预测,这个快但找到的序列没有稍微比蒙特卡洛树搜给出的结果差一点(其实看你的强化学习模型训练得如何,如果训练得特别好可能就一模一样了吧)。
  • 这样的好处在于,一是使得模型是完全可解释的而非一个黑盒模型;二是模型同时预测了一个从暗图到增强结果的路径,也就因此同时获得了其逆过程,即我们同时探究到了退化过程。
  • 这些可选的操作是由expert在平时使用的软件中挑选出来的一些操作。
  • 有监督训练,需要使得操作序列增强的结果和expert编辑的结果一致
  • 网络的预测是两个部分,一个是对最佳策略概率的估计 π ( x , a ) \pi(x,a) π(x,a),一个是对平均奖励的估计 v ( x ) v(x) v(x)
  • MTCS的一次迭代分为四个阶段:selection、expansion、evaluation和backup(计算奖励)阶段。其中select阶段的选择策略是置信度上界的最大化。置信度上界的计算公式如下:

在这里插入图片描述

  • 公式中, x x x是迄今为止的路径,也可以认为是当前的增强结果, r r r是之前的搜索中通过 x x x的迭代得到的奖励的平均值,所以通过 x x x的奖励期望本来应该就是第一项,也就是之前通过 x x x的奖励的平均值,但第二项是为了进一步探索, c c c是平衡冒险和奖励的权重。 π \pi π是网络的预测值,表示父节点为 x p x_p xp时,采取 a a a策略得到最佳奖励的概率, N N N表示在之前的搜索中经过某个节点的次数,这里的分数的作用是,当 x x x在之前的搜索中的探索次数比较少时,则增加这一比重。
  • 从根节点(某一张原始的黑暗图像)开始,搜索树开始搜索和生长,直到两种情况之一发生时停止,一是到达最大深度,此时搜索失败,最终奖励值为0;二是选择stop策略到达stop节点,最终奖励值则按以下公式计算:
    在这里插入图片描述
  • 对于不同的图像,表示为不同的根节点,因此对于每张图像都是重新开始搜索,重新从根节点开始生成树;而对同一张图像会搜索多次,搜索的时候,根节点的策略先是按策略搜索,但搜索到一定次数时,会设为如下值以鼓励网络沿着某条越来越确定的路径进行搜索:
    在这里插入图片描述
  • 当蒙特卡洛搜索树完成数次搜索后,相当于为网络产生了一个训练集,可以在这个训练集上训练网络。对于网络预测的 π \pi π v v v,损失函数如下:
    在这里插入图片描述
  • 第一项是使得网络预测正确的期望奖励,第二项是使得网络预测正确的最佳策略。通过多次生成和训练,可以使得网络能够预测最佳的操作序列。
  • 网络用的是resnet-18,把最后一层改成两个head,一个softmax预测最佳策略概率分布 π \pi π,一个预测期望奖励 v v v
  • 可选的操作有以下几种:
    • brightness adjustment:像素值增加一个固定亮度delta:
      在这里插入图片描述

    • contrast adjustment:在均值附近乘以一个beta以调整对比度,其中beta要么是2要么是0.8:
      在这里插入图片描述

    • gamma correction:gamma校正,要么是0.6要么是1.1:
      在这里插入图片描述

    • saturation adjustment:先转到HSV彩色空间如何对饱和度分量S乘以一个0.5或者2以调整饱和度,然后转回RGB彩色空间

    • hue rotation:转到HSV彩色空间然后把H分量旋转-18度或者+18度,然后转回去

    • 以上的五个操作是通用的操作,然后在LOL数据集上还应用了以下的几个操作:

    • gray world:类似白平衡操作,把各个通道的都乘以各自的一个factor使得各个通道的均值归一化到图像的均值

    • max RGB: 和上面差不多,但是激进点,直接各个通道除以各个通道的最大值使得各个通道的最大值为1,即满足最亮的点为白色

    • 中值滤波,3x3

    • 高斯滤波

    • 锐化滤波:
      在这里插入图片描述

    • 边缘增强滤波:
      在这里插入图片描述

    • 细节滤波:
      在这里插入图片描述

    • 平滑滤波:
      在这里插入图片描述

    • 最后是特殊的stop操作,即结束操作序列

  • 每次generation选择100张图片,每张进行1w次MTCS迭代来对每张照片生成树。树的最大深度设为10。每张照片生成的树中会采样10个节点,因此genenration后的optimization阶段对网络训练时有1k个训练样本。每次optimization阶段用ADAMW优化器进行160次迭代。
  • 就结果而已,这个方法从原理上就避免了引入伪影,虽然慢但是总体上视觉效果和指标效果都还不错。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/7917.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

中级软件设计师备考---计算机组成与体系结构3

目录①磁盘工作原理②计算机总线③系统可靠性分析④校验码CRC循环校验码海明校验码①磁盘工作原理 计算题 ②计算机总线 概念题 ③系统可靠性分析 计算可靠度 ④校验码 码距:是指两个码字之间的不同位数。例如,1010和1111之间的码距是2&#xff0c…

160. 相交链表 ——【Leetcode每日一题】

160. 相交链表 给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回 null 。 图示两个链表在节点 c1 开始相交: 题目数据 保证 整个链式结构中不存在环。 注意&#xff0c…

生成式人工智能所面临的问题有哪些?

在生成式人工智能中工作需要混合技术、创造性和协作技能。通过发展这些技能,您将能够在这个令人兴奋且快速发展的领域应对具有挑战性的问题。 生成式人工智能是指一类机器学习技术,旨在生成与训练数据相似但不完全相同的新数据。 换句话说,…

【二分—STL】lower_bound()函数upper_bound()函数的使用总结

目录一、基本用法:二、具体到题目中如何应用1、数的范围2、递增三元组3、数组元素的目标和一、基本用法: lower_bound() 用于二分查找区间内第一个 大于等于某值(> x) 的迭代器位置 upper_bound() 用于二分查找区间内第一个 大于某值(> x) 的迭代器…

IP协议以及相关技术

这里写目录标题前言正文IP基本认识IP的作用IP和MAC的关系IP地址的基础知识IP地址定义IP地址分类(IPv4)无分类IP地址CIDR子网掩码IPv6基础知识相关技术DNS域名解析ARPDHCPNATICMPIGMP总结参考连接前言 大家好,我是练习两年半的Java练习生,今天我们来讲一…

Meta AI Segment Anything Model (SAM)初体验

最近Meta AI发布了Segment Anything模型,可以直接分割任何图片。我趁热乎体验了一下。 文章目录进入官网 & 上传图片Hover & Click——截取物体Box——框选物体Everything——提取所有物体Cut-Outs——提取结果进入官网 & 上传图片 打开Segment Anythi…

JMP指令寻址方式总结,JMP BX指令寻址方式是什么

jmp 指令的几种寻址方式 jmp short 标号 段间跳转 -128-127 jmp far ptr 标号 超段转移 跳转包含目标地址jmp reg 16位寄存器 jmp word ptr 内存单元地址 段内转移 jmp dword ptr 内存单元地址 ( 段间转移) 高字地址存放cs 低字节存放ip jmp指令用法总结 1.直接用法(只能在Deb…

hadoop3.2.4 集群环境搭建

本文介绍hadoop3.2.4集群环境搭建看本文之前最好先看看伪分布式的 搭建文章链接如下,因为有些问题是伪分布式的时候遇到的,这里就不重复展示解决办法了。 链接:伪分布式搭建 文章目录前言一、准备机器二、linux环境准备工作2.1 修改主机名2.2…

超详细从入门到精通,pytest自动化测试框架实战-钩子函数(五)

目录:导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜)前言 pytest这个框架提供…

政务云建设与应用解决方案

本资料来源公开网络,仅供个人学习,请勿商用,如有侵权请联系删除 政府信息化趋势-四大四新-政务云需求 大平台共享-新设施:打造形成“覆盖全市、统筹利用、统一投入”的大平台,有力促进政务信息系统整合; 大…

面试官:说一说mysql的varchar字段最大长度?

在mysql建表sql里,我们经常会有定义字符串类型的需求。 CREATE TABLE user (name varchar(100) NOT NULL DEFAULT COMMENT 名字 ) ENGINEInnoDB DEFAULT CHARSETutf8mb4 ;比方说user表里的名字,就是个字符串。mysql里有两个类型比较适合这个场景。 ch…

【Maven】2—命令行创建Web工程依赖排除

⭐⭐⭐⭐⭐⭐ Github主页👉https://github.com/A-BigTree 笔记链接👉https://github.com/A-BigTree/Code_Learning ⭐⭐⭐⭐⭐⭐ 如果可以,麻烦各位看官顺手点个star~😊 如果文章对你有所帮助,可以点赞👍…

【游戏逆向】FPS游戏玩家对象数据分析

目标(Objective) Ÿ Health Ÿ Rifle Ammo Ÿ Pistol Ammo Ÿ Player Pointer 0x01 玩家健康 查找玩家健康值,玩家健康值是100,但是我们并不知道数值类型,我们可以使用精确搜索方式搜索100-所有类型 CE搜索 结果很多,我们…

Windows/Mac/Linux测试远程端口是否开放

目录 Windows 第一种 第二种 Mac/Linux Windows 第一种 WinR快捷键, 在弹出的运行框中输入powershell 接着在powershell窗口中输入: Test-NetConnection ip地址 -Port 端口号 使用这个命令有个好的地方是如果失败了, 那么它会帮你去ping远程ip, 这样就不需…

ARIMA序列分析

1. 什么是平稳序列 (stationary series):基本上不存在趋势的序列,各观察值基本上在某个固定的水平上波动或虽有波动,但并不存在某种规律,而其波动可以看成是随机的。 2. ARMA模型 ARIMA的优缺点 优点&am…

2023Q2押题,华为OD机试用Python实现 -【查找舆情热词 or 热词排序】

最近更新的博客 华为 od 2023 | 什么是华为 od,od 薪资待遇,od 机试题清单华为 OD 机试真题大全,用 Python 解华为机试题 | 机试宝典【华为 OD 机试】全流程解析+经验分享,题型分享,防作弊指南华为 od 机试,独家整理 已参加机试人员的实战技巧本篇题解:查找舆情热词 or 热…

学校的地下网站(学校的地下网站1080P高清)

这个问题本身就提得有问题,为什么这么说,这是因为YouTube本身就不是一个视频网站或者说YouTube不是一个传统的视频网站!!! YouTube能够一家独大,可不仅仅是因为有了Google这个亲爹,还有一点&…

牛客网在线编程SQL篇非技术快速入门题解

大家好,我是RecordLiu。 初学SQL,有哪些合适的练习网站推荐呢? 如果你有编程基础,那么我推荐你到Leetcode这样的专业算法刷题网站,如果没有,也不要紧,你也可以到像牛客网一样的编程网站去练习。 牛客网有很多面向非技…

为什么数字工厂管理系统是电子企业的必备品

与许多电子制造企业观望心态有所不同的是,电子产品分销商正在积极投身于实施数字工厂系统,部分分销商对已完成实施的系统赞不绝口。 数字工厂在元器件分销业的应用逐渐普遍 在一些大型分销商的影响下,数字工厂在分销行业的应用加快。相比而…

Java I/O流

I/O流I/O流IO流体系字节流体系FileOutPutStream(字节输出流)FileInPutStream(字节输入流)练习:文件拷贝Java中编码与解码的方法字符流FileReaderFileWriter综合练习缓冲流体系字节缓冲流字符缓冲流综合练习2转换流序列化流(对象操作输出流)/反序列化流(对象操作输入…