【人工智能】深度学习自动构图研究报告
言有三
毕业于中国科学院,计算机视觉方向从业者,有三工作室等创始人
作者 | 言有三(微信号Longlongtogo)
编辑 | 言有三
感谢北航的云飞扬,武汉理工大学的贾承丰的辅助
今天带来基于深度学习的图像构图的研究报告,主要涉及了基于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
总结
随着研究人员的活跃和数据集的增长,自动构图算法一定会在这几年得到快速的发展。
【人工智能】深度学习自动构图研究报告相关推荐
- 《预训练周刊》第15期:Bengio, Lecun, Hinton | 人工智能深度学习、用于图像分类的全局过滤网络...
No.15 智源社区 预训练组 预 训 练 研究 观点 资源 活动 关于周刊 超大规模预训练模型是当前人工智能领域研究的热点,为了帮助研究与工程人员了解这一领域的进展和资讯,智源社区整理了第15期&l ...
- 机器码农:深度学习自动编程
/* 版权声明:可以任意转载,转载时请标明文章原始出处和作者信息 .*/ 张俊林 (本文2016年发表于<程序员>杂志) (想更系统地学习深度学习知识?请参考:深度学习枕边书) 随着深度学 ...
- 人工智能深度学习找线缆盘圆心---项目展示
背景知识 在工业堆场的仓库里面堆放着大量的形状不规则的线缆盘,如图所示: 通常情况下,对于人工搬运的仓储物流环境下,基本是人工开动叉车,人工找到线缆盘圆心的位置,再用叉车的前叉插入线缆盘,这种情况下基 ...
- 硬件平台上深度学习自动内核优化
硬件平台上深度学习自动内核优化 对于AI开发人员来说,在各种硬件平台上优化深度神经网络的性能仍然是一个难题.在系统支持方面,在这里面临着许多问题:将训练有素的模型从多个前端(例如Tensorflow, ...
- 8月6日云栖精选夜读 | 阿里云CPFS在人工智能/深度学习领域的实践
2019独角兽企业重金招聘Python工程师标准>>> AI/DL在迅速发展 随着数据量的爆发式增长和计算能力的不断提升,以及在算法上的不断突破,人工智能(AI,Artificial ...
- 机器学习中的数学 人工智能深度学习技术丛书
作者:孙博 著 出版社:中国水利水电出版社 品牌:智博尚书 出版时间:2019-11-01 机器学习中的数学 人工智能深度学习技术丛书 ISBN:9787517077190
- 2019年上半年收集到的人工智能深度学习方向干货文章
2019年上半年收集到的人工智能深度学习方向干货文章 随机森林VS神经网络:哪个更好? 深度学习--感知机讲解 深度学习NN.CNN.RNN.和DNN你了解吗? 手工计算深度学习模型中的参数数量 使用 ...
- 人工智能深度学习框架MXNet实战:深度神经网络的交通标志识别训练
人工智能深度学习框架MXNet实战:深度神经网络的交通标志识别训练 MXNet 是一个轻量级.可移植.灵活的分布式深度学习框架,2017 年 1 月 23 日,该项目进入 Apache 基金会,成为 ...
- 【总结】只需5步,给所有想入行人工智能/深度学习的新手们准备的资料
对于新人来说,如何选择一条正确的道路比努力更加重要,这是有三AI给所有想要入行人工智能/深度学习领域的朋友准备的资料汇总,也是我建议一个初学者必须走完的5个步骤. 第一步:先知道AI能做什么 在学习人 ...
最新文章
- python语言包含的错误,Python语言程序中包含的错误,一般分为三种,以下____________不是其中的一种...
- 基于 REST 的 Web 服务:基础
- python框架django面试问别人什么问你_django面试会问什么
- LeetCode 96不同的二叉搜索树95不同的二叉搜索树Ⅱ
- string转object对象_025:听闻你精通面向对象,来解决一下
- 什么是protobuf
- vue2 父子组件传参 回调函数使用
- flume通过tcp/udp采集数据并存到kafka配置及操作方式
- gitlab 删除历史修改记录_Excel表格使用记录单功能快速录入、修改、删除、查询数据...
- openresty之http
- 离散数学及其应用第六版中文电子书和答案
- 信号与系统实验感想 matlab,信号与系统实验(信号与系统matlab实验报告)
- 石子合并,四边形不等式优化(Buy Candy,玲珑杯 Round#6 A lonlife 1066)
- 前端背景图放置_css如何设置背景图片?background属性添加背景图片
- 双系统重启进入GRUB解决方案
- php 事件,php的事件处理机制(回调函数)
- 反光衣穿戴识别检测系统 OpenCV
- Aseprite入门教程
- 品优购电商系统开发 第19章 秒杀解决方案
- 第一章——操作系统概论
热门文章
- Java面试之谈谈对CAS的理解
- ros 安装c++编译的可执行文件
- 举报入口_违法和不良信息举报中心
- Myeclipse中点(.)不出来方法或者属性?
- 实现二叉排序树的各种算法
- linux+PATH
- Array 的方法们 和 object 那些让人纠结的问题 ......
- Java集合框架之四大接口、常用实现类,java基础面试笔试题
- python面试题之下面这些是什么意思:@classmethod, @staticmethod, @property?
- 传智Python视频_基础班+就业班