梵高眼里的《星空》究竟有多美,利用机器学习和图像处理来扩展整幅画的全局景象~

原文地址

编者按:原文作者Piotr Wendykier,专注于 mathematica 算法编程及研发。(根据本地阅读习惯略有删改,英文好的同学建议阅读原文)。

梵高有一幅油画叫 Starry Night,也就是《星空》。我常常想,梵高在精神病院完成这幅名作时,他眼里看到(或脑海中)浩瀚星空的全局究竟该有多美,或者究竟该有多悲伤。可惜我们永远都只能看到画框中那一小方天地。

最近,剑桥大学工程系办了个年度摄影大赛“工程的艺术:来自科技前沿的图像”。大赛的二等奖最后被来自机器学习小组的 Yarin Gal 博士生获得,而他做的事情很有意思:利用机器学习算法扩展梵高的名画 Starry Night,如下图。

Gal 还建了一个专门的网站,用来展示这种 Extrapolated Art,即利用机器学习+图像处理来扩展整幅画的全局景象,因为画往往只提供了一个局部影像。

数字修补技术(digital inpainting)第一次被提出是在 2000 年SIGGRAPH大会上,一篇名为图像修补(Image Inpainting)的文章里。这一技术主要是为了修补那些年代久远的名古画,但在其他图像领域也有广泛的应用。还有一种图像修补算法叫 PatchMatch,是专门用来创作机器艺术(machine art)的。

接下来我们不妨来看一个实现这种名作扩展的编程例子,这个例子将使用Wolfram语言。在 Wolfram 语言里,inpaint 是一个内建函数,需要修补的图像区域可以被三种对象赋值:图像、图形对象、矩阵。

inpaint 里有 5 种不同的方法(method)选项,用来实现不同的图像处理算法:“Diffusion,” “TotalVariation,” “FastMarching,” “NavierStokes,” 以及 “TextureSynthesis”。其中最后一种方法 TextureSynthesis 是系统默认的,TextureSynthesis 跟其他算法不同的点在于,它不会单独操控每个色彩通道,并且它不会增加新的像素值。也就是说,每一个修补像素值都是从输入图像的某些部分里直接获得的,在下面这张图里,你可以很清楚的看到,利用 TextureSynthesis 可以让图像中的比较大的物体直接“消失”。

TextureSynthesis 这种方法是基于一种改良后的最优解算法,该算法在 P. Harrison 的博士论文Image Texture Tools里曾被介绍过。TextureSynthesis 有两个参数,第一个参数是用来做比较的临近像素的数量(NeighborCount),第二个参数是用来寻找最优图像纹理的采样率大小(MaxSamples)。

回到梵高的画来。首先我们导入梵高的 Starry Night,去掉边框。

然后,我们需要先用白色的像素来扩充图像,扩展出后面可以用来修补的空白区域。

然后就可以使用 TextureSynthesis 方法生成最优的临近图像纹理,修补并扩展图像的全景。

效果还不错吧。通过调整 NeighborCount 和 MaxSamples 的值,还可以有不同的扩展效果。有安装 Wolfram 语言开发软件的同学可以点这里下载工程文件,没有安装软件的同学还可以在Wolfram Programming Cloud里试试。

时间: 2024-11-05 04:11:13

梵高眼里的《星空》究竟有多美,利用机器学习和图像处理来扩展整幅画的全局景象~的相关文章

《梵高》-孤独的天才

本文地址:http://www.cnblogs.com/aiweixiao/p/7604848.html 原文地址(微信公众号): 扫描关注微信公众号 一.引子 当我画一个太阳,我希望人们感觉它在以惊人的速度旋转,正在发出骇人的光热巨浪.当我画一片麦田,我希望人们感觉到麦子正朝着它们最后的成熟和绽放努力.当我画一棵苹果树,我希望人们能感觉到苹果里面的果汁正把苹果皮撑开,果核中的种子正在为结出果实奋进.当我画一个男人,我就要画出他滔滔的一生.如果生活中不再有某种无限的.深刻的.真实的东西,我将不再

梵高:每个人心中都有一团火,而路过的人只看到了烟

文森特 ? 威廉 ? 梵 ? 高(Vincent Willem van Gogh,1853-1890),荷兰后印象派画家.出生于牧师家庭,是后印象主义的先驱,并深深地影响了二十世纪艺术,尤其是野兽派与表现主义. 梵高早期以灰暗色系进行创作,直到他在巴黎遇见了印象派与新印象派,融入了他们的鲜艳色彩与画风,从此创造了他独特的个人画风.他最为著名的作品,多半是他在生前最后两年创作的.期间,梵高深陷精神疾病中.最终,于37岁那年自杀. 他生前籍籍无名,死后却成为传奇.在他去世之后,其中的作品<星夜>.

