88av在线视频_ass白嫩白嫩的小美女_男男电影完整版在线观看_久久久精品久久_免费黄网站在线_综合久久综合_国产精品17p_午夜免费电影一区在线观看_91综合免费在线_性色88av老女人视频

如何用 ModelScope 實(shí)現(xiàn) “AI 換臉” 視頻

網(wǎng)絡(luò) 分享 時(shí)間: 收藏本文

如何用 ModelScope 實(shí)現(xiàn) “AI 換臉” 視頻

前言

當(dāng)下,視頻內(nèi)容火爆,帶有爭議性或反差大的換臉視頻總能吸引人視線。雖然 AI 換臉在市面上已經(jīng)流行了許久,相關(guān)制作工具或移動(dòng)應(yīng)用也是數(shù)不勝數(shù)。但是多數(shù)制作工具多數(shù)情況下不是會員就是收費(fèi),而且替換模板有限。以下在實(shí)戰(zhàn)的角度,用阿里 的圖像人臉融合實(shí)現(xiàn)一下 AI 視頻換臉。

流程

提供一段視頻和一張?zhí)鎿Q的人臉圖片,用 - 將視頻根據(jù)幀率拆成圖片,用 提取視頻里的音頻為單獨(dú)文件 (mp3)。遍歷目錄下的每一幀的圖片,通過 的人臉融合模型,傳入新的人臉和幀率圖片,得到替換過人臉的幀圖片。最后再通過 - 將替換的人臉圖片組合成新視頻, 添加提取出的音頻文件。

環(huán)境

1. 3.7.16

2. 1.4.2

3. - 4.7.0

4. 12.2.0

環(huán)境安裝

1. 虛擬環(huán)境添加

conda create -n modelscope python=3.7 && conda activate modelscope

2. 安裝 ,使用了國內(nèi)鏡像源

pip install modelscope --upgrade -i https://pypi.tuna.tsinghua.edu.cn/simple

3. 安裝

pip install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple

4. 安裝

因?yàn)閱问菆D片用不上,所以安裝方法放在下面視頻換臉里

圖片換臉

1. 素材準(zhǔn)備

我這里分別準(zhǔn)備了一個(gè)畫面里出現(xiàn)正臉,側(cè)臉和兩張臉的圖片,然后分別用一張圖片替換,最后運(yùn)行代碼查看效果。(可能是模型原因,感覺光看圖片的換臉好像相差不大,倒有點(diǎn)像只是開了個(gè)美顏,也有可能是倆演員有點(diǎn)像,認(rèn)真看還有有點(diǎn)不同)。

2. 代碼部分

import cv2
from modelscope.outputs import OutputKeys
from modelscope.pipelines import pipeline
from modelscope.utils.constant import Tasks
image_face_fusion = pipeline(Tasks.image_face_fusion, 
                       model='damo/cv_unet-image-face-fusion_damo')
template_path = '181.jpg'
user_path = 'face.jpg'
result = image_face_fusion(dict(template=template_path, user=user_path))
cv2.imwrite('result.png', result[OutputKeys.OUTPUT_IMG])
print('finished!')

視頻換臉

1. 安裝

如果是 可以按我下面的選擇, 是動(dòng)態(tài)版本,不帶的是靜態(tài)版本,所有的功能都集合在一起。

2. 環(huán)境配置

下載后解壓會生成一下目錄,將 bin 文件放入電腦環(huán)境變量中,然后通過 - 查看是否安裝成功。

3. 用法

3.1. 從視頻中抽取音頻 (輸入視頻和輸出音頻的地址可以是相對路徑)

ffmpeg -i videos\11.mp4 -q:a 0 -map a audio\audio.mp3 

3.2. 將獨(dú)立音頻文件添加到視頻里 (接收輸入視頻,輸入音頻,輸出新視頻)

ffmpeg -i videos/ldh.mp4 -i audio/audio.mp3 -c:v copy -c:a aac -strict experimental videos/new_ldh.mp4

4. 開始編碼

