当前位置:网站首页>论文阅读之《Color Constancy Using CNNs》
论文阅读之《Color Constancy Using CNNs》
2022-07-30 17:07:00 【春末的南方城市】
CVPR2015
Simone Bianco
University of Milano-Bicocca
米兰比可卡大学,意大利
Claudio Cusano
University of Pavia
帕维亚大学,意大利

作者在论文中用CNN来估计场景的光源值。以图像patch作为输入(1.解决训练数据少问题2.解决多光源估计问题)。该网络由一个最大池化的卷积层、一个全连接层和三个输出节点组成。在网络结构中,将特征学习和回归整合到一个优化过程中,从而得到一个更有效的场景光照估计模型。这种方法在原始图像的标准数据集上实现了最先进的性能。在光照空间变化的图像上进行的实验证明了CNN局部光源估计能力的稳定性。
Introduction & Related work
1.计算颜色恒常性步骤
(1)估计光源颜色;
(2)用估计值对图像进行调整;
2.颜色不变性
利用特征来表示图像,这些特征在特定的成像条件下保持不变。
3.已有的解决办法
(1)基于统计的方法
根据单一图像的内容估计场景的光照,利用统计或物体属性对彩色图像性质进行假设。
(2)基于学习的方法
在估计光照之前通过训练数据建立一个统计图像模型。
4.论文工作概述
主要工作:
使用CNN学习特征的光源估计来计算颜色的恒常性。
优点:
将原始图像作为输入并将特征学习融入到训练过程中。CNN可以学习复杂的映射,而只需要很少的领域知识。
贡献:
(1)提出了一种新的方法,允许在局部区域上学习和预测场景光源。
(2)第一个使用CNN研究光照估计的工作。
Proposed method

对于给定的彩色图像,从中抽取不重叠的小块,并通过直方图拉伸对每个小块进行对比度归一化。使用CNN来估计每个patch的光源,并将patch的分数结合起来得到图像的光源估计。
图像分块——>块光源估计——>全局光源估计
网络结构:
共五层网络,32*32*3->32*32*240->4*4*240->40->3。
Input: 32x32的对比度归一化的图像patch。
Output:光源估计值。
第一层是卷积层,它使用240个大小为1x1x3,stride=1的核进行滤波。卷积层产生240个大小为32x32的特征映射,然后使用8x8核和stride=8像素的最大池操作将每个特征映射缩减为4x4特征映射。这些被重塑成3840 (4x4x240)矢量。然后接着是一层40个节点的全连接层。最后一层通过线性回归得到光源RGB值。
对比度归一化:
为在不同的照明条件下保持鲁棒性,并且由于在色恒性中必须对发光体进行尺度系数估计,所有提取的斑块都进行对比归一化。该论文选择全局直方图拉伸,因为它不改变三个颜色通道相对贡献。
2.池化
在卷积层中,对比度归一化图像块与240个滤波器进行卷积,每个滤波器生成一个特征图。然后在每个特征映射上应用最大池化来降低滤波器响应的维数。因为图像的局部信息一般具有相同的光源,因此可以采用更大的池化操作进行降维。
3.用ReLU代替tanh神经元
相同性能的情况下处理速度快好几倍。
Experiment

数据集:568张的原始相机捕获的图像数据集。
误差估计:估计光源的RGB三元组与真实光源RGB三元组之间的角度。
基准算法:Gray world,White point,Shades of gray, Gray edge, Gamut mapping……
网络训练:从原始格式图像随机提取32x32的patch来训练CNN。对数据集用thee-fold交叉验证来学习网络:对于每次运行,一个用于训练,一个用于验证,其余用于测试。训练中给每个patch分配与相关联的光源groundtruth。测试时通过池化预测的patch光源,为每张图像生成一个单一的光源估计。


Conclusion
1.文章首次尝试使用CNN对光源进行估计。
2.对图像进行分块解决了CNN中需要大量训练数据的问题。
2.对图像的每一个块使用CNN进行光源估计最终在结合所有块的估计得到全局的光源估计,这样解决多光源问题(多光源问题认为一幅场景中包含多个光源,块足够小的话就可以假设在该块上的光源是均匀的,分别估计后再进行聚类处理得到全局光源估计)。
我的想法:
1.该模型提供了一个很好的使用CNN解决多光源问题的思路。
2.该模型是基于有监督学习,需要groundtruth,应用于水下图像的话就是考虑通过目前比较常用的模拟真实图像的水下环境图来构造含有groundtruth的水下数据集来进行训练。
3.不同的卷积核(高斯滤波,中值滤波…),不同的池化方式(最大池化,平均池化…),等操作对最终的输出结果都是有影响的,可以根据水下图像进一步的去设置和微调。
边栏推荐
- Lotus 1.16.0 minimum snapshot export import
- 全职做自媒体靠谱吗?
- 论文阅读 (63):Get To The Point: Summarization with Pointer-Generator Networks
- LeetCode318: Maximum product of word lengths
- Google Cloud Spanner的实践经验
- FP6606CMP5 CPC-16L USB类型-C和PD充电控制器 百盛电子代理商
- onenote use
- DLCM - 基于列表上下文信息的重排序模型
- Promise入门到精通(1.5w字详解)
- CMake库搜索函数居然不搜索LD_LIBRARY_PATH
猜你喜欢
随机推荐
Test Management and Specification
Error EPERM operation not permitted, mkdir ‘Dsoftwarenodejsnode_cache_cacach两种解决办法
You are a first-class loser, you become a first-class winner
代码越写越乱?那是因为你没用责任链
[MRCTF2020]Ezaudit
Chapter 6: Decisive Autumn Moves
leetcode:1488. 避免洪水泛滥【二分 + 贪心】
Go新项目-编译热加载使用和对比,让开发更自由(3)
登录模块调试-软件调试入门
PHP message feedback management system source code
升级Win11后不喜欢怎么退回Win10系统?
huato hot update environment construction (DLL method hot update C# code)
安全业务收入增速超70% 三六零筑牢数字安全龙头
每日练习------生成13位条形, Ean-13码规则:第十三位数字是前十二位数字经过计算得到的校验码。
gvim命令记录
crontab报错,但本地执行正常
全球架构师峰会
MySQL详细学习教程(建议收藏)
No qualifying bean of type问题解决
Gorilla Mux 和 GORM 的使用方法

![[极客大挑战 2020]Roamphp1-Welcome](/img/3b/2fa91f7478b8abf6efe0feafd24e58.png)
![[MRCTF2020]Ezaudit](/img/80/d4656abdff20703591ffdc3f5a5ebc.png)




![有效的括号字符串[贪心练习]](/img/1c/5cefb53bc4aba54dd79b0cc9b09b0d.png)

