Auto-Exposure Fusion for Single-Image Shadow Removal——论文阅读
目录
一. 论文介绍
二. 算法框架
三. 细节实现
四. 实验与效果
一. 论文介绍
本文主要介绍去除阴影的论文《Auto-Exposure Fusion for Single-Image Shadow Removal》:即自动曝光融合去除阴影的方法。该论文来自2021年的CVPR。
论文地址:https://arxiv.org/abs/2103.01255
开源代码:https://github.com/tsingqguo/exposure-fusion-shadow-removal
二. 算法框架
(1)通过一个网络预测阴影部分的曝光参数,并对曝光进行有规律的抖动;
(2)通过一个融合网络学习到融合参数,对步骤(1)中的结果进行自动融合,得到无阴影的图片;
(3)通过一个RefineNet进一步去除边界残留。
整个过程如下图所示:
三. 细节实现
(1)预测曝光参数,并对预测后的图片进行抖动
上图最左边的模块:阴影图片和mask图片一起输入网络,每张图预测6个参数。由于每张图片有三个通道,所以6个参数对应3个w和3个b。每个通道的像素值*w + b,得到一个粗略去阴影的图(粗略去阴影的图用表示)。
对进行抖动,就得到了多个。论文中的5个分别是在的基础上分别成一组系数,系数的列表为[0.98. 0.99, 1.00, 1.01, 1.02]。
(2)通过一个融合网络学习到融合参数,对步骤(1)中的结果进行自动融合,得到无阴影的图片
注:融合后的图片和真实的gt用L1_Loss进行监督学习。
将上面的、阴影图片和mask同时输入FusionNet,网络输出6个通道的mat,这6个通道在通道层面经过softmax()操作后与和相乘,最后相加,得到去掉阴影的图片。曝光融合框架如下图所示:
(3)通过一个RefineNet进一步去除边界残留
虽然通过第二步已经去除了阴影,但是阴影和非阴影的边界有残留,作者采用RefineNet进行优化。RefineNet的框架如下:
这里没什么难度,就着重解释损失,作者命名为边界监督损失,公式表达如下:
:拉普拉斯梯度运算;
:预测无阴影的图片;
: 阴影图片;
:grandtruth;
:mask;
作者用=0.1来平衡L1和。
代码实现:
class PoissonGradientLoss(nn.Module):def __init__(self, reduction='mean'):"""See **Deep Image Blending** for detail."""super(PoissonGradientLoss, self).__init__()self.reduction = reductiondef forward(self, source, target, blend, mask):"""source:预测无阴影图片target:阴影图片blend:grandtruthmask:mask"""f = torch.Tensor([[0, -1, 0], [-1, 4, -1], [0, -1, 0]]).view(1, 1, 3, 3).to(target)f = f.repeat((3, 1, 1, 1))grad_s = F.conv2d(source, f, padding=1, groups=3) * maskgrad_t = F.conv2d(target, f, padding=1, groups=3) * (1 - mask)grad_b = F.conv2d(blend, f, padding=1, groups=3)return nn.MSELoss(reduction=self.reduction)(grad_b, (grad_t + grad_s))
四. 实验与效果
(1)与其他算法比较
(2)消融实验
(3)实验效果
博主点评:(1)这篇论文,作者的工作比较充实,在前人的基础上进行了整合;
(2)按照作者的方法去阴影,则需要4个网络:阴影检测模型、曝光参数估计模型、阴影融合模型、边界RefineNet模型。计算量偏大,难以部署到移动端;
每天进步一点,一起加油啊!!!
Auto-Exposure Fusion for Single-Image Shadow Removal——论文阅读相关推荐
- 《Enhanced Deep Residual Networks for Single Image Super-Resolution》论文阅读之EDSR
导读 韩国首尔大学的研究团队提出用于图像超分辨率任务的新方法,分别是增强深度超分辨率网络 EDSR 和一种新的多尺度深度超分辨率 MDSR,在减小模型大小的同时实现了比当前其他方法更好的性能,分别赢得 ...
- 《Single Image Haze Removal Using Dark Channel Prior》一文中图像去雾算法的原理、实现、效果及其他。...
在图像去雾这个领域,几乎没有人不知道<Single Image Haze Removal Using Dark Channel Prior>这篇文章,该文是2009年CVPR最佳论文.作者 ...
- 《Single Image Haze Removal Using Dark Channel Prior》一文中图像去雾算法的原理、实现、效果(速度可实时)...
最新的效果见 :http://video.sina.com.cn/v/b/124538950-1254492273.html 可处理视频的示例:视频去雾效果 在图像去雾这个领域,几乎没有人不知道< ...
- 《Single Image Haze Removal Using Dark Channel Prior》一文中图像去雾算法的原理、实现、效果及其他。 ...
在图像去雾这个领域,几乎没有人不知道<Single Image Haze Removal Using Dark Channel Prior>这篇文章,该文是2009年CVPR最佳论文.作者 ...
- AE 自动曝光 Understanding Auto Exposure Control
link 3A定义 3A 是Camera ISP 控制算法的一个重要组成部分,通常分为自动曝光(AE).自动聚焦(AF).自动白平衡(AWB)三个组件. 本问主要讨论AE,关于AF的内容可参考相关主题 ...
- CNN阴影去除--DeshadowNet: A Multi-context Embedding Deep Network for Shadow Removal
DeshadowNet: A Multi-context Embedding Deep Network for Shadow Removal CVPR2017 本文使用深度学习CNN网络来进行阴影去除 ...
- 论文阅读——《Online Photometric Calibration of Auto Exposure Video for Realtime Visual Odometry and SLAM》
论文阅读--<Online Photometric Calibration of Auto Exposure Video for Realtime Visual Odometry and SLA ...
- Single Image Haze Removal Using Dark Channel Prior 基于暗原色先验的单一图像去雾方法【翻译】
Single Image Haze Removal Using Dark Channel Prior Kaiming He, Jian Sun, Xiaoou Tang The Chinese Uni ...
- 3.5.4 Exposure Fusion(曝光融合)—Mertens TMO
3.5.4 Exposure Fusion(曝光融合) HDR图像通常由一系列LDR图像组成,这些图像最终可以进行色调映射. Mertens等人提出了一种可以避免色调映射步骤的新颖方法. . 这是受到 ...
最新文章
- C++ 使用copy_if获得数组vector掩膜
- HTML 限制 input 输入类型
- (一)docker run 命令参数
- oracle schema_了解Oracle备份恢复的知识
- mybatis3 添加ehcache支持
- Hibernate单表开发步骤
- php前台提交后台刷新,用js post数据后到后台,处理后如何实现前台页面刷新?...
- Android开发:指南针(基于手机传感器)
- DuckDuckGo 的盈利模式
- 计算机上机考试自我检查800字,学生检讨书800字反省自己【三篇】
- MATLAB绘图笔记——画箱形图
- 企业征信(尽职调查):采集数据网站一览表
- 上周热点回顾(7.4-7.10)
- 认真阅读完这篇文章熟练掌握关于IDEA断点调试操作(图文详解)
- Linux命令提示行设置--SP1
- 【胖虎的逆向之路】如何绕过 Android11新特性之 “包的可见性“
- 【算法】最短路径之Bellman-Ford
- 普陀区科技创新型小巨人企业
- PMP学习笔记20161130
- Python脚本25:将两张图片拼在一起