Style Transfer AI Images (1)

以p5.js和ml5.js進行的風格轉移影像實驗,以及對AI、藝術創作的再思考。

前言

近兩年來AI在藝術中的應用漸多,有工程師和藝術家合作的案例(例如Robbie Barrat和Ronan Barrot的Infinite Skull – 2019)、也有在藝術市場上成功銷售的AI藝術作品(Portrait of Edmond Belamy – 2018),如今藝術創作者必然要思考AI對於其工作的挑戰,無論是重思人類創意的價值、所謂影像風格的創新、以及與AI合作的新可能性。

2018年,ml5.js以「網路友善的機器學習」 (Friendly Machine Learning for the Web)之精神而誕生,它是為了讓機器學習變得更平易近人,尤其對藝術家、創意編碼人員和學生而言,這個函式庫(Library)提供了透過瀏覽器來執行機器學習的算法(Algorithms)和模型(Model),構建在TensorFlow.js之上,沒有其他外部的依賴,ml5.js函式庫提供了清楚的範例、教學、資料集等,延續Processing和p5.js的開源精神,可說是藝術家運用機器學習進行創作的首選。

實驗概念

〈 Corner 城市角落 〉(2003) (圖一)是我在大三時完成的100F油畫,畫的是師大路的人行道地磚(現已拆除翻新),當時候自己拍素材、運用Photoshop作構圖,再以油畫畫布完成作品。如今,我想了解當時以筆觸、構圖、色調安排所堆積出的「繪畫風格」可以如何衍生到其他的影像上?以及,這個實驗可以引發甚麼思考?

圖一 城市角落 Corner 油畫畫布 100F 李炳曄 (2003)

實驗過程

我參考以下兩個教學影片(Style Transfer Part 1Part 2),說明都很清楚,但因為自己使用的是Windows系統(和示範者的Mac iOS 系統不同),必須先打造python-friendly的環境,因此我額外安裝了Ubuntu,再用Ubuntu來安裝python、git、pip、virtualenv、TensorFlow…等,過程中碰到的問題都查詢線上平台(如Stack Overflow)解決,過程稍繁複,暫時無法一一詳述。

ml5.js的StyleTransfer使用的是Logan Engstrom創建的Fast style transfer implementation in tensorflow、以及Reiichiro Nakano 創建的Fast style transfer in deeplearn.js,相關範例與教學都在ml5的線上分享。運用了雲端計算平台Spell,我的 〈 Corner 城市角落 〉 的風格模型(Style Model)在雲端上訓練了整整14天(圖二)才完成,接著將這個python模型下載到電腦、轉換成ml5.js可使用的模型,就可以用p5.js的編碼將〈 Corner 城市角落 〉 的風格轉移到其他影像和作品上了。

圖二 雲端平台Spell整整14天又18小時的運算過程

完成風格轉移影像


我先嘗試了名作如Monalisa、Jackson Pollock之作品,效果明顯,尤其是Pollock作品的滴流效果,讓完成的影像有更繁複、不可預期的美感。接著,我用類似題材的照片(如:地磚、影子)來演算,得到更多相近風格的影像,帶有「讓一件作品產生相近風格的其他作品」的概念。在過去,如何完成「一系列 」作品對藝術家而言是項功夫,如今AI能迅速演算達成,值得思考,尤其,我選擇了2003年之作品,屬於過去風格的再探,這在過往並不容易達成,因爲風格事關操作技法的熟悉度、藝術家身處的環境、當時關注的議題⋯等,而這些並不能輕易的召喚回來。最後,我嘗試用自己的作品〈都市人〉絹印版畫 (2004)來做演算,得到的影像是自己過去兩件作品的混雜,也蠻有趣的。

思考

從這個過程中,我們可以看到AI針對單一影像進行訓練,可以有效地揣摩人類的「繪畫風格」,包含筆觸、色調、漸層、明暗分配…等,AI也可以迅速的將風格轉移到其他影像,快速達到視覺上的效果。然而,我發現因受限於WEBGL的記憶體上限,輸入的影像(如:Monalisa)解析度若高於300*400 dpi,就會大大增加失敗的機率,需多試幾次才會成功,換而言之,尚無法一次完成高解析度的影像。

近年來在機器學習的影像風格研究上,大多用的是歐美名家(如:梵谷、畢卡索)的風格來進行,來產生能夠被廣泛理解的成果,也因此其目標與概念上都接近於「模仿」,也就是目標在於產生「梵谷風格」的影像就算成功,這樣的功能性AI有其研究的必要性,也達到技術性的成果,但似乎忽略了藝術創作的過程、心理、情感等面向。相對而言,若是由藝術家本人進行AI輔助的影像與風格反思,透過AI來重建、創新、演譯其自身的作品、追求超越、將目標設定爲可能性的推展,則有其探索之價值。

這個實驗就引發個人許多思考,例如:所謂的藝術Style還可以是什麼?當AI可以有效地模仿風格時,我們如何超越AI的挑戰?未來的AI還會持續進化,藝術家如何應對?

我歸納出的結論如下:

  1. 藝術創作者應從「視覺形式」上的風格,走向「思維、辯證、行動」上的風格,或至少要將後者作為重心,這也是我在教學時會強調的原則。
  2. 過去所謂的「一系列」風格或典範值得重思:人類與機器的差異性,不就在於人類心智的豐富多變、包羅萬象嗎?來自同一位藝術家的作品,也應該朝向豐富性,而非近似性。
  3. 人類手繪、手作需連結到更深層次的人類學、社會學或心理學面向(理由),因為AI與機械手臂正快速整合,AI畫出筆觸豐富的繪畫、或捏出肌理紋路獨特的雕塑已指日可待。
  4. 對於AI與藝術的整合,藝術家應抱持開放態度,問題並非「AI是不是藝術?」而是「AI能不能成為好藝術?」也就是說,應在包容中實驗、挑戰眾多可能性。

未來發展

如同匈牙利新媒體藝術家/學者Vera Molnar所言:

“This may sound paradoxical, but the machine, which is thought to be cold and inhuman, can help to realize what is most subjective, unattainable, and profound in a human being.” – Vera Molnar

AI正為其他產業帶來革命,我也樂見AI的「創意革命」,引發藝術家更深刻的自省,我也會繼續嘗試不同的機器學習技巧,作為創意思考的輔助,並從「實驗」逐步走向「展示」,來遠離其原有之功能性。另外,針對風格轉移而言,下一步會嘗試產生更高解析度的AI成像、以及在意義上連結性更強的風格融接,以避免自己掉入視覺風格上玩弄操作的巢臼。

Credits

Fast style transfer implementation in tensorflow by Logan Engstrom
Fast style transfer in deeplearn.js by Reiichiro Nakano
p5.js style transfer tutorial by Yining
p5.js: https://p5js.org
ml5.js: https://ml5js.org/
Python and Virtualenv: https://youtu.be/nnhjvHYRsmM