专栏首页AI科技评论ASM-Net:可解释的美学评分及图像剪裁

ASM-Net:可解释的美学评分及图像剪裁

作者 | 涂逸

编辑 | 唐里

基于美学的图像裁剪(aesthetic image cropping)的目标是在一张图片中找到具有最高美学评价的子图。

在本篇论文中,我们提出了一个新颖的图像裁剪模型来解决这个问题。对于每张图片,我们使用一个全卷积网络来生成一个同时对照片构图(photo composition)和物体显著性(object saliency)敏感的美学评分图(aesthetic score map),并让其所有候选子图都使用其进行美学评分。

该美学评分图可以用来定位图像中具有较高美学价值的区域,并帮助分析模型所学习到的构图规则。因此,我们的模型可以揭示美学评价的内在机理,具有良好的可解释性。我们在多个数据集上证明了本模型的优越性能,并展示了它的广泛应用场景。

本文已被AAAI20接收(https://arxiv.org/abs/1911.10492)。

模型概述

为了找到最佳子图,图像裁剪模型一般会先生成大量的候选子图,然后对每张子图逐个进行美学评分,最终确定评分最高的子图。因此,一般来说,图像裁剪模型通常由候选子图生成模型和美学评分模型两个部分组成。早期的研究通过利用一些摄影知识来实现美学评分,比如使用人类总结的构图规则,像是三分法和中心法则。它们通过定义并抽取相应的特征来衡量子图的构图优劣。

随着深度学习技术的发展,很多人开始以数据驱动的方式研究这个问题,收集并标注了许多美学数据集来学习人类的审美偏好。他们直接通过深度学习模型来学习并预测美学评分,并取得了不错的进展,但这类方法往往缺乏对美学评分机理的揭示与阐述。

我们认为,一个好的图像裁剪需要两步:首先是选定图片中最重要的内容,然后是把它放在一个构图最优的位置。所以本问题所需的知识可以分为两部分,即对内容的偏好(content preference)和对构图的偏好(composition preference)。因此,一个好的图像裁剪模型应该能够在从标注数据中同时学习这两种知识,并且能够在推荐最佳子图时利用它们。

为此,我们设计出了一个新颖的图像裁剪模型,ASM-Net。给定一张图片,ASM-Net首先会生成一张美学评分图(aesthetic score map)。这张图能够通过池化的方式来对任意子图给出一个对应美学评分。在训练时时,我们将标注过的子图的评分预测排序作为监督信息,用排序损失(ranking loss)训练模型;在测试时,我们对所有候选子图分别计算美学评分,将最高分子图作为最终剪裁结果。此外,我们还利用了视觉显著性(visual saliency)对模型进行了约束,使得它会更关注显著区域的构图效果。

Composition-Aware Aesthetic Score Map

受到Class Activation Map 模型的启发,我们首先使用全卷积网络对每张图片生成一个等大小的美学评分图。我们期望评分图上每一处的分值能够反映图片对应区域的美学重要性,进而能够把子图的平均分当作其美学评分。然而我们发现,因为美学评分问题本身的复杂性,这种设计并不能满足我们的需要。为此,我们需要让美学评分图具有更多的变化,比如对构图敏感。

受摄影构图规则的启发,我们认识到一个被拍摄物体在图片内的相对位置对其图片的美学评分很重要。比如,在中心法则中,我们总是将被拍摄物体放在中心位置,以实现一种对称和平衡的美感。因此,被拍摄物体位于一个子图中心时的美学评分应该大于它偏离中心时的评分。因此,我们认识到图片中每个区域在美学评分图上的审美分数应该随着其在不同子图中的相对位置发生变化。

为了实现这个目标,我们首先预设一些构图模板(composition pattern)。每个构图模板都能够将一个子图划分若干不重叠的相对位置,称之为构图分区(composition partition)。

给定一个构图模板,图片中每个部分的美学评分就要由它在每个子图中的相对位置,即构图分区决定。假设我们有九个构图分区,那么图片中每个部分的美学评分就一共有九种取值,取决于它在不同子图中所处的构图分区是否合适。这样,图片的每个区域不再由单个美学评分而是对构图分区敏感的一组评分表示。因此,我们的模型在学习标注数据的时候,不仅能够学习到图片中每个区域的总体审美偏好,还能够学习到它们出现在不同子图、处在不同构图分区时的审美偏好。

Saliency-Aware Aesthetic Score Map

视觉显著性是一种使物体吸引更多人类注意力的感知特性。一般来说,一张图片中具有较高视觉显著性的区域与图片中最重要的内容有很大的关联。因此,在图像裁剪问题中,我们可以利用视觉显著性来保护最要的重要内容不被剪裁掉。一些以前的方法已经在这个方向上做过一些尝试,它们的假设是:视觉显著性最高的区域或者显著物体(salient object),就是对应着图片中最重要的内容。在这个假设的前提下,它们生成的候选子图都一定会覆盖显著物体,这样最终预测的最佳子图就一定不会裁减掉重要内容。

然而,我们认为这样的假设有几个局限性。首先,许多现实世界的图像,比如一张聚会照片,可能有多个显著的区域,我们不能只关注最显著的一个。其次,一些照片,比如风景照,可能没有任何显著的物体,这可能导致上述方法失效。第三,显著的物体也可能是一个干扰物体,应该排除而不是包含在最优子图中。因此,在我们的方法中,我们采用了一个更合理的假设:图片中的显著区域应该对其构图分区更敏感的。这是因为显著的区域会吸引更多的注意力,所以它们的构图分区更加影响人们对子图的美学评价。为此,为了实现这一假设,我们设计了一种基于显著性损失函数。它通过让我们的模型对显著区域对美学评分更加敏感,使得模型在学习过程中更加关注显著物体应该放在子图的哪个构图分区。

实验与可视化结果

我们的模型在三个基准数据集上做了大量的实验,并使用了多种指标对结果进行了比较。实验我们模型的性能优于最先进的方法,并具有良好的通用性。除了定量结果,我们也提供了大量的可视化结果。

首先我们对比来自训练集中同一张图片的三个不同子图的美学评分。黑色数字表示其的标注评分,红色数字表明了其预测评分。可以看到,子图的预测评分的相对大小关系与标注评分是一致的,这表明了模型通过使用ranking loss学习到了训练数据集中的美学评分偏好。进一步,预测评分下的热力图表明了子图中每个区域的预测评分,而预测评分则是整个热力图的均值。前两个子图中有重叠的区域,然而其预测评分却不一样,这是因为重叠区域在两个子图中的构图分区不一样。第三个图的预测评分很低,这是因为它没有捕捉到整个图片中最显著的物体,信号灯。上述结果表明了我们的模型确实是同时考虑了构图分区和物体显著性的。

其次,我们对三类图片展示最优裁剪结果: 有一个显著的物体、有多个显著物体和没有显著物体。对于每一类,我们展示两张图片在五个长宽比(9:16、3:4、1:1、4:3和16:9)下的最优剪裁结果。在第三类没有显著物体的图片中,之前的基于显著性的方法可能会失效,因为它们依赖于显著物体的检测结果;然而我们的模型仍然可以达到令人满意的结果。这表明了我们模型的泛用性。

最后,我们还发现我们的模型可以用于对任意形状的子图进行美学评分。这里,我们尝试将矩形的图像裁剪任务扩展为圆形的裁剪,因为它有一些实际应用场景,比如生成圆形的用户头像。在上图中,圆形的剪裁结果也表明了我们模型的拓展性,也证明我们的模型学习到了可以在不同形状的子图之间通用的美学评价知识。更多结果可见http://bcmi.sjtu.edu.cn/home/niuli/paper/AIC_Supplementary.pdf。

总结

在本文中,我们提出了一个全新的图像裁剪模型。对于每一张待剪裁图片,我们的模型可以生成一个对构图分区和视觉显著性都很敏感的美学评分图。我们的模型可以学会将重要的的图片内容放在最恰当的子图位置,以剪裁得到美学评分最高的子图。我们的模型在大量实验上证明了其拥有最好的性能,并在实际应用中表现出良好的通用性和拓展性。我们的研究方法也对揭开美学评价的内在机理做出了贡献。

本文分享自微信公众号 - AI科技评论(aitechtalk),作者:涂逸

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-12-02

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • ​田渊栋:ReLU神经网络的可证明理论性质

    在本文中,Facebook人工智能研究院研究员、卡耐基梅隆大学机器人系博士田渊栋以ReLU网络为例,分享了深度学习理论和可解释性方面的研究进展。田渊栋博士提到,...

    AI科技评论
  • 业界 | 谷歌 Smart Compose:神经网络可以帮你写 Gmail 邮件了

    AI 科技评论按:在 Google I/O 2018 上,除了 Google 助手给餐馆打电话的场景赢得现场观众的喝彩外,在用户写邮件时可预测下一句的 Smar...

    AI科技评论
  • AI 赌神——如何教神经网络玩 21 点游戏?(附代码)

    原文标题:Teaching A Neural Net To Play Blackjack

    AI科技评论
  • FProbe:一款HTTP/HTTPS服务器快速探测工具

    FProbe是一款HTTP/HTTPS服务器快速探测工具,广大研究人员只需要给FProbe提供一个域名或子域名列表,它就可以帮助我们探测目标域名后台运行的是HT...

    FB客服
  • python list 增加元素的三种方

    append 翻译成中文是:追加 在Python中append 用来向 list 的末尾追加单个元素,此元素如果是一个list,那么这个list将作为一个整体进...

    py3study
  • SpringBoot+Vue前后端分离,使用SpringSecurity完美处理权限问题(六)

    当前后端分离时,权限问题的处理也和我们传统的处理方式有一点差异。笔者前几天刚好在负责一个项目的权限管理模块,现在权限管理模块已经做完了,我想通过5-6篇文章,来...

    江南一点雨
  • iPhone屏幕分辨率及适配技术

    一般情况下,我们说iPhone 8的屏幕是4.7寸屏,就是指iPhone 8的屏幕对角线为4.7英寸。 屏幕的单位是以英寸为单位,换算关系:1 inch = ...

    用户5521279
  • 【python-leetcode480-双堆】滑动窗口的中位数

    中位数是有序序列最中间的那个数。如果序列的大小是偶数,则没有最中间的数;此时中位数是最中间的两个数的平均数。

    绝命生
  • LintCode 207. 区间求和 II(线段树)

    在类的构造函数中给一个整数数组, 实现两个方法 query(start, end) 和 modify(index, value):

    Michael阿明
  • 新浪面试真题

    1.请写出一张图片的HTML代码,已知道图片地址为“images/abc.jpg”,宽100px,高50px 2.请问display:none和visibili...

    HTML5学堂

扫码关注云+社区

领取腾讯云代金券