from pathlib import Path
import cv2
import os
def video2mp3_img(video_path, save_path):
    def video_split(video_path, save_path):
        if not os.path.exists(save_path):
            os.makedirs(save_path)
        cap = cv2.VideoCapture(video_path)
        i = 0
        while True:
            ret, frame = cap.read()
            if ret:
                cv2.imwrite(save_path + '/' + str(i) + '.jpg', frame)
                i += 1
            else:
                break
        cap.release()
    if not os.path.exists(save_path):
        os.makedirs(save_path)
        
    # 視頻分割
    video_split(video_path, save_path)
    
    # 視頻轉(zhuǎn)音頻
    os.system("ffmpeg -i {} -q:a 0 -map a {}/audio.mp3".format(video_path, save_path))
def face_replace(user_path=""):
    from pathlib import Path
    import cv2
    from modelscope.outputs import OutputKeys
    from modelscope.pipelines import pipeline
    from modelscope.utils.constant import Tasks
    import os
    os.environ['KMP_DUPLICATE_LIB_OK'] = 'True'
    def my_function(img_path):
    
        image_face_fusion = pipeline(Tasks.image_face_fusion, model='damo/cv_unet-image-face-fusion_damo')
        template_path = img_path
        filename = os.path.splitext(os.path.basename(img_path))[0]
        
        # 替換面部依賴
        result = image_face_fusion(dict(template=template_path, user=user_path))
        cv2.imwrite(f'video_imgout/{filename}.jpg', result[OutputKeys.OUTPUT_IMG])
            
    threads = []
    BASE_PATH = os.path.dirname(__file__)
    
    for dirpath, dirnames, filenames in os.walk(r"D:\3code\3Python\modelscope\mv_face_change-main"):
        for filename in filenames:
            print(filename)
            if filename.endswith('.jpg'):
                file_path = Path(os.path.join(dirpath, filename))
                print(file_path)
                my_function(str(file_path))
def img2mp4(video_path, save_name):
    BASE_PATH = "D:\3code\3Python\modelscope\mv_face_change-main"
    img = cv2.imread("video_img/0.jpg")
    imgInfo = img.shape
    size = (imgInfo[1], imgInfo[0])
    
    files = []
    for dirpath, dirnames, filenames in os.walk(r"D:\3code\3Python\modelscope\mv_face_change-main\video_imgout"):
        for filename in filenames:
            fileName = Path(os.path.join(dirpath, filename))
            files.append(os.path.join(dirpath, filename))
    
    files = [file.replace('\\', '/') for file in files]
    files.sort(key=lambda x: int(x.split('/')[-1].split('.')[0]))
    fourcc = cv2.VideoWriter_fourcc(*'mp4v')
    videoWrite = cv2.VideoWriter(r"D:\3code\3Python\modelscope\mv_face_change-main\videos\ldh.mp4", fourcc, 25, size)  # 寫入對象 1 file name  3: 視頻幀率
    for i in files:
        print(i)
        img = cv2.imread(str(i))
        videoWrite.write(img)
    
    # 將video_img中的音頻文件添加到視頻中
    os.system("ffmpeg -i {} -i {} -c:v copy -c:a aac -strict experimental {}".format("videos/ldh.mp4", "audio/audio.mp3", "videos/newlest_ldh.mp4"))
if __name__ == '__main__':
    BASE = os.path.dirname(__file__)
    video_path = os.path.join(BASE, "videos/demo.mp4")  
    save_path = os.path.join(BASE, "video_img")         
    # 視頻  ==> imgs
    video2mp3_img(video_path, save_path)
    
    # 人臉替換
    face_replace(user_path='zsy.jpg')
    
    # imgs ==> 視頻
    img2mp4(video_path, save_name='zsy')

5. 報(bào)錯(cuò)匯總

當(dāng)運(yùn)行上面代碼,如果出現(xiàn) file does not any ,那就是分離音頻或追加音頻到視頻的這兩個(gè)地方報(bào)的錯(cuò)誤,大部分情況下輸出路徑不正確或命令參數(shù)不對。還有一個(gè)錯(cuò)誤我沒有記錄,就是讓視頻壓根沒有聲音,再執(zhí)行分離操作時(shí)也會報(bào)錯(cuò)。這個(gè)是我上班時(shí)隨便拿的視頻測試 (因?yàn)椴荒艽鞫鷻C(jī),剛好視頻就是沒聲音的),所以使勁測使勁報(bào)錯(cuò),換了視頻就好了,關(guān)鍵是錯(cuò)誤提示也沒說是視頻沒聲音。

6. 效果演示

由于時(shí)間原因,沒有用楊過的視頻,就用沒有聲音的視頻做了換臉演示。以后還要對換臉圖片替換做多線程處理。

