Py学习  »  机器学习算法

计算机视觉方向简介 | 深度学习自动构图

计算机视觉life • 4 年前 • 795 次点击  

点击上方“计算机视觉life”,选择“星标”

快速获得第一手干货

本文授权自有三AI 

今天带来基于深度学习的图像构图的研究报告,主要涉及了基于CNN的图像剪裁方法的研究现状、数据集的发展、以及现有应用。

00


什么是自动切图

我们在拍摄照片后,第一步要做的就是图像裁剪,也称为后期构图。构图,用于合理安排画面中的元素分布,提升照片的美感。


构图的自动化【1】既可以用于拍摄之前的构图推荐,也可以用于拍摄之后的自动调整,在许多的缩略图自动裁剪中也有用处,甚至用于自动拍照。


我在公众号和知乎的专栏中已经多次讲过计算机美学了,也介绍过现有的产品,所以这里不再过多赘述。下面我们说说计算机构图的原理。

01


计算机构图的研究方法

接下来我们从这2个方面来讲讲计算机构图算法的原理。

1.1 显著目标方法

 
 

【2-3】也称之为Attention-Based的方法,它基于一个假设,图像中最显著的区域即照片中最相关的部分,因此我们应该保留最相关的部分,而裁剪其他部分。

如上面左图1,2是显著目标概率图,裁剪的时候就在保留显著目标的同时,裁剪掉了其他部分。


这类方法的目标就是研究如何用最小的剪裁窗口使得注意力(图像显著特性)总和最大化,它缺少对图像构图准则以及美学质量的考量,可能会导致剪裁出来的图像不美观。因为已经不是主流研究方法,就不细细说明了。

1.2 美学方法

 
 

基于显著目标的方法不是现在的主流,而基于美学的方法更加符合摄影师构图的原理,它要求裁剪出美学质量分数更高的区域。

上图文【4】是比较早的研究思路,它通过滑动窗口的方法获取一系列的候选裁剪框,然后从中选择美学分数最高的。这一类方法的问题就是效率太低,计算量太高,根本无法实用。

文【5】提供了不同的思路,如上图。它训练了一个显著目标检测网络,可以得到显著目标区域的初始化框,在它的附近,就可以采用不同的大小和比例,获取一系列候选的裁剪框,网络如下。

训练了另一个美学评估网络,用于选取美学分数更高的裁剪框。由于这个方法,只需要1次特征提取,且两个网络共享了若干神经网络卷积层,大大提高了剪裁窗口获取的效率,网络如下。

文【6】使用增强学习来更高效地搜索裁剪框,网络结构如下。


相比上面的两种方法,它需要更少的候选窗口与更少的运行时间,可以获得任意尺度位置更精确的剪裁窗口。


最新的研究来自于adode 2018年[7]的文章。该文章包含了两个网络,一个是view proposal network,用于提取候选框。另一个是view evaluation net,用于从候选框中选择美学价值最高的,网络如下。

该文另一个贡献是整理了一个大型高质量的数据集,因为现有的数据集太小是限制研究的最主要原因。

02


数据集

下面介绍两个主要的数据集。

1.1 FCDB

 
 

FCDB【1】数据集是一个专门为图像剪裁而设计构建的数据集。这个数据集一共包含1743张经过人工标记剪裁窗口的图片与34130张与原始图像相匹配的剪裁图像对。数据集里的每张照片都从专业摄影照片分享社区Flickr上下载后经人工筛选得到,具有较高的美学特征与较好的构图。

1.2 CPC[7]

 
 

这是adobe整理的,包含10800张图,超过1 million的图像对,每一个图像对就是原图和它的裁剪图,他们会有相对美学的标注。为了保证分布的广泛性,不仅选择了专业的图片,也选择了日常生活中的图片。



另外还有一些小的数据集,不一一列举。

03


优化目标

怎么评估一个自动裁剪算法的好坏呢?下面介绍两个。

3.1 IoU

 
 

平均交叉区域average intersection-over-union,这也是目标检测中使用的优化目标。上式中N为输入图片的总数,wig为第i幅输入图像ground truth的窗口,wic为不同方法剪裁出的第i幅输入图像的最优窗口,IoU的值越大说明剪裁的最优窗口与ground truth的窗口越接近,即剪裁的效果越好。

3.2 平均边界位移

 
 

平均边界位移average boundary displacement。上式中N为输入图片的总数,

big(l,r,u,d)为第i幅输入图像ground truth的窗口4条边与原图像对应边的距离,bic(l,r,u,d)为不同方法剪裁出的第i幅输入图像的最优窗口4条边与原图像对应边的距离,Disp的值越小说明剪裁的最优窗口与ground truth的窗口越接近,即剪裁的效果越好。

04


总结

随着研究人员的活跃和数据集的增长,自动构图算法一定会在这几年得到快速的发展。

推荐阅读

计算机视觉方向简介 | 从全景图恢复三维结构

计算机视觉方向简介 | 阵列相机立体全景拼接

计算机视觉方向简介 | 单目微运动生成深度图

计算机视觉方向简介 | 深度相机室内实时稠密三维重建

计算机视觉方向简介 | 深度图补全

计算机视觉方向简介 | 人体骨骼关键点检测综述

计算机视觉方向简介 | 人脸识别中的活体检测算法综述

计算机视觉方向简介 | 目标检测最新进展总结与展望

计算机视觉方向简介 | 唇语识别技术

计算机视觉方向简介 | 三维深度学习中的目标分类与语义分割

计算机视觉方向简介 | 基于单目视觉的三维重建算法

计算机视觉方向简介 | 用深度学习进行表格提取

计算机视觉方向简介 | 立体匹配技术简介

计算机视觉方向简介 | 人脸表情识别

计算机视觉方向简介 | 人脸颜值打分

关注计算机视觉life,加星标,获取最新CV干货~


最新CV干货,我在看  

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/33479
 
795 次点击