A Neural Algorithm of Artistic Style


本系列文章由 @yhl_leo 出品,轉載請注明出處。
文章鏈接: http://blog.csdn.net/yhl_leo/article/details/53931536


1. 資源

  • Paper: A Neural Algorithm of Artistic Style
  • TensorFlow version in GitHub: anishathalye/neural-style
  • Caffe version in GitHub: fzliu/style-transfer
  • Torch version in GitHub: jcjohnson/neural-style
  • DeepPy version in GitHub: andersbll/neural_artistic_style

2. 論文概述

architecture圖 1

這是2015年的一篇論文,作者首次提出使用卷積神經網絡生成具有人工藝術風格的作品。作者認為,卷積神經網絡中的卷積層可以理解為收集圖像特定特征的濾波器集(filters),即生成了輸入圖像各種版本濾波結果,把普通影像重構成具有藝術風格的作品,既需要保持普通圖像內容布局上保持不變,又要使其具有與參考藝術作品具有相同的風格,此分別為文中所述的content reconstructions 和 style reconstructions.

作者發現,較深層的卷積特征能獲取圖像高級(high-level)的、目標級的內容信息以及在原圖像上的位置信息,但是卻不能約束準確的像素重構,也就是詳細的像素信息丟失(如圖 1,content reconstructions 的 d,e);相反地,淺層的卷積特征卻能很容易的生成準確的像素值(如圖 1,content reconstructions 的 a,b,c),因此,作者使用較深層的卷積進行內容重構,實驗中是在relu4_2上進行content representation.

在風格化的問題上,為了表示參考藝術作品的風格,作者使用特征空間獲取紋理信息。這一特征空間基于卷積神經網絡的各個卷積階段得到的特征,它由不同卷積特征圖之間的相關性構成。通過引入卷積層之間的相關性,作者獲得了對原圖穩定的,多尺度的表示,能夠得到參考藝術作品的紋理信息(不包含全局的排布信息)。

因此,作者的思路非常簡單,通過輸入原圖,在較深層的卷積層中得到的特征進行圖像內容約束,使用參考藝術作品,在卷積不同階段的卷積特征學習得到圖像紋理,進行紋理約束,從而優化得到最終結果。


3. 論文細節

這里寫圖片描述圖 2

圖 2展示了算法的約束簡圖,其中包含兩個主要約束:content constrain 和 style constrain。

作者使用的是VGG-19 network, 包含16個卷積層(分為5個卷積階段),每個階段末尾都有 pooling 層,全連接層被拋棄掉,另外Pooling階段使用average pooling。

  • content loss:
    loss-content
    Fl,Pl 分別是 xx,pp圖像在卷積層l上對應的卷積特征響應, FlRNl×Ml, Flij是卷積層l的第i個卷積在j位置上激活值,Plij。則,在該層上的梯度為:
    derivative-content

  • style loss:
    計算不同濾波響應之間的相關性,表示在 Gram 矩陣中:
    gram-matrix
    Al,Gl分別為 aa,xx 圖像在卷積層l上對應的卷積特征響應,通過使得兩者的差方和最小,作為約束調整圖像風格:
    style-loss
    因此,風格的損失代價為:
    style-loss2
    即,使用多層的卷積特征,進行整體約束,(其中conv1_1, conv2_1, conv3_1, conv4_1conv5_1wl = 1/5, 其余層wl = 0)。梯度很容易求導為:
    dev

  • total loss:
    total
    其中 α/β 被設置為 1e?31e?4.


4. 實驗結果

論文以及開源代碼中具有實驗結果,可自行查看或測試,這里不貼出。

轉載于:https://www.cnblogs.com/hehehaha/p/6332106.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/457333.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/457333.shtml
英文地址,請注明出處:http://en.pswp.cn/news/457333.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

CSS布局奇淫技巧之--各種居中

