写点什么

深度学习自动构图研究报告

  • 2019-09-11
  • 本文字数:1803 字

    阅读完需:约 6 分钟

深度学习自动构图研究报告


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

什么是自动切图

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


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


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

计算机构图的研究方法

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

1.1 显著目标方法

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



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


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

1.2 美学方法

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



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



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



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



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



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


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



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

数据集

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

1.1 FCDB

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

1.2 CPC[7]

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


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

优化目标

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

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 的窗口越接近,即剪裁的效果越好。

总结

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


作者介绍


言有三,真名龙鹏,曾先后就职于奇虎 360AI 研究院、陌陌深度学习实验室,6 年多计算机视觉从业经验,拥有丰富的传统图像算法和深度学习图像项目经验,拥有技术公众号《有三 AI》,著有书籍《深度学习之图像识别:核心技术与案例实战》。


原文链接


https://mp.weixin.qq.com/s/eyIeLaBZ0f_EsxglsUuH8A


2019-09-11 20:313125

评论

发布
暂无评论
发现更多内容

【死磕Java并发】-----Java内存模型之happens-before

chenssy

11月日更 死磕 Java 死磕 Java 并发

Elasticsearch聚合的嵌套桶如何排序,java架构和框架

Java 程序员 后端

Flink处理函数实战之一:深入了解ProcessFunction的状态(Flink-1

Java 程序员 后端

Docker Swarm从部署到基本操作,Java程序员进大厂面试必备基础技能

Java 程序员 后端

迎接央行数字货币,你准备好了吗

CECBC

Docker系列(1)--Docker原理及安装,java线程池回收原理

Java 程序员 后端

ElasticSearch集群的概念及搭建过程,Java程序员晋升路线

Java 程序员 后端

讲分布式唯一id,这篇文章很实在

秦怀杂货店

Java 分布式 分布式ID

Elasticsearch聚合的嵌套桶如何排序(1),java大学基础教程

Java 程序员 后端

Windows11 搭建openvino_tensorflow环境

IT蜗壳-Tango

IT蜗壳 OpenVINO 11月日更 openvino_tensorflow

【Promise 源码学习】第二篇 - Promise 功能介绍与特性分析

Brave

源码 Promise 11月日更

Flink的sink实战之四:自定义,Java开发笔试题目

Java 程序员 后端

Dubbo如何支持本地调用?InJvm方式解析,农民工看完都会了

Java 程序员 后端

Dubbo服务消费者调用过程,35岁老年程序员的绝地翻身之路

Java 程序员 后端

Elasticsearch中URI Search和RequestBody Search分析(1)

Java 程序员 后端

Flink SQL Client综合实战,深入理解java虚拟机百度云

Java 程序员 后端

Dubbo服务治理之灰度发布方案(版本发布控制影响范围)

Java 程序员 后端

Elasticsearch 如何做到快速检索 - 倒排索引的秘密,springboot项目实战

Java 程序员 后端

Elasticsearch中的Term查询和全文查询,重磅

Java 程序员 后端

ELK + Filebeat + Kafka 分布式日志管理平台搭建,最新java面试题及答案

Java 程序员 后端

ELK太重?试试KFC日志采集,2021大厂Java面试经验

Java 程序员 后端

flume基本概念与操作实例(常用source),kalilinux视频教程

Java 程序员 后端

WEB本地存储:localStorage、Web SQL Database、IndexedDB

devpoint

Cookie indexedDB LocalStorage sessionStorage 11月日更

Docker下Nacos配置应用开发,java初级程序员面试

Java 程序员 后端

Docker下,五分钟极速体验机器学习,java从入门到精通第五版防盗码

Java 程序员 后端

【高并发】两种异步模型与深度解析Future接口

冰河

Java 并发编程 多线程 高并发 异步编程

所谓的新型“数字人民币”诈骗,这里有几个疑点

CECBC

Redis 实现附近的人,全靠 GEO 数据结构让我邂逅女神

码哥字节

redis BitMap geohash NoSQL 数据库 11月日更

进击的Java(一)

ES_her0

11月日更

各地力推“链长制”,区块链让产业链更加安全可靠

CECBC

Geospatial-地理空间,java面试基本知识

Java 程序员 后端

深度学习自动构图研究报告_AI&大模型_言有三_InfoQ精选文章