全網都在求的「螞蟻呀嘿」教程--基於PaddleGAN的First order motion model實現


什么?你還不知道「螞蟻呀嘿」?這位兄台,那你可能out得相當嚴重!

這是引起男女老少的爭相關注、火爆🔥抖音、B站、全網都在求教程的「螞蟻呀嘿」魔法! 而這秘密就藏在PaddleGAN飛槳生成對抗網絡套件中!

 

 

 

本教程是基於PaddleGAN實現的First Order Motion model, 實現讓任何人唱起「螞蟻呀嘿」的旋律,若是大家喜歡這個教程,請到Github PaddleGAN主頁點擊star呀!下面就讓我們一起動手實現吧!

整體實現只有三步:

  1. 下載PaddleGAN代碼
  2. 運行First Order Motion model的命令
  3. 給視頻加上聲音

看~~ 是不是相當簡單!!接下來讓我們一步步開始吧!

很多人學習python,不知道從何學起。
很多人學習python,掌握了基本語法過后,不知道在哪里尋找案例上手。
很多已經做案例的人,卻不知道如何去學習更加高深的知識。
那么針對這三類人,我給大家提供一個好的學習平台,免費領取視頻教程,電子書籍,以及課程的源代碼!
QQ群:535820575

First Order Motion model原理

First Order Motion model的任務是image animation,給定一張源圖片,給定一個驅動視頻,生成一段視頻,其中主角是源圖片,動作是驅動視頻中的動作,源圖像通常包含一個主體,驅動視頻包含一系列動作。

通俗來說,First Order Motion能夠將給定的驅動視頻中的人物A的動作遷移至給定的源圖片中的人物B身上,生成全新的以人物B的臉演繹人物A的表情的視頻。

以人臉表情遷移為例,給定一個源人物,給定一個驅動視頻,可以生成一個視頻,其中主體是源人物,視頻中源人物的表情是由驅動視頻中的表情所確定的。通常情況下,我們需要對源人物進行人臉關鍵點標注、進行表情遷移的模型訓練。

但是這篇文章提出的方法只需要在同類別物體的數據集上進行訓練即可,比如實現太極動作遷移就用太極視頻數據集進行訓練,想要達到表情遷移的效果就使用人臉視頻數據集voxceleb進行訓練。訓練好后,我們使用對應的預訓練模型就可以達到前言中實時image animation的操作。

下載PaddleGAN代碼

# 從github上克隆PaddleGAN代碼
!git clone https://gitee.com/paddlepaddle/PaddleGAN

  

# 安裝所需安裝包
%cd PaddleGAN/
!pip install -r requirements.txt
!pip install imageio-ffmpeg
%cd applications/

  

!mkdir output

  

執行命令

大家可以上傳自己准備的視頻和圖片,並在如下命令中的source_image參數和driving_video參數分別換成自己的圖片和視頻路徑,然后運行如下命令,就可以完成動作表情遷移,程序運行成功后,會在ouput文件夾生成名為result.mp4的視頻文件,該文件即為動作遷移后的視頻。本項目中提供了原始圖片和驅動視頻供展示使用。具體的各參數使用說明如下

  • driving_video: 驅動視頻,視頻中人物的表情動作作為待遷移的對象
  • source_image: 原始圖片,視頻中人物的表情動作將遷移到該原始圖片中的人物上
  • relative: 指示程序中使用視頻和圖片中人物關鍵點的相對坐標還是絕對坐標,建議使用相對坐標,若使用絕對坐標,會導致遷移后人物扭曲變形
  • adapt_scale: 根據關鍵點凸包自適應運動尺度
!export PYTHONPATH=$PYTHONPATH:/home/aistudio/PaddleGAN && python -u tools/first-order-demo.py  --driving_video ~/work/fullbody.MP4  --source_image ~/work/禿頭喬哥.png --relative --adapt_scale

  

使用moviepy為生成的視頻加上音樂

# add audio
!pip install moviepy

  

#為生成的視頻加上音樂
from moviepy.editor import *

videoclip_1 = VideoFileClip("/home/aistudio/work/fullbody.MP4")
videoclip_2 = VideoFileClip("./output/result.mp4")

audio_1 = videoclip_1.audio

videoclip_3 = videoclip_2.set_audio(audio_1)

videoclip_3.write_videofile("./output/qiaoge.mp4", audio_codec="aac")

  

到這里,螞蟻呀嘿的制作就完成啦!!

至此,本項目帶大家體驗了使用PaddleGAN完成人臉表情遷移的技術運用,歡迎大家嘗試本項目進行不同類型的視頻修復~

當然,PaddleGAN的應用也不會止步於此,PaddleGAN還能提供各類不同的能力,包括唇形合成(對嘴型)、視頻/照片修復(上色、超分、插幀)、人臉動漫化、照片動漫化等等!!一個比一個更厲害!

強烈鼓勵大家玩起來,激發PaddleGAN的潛能!

記得點個Star收藏噢~~

在這里推薦下我的Python開發學習群:535820575,群里都是學Python開發的,如果你想學或者正在學習Python ,歡迎你加入,大家都是軟件開發黨,不定期分享干貨(只有Python軟件開發相關的),包括我自己整理的一份最新的Python進階資料和高級開發教程,歡迎進階中和進想深入Python的小伙伴!

免責聲明:本文內容來源於網絡,文章版權歸原作者所有,意在傳播相關技術知識&行業趨勢,供大家學習交流,若涉及作品版權問題,請聯系刪除或授權事宜。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM