10秒搞定建筑日夜景轉換,還自帶中秋月光

IM2Maker 6年前 (2019-09-13)

10秒內完成日夜景轉換,讓建筑菜鳥(niǎo)也能快速擁有合格效果圖(內有體驗)。

建筑設計會(huì )經(jīng)常遇到出夜景效果圖的時(shí)候,日夜景的效果轉換,臨摹勾勒、渲染出圖、后期加工...工序繁多。除了對制作工具的熟練,更關(guān)鍵的是需依靠經(jīng)驗判斷建筑明暗、光影和顏色等在白天和夜晚的不同狀態(tài)。

圖 | 來(lái)源:未來(lái)建筑實(shí)驗室

近日,AI建筑研究團隊未來(lái)建筑實(shí)驗室運用之前一項深度學(xué)習成果,做到10秒內完成日夜景轉換,讓建筑菜鳥(niǎo)也能快速擁有合格效果圖。

三步實(shí)現日夜景秒速轉換

10秒搞定建筑日夜景轉換,還自帶中秋月光

圖 | 來(lái)源:未來(lái)建筑實(shí)驗室

第一步,選擇一張日景圖S(source);

第二步,再選擇一張目標的夜景圖R(reference);

第三步,基于深度學(xué)習的色彩算法將在兩張圖片上對具有相似語(yǔ)義結構(sementic structures)的部分進(jìn)行顏色遷移,秒速生成一張新的圖片T(target)。它有著(zhù)S的結構和內容,同時(shí)具有R的顏色風(fēng)格(即R+S=T)。

10秒搞定建筑日夜景轉換,還自帶中秋月光

圖 | 中秋版Demo演示,來(lái)源:未來(lái)建筑實(shí)驗室

正值月圓時(shí),研究團隊特別推出中秋版Demo。該版本在完成顏色遷移的基礎上,更通過(guò)算法在夜景圖中添上了一輪明月。

建筑顏色遷移黑科技簡(jiǎn)介:

Neural Color Transfer

Neural Color Transfer(下稱(chēng)NCT)是基于語(yǔ)義信息的對應(correspondence)進(jìn)行匹配和顏色的遷移,NCT使用了卷積神經(jīng)網(wǎng)絡(luò )來(lái)對圖片提取特征以便于后續的匹配。在匹配完成后,NCT使用了一個(gè)線(xiàn)性模型,在滿(mǎn)足局部和整體一致性的情況下進(jìn)行優(yōu)化。

10秒搞定建筑日夜景轉換,還自帶中秋月光

圖 | 來(lái)源:未來(lái)建筑實(shí)驗室

在匹配完成后,為了顏色遷移在局部變化和整體上的一致性,NCT使用了一個(gè)線(xiàn)性模型在同時(shí)滿(mǎn)足局部和整體的約束下進(jìn)行優(yōu)化。

輸入的圖片S和R共享很多語(yǔ)義上相關(guān)的(semantically-related)內容,同時(shí)在展示上又有很大的不同。

S和R中都包含建筑,但分別為日景和夜景。要在兩張存在很大色差的圖片上建立語(yǔ)義的對應是一個(gè)非常棘手的問(wèn)題,尤其是傳統的特征提取算法是無(wú)法有效的提取出圖片的語(yǔ)義信息。

