1. 我用Python實現(xiàn)火爆全網(wǎng)的「螞蟻呀嘿」視頻特效!

        共 2476字,需瀏覽 5分鐘

         ·

        2021-03-05 12:06

        來源 | 法納斯特
        作者| 小F


        最近小F在抖音上看到很多「螞蟻呀嘿」的魔性視頻,各方大佬齊齊上陣。


        剛好看到百度的開源項目,基于PaddleGAN實現(xiàn)表情遷移,于是也來玩一把!


        先來看一下小F的成果,各大編程創(chuàng)始人齊唱「螞蟻呀嘿」,文末有動態(tài)視頻。



        那么需要如何實現(xiàn)呢,下面小F來手把手教學(xué)。


        項目地址:

        https://aistudio.baidu.com/aistudio/projectdetail/1586056


        目前該項目適合在Windows和Linux上操作,Mac在調(diào)用ffmpeg這一步會出錯。


        不知道是不是和mac不支持gpu安裝paddlepaddle有關(guān)系。


        首先將PaddleGAN的源碼從gitee上下載下來。


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


        沒有安裝git的小伙伴先自行百度安裝git。


        下載解壓后,小F是將PaddleGAN文件夾放置在PyCharm的項目中。



        如此就能在PyCharm項目的虛擬環(huán)境中,進(jìn)行相關(guān)的安裝操作了。


        # 終端打開文件夾
        cd PaddleGAN

        # 安裝相關(guān)依賴
        pip install -r requirements.txt -i https://mirror.baidu.com/pypi/simple
        pip install imageio-ffmpeg -i https://mirror.baidu.com/pypi/simple


        終端打開文件夾,安裝所需要的依賴。


        畢竟是百度的開源項目,所以使用了百度的pip源,速度真的很快。


        下面再創(chuàng)建一個輸出文件夾,生成的視頻會保存在這里。


        # 打開文件夾
        cd applications/

        # 新建文件夾
        mkdir output


        最后還需要安裝百度的paddlepaddle和paddlehub。


        paddlepaddle是基礎(chǔ),而paddlehub則是用來檢測人臉用的。


        將「輸入圖片」中的所有人臉檢測出來,然后使用PaddleGAN對每個人臉進(jìn)行表情遷移,最后生成視頻。


        # 安裝庫
        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


        其中,“../”處應(yīng)該修改成為你自己的路徑。


        命令行參數(shù)說明如下。


        driving_video: 驅(qū)動視頻,視頻中人物的表情動作作為待遷移的對象。

        source_image: 原始圖片,視頻中人物的表情動作將遷移到該原始圖片中的人物上 。

        relative: 指示程序中使用視頻和圖片中人物關(guān)鍵點的相對坐標(biāo)還是絕對坐標(biāo),建議使用相對坐標(biāo),若使用絕對坐標(biāo),會導(dǎo)致遷移后人物扭曲變形。

        adapt_scale: 根據(jù)關(guān)鍵點凸包自適應(yīng)運動尺度。


        此處,大家可以使用自己設(shè)計的圖片,生成你想要的視頻。


        比如我的原始圖片input.jpeg,就是編程創(chuàng)始人集合照,如下圖。



        對于其他的視頻特效,就需要更改驅(qū)動視頻,即修改driving_video。


        另外生成的視頻是不帶聲音的,所以需要使用FFmpeg將視頻與音頻進(jìn)行合并。


        頻和頻合并
        ffmpeg -i MaYiYaHei.mp4 -i MYYH.mp3 -vcodec copy -acodec copy result.mp4


        最終實現(xiàn)項目的視頻效果如下。



        如果你想生成GIF,分享給其他人,比如整蠱你的好朋友。


        同樣可以使用FFmpeg生成GIF。


        # 生成GIF
        ffmpeg -ss 0 -t 8 -i result.mp4 -s 600*400 -r 15 result.gif


        需要設(shè)定視頻截取時間及GIF圖像大小。



        總結(jié)


        好了,到此本期的實踐就結(jié)束了。


        相關(guān)代碼及文件鏈接:https://pan.baidu.com/s/1Rr083kg4XwxNllQZEqfXPQ  密碼:8b49


        感興趣的小伙伴也可以動手試一試。


        這里需要注意,在使用PaddleGAN對人臉進(jìn)行動作表情遷移,這期間耗費的時間比較多,慢慢等就好了。



        學(xué)Python,推薦關(guān)注豬哥

        ??????

        瀏覽 73
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        評論
        圖片
        表情
        推薦
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
          
          

            1. 免费看一区二区三区 | 93色色| 天天日天天射天天 | 国产精品探花熟女AV | 胖女人的毛片AAA |