热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

【平价数据】Creatism:Google的自动风光摄影师

Fang,Hui,andM.Zhang.“Creatism:Adeep-learningphotographercapableofcreatingprofessi

Fang, Hui, and M. Zhang. “Creatism: A deep-learning photographer capable of creating professional work.” (2017).

这篇论文借助有限的无标定数据,用深度网络在虚拟自然环境中完成“取景-调色-打光”的摄影过程。所涉及的理论并不复杂,但给出的过程详细,对解决实际问题很有启发
这里可以看到一些好的结果。

概述

问题

本文的起点非常简单,绝对算得上“平价数据”:

  • 15000张500px.com上的风景类专业摄影作品,不含有任何标定。用于训练。
  • AVA美感图像数据库1,包含250K图像,带有美感评分。
  • Google自己的街景数据库,集中在几大国家公园。作为测试。

希望能实现一个自动系统:从街景中生成具有专业水平的摄影作品。

一个不好使的点子

我们很自然地想到,用AVA直接训练一个“图像-评分”的回归网络:好看的照片评分高,不好看的评分低。之后在街景数据库中采样,输出评分高的结果。

还真不行。

  • 美感包含着许多方面。需要指数级别的训练样本。
  • 即使构造出这样的网络,其梯度可能也毫无意义。
  • 在样本不足的情况下,很可能学出跑偏的判别标准。e.g.饱和度越高越好!
  • 网络可能复杂得无法优化。

本文的做法

本文的思路非常朴素:让算法像人一样分步骤处理拍照问题。
这里写图片描述

  • 取景:实现一个【构图】评分网络,对各种可能取景进行采样,选择评分最高的一个截图。
  • 调色:实现一个【饱和度/HDR】评分网络,遍历饱和度/HDR操作的强度,选择评分最高的施加到输入图像上。
  • 打光:实现一个“图像-图像”的【局部提亮】网络。
  • 选片:实现一个【整体效果】评分网络,从经过处理的候选图像中,选择较好的输出。

评分包括:1分(随手乱拍),2分(老百姓拍的正常照片),3分(颇有品味票友),4分最高(专家级)。

当然,这种做法只单独考察了美感的三个方面,不过胜在可行性强。

实现

构图评分网络

从500px数据集中,随机从原图裁剪,按照如下参数产生等量的两批数据作为样本的输入:

  • 宽度为原图90%~100%,长宽比为0.5~2
  • 宽度为原图50%~90%,长宽比同上

将裁剪结果占原图比例作为样本的标定值。

使用的Inception v32作为回归网络。输出结果记为 Φcrop

需要特别说明的是,构图对摄影作品的影响是决定性的。第一步选了一个乌漆墨黑的地方,后面无论怎么调也救回不来了。所以在取景步骤中,要结合整体效果的得分来进行。

饱和度评分网络

对于500px数据集的每一个样本,生成如下两类样本作为样本的输入:

  • 1张原图
  • 6张扰动,随机调整图像饱和度为原图0%~80%

将样本与原图的平均像素值之差作为样本的标定值。0%对应1,大于等于6%对应0,中间线性插值。

使用的Inception v33作为回归网络。输出结果记为 Φsaturation

HDR评分网络

对于500px数据集的每一个样本,生成如下两类样本作为样本的输入:

  • 6张欠HDR样本,分布为(-max, -0.5max)
  • 3张过HDR样本,分布为(0.5max, 0.5max)

将样本与原图的平均像素值之差作为样本的标定值。0%对应1,大于等于20%对应0,中间线性插值。

使用的Inception v34作为回归网络。输出结果记为 ΦHDR

整体效果评分网络

使用AVA数据库进行训练。

将一部分AVA图像给专业摄影师评分,可以将AVA评分通过一个线性映射,归一化的本文的1到4分体系中。

网络采用Inception v35。输出结果记为 Φglobal

等等,你不是刚说,不能直接训一个评分网络吗?

此处评分网络在本文中只作为最后的补充步骤使用,所以其缺陷并不致命。

局部提亮网络

