Resim oluşturma kılavuzu

Görüntü üretme görevi

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:

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:

  1. Metinden görüntü oluşturma: Metin istemiyle görüntü oluşturun.
  2. 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.
  3. 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:
  • Metin istemi
  • Tohum
  • Üretken yineleme sayısı
  • İsteğe bağlı: Koşul resmi
Görüntü Üretme Aracı aşağıdaki sonuçları verir:
  • Girişlere göre oluşturulan resim.
  • İsteğe bağlı: Oluşturulan resmin yinelemeli anlık görüntüleri.

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

Tuvalin güçlü bir ana hattını ve istemini içeren, sağlanan bir koşul resmi kullanan iki üretilmiş resmin örnek çıktısı

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

Aynı koşul resminin çok farklı görünümlere sahip resimler oluşturmak için kullanılabileceğini göstermek amacıyla, sağlanan bir koşul resmi (çizilmiş bir yüz) ve iki farklı istem kullanılarak oluşturulan iki resmin örnek çıktısı

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 eklentisinin düz bir resme derinlik katan resimler oluşturabileceğini göstermek için, arabanın genel şeklini gösteren bir koşul resmi kullanılarak oluşturulan iki resmin örnek çıktısı

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.

Depth eklentisini indirin

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:

Duvara monte edilmiş bir aynanın yanındaki masada duran çaydanlığın fotoğraf gerçekliğinde üretilmiş görüntüsü

İ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.

Vertex AI ile LoRA

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.