本文来自作者 言有三 在 GitChat 上分享 「深度学习在摄影技术中的应用与发展」,「阅读原文」查看交流实录。
「文末高能」
编辑 | 哈比
我是一个 AI 行业的从业者,也是一个摄影爱好者。
之前我在《言有三工作室》公众号分享过一篇文章,《干掉柯洁的下一步,阿尔法狗创始人又要毁掉这个行业(深度学习)》,感兴趣可以去看看。
其中主要说的就是,DeepMind 的研究,已经让算法掌握了自动学习到构图,滤镜的能力。在这样的背景下,我决定认真从头开始分享分享计算机算法,尤其是最新的深度学习技术在其中发挥的作用。
本次的分享面向的对象是普通大众,本着稍求甚解的原则,我接下来会在尽量照顾受众的同时,也说说技术。
摄影,说的粗浅一点,就是拍照。摄影本身并不是一个技术很高的活,稍加训练,就能成为合格的摄影师。
当然,摄影本身也可以是一门艺术,好的作品往往会带入情绪等等。这是一个充满抽象与主观因素的领域。但我们不能因此陷在这个点上,不然下面就没法说了。
好的照片,让大众心情愉悦,欣赏点赞的照片,是有共性的,而计算机玩摄影,就是要解决这个问题,怎么学习到摄影师和大众的审美。
所以下面正式抛出关键词:photo aesthetics。
所谓 photo aesthetics,即计算机美学,这是计算机视觉的一个研究方向。
它研究通过计算机来学会人的审美,狭义而简单的来说,就是判断一张图片是高质量的,还是低质量的,也就是好与坏,数学上这是一个 2 分类问题。
很多早期的研究,以及相应的数据库 CUHK【1】,CUHKPQ【2】的标注,都是为这个而服务。
从下图相关论文的数量趋势来看,现在是一个很活跃的领域。从研究的现状来看,这也是一个远远没有饱和的区域。
上面说了,最简单也是最直观最早期的研究,就是分辨一张图是好,还是不好,是个 2 分类问题。
但是 2 分类问题有它的两个重大的局限性:
美学不是一个很严谨的数学问题,而是有很强的主观性,有很多的图,介于好图与非好图之间,难以 2 分类,分界面实在不清晰。这导致问题本身定义不明确,数据的标注也很困难。
如果只是一直做 2 分类问题研究,那很多的应用无法实现,直接点的如图像检索排名,间接点的如构图推荐,自适应滤镜。
演变到后来,先是升级到了回归问题,不仅分好坏,还要打个等级分。
什么意思呢?每一个样本的标注不再是 2 分类,不仅仅是包含好图与坏图的标注,而是有了一个量化的分数,比如 AVA 数据集【3】分数的标注从 1 到 10。
研究就变成了如何回归出其标注的分数,最后给出每张图片的平均分数。从应用层面上讲,主要包括了图像检索,自动构图,智能滤镜,甚至是直接创作。
以上,就是通常意义下的 photo aesthetics 包含的内容,核心思想就是学习分辨与创作好图。
在说具体方法和应用之前,还是先说说我们的研究思路。从技术的突破来说,以深度学习为界限,可以从传统方法和深度学习方法来说。
不过对于大多数问题和应用这两者最大的区别就是:前者是手动设计特征,后者是自动学习特征。
所以,这里不从传统方法和深度学习方法的维度来说,而是从研究问题的演变发展上说。
1 说了,最开始的时候,美学问题仅仅是被当做一个 2 分类问题。
早期的数据集 CUHK【1】,CUHKPQ【2】,都只包含 2 分类的标注,也就是数据集中的图片被人为分为了质量高与低的图。
如下图 (a) 是质量高的,(b) 是质量低的,没有疑问。
【2】可以认为是在【1】的基础上问题的延续,它弥补了【1】中的巨大不足,就是不再对所有图片一视同仁,而是不同类型的照片区分对待。
上图是一个示例,在研究过程中对不同的类别,开始采用不同的特征,考虑了图像的多样性 (diversity)。这是必须的,因为摄影中对待不同类型的照片,就是必须用不同的表现手法。
比如人像摄影中,尤其是近照,需要控制好光照,使用大光圈。而风景照中最需要的是好的构图与丰富的色彩表达。
2 分类问题研究方法的进步,就是不断利用新的深度学习模型去提取特征,从 alexnet【4】,到 googlenet【5】到 resnet【6】等的尝试,以后专题介绍。
由于 2 分类的局限性,自然而然的就演变成了回归问题。这个时候也就出现了新的供我们使用的数据库,AVA【3】。
这是一个很大的数据库,包括 250000 张照片。每一张照片,都有一个评分从 1~10 分。同时还有语义级别和照片风格的标注,以后我们详说。
比较新的研究有【7】。
相比于 2 分类问题,其实回归问题也没有太多新的东西,从数学上来说,无非就是输出维度变了,loss function 变了。
不过在学习具体分数值的过程中,有些研究更进一步,预测了分数的分布。也就是不仅仅预测了图片的质量分数,还预测了它的分数概率图,比如【8】。
这个的出发点,是从人的主观上进行考虑。对于人来说,容易判断的是一张图片的相对好坏,而不是绝对分数。同时又由于更可靠稳定的有打分标注的数据集的获取成本之高,催生了一些研究。
就是在学习的过程中,没有一个绝对的分数来指导你。【8】,【9】都是相关研究。
从训练上来看,这一般输入的训练是多个图像,可能是两个图像,也可能是多个图像,一起丢进网络去学习哪一个更好。
下面是一个结果展示,右边的比左边的质量高。相对美学,在图像检索和图像增强中是有很大的作用的。
最简单粗暴的方法,就是不管是什么图像,都直接提特征,分类也好,回归也好。但是,显然这是不可能很好的解决问题的。
摄影美学是讲究因材施教的,不同类型的图像,审美标准完全不同。
那么,直接对所有的图片,采用同样的方法学习,是不通,所以就有方法,或利用图像 style,semantic 信息进行弱监督,或直接将 style 和 score,semantic 一起学【10】。
至于怎么做,按住不表,下回再论。
在深度学习还没有遍地开发,在神经网络还处于低谷时期,有没有人在玩计算机摄影?当然有。
他们是怎么玩的?传统方法必然要手动设计大量特征来研究计算机美学这个问题。那主要都有什么特征呢?
主要分为底层的图像特征和与摄影有关的特征:
底层的图像特征,包括 Subject-Background Contrast,Color Distribution Feature,Hue harmanic,Contrast 和 brightness,clearness and the colorfulness,由于篇幅限制,这里就不每一都讲述具体细节,先,以及通用的图像特征 SIFI,Hog,Bag- of-Visual-Words (BOV) 等。
与摄影有关的特征包括,the rule of thirds,the Low Depth of Field Indicators,exposure 等。
每一个,我都举一个例子。
这是从色调的特性上来分析一张图是不是好图。一张好的静物摄影,色调一般会比较单一,不会五颜六色的各种颜色都杂糅在一起。
如下面的图【1】,单调干净的色调。
好的色调和配色,才会有好的视觉感受,也会呈现出和谐。
文【2】是文【1】的后续研究,补充了摄影中的另 2 个原理,即 90 color scheme 和 complementary color scheme。
这个是设计学里的经典配色方案,从下面的色调轮中看,具有视觉美感的主色调搭配方案,常常是区间相隔 180 度,或者 90 度左右。
具体计算这个 hue 的复杂度,就是要把图像转换到 HSV 空间,得到 H 通道。然后将其等分成多个 bins,设定阈值,来计算色调的种类。
玩摄影的人,一定对三分构图法非常熟悉。三分构图法则,是非常安全而普遍的摄影准则。同样,在我的 摄影公众号《言有三工作室》 中也仔细谈过这个问题,感兴趣可以去读。
文【3】通过将图像分为 9 宫格,然后计算每一个宫格的色调,来评判图像主体是否处于三分的位置。
更具体以后公众号再详细说。
从 2000 左右算起,传统的方法也研究了 10 年左右,但是仅仅只限于对照片进行分类,打打分【1-3】,离实际的应用,还是有很大的差距。
深度学习技术的发展,从各方面都提升了这个领域的发展,下面从有监督学习和无监督学习两个方面来说说。
上面第 3 章其实也提过了,由于目前的美学数据集都比较小,所以研究离不开迁移学习的思路。
也就是从其他任务训练好的模型中提取特征,然后将该特征,在现有的美学数据集上,换上美学评估的新 loss 或者依旧采用经典分类和回归问题中的 loss 函数,来 finetune 网络。
那么网络的时候,自然而然地遵循着从 alexnet【4】,到 googlenet【5】到 resnet【6】的路线。
文章【4】,是比较早期的应用,采用了一个双通道的网络,是不是很 alexnet?
分别输入 global view 和 local view。local view 是多个 random crop,可以学习到多个局部响应。
从上面的网络结构和输入你就可以想到,这基本上也就是拿来做做分类了。实际上也是如此,上文就是拿来做二分类,以及图像风格的分类。
用了更复杂的 googlenet 的【5】,也一样在研究二分类问题。更进一步的是,他们通过观察 featuremap 的响应特点,来试图总结高质量图和低质量图的规律,并认为前者会有更多的激活。
在后来问题从分类问题,转换为回归问题之后,文【6】就利用上了最新的 resnet,一股脑研究了分数的分布特性。
网络结构本身,没什么变化。就是几个卷积 + 全连接层,但是因为为了适应不同的输入尺度,消除由于 resize,crop 等造成的精度损失,采用了自适应的 spp layer(adaptive spatial pyramid pooling ),同时添加了语义分类信息作为弱监督,也提出了 huber loss,与通用的回归问题 loss,euclidnean loss 做了比较。
取得了当下最好的结果,AVA 上分类超过了 80%,这也是当下 state-of-out 的水平了。
总之,有监督方法,集中在利用已有的经典网络,采用不失真的多尺度输入,添加语义等信息作为监督,设计新的 loss 上努力。可以说,比较成熟,翻不起大江大浪了。
无监督学习的典型代表,就是 GAN。Lecun 说的当下算起十年间最值得研究的领域。GAN 从超分辨率,到风格化,其实早就杀进了摄影相关的领域。
目前,比较活跃的研究,集中在智能调整,或者说智能滤镜这一块。因为美学是个比较抽象的问题,这一块是依赖于标注的有监督学习的软肋。
汤晓鸥他们最新的研究,EnhanceGAN,也成功地学习到了颜色,对比度等调整方法,并能够同时完成图像增强与调整构图的目的。
但最值得兴奋的是,它不需要成对的标注图像了(这是通过 gan,和一批有着 2 分类标签的高质量图和低质量图来实现的)。
大的可靠的数据集太难得了,尤其是成对的后期处理图和原图,获取成本非常之高,所以利用 GAN 来学习到最优的后期,是很有价值的。cycle-gan【19】就更像是一个有点调皮的应用,
从下面它论文首页的图,我们就能够看出来。它可以实现风格化的转化,冬天和夏天风格的转化,甚至马和斑马的转换。你完全可以大开脑洞,想想还可以有什么应用。
最重要的是,它依旧不需要成对的图像来应用,也就是不需要提供一对一对的原图和处理后的后期图。
我相信,这就是未来,毕竟还有增强学习呢【21】。更多地细节,以后我们慢慢在讨论。
总的来说,随着深度学习技术的发展,很多应用可以落地了,主要包含以下几个大方向。
我们在搜索引擎中搜索图片时,自然是希望能够尽量返回质量高的图,恨不得是高清原图。但是目前的搜索引擎并不能做到。
因为,目前的都是基于 tag 做的检索,而不是图像本身的质量。
下面就在百度中搜了一个学校美照,出来的效果不怎么样。学校没得到体现,人像很多也是普普通通的大头照,从摄影师的角度来看,真的很一般。
当然,你也可以去搜索更多的关键词,反正我在使用过程中常常不满意。Google 图片质量比百度高,但是也还有很大的发展空间。
自动裁剪这个,自打用上 iphone 起,它的照片管理工具就自带这个功能了,但是其他好用的 app,我还没有发现。这是个什么问题,专业点的说法,就是摄影构图。
它做的就是去除不必要的元素,合理安排画面中的元素分布。每一个摄影师拍完照做后期时,第一步肯定就是做图像裁剪。
就算是最后没有裁剪,第一步也会看是不是需要裁剪!
为什么?
因为你拍照的时候,很多时候来不及细细的去构图,只有在后期认真想的时候,才会去精细地调整。
据我体验,目前 iphone 照片管理软件的自动裁剪功能,主要还是对人像管用,下面给大家看个例子就知道了。干脆把两张前后对比图拿过来大家瞧瞧,想想为什么要这么裁剪?
自动裁剪前与自动裁剪后:
可以看出,去除了更多的干扰,使画面更加平衡与和谐。
关于更多的构图摄影知识,请关注我另一个摄影公众号《言有三工作室》,里面有大量的教程可以学习体验。
至于构图的一些研究,可以参考【11】【12】,下回说细节。
现在就没有一个 app 能够自动推荐滤镜,后期很多的时候是很繁琐的。对于菜鸟来说,只能去各种尝试已有的滤镜。
对于高手来说,需要很多时间来积累经验,也需要时间去选择更好的方案。费时费力,还不一定能达到最好的效果,所以,我们其实都很期待出现一个 app,能够自动帮我们选择一个好的风格滤镜。
可惜,现在比较优秀的后期 app,如 snapseed,泼辣修图,也仅仅是能够对图像的对比度,亮度等自适应地做些调整。
关于现有的发展,更详细的介绍,在我的摄影公众号《言有三工作室》的文章 《Apple 和 Google 他们为小白们的修图大业做了什么?》 中有详细的说明,大家有兴趣可以自行前往阅读。
现在比较好的研究,也有一些。像名字取得比较吓人的【13】,号称 end-to-end 可以把手机照片提升至单反画质,不过实际效果看来,主要是减少了阴影,总体上学习到了使图像变得更加通透。
缺点是对比度经常放的太高,同时因为采用了 GAN,放大了噪声。
这种事当然不能少了汤晓鸥他们团队,EnhanceGAN 算是很新的应用了【14】,也成功地学习到了颜色,对比度等调整方法,不是 end-to-end 的方法,而是 image-crop 与 enhancement 交叉训练。
最大的优点是不需要成对的标注图像了(这是通过 gan,和一批有着 2 分类标签的高质量图和低质量图来实现的)。
早期的方法【15】是需要成对的标注图像,成本太高,所以数据集不可能很大。以后不需要成对图像做训练的方法,必将成为主流。
这个,其实已经踏进艺术的创作,而不仅仅是摄影的范畴了。行内人士可能还记得《image style transfer using convolutional neural networks》【16】这篇文章,后来催生了 prisma,当时那个很火的滤镜。
整个的流程就如同下面这样,一张原图,一个风格,最后做融合。
不过,没过多久,就退烧了。毕竟,那样玩图太 “高级”,不是大众刚需,也就没见人玩了。但是,并不是说他就不重要的了。
像 pixtopix【17】这样的文章出来之后,风格化仍然有很大的市场。比如黑白图像上色,比如图像风格转化(夏天冬天风格转化)【18】,甚至做得极端点,cycle-gan【19】这样的,不需要成对地标注,把斑马和马相互转换的有意思的研究。
未来,还大有可为!
总的来说,包含以下几个大方向;
怎么利用数学的方法去建模内部的美学规则。
怎样自适应调整不同的图片之间的美学差异。
如何准确判断一张图采用的技术。
怎样获取一个标注详细的大数据库。
网络结构设计相关问题,如多尺度多 patch。
图片风格,语义信息的应用。
怎么自动获取数据的标注。
最新技术在其中的应用,GAN。
这一次,只是一个入门介绍,后续,敬请期待!
作者简介:言有三,原 360 AI 研究院工程师,一个摄影爱好者。
想了解更多的细节,就来我计算机视觉公众号《视若观火》,以及摄影公众号《言有三工作室》吧,同时头条号《言有三工作室》也会有同步的内容。当然,摄影平台 500px 和图虫,更是天天更新噢。
Y. Ke, X. Tang, and F. Jing. The design of high-level features for photo quality assessment. In CVPR, 2006. 1, 3, 6
W. Luo, X. Wang, and X. Tang. Content-based photo quality assessment. In ICCV, 2011. 1, 3, 6, 7
Perronnin F, Marchesotti L, Murray N. AVA: A large-scale database for aesthetic visual analysis[C]// IEEE Conference on Computer Vision and Pattern Recognition. IEEE Computer Society, 2012:2408-2415.
Lu X, Lin Z, Jin H, et al. RAPID: Rating Pictorial Aesthetics using Deep Learning[J]. IEEE Transactions on Multimedia, 2015, 17(11):2021-2034.
Jin X, Wu L, He Z, et al. Efficient Deep Aesthetic Image Classification using Connected Local and Global Features[J]. 2017:1-6.
Murray N, Gordo A. A deep architecture for unified aesthetic prediction[J]. 2017.
Malu G, Bapi R S, Indurkhya B. Learning Photography Aesthetics with Deep CNNs[J]. 2017.
PKong S, Shen X, Lin Z, et al. Photo Aesthetics Ranking Network with Attributes and Content Adaptation[J]. 2016:662-679.
Chandakkar P S, Gattupalli V, Li B. A Computational Approach to Relative Aesthetics[J]. 2017.
Kao Y, He R, Huang K. Deep Aesthetic Quality Assessment with Semantic Information[J]. IEEE Transactions on Image Processing A Publication of the IEEE Signal Processing Society, 2017, 26(3):1482.
Chen Y L, Huang T W, Chang K H, et al. Quantitative Analysis of Automatic Image Cropping Algorithms: A Dataset and Comparative Study[J]. 2017:226-234.
Wang W, Shen J. Deep Cropping via Attention Box Prediction and Aesthetics Assessment[J]. 2017.
Ignatov A, Kobyshev N, Timofte R, et al. DSLR-Quality Photos on Mobile Devices with Deep Convolutional Networks[J]. 2017.
Deng Y, Chen C L, Tang X. Aesthetic-Driven Image Enhancement by Adversarial Learning[J]. 2017.
Yan Z, Zhang H, Paris S, et al. Automatic Photo Adjustment Using Deep Neural Networks[J]. Acm Transactions on Graphics, 2016, 35(2):11.
Gatys L A, Ecker A S, Bethge M. Image Style Transfer Using Convolutional Neural Networks[C]// Computer Vision and Pattern Recognition. IEEE, 2016:2414-2423.
Isola P, Zhu J Y, Zhou T, et al. Image-to-Image Translation with Conditional Adversarial Networks[J]. 2016.
Luan F, Paris S, Shechtman E, et al. Deep Photo Style Transfer[J]. 2017.
Zhu J Y, Park T, Isola P, et al. Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks[J]. 2017.
Baraldi L, Grana C, Cucchiara R. Scene-driven Retrieval in Edited Videos using Aesthetic and Semantic Deep Features[J]. 2016:23-29.
Li D, Wu H, Zhang J, et al. A2-RL: Aesthetics Aware Reinforcement Learning for Automatic Image Cropping[J]. 2017.
近期热文
《这样做,你的面试成功率将达到 90%》
《如何用 TensorFlow 让一切看起来更美?》
《Web 安全:前端攻击 XSS 深入解析》
《300万粉丝,全国最大的线上抽奖平台,深度解析》
《高可用、高性能? 接口设计的 16 个原则》
免费福利
「阅读原文」看交流实录,你想知道的都在这里