Diffusers documentation

Generasi terkendali

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v0.42.1).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Generasi terkendali

Mengendalikan output yang dihasilkan oleh model difusi telah lama menjadi tujuan komunitas dan kini menjadi topik penelitian yang aktif. Pada banyak model difusi populer, perubahan halus pada input, baik berupa gambar maupun prompt teks, dapat mengubah output secara drastis. Dalam dunia ideal, kita ingin mampu mengendalikan bagaimana semantik dipertahankan dan diubah.

Sebagian besar contoh pelestarian semantik dapat direduksi menjadi kemampuan untuk memetakan perubahan input ke perubahan output secara akurat. Misalnya, menambahkan kata sifat pada subjek dalam prompt akan mempertahankan seluruh gambar, hanya memodifikasi subjek yang diubah. Atau, variasi gambar dari subjek tertentu akan mempertahankan pose subjek tersebut.

Selain itu, ada kualitas gambar yang dihasilkan yang ingin kami pengaruhi di luar pelestarian semantik. Artinya, secara umum, kami ingin output kami memiliki kualitas yang baik, mematuhi gaya tertentu, atau terlihat realistis.

Kami akan mendokumentasikan beberapa teknik yang didukung oleh diffusers untuk mengontrol generasi model difusi. Banyak dari ini merupakan penelitian mutakhir dan bisa cukup rumit. Jika ada hal yang perlu diklarifikasi atau Anda memiliki saran, jangan ragu untuk membuka Diskusi GitHub atau isu GitHub.

Kami menyediakan penjelasan tingkat tinggi tentang bagaimana proses generasi dapat dikendalikan, serta cuplikan teknisnya. Untuk penjelasan teknis yang lebih mendalam, makalah asli yang ditautkan dari pipeline selalu menjadi sumber terbaik.

Tergantung pada kasus penggunaannya, seseorang harus memilih teknik yang sesuai. Dalam banyak kasus, teknik-teknik ini dapat dikombinasikan. Misalnya, seseorang dapat menggabungkan Textual Inversion dengan SEGA untuk memberikan panduan semantik yang lebih baik pada output yang dihasilkan menggunakan Textual Inversion.

Kecuali disebutkan lain, ini adalah teknik yang bekerja dengan model yang sudah ada dan tidak memerlukan bobotnya sendiri.

  1. InstructPix2Pix
  2. Attend dan Excite
  3. Panduan Semantik
  4. Panduan Self-attention
  5. Depth2Image
  6. MultiDiffusion Panorama
  7. DreamBooth
  8. Textual Inversion
  9. ControlNet
  10. Penimbangan Prompt
  11. Custom Diffusion
  12. DiffEdit
  13. T2I-Adapter
  14. FABRIC

Untuk kenyamanan, kami menyediakan tabel untuk menunjukkan metode mana yang hanya untuk inferensi dan mana yang memerlukan penyesuaian halus/pelatihan.

MetodeHanya inferensiMembutuhkan pelatihan /
fine-tuning
Komentar
InstructPix2Pix✅❌Dapat juga dihaluskan (fine-tuned) untuk
kinerja yang lebih baik pada instruksi
pengeditan tertentu.
Attend dan Excite✅❌
Panduan Semantik✅❌
Panduan Self-attention✅❌
Depth2Image✅❌
MultiDiffusion Panorama✅❌
DreamBooth❌✅
Textual Inversion❌✅
ControlNet✅❌ControlNet dapat
dilatih/disesuaikan pada
kondisi kustom.
Penimbangan Prompt✅❌
Custom Diffusion❌✅
DiffEdit✅❌
T2I-Adapter✅❌
Fabric✅❌

InstructPix2Pix

Makalah

InstructPix2Pix dihaluskan dari Stable Diffusion untuk mendukung pengeditan gambar input. Model ini menerima gambar dan prompt yang menggambarkan pengeditan sebagai input, lalu menghasilkan gambar yang telah diedit. InstructPix2Pix secara eksplisit dilatih agar bekerja dengan baik menggunakan prompt yang mirip dengan InstructGPT.

Hadir dan Bersemangat

Makalah

Attend and Excite memungkinkan subjek dalam prompt untuk direpresentasikan secara akurat dalam gambar akhir.

Seperangkat indeks token diberikan sebagai input, yang sesuai dengan subjek dalam prompt yang harus hadir dalam gambar. Selama denoising, setiap indeks token dijamin memiliki ambang batas perhatian minimum untuk setidaknya satu patch gambar. Laten intermediat dioptimalkan secara iteratif selama proses denoising untuk memperkuat perhatian dari token subjek yang paling terabaikan hingga ambang batas perhatian terpenuhi untuk semua token subjek.

Seperti Pix2Pix Zero, Attend and Excite juga melibatkan loop optimasi mini (dengan berat yang telah dilatih sebelumnya tetap tidak diubah) dalam pipeline-nya dan dapat memerlukan lebih banyak memori daripada StableDiffusionPipeline biasa.

Panduan Semantik (SEGA)

Makalah

SEGA memungkinkan penerapan atau penghapusan satu atau beberapa konsep dari sebuah gambar. Kekuatan konsep juga dapat dikendalikan. Misalnya, konsep senyum dapat digunakan untuk secara bertahap meningkatkan atau mengurangi senyum pada potret.

Sama seperti cara classifier free guidance memberikan panduan melalui input prompt kosong, SEGA memberikan panduan pada prompt konseptual. Beberapa prompt konseptual ini dapat diterapkan secara bersamaan. Setiap prompt konseptual dapat menambahkan atau menghapus konsepnya tergantung pada apakah panduan diterapkan secara positif atau negatif.

Berbeda dengan Pix2Pix Zero atau Attend and Excite, SEGA berinteraksi langsung dengan proses difusi alih-alih melakukan optimasi berbasis gradien secara eksplisit.

Panduan Self-attention (SAG)

Makalah

Guidance Self-attention meningkatkan kualitas gambar secara umum.

SAG memberikan panduan dari prediksi yang tidak dikondisikan pada detail frekuensi tinggi hingga gambar yang sepenuhnya dikondisikan. Detail frekuensi tinggi diekstrak dari peta self-attention UNet.

Depth2Image

Proyek

Depth2Image dihaluskan dari Stable Diffusion untuk lebih baik mempertahankan semantik untuk variasi gambar yang dipandu teks.

Itu mengondisikan pada estimasi kedalaman monokular dari gambar asli.

MultiDiffusion Panorama

Makalah

MultiDiffusion Panorama mendefinisikan proses generasi baru di atas model difusi yang telah dilatih sebelumnya. Proses ini mengikat beberapa metode generasi difusi yang dapat langsung diterapkan untuk menghasilkan gambar berkualitas tinggi dan beragam. Hasilnya mematuhi kontrol yang diberikan pengguna, seperti rasio aspek yang diinginkan (misalnya, panorama), dan sinyal panduan spasial, mulai dari mask segmentasi yang ketat hingga kotak pembatas. MultiDiffusion Panorama memungkinkan Anda menghasilkan gambar berkualitas tinggi pada rasio aspek apa pun (misalnya, panorama).

Fine-tuning model Anda sendiri

Selain model terlatih, Diffusers memiliki skrip pelatihan untuk penyesuaian halus model pada data yang disediakan pengguna.

DreamBooth

Proyek

DreamBooth melakukan fine-tuning pada model untuk mengajarkannya tentang subjek baru. Misalnya, beberapa foto seseorang dapat digunakan untuk menghasilkan gambar orang tersebut dalam berbagai gaya.

Textual Inversion

Makalah

Textual Inversion melakukan fine-tuning pada model untuk mengajarkannya tentang konsep baru. Misalnya, beberapa gambar dari suatu gaya karya seni dapat digunakan untuk menghasilkan gambar dalam gaya tersebut.

ControlNet

Makalah

ControlNet adalah jaringan bantu yang menambahkan kondisi tambahan. Terdapat 8 ControlNet pra-terlatih kanonik yang dilatih pada berbagai kondisioning, seperti deteksi tepi, coretan, peta kedalaman, dan segmentasi semantik.

Penimbangan Prompt

Prompt weighting adalah teknik sederhana yang memberikan bobot perhatian lebih pada bagian tertentu dari teks input.

Custom Diffusion

Makalah

Custom Diffusion hanya melakukan fine-tuning pada peta cross-attention dari model difusi teks-ke-gambar yang telah dilatih sebelumnya. Metode ini juga memungkinkan pelaksanaan Textual Inversion secara tambahan. Secara desain, Custom Diffusion mendukung pelatihan multi-konsep. Seperti DreamBooth dan Textual Inversion, Custom Diffusion juga digunakan untuk mengajarkan model difusi teks-ke-gambar yang telah dilatih sebelumnya tentang konsep-konsep baru guna menghasilkan output yang melibatkan konsep-konsep yang menjadi perhatian.

DiffEdit

Makalah

DiffEdit memungkinkan pengeditan semantik pada gambar input bersama dengan prompt input, sambil mempertahankan gambar input asli sebanyak mungkin.

T2I-Adapter

Makalah

T2I-Adapter adalah jaringan bantu yang menambahkan kondisi tambahan. Terdapat 8 adapter pre-trained kanonik yang dilatih pada berbagai kondisi seperti edge detection, sketch, depth maps, dan semantic segmentations.

Fabric

Makalah

Fabric adalah pendekatan tanpa pelatihan yang dapat diterapkan pada berbagai model difusi populer, yang memanfaatkan lapisan self-attention yang ada pada arsitektur paling umum digunakan untuk mengondisikan proses difusi pada serangkaian gambar umpan balik.

Update on GitHub