Panduan pembuatan gambar

Tugas pembuat gambar

Tugas MediaPipe Image Generator memungkinkan Anda membuat gambar berdasarkan perintah teks. Tugas ini menggunakan model teks ke gambar untuk menghasilkan gambar menggunakan teknik difusi.

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

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

Mulai

Mulai gunakan tugas ini dengan mengikuti salah satu panduan penerapan ini untuk platform target Anda. Panduan khusus platform ini akan memandu Anda dalam 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 Generator Gambar untuk menerapkan hal berikut:

  1. Pembuatan teks ke gambar - Membuat gambar dengan perintah teks.
  2. Pembuatan gambar dengan gambar kondisi - Buat gambar dengan perintah teks dan gambar referensi. Image Generator 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
Alat Pembuat Gambar menerima input berikut:
  • Perintah teks
  • Pendanaan awal
  • Jumlah iterasi generatif
  • Opsional: gambar kondisi
Alat Pembuat Gambar menghasilkan output 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 penanda wajah, garis tepi, dan estimasi kedalaman, yang digunakan model sebagai konteks dan informasi tambahan untuk membuat gambar.

Saat menambahkan model plugin ke model dasar, konfigurasikan 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 aperture untuk operator Sobel. Rentang biasanya antara 3-7. Integer 3
l2Gradient Apakah norma L2 digunakan untuk menghitung magnitudo gradien gambar, bukan norma L1 default. BOOLEAN False
EdgePluginModelBaseOptions Objek BaseOptions yang menetapkan jalur untuk model plugin. Objek BaseOptions N/A

Untuk 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 dari 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 pengguna dapat memberikan gambar kondisi tambahan beserta 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 memasukkannya ke dalam gambar yang dihasilkan.

Model dasar

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

Model dasar berikut juga kompatibel dengan Generator Gambar:

Setelah mendownload model dasar, gunakan image_generator_converter untuk mengonversi model menjadi format di perangkat yang sesuai untuk Image Generator.

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 Generator Gambar menerima gambar kondisi beserta perintah teks sebagai input, yang memungkinkan Anda 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 dihasilkan oleh Image Generator.

Plugin Canny Edge

Contoh output dari dua gambar yang dihasilkan yang menggunakan gambar kondisi yang disediakan dengan garis batas bata yang kuat dan perintah

Plugin Canny Edge menerima gambar kondisi yang menguraikan tepi yang diinginkan dari gambar yang dihasilkan. Model dasar 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 aperture untuk operator Sobel. Rentang biasanya antara 3-7. Integer 3
l2Gradient Apakah norma L2 digunakan untuk menghitung magnitudo gradien gambar, bukan norma L1 default. BOOLEAN False
EdgePluginModelBaseOptions Objek BaseOptions yang menetapkan jalur untuk model plugin. Objek BaseOptions N/A

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

Plugin Penanda Wajah

Contoh output dari dua gambar yang dihasilkan yang menggunakan gambar kondisi yang disediakan dari sketsa wajah dan dua perintah yang berbeda untuk menunjukkan bahwa gambar kondisi yang sama dapat digunakan untuk menghasilkan gambar yang terlihat sangat berbeda

Plugin Face Landmark menerima output dari Face Landmarker MediaPipe sebagai gambar kondisi. Penanda Wajah memberikan mesh wajah mendetail dari satu wajah, yang memetakan kehadiran dan lokasi fitur wajah. Model fondasi menggunakan pemetaan wajah yang tersirat oleh gambar kondisi, dan menghasilkan 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 adalah paket yang sama dengan yang digunakan oleh tugas Face Landmarker.

Download paket model penanda wajah

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 dari 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 dari dua gambar yang dihasilkan yang menggunakan gambar kondisi yang disediakan yang menunjukkan bentuk umum mobil untuk menunjukkan bahwa plugin Depth dapat membuat gambar yang menambahkan kedalaman ke gambar datar

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

Download plugin Depth

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

Download model Estimasi kedalaman

Plugin Depth 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 menghasilkan 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, hanya gunakan solusi ini pada wajah Anda atau wajah orang yang telah memberi Anda izin untuk melakukannya.

Berikut adalah output dari model kustom yang dilatih pada gambar teko teh dari set data DreamBooth, menggunakan token "monadikos teapot":

Gambar foto 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 memasukkan teko yang dipelajari untuk digambarkan dari bobot LoRA, dan menempatkan 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.