【原创】梵高油画用深度卷积神经网络迭代十万次是什么效果? A neural style of convolutional neural networks

作为一个脱离了低级趣味的码农,春节假期闲来无事,决定做一些有意思的事情打发时间,碰巧看到这篇论文: A neural style of convolutional neural networks,译作卷积神经网络风格迁移. 这不是“暮光女”克里斯丁的研究方向吗?!连好莱坞女星都开始搞人工智能发paper,真是热的可见一斑! 这篇文章中讲述了如何用深层卷积神经网络来将一张普通的照片转化成一幅艺术风格的画作(比如梵高的星夜),可以看做是DL(deep learning)在NPR(非真实渲染non p

【每一个人都是梵高】A Neural Algorithm of Artistic Style

文章地址:A Neural Algorithm of Artistic Style 代码:https://github.com/jcjohnson/neural-style 这篇文章我认为可以起个浪漫的名字--每一个人都是梵高. 主要做的一件事情非常有意思.就是例如以下图的等式,通过将a图的style和p图的content进行融合.得到第三幅图x.style+content=styled content 怎么做呢?首先他定义了两个loss.分别表示终于生成的图x和style图a的样式上的loss

没GPU也能玩梵高作画:Ubuntu tensorflow CPU版

            没GPU也能玩梵高作画:Ubuntu tensorflow CPU版 作者:七月在线开发/市场团队骁哲.李伟.July时间:二零一六年九月二十七日 一.前言 9月22号,我们开发/市场团队的两同事利用DL学梵高作画,安装cuda 8.0趟遍无数坑,很多朋友求避坑.因此,3天后的9月25日,便把教程<教你从头到尾利用DL学梵高作画:GTX 1070 cuda 8.0 tensorflow gpu版>公布出去.但令人尴尬的是,不少同学没有GTX 1070.甚至没有一块像样的

【每个人都是梵高】A Neural Algorithm of Artistic Style

文章地址:A Neural Algorithm of Artistic Style代码:https://github.com/jcjohnson/neural-style 这篇文章我觉得可以起个浪漫的名字--每个人都是梵高.主要做的一件事情很有意思,就是如下图的等式,通过将a图的style和p图的content进行融合,得到第三幅图x.style+content=styled content怎么做呢?首先他定义了两个loss,分别表示最终生成的图x和style图a的样式上的loss,以及x和co

梵高数字时钟电脑屏保「windows电脑屏幕保护」

软件名称:冷高轮时间梵高数字时钟屏保? 软件大小:585KB软件语言:简体中文软件类别:桌面工具软件授权:免费软件适用平台:WinXP, Win7, Win8, Win10, WinAll屏保可在官网下载:lenggaolun.com(com前面不是句号是点哦)? 安卓版和iOS版APP可自行在各大应用市场搜索全称“冷高轮时间”进行下载. 原文地址:https://www.cnblogs.com/lenggaolun/p/11963586.html

梵高数字时钟壁纸下载-电脑时钟壁纸

壁纸名称:冷高轮时间梵高数字时钟 壁纸样式:梵高数字动态时钟,王思聪吃热狗数字动态时钟,手势数字动态时钟,大写数字动态时钟,中文汉字动态时钟,麻将数字动态时钟,扑克数字动态时钟 电脑壁纸下载可在wallpaper engine或者upupoo上搜索全称“冷高轮时间‘ 电脑屏保可在冷高轮时间官网下载:lenggaolun.com(com前面是点不是句号) 手机APP可在android和ios各大应用市场搜索全称'冷高轮时间“下载. 原文地址:https://www.cnblogs.com/leng

名画的背后都藏着些什么?

Mathematica 10中新增了一种图像修复算法,很有意思,可以用来修补图像中不想要的部分.算法的输入项包括源图像和模板两个参数,模板中白色表示要修复的地方.算法效果大概是这个样子滴: 这个算法的神奇之处就在于它可以根据源图像中的像素来推断出要修补的地方是什么颜色或纹理,这回可以轻松去水印了~~ 算法的作者真是个人才,竟然还发明了这个算法的其它玩法,那就是!!!可以用它推断出那些世界名画周围可能的样子 拿梵高的<星空>来搞一下,把如下两张图作为为输入参数 通过算法推断出原图周围可能是什么样