10秒搞定建筑日夜景转换,还自带中秋月光

2019 年 9 月 13 日 机器之心

机器之心专栏

作者:未来建筑实验室


建筑设计会经常遇到出夜景效果图的时候,日夜景的效果转换,临摹勾勒、渲染出图、后期加工...工序繁多。除了对制作工具的熟练,更关键的是需依靠经验判断建筑明暗、光影和颜色等在白天和夜晚的不同状态。


近日,AI 建筑研究团队未来建筑实验室运用之前一项深度学习成果,做到 10 秒内完成日夜景转换,让建筑菜鸟也能快速拥有合格效果图。


三步实现日夜景秒速转换


by 未来建筑实验室


第一步,选择一张日景图 S (source);


第二步,再选择一张目标的夜景图 R (reference);


第三步,基于深度学习的色彩算法将在两张图片上对具有相似语义结构(sementic structures)的部分进行颜色迁移,秒速生成一张新的图片 T(target)。它有着 S 的结构和内容,同时具有 R 的颜色风格(即R+S=T)。
中秋版Demo演示,by未来建筑实验室


正值月圆时,研究团队特别推出中秋版 Demo。该版本在完成颜色迁移的基础上,更通过算法在夜景图中添上了一轮明月。等不及看完全文的朋(lǎn)友(rén),可以扫描以下二维码抢先体验:




建筑颜色迁移黑科技简介:
Neural Color Transfer


Neural Color Transfer (下称 NCT)是基于语义信息的对应(correspondence)进行匹配和颜色的迁移,NCT 使用了卷积神经网络来对图片提取特征以便于后续的匹配。在匹配完成后,NCT 使用了一个线性模型,在满足局部和整体一致性的情况下进行优化。


by 未来建筑实验室
在匹配完成后,为了颜色迁移在局部变化和整体上的一致性,NCT 使用了一个线性模型在同时满足局部和整体的约束下进行优化。


输入的图片 S 和 R 共享很多语义上相关的(semantically-related)内容,同时在展示上又有很大的不同。


S 和 R 中都包含建筑,但分别为日景和夜景。要在两张存在很大色差的图片上建立语义的对应是一个非常棘手的问题,尤其是传统的特征提取算法是无法有效的提取出图片的语义信息。


因此使用预训练好的深度学习模型来提取特征成为解决这个问题的有效途径, 这也符合迁移学习(transfer learning)的思想:


Transfer learning is a research problem in machine learning that focuses on storing knowledge gained while solving one problem and applying it to a different but related problem.” 


(West, Jeremy; Ventura, Dan; Warnick, Sean (2007). "Spring Research Presentation: A Theoretical Foundation for Inductive Transfer")。


如何做到日夜景秒速转换?

NCT采用经典图片分类的多层卷积神经网络(CNN)模型VGG19。


