歡迎您光臨本站 註冊首頁

化身阿凡達,國外小哥開源 AI 實時變臉工具 Avatarify

←手機掃碼閱讀     admin @ 2020-05-27 , reply:0

疫情期間,很多人都在用 Zoom 和 Skype 等軟體進行影片會議。國外一位開發小哥覺得這樣開會太無聊,於是基於 first-order-model 開發了一個能夠把別人的照片套在自己臉上的“變臉”軟體 Avatarify,並將其開源。

看過電影阿凡達(Avatar)的朋友應該對這款軟體的立意並不陌生,簡單理解就是把別人的臉套在自己的表情上實時驅動。Avatarify 的作者 Ali Aliev 最初只是想逗一下在 ZOOM 上開會的同事,在影片會議期間將一些名人的臉實時疊加到自己的臉上。於是他參考了發表在 arxiv 上的一篇論文 “First Order Motion Model for Image Animation”,並基於論文中的開源專案 first-order-model 構建了 Avatarify。如圖所示,作者使用 Avatarify 模仿馬斯克與同事進行影片會議: 

  

與其他 AI 人臉交換技術(如 deepfakes)類似,Avatarify 的演算法是在你想交換的臉上訓練的,即訓練材料是你想要模仿的人的臉部影象。該模型透過在目標的相似類別(比如人臉)上訓練演算法,實現了面部表情的實時呈現。但由於該軟體對影片進行的是實時處理,即需要同時開啟影片會議、Avatarify 等軟體,因此對於 GPU 的要求比較高(作者用的是 1080 Ti,勉強達到 33 FPS)。

 

測試環境

  • GPU :越強越好,以下是作者使用的不同顯示卡的幀數參考:

GeForce GTX 1080 Ti:每秒 33 幀

GeForce GTX 1070:每秒 15 幀

GeForce GTX 950:每秒 9 幀

可以看到 1080 Ti 才能勉強不掉幀,想玩的同學量力而行......

PS:也可以在 Google 的 Colab 上進行遠端測試,用谷歌的硬體來跑,在國外的朋友可以試試。

  • 攝像頭一個
  • 下載訓練好的神經網路權值:

 Dropbox

 Yandex.Disk

Google Drive

不同作業系統的朋友往下看: 

Linux

使用v4l2loopback建立虛擬攝像頭

1.下載 Miniconda Python 3.7 ,執行安裝命令:


 bash Miniconda3-latest-Linux-x86_64.sh

2.克隆 avatarify 映象倉庫,並安裝相關依賴項 (需要 sudo 許可權):


 git clone https://github.com/alievk/avatarify.git
 cd avatarify
 bash scripts/install.sh

3.把之前下好的網路權值檔案vox-adv-cpk.pth.tar 放在 avatarify 的目錄下 (注意不要解壓)。

Windows 10

1. 安裝 Miniconda Python 3.7 。

2. 安裝 Git 。

3. 點選開始選單,在執行中輸入"miniconda". 根據提示執行 Anaconda Prompt 。

4. 輸入以下指令下載並安裝 Avatarify :


 git clone https://github.com/alievk/avatarify.git
 cd avatarify
 scriptsinstall_windows.bat

5. 把之前下好的網路權值檔案 vox-adv-cpk.pth.tar 放在 avatarify 的目錄下 (注意不要解壓)。

6. 執行 run_windows.bat 如果安裝成功,桌面會開啟兩個攝像頭介面(一個是預設攝像頭,一個是 avatarify 攝像頭),不要關閉它們進行下一步。

7. 安裝 OBS Studio 以抓取 Avatarify 攝像頭的內容(主播直播常用的後臺軟體)。

8. 安裝 VirtualCam 外掛. 選擇 Install and register only 1 virtual camera.

9. 執行 OBS Studio。

10. 點選來源一欄中的“+” —— 視窗捕獲 —— 選擇新增現有一欄中的 "[python.exe]: avatarify" —— 編輯 —— 轉換 —— 自適應螢幕。

11. 在 OBS Studio 中, 點選工具欄 —— VirtualCam,選擇自動啟動,緩衝幀設定為 0,開始。

現在 OBS-Camera可以在 ZOOM 或其他影片會議軟體中使用了。(10-11 步只需要設定一次)

除了 Linux 和 Windows 10 以外,作者還提供了 Mac 作業系統和一種連入 Google 平臺的遠端測試方法,詳情請點選

建立 Avatar 庫 

作者在 Avatarify 專案中提供了一組名人的標準化身(愛因斯坦、蒙娜麗莎等),你也可以把其他你想變成的名人的圖片素材放到 avatars 資料夾裡,但注意要遵循以下規則:

1、人物圖片最好為正方形。

2、參考資料夾裡的預設圖片,人物面部距離不宜太遠或太近。

3、人物圖片背景不宜太過複雜,單一色調為佳。

執行

先開啟 Avatarify 再開啟影片會議軟體。

Linux

執行指令碼指令建立虛擬攝像機 /dev/video9,可在 scripts/settings.sh修改對應配置。

可以執行指令 v4l2-ctl--list-devices 顯示系統中的所有裝置。

執行:


 bash run.sh

彈出 cam 和 avatarify 視窗, cam 視窗用來控制面部位置, avatarify 視窗可以預覽 Avatar。

Windows 10

  1. 在 Anaconda Prompt 中執行:

 cd C:pathtoavatarify
 run_windows.bat
  1. 開啟 OBS Studio,此時OBS-Camera上將顯示 Avatarify 處理後的人物面部。
  2. 彈出cam 和 avatarify 視窗, cam 視窗用來控制面部位置,avatarify 視窗可以預覽 Avatar。

注意:如果影片延遲過高,可以在 OBS Studio 中右鍵單擊“預覽”視窗,然後取消選中“啟用預覽”。

操作指令

按鍵

功能

1-9

快速切換準備好的 Avatar

Q

開啟 StyleGAN 生成的 Avatar,每按下一次新的 Avatar 會被取樣

0

開啟/關閉 Avatar

A/D

切換上一個/下一個 Avatar

W/S

開啟/關閉 ZOOM 攝像頭

U/H/J/K

調整攝像頭位置, H - 左移, K - 右移, U - 上移, J - 下移 (每次移動 5 畫素,與 Shift 鍵一起按移動 1 畫素)。

Shift-Z

重置攝像頭位置

Z/C

調整原像透明度

X

重置參考幀

F

切換參考幀搜尋模式

R

Mirror reference window.

T

Mirror output window.

L

重新載入 Avatar

I

顯示 FPS

ESC

退出

Avatarify 支援任何影片會議應用程式,只要其中的影片輸入源可以更改即可(ZOOM、Skype、Hangouts、Slack…)。聰明的朋友已經準備好了吳彥祖的 Avatar,開始和你的朋友影片吧。(當然,前提是你得有個 1080 Ti 以上的顯示卡)


[admin ]

來源:OsChina
連結:https://www.oschina.net/news/115969/image-animation-avatarify
化身阿凡達,國外小哥開源 AI 實時變臉工具 Avatarify已經有26次圍觀

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