因此使用預訓練好的深度學(xué)習模型來(lái)提取特征成為解決這個(gè)問(wèn)題的有效途徑, 這也符合遷移學(xué)習(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采用經(jīng)典圖片分類(lèi)的多層卷積神經(jīng)網(wǎng)絡(luò )(CNN)模型VGG19。

VGG19是在ImageNet上,1000個(gè)分類(lèi)的共計約120萬(wàn)張圖片上預訓練的(http://image-net.org/challenges/LSVRC/2014/browse-synsets)。這個(gè)模型有非常強的泛用性,被普遍應用于圖片特征提取。

隨著(zhù)模型的層數由淺到深(下圖從左到右),VGG19可以抽取從圖片的低級細節(對顏色敏感)到高級的語(yǔ)義信息(對顏色不敏感)。

10秒搞定建筑日夜景轉換,還自帶中秋月光

圖 | 圖片分類(lèi)的多層卷積神經(jīng)網(wǎng)絡(luò )(CNN)模型VGG19 結構圖(https://www.mathworks.com/help/deeplearning/ref/vgg19.html)

對于S和R兩張圖片,分別提取VGG19在relu1_1, relu2_1, relu3_1, relu4_1和relu5_1五個(gè)層的輸出作為這兩張圖片在5個(gè)層級(L = 1, 2, 3, 4, 5)的特征圖。

當處于某個(gè)層級L時(shí),可通過(guò)VGG19提取出圖片S和R對應的特征圖FLS和FLR,對S和R建立映射。又通過(guò)利用概率進(jìn)行快速匹配的PatchMatch算法(https://gfx.cs.princeton.edu/pubs/Barnes_2009_PAR/) ,分別建立了FLS到FLR的映射?LS→R和FLR到FLS的映射?LR→S。

圖 | PatchMatch算法

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

但當L>1時(shí),特征圖的尺寸小于原圖,將導致映射關(guān)系發(fā)生變化。重構的圖片在形狀、同語(yǔ)義像素等方面添加額外的約束后通過(guò)線(xiàn)性回歸,可進(jìn)行局部顏色遷移,以解決丟失部分原有一致性的問(wèn)題。如尺寸還小于原圖,將采用快速導向濾波Fast Guided Filter(https://arxiv.org/pdf/1505.00996.pdf) 盡可能實(shí)現對細節的保留。

10秒搞定建筑日夜景轉換,還自帶中秋月光

圖 | 來(lái)源:未來(lái)建筑實(shí)驗室

· 如何做到更細節化的表現效果?

前面也提到,VGG19是一個(gè)泛用模型, 在某些情況下難以提取有效的語(yǔ)義信息,對于細部還原還有待提升。于是,針對NCT我們進(jìn)行了兩方面的改進(jìn):1. 特征標準化;2. 增加特征維度。

1. 特征歸一化(normalization)

圖片S對應的特征圖FLS形狀為(高, 寬, 通道),某種意義上,FLS的每個(gè)通道代表圖片S的某一個(gè)特征。經(jīng)過(guò)實(shí)際對比后發(fā)現,在每一個(gè)通道上像素值的變化范圍出現巨大差異,例如有的通道像素點(diǎn)取值范圍在[-500, +100],有的只在[-1, +1]之間。

這可能會(huì )導致的情況:特征圖FLS的某一通道提取出一種很重要的語(yǔ)義信息,但由于其變化范圍過(guò)小,從而在PatchMatch過(guò)程中對結果的影響很小,導致并未在原圖S和R上建立有效映射。

標準正態(tài)分布(Standard Normal Distribution)就是解決這個(gè)問(wèn)題的方法之一,對于特征圖的每一個(gè)通道進(jìn)行如下操作:

z = (x - μ) / σ

x為該通道每個(gè)像素的值

μ是該通道所有像素的平均值

σ為該通道所有像素值的標準差

2. 增加特征維度

為了更好地建立S和R之間的映射,增加額外特征也是一種有效方法。聚類(lèi)和語(yǔ)義分割都是補充圖片特征的有效方法。

聚類(lèi)

圖 | 來(lái)源:未來(lái)建筑實(shí)驗室

S為建筑日景圖,R為建筑夜景圖,層級L為1,聚類(lèi)產(chǎn)生的簇的數量(number of clusters)為3。

用FCLS和FCLR代替原來(lái)的FLS和FLR,且僅在L = 1時(shí)做一次遷移的效果如下:

vs

10秒搞定建筑日夜景轉換,還自帶中秋月光

圖 | 來(lái)源:未來(lái)建筑實(shí)驗室

通過(guò)上面兩組圖的對比可以看到在加入聚類(lèi)特征后,僅在最低的層級做一次顏色遷移的效果要比原來(lái)從高到低在5個(gè)層級上做遷移的效果還要好。

語(yǔ)義分割(semantic segmentation)

語(yǔ)義分割模型的作用方式和聚類(lèi)相似,但它使用了語(yǔ)義分割模型的輸出替代了聚類(lèi)圖CLS和CLR。我們使用的語(yǔ)義分割模型為基于MIT的ADE20K數據集訓練的PSPNet模型(https://github.com/Vladkryvoruchko/PSPNet-Keras-tensorflow)。

這種方法的優(yōu)點(diǎn)在于可以采用訓練好的、適用于特定應用場(chǎng)景的語(yǔ)義分割模型,給顏色遷移提供方向性的指導。

越是針對某個(gè)垂直領(lǐng)域的應用場(chǎng)景就越需要一個(gè)專(zhuān)門(mén)針對該場(chǎng)景的語(yǔ)義分割模型。因為不管是在ImageNet數據集上訓練的VGG19還是在A(yíng)DE20K數據集上訓練的PSPNet相對都是比較泛用的模型,很難滿(mǎn)足專(zhuān)業(yè)需求。

針對復雜辦公場(chǎng)景還需進(jìn)行更細致的采集和標注,積累到一定的數據量后再選擇合適的語(yǔ)義分割模型進(jìn)行訓練,將其作為特征提取模型加入(或者取代)VGG19。

10秒搞定建筑日夜景轉換,還自帶中秋月光

目前,未來(lái)建筑實(shí)驗室初步完成對建筑日夜景轉換的研發(fā),還將陸續研發(fā)和開(kāi)放更多的應用場(chǎng)景。

10秒搞定建筑日夜景轉換,還自帶中秋月光

體驗:AI日夜景轉換-中秋版Demo

關(guān)于A(yíng)I日夜景轉換的完整研究文章,可通過(guò)右側鏈接:https://blog.xkool.ai/?p=1253查看。

最后,記得關(guān)注微信公眾號:鎂客網(wǎng)(im2maker),更多干貨在等你!

鎂客網(wǎng)


科技 | 人文 | 行業(yè)

微信ID:im2maker
長(cháng)按識別二維碼關(guān)注

硬科技產(chǎn)業(yè)媒體

關(guān)注技術(shù)驅動(dòng)創(chuàng )新

分享到