【实战】(字节跳动、日本东京大学)学习使用白盒表示+GAN来创作卡通图片:Learning to Cartoonize Using White-Box Cartoon Representations
要說(shuō)亞洲動(dòng)漫制作的王者,當(dāng)然是我們一衣帶水的鄰邦——日本。
2020年字節(jié)跳動(dòng)和日本東京大學(xué)聯(lián)合發(fā)表了一篇《Learning to Cartoonize Using White-Box Cartoon Representations》(學(xué)習(xí)使用白盒表示+GAN來(lái)創(chuàng)作卡通圖片),基于卡通圖片的繪畫(huà)技法和圖像特點(diǎn),可以將真實(shí)的人物或風(fēng)景圖片轉(zhuǎn)化為卡通圖片,效果很出色,在這篇文章里我們介紹一下這個(gè)項(xiàng)目。
論文地址:https://github.com/SystemErrorWang/White-box-Cartoonization/blob/master/paper/06791.pdf
Github項(xiàng)目:https://github.com/SystemErrorWang/White-box-Cartoonization
(一)架構(gòu)簡(jiǎn)介
論文的摘要中是這樣說(shuō)的:
這篇論文提出了一種圖像卡通化的方法。通過(guò)觀察卡通繪畫(huà)行為和咨詢(xún)藝術(shù)家,我們建議從圖像中分別識(shí)別出三種白盒表示:(1)包含卡通圖像光滑表面的外觀表示;(2)在賽璐珞風(fēng)格工作流中描述稀疏色塊和扁平化全局內(nèi)容的結(jié)構(gòu)表示;以及(3)反映卡通圖像中高頻紋理、輪廓和細(xì)節(jié)的紋理表示。生成性對(duì)抗網(wǎng)絡(luò)(GAN)框架用來(lái)學(xué)習(xí)提取圖像表示和卡通化圖像。該方法的學(xué)習(xí)目標(biāo)分別基于每個(gè)提取的表示(特征),使得框架具有可控性和可調(diào)整性。
上圖中展示的是本項(xiàng)目的圖像卡通化框架。將圖像分解為外觀表示、結(jié)構(gòu)表示和紋理表示,并引入三個(gè)獨(dú)立的模塊來(lái)提取相應(yīng)的表示。GAN框架由生成器G和兩個(gè)判別器Ds和Dt組成,其中Ds用于判別從模型輸出和卡通中提取的外觀表示,Dt用于判別從輸出和卡通中提取的紋理表示。預(yù)訓(xùn)練的VGG網(wǎng)絡(luò)用于提取高級(jí)特征,并在提取的結(jié)構(gòu)表示和輸出之間,以及在輸入圖片和輸出之間對(duì)全局內(nèi)容施加空間約束。每個(gè)組件的權(quán)重可以在loss函數(shù)中進(jìn)行調(diào)整,這允許用戶(hù)控制輸出樣式并使模型適應(yīng)不同的用例。
本項(xiàng)目所使用的GAN的生成器和判別器架構(gòu)如下圖所示,其中生成器網(wǎng)絡(luò)類(lèi)似于U-Net,而判別器網(wǎng)絡(luò)來(lái)自于PatchGAN:
生成器網(wǎng)絡(luò)使用步長(zhǎng)為2的卷積層進(jìn)行下采樣,使用雙線(xiàn)性插值層進(jìn)行上采樣,以避免棋盤(pán)偽影(Checkerboard Artifacts)。該網(wǎng)絡(luò)僅由三種層組成:卷積層、泄漏ReLU(LReLU)層和雙線(xiàn)性層,這使得它可以很容易地嵌入移動(dòng)電話(huà)等邊緣設(shè)備中。
判別器網(wǎng)絡(luò)最后一層是卷積層,輸出特征圖中的每個(gè)像素對(duì)應(yīng)于輸入圖像中的一個(gè)面片(Patch),面片大小等于感知場(chǎng),用于判斷面片屬于卡通圖像(Cartoon Images)還是生成圖像。PatchGAN增強(qiáng)了對(duì)細(xì)節(jié)的辨別能力,加快了訓(xùn)練速度。在每個(gè)卷積層(最后一層除外)之后放置譜歸一化(Spectral Normalization),以對(duì)網(wǎng)絡(luò)實(shí)施Lipschitz約束并穩(wěn)定訓(xùn)練。
(二)上手試用
(2.1)必備環(huán)境(Windows 10,NVIDIA Geforce RTX 2080Ti)
cuda?? ???????????????? 10.0.0
cudnn?? ?????????????? 7.6.5
python???????????????? 3.7.4
tensorflow?????????? 1.14.0
tensorflow-gpu:?? 1.14.0(官網(wǎng)建議:1.12.0或者1.13.0)
scikit-image???????? 0.14.5
(2.2)從 Github 下載源代碼,解壓縮,進(jìn)入工作目錄:
https://github.com/SystemErrorWang/White-box-Cartoonization
(2.3)把待卡通化處理的圖片放到 ./test_code/test_images 目錄下
(2.4)在 ./test_code 目錄下運(yùn)行:
python cartoonize.py
(2.5)生成的圖片放在 ./test_code/cartoonized_images 目錄下。
(三)使用效果
(3.1)論文中給出的例子
(3.2)實(shí)測(cè)效果
真實(shí)圖片????????????????????????????????????????????????????????????????? 卡通效果
?
?
?
?
這樣,我們即使不掌握繪畫(huà)技術(shù),也可以通過(guò)手機(jī)拍照+PS修圖+AI技術(shù),創(chuàng)作出一些個(gè)性化的卡通作品,這是不是也挺有意思呢?
(完)
?
?
?
總結(jié)
以上是生活随笔為你收集整理的【实战】(字节跳动、日本东京大学)学习使用白盒表示+GAN来创作卡通图片:Learning to Cartoonize Using White-Box Cartoon Representations的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 2020-2021前端面试题合集,面试题
- 下一篇: Hyper-V安装Ubuntu 18使用