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.不同的卷积核(高斯滤波,中值滤波…),不同的池化方式(最大池化,平均池化…),等操作对最终的输出结果都是有影响的,可以根据水下图像进一步的去设置和微调。

论文阅读之《Color Constancy Using CNNs》相关推荐

  1. 论文阅读之《DeepIlluminance: Contextual IlluminanceEstimation via Deep Neural Networks》

    ArXiv2019 Jun Zhang合肥工业大学 Tong Zheng合肥工业大学 Shengping Zhang哈尔滨工业大学(威海) Meng Wang合肥工业大学 Introduction 回 ...

  2. 论文阅读 (69):Collaborative Learning for Deep Neural Networks

    文章目录 1 引入 1.1 题目 1.2 摘要 1.3 Bib 2 协作学习 2.1 训练图的生成 2.2 学习目标 2.3 一组分类器头的优化 2.3.1 同步SGD 2.3.2 反向传播重缩放 2 ...

  3. 论文阅读:Aggregated Residual Transformations for Deep Neural Networks

    本萌新记录一下看过的论文,如果理解有误大佬们体谅下QAQ. 摘要: 作者提出一个用于图像分类的.简单.高度模块化的网络结构.该网络是通过重复一个构建块(building block)来构建的,该构建块 ...

  4. 【论文阅读】A Gentle Introduction to Graph Neural Networks [图神经网络入门](7)

    [论文阅读]A Gentle Introduction to Graph Neural Networks [图神经网络入门](7) Into the Weeds Other types of grap ...

  5. 【论文阅读】A Gentle Introduction to Graph Neural Networks [图神经网络入门](5)

    [论文阅读]A Gentle Introduction to Graph Neural Networks [图神经网络入门](5) Graph Neural Networks 图神经网络 Now th ...

  6. 【论文阅读】A Gentle Introduction to Graph Neural Networks [图神经网络入门](4)

    [论文阅读]A Gentle Introduction to Graph Neural Networks [图神经网络入门](4) The challenges of using graphs in ...

  7. 【论文阅读】A Gentle Introduction to Graph Neural Networks [图神经网络入门](3)

    [论文阅读]A Gentle Introduction to Graph Neural Networks [图神经网络入门](3) What types of problems have graph ...

  8. 【论文阅读】A Gentle Introduction to Graph Neural Networks [图神经网络入门](2)

    [论文阅读]A Gentle Introduction to Graph Neural Networks [图神经网络入门](2) Graphs and where to find them 图以及在 ...

  9. 【论文阅读】A Gentle Introduction to Graph Neural Networks [图神经网络入门](1)

    [论文阅读]A Gentle Introduction to Graph Neural Networks [图神经网络入门](1) 最近读了一篇Distill网站上的一篇文章,讲的是图神经网络的入门, ...

  10. 【论文阅读】A Gentle Introduction to Graph Neural Networks [图神经网络入门](6)

    [论文阅读]A Gentle Introduction to Graph Neural Networks [图神经网络入门](6) GNN playground Some empirical GNN ...

最新文章

  1. 如何让服务器运行js,服务器端JavaScript运行环境Node.js的依赖性管理
  2. boost::type_index::type_id相关的测试程序
  3. el-table 树形表格 自定义展开图标_耍好控件 | 产品图标体系是如何炼成的?
  4. mysql还书过程_记一次安装 MySQL 的过程
  5. linux使jdk开机可用_JDK 11的一般可用性
  6. 某小型校园网规划与设计要点(课程报告)
  7. 详细剖析linux的内存管理方式(分段式、分页式、段页式),以及进程状态的具体关系
  8. zookeeper启动后查看状态的Error contacting service. It is probably not running.错误
  9. 含泪整理最优质平板Rhino犀牛模型素材,你想要的这里都有
  10. 中南大学19软工上岸青年的一点考研经验
  11. 03.【python基础二】if判断语句之if-else、elif、if嵌套
  12. 大彩科技串口屏串口通讯问题解决记录
  13. 收集金币(人人网笔试)
  14. 简智音科技:抖音与快手相比,谁的前景更好?
  15. springboot前后端分离 前端请求图片问题
  16. 虚拟硬盘 服务器 破解,服务器版虚拟硬盘_Primo Ramdisk Server Edition V5.6.1 免费版
  17. GPT时代,最令人担心的其实是“塔斯马尼亚效应”
  18. 原型与原型链的学习理解
  19. PHP取小数点后一位小数或几位小数并且不四舍五入,以及四舍五入保留小数
  20. Android DataBinding学习和实践(二)

热门文章

  1. 怎么用python编写个apk_【android】如何利用python做Android项目自动化构建,并一键实现构建结果发送到钉钉通知以及通过二维码下载apk或者其他处理等功能...
  2. 什么平台制作表单工具效率高?
  3. 4g状态显示微信未连接服务器,我手机4G网是一直开着的,为什么登录微信确显示未连网!而且微信消息不提醒,但是打开后消息就出来了...
  4. 装修鸿蒙瓷砖选择,我家110平新房,简单装修花16万,还是地板的瓷砖最有档次!...
  5. 你的团队需要一个会讲故事的人
  6. 极客日报第83期:百度92年程序员因“篡改数据”被抓;运营商辟谣首批 5G 用户被抛弃;特斯拉回应上海工厂摄像头被入侵
  7. Tableau Desktop连接MongoDB
  8. CCF 201903-2 二十四点 用栈模拟简单计算器
  9. 使用Stream操作List
  10. 聊聊新加坡的工作和生活