Google針對(duì)生成對(duì)抗網(wǎng)絡(luò)(Generative Adversarial Network,GAN)的高運(yùn)算復(fù)雜度提出解決方案,將原本需要在服務(wù)器執(zhí)行的臉部編輯模型輕量化,推出可在手機(jī)上運(yùn)行的少樣本臉部風(fēng)格模型MediaPipe FaceStylizer,提供高品質(zhì)臉部圖片生成,并且通過(guò)MediaPipe平臺(tái)公開,讓用戶能夠自訂部署到移動(dòng)設(shè)備上。
生成對(duì)抗網(wǎng)絡(luò)是一種深度學(xué)習(xí)模型,其包含生成器和鑒別器兩部分,生成器負(fù)責(zé)生成圖像,而鑒別器的任務(wù)則是分辨圖像是不是真實(shí)的,也就是發(fā)現(xiàn)該圖像是否由生成器所產(chǎn)生。而MediaPipe FaceStylizer針對(duì)臉部風(fēng)格化設(shè)計(jì),具有臉部生成器和臉部編碼器兩個(gè)主要組件。臉部編碼器的主要功能用于生成對(duì)抗網(wǎng)絡(luò)反轉(zhuǎn)(GAN Inversion),將圖像映射到生成器的潛在碼(Latent Code)中。
生成對(duì)抗網(wǎng)絡(luò)反轉(zhuǎn)是指用于尋找導(dǎo)致模型輸出的輸入,這個(gè)輸入再經(jīng)過(guò)生成對(duì)抗網(wǎng)絡(luò)的生成器時(shí),會(huì)產(chǎn)生特定圖像,換句話說(shuō),當(dāng)存在一張圖片,想要知道生成對(duì)抗網(wǎng)絡(luò)的生成器中,可以產(chǎn)生該張圖片的潛在碼,這個(gè)過(guò)程便稱為生成對(duì)抗網(wǎng)絡(luò)反轉(zhuǎn)。臉部編碼器便是找出潛在碼的角色,以便臉部生成器可以再次使用該潛在碼,生成相同或是類似的臉部圖像。
除此之外,研究人員為了優(yōu)化生成器,特別設(shè)計(jì)了一些損失函數(shù),并且結(jié)合常用的生成對(duì)抗網(wǎng)絡(luò)損失函數(shù),借以最小化生成器的錯(cuò)誤,他們從一個(gè)較為復(fù)雜的StyleGAN模型,提煉出一個(gè)更輕量的生成器BlazeStyleGAN。輕量生成器雖然容量小、執(zhí)行快,但生成的圖片品質(zhì)仍然很高。下圖研究結(jié)果顯示,BlazeStyleGAN生成的圖像品質(zhì)很好(圖下),而且因?yàn)檠芯咳藛T在損失函數(shù)的設(shè)計(jì),進(jìn)一步減少了StyleGAN可能產(chǎn)生的瑕疵和偽影(圖上)。
從參數(shù)數(shù)量和計(jì)算FLOPs評(píng)估模型復(fù)雜度,與StyleGAN擁有3,340萬(wàn)參數(shù)相比,BlazeStyleGAN的復(fù)雜度大幅降低,在輸出圖片分辨率為256x256的情況下,僅需要約200萬(wàn)參數(shù)和1.28G FLOPs的BlazeStyleGAN模型。當(dāng)輸出分辨率為1024x1024,BlazeStyleGAN-1024可減少95%運(yùn)算復(fù)雜度,而且輸出圖像品質(zhì)與StyleGAN-1024模型沒(méi)有明顯差異,甚至抑制來(lái)自StyleGAN模型的偽影。
研究人員在高性能的設(shè)備上,對(duì)MediaPipe FaceStylizer的推論時(shí)間進(jìn)行基準(zhǔn)測(cè)試,BlazeStyleGAN-256和BlazeStyleGAN-512在所有擁有GPU的設(shè)備上都能達(dá)到即時(shí)運(yùn)算,在更高端手機(jī)的執(zhí)行時(shí)間甚至不到10毫秒。BlazeStyleGAN-256還可以在iOS設(shè)備上以CPU即時(shí)生成結(jié)果。
Google將會(huì)通過(guò)MediaPipe平臺(tái),向用戶公開MediaPipe FaceStylizer。BlazeStyleGAN模型經(jīng)過(guò)訓(xùn)練之后,只需要幾行程序代碼,就能通過(guò)MediaPipe Tasks FaceStylizer API部署已導(dǎo)出的TFLite模型到各平臺(tái)的應(yīng)用程序。