Heim  >  Artikel  >  Technologie-Peripheriegeräte  >  Python+AI bewegt statische Bilder

Python+AI bewegt statische Bilder

王林
王林nach vorne
2023-04-08 23:41:061978Durchsuche

​Hallo zusammen.

Haben Sie schon einmal ein Video wie dieses gesehen, wenn Sie sich kurze Videos ansehen? Im Video kann sich ein statisches Bild einer Person bewegen, z. B. durch Neigen des Kopfes oder Blinzeln.

Ähnlich dem folgenden Effekt

Python+AI bewegt statische Bilder

Der Charakter ganz links ist die ursprüngliche Aktion und das obige ist ein statisches Bild. Durch KI-Technologie können die Bewegungen der Figur ganz links auf das statische Bild oben angewendet werden, sodass alle Bilder die gleiche Bewegung ausführen können.

Diese Technologie basiert im Allgemeinen auf GAN (Generative Adversarial Network). Heute werde ich mit Ihnen ein Open-Source-Projekt teilen, das den oben genannten Effekt reproduzieren kann.

1. Führen Sie das Projekt aus

Projektadresse: https://github.com/AliaksandrSiarohin/first-order-model

Zuerst lädt Git Clone das Projekt lokal herunter und betritt das Projekt, um Abhängigkeiten zu installieren.

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

Dann finden Sie unter dem Titel „Vorab trainierter Prüfpunkt“ den Modell-Download-Link und laden Sie die Modelldatei herunter. Ich habe vox-adv-cpk.pth.tar verwendet.

Führen Sie nach der Vorbereitung der Modelldatei den folgenden Befehl im Projektstammverzeichnis aus.

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

Erklären Sie die Parameter:

  • --config: Modellkonfigurationsdatei, die in der Quelldatei enthalten ist
  • --driving_video: Aktionsvideo bereitstellen
  • --source_image: statisches Bild, das animiert werden muss
  • - - Prüfpunkt: Nachdem die gerade heruntergeladene Modelldatei

abgeschlossen ist, wird die folgende Eingabe angezeigt.

Python+AI bewegt statische Bilder

Dieses Projekt verwendet PyTorch zum Aufbau eines neuronalen Netzwerks und unterstützt GPU- und CPU-Betrieb. Wenn Ihr Computer also nur über eine CPU verfügt, ist der Betrieb langsamer.

Ich verwende es unter CPU. Wie Sie auf dem Bild oben sehen können, hat Driving_Video nur 31 Frames. Wenn Sie auch mit der CPU arbeiten, ist es am besten, die Dauer des Driving_video-Videos zu steuern, da sonst die Laufzeit länger ist.

Mit diesem Projekt können Sie einige interessante Eigenversuche unternehmen.

Python+AI bewegt statische Bilder

2. Python-API

Das Obige zeigt Ihnen, wie Sie das Projekt auf der Befehlszeile gemäß der offiziellen Website ausführen.

Einige Freunde möchten es vielleicht in Python-Projekten aufrufen, deshalb habe ich den Kerncode in demo.py extrahiert und eine Python-API gekapselt.

Python+AI bewegt statische Bilder

Freunde in Not können diese Datei herunterladen, im selben Verzeichnis wie das First-Order-Model ablegen und sie gemäß dem folgenden Code aufrufen.

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)

Das obige ist der detaillierte Inhalt vonPython+AI bewegt statische Bilder. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:51cto.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen