Rumah  >  Artikel  >  Peranti teknologi  >  Python+AI membuat gambar statik bergerak

Python+AI membuat gambar statik bergerak

王林
王林ke hadapan
2023-04-08 23:41:061927semak imbas

Hello semua.

Pernahkah anda melihat video seperti ini semasa anda menonton video pendek Dalam video tersebut, gambar statik seseorang boleh bergerak, seperti mencondongkan kepala atau berkelip.

Kesan yang serupa dengan yang di bawah

Python+AI membuat gambar statik bergerak

Watak di bahagian paling kiri ialah aksi asal, dan di atas ialah gambar statik. Melalui teknologi AI, pergerakan watak di bahagian paling kiri boleh diterapkan pada gambar statik di atas, supaya semua gambar boleh membuat pergerakan yang sama.

Teknologi ini secara amnya dilaksanakan berdasarkan GAN (Generative Adversarial Network) Hari ini saya akan berkongsi dengan anda projek sumber terbuka yang boleh menghasilkan semula kesan di atas.

1. Jalankan projek

Alamat projek: https://github.com/AliaksandrSiarohin/first-order-model

Pertama, git clone memuat turun projek ke tempatan, Masukkan projek untuk memasang kebergantungan.

git clone https://github.com/AliaksandrSiarohin/first-order-model.git<br>cd first-order-model<br>pip install -r requirements.txt

Kemudian, di bawah tajuk Pusat pemeriksaan pra-latihan di halaman utama projek, cari pautan muat turun model dan muat turun fail model saya menggunakan vox-adv-cpk.pth.tar .

Selepas menyediakan fail model, laksanakan arahan berikut dalam direktori akar projek.

python demo.py<br>--config config/vox-adv-256.yaml <br>--driving_video src_video.mp4 <br>--source_image src_img.jpg <br>--checkpoint weights/vox-adv-cpk.pth.tar

Terangkan parameter:

  • --config: fail konfigurasi model, dalam fail sumber
  • --driving_video: sediakan video aksi
  • --source_image: Imej statik yang perlu dianimasikan
  • --checkpoint: Fail model baru dimuat turun

Selepas pelaksanaan selesai, anda akan melihat input berikut .

Python+AI membuat gambar statik bergerak

Projek ini menggunakan PyTorch​ untuk membina rangkaian saraf dan menyokong GPU dan CPU berjalan, jadi jika komputer anda hanya mempunyai CPU, ia akan berjalan lebih perlahan.

Saya menjalankannya di bawah CPU Seperti yang anda boleh lihat daripada gambar di atas, driving_video hanya mempunyai 31 bingkai. Jika anda juga menggunakan CPU, sebaiknya kawal tempoh video driving_video, jika tidak, masa berjalan akan menjadi lebih lama.

Dengan projek ini, anda boleh membuat beberapa percubaan menarik sendiri.

Python+AI membuat gambar statik bergerak

2. API Python

Di atas mengajar anda cara menjalankan projek pada baris arahan mengikut laman web rasmi.

Sesetengah rakan mungkin mahu memanggilnya dalam projek Python, jadi saya mengekstrak kod teras dalam demo.py dan merangkumkan API Pyhton.

Python+AI membuat gambar statik bergerak

Rakan yang memerlukan boleh memuat turun fail ini, meletakkannya dalam direktori tahap yang sama dengan model pesanan pertama, dan memanggilnya mengikut kod berikut.

fom = FOM()<br><span style="color: rgb(106, 115, 125); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);"># 查看驱动视频,驱动视频最好裁剪为480 x 640 大小的视频</span><br>driving_video = <span style="color: rgb(102, 153, 0); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">''</span><br><span style="color: rgb(106, 115, 125); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);"># 被驱动的画面</span><br>source_image = <span style="color: rgb(102, 153, 0); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">''</span><br><span style="color: rgb(106, 115, 125); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);"># 输出视频</span><br>result_video = <span style="color: rgb(102, 153, 0); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">''</span><br><span style="color: rgb(106, 115, 125); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);"># 驱动画面</span><br>fom.img_to_video(driving_video, source_image, result_video)

Atas ialah kandungan terperinci Python+AI membuat gambar statik bergerak. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:51cto.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam