MediaPipe Resim Oluşturucu görevi, metin istemlerine göre 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ırıp oluşturma işlemi 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.
Resim Oluşturucu, eğitim veya yeniden eğitim sırasında modele sağlanan belirli kavramlara göre de resim oluşturabilir. Daha fazla bilgi için LoRA ile özelleştirme başlıklı makaleyi inceleyin.
Başlayın
Hedef platformunuzla ilgili bu uygulama kılavuzlarından birini uygulayarak bu görevi kullanmaya başlayın. Bu platforma özel kılavuzlarda, varsayılan bir modeli ve önerilen yapılandırma seçeneklerini kullanan kod örnekleri ile bu görevin temel uygulamasında size yol gösterilir:
- Android - Kod örneği - Kılavuz
- 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
Resim Oluşturucu'yu kullanarak aşağıdakileri uygulayabilirsiniz:
- Metinden görüntü oluşturma: Metin istemiyle resim oluşturun.
- Koşul resimleriyle resim oluşturma: Metin istemi ve referans resim kullanarak resimler oluşturun. Görüntü Oluşturucu, koşullu görüntüleri ControlNet'e benzer şekilde kullanır.
- LoRA ağırlıkları ile resim oluşturma: Özelleştirilmiş model ağırlıklarını kullanarak metin istemiyle belirli kişilerin, nesnelerin ve stillerin resimlerini oluşturun.
Görev girişleri | Görev çıkışları |
---|---|
Görüntü Oluşturucu aşağıdaki girişleri kabul eder:
|
Görsel Oluşturucu aşağıdaki sonuçları döndürür:
|
Yapılandırma seçenekleri
Bu görev için 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 resim oluşturucu model dizini. | PATH |
loraWeightsFilePath |
LoRA ağırlık dosyasının yolunu belirler. İ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 |
Görev, kullanıcıların görev girişine koşul resimleri eklemesine olanak tanıyan eklenti modellerini de destekler. Temel model, bu resimleri artırabilir ve oluşturma işlemi için referans olarak kullanabilir. Bu koşul resimleri, modelin resim oluşturmak için ek bağlam ve bilgi olarak kullandığı yüz önemli noktaları, kenar dış hatları ve derinlik tahminleri olabilir.
Temel modele eklenecek eklenti modelinin seçeneklerini de yapılandırın. Yüz yer işareti eklentisi faceConditionOptions
, keskin kenar eklentisi edgeConditionOptions
ve derinlik eklentisi depthConditionOptions
kullanır.
Keskin kenar seçenekleri
edgeConditionOptions
'te aşağıdaki seçenekleri yapılandırın.
Seçenek Adı | Açıklama | Değer Aralığı | Varsayılan değer |
---|---|---|---|
threshold1 |
Hysteresis işlemi için ilk eşik. | Float |
100 |
threshold2 |
Hysteresis işlemi için ikinci eşik. | Float |
200 |
apertureSize |
Sobel operatörü için diyafram açıklığı. Tipik aralık 3-7 arasındadır. | Integer |
3 |
l2Gradient |
Resim gradyan büyüklüğünü hesaplamak için varsayılan L1 normu yerine 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 Keskin kenar algılayıcı başlıklı makaleyi inceleyin.
Yüz yer işareti seçenekleri
faceConditionOptions
'te 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ı olarak kabul edilmesi için gereken minimum güven puanı. | Float [0.0,1.0] |
0.5 |
minFacePresenceConfidence |
Yüz yer 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 İşaretçisi görevi başlıklı makaleyi inceleyin.
Derinlik seçenekleri
depthConditionOptions
'te 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 bir temel 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. Böylece kullanıcılar, daha spesifik resim oluşturmak için metin istemi ile birlikte ek bir koşul resmi sağlayabilir. LoRA ağırlıklarını kullanarak temel modelleri özelleştirmek, temel modele bir nesne, kişi veya stil gibi belirli bir kavram hakkında bilgi öğreten ve bu bilgileri oluşturulan resimlere ekleyen bir seçenektir.
Temel modeller
Temel modeller, metin isteminden görüntü oluşturan gizli metinden görüntüye difüzyon modelleridir. Resim Oluşturucu, temel modelin aşağıdaki modele göre runwayml/stable-diffusion-v1-5 EMA-only
model biçimiyle eşleşmesini gerektirir:
Aşağıdaki temel modeller de resim oluşturucuyla uyumludur:
Bir temel model indirdikten sonra, modeli Görüntü Oluşturucu için uygun cihaz üzerinde 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 bir temel modelle birlikte kullanılmalıdır. Eklenti modelleri, Görüntü Oluşturucu'nun giriş olarak bir metin istemiyle birlikte koşullu resim kabul etmesini sağlar. Bu sayede, oluşturulan resimlerin yapısını kontrol edebilirsiniz. Eklenti modelleri, cihaz üzerinde dağıtım için özel olarak tasarlanmış yeni bir mimariyle ControlNet'e benzer özellikler sunar.
Eklenti modelleri temel seçeneklerde belirtilmelidir ve ek model dosyaları indirmeniz gerekebilir. Her eklentinin, resim oluşturucu tarafından oluşturulabilen durum resmi için benzersiz koşulları vardır.
Canny Edge eklentisi
Canny Edge eklentisi, oluşturulan resmin istenen kenarlarının ana hatlarını çizen bir koşul resmi kabul eder. Temel model, koşul resminin ima ettiği kenarları kullanır ve metin isteğine göre yeni bir resim oluşturur. Görüntü Oluşturucu, durum resimleri oluşturmak için yerleşik özelliklere sahiptir 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 |
Hysteresis işlemi için ilk eşik. | Float |
100 |
threshold2 |
Hysteresis işlemi için ikinci eşik. | Float |
200 |
apertureSize |
Sobel operatörü için diyafram açıklığı. Tipik aralık 3-7 arasındadır. | Integer |
3 |
l2Gradient |
Resim gradyan büyüklüğünü hesaplamak için varsayılan L1 normu yerine 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 Keskin kenar algılayıcı başlıklı makaleyi inceleyin.
Yüz Önemli Noktası eklentisi
Yüz Yer İşareti eklentisi, MediaPipe Yüz Yer İşareti'nin çıkışını koşul resmi olarak kabul eder. Yüz işaretçisi, tek bir yüzün ayrıntılı yüz örgüsünü sağlar. Bu örgüyle yüz özelliklerinin varlığını ve konumunu haritalayabilirsiniz. Temel model, durum resminin ima ettiği yüz eşlemesini kullanır ve örgünün üzerine yeni bir yüz oluşturur.
Yüz yer işareti eklentisini indirin
Yüz yer işareti eklentisi, koşul resmini oluşturmak için Yüz Yer İşareti Belirleyici model paketini de gerektirir. Bu model paketi, Yüz İşaretçisi görevi tarafından kullanılan paketle aynıdır.
Yüz yer işareti modeli paketini indirin
Yüz İşaretçisi 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ı olarak kabul edilmesi için gereken minimum güven puanı. | Float [0.0,1.0] |
0.5 |
minFacePresenceConfidence |
Yüz yer 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 İşaretçisi görevi başlıklı makaleyi inceleyin.
Derinlik eklentisi
Derinlik eklentisi, bir nesnenin tek gözlü 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 isteminden yola çıkarak yeni bir resim oluşturur.
Derinlik eklentisi, koşullu resmi oluşturmak için bir derinlik tahmini modeli de gerektirir.
Derinlik tahmini modelini indirin
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, Resim Oluşturucu'nun eğitim sırasında benzersiz jetonlarla tanımlanan belirli kavramlara dayalı resimler oluşturmasını sağlayabilir. Eğitimden sonra yeni LoRA ağırlıklarıyla model, metin isteminde jeton belirtildiğinde yeni kavramın resimlerini oluşturabilir.
LoRA ağırlıkları oluşturmak için belirli bir nesnenin, kişinin veya stilin resimleriyle bir temel model eğitmeniz gerekir. Bu, modelin yeni kavramı tanımasını ve resim oluştururken uygulamasını sağlar. 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 size izin veren kişilerin yüzlerinde kullanın.
Aşağıda, "monadikos teapot" jetonu kullanılarak DreamBooth veri kümesinden çaydanlık resimleri üzerinde eğitilen özelleştirilmiş bir modelin çıktısı verilmiştir:
İstem: Aynanın yanında bir monadikos çaydanlık
Özelleştirilmiş model, istemdeki jetonu aldı ve LoRA ağırlıklarından tasvir etmeyi öğrendiği bir çaydanlığı ekledi. Ardından, istemde istendiği gibi resmin yanındaki aynaya yerleştirdi.
Daha fazla bilgi için Vertex AI'daki Model Bahçesi'ni kullanarak bir temel modele LoRA ağırlıkları uygulayarak modeli özelleştiren özelleştirme kılavuzuna bakın.