Panduan pembuatan gambar

Tugas pembuat gambar

Tugas MediaPipe Image Generator memungkinkan Anda membuat gambar berdasarkan perintah teks. Tugas ini menggunakan model text-to-image untuk membuat gambar menggunakan teknik difusi.

Tugas ini menerima perintah teks sebagai input, beserta gambar kondisi opsional yang dapat diubah dan digunakan model sebagai referensi untuk pembuatan. Untuk mengetahui informasi selengkapnya tentang pembuatan gambar dari teks bersyarat, lihat Plugin difusi di perangkat untuk pembuatan gambar dari teks bersyarat.

Generator Gambar juga dapat menghasilkan gambar berdasarkan konsep spesifik yang diberikan ke model selama pelatihan atau pelatihan ulang. Untuk mengetahui informasi selengkapnya, lihat menyesuaikan dengan LoRA.

Mulai

Mulai gunakan tugas ini dengan mengikuti salah satu panduan penerapan berikut untuk platform target Anda. Panduan khusus platform ini akan memandu Anda melakukan penerapan dasar tugas ini, dengan contoh kode yang menggunakan model default dan opsi konfigurasi yang direkomendasikan:

Detail tugas

Bagian ini menjelaskan kemampuan, input, output, dan opsi konfigurasi tugas ini.

Fitur

Anda dapat menggunakan Pembuat Gambar untuk menerapkan hal berikut:

  1. Pembuatan gambar dari teks - Buat gambar dengan perintah teks.
  2. Pembuatan gambar dengan gambar kondisi - Buat gambar dengan perintah teks dan gambar referensi. Pembuat Gambar menggunakan gambar kondisi dengan cara yang mirip dengan ControlNet.
  3. Pembuatan gambar dengan bobot LoRA - Buat gambar orang, objek, dan gaya tertentu dengan perintah teks menggunakan bobot model yang disesuaikan.
Input tugas Output tugas
Generator Gambar menerima input berikut:
  • Perintah teks
  • Pendanaan awal
  • Jumlah iterasi generatif
  • Opsional: gambar kondisi
Generator Gambar menghasilkan hasil berikut:
  • Gambar yang dihasilkan berdasarkan input.
  • Opsional: Snapshot iteratif dari gambar yang dihasilkan.

Opsi konfigurasi

Tugas ini memiliki opsi konfigurasi berikut:

Nama Opsi Deskripsi Rentang Nilai
imageGeneratorModelDirectory Direktori model generator gambar yang menyimpan bobot model. PATH
loraWeightsFilePath Menetapkan jalur ke file bobot LoRA. Opsional dan hanya berlaku jika model disesuaikan dengan LoRA. PATH
errorListener Menetapkan pemroses error opsional. N/A

Tugas ini juga mendukung model plugin, yang memungkinkan pengguna menyertakan gambar kondisi dalam input tugas, yang dapat ditambah dan digunakan oleh model dasar sebagai referensi untuk pembuatan. Gambar kondisi ini dapat berupa titik-titik wajah, garis tepi, dan perkiraan kedalaman, yang digunakan model sebagai konteks dan informasi tambahan untuk membuat gambar.

Saat menambahkan model plugin ke model dasar, konfigurasi juga opsi plugin. Plugin penanda Wajah menggunakan faceConditionOptions, plugin tepi Canny menggunakan edgeConditionOptions, dan plugin Kedalaman menggunakan depthConditionOptions.

Opsi tepi Canny

Konfigurasikan opsi berikut di edgeConditionOptions.

Nama Opsi Deskripsi Rentang Nilai Nilai Default
threshold1 Nilai minimum pertama untuk prosedur histeresis. Float 100
threshold2 Nilai minimum kedua untuk prosedur histeresis. Float 200
apertureSize Ukuran bukaan untuk operator Sobel. Rentang biasanya antara 3-7. Integer 3
l2Gradient Apakah norma L2 digunakan untuk menghitung besarnya gradien gambar, bukan norma L1 default. BOOLEAN False
EdgePluginModelBaseOptions Objek BaseOptions yang menetapkan jalur untuk model plugin. Objek BaseOptions N/A

Untuk mengetahui informasi selengkapnya tentang cara kerja opsi konfigurasi ini, lihat Detektor tepi Canny.

Opsi penanda wajah

Konfigurasikan opsi berikut di faceConditionOptions.

Nama Opsi Deskripsi Rentang Nilai Nilai Default
minFaceDetectionConfidence Skor keyakinan minimum agar deteksi wajah dianggap berhasil. Float [0.0,1.0] 0.5
minFacePresenceConfidence Skor keyakinan minimum skor kehadiran wajah dalam deteksi penanda wajah. Float [0.0,1.0] 0.5
faceModelBaseOptions Objek BaseOptions yang menetapkan jalur untuk model yang membuat gambar kondisi. Objek BaseOptions N/A
FacePluginModelBaseOptions Objek BaseOptions yang menetapkan jalur untuk model plugin. Objek BaseOptions N/A

Untuk mengetahui informasi selengkapnya tentang cara kerja opsi konfigurasi ini, lihat tugas Face Landmarker.

Opsi kedalaman

Konfigurasikan opsi berikut di depthConditionOptions.

Nama Opsi Deskripsi Rentang Nilai Nilai Default
depthModelBaseOptions Objek BaseOptions yang menetapkan jalur untuk model yang membuat gambar kondisi. Objek BaseOptions N/A
depthPluginModelBaseOptions Objek BaseOptions yang menetapkan jalur untuk model plugin. Objek BaseOptions N/A

Model

Generator Gambar memerlukan model dasar, yaitu model AI text-to-image yang menggunakan teknik difusi untuk menghasilkan gambar baru. Model dasar yang tercantum di bagian ini adalah model ringan yang dioptimalkan untuk berjalan di smartphone kelas atas.

Model plugin bersifat opsional dan melengkapi model dasar, sehingga memungkinkan pengguna memberikan gambar kondisi tambahan bersama dengan perintah teks, untuk pembuatan gambar yang lebih spesifik. Menyesuaikan model dasar menggunakan bobot LoRA adalah opsi yang mengajarkan model dasar tentang konsep tertentu, seperti objek, orang, atau gaya, dan menyisipkannya ke dalam gambar yang dihasilkan.

Model dasar

Model dasar adalah model difusi teks ke gambar laten yang menghasilkan gambar dari perintah teks. Generator Gambar mengharuskan model dasar cocok dengan format model stable-diffusion-v1-5/stable-diffusion-v1-5 EMA-only, berdasarkan model berikut:

Model dasar berikut juga kompatibel dengan Pembuat Gambar:

Setelah mendownload model dasar, gunakan image_generator_converter untuk mengonversi model ke format dalam perangkat yang sesuai untuk Pembuat Gambar.

Instal dependensi yang diperlukan:

$ pip install torch typing_extensions numpy Pillow requests pytorch_lightning absl-py

Jalankan skrip convert.py:

$ python3 convert.py --ckpt_path <ckpt_path> --output_path <output_path>

Model plugin

Model plugin di bagian ini dikembangkan oleh Google dan harus digunakan bersama dengan model dasar. Model plugin memungkinkan Pembuat Gambar menerima gambar kondisi beserta perintah teks sebagai input, sehingga Anda dapat mengontrol struktur gambar yang dihasilkan. Model plugin memberikan kemampuan yang mirip dengan ControlNet, dengan arsitektur baru khusus untuk difusi di perangkat.

Model plugin harus ditentukan dalam opsi dasar dan mungkin mengharuskan Anda mendownload file model tambahan. Setiap plugin memiliki persyaratan unik untuk gambar kondisi, yang dapat dibuat oleh Pembuat Gambar.

Plugin Canny Edge

Contoh output dua gambar yang dibuat menggunakan gambar kondisi yang disediakan dengan garis luar batu bata yang kuat dan perintah

Plugin Canny Edge menerima gambar kondisi yang menguraikan tepi yang diinginkan dari gambar yang dihasilkan. Model fondasi menggunakan tepi yang tersirat oleh gambar kondisi, dan menghasilkan gambar baru berdasarkan perintah teks. Generator Gambar berisi kemampuan bawaan untuk membuat gambar kondisi, dan hanya memerlukan download model plugin.

Download plugin Canny Edge

Plugin Canny Edge berisi opsi konfigurasi berikut:

Nama Opsi Deskripsi Rentang Nilai Nilai Default
threshold1 Nilai minimum pertama untuk prosedur histeresis. Float 100
threshold2 Nilai minimum kedua untuk prosedur histeresis. Float 200
apertureSize Ukuran bukaan untuk operator Sobel. Rentang biasanya antara 3-7. Integer 3
l2Gradient Apakah norma L2 digunakan untuk menghitung besarnya gradien gambar, bukan norma L1 default. BOOLEAN False
EdgePluginModelBaseOptions Objek BaseOptions yang menetapkan jalur untuk model plugin. Objek BaseOptions N/A

Untuk mengetahui informasi selengkapnya tentang cara kerja opsi konfigurasi ini, lihat Detektor tepi Canny.

Plugin Penanda Wajah

Contoh output dua gambar generatif yang menggunakan gambar kondisi wajah yang dibuat sketsa dan dua perintah berbeda untuk menunjukkan bahwa gambar kondisi yang sama dapat digunakan untuk membuat gambar yang terlihat sangat berbeda

Plugin Face Landmark menerima output dari Face Landmarker MediaPipe sebagai gambar kondisi. Face Landmarker menyediakan mesh wajah mendetail dari satu wajah, yang memetakan keberadaan dan lokasi fitur wajah. Model dasar menggunakan pemetaan wajah yang tersirat dalam gambar kondisi, dan membuat wajah baru di atas mesh.

Download plugin Penanda wajah

Plugin penanda wajah juga memerlukan paket model Face Landmarker untuk membuat gambar kondisi. Paket model ini sama dengan paket yang digunakan oleh tugas Face Landmarker.

Download paket model Face landmark

Plugin Face Landmark berisi opsi konfigurasi berikut:

Nama Opsi Deskripsi Rentang Nilai Nilai Default
minFaceDetectionConfidence Skor keyakinan minimum agar deteksi wajah dianggap berhasil. Float [0.0,1.0] 0.5
minFacePresenceConfidence Skor keyakinan minimum skor kehadiran wajah dalam deteksi penanda wajah. Float [0.0,1.0] 0.5
faceModelBaseOptions Objek BaseOptions yang menetapkan jalur untuk model yang membuat gambar kondisi. Objek BaseOptions N/A
FacePluginModelBaseOptions Objek BaseOptions yang menetapkan jalur untuk model plugin. Objek BaseOptions N/A

Untuk mengetahui informasi selengkapnya tentang cara kerja opsi konfigurasi ini, lihat tugas Face Landmarker.

Plugin kedalaman

Contoh output dua gambar yang dihasilkan yang menggunakan gambar kondisi yang disediakan yang menunjukkan bentuk umum mobil untuk menunjukkan bahwa plugin Kedalaman dapat membuat gambar yang menambahkan kedalaman pada gambar datar

Plugin Depth menerima gambar kondisi yang menentukan kedalaman monokuler objek. Model dasar menggunakan gambar kondisi untuk menyimpulkan ukuran dan kedalaman objek yang akan dibuat, serta menghasilkan gambar baru berdasarkan perintah teks.

Download plugin Depth

Plugin Depth juga memerlukan model estimasi Kedalaman untuk membuat gambar kondisi.

Download model Estimasi kedalaman

Plugin Kedalaman berisi opsi konfigurasi berikut:

Nama Opsi Deskripsi Rentang Nilai Nilai Default
depthModelBaseOptions Objek BaseOptions yang menetapkan jalur untuk model yang membuat gambar kondisi. Objek BaseOptions N/A
depthPluginModelBaseOptions Objek BaseOptions yang menetapkan jalur untuk model plugin. Objek BaseOptions N/A

Penyesuaian dengan LoRA

Menyesuaikan model dengan LoRA dapat memungkinkan Pembuat Gambar menghasilkan gambar berdasarkan konsep tertentu, yang diidentifikasi oleh token unik selama pelatihan. Dengan bobot LoRA baru setelah pelatihan, model dapat membuat gambar konsep baru saat token ditentukan dalam perintah teks.

Membuat bobot LoRA memerlukan pelatihan model dasar pada gambar objek, orang, atau gaya tertentu, yang memungkinkan model mengenali konsep baru dan menerapkannya saat membuat gambar. Jika Anda membuat bobot LoRa untuk membuat gambar orang dan wajah tertentu, gunakan solusi ini hanya pada wajah Anda atau wajah orang yang telah memberi Anda izin untuk melakukannya.

Di bawah ini adalah output dari model yang disesuaikan dan dilatih pada gambar teko teh dari set data DreamBooth, menggunakan token "monadikos teapot":

Gambar realistis yang dihasilkan dari teko yang diletakkan di atas meja di samping cermin yang dipasang di dinding

Perintah: teko monadikos di samping cermin

Model yang disesuaikan menerima token dalam perintah dan menyisipkan teko yang dipelajarinya untuk digambarkan dari bobot LoRA, dan menempatkannya di gambar di samping cermin seperti yang diminta dalam perintah.

LoRA dengan Vertex AI

Untuk mengetahui informasi selengkapnya, lihat panduan penyesuaian, yang menggunakan Model Garden di Vertex AI untuk menyesuaikan model dengan menerapkan bobot LoRA ke model dasar.