计算机如何学会自动构图?
本文摘自言有三新书,计算机视觉与摄影的交叉方向,名为《深度学习之摄影图像处理:核心算法与案例精粹》,主题聚焦于计算摄影方向。
文末有送书福利!!!
1 自动构图基础
1.1 什么是构图
自动裁剪用摄影的话语来说,就是自动构图。构图来源于绘画,最初指绘画时根据题材和主题思想的要求,把要表现的形象适当地组织起来,构成一个协调的完整的画面。因此一种构图方法一定要能够表达作品的核心思想内容并有一定的艺术感染力。
上图是一个框架式构图案例,左图是原图,右图是构图调整后的图。
图中包含了两个方面的修改,其一是图像的裁剪,其二是色调的调整。原图的大小是 6000×4000,高宽比为 2/3,调整后图的大小是 3407×3824,高宽比为1.12,接近于 1:1,也就是正方形构图。
在拍摄原图的时候,笔者的重点是捕捉到舵手的神态与动作,同时在右侧给出一定的留白显示运动的方向,而在后期调整的时候笔者更想突出舵手的神态。因此将右侧比较杂乱的背景剔除,利用船舱的边缘从左上角至右下角进行了调整,利用船舱形成的框架来完成一个斜对角的框架式构图的裁剪。同时,这是一幅纪实类的作品,因此笔者将其色调调整为黑白。
经过构图调整后,作品更加干净,主体更加得到了突出。
上图是一个对比构图案例,左图是原图,有图是构图调整后的图。该图包含了两个方面的修改,其一是图像的裁剪,其二是色调的调整。
原图的大小是 6000×4000,高宽比为 2/3,调整后图的大小是 4276×2455,高宽比为0.57,接近于 9:16,也就是电影宽屏的长宽比。
首先看裁剪,原图的下半部基本被裁剪,右侧也裁剪掉四分之一左右。经过裁剪后,图像中的人物更大,而一些杂物已经被剔除。
再看色调调整,将原图转换为了黑白图,此时整个图像的对比度大大提升,艺术感和视觉冲击力也增加。
经过构图调整后,新的作品我将其命名为《独行》,表现出了背着小包的人物行走在大背景下的渺小。
这里的两个案例都是任意的长宽比,而实际上很多时候我们需要固定长宽比,常见的包括4:3,16:9,1:1等,如下图展示了不同比例,大小,裁剪方式:
1.2 构图的应用
自动构图有许多的现实需求,如构图推荐,图像重匹配,缩略图生成。
(1) 构图推荐
学习基本的构图原则虽然是很简单的,但是也需要大量时间锻炼,对于学习能力较差或者对新事物接受能力较慢的人来说,依然是一个难题。目前在索尼相机和一些摄影类软件产品中会出现一个九宫格来辅助拍摄者进行构图,如果有一款产品能够在拍摄时指导拍摄者进行前后左右移动,相信会非常实用和受欢迎的。
(2) 图像重匹配
很多的时候,我们需要将一个图像,放到一个尺寸与其不匹配的地方,比如相机拍摄的照片,放置到各种移动设备,这需要改变分辨率、长宽比等,这个问题叫做图像重匹配(Image Retargeting)。
在图像重匹配的时候,我们会考虑两个重要因素:
(1)原始图像的重要信息必须要保留,重要主体不能被裁剪掉;
(2)要保存原始图像的结构信息,如构图风格,并且尽量保证目标比例。
(3) 缩略图生成
所谓缩略图即缩小尺寸的图片或视频,生成缩略图通常是用于帮助识别和组织它们,在互联网网页中为图像提供与普通文本索引相同的角色。缩略图的生成可以看作是图像重匹配问题的一种,如今在摄影App和视频类App中都广泛用于产生封面缩略图。
下一节开始讲述如何研究自动构图这个问题,主要可以从两个研究角度来看。一个是如何保留最重要的信息,所对应的问题就是显著目标检测。另一个是保留图像的美学,所对应的问题就是基于美学的构图。
2 基于显著图的自动构图
首先我们来看基于显著图的自动构图,包括数据集的特点以及研究方法。
2.1 显著目标检测数据集
所谓的显著图,就是一个 0~1的概率图,其中亮度越大,代表该处的信息越重要,通常就是目标所在的位置。
有了显著图后,就可以基于显著图进行裁剪。如果将显著图的所有像素值的和当作能量,那设定一个阈值就可以裁剪出包含一定能量的最小外接矩形图。
当前有许多的显著目标数据集,其中 MIT300 数据集,Cat2000 数据集,SALICON 数据集比较经典,因为本质上差别不大,我们只介绍 MIT300 数据集。
MIT300 数据集是显著目标检测领域里非常通用的基准数据集,包括 300 张室内和室外场景图,图像最大尺寸是 1024px,最小尺寸是 457px,被采集者包括 39 个观众,年龄在 18-50 之间。采集时包括任意的视角,使用 ETL 400 ISCAN 以 240HZ 的频率进行被采集者眼球的跟踪,采集时间持续 3 秒。这个数据集只用于测试,因为没有公开训练标注文件。
上图就是它的数据集示意图,第一行是图像,第二行是人眼注意力的地方,第三行就是转换后的显著图标注。
2.2 显著图检测方法
检测显著性区域的方法就被称为视觉显著性检测(Visual Saliency Detection),这也算是一个比较成熟的领域了,早期的方法基于底层图像特征,如Itti and Koch model。
现在则完全可以使用CNN模型来完成该任务,总体模型架构和图像分割等任务相同,其中多尺度图像和特征技术常被使用。
2.3 自动构图方法
基于显著图的自动构图方法是最早期用于自动构图的方法,被称为 Attention-Based的方法。它基于一个假设,图像中最显著的区域是照片中最重要的部分,我们应该保留这个最重要的部分而裁剪其他部分。
这类方法的目标就是研究如何用最小的剪裁窗口使得注意力(图像显著特性)总和最大化[1],注意力总和可以简单定义为图像所有像素值的和,它就是图中的有效信息。
上图展示了基于显著图的自动构图标准流程,各类相关方法的差异主要在于如何获得最小外接矩形,典型的见文[2],具体的方法本文不再赘述。
3 基于美学的自动构图
接下来我们再看基于美学的自动构图,包括数据集特点以及核心方法。
3.1 数据集
(1) CUHK Cropping数据集
这个数据集由香港中文大学汤晓鸥实验室发布,由经验丰富的摄影师手动裁剪,共950张图像。这 950 张图像共包括 7 类图像,其中animal(动物) 134 张,architecture(建筑) 136 张,human(人) 133 张,landscape(风景) 140 张,night(夜景) 136 张,plant(植物) 138 张,static(静物) 133 张。
裁剪参数包括裁剪框的左上角和右下角的坐标,每一张图有3个摄影师进行标注,一个标注案例如下。
animal\1116.jpg #文件名字
309 832 339 783 #第一个摄影师的裁剪,依次分别是左上角的x,y坐标,右下角的x,y坐标
1 1199 2 900 #第二个摄影师的裁剪,依次分别是左上角的x,y坐标,右下角的x,y坐标
157 1005 1 900 #第三个摄影师的裁剪,依次分别是左上角的x,y坐标,右下角的x,y坐标
下图是一个原图和裁剪案例。
(2) Flickr cropping数据集
研究人员首先从Flickr收集了31888张图像,然后在亚马逊标注平台AMT上雇佣了工人来过滤掉不适当的图像。剩下的图像由一组摄影爱好者来进行裁剪,每一个图像产生10个裁剪版本,然后送至AMT平台供标注人员选择好坏。
绝对的标注结果如下:
[
{
"url":"https://farm5.staticflickr.com/4096/4910188666_04cf9f487d_b.jpg",
"flickr_photo_id":4910188666,
"crop":[
266,
6,
757,
399
]
},
]
除此之外,还包含了相对的标注结果,也就是一张图进行两个裁剪标注,让被试者选择更喜欢哪一个,因此包括两个标注crop0,crop1,vote_for_0和vote_for_1分别是被试者投票给第0个裁剪框和第1个裁剪框的结果,1表示有一个投票。
[
{
"url":"https://farm3.staticflickr.com/2946/15251367120_9bdca6b5c3_c.jpg",
"crops":[
{
"vote_for_1":1,
"vote_for_0":4,
"crop_1":[
171,
281,
300,
400
],
"crop_0":[
139,
234,
300,
400
]
},
],
"flickr_photo_id":15251367120
},
]
另外还有如CPCD数据集,感兴趣读者可以自行了解。
3.2 自动构图方法
基于美学的构图方法更加符合摄影师构图的原理,它要求裁剪出美学质量分数更高的区域,因此关键就在于搜索区域的选择,有几个思路。
(1) 暴力搜索
暴力搜索法[3]是比较早的研究思路,它通过滑动窗口的方式获取一系列的候选裁剪框,然后从中选择美学分数最高的。这一类方法的问题就是效率太低,计算量太高,根本无法实际应用。
(2) 基于显著图预处理
暴力搜索的方法巨大的计算量来自于巨大的搜索空间以及后续带来的美学评估的计算量,如果能够减小搜索空间,减少不必要的美学评估的计算量,就可以大大提升效率。研究者提出与显著图检测方法[4]进行融合就可以实现该目标,下图是算法的基本流程。
首先训练了一个显著目标检测网络,使用它可以得到显著目标区域的初始化框,在它的附近,就可以根据不同大小和比例得到一系列候选的裁剪框,然后用美学评分模块进行评分。
(3) 基于强化学习的搜索法
候选框的选择本质上是一个搜索问题,除了减小搜索空间,另一方面也可以使用更加高效的搜索方法,比如A2RL框架[5],使用增强学习更高效地搜索裁剪框。
相比上面的两种方法,它需要更少的候选窗口与更少的运行时间,可以获得任意尺度、位置、更精确的剪裁窗口。
[1] Ardizzone E, Bruno A, Mazzola G, et al. Saliency Based Image Cropping[C]. international conference on image analysis and processing, 2013: 773-782.
[2] Chen J, Bai G, Liang S, et al. Automatic Image Cropping: A Computational Complexity Study[C]// Computer Vision and Pattern Recognition. IEEE, 2016:507-515.
[3] Chen, Yi-Ling, Klopp, Jan, Sun, Min, et al. Learning to Compose with Professional Photographs on the Web[J].2017:37-45.
[4] Wang W, Shen J. Deep Cropping via Attention Box Prediction and Aesthetics Assessment[J]. 2017.
[5] Kaiqi Huang D L H W J Z. A2-RL: Aesthetics Aware Reinforcement Learning for Automatic Image Cropping[J].
总结
构图问题与美学问题一样,虽然有一定的评判标准,但仍然是一个比较主观的问题,不同的应用场景,不同的图像类型,都有不同的研究维度,感兴趣的读者可以深入实践。
抽奖送书
现在是时候来谈谈如何获得本书了,本书定价119.8元,点击下方『AIoffer』公众号并关注,回复【计算摄影】即可参与抽奖,共送出5本。
4月24日晚20点开奖。
也可点击阅读原文购买。
计算机如何学会自动构图?相关推荐
- 【计算摄影】计算机如何学会自动裁剪图片(自动构图)?
大家好,这是专栏<计算摄影>的第三篇文章,这一个专栏来自于计算机科学与摄影艺术的交叉学科.今天我们讨论的问题是图像的自动裁剪/自动构图问题. 作者&编辑 | 言有三 1 自动构图基 ...
- 计算摄影 | 计算机如何学会自动裁剪图片(自动构图)?
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 1 自动构图基础 1.1 什么是构图 自动裁剪用摄影的话语来说,就 ...
- 如何对计算属性进行修改_「计算摄影」计算机如何学会自动地进行图像美学增强?...
大家好,这是专栏<计算摄影>的第四篇文章,这一个专栏来自于计算机科学与摄影艺术的交叉学科.今天我们讨论的问题是如何学会做图像增强. 作者&编辑 | 言有三 1 图像美学增强基础 1 ...
- 【计算摄影】计算机如何学会自动地进行图像美学增强?
作者&编辑 | 言有三 1 图像美学增强基础 1.1 什么是美学增强 一幅图像要有更好的美感,最基本的要求就是对比度分布合理,饱和度以及色调符合图像主题,本次我们从图像对比度增强和色调增强两个 ...
- 计算机如何学会自动地进行图像美学增强?
1 图像美学增强基础 1.1 什么是美学增强 一幅图像要有更好的美感,最基本的要求就是对比度分布合理,饱和度以及色调符合图像主题,本次我们从图像对比度增强和色调增强两个方面来谈论自动地美学增强问题. ...
- 【人工智能】深度学习自动构图研究报告
言有三 毕业于中国科学院,计算机视觉方向从业者,有三工作室等创始人 作者 | 言有三(微信号Longlongtogo) 编辑 | 言有三 感谢北航的云飞扬,武汉理工大学的贾承丰的辅助 今天带来基于深度 ...
- 通常人们说i5处理器的计算机其中二五是指,计算机cpu?学会看CPU只要五分钟
计算机cpu(学会看CPU只要五分钟)CPU很多人都只知道i3/i5/i7,那么i3/i5/i7难道不是CPU型号吗?这CPU型号到底指的是什么,CPU型号又是如何命名的?今天,5分钟教会你. Int ...
- USNews大学排名遭美国计算机研究学会怒怼,指排名荒谬要求撤回
就在几小时前,计算机研究学会(CRA)发表了一份声明,要求USNews撤回其最新发布的全球大学计算机科学专业排名. 计算机研究学会(Computing Research Association,CRA ...
- 计算机控制原理跟自动控制原理,上海交大考研自动控制理论和自动控制原理有什么区..._在职考研_帮考网...
bailandiao 签约达人 08-30 TA获得超过8082个赞 北京工业大学 421自动控制原理 复试:1.电子技术 2.计算机原理 北京航空航天大学 [双控] 432控制理论综合或433控制工 ...
最新文章
- Salesforce针对移动工作人员推全新人工智能支持工具
- 【题解】 SP5973 SELTEAM - Selecting Teams
- Dart Way 1
- 关于默认jdk设置问题
- eclipse mac 下载php文件夹,PHP Pydev Eclipse (linux or mac)
- 《超越平凡的平面设计: 版式设计原理与应用》—色轮
- GDCM:检索dicom文件中某个位置存在的Icon测试程序
- 浏览器弹不出java_打开网址跳出弹窗“您的浏览器没有获得Java virtual machine 支持”,怎么办?...
- slf4j + log4j2配置日志引擎
- 我的世界java雪村种子_我的世界:5个珍藏级开局种子,第4个大家都在找,最后1个最富有...
- vivo和小米鸿蒙系统哪个好,vivo和华为还有小米,哪个系统流畅度更好?
- 古诗词与代码之间不得不说的二三事。
- 神经网络:ResNet 论文学习总结(二)-- 模型微调
- 用Python带大家写个自动生成艺术签名的小工具哟~
- PAT乙级1033题解
- php里面的箭头怎么打出来,PHP打印左右箭头图案的实现方法(代码示例)
- 尚硅谷前端-京东左侧导航栏及网易新闻列表练习——CSS
- 解决图片不显示的问题
- Android编程实战——仿微信群聊-2——对象的网络传输
- Java容器之HashMap源码解析(视频讲解)
热门文章
- atoi、stoi、strtoi区别
- matlab绘画固定方程的曲线图
- CentOs基础操作指令(压缩、定时任务调度)
- Goalng笔记——排序和查找
- 相机标定基础【1】- 在Visual Station 2019 上搭建OpenCV应用 (1)- 安装配置VS
- java爬去赶集,爬取赶集网二手物品下所有物品的信息
- 为什么使用HashMap需要重写hashcode和equals方法_不同时重写equals和hashCode又会怎样?听听过来人的经验...
- python classmethod static_python @classmethod 和 @staticmethod
- centos php mcrypt_Centos 建议使用epel源
- ajax json 封装,Ajax--json(Ajax调用返回json封装代码、格式及注意事项)