MediaPipe Image Generator görevi, metin istemine dayalı olarak resim oluşturmanıza olanak tanır. Bu görevde, difüzyon tekniklerini kullanarak görüntü oluşturmak için metinden görsele dönüştürme modeli kullanılır.
Görev, giriş olarak bir metin istemi ve modelin artırabileceği ve oluşturma için referans olarak kullanabileceği isteğe bağlı bir koşul resmi kabul eder. Koşullu metinden görüntü oluşturma hakkında daha fazla bilgi için Koşullu metinden görüntü oluşturma için cihaz üzerinde difüzyon eklentileri başlıklı makaleyi inceleyin.
Görüntü Oluşturucu, eğitim veya yeniden eğitim sırasında modele sağlanan belirli kavramlara dayalı olarak da görüntüler oluşturabilir. Daha fazla bilgi için LoRA ile özelleştirme başlıklı makaleyi inceleyin.
Başlayın
Hedef platformunuz için bu uygulama kılavuzlarından birini uygulayarak bu görevi kullanmaya başlayın. Platforma özel bu kılavuzlar, varsayılan bir modelin ve önerilen yapılandırma seçeneklerinin kullanıldığı kod örnekleriyle bu görevin temel bir şekilde uygulanması konusunda size yol gösterir:
- Android - Kod örneği - Rehber
- LoRA ile özelleştirme - Kod örneği - Colab
Görev ayrıntıları
Bu bölümde, bu görevin özellikleri, girişleri, çıkışları ve yapılandırma seçenekleri açıklanmaktadır.
Özellikler
Aşağıdakileri uygulamak için Görüntü Oluşturucu'yu kullanabilirsiniz:
- Metinden görüntü oluşturma: Metin istemiyle görüntü oluşturun.
- Koşul resimleriyle görüntü üretme: Metin istemi ve referans resimle görüntü üretin. Görüntü Oluşturucu, koşul görüntülerini ControlNet'e benzer şekilde kullanır.
- LoRA ağırlıklarıyla görüntü üretme: Özelleştirilmiş model ağırlıklarını kullanarak metin istemiyle belirli kişilerin, nesnelerin ve stillerin görüntülerini üretin.
Görev girişleri | Görev çıktıları |
---|---|
Görüntü Üretme Aracı aşağıdaki girişleri kabul eder:
|
Görüntü Üretme Aracı aşağıdaki sonuçları verir:
|
Yapılandırma seçenekleri
Bu görevin aşağıdaki yapılandırma seçenekleri vardır:
Seçenek Adı | Açıklama | Değer aralığı |
---|---|---|
imageGeneratorModelDirectory |
Model ağırlıklarını depolayan görüntü oluşturucu model dizini. | PATH |
loraWeightsFilePath |
LoRA ağırlıkları dosyasının yolunu ayarlar. İsteğe bağlıdır ve yalnızca model LoRA ile özelleştirildiyse geçerlidir. | PATH |
errorListener |
İsteğe bağlı bir hata işleyici ayarlar. | N/A |
Bu görev, eklenti modellerini de destekler. Bu sayede kullanıcılar, görev girişine koşul resimleri ekleyebilir. Temel model, bu resimleri artırabilir ve oluşturma için referans olarak kullanabilir. Bu koşul resimleri, yüzdeki önemli noktalar, kenar çizgileri ve derinlik tahminleri olabilir. Model, resim oluşturmak için bunları ek bağlam ve bilgi olarak kullanır.
Temel modele bir eklenti modeli eklerken eklenti seçeneklerini de yapılandırın. Yüz işaret noktası eklentisi faceConditionOptions
, Canny kenar eklentisi edgeConditionOptions
ve Derinlik eklentisi depthConditionOptions
kullanır.
Canny kenar seçenekleri
edgeConditionOptions
bölümünde aşağıdaki seçenekleri yapılandırın.
Seçenek Adı | Açıklama | Değer aralığı | Varsayılan değer |
---|---|---|---|
threshold1 |
Histerezis prosedürünün ilk eşiği. | Float |
100 |
threshold2 |
Histerezis prosedürü için ikinci eşik. | Float |
200 |
apertureSize |
Sobel operatörü için diyafram boyutu. Normal aralık 3-7 arasındadır. | Integer |
3 |
l2Gradient |
Varsayılan L1 normu yerine, resim gradyan büyüklüğünü hesaplamak için L2 normunun kullanılıp kullanılmayacağı. | BOOLEAN |
False |
EdgePluginModelBaseOptions |
Eklenti modelinin yolunu ayarlayan BaseOptions nesnesi. |
BaseOptions nesnesi |
N/A |
Bu yapılandırma seçeneklerinin işleyiş şekli hakkında daha fazla bilgi için Canny kenar algılayıcı başlıklı makaleyi inceleyin.
Yüz işaret noktası seçenekleri
faceConditionOptions
bölümünde aşağıdaki seçenekleri yapılandırın.
Seçenek Adı | Açıklama | Değer aralığı | Varsayılan değer |
---|---|---|---|
minFaceDetectionConfidence |
Yüz algılamanın başarılı sayılması için gereken minimum güven puanı. | Float [0.0,1.0] |
0.5 |
minFacePresenceConfidence |
Yüz işareti algılamada yüz varlığı puanının minimum güven puanı. | Float [0.0,1.0] |
0.5 |
faceModelBaseOptions |
Koşul resmini oluşturan modelin yolunu ayarlayan BaseOptions nesnesi. |
BaseOptions nesnesi |
N/A |
FacePluginModelBaseOptions |
Eklenti modelinin yolunu ayarlayan BaseOptions nesnesi. |
BaseOptions nesnesi |
N/A |
Bu yapılandırma seçeneklerinin işleyiş şekli hakkında daha fazla bilgi için Yüz İşaretleme Görevi başlıklı makaleyi inceleyin.
Derinlik seçenekleri
depthConditionOptions
bölümünde aşağıdaki seçenekleri yapılandırın.
Seçenek Adı | Açıklama | Değer aralığı | Varsayılan değer |
---|---|---|---|
depthModelBaseOptions |
Koşul resmini oluşturan modelin yolunu ayarlayan BaseOptions nesnesi. |
BaseOptions nesnesi |
N/A |
depthPluginModelBaseOptions |
Eklenti modelinin yolunu ayarlayan BaseOptions nesnesi. |
BaseOptions nesnesi |
N/A |
Modeller
Görüntü Oluşturucu, yeni görüntüler oluşturmak için difüzyon tekniklerini kullanan bir metinden görsele yapay zeka modeli olan temel bir model gerektirir. Bu bölümde listelenen temel modeller, üst düzey akıllı telefonlarda çalışacak şekilde optimize edilmiş hafif modellerdir.
Eklenti modelleri isteğe bağlıdır ve temel modelleri tamamlar. Kullanıcıların daha spesifik görüntü oluşturma için metin istemiyle birlikte ek bir koşul resmi sağlamasına olanak tanır. LoRA ağırlıklarını kullanarak temel modelleri özelleştirme, temel modele belirli bir kavram (ör. nesne, kişi veya stil) hakkında bilgi veren ve bunları oluşturulan resimlere yerleştiren bir seçenektir.
Temel modeller
Temel modeller, metin isteminden görüntü üreten, metinden görüntüye difüzyon modelleridir. Resim Oluşturucu, temel modelin aşağıdaki modele göre stable-diffusion-v1-5/stable-diffusion-v1-5 EMA-only
model biçimine uymasını gerektirir:
Aşağıdaki temel modeller de Görüntü Üretici ile uyumludur:
Bir temel modeli indirdikten sonra, modeli Görüntü Oluşturucu için uygun cihaz içi biçime dönüştürmek üzere image_generator_converter'ı kullanın.
Gerekli bağımlılıkları yükleyin:
$ pip install torch typing_extensions numpy Pillow requests pytorch_lightning absl-py
convert.py
komut dosyasını çalıştırın:
$ python3 convert.py --ckpt_path <ckpt_path> --output_path <output_path>
Eklenti modelleri
Bu bölümdeki eklenti modelleri Google tarafından geliştirilmiştir ve temel modelle birlikte kullanılmalıdır. Eklenti modelleri, Görüntü Üretme Aracı'nın giriş olarak metin isteminin yanı sıra koşul resmi kabul etmesini sağlar. Bu sayede, üretilen görüntülerin yapısını kontrol edebilirsiniz. Eklenti modelleri, ControlNet'e benzer özellikler sunar ve özellikle cihaz üzerinde yayılım için yeni bir mimariye sahiptir.
Eklenti modelleri temel seçeneklerde belirtilmelidir ve ek model dosyaları indirmeniz gerekebilir. Her eklentinin, koşul resmi için benzersiz şartları vardır. Koşul resmi, Görüntü Oluşturucu ile oluşturulabilir.
Canny Edge eklentisi
Canny Edge eklentisi, üretilen resmin amaçlanan kenarlarını özetleyen bir koşul resmi kabul eder. Temel model, koşul resminin ima ettiği kenarları kullanır ve metin istemine göre yeni bir resim oluşturur. Görüntü Oluşturucu, koşul görüntüleri oluşturmak için yerleşik özellikler içerir ve yalnızca eklenti modelinin indirilmesini gerektirir.
Canny Edge eklentisini indirin
Canny Edge eklentisi aşağıdaki yapılandırma seçeneklerini içerir:
Seçenek Adı | Açıklama | Değer aralığı | Varsayılan değer |
---|---|---|---|
threshold1 |
Histerezis prosedürünün ilk eşiği. | Float |
100 |
threshold2 |
Histerezis prosedürü için ikinci eşik. | Float |
200 |
apertureSize |
Sobel operatörü için diyafram boyutu. Normal aralık 3-7 arasındadır. | Integer |
3 |
l2Gradient |
Varsayılan L1 normu yerine, resim gradyan büyüklüğünü hesaplamak için L2 normunun kullanılıp kullanılmayacağı. | BOOLEAN |
False |
EdgePluginModelBaseOptions |
Eklenti modelinin yolunu ayarlayan BaseOptions nesnesi. |
BaseOptions nesnesi |
N/A |
Bu yapılandırma seçeneklerinin işleyiş şekli hakkında daha fazla bilgi için Canny kenar algılayıcı başlıklı makaleyi inceleyin.
Face Landmark eklentisi
Face Landmark eklentisi, MediaPipe Face Landmarker'ın çıkışını koşul resmi olarak kabul eder. Yüz İşaretleyici, tek bir yüzün ayrıntılı yüz ağını sağlar. Bu ağ, yüz özelliklerinin varlığını ve konumunu haritalandırır. Temel model, koşul resminin ima ettiği yüz eşlemesini kullanır ve ağ üzerinde yeni bir yüz oluşturur.
Yüz işareti eklentisini indirin
Yüz işaret noktası eklentisi, koşul resmini oluşturmak için Face Landmarker model bundle'ı da gerektirir. Bu model paketi, Yüz İşaretleme görevinde kullanılan paketle aynıdır.
Yüzdeki önemli noktalar model paketini indirin
Yüz İşaret Noktası eklentisi aşağıdaki yapılandırma seçeneklerini içerir:
Seçenek Adı | Açıklama | Değer aralığı | Varsayılan değer |
---|---|---|---|
minFaceDetectionConfidence |
Yüz algılamanın başarılı sayılması için gereken minimum güven puanı. | Float [0.0,1.0] |
0.5 |
minFacePresenceConfidence |
Yüz işareti algılamada yüz varlığı puanının minimum güven puanı. | Float [0.0,1.0] |
0.5 |
faceModelBaseOptions |
Koşul resmini oluşturan modelin yolunu ayarlayan BaseOptions nesnesi. |
BaseOptions nesnesi |
N/A |
FacePluginModelBaseOptions |
Eklenti modelinin yolunu ayarlayan BaseOptions nesnesi. |
BaseOptions nesnesi |
N/A |
Bu yapılandırma seçeneklerinin işleyiş şekli hakkında daha fazla bilgi için Yüz İşaretleme Görevi başlıklı makaleyi inceleyin.
Derinlik eklentisi
Derinlik eklentisi, bir nesnenin tek gözle derinliğini belirten bir koşul resmi kabul eder. Temel model, oluşturulacak nesnenin boyutunu ve derinliğini tahmin etmek için koşul resmini kullanır ve metin istemine göre yeni bir resim oluşturur.
Derinlik eklentisi, koşul resmini oluşturmak için derinlik tahmini modeli de gerektirir.
Derinlik tahmini modelini indirme
Derinlik eklentisi aşağıdaki yapılandırma seçeneklerini içerir:
Seçenek Adı | Açıklama | Değer aralığı | Varsayılan değer |
---|---|---|---|
depthModelBaseOptions |
Koşul resmini oluşturan modelin yolunu ayarlayan BaseOptions nesnesi. |
BaseOptions nesnesi |
N/A |
depthPluginModelBaseOptions |
Eklenti modelinin yolunu ayarlayan BaseOptions nesnesi. |
BaseOptions nesnesi |
N/A |
LoRA ile özelleştirme
Bir modeli LoRA ile özelleştirmek, Görüntü Oluşturucu'nun eğitim sırasında benzersiz jetonlarla tanımlanan belirli kavramlara dayalı görüntüler oluşturmasını sağlayabilir. Eğitimden sonra yeni LoRA ağırlıklarıyla model, metin isteminde jeton belirtildiğinde yeni konseptin resimlerini oluşturabilir.
LoRA ağırlıkları oluşturmak için temel bir modelin belirli bir nesne, kişi veya stilin resimleriyle eğitilmesi gerekir. Bu sayede model, yeni konsepti tanıyabilir ve resim oluştururken uygulayabilir. Belirli kişilerin ve yüzlerin resimlerini oluşturmak için LoRa ağırlıkları oluşturuyorsanız bu çözümü yalnızca kendi yüzünüzde veya bu işlemi yapmanıza izin veren kişilerin yüzlerinde kullanın.
Aşağıda, DreamBooth veri kümesindeki çaydanlık resimleriyle eğitilmiş özelleştirilmiş bir modelin, "monadikos teapot" jetonu kullanılarak oluşturduğu çıktı yer almaktadır:
İstem: Bir aynanın yanında duran monadikos çaydanlık
Özelleştirilmiş model, istemdeki jetonu aldı ve LoRA ağırlıklarından tasvir etmeyi öğrendiği bir çaydanlığı yerleştirdi. Ardından, istemde belirtildiği gibi çaydanlığı resimde bir aynanın yanına koydu.
Daha fazla bilgi için özelleştirme kılavuzuna göz atın. Bu kılavuzda, temel bir modele LoRA ağırlıkları uygulanarak model özelleştirmek için Vertex AI'daki Model Garden kullanılır.