GitHub項目:利用不完整的數據樣本補全不完整的圖像
大多數圖像補完和生成模型需要完全被觀察的樣本來訓練。但是,在 AmbientGAN 里,闡述了獲取高解析度樣本對於一些應用來說是可能非常昂貴的或者是不切實際的。該 GitHub 項目結合了兩篇論文 AmbientGAN 和 GLCIC 的思想,實現了用不完整圖像樣本訓練的補全不完整圖像的網路。
GitHub 地址:https://github.com/shinseung428/ImageCompletion_IncompleteData
這個 GitHub 項目里的模型融合了以下工作中的思想:
AmbientGAN(來自有損測量生成的模型)
Globally and Locally Consistent Image Completion(GLCIC,全局和局部一致的缺漏圖像完整性技術)
AmbientGAN 使我們可以直接用有雜訊或者不完整的樣本來訓練生成模型。模型的生成器可以成功地用測量函數從正確的分布里預測樣本。
另一方面,GLCIC 一文里的模型用了完全被觀察的樣本來訓練網路。補完網路首先用了 mse 損失來預訓練權重,之後用了一個判別器損失以完整地訓練模型。
把 AmbientGAN 和 GLCIC 文章里的思想結合以後,這個項目中的模型學習僅用不完整的數據來填充不完整的區域(例如:被隨機用 28*28 大小補丁覆蓋的地方)。你可以看到,一些生成區域是不完美的。這個模型生成的圖像仍然有缺陷,一些區域的顏色也不連貫。
網路
方法
現在假定我們已經有不完整圖片的樣本,且我們知道添加到樣本的雜訊類型。我們可以使用加上掩碼的圖像作為補完網路(completion network)的輸入而不是使用隨機隱向量。假設補完網路成功生成了掩蓋的區域,那麼生成的圖像塊將使用掩碼信息 X_g 與輸入圖像相結合。
隨後,補完的圖像 X_g 將會被饋送到度量函數中。如 AmbientGAN 原論文所述,度量函數將嘗試模擬生成對象 X_g 上的隨機度量。這很有可能實現,因為我們知道添加到完整圖像的雜訊類型。此外,我們也可以創建一個度量函數以模擬添加到圖像中的雜訊。
在將度量函數和不完整樣本 Y_r 饋送到判別器以從假的度量方式中鑒別出真正的度量方法,最後可生成圖像 Y_g。在補完網路和判別網路進行對抗性的訓練後,補完網路學習到如何生成圖像塊以補完不完整樣本的確實部分。
數據集
該項目最終使用 CelebA 數據集。為了創建不完整圖像的數據集,我們將原版的 CelebA 圖像居中剪裁為 32*32 的圖像塊,並調整尺寸為 64*64,然後將 28*28 的空白圖像塊(圖像塊的值填充為 1)隨機添加到圖像中。
項目效果
論文:AmbientGAN: Generative models from lossy measurements
論文地址:https://openreview.net/forum?id=Hy7fDog0b
摘要:生成模型提供了一種對複雜分布的結構進行建模的方法,並已被證明在很多現實任務中很有用。然而,目前的訓練生成模型的技術需要訪問充分觀測的樣本。在很多設置中,獲得充分觀測的樣本是代價昂貴的甚至不可能完成的,但是從部分的、帶雜訊的觀測中獲取樣本則是經濟的。我們考慮了僅給定從感興趣分布得到的樣本的有損耗測量來學習隱式生成模型的任務。我們證明真實的潛在分布可以被實證地恢復,即使每個樣本都存在信息損耗時也可行(根據特定的測量模型)。基於此,我們提出了一種訓練生成對抗網路的新方法,稱為 AmbientGAN。在三個基準數據集上,我們用不同的測量模型證明了該模型無論定性上還是定量上都能獲得大幅提升。用我們的方法訓練的生成模型可以獲得 2-4 倍於基線模型的性能。
論文:Globally and Locally Consistent Image Completion
論文地址:http://hi.cs.waseda.ac.jp/~iizuka/projects/completion/en/
摘要:我們在本文中展示了一種新的圖像補完的方法,可以在圖像中獲得局域的和全局的一致性。利用一個全卷積神經網路,我們可以通過填充任意形狀的缺失區域對任意解析度的圖像補完。為了訓練該圖像補完網路獲得一致性,我們使用了全局的和局域的語境判別器(分辨真實圖像和被補完的圖像)。全局判別器觀察完整的圖像以評估它是否整體上一致,而局域判別器僅觀察中心位於補完區域的小塊區域以確保生成補丁的局域一致性。然後圖像補完網路被訓練以欺騙這兩個語境判別器網路,即它需要生成和真實圖像無法區分的無論是整體還是細節上都保持一致性的圖像。我們證明了該方法可以用於補完大量類型的。此外,和基於補丁的方法(例如 PatchMatch)不同的是,我們的方法可以生成在圖像其它地方不存在的碎片,這使得我們可以自然地用熟悉的和特定的結構(例如人臉)補完物體的圖像。


※PyTorch一周年戰績總結:是否比TensorFlow來勢兇猛?
※從論文到測試:Facebook Detectron開源項目初探
TAG:機器之心 |