歡迎您光臨本站 註冊首頁

前段時間,有人根據一篇位元組跳動聯名的 AI 論文,做了個可將影片、圖片一鍵卡通化的 Web 端應用 Cartoonize。

Cartoonize

Cartoonize 現在已經開源,使用非常簡單,只要上傳需要轉換的圖片、影片即可。Cartoonize 轉換可以很好地還原原圖細節,下面是人像、風景、食物等實景的轉化圖。 

 

Cartoonize 還支援10秒以內的影片轉換,上一段《復仇者聯盟》影片轉化效果。

(官網轉換影片截圖,實際影片效果可進官網檢視)

據其官網介紹,Cartoonize 適合四種場景的轉換:快速製作動畫,卡通和遊戲的原型;由於它通常可柔化面部特徵和資訊,因此可用於生成最小單位的藝術做品;無需使用動作捕捉,遊戲可以很容易地匯入短影片;可以為圖形設計師或動畫師做建模助手。

對可轉換圖片影片的大小格式,Cartoonize 做了一定限制,目前只支援轉換10秒及以內的影片,影片檔案最大為30 MB,支援的格式包括 mp4、webm、avi、mkv。支援的影象檔案格式為 jpeg、png,不支援 GIG/TIFF 影象。

演算法:

Cartoonize 使用 Algorithmia 的 Serveless AI Layer 產品對影片進行推理。

測試環境:

  • python 3.7
  • tensorflow 2.1.0
  • tf_slim 1.1.0
  • Cuda version 10.1
  • 作業系統:Linux(Ubuntu 18.04)

安裝:

使用 Docker:

執行 Cartoonize 最簡單方法是使用 Dockerfile:

  1. cd 到根目錄並構建映像

 docker build -t cartoonize .

注意:config.yaml在構建影象之前,請設定適當的值。

2. 透過暴露適當的埠來執行容器


 docker run -p 8080:8080 cartoonize

使用 virtualenv

  1. 使用virtualenv並啟用虛擬環境

 virtualenv -p python3 cartoonize
 source cartoonize/bin/activate

2. 安裝 python 依賴項


 pip install -r requirements.txt

3. 執行網路應用。config.yaml在執行應用程式之前,請確保在檔案中設定適當的值。


 python app.py

專案官網:https://cartoonize-lkqov62dia-de.a.run.app/cartoonize

White-box-Cartoonization:白盒影象卡通化模型

如果想了解更多影像資料卡通化的訓練模型和過程,可以檢視 Cartoonize 背後的技術論文和專案。事實上,Cartoonize 是  White-box-Cartoonization 的一個 Demo webapp。Cartoonize 核心技術來自 CVPR 2020的投稿論文《Learning to Cartoonize Using White-box Cartoon Representations》,該論文作者系位元組跳動、東京大學、Style2Paints Research 人員。

該論文提出了一種基於 GAN 的白盒可控的影象卡通化模型。

論文指出,各種卡通風格和用處需要基於特定任務或者先驗知識才能開發可用的演算法。例如有些卡通畫更關注全域性色調,線條清晰度在次;有些強調稀疏和乾淨的色塊,對主題強調少。然而這些變數因素給黑盒模型帶來了不小的挑戰,如當面對藝術家不同的需求時,簡單地更改訓練資料集就於事無補了。使用黑盒模型直接擬合訓練資料會降低其通用性和風格化質量,在一些情況下導致較差效果。

通常來說,黑盒模型通常有很高的準確性,但是其內部工作難以理解和改動,並且它們不能估計每個特徵對模型預測的重要性,也不容易理解不同特徵之間如何相互作用。而白盒模型則可以更為自由地修改模型中的某些演算法,使之更加靈活地適應不同需求場景。

論文作者指出,為瞭解決黑盒模型的一些問題,他們對人們的繪畫行為和不同風格的卡通形象進行了大量的觀察,並諮詢了幾位卡通藝術家,建議將影象分解為幾種卡通表徵方式:提取一個帶權重的低頻內容,表示圖片的輪廓表徵;針對輸入影象,提取分割圖,在每個分割區域使用一個自適應的色彩演算法生成結構表徵;保持繪畫細節和邊緣的紋理表徵。

The separately extracted cartoon representations enable the cartooniaztion problem to be optimized end-to-end within a Generative Neural Networks (GAN) framework,making it scalable and controllable for practical use casesand easy to meet diversified artistic demands with taskspecific fine-tuning.

單獨提取的卡通表徵形式使卡通化問題可以在生成神經網路(GAN)框架內進行端到端的最佳化,在實際使用場景中,使其可擴充套件和可控,易於滿足不同的技術需求,也可以根據需求進行微調。

基於該論文的 White-box-Cartoonization 現在已經部分開源。

安裝使用:

先決條件:

  • 培訓程式碼:Linux 或 Windows
  • NVIDIA GPU + CUDA CuDNN 效能
  • 推斷程式碼:Linux,Windows 和 MacOS

安裝:

  • 假設已經安裝了 NVIDIA GPU 和 CUDA CuDNN
  • 安裝 tensorflow-gpu,已經測試過 1.12.0 和 1.13.0rc0
  • 安裝 scikit-image == 0.14.5,其他版本可能會帶來問題

預訓練模型推論:

  • 將測試影象儲存在/test_code/test_images 中
  • 執行/test_code/cartoonize.py
  • 結果將儲存在/test_code/cartoonized_images 中

訓練:

  • 將訓練資料放在/dataset 中的相應資料夾中
  • 執行 pretrain.py,結果將儲存在/pretrain 資料夾中
  • 執行 train.py,結果將儲存在/train_cartoon 資料夾中
  • 從生產環境中清除程式碼,並且未經測試
  • 可能會有一些小問題,但應該很容易解決
  • 可以在以下網址找到預訓練的 VGG_19模型:https://drive.google.com/file/d/1j0jDENjdwxCDb36meP6-u5xDBzmKBOjJ/view

資料集:

  • 由於版權問題,無法提供用於訓練的卡通影象,但是這些訓練資料集很容易準備
  • 風景圖來自新海誠,宮崎駿和細田守拍攝的電影
  • 將影片剪輯成幀,並隨機裁剪調整為256x256
  • 人像影象來自京都動畫和 PA Works
  • 使用此倉庫(https://github.com/nagadomi/lbpcascade_animeface)檢測面部區域
  • 手動清理資料將大大提高兩個資料集的質量

[admin ]

來源:OsChina
連結:https://www.oschina.net/news/117700/cartoonize-news
核心基於位元組跳動聯名論文,可將影片、圖片一鍵卡通化的開源工具已經有136次圍觀

http://coctec.com/news/soft/show-post-247125.html