IntelliJ IDEA啟動介面的祕密:當程式設計遇到藝術

碼農小胖哥發表於2021-01-15

細心的同學會發現Intellij IDEA每次發版本的時候都會有不同的啟動介面背景,都很比較抽象的藝術影像。

2020.3的啟動介面背景

JetBrains的其它產品也有自己獨特的設計。

但是這背後是怎麼實現的、有什麼寓意卻很少有人知道。今天讓胖哥來帶你解開這個答案。

編碼的藝術

編碼是一門藝術。說到這裡你會很容易想到這肯定是利用程式設計實現的。是的,這裡的影像生成器技術用了到機器學習中的神經網路技術。這些生成的影像本質上是前饋神經網路對映函式描繪的!基於傳遞給網路的確切資料,加上一些預設的生成演算法(遺傳演算法),讓這些圖片看上去很“順眼”。目前JetBrains提供了可視生成器,你可以根據自己的喜好來生成桌面背景。

神經網路圖片生成體驗

只需訪問Desktop Art頁面或直接轉到code2art.jetbrains.com,就可以自己設計上述風格的桌面。開啟後在在下拉選單中選擇IntelliJ IDEAMPS之類的產品後,只需單擊Prescribed按鈕,它將以該產品的所有動畫效果建立初始螢幕。

選擇Mixer,稍等片刻我們可以看到9張不同的影像,每個影像都是由神經網路分別生成的。 你可以在其中混合隨意的想法,調整色彩,選取目標,並根據你自己的設定創作出反映內在自我的藝術色彩。

如果這9張影像都不符合您的口味,你可以點選Regenerate獲取9張新的新影像,這些影像在某種程度上都與以前的影像有所不同。如果您已經喜歡某些現有影像,你可以點選選中它們,然後按Crossbreed按鈕將選中的影像混合生成一些新影像,重複多次,直到找到理想的影像。通過其它一些選項,你可以匯出靜態圖片、動圖甚至MP4視訊。

小試牛刀

技術細節

從技術上講,該圖片生成器的伺服器端分為幾個部分:

  • 使用TensorFlow構建的基於神經網路的影像生成引擎。
  • 視訊渲染引擎,可從影像生成視訊。
  • 場景儲存服務。
  • 任務佇列,用於在伺服器元件之間分配CPU和GPU密集型計算任務。
  • 混合器Mixer–通過遺傳演算法演化生成影像的工具。
    • Mixer模式和影像生成引擎之上還建立了另一個神經網路,該神經網路可以彙總使用者的偏好來預測哪些影像更可能是美麗的,這也是神經網路能夠越來越瞭解人類喜好的根本。

有興趣的可以瞭解一下。

有時候不得不感嘆一下一些偉大的產品的設計思維都是具有創造性和藝術性的,什麼時候我們中國的程式設計師能有這種外部環境,沒有KPI,沒有996,什麼時候我們才能做出偉大的產品。

關注公眾號:Felordcn 獲取更多資訊

個人部落格:https://felord.cn

相關文章