10秒搞定建筑日夜景轉(zhuǎn)換,還自帶中秋月光

IM2Maker 6年前 (2019-09-13)

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

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

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

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

三步實(shí)現(xiàn)日夜景秒速轉(zhuǎn)換

10秒搞定建筑日夜景轉(zhuǎn)換,還自帶中秋月光

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

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

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

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

10秒搞定建筑日夜景轉(zhuǎn)換,還自帶中秋月光

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

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

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

Neural Color Transfer

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

10秒搞定建筑日夜景轉(zhuǎn)換,還自帶中秋月光

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

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

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

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

因此使用預(yù)訓(xùn)練好的深度學(xué)習(xí)模型來(lái)提取特征成為解決這個(gè)問(wèn)題的有效途徑, 這也符合遷移學(xué)習(xí)(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")。

· 如何做到日夜景秒速轉(zhuǎn)換?

NCT采用經(jīng)典圖片分類的多層卷積神經(jīng)網(wǎng)絡(luò)(CNN)模型VGG19。

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

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

10秒搞定建筑日夜景轉(zhuǎn)換,還自帶中秋月光

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

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

當(dāng)處于某個(gè)層級(jí)L時(shí),可通過(guò)VGG19提取出圖片S和R對(duì)應(yīng)的特征圖FLS和FLR,對(duì)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)

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

10秒搞定建筑日夜景轉(zhuǎn)換,還自帶中秋月光

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

· 如何做到更細(xì)節(jié)化的表現(xiàn)效果?

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

1. 特征歸一化(normalization)

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

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

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

z = (x - μ) / σ

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

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

σ為該通道所有像素值的標(biāo)準(zhǔn)差

2. 增加特征維度

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

聚類

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

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

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

vs

10秒搞定建筑日夜景轉(zhuǎn)換,還自帶中秋月光

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

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

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

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

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

越是針對(duì)某個(gè)垂直領(lǐng)域的應(yīng)用場(chǎng)景就越需要一個(gè)專門針對(duì)該場(chǎng)景的語(yǔ)義分割模型。因?yàn)椴还苁窃贗mageNet數(shù)據(jù)集上訓(xùn)練的VGG19還是在ADE20K數(shù)據(jù)集上訓(xùn)練的PSPNet相對(duì)都是比較泛用的模型,很難滿足專業(yè)需求。

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

10秒搞定建筑日夜景轉(zhuǎn)換,還自帶中秋月光

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

10秒搞定建筑日夜景轉(zhuǎn)換,還自帶中秋月光

體驗(yàn):AI日夜景轉(zhuǎn)換-中秋版Demo

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

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

鎂客網(wǎng)


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

微信ID:im2maker
長(zhǎng)按識(shí)別二維碼關(guān)注

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

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

分享到