机器学习 (ML) 在许多目标明确的领域都表现卓越。答案非对即错的任务有助于训练过程,也可使算法实现其预期目标,无论是正确识别图像中的物体,还是将一种语言适当地翻译成另一种语言。不过,有些领域并没有客观的评估标准。例如,一张照片是否美丽要按其美学价值进行衡量,而美学价值是一个非常主观化的概念。
▲ 一张加拿大贾斯珀国家公园的专业照片
为了探究机器学习能否学习主观性概念,我们引入了一个用于艺术内容创作的实验性深度学习系统:
https://arxiv.org/abs/1707.03491
该系统可模仿一个专业摄影师的工作流程,浏览来自 Google 街景的全景照片,并搜索最佳构图,然后进行各种后期处理操作以制作一张具有美感的图像。我们的虚拟摄影师“浏览”了大约 4 万张全景照片(拍摄地为阿尔卑斯山、加拿大班夫公园和贾斯珀国家公园、加利福尼亚州大苏尔以及黄石公园等),并据此制作出令人印象深刻的照片,根据专业摄影师的评判,有些照片甚至接近专业水准。
训练模型
尽管可使用 AVA 等数据集对美学进行建模,但单纯用它来提升照片品质可能会使照片欠缺某些美感,如照片过度饱和。不过,利用监督式学习正确地学习美学的多个要素可能需要一个标注数据集,而该数据集很难收集。
我们的方法只依赖于专业品质的照片集,无需在之前/之后进行图像比对,也无需任何额外的标签。该方法自动将美学分解成多个要素,每个要素都通过一个耦合的图像操作产生的反面示例进行单独学习。通过使这些图像操作保持“半正交”,我们可以通过快速并且可分离的优化来改善照片的构图、饱和度/HDR 水平及戏剧性光线。
全景照片
上图是一张全景照片 (a) 被剪裁成 (b),饱和度和 HDR 强度在 (c) 中得到提升,(d) 中则应用了戏剧性蒙版。每一步都根据所学习的一个美学要素完成。
传统图像滤镜可用于生成饱和度、HDR 细节和构图的反面训练示例。我们也引入了一个名为戏剧性蒙版的特殊操作,它是在学习戏剧性光线的概念时创建的。反面示例是通过应用一组图像滤镜(随机修改专业照片的亮度,降低照片质量)而生成的。我们使用生成式对抗网络 (GAN) 进行训练,其中生成式模型创建一个蒙版来修复反面示例的光照,而判别式模型则设法区分已提升品质的照片和真正的专业水准照片。与固定形状的滤镜(如 vignette)不同,戏剧性蒙版可感知照片内容并据此相应地调节照片亮度。GAN 训练的竞争特性将促使这些建议逐步改善。您可以阅读我们的论文,了解此训练的详细信息:
https://arxiv.org/abs/1707.03491
成果
下面展示了我们的系统通过 Google 街景制作的一些照片。正如您所看到的,通过应用经过训练的美学滤镜产生了一些戏剧性效果(包括本文开头所使用的图片!)
▲ 加拿大贾斯珀国家公园
▲ 瑞士因特拉肯
▲ 意大利 Park Parco delle Orobie Bergamasche。
▲ 加拿大贾斯珀国家公园
专业评估
为了判断我们的算法有多么成功,我们设计了一个类似“图灵测试”的实验:我们将我们制作的照片与其他不同品质的照片混在一起,并将它们展示给多位专业摄影师。要求这些摄影师为每张照片的品质打分,评分标准如下:
- 随手一拍的照片,根本不考虑构图和光线等。
- 没有摄影背景的普通大众拍摄的好照片。没有突出的艺术特色。
- 半专业水准。有明显艺术性的优秀照片。拍照者正朝着专业摄影师发展。
- 专业水准。
下图中,每条曲线分别显示了专业摄影师给预测分数在特定范围内的照片的评分。对于我们制作的预测分数很高的照片,约有 40% 的照片获得的评分在“半专业水准”到“专业水准”之间。
▲ 专业摄影师为具有不同预测分数的照片给出的评分
未来工作
街景全景照片可作为我们项目的测试平台。将来,这种技术甚至能够帮助您在现实世界里拍出更好的照片。我们编译了一个照片展示平台,用以展示令我们满意的照片:
https://google.github.io/creatism
如果您看到您喜欢的照片,您点击它即可显示附近街景的全景照片。假如您当时就在那里举着相机,您能拍出相同水准的照片吗?
致谢
这项工作由 Google Research 的机器感知工程师 Hui Fang 和 Meng Zhang 合作完成。我们在此感谢 Vahid Kazemi,感谢他前期在使用 Inception 网络预测 AVA 分数方面的工作,也感谢 Sagarika Chalasani、Nick Beato、Bryan Klingner 和 Rupert Breheny,感谢他们在处理 Google 街景全景照片方面给予的帮助。同时我们要感谢 Peyman Milanfar、Tomas Izo、Christian Szegedy、Jon Barron 和 Sergey Ioffe,感谢他们建设性的评价和评论。最后我们万分感谢匿名的专业摄影师们,感谢他们的无私奉献!
【本文是51CTO专栏机构“谷歌开发者”的原创稿件,转载请联系原作者(微信公众号:Google_Developers)】