受限于样本数量和问题的复杂性,我们不去直接训练一个给图片打光的网络,而是将GAN中的Generator作为图像的refiner,和Discriminator一起训练。

为了更进一步约束问题,我们假设:图像的打光由 8×8 的mask决定

于是,有了如下的网络结构:
这里写图片描述
其中M为500px数据库中的原始图片。

M’为原始图片经过如下随机扰动之后的结果:
这里写图片描述

M”为经过Generator修正后的结果。

多模型

GAN以训练困难著称。本文不去等待GAN收敛,而是采用了多模型的策略。

  • 使用37套随机初始化参数,分别训练2000K步
  • 对于每套参数,每隔100K步保留一个snapshot
  • 在测试集上,保留最优的50个模型
  • 人工剔除下次瑕疵较大的,保留30个模型(此处未详述)

联合升采样

Apply mask这步,使用了joint bilateral upsamling方法6。简单来说,就是在对mask升采样的同时,参考原始图像(左)的信息,使得大尺寸mask(中)和原图细节更为匹配。

这里写图片描述

使用

各步骤如下进行

  • 取景
    • 在街景的每一处位置,选取6个方向,视野90°生成原始照片 P0
    • P0 中截取生成 P1 ,令 c={0,0.5,1} 计算该截图的复合得分:
      Φcrop=c×Φcrop+(1c)×Φglobal
    • 保留所有 P1 中, Φcrop 得分最高的3个。
  • 调色
    • 遍历HDR强度,选择 ΦHDR 最高的取值,生成 P2
    • 遍历饱和度,选择 Φsaturation 最高的取值,生成 P3
  • 打光
    • 用所有局部提亮模型,从 P3 生成 P4
    • 所有模型结果中,保留 Φglobal 最大的一个
  • 出片
    • 在一个 P0 的所有结果中,保留 Φglobal 的一个
    • 在所有地点的所有结果中,按照 Φglobal 排序,获得最终结果

结果与启发

经过上述处理,在街景数据库中获取了173张评分超过2.9的照片。这些照片经过6位专业摄影师大人,有41.4%获得了超过3.0的得分。

本文的效果并不特别惊艳,也有很多手工挑选的痕迹。和时下许多“end-to-end”系统比起来,很有图像处理年代精打细作的风范。这种思路虽然讲起来炫酷程度不足,但在解决实际问题时,往往比复杂的、高端的系统开发周期更短,更加鲁棒,值得我们借鉴。

毕竟,连Google都这么搞了,咱们还有啥不好意思的呢。


  1. Murray, N., Marchesotti, L., and Perronnin, F. (2012). Ava: A large-scale database for aesthetic visual analysis. In 2012 IEEE Conference on Computer Vision and Pattern Recognition, pages 2408–2415. ↩
  2. Szegedy, C., Vanhoucke, V., Ioffe, S., Shlens, J., and Wojna, Z. (2015). Rethinking the inception architecture for computer vision. CoRR, abs/1512.00567 ↩
  3. Szegedy, C., Vanhoucke, V., Ioffe, S., Shlens, J., and Wojna, Z. (2015). Rethinking the inception architecture for computer vision. CoRR, abs/1512.00567 ↩
  4. Szegedy, C., Vanhoucke, V., Ioffe, S., Shlens, J., and Wojna, Z. (2015). Rethinking the inception architecture for computer vision. CoRR, abs/1512.00567 ↩
  5. Szegedy, C., Vanhoucke, V., Ioffe, S., Shlens, J., and Wojna, Z. (2015). Rethinking the inception architecture for computer vision. CoRR, abs/1512.00567 ↩
  6. Kopf, J., Cohen, M. F., Lischinski, D., and Uyttendaele, M. (2007). Joint bilateral upsampling. ACM Transactions on Graphics (Proceedings of SIGGRAPH 2007), 26(3):to appear. ↩


