亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

暢談人工智能藝術新命題:神經風格遷移

發布時間:2020-08-08 07:12:02 來源:ITPUB博客 閱讀:167 作者:云編 欄目:互聯網科技

暢談人工智能藝術新命題:神經風格遷移

波士頓

介紹

神經風格遷移(Neural Transfer Style)是人工智能在創造性環境中最令人驚奇的應用之一。在這個項目中,我們將看到如何將藝術繪畫風格轉換為所選圖像,從而創造出令人驚嘆的效果。Leon A. Gatys等人在2015年發布的論文"藝術風格的神經算法"中構思了神經風格遷移的概念。之后,許多研究人員應用和改進了方法,增加了損失的元素,嘗試了不同的優化器并試驗了用于此目的的不同神經網絡。盡管如此,這篇原始論文仍然是理解這一概念的最佳來源,而VGG16和VGG19網絡是這方面最常用的模型。考慮到兩者在最近的網絡中表現優異,這種選擇是不尋常的,這種選擇在風格遷移中獲得了最高的性能。

https://arxiv.org/abs/1508.06576

你可以查看此GitHub存儲庫以獲取完整代碼。

https://github.com/maurock/neural_transfer_style

它是如何工作的?

這種技術的目標是將圖像的風格(我們稱之為"風格圖像")應用于目標圖像,從而保留后者的內容。我們來定義這兩個術語:

  • 風格是圖像中的紋理和視覺圖案。一個例子是藝術家的筆觸。

  • 內容是圖像的宏觀結構。人物、建筑物、物體是圖像內容的示例。

這里顯示了不錯的效果:

暢談人工智能藝術新命題:神經風格遷移


你想看到更多的效果嗎?在文章的最后可以瀏覽。

讓我們看看高級步驟:

  • 選擇要設置風格的圖像

  • ?選擇樣風格參考圖像。通常,這是一幅具有獨特和可識別風格的繪畫。

  • 初始化預訓練的深度神經網絡,并獲得中間層的特征表示。完成該步驟以實現內容圖像和風格圖像的表示。在內容圖像中,最好的選擇是獲得最高層的特征表示,因為它們包含有關圖像宏結構的信息。對于風格參考圖像,從不同比例的多個層獲得特征表示。

  • 定義損失函數,以最小化內容損失、樣式損失和變化損失的總和。每次迭代,優化器都會生成一個圖像。內容損失是生成的圖像和內容圖像之間的差異(L2歸一化),而生成的圖像和樣式之間的樣式損失。稍后我們將看到這些變量是如何在數學上定義的。

  • 重新考慮損失的最小化

圖像處理和圖像逆向處理

首先,我們需要格式化在網絡使用的圖像。我們將要使用的卷積神經網絡(CNN)是經過預先訓練的VGG19會議。當我們將圖像處理成兼容的陣列時,我們還需要對生成的圖像進行解處理,從BGR切換到RGB格式。讓我們構建兩個輔助函數來執行此操作:

暢談人工智能藝術新命題:神經風格遷移


內容損失

內容損失將主要輸入圖像的內容保留為風格。由于卷積神經網絡的較高層包含圖像宏觀結構的信息,因此我們將內容損失計算為輸入圖像的最高層的輸出與所生成圖像的同一層之間的差異(L2歸一化)。

內容損失定義為:

暢談人工智能藝術新命題:神經風格遷移

內容損失

在等式中,F是內容圖像的特征表示(當我們運行輸入圖像時網絡輸出的內容),以及P是在特定隱藏層l處生成的圖像之一。

這是實施的內容:

暢談人工智能藝術新命題:神經風格遷移


風格損失

理解風格損失并不像內容丟失那么簡單。目標是在新生成的圖像中保持圖像的樣式(即視覺圖案作為筆畫)。在前一種情況下,我們比較中間層的原始輸出。在這里,我們比較樣式參考圖像和生成的圖像的特定圖層的Gram矩陣之間的差異。Gram矩陣被定義為給定層的矢量化特征映射之間的內積。矩陣的含義是捕獲層的特征之間的相關性。計算多個層的損失允許保留在樣式圖像和生成的圖像之間的不同層內部相關的類似特征。

單個圖層的樣式損失計算如下: 

暢談人工智能藝術新命題:神經風格遷移

每層風格丟失

在等式中,A是風格圖像的Gram矩陣,G是生成圖像的Gram矩陣,兩者都與給定層有關。 N和M是風格圖像的寬度和高度。

首先為每個單獨的圖層計算樣式損失,然后將其應用于考慮為風格建模的每個圖層。我們來實現它:

暢談人工智能藝術新命題:神經風格遷移


暢談人工智能藝術新命題:神經風格遷移


變化損失

最后,損失的最后一個部分是變化損失。這個元素未包含在原始論文中,并不是項目成功的必要條件。實際上,經驗證明,添加這個元素會產生更好的結果,因為它可以平滑像素之間的顏色變化。

讓我們把這個包括進來:

暢談人工智能藝術新命題:神經風格遷移


總體損失

最后,考慮到所有這些貢獻,計算總體損失。首先,我們需要提取我們選擇的特定圖層的輸出。為此,我們將字典定義為<layer name,layer output>:

暢談人工智能藝術新命題:神經風格遷移


然后,我們計算調用以前函數的代碼的損失。每個組件乘以特定的權重,我們可以調整以產生強烈或更輕的效果:

暢談人工智能藝術新命題:神經風格遷移


設置神經網絡

VGG19網絡將一批三個圖像作為輸入:輸入內容圖像、風格參考圖像和包含生成圖像的符號張量。前兩個是常量變量,使用包keras.backend定義為Variable。第三個變量定義為占位符(placeholder),因為它會在優化程序更新結果時隨時間變化。

暢談人工智能藝術新命題:神經風格遷移


一旦變量被初始化,我們就將它們加入到張量中,這將在網絡后期提供。

暢談人工智能藝術新命題:神經風格遷移


完成后,我們需要定義損耗、梯度和輸出。原始論文使用算法L-BFGS作為優化器。該算法的一個限制是它需要分別轉換損失和梯度。由于獨立地計算它們將是非常低效的,我們將實現一次計算損失和梯度值的Evaluator類,但是單獨返回它們。我們開始實施:

暢談人工智能藝術新命題:神經風格遷移


暢談人工智能藝術新命題:神經風格遷移


最后一步

最后,一切都準備好了!最后一步是多次迭代優化器,直到達到所需的損失或所需的結果。我們將沿著迭代保存結果,以檢查算法是否按預期工作。如果結果不令人滿意,我們可以使用權重來改善生成的圖像。

暢談人工智能藝術新命題:神經風格遷移


要查看整個代碼,請參閱頁面開頭提供的GitHub鏈接。

結果

暢談人工智能藝術新命題:神經風格遷移


暢談人工智能藝術新命題:神經風格遷移


暢談人工智能藝術新命題:神經風格遷移



向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

乌什县| 磐石市| 新宁县| 三亚市| 安溪县| 陆良县| 固镇县| 冀州市| 连南| 合川市| 乃东县| 紫金县| 馆陶县| 焉耆| 郴州市| 玛沁县| 新巴尔虎左旗| 奉节县| 海原县| 逊克县| 福州市| 黄石市| 江城| 军事| 高尔夫| 西乡县| 英超| 龙陵县| 安化县| 登封市| 山西省| 海原县| 仁化县| 汤原县| 墨玉县| 蕉岭县| 江山市| 界首市| 黔西| 荆州市| 福泉市|