居中是我們使用css來布局時常遇到的情況。使用css來進行居中時,有時一個屬性就能搞定,有時則需要一定的技巧才能兼容到所有瀏覽器,本文就居中的一些常用方法做個簡單的介紹。 注:本文所講方法除了特別說明外,都是兼容I…

手寫數字識別中多元分類原理_廣告行業中那些趣事系列:從理論到實戰BERT知識蒸餾...

導讀:本文將介紹在廣告行業中自然語言處理和推薦系統實踐。本文主要分享從理論到實戰知識蒸餾,對知識蒸餾感興趣的小伙伴可以一起溝通交流。摘要:本篇主要分享從理論到實戰知識蒸餾。首先講了下為什么要學習知識蒸餾。一切源于業務需求&#…

linux zip/unzip命令

2019獨角獸企業重金招聘Python工程師標準>>> 語  法&#xff1a;zip [-AcdDfFghjJKlLmoqrSTuvVwXyz$][-b <工 作目錄>][-ll][-n <字 尾字符串>][-t <日 期時間>][-<壓 縮效率>][壓 縮文件][文件...][-i <范本樣式>][-x <范本樣式…

離散事件模擬

1. 離散事件系統模擬 被模擬系統的行為&#xff1a; 可以抽象為一些離散事件的發生&#xff1b;所發生事件可以引發新的事件&#xff08;拓撲序&#xff09;&#xff1b;人們希望通過計算機模擬理解系統行為&#xff0c;評價或設計真實世界中實際的或所需的系統&#xff1b;適用…

epoll邊緣觸發_C++回聲服務器_9-epoll邊緣觸發模式版本服務器

epoll默認情況下是水平觸發模式&#xff0c;這次將epoll設置為邊緣觸發模式來實現服務器&#xff0c;而客戶端直接使用完美回聲服務器的客戶端。服務器代碼#include #include #include #include #include #include #include #include #include const int BUF_SIZE 4;const int…

利用dbstart和dbshut腳本自動啟動和停止數據庫的問題

客戶的兩臺IBM Power 740小型機使用HACMP軟件創建互備關系的數據庫服務器&#xff0c;每臺小型機運行一個數據庫&#xff0c;任何一臺服務器出現故障宕機&#xff0c;另一臺小型機應該立即接管&#xff0c;且要一并接管數據庫&#xff0c;這時在一臺小型機上就運行了兩個數據庫…

在Windows下不使用密碼遠程登陸Linux

在登陸Linux進行管理的時候我們通常會使用用戶名和密碼進行登陸&#xff0c;這樣一來是比較麻煩&#xff0c;二來是不安全&#xff0c;為了解決這個問題&#xff0c;我們可以使用公私鑰 (public keys和private keys)進行認證。簡單來說公鑰存放在服務器上&#xff0c;私鑰存放在…

dto 是只給前端需要的數據嗎_DO、VO、DTO...XXOO,你弄明白了么

技術公眾號&#xff1a;Java In Mind(Java_In_Mind),歡迎關注&#xff01;背景我相信&#xff0c;剛開始學習接觸企業代碼的時候&#xff0c;一定會發現&#xff0c;工程中充斥著各種XO&#xff1a;DO、VO、DTO、DAO&#xff0c;還有各種名詞&#xff1a;POJO&#xff0c;JavaB…

Javascript判斷object還是list/array的類型(包含javascript的數據類型研究)

前提&#xff1a;先研究javascript中的變量有幾種&#xff0c;參考&#xff1a; http://www.w3school.com.cn/js/js_datatypes.asp http://glzaction.iteye.com/blog/1285147 測試1&#xff1a; typeof關鍵字 var obj {test:test}; typeof obj;//輸出object var list [{test:t…

Core Data

簡介 Core Data是iOS5之后才出現的一個框架&#xff0c;它提供了對象-關系映射(ORM)的功能&#xff0c;即能夠將OC對象轉化成數據&#xff0c;保存在SQLite數據庫文件中&#xff0c;也能夠將保存在數據庫中的數據還原成OC對象。在此數據操作期間&#xff0c;我們不需要編寫任何…

