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:
- Android - Contoh kode - Panduan
- Menyesuaikan dengan LoRA - Contoh kode - Colab
Detail tugas
Bagian ini menjelaskan kemampuan, input, output, dan opsi konfigurasi tugas ini.
Fitur
Anda dapat menggunakan Generator Gambar untuk menerapkan hal berikut:
- Pembuatan teks ke gambar - Membuat gambar dengan perintah teks.
- Pembuatan gambar dengan gambar kondisi - Buat gambar dengan perintah teks dan gambar referensi. Image Generator menggunakan gambar kondisi dengan cara yang mirip dengan ControlNet.
- 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:
|
Alat Pembuat Gambar menghasilkan output berikut:
|
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
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.
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
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.
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
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.
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":
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.
Untuk mengetahui informasi selengkapnya, lihat panduan penyesuaian, yang menggunakan Model Garden di Vertex AI untuk menyesuaikan model dengan menerapkan bobot LoRA ke model dasar.