
一、前言
大家好,我是 Jack ,
最近看到了一個很好玩的演算法,人體的動作遷移,
給定一張或者多張人物 A 的影像,和一段人物 B 的視頻,就可以通過動作遷移演算法自動合成一段人物 A 做任務 B 動作的視頻,
看看阿川老師模仿阿坤老師等人的舞姿:
川普的退休生活,AI 宅舞很專業,
要不是馬保國被封殺了,絕對給大家來一段“松果彈抖閃電鞭”,
準備好素材和電腦,今天繼續手把手教學,
演算法原理、環境搭建、效果實作,一條龍服務,盡在下文!
二、Impersonator++
Impersonator++ 的前身是去年發表的 Impersonator,這項作業,上海科技大學的 LiuWen 、Zhixin Piao 等人,探索了三年,
去年的 Impersonator 早已入選計算機視覺頂會 ICCV 2019,
又經過了一年多的努力,增強版 Impersonator++ 誕生了,

Impersonator++ 解決了去年演算法的泛化性較差,尺度太較小(256 x 256), 以及自動化程度不夠高等問題,
Impersonator++ 不僅可以做人體的動作遷移,人體影像合成的其它任務都可以 Cover,例如新視角合成、外觀遷移,
它們在重演、角色影片、虛擬試裝、電影以及游戲制作等領域具有巨大的應用潛力,

動作遷移(模仿)的目標是把 source human image 的動作,變換成 reference human image 的動作,
新視角合成,就是對視角進行轉換,比原圖是一張正面圖,去合成他的背面圖,
外觀遷移是交換兩張影像中人物的外觀(如衣服,褲子,鞋子等,但是不包含臉部),
研究者針對上個版本的問題,探索提出了第二個版本 Liquid Warping GAN with Attention,

整個處理流程分為三個步驟:Body Mesh Recovery、Flow Composition、Liquid Warping GAN,
Body Mesh Recovery 階段是對所有圖片進行三維重建,生成每幀人物的 3D Mesh,然后進行渲染,
Flow Composition 階段是分離前景和背景,并計算運動需要的一系列旋轉矩陣,以備后動作渲染,
Liquid Warping GAN 階段是生成結果的程序,利用到了背景修復 Inpainting 演算法,同時利用 LWB 或 AttLWB 生成頭發、衣服等細節紋理,
想要更好的修復效果,可以使用多幀影像作為 Source Image,
更詳細的技術細節,可以直接看 paper:
https://arxiv.org/pdf/2011.09055.pdf
三、效果測驗
Github 專案地址:
https://github.com/iPERDance/iPERCore
強烈建議使用 Linux 搭建環境,我自己在 Windows 上測驗發現存在一些問題,與作者微信聯系,他們表示近期會修復,

沒有 GPU 的,也可以白嫖 Google Colab,環境都是配好的,直接挨個 cell 運行即可體驗,
Google Colab 地址:
https://colab.research.google.com/drive/1bwUnj-9NnJA2EMr7eWO4I45UuBtKudg_?usp=sharing
如果沒梯子,那只能用 Linux 服務器搭建開發環境了,或者等 Windows 修復,
Linux 環境配置,沒啥問題,直接安裝 CUDA 10.1 以上版本,并安裝 gcc 7.5+ 和 ffmpeg,
然后下載代碼,進入工程目錄,使用如下指令安裝依賴:
python setup.py develop
搞定后,下載演算法需要的權重檔案,專案的權重檔案需要梯子才能下載,否則很慢,
為了方便大家,我將論文和權重檔案,上傳到了百度網盤,需要的自取(提取碼:jack):
https://pan.baidu.com/s/1E0hcRotocz85I2Oua0wiew
將權重檔案解壓到 assets 目錄即可,
都配置好后,直接運行命令:
python demo/motion_imitate.py --gpu_ids 0 \
--image_size 512 \
--num_source 2 \
--output_dir "./results" \
--assets_dir "./assets" \
--model_id "donald_trump_2" \
--src_path "path?=./assets/samples/sources/donald_trump_2/00000.PNG,name?=donald_trump_2" \
--ref_path "path?=./assets/samples/references/akun_2.mp4,name?=akun_2,pose_fc?=300"
命令引數的詳細說明,在 motion_imitate.py 檔案里寫的很詳細,這里就不再累述,
運行命令,大功告成,
四、絮叨
我知道,看了這篇文章,你一定又有了很多大膽的想法,
這個演算法會占領新一輪的鬼畜區嗎?拭目以待,
我是 Jack ,我們下期見,
文章持續更新,可以微信公眾號搜索【JackCui-AI】第一時間閱讀,本文 GitHub https://github.com/Jack-Cherish/PythonPark 已經收錄,有大廠面試完整考點,歡迎 Star,
CSDN認證博客專家
演算法工程師
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/234247.html
標籤:其他
下一篇:一山行盡一山青
