深度學習 | 為圖片新增新元素,毫無ps痕跡(附專案地址)
論文:Deep Painterly Harmonization
連結:https://arxiv.org/abs/1804.03189
專案GitHub:https://github.com/luanfujun/deep-painterly-harmonization
影象合成是建立新視覺內容的關鍵操作。它幫助藝術家將現有材料合成新的作品,Man Ray 和 David Hockney 等藝術家使用該技術創造了很多傑出作品。合成可用於不同的語境中。照片拼貼等應用希望有明顯的拼合痕跡,但其他應用希望使合成不易被人察覺,例如將一個物件新增到影象中,使之好像原本就在影象中一樣。
人們開發了很多工具進行照片合成,如移除邊界層 [PGB03]、匹配顏色 [XADR12] 或匹配細密結構 [SJMP10]。但是,沒有適合繪畫的工具。如果我們想在繪畫作品上新增物件,選擇就很有限了。你可以手動繪製該物件或使用繪畫引擎 [CKIW15],但這需要時間和技巧(並沒有幾個人會)。為照片設計的演算法對於繪畫生成的結果低於標準,因為它們無法處理繪畫作品的畫刷紋理和抽象化。使用現有的繪畫風格化演算法效果也不好,因為它們是為全域性風格化設計的,而我們想要尋求的是顏色、紋理和結構屬性的區域性協調。
本論文中,研究者解決了這些挑戰,使得人們可以將影象中的物件複製到繪畫作品中,且合成作品看起來就像原作一樣。研究者基於繪畫風格化方面的近期研究 [GEB16] 構建方法,以協調貼上過來的物件的外觀,使之與原畫作匹配。
研究者的策略是將繪畫作品的神經反應相關資料遷移到物件中,主要貢獻是如何確定哪些資料需要遷移。與之前研究類似,本論文使用 VGG 神經網路 [SZ14] 的反應作為推動該過程的資料。本論文展示了空間一致性和尺度間一致性的重要性。即,遷移來自畫作小片區域的資料比使用大量獨立位置得到的結果更好。此外,儲存網路層之間的神經反應關聯性還可以提升輸出質量。為了達到這兩個目標,研究者引入了一種 two-pass 演算法:第一階段達到單一尺度的大致協調,作為第二階段的起點,來實現精細的多尺度改善。圖 1(右)顯示本文方法與相關技術的對比結果。
圖 1:本論文提出的方法可以將元素與畫作合成到一起,並使元素與畫作相協調。左側是給出的畫作和元素,研究者展示了未調整的剪下複製結果、深度影象類比(Deep Imange Analogy)[LYY∗ 17] 和本論文提出方法的合成結果。
研究者在多個樣本上執行了該方法。繪畫合成是一項要求很高的任務,因為合成的風格要和原作風格一致,否則一眼就可以看出來。因此,單獨看效果還不錯的全域性風格化技術結果在合成語境中可能不太好,因為合成元素和原作並列在一起,很容易就能看出細微差別。研究者進行了一項使用者調研,結果顯示其演算法產生的合成結果通常被認為就是原作。
繪畫協調演算法(Painterly Harmonization Algorithm)
研究者設計了一種 two-pass 演算法以達到繪畫協調。之前的研究使用單程方法,如 Gatys et al. [GEB16] 將整個風格影象匹配到整個輸入影象中,然後在格拉姆矩陣上使用 L2 範數來重建最終結果。Li & Wand [LW16a] 使用最近鄰進行匹配,在啟用向量上使用 L2 範數來重建最終結果。在早期實驗中,研究者發現此類單程策略在本論文研究背景中效果並沒有那麼好,結果未達到預期。於是研究者開發了一種 two-pass 方法,第一階段進行大致協調,第二階段精細化視覺質量(演算法 1)。
第一階段生成了一個接近期望風格的中間結果,但是研究者這時的意圖並不是輸出最高質量的輸出。研究者放鬆了對質量的要求,設計了一個魯棒演算法,該演算法可以處理大量不同的風格。這一階段通過執行貼上區域顏色、紋理屬性與畫作語義類似區域的對應屬性的粗略匹配,達到了大致的協調。研究者找到獨立於每一網路層的最近鄰神經 patch(演算法 3)來匹配貼上區域和背景的神經反應。這提供了中間結果(圖 2b),對於第二階段來說是一個更好的起點。
第二階段中,研究者從中間結果開始,聚焦於改善視覺質量。直觀來看,由於中間影象和風格影象在視覺上是非常接近的,因此研究者對輸出質量的要求更加嚴格。研究者研究捕捉影象區域性紋理屬性的單箇中間層,生成一個對應對映,可用於移除空間異常值。之後研究者對該空間一致對映執行上取樣,以獲取網路的更精細層級,從而確保在每個輸出位置上,任意尺度的神經反應都來自畫作的同一位置(演算法 4)。這使得紋理更連貫流暢,結果看起來更好(圖 2c)。
圖 2:從差異巨大的輸入和風格影象開始(a),研究者首先協調貼上元素的整體外觀(b),並細化結果,以精細化匹配紋理,移除偽影(c)。
繪畫估計器
上述演算法有兩個影響輸出風格屬性的重要引數——風格和直方圖權重(ws 和 whist)。我們觀察到,不同的引數集根據風格化程度的不同為不同畫作給出了最佳結果。例如,立體主義繪畫往往包含多面的小區域,這些區域具有強烈而銳利的筆觸,而文藝復興鼎盛時期和巴洛克時期的繪畫則更寫實。研究者沒有為每個輸入調整引數,而是開發了一個訓練過的權重估計器,使其權重選擇方法更加魯棒。
研究者訓練一個繪畫估計器來預測演算法的優化引數,以便在背景畫作風格更強烈時使用允許更深風格改變的引數,反之亦然。為了訓練這種估計器,研究者將引數值分成三個類別(「弱」、「中」、「強」),並手動將每個繪畫風格歸入其中一個類別。表 1 顯示了繪畫風格的子集及其類別和權重值(其他風格在補充材料中)。
表 1:所選藝術風格的權重。其他藝術風格和引數權重詳見補充文件。最後的權重是使用本文研究者訓練的繪畫估計器網路對不同藝術風格計算出的線性插值。TV 權重是根據繪畫影象的噪聲水平單獨計算的(第 4 部分)。
研究者從 wikiart.org 收集了 8 萬幅繪畫作品,並調整 VGG-16 網路 [SZ14] 對 18 種不同風格進行分類。訓練結束後,去掉最後一個分類層,在基於風格類別的 softmax 層上使用加權線性插值輸出 ws 和 whist 的浮點值,ws 和 whist 表示風格化程度。然後在優化中使用這些引數值(如表 1 所示)。
圖 7:在蒙娜麗莎(b)上貼上 Ginevra de' Benci(a)的臉時,泊松混合 [PGB03] 無法匹配二者的紋理(c),Mulitscale Harmonization [SJMP10] 新增紋理但沒有復現畫作裂縫(d),Image Melding [DSB∗ 12] 新增裂縫,但不是處處新增,例如右側眼睛下方沒有裂縫(e)。相比之下,本論文的結果在各處都產生了裂縫(f)。
圖 8:「編輯與否」使用者調查的結果。繪畫分類率越高,表明協調效果越好,因為使用者無法識別研究者所做的編輯。大圖示表示每個類別的平均值。
圖 9:「對比」使用者調查的結果。在四種演算法中,本研究的演算法通常是最受歡迎的。
圖 10:熱氣球(左上)的典型物件協調結果。
深度學習實戰
七月線上《深度學習集訓營》線上線下結合(線下在北京和上海),從頭到尾全部實戰,涵蓋特徵工程、深度學習在計算機視覺和自然語言處理領域中的應用,更有大規模車輛圖片檢索等應用於智慧城市、視訊監控等場景的殺手級專案。
BAT一線技術經理1v1模擬真實面試,提供就業指導及包括BAT等一線網際網路公司的工作機會推薦。2個月挑戰年薪30~50萬。
掃描下方二維碼,免費試聽
相關文章
- vue專案新增圖片裁剪元件Vue元件
- 為Excel新增背景圖片,讓工作不再無趣Excel
- 整合華為Image Kit美化功能 為你的圖片增添新元素
- 深度學習之圖片壓縮技術深度學習
- 深度學習助力前端開發:自動生成GUI圖程式碼(附試用地址)深度學習前端GUI
- QT學習:給label新增圖片資源QT
- 《原神》繼續追蹤痕跡任務攻略 繼續追蹤痕跡任務怎麼做
- 清理 iOS 專案無用的圖片資源iOS
- 清理ios專案無用的圖片資源iOS
- phpSpreadsheet 讀取圖片並另存為檔案PHP
- Node專案中用images+imageinfo庫給圖片批量新增水印
- 深度學習領域引用量前10篇論文(附下載地址)深度學習
- 網頁瀏覽痕跡在哪裡徹底刪除_win10如何清除瀏覽器上網痕跡網頁Win10瀏覽器
- 機器學習&深度學習 操作tips機器學習深度學習
- Maven學習筆跡Maven
- Ueditor上傳圖片自動新增水印(通用圖片檔案)
- 【學習圖片】1.圖片簡史
- 深度學習脫掉圖片人物的褲子【python教程】深度學習Python
- 深度學習 preprocess 預處理圖片方式去 pytorch 化深度學習PyTorch
- 如何利用深度學習分類Yelp上的商業圖片深度學習
- 不留痕跡清除Linux下操作記錄Linux
- 22張精煉圖筆記,深度學習專項學習必備筆記深度學習
- Github上的十大深度學習專案Github深度學習
- 【Eclipse】--修改專案訪問地址頭Eclipse
- 【學習圖片】05:GIF
- 【學習圖片】06:PNG
- 【學習圖片】07:JPEG
- 【學習圖片】08:WebPWeb
- 【學習圖片】09: AVIF
- 用canvas生成圖片為頁面新增水印Canvas
- 【學習圖片】10.響應式圖片
- React-native學習過程 一 改變文字,新增圖片React
- [GAN學習系列3]採用深度學習和 TensorFlow 實現圖片修復(上)深度學習
- [GAN學習系列3]採用深度學習和 TensorFlow 實現圖片修復(下)深度學習
- 深度學習專案實戰:垃圾分類系統深度學習
- eclipse漢化教程詳細圖解【附eclipse漢化包下載地址】Eclipse圖解
- 快速學習丨使用Azure DevOps建立專案dev
- js陣列中新增新元素,如果沒有則新增JS陣列