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:
- 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 Pembuat Gambar untuk menerapkan hal berikut:
- Pembuatan gambar dari teks - Buat gambar dengan perintah teks.
- Pembuatan gambar dengan gambar kondisi - Buat gambar dengan perintah teks dan gambar referensi. Pembuat Gambar 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 |
---|---|
Generator Gambar menerima input berikut:
|
Generator Gambar menghasilkan hasil 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 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
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.
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
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.
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
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.
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":
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.
Untuk mengetahui informasi selengkapnya, lihat panduan penyesuaian, yang menggunakan Model Garden di Vertex AI untuk menyesuaikan model dengan menerapkan bobot LoRA ke model dasar.