RobustVideoMatting:一鍵摳圖神器,頭發(fā)絲清晰可見

一、簡介
????????RobustVideoMatting 是字節(jié)跳動研究的,專為穩(wěn)定人物視頻摳像設(shè)計的開源項目。不同于現(xiàn)有神經(jīng)網(wǎng)絡(luò)將每一幀作為單獨圖片處理,RobustVideoMatting?使用循環(huán)神經(jīng)網(wǎng)絡(luò),在處理視頻流時有時間記憶??稍谌我庖曨l上做實時高清摳像。
????????RobustVideoMatting 的 Github 地址:https://github.com/PeterL1n/RobustVideoMatting

????????雖然 RobustVideoMatting 是用于視頻摳像的,但是我們也可以將其用于對單張圖片進行摳圖。本文就針對單張圖像的摳圖效果進行演示。
二、下載?RobustVideoMatting 源碼
????????借助 git 工具,輸入下面的命令即可克隆源代碼:
????????命令執(zhí)行情況如下:

三、環(huán)境配置
????????基礎(chǔ)環(huán)境如 Python、Pytorch、CUDA Toolkit,網(wǎng)上有很多詳盡的教程,我們就不在此贅述了。在具備上述環(huán)境的基礎(chǔ)之上,我們還要安裝項目依賴的工具(av、tqdm、pims),輸入下面的命令即可進行安裝:
????????如果已經(jīng)安裝過了,那么執(zhí)行上述命令時就會如下圖所示:

四、準(zhǔn)備待摳圖的照片
????????首先準(zhǔn)備好要摳圖的照片:

????????我們在源碼目錄下面創(chuàng)建一個 images 文件夾,然后把照片放進去。
????????需要注意的是:這里要求放進去的是圖像序列。也就是說,如果一次要對多張照片進行批量摳圖的話,那么這些照片的尺寸必須是一致的,否則我們只能每次放進去一張。

五、編寫摳圖的代碼并執(zhí)行
????????代碼不多,有效代碼總共不到 5 行,我們只需要編寫一次即可,后面使用的時候就直接執(zhí)行它進行可以一鍵摳圖了。
????????這里,我們把上述代碼的文件命名為?image_matting.py,所以下面我們直接執(zhí)行這個文件就可以進行摳圖操作了。
????????代碼的具體執(zhí)行情況如下圖所示:

六、獲取輸出圖像,查看摳圖效果
????????執(zhí)行完上一步的代碼后,我們就可以在 output 文件夾下面找到最終完成摳圖的照片了。接下來我們展示一下?lián)笀D的效果。
圖一:摳圖前后對比


圖二、摳圖前后對比:


圖三、摳圖前后對比:


圖四、摳圖前后對比:


七、后記
????????從我實際測試的最終效果上看,并不是所有的圖片都能取得好效果??赡苁?RobustVideoMatting 只專注于視頻摳像而不擅長單張圖片的人像摳圖吧。后面有時間我再試試其他的專門做圖片人像摳圖的套件,看看效果會不會更好。