推荐阅读
  • 本文探讨了亚马逊Go如何通过技术创新推动零售业的发展,以及面临的市场和隐私挑战。同时,介绍了亚马逊最新的‘刷手支付’技术及其潜在影响。 ... [详细]
  • 2017年人工智能领域的十大里程碑事件回顾
    随着2018年的临近,我们一同回顾过去一年中人工智能领域的重要进展。这一年,无论是政策层面的支持,还是技术上的突破,都显示了人工智能发展的迅猛势头。以下是精选的2017年人工智能领域最具影响力的事件。 ... [详细]
  • 强人工智能时代,区块链的角色与前景
    随着强人工智能的崛起,区块链技术在新的技术生态中扮演着怎样的角色?本文探讨了区块链与强人工智能之间的互补关系及其在未来技术发展中的重要性。 ... [详细]
  • 本文探讨了图像标签的多种分类场景及其在以图搜图技术中的应用,涵盖了从基础理论到实际项目实施的全面解析。 ... [详细]
  • 京东AI创新之路:周伯文解析京东AI战略的独特之处
    2018年4月15日,京东在北京举办了人工智能创新峰会,会上首次公开了京东AI的整体布局和发展方向。此次峰会不仅展示了京东在AI领域的最新成果,还标志着京东AI团队的首次集体亮相。本文将深入探讨京东AI的发展策略及其与BAT等公司的不同之处。 ... [详细]
  • 本文将详细介绍多个流行的 Android 视频处理开源框架,包括 ijkplayer、FFmpeg、Vitamio、ExoPlayer 等。每个框架都有其独特的优势和应用场景,帮助开发者更高效地进行视频处理和播放。 ... [详细]
  • 探讨ChatGPT在法律和版权方面的潜在风险及影响,分析其作为内容创造工具的合法性和合规性。 ... [详细]
  • 程序员如何优雅应对35岁职业转型?这里有深度解析
    本文探讨了程序员在职业生涯中如何通过不断学习和技能提升,优雅地应对35岁左右的职业转型挑战。我们将深入分析当前热门技术趋势,并提供实用的学习路径。 ... [详细]
  • 本文档汇总了Python编程的基础与高级面试题目,涵盖语言特性、数据结构、算法以及Web开发等多个方面,旨在帮助开发者全面掌握Python核心知识。 ... [详细]
  • 浪潮AI服务器NF5488A5在MLPerf基准测试中刷新多项纪录
    近日,国际权威AI基准测试平台MLPerf发布了最新的推理测试结果,浪潮AI服务器NF5488A5在此次测试中创造了18项性能纪录,显著提升了数据中心AI推理性能。 ... [详细]
  • 图像分类算法的优化策略与实践
    本文探讨了《Bag of Tricks for Image Classification with Convolutional Neural Networks》论文中的多项技术,旨在通过具体实例和实验验证,提高卷积神经网络在图像分类任务中的性能。文章详细介绍了从模型训练加速、网络结构调整到训练参数优化等多个方面的改进方法。 ... [详细]
  • 吴恩达推出TensorFlow实践课程,Python基础即可入门,四个月掌握核心技能
    量子位报道,deeplearning.ai最新发布了TensorFlow实践课程,适合希望使用TensorFlow开发AI应用的学习者。该课程涵盖机器学习模型构建、图像识别、自然语言处理及时间序列预测等多个方面。 ... [详细]
  • 本文探讨了在 SQL Server 中使用 JDBC 插入数据时遇到的问题。通过详细分析代码和数据库配置,提供了解决方案并解释了潜在的原因。 ... [详细]
  • 由中科院自动化所、中科院大学及南昌大学联合研究提出了一种新颖的双路径生成对抗网络(TP-GAN),该技术能通过单一侧面照片生成逼真的正面人脸图像,显著提升了不同姿态下的人脸识别效果。 ... [详细]
  • 本文深入探讨了CART(分类与回归树)的基本原理及其在随机森林中的应用。重点介绍了CART的分裂准则、防止过拟合的方法、处理样本不平衡的策略以及其在回归问题中的应用。此外,还详细解释了随机森林的构建过程、样本均衡处理、OOB估计及特征重要性的计算。 ... [详细]
author-avatar
WE艺家人-千乐
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有