tbase同步mysql_mysql主從同步

MySQL主從介紹MySQL主從叫做Replication、AB復制&#xff0c;A和B做主從后&#xff0c;在A上寫數據。B上也會同步A的數據&#xff0c;兩者實現實時同步MySQL是基于binlog日志來同步的&#xff0c;主上必須開啟binlog才能進行主從同步&#xff0c;同步過程大概有三個步驟(1)主將…

2017將轉行進行到底

2016 年說著轉行&#xff0c;最后還是在匆匆中找了一份老本行&#xff0c;此刻的心情還是無愛&#xff0c;畢竟螺絲一直分不清啊&#xff0c;不喜歡就是不喜歡。看了django的教程&#xff0c;不得不感嘆國外的書寫的相對優秀一點&#xff0c;《learning django web development…

mysql中函數是否可以返回多個值_是否可以從mysql函數返回多個值?

我的臟解決方案是&#xff1a;1.連接字符串中的值. 2返回字符串. 3 Splits將字符串返回值.我認為它不優雅,我確信這有局限性,但它適用于簡單的情況還有必要創建分裂函數,因為Mysql沒有這個函數&#xff1a;首先編輯你的功能.CREATE FUNCTION yourFunctionWith2valuesForReturni…

lua自定義迭代器

迭代器 http://www.tutorialspoint.com/lua/lua_iterators.htm 迭代器能夠讓你遍歷某個集合或者容器中的每一個元素。 對于lua來說&#xff0c; 集合通常指代 table&#xff0c; 用于創建變化的數據結構&#xff0c; 類似數組。 Iterator is a construct that enables you to t…

mysql非主鍵索引_主鍵索引和非主鍵索引的區別

1. 什么是最左前綴原則&#xff1f;以下回答全部是基于MySQL的InnoDB引擎例如對于下面這一張表如果我們按照 name 字段來建立索引的話&#xff0c;采用B樹的結構&#xff0c;大概的索引結構如下如果我們要進行模糊查找&#xff0c;查找name 以“張"開頭的所有人的ID&#…

優美的配色方案設計

2019獨角獸企業重金招聘Python工程師標準>>> 怎么做好設計配色一直是個難題&#xff0c;雖然網站上有各種各樣的色庫&#xff0c;但配色仍然至關重要&#xff0c;不得已的話可以親自動手&#xff0c;況且樂趣滿滿。 這個沒有一套標準&#xff0c;所以看自己怎么喜歡…

It's a start!

開始博客之旅轉載于:https://www.cnblogs.com/catchingdream/p/5843172.html

mysql死鎖釋放時間參數_【Mysql】mysql 事務未提交導致死鎖 Lock wait timeout exceeded; try restarting transaction 解決辦法...

問題場景問題出現環境&#xff1a;1、在同一事務內先后對同一條數據進行插入和更新操作&#xff1b;2、多臺服務器操作同一數據庫&#xff1b;3、瞬時出現高并發現象&#xff1b;不斷的有一下異常拋出&#xff0c;異常信息&#xff1a;org.springframework.dao.CannotAcquireLo…

ORACLE sqlplus設置行數和寬度

1) 查看目前的pagesize,默認是14:Sqlplus代碼show pagesize; 2) 將pagesize設置好100,則可以一次顯示夠多行記錄了:Sqlplus代碼set pagesize 100; 2. 設置行的寬度1) 查看目前的linesize,默認是80:Sqlplus代碼show linesize; 2) 設置成100或者更寬都可以:Sqlplus代碼set li…

mysql關系模式怎么畫_關系數據庫與mysql

表下面是阿里的mysql設計原則&#xff0c;可以參考&#xff0c;不一定按照阿里規則&#xff0c;但一個團隊一定要有規則&#xff0c;如果現在沒有規則&#xff0c;從現在開始&#xff0c;慢慢推廣&#xff0c;適應1.【強制】表達是與否概念的字段&#xff0c;必須使用 is_xxx的…