ComfyUI  >  Workflow  >  LivePortrait | Animasikan Potret | Img2Vid

LivePortrait | Animasikan Potret | Img2Vid

Workflow ComfyUI LivePortrait Img2Vid ini menghidupkan gambar potret diam dengan mengintegrasikan kerangka kerja LivePortrait yang efisien. Ini memungkinkan Anda untuk membuat video animasi yang sangat realistis dengan kontrol penuh atas ekspresi wajah, gerakan kepala, dan detail halus seperti mata dan mulut.

Alur Kerja ComfyUI LivePortrait

ComfyUI LivePortrait Workflow
Ingin menjalankan workflow ini?
  • Workflow yang sepenuhnya operasional
  • Tidak ada node atau model yang hilang
  • Tidak perlu pengaturan manual
  • Menampilkan visual yang menakjubkan

Contoh ComfyUI LivePortrait

Deskripsi ComfyUI LivePortrait

Apa itu LivePortrait?

LivePortrait adalah kerangka kerja animasi potret yang efisien yang dikembangkan oleh Kuaishou Technology yang bertujuan untuk mensintesis video hidup dari satu gambar sumber. Ini menggunakan gambar sumber sebagai referensi penampilan dan mengambil gerakan (ekspresi wajah dan pose kepala) dari video penggerak, audio, teks, atau generasi.

Tidak seperti metode difusi arus utama, LivePortrait mengeksplorasi dan memperluas kerangka kerja berbasis titik kunci implisit untuk secara efektif menyeimbangkan efisiensi komputasi dan kendali. Ini berfokus pada generalisasi yang lebih baik, kendali, dan efisiensi untuk penggunaan praktis. LivePortrait memiliki kualitas generasi yang tinggi bahkan dibandingkan dengan metode difusi, sementara sangat cepat - sekitar 12,8ms per frame pada GPU RTX 4090 dengan PyTorch.

Untuk lebih jelasnya, kunjungi

Bagaimana LivePortrait Bekerja

Pada tingkat tinggi, LivePortrait mengambil gambar sumber dan video penggerak sebagai input. Ini mengekstrak penampilan dari gambar sumber dan gerakan dari video penggerak. Ini kemudian digabungkan menggunakan modul warping dan generasi untuk mensintesis video potret animasi yang mempertahankan identitas gambar sumber tetapi mengikuti gerakan dan ekspresi video penggerak.

Komponen utama dalam LivePortrait adalah:

  1. Ekstraktor Fitur Penampilan: Mengkodekan informasi identitas dan penampilan dari gambar sumber.
  2. Ekstraktor Gerakan: Mengekstrak fitur gerakan (titik kunci wajah) dari frame video penggerak.
  3. Modul Warping: Menggunakan gerakan yang diekstrak untuk memanipulasi fitur gambar sumber, menyelaraskannya dengan pose dan ekspresi penggerak.
  4. Generator Gambar: Mengambil fitur yang dimanipulasi dan mensintesis frame animasi fotorealistik akhir.
  5. Modul Menjahit & Menargetkan Ulang: Secara opsional menjahit potret yang dihasilkan kembali ke gambar asli dan memungkinkan pengendalian wilayah wajah tertentu seperti mata dan mulut.

Modul-modul ini dirancang dengan efisien dan bekerja bersama untuk memungkinkan animasi LivePortrait yang berkualitas tinggi dan dapat dikendalikan.

Cara Menggunakan ComfyUI LivePortrait

Berkat node dan workflow , membuat animasi potret realistis di ComfyUI sekarang lebih mudah. Berikut adalah rincian komponen dan parameter utama dari workflow ComfyUI LivePortrait-nya.

Langkah Utama Workflow ComfyUI LivePortrait Img2Vid

1. Memuat Model Live Portrait

  • Tambahkan node "DownloadAndLoadLivePortraitModels"
  • Atur presisi ke auto atau fp16 untuk kinerja terbaik

2. Pilih Pendeteksi Wajah untuk LivePortrait

  • Anda memiliki pilihan antara node "LivePortraitLoadCropper" (InsightFace) dan "LivePortraitLoadMediaPipeCropper"
  • InsightFace lebih akurat tetapi memiliki lisensi non-komersial, sementara MediaPipe lebih cepat di CPU tetapi kurang akurat
  • Keduanya menghasilkan "cropper" yang akan digunakan untuk mendeteksi dan memotong wajah

3. Memuat dan Memproses Gambar Sumber untuk LivePortrait

  • Muat gambar potret sumber Anda menggunakan node "Load Image"
  • Ubah ukurannya menjadi 512x512 menggunakan node "ImageResize"
  • Sambungkan gambar yang diubah ukurannya ke node "LivePortraitCropper"
  • Juga sambungkan output "cropper" pendeteksi wajah yang Anda pilih ke node ini
  • Parameter kunci di Node "LivePortraitCropper"

"dsize": Ini mengatur resolusi output dari gambar wajah yang dipotong

  • Default adalah 512, artinya wajah akan dipotong menjadi 512x512 piksel
  • Nilai yang lebih tinggi akan memotong wajah dalam resolusi lebih tinggi, tetapi mungkin lebih lambat untuk diproses
  • Nilai yang lebih rendah akan lebih cepat tetapi mungkin kehilangan beberapa detail

"scale": Ini mengontrol seberapa dekat pemotongan wajah

  • Default adalah 2.3, nilai yang lebih tinggi akan memperbesar wajah, nilai yang lebih rendah akan mencakup lebih banyak kepala/latar belakang
  • Anda ingin menyesuaikan ini agar pemotongan mencakup seluruh wajah dan beberapa latar belakang, tetapi tidak terlalu banyak ruang ekstra
  • Pemotongan wajah yang baik penting agar transfer gerakan berfungsi dengan baik
  • Nilai khas berkisar dari 1.8 hingga 2.5 tergantung pada framing gambar sumber

"face_index": Jika ada beberapa wajah yang terdeteksi dalam gambar, ini memilih yang mana untuk dipotong

  • Default adalah 0, yang memilih wajah pertama yang terdeteksi
  • Tingkatkan ini jika Anda ingin memilih wajah yang berbeda dalam gambar
  • Wajah yang terdeteksi diurutkan berdasarkan pengaturan "face_index_order" (default adalah dari terbesar hingga terkecil)

"vx_ratio" dan "vy_ratio" (Opsional): Ini memungkinkan Anda menggeser pemotongan secara vertikal (vy) atau horizontal (vx)

  • Nilai berkisar dari -1 hingga 1
  • Misalnya, mengatur vy ke 0.1 akan menggeser pemotongan ke atas sebesar 10% dari ukuran frame
  • Ini dapat membantu jika pemotongan otomatis sedikit tidak sejajar

"face_index_order": Ini mengatur bagaimana wajah yang terdeteksi diurutkan saat memilih dengan face_index

  • Default adalah "large-small" yang mengurutkan dari wajah terbesar hingga terkecil
  • Juga dapat diurutkan dari kiri ke kanan, atas ke bawah, dll.
  • Ini hanya relevan jika Anda memiliki beberapa wajah dalam gambar Anda

4. Memuat dan Memproses Video Penggerak untuk LivePortrait

  • Muat video penggerak Anda menggunakan node "VHS_LoadVideo"
  • Sesuaikan num_frames menggunakan primitif "frame_load_cap"
  • Ubah ukuran frame video menjadi 480x480 menggunakan node "GetImageSizeAndCount"
  • Anda dapat secara opsional memotong frame video penggerak menggunakan node "LivePortraitCropper" lainnya

5. Menerapkan Transfer Gerakan untuk LivePortrait

  • Tambahkan node "LivePortraitProcess"
  • Sambungkan pipeline yang dimuat, crop_info gambar sumber, gambar sumber yang dipotong, dan frame penggerak ke node "LivePortraitProcess"
  • Parameter kunci di Node "LivePortraitProcess"

"lip_zero": Ketika diaktifkan, ini akan mengosongkan parameter bibir jika mereka jatuh di bawah ambang tertentu

  • Ini dapat membantu mengurangi gerakan bibir yang tidak alami dan meningkatkan sinkronisasi bibir
  • Disarankan untuk mengaktifkan ini kecuali Anda secara khusus ingin mempertahankan semua gerakan bibir

"lip_zero_threshold": Ini mengatur ambang di bawah mana parameter bibir akan dikosongkan ketika "lip_zero" diaktifkan

  • Default adalah 0.03, nilai yang lebih tinggi akan mengosongkan lebih banyak gerakan bibir, nilai yang lebih rendah akan mempertahankan lebih banyak
  • Sesuaikan ini jika Anda ingin mengubah seberapa banyak gerakan bibir yang ditekan

"stitching": Ketika diaktifkan, ini akan menggabungkan wajah yang dihasilkan kembali ke gambar asli menggunakan proses penjahitan

  • Ini dapat membantu menciptakan transisi yang lebih mulus antara wajah yang dianimasikan dan latar belakang
  • Disarankan untuk mengaktifkan ini untuk hasil yang paling alami

"delta_multiplier": Ini mengukur parameter gerakan dengan pengali

  • Default adalah 1.0, nilai yang lebih tinggi akan melebih-lebihkan gerakan, nilai yang lebih rendah akan menguranginya
  • Dapat digunakan untuk menyesuaikan intensitas keseluruhan dari gerakan wajah
  • Nilai khas berkisar dari 0.8 hingga 1.5 tergantung pada efek yang diinginkan

"mismatch_method": Ini mengatur cara workflow menangani ketidakcocokan antara jumlah frame sumber dan penggerak

  • Pilihannya adalah "constant", "cycle", "mirror", dan "cut"
  • "constant" akan menahan frame terakhir, "cycle" akan berulang, "mirror" akan memutar maju kemudian mundur, "cut" akan berhenti
  • Default adalah "constant", ubah ini jika Anda menginginkan perilaku berbeda saat video penggerak lebih panjang atau lebih pendek dari sumber

"relative_motion_mode": Ini mengontrol cara gerakan ditransfer dari video penggerak ke gambar sumber

  • Pilihannya adalah "relative", "source_video_smoothed", "relative_rotation_only", "single_frame", dan "off"
  • "relative" adalah default dan menggunakan transfer gerakan relatif
  • "off" akan menonaktifkan transfer gerakan sepenuhnya
  • Eksperimen dengan mode yang berbeda untuk melihat mana yang memberikan hasil terbaik untuk kasus penggunaan spesifik Anda

"driving_smooth_observation_variance": Ini mengontrol kelancaran gerakan penggerak ketika menggunakan mode gerakan "source_video_smoothed"

  • Nilai yang lebih tinggi akan memperhalus gerakan lebih banyak, nilai yang lebih rendah akan mempertahankan lebih banyak gerakan asli
  • Default adalah 0.000003, sesuaikan ini jika Anda ingin mengubah kelancaran gerakan yang ditransfer

6. Komposit Hasil (Opsional) untuk LivePortrait

  • Untuk menggabungkan wajah yang dianimasikan kembali ke gambar sumber, gunakan node "LivePortraitComposite"
  • Sambungkan gambar sumber asli, gambar yang diubah ukurannya, data output LivePortrait, dan masker opsional
  • Ini akan menghasilkan frame penuh dengan wajah yang dianimasikan yang di-blend

7. Konfigurasikan Target Ulang (Opsional) untuk LivePortrait

  • Untuk kontrol lebih halus atas mata dan bibir, gunakan node "LivePortraitRetargeting"
  • Aktifkan penargetan ulang mata dan/atau bibir dan sesuaikan pengalinya
  • Sambungkan info penargetan ulang ke "LivePortraitProcess"

Harap dicatat bahwa model Insightface diperlukan dalam workflow ini. Lisensi model Insightface (https://github.com/deepinsight/insightface/releases/download/v0.7/buffalo_l.zip) bersifat non-komersial.

Jika Anda tertarik dengan LivePortrait Vid2Vid, silakan gunakan

Ingin Lebih Banyak Workflow ComfyUI?

RunComfy

© Hak Cipta 2024 RunComfy. Seluruh Hak Cipta Dilindungi.

RunComfy adalah yang terdepan ComfyUI platform, menawarkan ComfyUI online lingkungan dan layanan, bersama dengan workflow ComfyUI menampilkan visual yang menakjubkan.