腾讯优图CVPR中标论文:不靠硬件靠算法,暗光拍照也清晰

雷刚 发自 凹非寺 
量子位 报道 | 公众号 QbitAI

暗光拍照也清晰,这是手机厂商目前激烈竞争的新拍照目标。

但除了堆摄像头和硬件,AI科学家带来算法方面的新突破。

他们提出基于深度学习优化光照的暗光下的图像增强模型,用端到端网络增强曝光不足的照片。

而且不是像以前的工作那样,直接学习图像到图像的映射,而是在新网络中引入中间照明,将输入与预期的增强结果相关联,增强网络从专家修饰的输入/输出图像学习复杂的摄影调整的能力。

结果证明,新算法模型,效果超过了市面上一众当红的多摄多硬手机。

这个新算法由腾讯优图实验室提出,王瑞星、沈小勇及贾佳亚是作者,论文已入选CVPR 2019.

640?wx_fmt=jpeg

传统图像增强算法不好用

优图方面称,人们在社交网络中,往往喜欢分享自己用不同设备拍摄的照片,尤其是使用手机拍摄的照片,不过很多时候,由于低光照或者背光的环境下拍摄到的照片经常会产生欠曝光的现象,由于在图像增强的整个过程不是线性的操作,并且增强的结果是很主观的,因此欠曝光图像增强是一个很具有挑战性的任务。

虽然目前市面上存在了一些专业的图像处理软件,可以让用户交互式的处理图像,如Adobe lightroom, PhotoShop。但是对于业余爱好者来说,能同时处理好颜色,对比度,调节光照等操作是非常困难的。

也有一些软件提供了一键自动的增强图像的功能,比如Lightroom的Auto Tone功能和iPhone的魔法棒增强功能,但是由于平衡各方面的调整是非常复杂的一件事。

这些软件依然会得到一些失败的案例。

传统夜景图像增强算法大致可以分为几个方面:直方图均衡化(Histogram equalization),这种方法简单的利用了图像整体的统计性质,通常不能对复杂场景达到理想效果。

基于Retinex理论的增强算法,通常只能用单通道进行光照优化,颜色无法很好地回复,在光照复杂的情况下还容易出现过曝的现象。

这些传统方法还容易在增加图像亮度的同时,放大噪声等瑕疵,影响图像质量。

基于深度学习的方法,通常是直接训练回归(regression)模型,由于数据本身的特性,这种方法得到的结果通常清晰度、对比度比较低,而且会有一些人工痕迹。

转换方法+网络结构设计

对此,腾讯优图将图像增强问题,转化为光照优化问题。

之前的神经网络都是从训练数据,学习原始图像到清晰图像之间的回归映射。

优图则是希望通过神经网络学习出中间结果图像的光照图(illumination), 进而再通过输入图像和光照图的关系,得到增强后的图片。

与几个具有代表性的商业软件效果对比:

640?wx_fmt=png

640?wx_fmt=png

具体方面及网络结构:

640?wx_fmt=png

在网络结构的设计方面,本方案采用创新的双分支的网络结构。

网络分成了全分辨率分支低分辨率分支。其中低分辨率分支用于学习到全图光照的整体信息,低分辨率图像的使用,有助于增大网络感受野,提高算法速度。

低分辨率分支的结果将会传递给高分辨率网络分支,用于重建全分辨率下的亮度图,并最终得到增强后的图像。

此外,优图设计的新的损失函数,包括:图像重建损失、光照局部平滑损失以及颜色损失,进一步帮助腾讯优图的网络产生更加稳定、清晰、颜色真实鲜艳的结果。

得益于双分支网络的设计,以及全分辨率分支中的双边上采样模块的设计,本方法可以在保证效果的同时,在GPU上对于高分辨率图片(例如:3000x2000)进行实时的增强。

实现细节如下:

夜景图像增强的任务中,一个难点是难以获取到成对的增强前后的训练图像。在该项目中,优图使用了MIT-Adobe 5K数据集,该数据集包含了5000组原始图片和专业美工调节后的图像。

此外,为了适应光照程度更加复杂的场景,优图自行采集数千组高清暗光照片作为训练数据。由此构建出的数据集,使得本算法在复杂光照下,也能得到稳定结果。

对于上边描述的深度神经网络结构,优图利用对应的暗光和清晰图片进行网络的训练。因为卷积网络不限制输入图片的大小,研究人员随机从图片中截取256x256尺寸大小的图片块进行网络训练来更好地利用GPU显存。训练好的模型可以利用在任何尺寸的图片上。

640?wx_fmt=png

640?wx_fmt=png

除了对于欠曝光图像增强外,优图对于一些市面上常见的手机(华为P20, 小米MiX3, iPhoneX, 三星S9+)拍摄的结果,利用新算法也进行了进一步的美化,效果图如下:

640?wx_fmt=jpeg

640?wx_fmt=png

640?wx_fmt=png

640?wx_fmt=png

论文传送门

Underexposed Photo Enhancement using Deep Illumination Estimation

《基于深度学习优化光照的暗光下的图像增强》

http://jiaya.me/papers/photoenhance_cvpr19.pdf

One more thing

不过,近日腾讯优图最受热议的还有一桩AI公益的案例。

央视栏目《等着我》报道称,优图突破“跨年龄人脸识别”,帮助警方寻回了被拐十年儿童。

优图方面介绍,这是优图创新性技术在公益领域的成果。

依托腾讯海量数据,腾讯优图首创了跨年龄人脸识别技术,重点解决寻人场景中婴幼儿被拐的情况。

为了充分的从数据中学习人脸自然的跨年龄变化规律,腾讯优图提出了基于DDL(分布式蒸馏学习法则)学习策略的正则化迁移学习策略

基于该策略,算法模型可充分进行跨年龄人脸识别学习,从而让困难的跨年龄识别更加可靠和精准。

腾讯方面称,这是对“科技向善”的最好实践。

小程序|get更多AI资讯与资源

加入社群

量子位AI社群开始招募啦,量子位社群分:AI讨论群、AI+行业群、AI技术群;


欢迎对AI感兴趣的同学,在量子位公众号(QbitAI)对话界面回复关键字“微信群”,获取入群方式。(技术群与AI+行业群需经过审核,审核较严,敬请谅解)


640?wx_fmt=jpeg

量子位 QbitAI · 头条号签约作者

վ'ᴗ' ի 追踪AI技术和产品新动态

喜欢就点「在看」吧 !


  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
完整版:https://download.csdn.net/download/qq_27595745/89522468 【课程大纲】 1-1 什么是java 1-2 认识java语言 1-3 java平台的体系结构 1-4 java SE环境安装和配置 2-1 java程序简介 2-2 计算机中的程序 2-3 java程序 2-4 java类库组织结构和文档 2-5 java虚拟机简介 2-6 java的垃圾回收器 2-7 java上机练习 3-1 java语言基础入门 3-2 数据的分类 3-3 标识符、关键字和常量 3-4 运算符 3-5 表达式 3-6 顺序结构和选择结构 3-7 循环语句 3-8 跳转语句 3-9 MyEclipse工具介绍 3-10 java基础知识章节练习 4-1 一维数组 4-2 数组应用 4-3 多维数组 4-4 排序算法 4-5 增强for循环 4-6 数组和排序算法章节练习 5-0 抽象和封装 5-1 面向过程的设计思想 5-2 面向对象的设计思想 5-3 抽象 5-4 封装 5-5 属性 5-6 方法的定义 5-7 this关键字 5-8 javaBean 5-9 包 package 5-10 抽象和封装章节练习 6-0 继承和多态 6-1 继承 6-2 object类 6-3 多态 6-4 访问修饰符 6-5 static修饰符 6-6 final修饰符 6-7 abstract修饰符 6-8 接口 6-9 继承和多态 章节练习 7-1 面向对象的分析与设计简介 7-2 对象模型建立 7-3 类之间的关系 7-4 软件的可维护与复用设计原则 7-5 面向对象的设计与分析 章节练习 8-1 内部类与包装器 8-2 对象包装器 8-3 装箱和拆箱 8-4 练习题 9-1 常用类介绍 9-2 StringBuffer和String Builder类 9-3 Rintime类的使用 9-4 日期类简介 9-5 java程序国际化的实现 9-6 Random类和Math类 9-7 枚举 9-8 练习题 10-1 java异常处理 10-2 认识异常 10-3 使用try和catch捕获异常 10-4 使用throw和throws引发异常 10-5 finally关键字 10-6 getMessage和printStackTrace方法 10-7 异常分类 10-8 自定义异常类 10-9 练习题 11-1 Java集合框架和泛型机制 11-2 Collection接口 11-3 Set接口实现类 11-4 List接口实现类 11-5 Map接口 11-6 Collections类 11-7 泛型概述 11-8 练习题 12-1 多线程 12-2 线程的生命周期 12-3 线程的调度和优先级 12-4 线程的同步 12-5 集合类的同步问题 12-6 用Timer类调度任务 12-7 练习题 13-1 Java IO 13-2 Java IO原理 13-3 流类的结构 13-4 文件流 13-5 缓冲流 13-6 转换流 13-7 数据流 13-8 打印流 13-9 对象流 13-10 随机存取文件流 13-11 zip文件流 13-12 练习题 14-1 图形用户界面设计 14-2 事件处理机制 14-3 AWT常用组件 14-4 swing简介 14-5 可视化开发swing组件 14-6 声音的播放和处理 14-7 2D图形的绘制 14-8 练习题 15-1 反射 15-2 使用Java反射机制 15-3 反射与动态代理 15-4 练习题 16-1 Java标注 16-2 JDK内置的基本标注类型 16-3 自定义标注类型 16-4 对标注进行标注 16-5 利用反射获取标注信息 16-6 练习题 17-1 顶目实战1-单机版五子棋游戏 17-2 总体设计 17-3 代码实现 17-4 程序的运行与发布 17-5 手动生成可执行JAR文件 17-6 练习题 18-1 Java数据库编程 18-2 JDBC类和接口 18-3 JDBC操作SQL 18-4 JDBC基本示例 18-5 JDBC应用示例 18-6 练习题 19-1 。。。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值