VGG19 是在 ImageNet 上,1000 个分类的共计约 120 万张图片上预训练的(http://image-net.org/challenges/LSVRC/2014/browse-synsets)。这个模型有非常强的泛用性,被普遍应用于图片特征提取。


随着模型的层数由浅到深(下图从左到右),VGG19 可以抽取从图片的低级细节(对颜色敏感)到高级的语义信息(对颜色不敏感)。


图片分类的多层卷积神经网络(CNN)模型 VGG19 结构图:(https://www.mathworks.com/help/deeplearning/ref/vgg19.html)

对于 S 和 R 两张图片,分别提取 VGG19 在 relu1_1, relu2_1, relu3_1, relu4_1 和 relu5_1 五个层的输出作为这两张图片在 5 个层级(L = 1, 2, 3, 4, 5)的特征图。



当处于某个层级L时,可通过 VGG19 提取出图片S和R对应的特征图 FL和 FLR,对 S 和 R 建立映射。又通过利用概率进行快速匹配的 PatchMatch 算法(https://gfx.cs.princeton.edu/pubs/Barnes_2009_PAR/) ,分别建立了 FL到 FL的映射 ϕLS和 FL到 FL的映射 ϕLRS


PatchMatch 算法:
(http://vis.berkeley.edu/courses/cs294-69-fa11/wiki/images/1/18/05-PatchMatch.pdf)


但当 L>1 时,特征图的尺寸小于原图,将导致映射关系发生变化。重构的图片在形状、同语义像素等方面添加额外的约束后通过线性回归,可进行局部颜色迁移,以解决丢失部分原有一致性的问题。如尺寸还小于原图,将采用快速导向滤波 Fast Guided Filter(https://arxiv.org/pdf/1505.00996.pdf) 尽可能实现对细节的保留。


by 未来建筑实验室


如何做到更细节化的表现效果?


前面也提到,VGG19 是一个泛用模型, 在某些情况下难以提取有效的语义信息,对于细部还原还有待提升。于是,针对 NCT 我们进行了两方面的改进:1. 特征标准化;2. 增加特征维度。


1. 特征归一化(normalization)


图片 S 对应的特征图FLS形状为(高, 宽, 通道),某种意义上,FL的每个通道代表图片 S 的某一个特征。经过实际对比后发现,在每一个通道上像素值的变化范围出现巨大差异,例如有的通道像素点取值范围在 [-500, +100],有的只在 [-1, +1] 之间。


这可能会导致的情况:特征图 FL的某一通道提取出一种很重要的语义信息,但由于其变化范围过小,从而在 PatchMatch 过程中对结果的影响很小,导致并未在原图 S 和 R 上建立有效映射。


标准正态分布(Standard Normal Distribution)就是解决这个问题的方法之一,对于特征图的每一个通道进行如下操作:
z = (x - μ) / σ


x 为该通道每个像素的值
μ 是该通道所有像素的平均值
σ 为该通道所有像素值的标准差


2. 增加特征维度


为了更好地建立 S 和 R 之间的映射,增加额外特征也是一种有效方法。聚类和语义分割都是补充图片特征的有效方法。


  • 聚类


by未来建筑实验室


S 为建筑日景图,R 为建筑夜景图,层级 L 为 1,聚类产生的簇的数量(number of clusters)为 3。


用 FCL和 FCL代替原来的 FL和 FLR,且仅在 L = 1 时做一次迁移的效果如下:
vs


by未来建筑实验室



通过上面两组图的对比可以看到在加入聚类特征后,仅在最低的层级做一次颜色迁移的效果要比原来从高到低在 5 个层级上做迁移的效果还要好。


  • 语义分割(semantic segmentation)


语义分割模型的作用方式和聚类相似,但它使用了语义分割模型的输出替代了聚类图 CL和 CLR。我们使用的语义分割模型为基于 MIT 的 ADE20K 数据集训练的 PSPNet 模型(https://github.com/Vladkryvoruchko/PSPNet-Keras-tensorflow)。


这种方法的优点在于可以采用训练好的、适用于特定应用场景的语义分割模型,给颜色迁移提供方向性的指导。


越是针对某个垂直领域的应用场景就越需要一个专门针对该场景的语义分割模型。因为不管是在 ImageNet 数据集上训练的 VGG19 还是在 ADE20K 数据集上训练的 PSPNet 相对都是比较泛用的模型,很难满足专业需求。


针对复杂办公场景还需进行更细致的采集和标注,积累到一定的数据量后再选择合适的语义分割模型进行训练,将其作为特征提取模型加入(或者取代) VGG19。


中秋版Demo限时开放,快来体验!



目前,未来建筑实验室初步完成对建筑日夜景转换的研发,还将陆续研发和开放更多的应用场景。



AI日夜景转换-中秋版Demo
限时开放,快来扫码体验,
为建筑披上月色~

关于AI日夜景转换的完整研究文章,可通过 点击阅读原文查看



文为机器之心专栏,转载请联系原作者获得授权
✄------------------------------------------------
加入机器之心(全职记者 / 实习生):hr@jiqizhixin.com
投稿或寻求报道:content@jiqizhixin.com
广告 & 商务合作:bd@jiqizhixin.com
登录查看更多
1

相关内容

【KDD2020】自适应多通道图卷积神经网络
专知会员服务
119+阅读 · 2020年7月9日
【实用书】学习用Python编写代码进行数据分析,103页pdf
专知会员服务
190+阅读 · 2020年6月29日
 【SIGGRAPH 2020】人像阴影处理,Portrait Shadow Manipulation
专知会员服务
28+阅读 · 2020年5月19日
【实用书】Python爬虫Web抓取数据,第二版,306页pdf
专知会员服务
115+阅读 · 2020年5月10日
3D目标检测进展综述
专知会员服务
186+阅读 · 2020年4月24日
一网打尽!100+深度学习模型TensorFlow与Pytorch代码实现集合
《动手学深度学习》(Dive into Deep Learning)PyTorch实现
专知会员服务
115+阅读 · 2019年12月31日
【ICIP2019教程-NVIDIA】图像到图像转换,附7份PPT下载
专知会员服务
53+阅读 · 2019年11月20日
学习一个宫崎骏画风的图像风格转换GAN
AI科技评论
18+阅读 · 2020年3月13日
PyTorch模型训练特征图可视化(TensorboardX)
极市平台
33+阅读 · 2019年6月29日
【泡泡一分钟】利用四叉树加速的单目实时稠密建图
泡泡机器人SLAM
28+阅读 · 2019年4月26日
不用重新训练,直接将现有模型转换为 MobileNet
极市平台
6+阅读 · 2019年3月4日
毫不自夸,甚至有点骄傲——视频检测与拼接
无人机
9+阅读 · 2018年12月25日
原来CNN是这样提取图像特征的。。。
计算机视觉life
8+阅读 · 2018年11月23日
这些论文绘图软件,你一个都不会用
算法与数学之美
8+阅读 · 2018年8月17日
如何上手深度学习中的图像领域?有这个资源库就够了
数据挖掘入门与实战
5+阅读 · 2018年4月13日
风格迁移原理及tensorflow实现-附代码
机器学习研究会
19+阅读 · 2018年3月25日
python pandas 数据处理
Python技术博文
3+阅读 · 2017年8月30日
Question Generation by Transformers
Arxiv
5+阅读 · 2019年9月14日
Foreground-aware Image Inpainting
Arxiv
4+阅读 · 2019年1月17日
Arxiv
8+阅读 · 2018年5月1日
Arxiv
13+阅读 · 2018年4月6日
VIP会员
相关VIP内容
【KDD2020】自适应多通道图卷积神经网络
专知会员服务
119+阅读 · 2020年7月9日
【实用书】学习用Python编写代码进行数据分析,103页pdf
专知会员服务
190+阅读 · 2020年6月29日
 【SIGGRAPH 2020】人像阴影处理,Portrait Shadow Manipulation
专知会员服务
28+阅读 · 2020年5月19日
【实用书】Python爬虫Web抓取数据,第二版,306页pdf
专知会员服务
115+阅读 · 2020年5月10日
3D目标检测进展综述
专知会员服务
186+阅读 · 2020年4月24日
一网打尽!100+深度学习模型TensorFlow与Pytorch代码实现集合
《动手学深度学习》(Dive into Deep Learning)PyTorch实现
专知会员服务
115+阅读 · 2019年12月31日
【ICIP2019教程-NVIDIA】图像到图像转换,附7份PPT下载
专知会员服务
53+阅读 · 2019年11月20日
相关资讯
学习一个宫崎骏画风的图像风格转换GAN
AI科技评论
18+阅读 · 2020年3月13日
PyTorch模型训练特征图可视化(TensorboardX)
极市平台
33+阅读 · 2019年6月29日
【泡泡一分钟】利用四叉树加速的单目实时稠密建图
泡泡机器人SLAM
28+阅读 · 2019年4月26日
不用重新训练,直接将现有模型转换为 MobileNet
极市平台
6+阅读 · 2019年3月4日
毫不自夸,甚至有点骄傲——视频检测与拼接
无人机
9+阅读 · 2018年12月25日
原来CNN是这样提取图像特征的。。。
计算机视觉life
8+阅读 · 2018年11月23日
这些论文绘图软件,你一个都不会用
算法与数学之美
8+阅读 · 2018年8月17日
如何上手深度学习中的图像领域?有这个资源库就够了
数据挖掘入门与实战
5+阅读 · 2018年4月13日
风格迁移原理及tensorflow实现-附代码
机器学习研究会
19+阅读 · 2018年3月25日
python pandas 数据处理
Python技术博文
3+阅读 · 2017年8月30日
Top
微信扫码咨询专知VIP会员