論文閱讀-Editing in Style: Uncovering the Local Semantics of GANs


論文閱讀-Editing in Style: Uncovering the Local Semantics of GANs

論文地址: http://openaccess.thecvf.com/content_CVPR_2020/html/Collins_Editing_in_Style_Uncovering_the_Local_Semantics_of_GANs_CVPR_2020_paper.html

概述

簡單來說, 本文針對的是控制和調節GAN模型生成圖像的局部特征.

image-20200619093139200

跟換臉挺像的, 都是根據reference的一些屬性修改原圖片的屬性值, 比如鼻子眼睛. 當然本文的立意在於可解釋性, 現在GAN能生成幾乎以假亂真的圖像, 但是這些圖像為什么是這樣並不太好解釋. 盡管有一些工作可以通過漸進訓練獲得不同分辨率的特征. 但本文的核心是所謂"a disentangled representation", 意思是解纏屬性, 具體來說就是我們關注的屬性(比如人的嘴, 卧室里的枕頭等)可以獨立於其他屬性操作.

本文針對styleGAN的結構, 提出了一種簡單而優雅(作者原話)的方法, 可以將原始圖片中的本地語義特征轉化為reference圖片中的特征.

實際上face swapping有一些交換圖片表情的工作, 和本文很像. 但本文作者表示他們的模型是獨特的, 不需要換臉常用的空間處理, 比如扭曲和合成.

方法

特征分解

image-20200619104439753

一圖流解釋全部.

真的是簡單而優雅...作者做特征分解的基本方法是, 對生成器的隱藏層做K-means, 然后k個類人工監督一下類別.(啊這....)

特征修改

StyleGAN

本文主要基於styleGAN進行屬性修改, styleGAN那篇文章我也看過屬實難讀, 建議移步其他人的解讀增進理解.

建議閱讀: https://zhuanlan.zhihu.com/p/62119852

styleGAN的結構如上圖所示. 輸入的latent code z經過一個非線性變換變成\(w\), 這個\(w\)經過一個仿射變換A, 輸入到生成器G中用以控制每一層的style. 作者將仿射變換后變化得到的style向量命名為\(\sigma\).

在本文中, 作者將target圖片\(S\)和reference的圖片\(R\)\(\sigma\)經過styleGAN提取出來, 並給出了全局變換的公式:

\[\sigma^{G}=\sigma^{S}+\lambda\left(\sigma^{R}-\sigma^{S}\right) \]

也就是生成圖片G的\(\sigma\)的獲取方法, \(\lambda \isin [0,1]\). 這個公式獲得的圖片G可以獲得R全部的特征, 而丟失所有的S圖片特征.

為了只改變局部的特征(而不是吸收全部R的特征), 作者啟用一個矩陣轉化:

\[\sigma^{G}=\sigma^{S}+Q\left(\sigma^{R}-\sigma^{S}\right) \]

Q是個半正定矩陣, 從而確定R和S對G的影響. 實際上本文直接做了個對角矩陣, 作者說這是查詢向量, 實際上就是把R的特征直接替換掉S上的特征而已.

那么選擇\(Q\)中的值\(q\)就很重要了, 已知\(q \isin [0,1]^C\), 那么對角矩陣\(Q\)里誰是1誰是0就確定了我們要替換什么特征.

做法簡單粗暴:

\[M_{k, c}=\frac{1}{N \dot{H} \dot{W}} \sum_{n, h, w} \mathbf{A}_{n, c, h, w}^{2} \odot \mathbf{U}_{n, k, h, w} \]

這個公式體現了k-means時各個通道對k類的貢獻, 作者排了個序, 然后最相關的那一行q定為1, 然后逐漸衰減..(啊這...)

實驗

image-20200619140151197

雖然方法很簡單但結果卻是挺離譜..

總結

學不來學不來...


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM