快轉到主要內容

一鍵提昇動漫影片畫質 ~ Linux/Android版的Anime4K使用教學

Linux系統 Linux好用軟體 MPV AI Anime
✍ 切換正體/簡體字
Ivon Huang
作者
Ivon Huang
目錄

如果你找到的動漫影片畫質低下想要改善,或是看到喜歡的圖片畫質卻不夠做成桌布,那麼你就需要能用魔法放大圖像的工具。

在這裡為您介紹bloc97開發的「Anime4K」,它是可以即時提昇2D動畫畫質的開源工具。不用轉檔播放影片立即生效。可在Linux上達成類似mpv-lazy的效果。

除此之外還有以Anime4K技術製成的轉檔工具「Anime4KCPP」,類似Waifu2x,專門把動漫圖片和影片放大之用。

Anime4K支援Linux/Windows/MacOS系統,甚至Android手機也能用。本文將簡介Anime4K在Linux和Android的用法。

1. Anime4K效果預覽 #

Anime4K具體效果如何呢?請先看圖。

Anime4K最好用獨立顯示卡運算,例如我的是Nvidia GTX1050Ti。跟類似的放大技術Real-ESRGAN比起來,Anime4K不需要經過冗長轉檔,不到一秒就能提昇目前播放影片的畫質。

例如1080p影片提昇至接近4K畫質,細節變清晰了:

強襲魔女
艦隊Collection總有一天在那一片海

或是720p變類似1080p

零之使魔F
Fatekaleid liner 魔法少女伊莉雅2wei Herz!

Anime4K最直觀感受的是線條變得清楚,但根據開發者說法,Anime4K僅針對H.264/H.265/VC-1編碼的1080p影片最佳化,720p以下放大會更容易糊掉,因此用來放大1080p(含以上)影片效果最好。

開發者也 指出,Anime4K不是生成對抗網路,效果並沒有比SRGAN好很多。

最後,Anime4K是針對動畫訓練的,因此對動畫以外的影片幾乎無效。

2. Linux版MPV如何使用Anime4K #

Linux要用MPV播放影片,再載入Anime4K的GLSL shader(著色器)達成提昇畫質的效果,最好使用獨立顯示卡運算。

Anime4K版本為v4.0.1,系統為Arch Linux,顯示卡為Nvidia GTX1050Ti

  1. 參照 Github的說明安裝MPV播放器。例如Arch Linux為:
sudo pacman -S mpv
  1. Anime4K最好依賴顯示卡運算。Linux安裝獨顯驅動,順便裝個CUDA:
sudo pacman -S nvidia-dkms cuda
  1. 取得Anime4K的GLSL檔案
git clone https://github.com/bloc97/Anime4K.git
cd Anime4K
  1. 將Anime4K的全部GLSL檔(非目錄)複製到MPV設定檔目錄下的shaders
mkdir ~/.config/mpv/shaders
find glsl -type f -exec cp "{}" ~/.config/mpv/shaders \;
  1. 編輯~/.config/mpv/mpv.conf,加入MPV的播放參數,啟用GPU加速
keep-open=yes
sub-auto=fuzzy
hwdec-codecs=all
profile=gpu-hq
  1. 編輯~/.config/mpv/input.conf,加入MPV的快捷鍵設定。以下為參考 Github說明所填寫,適用於GTX1650以下低階顯示卡的設定值。
CTRL+1 no-osd change-list glsl-shaders set "~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Restore_CNN_M.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_S.glsl"; show-text "Anime4K: Mode A (Fast)"
CTRL+2 no-osd change-list glsl-shaders set "~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Restore_CNN_Soft_M.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_S.glsl"; show-text "Anime4K: Mode B (Fast)"
CTRL+3 no-osd change-list glsl-shaders set "~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Upscale_Denoise_CNN_x2_M.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_S.glsl"; show-text "Anime4K: Mode C (Fast)"
CTRL+4 no-osd change-list glsl-shaders set "~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Restore_CNN_M.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl:~~/shaders/Anime4K_Restore_CNN_S.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_S.glsl"; show-text "Anime4K: Mode A+A (Fast)"
CTRL+5 no-osd change-list glsl-shaders set "~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Restore_CNN_Soft_M.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Restore_CNN_Soft_S.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_S.glsl"; show-text "Anime4K: Mode B+B (Fast)"
CTRL+6 no-osd change-list glsl-shaders set "~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Upscale_Denoise_CNN_x2_M.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Restore_CNN_S.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_S.glsl"; show-text "Anime4K: Mode C+A (Fast)"

CTRL+0 no-osd change-list glsl-shaders clr ""; show-text "GLSL shaders cleared"

原理:開發者定義了A、B、C、A+A、B+B、C+A模式,每按一個組合鍵就會啟用多重shader提升畫質,使用者要自行判斷哪個比較好。

  1. 接著用MPV播放影片試試吧,檔案管理器裡對影片右鍵應可選取用MPV播放。

  2. 影片播放時按CTRL數字鍵1~6開啟Anime4K提昇畫質,按CTRL+0還原。目前Anime4K v4共有6種模式,通常使用A+A模式效果就夠了。

    輝夜姬想讓人告白第二季OVA

  3. 啟用Anime4K時可按ShiftI再按2,查看Anime4K的shader有無顯示在user shader列表,代表正確執行。

  4. 如果要設定MPV播放影片便自動套用Anime4K A+A模式,在~/.config/mpv/mpv.conf加入以下設定

glsl-shaders="~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Restore_CNN_M.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl:~~/shaders/Anime4K_Restore_CNN_S.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_S.glsl"

3. Android手機MPV如何使用Anime4K #

參考 在安卓上优雅地食用Anime4K - Bilibili

由於需要強力圖形處理能力,Android手機處理器圖形性能建議至少要在Qualcomm Snapdragon 845之上才跑得動Anime4K。

話說若不是平板的話,手機螢幕那麼小放大到4K意義在哪裡。

  1. Github下載MPV的APK,似乎得下載舊版才能用。

  2. 到Anime4K的Github,點選下載zip的功能,下載所有檔案

  3. 解壓縮,將全部的GLSL檔放到內部儲存空間/Documents/Anime4K

  4. 開啟MPV,點選右上角Settings → Advanced → Edit mpv.conf,填入以下內容。Android的MPV因為不方便按快捷鍵,所以只好設定一開啟就載入GLSL。下面我寫的內容對應電腦版的Mode A+A

glsl-shaders-append="/storage/emulated/0/Documents/Anime4K/Anime4K_Clamp_Highlights.glsl"
glsl-shaders-append="/storage/emulated/0/Documents/Anime4K//Anime4K_Restore_CNN_M.glsl"
glsl-shaders-append="/storage/emulated/0/Documents/Anime4KAnime4K_Upscale_CNN_x2_M.glsl"
glsl-shaders-append="/storage/emulated/0/Documents/Anime4K/Anime4K_Restore_CNN_S.glsl"
glsl-shaders-append="/storage/emulated/0/Documents/Anime4K/Anime4K_AutoDownscalePre_x2.glsl"
glsl-shaders-append="/storage/emulated/0/Documents/Anime4K/Anime4K_AutoDownscalePre_x4.glsl"
glsl-shaders-append="/storage/emulated/0/Documents/Anime4K/Anime4K_Upscale_CNN_x2_S.glsl"
  1. 這樣播放影片就會有提昇畫質的效果了,相應的手機也會開始變卡。
    我的朋友很少

4. 配合Vapoursynth提昇影片FPS #

參見 Linux版Vapoursynth MVTools設定教學

附錄:如何用Anime4KCPP轉檔放大影片與圖片 #

Anime4KCPP是採用Anime4K技術的「轉檔」軟體,將Anime4K的升級畫質結果轉成影片儲存,這樣播放就不需要額外耗費顯示卡運算了。

這可以說是離線版的Waifu2x,更棒的是還能轉影片。

Github提供的程式僅Windows和Android版有圖形界面,Linux只有純文字模式。

  1. Linux版要自行編譯,首先安裝編譯用的套件:
sudo pacman -S cmake gcc clang opencv python-opencv boost qt5-tools
  1. 開始編譯:
git clone https://github.com/TianZerL/Anime4KCPP.git
cd Anime4KCPP && mkdir build && cd build && cmake ..
make -j$(nproc)
  1. Anime4KCPP的執行檔位於bin,查看是否有正確安裝:
cd bin
./Anime4KCPP_CLI -V

接著開始轉檔。

* Nvidia顯示卡轉檔時可調用CUDA加速,圖片轉檔通常不會超過10秒。

範例一:將同目錄下的圖片input.png放大4倍,保持圖層透明度,輸出為output.png

./Anime4KCPP_CLI -i "input.png" -o "output.png" --GPUMode --zoomFactor 4 --alpha --CNNMode --HDN

成果

https://www.pixiv.net/artworks/63786862

範例二:影片放大2倍,MP4轉MKV,使用AVC1編碼:

./Anime4KCPP_CLI -i "input.mp4" -o "output.kmv" --GPUMode --videoMode --codec avc1 --CNNMode --HDN

更多參數參考 Github Wiki

順帶一提,此款工具可以配合 RIFE使用,讓動漫影片變成4K60FPS的豪華內容。

相關文章

Imgbrd Grabber,大量下載Danbooru動漫圖片的好用APP
Linux系統 Linux好用軟體 Linux Android Anime
Hydrus Network:以標籤作分類的圖片管理軟體,使用介紹
Linux系統 Linux好用軟體 Hydrus Network AI
RIFE:補幀提高影片FPS,增加流暢度的開源免費軟體
開源AI人工智慧應用 AI影像處理 MPV AI Anime

留言板

此處提供二種留言板。點選按鈕,選擇您覺得方便的留言板。要討論程式碼請用Giscus,匿名討論請用Disqus。

這是Giscus留言板,需要登入Github帳號才能留言。支援markdown語法,方便您張貼程式碼,若要上傳圖片請貼Imgur連結。您的留言會在Github Discussions向所有人公開。

這是Disqus留言板,您可能會看到Disqus強制投放的廣告。無論有無登入皆可留言。此處留言只有本站參與者看得到。若您選擇以訪客身份匿名留言,就不會收到後續回覆通知。