前言
本文的文字及圖片來源于網路,僅供學習、交流使用,不具有任何商業用途,如有問題請及時聯系我們以作處理,
PS:如有需要Python學習資料的小伙伴可以點擊下方鏈接自行獲取
Python免費學習資料、代碼以及交流解答點擊即可加入
最近在抖音上看到很多「螞蟻呀嘿」的魔性視頻,各方大佬齊齊上陣,
剛好看到百度的開源專案,基于PaddleGAN實作表情遷移,于是也來玩一把!
先來看一下成果,各大編程創始人齊唱「螞蟻呀嘿」!
那么需要如何實作呢,下面來手把手教學,
專案地址:
https://aistudio.baidu.com/aistudio/projectdetail/1586056
目前該專案適合在Windows和Linux上操作,Mac在呼叫ffmpeg這一步會出錯,
不知道是不是和mac不支持gpu安裝paddlepaddle有關系,
首先將PaddleGAN的原始碼從gitee上下載下來,
# 從gitee上克隆PaddleGAN代碼
git clone https://gitee.com/paddlepaddle/
沒有安裝git的小伙伴,在文末可以獲取到檔案,
下載解壓后,將PaddleGAN檔案夾放置在PyCharm的專案中,
如此就能在PyCharm專案的虛擬環境中,進行相關的安裝操作了,
# 終端打開檔案夾
cd PaddleGAN
# 安裝相關依賴
pip install -r requirements.txt -i https://mirror.baidu.com/pypi/simple
pip install imageio-ffmpeg -i https://mirror.baidu.com/pypi/simple
終端打開檔案夾,安裝所需要的依賴,
畢竟是百度的開源專案,所以使用了百度的pip源,速度真的很快,
下面再創建一個輸出檔案夾,生成的視頻會保存在這里,
# 打開檔案夾
cd applications/
# 新建檔案夾
mkdir output
最后還需要安裝百度的paddlepaddle和paddlehub,
paddlepaddle是基礎,而paddlehub則是用來檢測人臉用的,
將「輸入圖片」中的所有人臉檢測出來,然后使用PaddleGAN對每個人臉進行表情遷移,最后生成視頻,
# 安裝庫
pip install paddlepaddle -i https://mirror.baidu.com/pypi/simple
pip install paddlehub -i https://mirror.baidu.com/pypi/simple
下面就可在終端運行如下命令,
export PYTHONPATH=$PYTHONPATH:../PycharmProjects/mayiyahei/PaddleGAN && python -u tools/first-order-demo.py --driving_video ../PycharmProjects/mayiyahei/MaYiYaHei.MP4 --source_image ../PycharmProjects/mayiyahei/input.jpeg --relative --adapt_scale
其中,“../”處應該修改成為你自己的路徑,
命令列引數說明如下,
driving_video: 驅動視頻,視頻中人物的表情動作作為待遷移的物件,
source_image: 原始圖片,視頻中人物的表情動作將遷移到該原始圖片中的人物上 ,
relative: 指示程式中使用視頻和圖片中人物關鍵點的相對坐標還是絕對坐標,建議使用相對坐標,若使用絕對坐標,會導致遷移后人物扭曲變形,
adapt_scale: 根據關鍵點凸包自適應運動尺度,
此處,大家可以使用自己設計的圖片,生成你想要的視頻,
比如我的原始圖片input.jpeg,就是編程創始人集合照,如下圖,
對于其他的視頻特效,就需要更改驅動視頻,即修改driving_video,
另外生成的視頻是不帶聲音的,所以需要使用FFmpeg將視頻與音頻進行合并,
# 視頻和音頻合并
ffmpeg -i MaYiYaHei.mp4 -i MYYH.mp3 -vcodec copy -acodec copy result.mp4
如果你想生成GIF,分享給其他人,比如整蠱你的好朋友,
同樣可以使用FFmpeg生成GIF,
# 生成GIF
ffmpeg -ss 0 -t 8 -i result.mp4 -s 600*400 -r 15 result.gif
需要設定視頻截取時間及GIF影像大小,
總結
這里需要注意,在使用PaddleGAN對人臉進行動作表情遷移,這期間耗費的時間比較多,慢慢等就好了,
感興趣的小伙伴也可以動手試一試,
公眾號回復【210306】即可獲取所有相關檔案
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/266906.html
標籤:Python
