如何讓利用Python+AI使靜態(tài)圖片動(dòng)起來(lái)
前言:
這種技術(shù)一般是基于的GAN(生成對(duì)抗網(wǎng)絡(luò))來(lái)實(shí)現(xiàn),今天我給大家分享一個(gè)開(kāi)源項(xiàng)目,能夠復(fù)現(xiàn)靜態(tài)圖片動(dòng)起來(lái)效果,可以做些有趣的項(xiàng)目,也可以懷念故人。
大家在刷短視頻的時(shí)候有沒(méi)有刷到這樣的視頻,視頻里一張靜態(tài)的人物圖片能動(dòng)起來(lái),如:歪歪頭、眨眨眼。
類(lèi)似于下面這種效果:

最左側(cè)的人物是原始的動(dòng)作,上面是靜態(tài)圖片。通過(guò)AI技術(shù)便可以讓最左側(cè)人物的動(dòng)作運(yùn)用到上面的靜態(tài)圖片上,從而讓張圖都可以做出相同的動(dòng)作。
這種技術(shù)一般是基于的GAN(生成對(duì)抗網(wǎng)絡(luò))來(lái)實(shí)現(xiàn),今天我給大家分享一個(gè)開(kāi)源項(xiàng)目,能夠復(fù)現(xiàn)上面的效果,可以做些有趣的項(xiàng)目,也可以懷念故人。
1. 運(yùn)行項(xiàng)目
項(xiàng)目地址:https://github.com/AliaksandrSiarohin/first-order-model
首先,git clone將項(xiàng)目下載到本地,進(jìn)入項(xiàng)目安裝依賴(lài)。
git clone https://github.com/AliaksandrSiarohin/first-order-model.git cd first-order-model pip install -r requirements.txt
然后,在項(xiàng)目首頁(yè)P(yáng)re-trained checkpoint?標(biāo)題下,找到模型下載鏈接,下載模型文件,模型有很多,我用的是vox-adv-cpk.pth.tar。
準(zhǔn)備好模型文件后,在項(xiàng)目根目錄下執(zhí)行下面命令即可。
python demo.py \ --config config/vox-adv-256.yaml \ --driving_video src_video.mp4 \ --source_image src_img.jpg \ --checkpoint weights/vox-adv-cpk.pth.tar
解釋下參數(shù):
- --config:模型配置文件,在源文件中有
- --driving_video:提供動(dòng)作的視頻
- --source_image:需要加動(dòng)效的靜態(tài)圖片
- --checkpoint:剛剛下載的模型文件
運(yùn)行完成后,會(huì)看到如下輸入。

該項(xiàng)目使用PyTorch?搭建神經(jīng)網(wǎng)絡(luò),支持GPU和CPU運(yùn)行,所以如果你的電腦只有CPU,運(yùn)行會(huì)比較慢。
我是在CPU?下運(yùn)行的,從上圖可以看到,driving_video只有 31 幀。如果你也是CPU?運(yùn)行,最好控制driving_video視頻的時(shí)長(zhǎng),不然運(yùn)行時(shí)長(zhǎng)會(huì)比較長(zhǎng)。
有了該項(xiàng)目,可以自己做些比較有意思的嘗試。

2. Python API
上面教大家按照官網(wǎng)在命令行運(yùn)行該項(xiàng)目。
有些朋友可能想在Python項(xiàng)目中調(diào)用,所以我在demo.py中抽取了核心代碼,封裝了一個(gè)Pyhton API。

有需要的朋友可以下載這個(gè)文件,放到與first-order-model同一級(jí)的目錄下,按照下面代碼調(diào)用即可。
fom = FOM() # 查看驅(qū)動(dòng)視頻,驅(qū)動(dòng)視頻最好裁剪為480 x 640 大小的視頻 driving_video = '' # 被驅(qū)動(dòng)的畫(huà)面 source_image = '' # 輸出視頻 result_video = '' # 驅(qū)動(dòng)畫(huà)面 fom.img_to_video(driving_video, source_image, result_video)
到此這篇關(guān)于如何讓利用Python+AI使靜態(tài)圖片動(dòng)起來(lái)的文章就介紹到這了,更多相關(guān) Python+AI讓圖片動(dòng)起來(lái)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用pycharm+conda配置虛擬環(huán)境的詳細(xì)步驟
這篇文章主要介紹了使用pycharm創(chuàng)建新的項(xiàng)目環(huán)境并使用conda進(jìn)行配置和使用pycharm引用已有的conda虛擬環(huán)境,文中通過(guò)圖文結(jié)合的方式介紹的非常詳細(xì),需要的朋友可以參考下2024-05-05
windows系統(tǒng)IIS部署Django項(xiàng)目的實(shí)踐
采用IIS服務(wù)器部署相比django提供的開(kāi)發(fā)者服務(wù)器具有更好的并發(fā)訪問(wèn)能力,性能更加穩(wěn)定,本文主要介紹了windows系統(tǒng)IIS部署Django項(xiàng)目的實(shí)踐,具有一定的參考價(jià)值,感興趣的可以了解一下2022-03-03
PyTorch中的nn.ConvTranspose2d模塊詳解
nn.ConvTranspose2d是PyTorch中用于實(shí)現(xiàn)二維轉(zhuǎn)置卷積的模塊,廣泛應(yīng)用于生成對(duì)抗網(wǎng)絡(luò)(GANs)和卷積神經(jīng)網(wǎng)絡(luò)(CNNs)的解碼器中。該模塊通過(guò)參數(shù)如輸入輸出通道數(shù)、卷積核大小、步長(zhǎng)、填充等,能控制輸出尺寸和避免棋盤(pán)效應(yīng)2024-09-09
python實(shí)現(xiàn)求兩個(gè)字符串的最長(zhǎng)公共子串方法
今天小編就為大家分享一篇python實(shí)現(xiàn)求兩個(gè)字符串的最長(zhǎng)公共子串方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-07-07
Python中Matplotlib繪圖保存圖片時(shí)調(diào)節(jié)圖形清晰度或分辨率的方法
有時(shí)我們?cè)谑褂胢atplotlib作圖時(shí),圖片不清晰或者圖片大小不是我們想要的,這篇文章主要給大家介紹了關(guān)于Python中Matplotlib繪圖保存圖片時(shí)調(diào)節(jié)圖形清晰度或分辨率的相關(guān)資料,需要的朋友可以參考下2024-05-05
python?數(shù)據(jù)挖掘算法的過(guò)程詳解
這篇文章主要介紹了python?數(shù)據(jù)挖掘算法,首先給大家介紹了數(shù)據(jù)挖掘的過(guò)程,基于sklearn主要的算法模型講解,給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-02-02
解決Ubuntu18中的pycharm不能調(diào)用tensorflow-gpu的問(wèn)題
這篇文章主要介紹了解決Ubuntu18中的pycharm不能調(diào)用tensorflow-gpu的問(wèn)題,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09
分析PyTorch?Dataloader報(bào)錯(cuò)ValueError:num_samples的另一種可能原因
這篇文章主要介紹了分析PyTorch?Dataloader報(bào)錯(cuò)ValueError:num_samples的另一種可能原因,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-02-02