相關(guān)專題 視頻音頻替換人臉原因
周易 易經(jīng) 代理招生 二手車 網(wǎng)絡(luò)營銷 旅游攻略 非物質(zhì)文化遺產(chǎn) 查字典 精雕圖 戲曲下載 抖音代運(yùn)營 易學(xué)網(wǎng) 互聯(lián)網(wǎng)資訊 成語 詩詞 工商注冊 抖音帶貨 云南旅游網(wǎng) 網(wǎng)絡(luò)游戲 代理記賬 短視頻運(yùn)營 在線題庫 國學(xué)網(wǎng) 抖音運(yùn)營 雕龍客 雕塑 奇石 散文 常用文書 河北生活網(wǎng) 好書推薦 游戲攻略 心理測試 石家莊人才網(wǎng) 考研真題 漢語知識 心理咨詢 手游安卓版下載 興趣愛好 網(wǎng)絡(luò)知識 十大品牌排行榜 商標(biāo)交易 單機(jī)游戲下載 短視頻代運(yùn)營 寶寶起名 范文網(wǎng) 電商設(shè)計(jì) 免費(fèi)發(fā)布信息 服裝服飾 律師咨詢 搜救犬 Chat GPT中文版 經(jīng)典范文 優(yōu)質(zhì)范文 工作總結(jié) 二手車估價(jià) 實(shí)用范文 石家莊點(diǎn)痣 養(yǎng)花 名酒回收 石家莊代理記賬 女士發(fā)型 搜搜作文 鋼琴入門指法教程 詞典 讀后感 玄機(jī)派 企業(yè)服務(wù) 法律咨詢 chatGPT國內(nèi)版 chatGPT官網(wǎng) 勵(lì)志名言 文玩 語料庫 游戲推薦 男士發(fā)型 高考作文 PS修圖 兒童文學(xué) 工作計(jì)劃 舟舟培訓(xùn) IT教程 手機(jī)游戲推薦排行榜 暖通,電地暖, 女性健康 苗木供應(yīng) ps素材庫 短視頻培訓(xùn) 優(yōu)秀個(gè)人博客 包裝網(wǎng) 創(chuàng)業(yè)賺錢 養(yǎng)生 民間借貸律師 綠色軟件 安卓手機(jī)游戲 手機(jī)軟件下載 手機(jī)游戲下載 單機(jī)游戲大全 石家莊論壇 網(wǎng)賺 職業(yè)培訓(xùn) 資格考試 成語大全 英語培訓(xùn) 藝術(shù)培訓(xùn) 少兒培訓(xùn) 苗木網(wǎng) 雕塑網(wǎng) 好玩的手機(jī)游戲推薦 漢語詞典 中國機(jī)械網(wǎng) 美文欣賞 紅樓夢 道德經(jīng) 標(biāo)準(zhǔn)件 電地暖 鮮花 書包網(wǎng) 英語培訓(xùn)機(jī)構(gòu) 電商運(yùn)營
毛片高清| 一级女性全黄久久生活片| 国产成人女人在线视频观看| 一级片片| 亚洲精品中文一区不卡| 亚洲精品影院| 成人免费一级毛片在线播放视频| 成人影院一区二区三区| 九九热国产视频| 成人高清视频免费观看| 日韩av成人| 国产不卡福利| 高清一级毛片一本到免费观看| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 久久国产精品自由自在| 欧美另类videosbestsex高清| 日韩女人做爰大片| 亚洲精品中文一区不卡| 黄视频网站免费观看| 午夜久久网| 国产一区二区精品久久91| 国产成人精品综合在线| 九九久久99| 亚洲第一页色| 欧美大片a一级毛片视频| 国产伦精品一区二区三区在线观看| 亚欧成人乱码一区二区| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 国产网站免费观看| 国产一区二区精品| 午夜欧美成人香蕉剧场| 97视频免费在线观看| 韩国三级视频网站| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 日韩专区第一页| 成人高清视频免费观看| 91麻豆精品国产片在线观看| 91麻豆高清国产在线播放| 99热精品在线| 日本特黄一级| 日日日夜夜操| 国产成人精品综合| 黄视频网站在线观看| 国产精品免费久久| 国产一区二区精品久| 欧美日本免费| 青青久久网| 成人高清视频在线观看| 四虎影视久久| 可以免费在线看黄的网站| 精品国产一区二区三区免费 | 高清一级做a爱过程不卡视频| 国产成+人+综合+亚洲不卡| 成人影院一区二区三区| 亚欧视频在线| 天天色成人网| 麻豆系列 在线视频| 午夜激情视频在线播放| 国产美女在线一区二区三区| 久久国产一久久高清| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 一本高清在线| 国产综合成人观看在线| 欧美激情一区二区三区在线| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 黄色福利片| 欧美18性精品| 国产一区精品| 日韩欧美一及在线播放| 精品久久久久久中文字幕2017| 国产不卡精品一区二区三区| 国产高清视频免费观看| 97视频免费在线观看| 日韩在线观看免费| 精品国产亚一区二区三区| 日韩免费在线| 中文字幕97| 毛片成人永久免费视频| 免费毛片基地| 午夜家庭影院| 青青青草视频在线观看| 国产精品自拍亚洲| 青青久热| 久久久成人网| 日本特黄一级| 国产不卡高清在线观看视频 | 国产一区精品| 成人av在线播放| 精品国产一区二区三区久久久蜜臀 | 国产激情一区二区三区| 一级女性全黄久久生活片| 天天做日日爱夜夜爽| 999精品在线| 成人高清视频在线观看| 91麻豆精品国产高清在线| 麻豆网站在线看| 国产一级生活片| 九九精品在线| 青青青草视频在线观看| 精品久久久久久免费影院| 精品国产一区二区三区精东影业| 日本在线不卡视频| 天天色色色| 香蕉视频久久| 精品国产一区二区三区免费 | 999久久66久6只有精品| 精品国产一区二区三区久久久蜜臀 | 日韩免费在线视频| 午夜欧美成人香蕉剧场| 欧美激情在线精品video| 国产视频一区二区在线播放| 久久精品道一区二区三区| 91麻豆精品国产高清在线| 欧美1区| 高清一级做a爱过程不卡视频| 四虎影视库| 99久久精品费精品国产一区二区| 九九精品久久| 国产伦久视频免费观看 视频| 国产综合91天堂亚洲国产| 99热精品一区| 毛片高清| 国产麻豆精品视频| 精品久久久久久中文| 久久国产一久久高清| 国产成人啪精品| 日日夜夜婷婷| 欧美国产日韩久久久| 久久精品欧美一区二区| 99热视热频这里只有精品| 国产麻豆精品| 国产不卡在线看| 日韩在线观看视频网站| 可以免费看污视频的网站| 精品视频在线观看一区二区| 国产成人精品综合在线| 999久久狠狠免费精品| 国产网站免费视频| 沈樵在线观看福利| 成人av在线播放| 91麻豆tv| 国产亚洲精品aaa大片| 欧美日本免费| 亚洲女初尝黑人巨高清在线观看| 国产精品免费精品自在线观看| 国产成a人片在线观看视频| 欧美激情一区二区三区视频 | 欧美爱色| 91麻豆精品国产自产在线| 四虎久久影院| 999精品视频在线| 日韩专区一区| 日韩av成人| 日韩女人做爰大片| 精品在线免费播放| 黄色短视频网站| 国产高清在线精品一区a| 国产国语对白一级毛片| 欧美18性精品| 麻豆系列 在线视频| 九九久久99综合一区二区| 欧美激情一区二区三区视频高清 | 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 午夜在线观看视频免费 成人| 亚洲 国产精品 日韩| 国产一区精品| 欧美激情伊人| 中文字幕97| 久久精品道一区二区三区| 青青久久精品| 成人高清视频在线观看| 精品久久久久久综合网| 黄视频网站免费观看| 国产高清视频免费观看| 精品视频在线观看一区二区| 国产成人精品综合在线| 久草免费资源| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 国产成+人+综合+亚洲不卡| 91麻豆爱豆果冻天美星空| 国产成a人片在线观看视频| 精品视频一区二区三区| 免费的黄视频| 久久久久久久男人的天堂| 欧美电影免费| 四虎久久影院| 成人免费观看男女羞羞视频| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 毛片的网站| 久久国产精品只做精品| 亚洲wwwwww| a级黄色毛片免费播放视频| 国产91精品一区二区| 亚洲wwwwww| 成人免费高清视频| 国产麻豆精品免费密入口| 欧美激情在线精品video| 日韩在线观看免费| 久久精品道一区二区三区| 久久精品成人一区二区三区|