DreamBooth Kullanarak Sanat Yaratmak için Yüzünüzle Kararlı Difüzyon AI Nasıl Eğitilir

Yayınlanan: 2022-10-10

Tarunabh Dutta'dan Misafir Mesajı.

2021, kelime tabanlı AI dil modellerinin yılıysa, 2022 Metinden Görüntüye AI modellerine bir sıçrama yaptı. Günümüzde yüksek kaliteli görüntüler üretebilen birçok metinden görüntüye yapay zeka modeli bulunmaktadır. Kararlı Difüzyon, en popüler ve iyi bilinen seçeneklerden biridir. Tutarlı sonuçlar üreten hızlı ve kararlı bir modeldir.

how to train stable diffusion

Görüntü oluşturma süreci hala biraz gizemlidir, ancak Kararlı Yayılımın mükemmel sonuçlar ürettiği açıktır. Metinden görüntüler oluşturmak veya mevcut görüntüleri değiştirmek için kullanılabilir. Mevcut seçenekler ve parametreler, son görüntü üzerinde çok fazla özelleştirme ve kontrol sağlar.

Ünlülerin ve popüler figürlerin görüntüleri üzerinde çalışmak nispeten daha kolay olsa da, tamamen mevcut görüntü seti nedeniyle, AI'nın kendi yüzünüzde çalışmasını sağlamak o kadar kolay değil. Mantık, AI modelini resimlerinizle beslemenizi ve ardından sihrini yapmasına izin vermenizi söylüyor, ancak kişi bunu tam olarak nasıl yapabilir?

Bu makalede, kendi yüzünüzün veya başka herhangi bir nesnenin AI temsillerini oluşturmak ve inanılmaz sonuçlar, hassasiyet ve tutarlılık ile sonuç fotoğrafları oluşturmak için bir resim referansı üzerinde DreamBooth metinsel ters çevirme kullanarak bir Stabil Difüzyon modelinin nasıl eğitileceğini göstermeye çalışacağız. Kulağa çok teknik geliyorsa, biraz daha takılın, biz de onu mümkün olduğunca yeni başlayanlar için uygun hale getirmeye çalışacağız.

İçindekiler

Kararlı Difüzyon nedir?

Temelleri bir kenara bırakalım. Kararlı Yayılma modeli, büyük bir görüntü kümesi üzerinde eğitilmiş, son teknoloji bir metinden görüntüye makine öğrenimi modelidir. Eğitilmesi pahalıdır, yaklaşık 660.000 dolara mal olur. Ancak, Kararlı Yayılma modeli, doğal dil kullanarak sanat üretmek için kullanılabilir.

Derin öğrenme Metinden Görüntüye Yapay Zeka modelleri, metni doğru bir şekilde görüntülere çevirme yetenekleri nedeniyle giderek daha popüler hale geliyor. Bu modelin kullanımı ücretsizdir ve Hugging Face Spaces ve DreamStudio'da bulunabilir. Model ağırlıkları ayrıca indirilebilir ve yerel olarak kullanılabilir.

Stable Diffusion, metin istemine benzeyen görüntüler oluşturmak için "difüzyon" adı verilen bir işlem kullanır.

Kısacası, Kararlı Yayılma algoritması metinsel bir açıklama alır ve bu açıklamaya dayalı olarak bir görüntü oluşturur. Oluşturulan görüntü metne benzer görünecek ancak tam bir kopya olmayacaktır. Stabil Diffusion'ın alternatifleri arasında OpenAI'nin Dall-E ve Google'ın Imagen modelleri bulunur.

DreamBooth kullanarak görüntü oluşturmak için Yüzünüzle Kararlı Difüzyon AI Eğitme Kılavuzu

Bugün, hem orijinal hem de taze, son derece tutarlı ve doğru bir stille görüntüler oluşturmak için yüzümü ilk referans olarak kullanarak bir Kararlı Difüzyon modelinin nasıl eğitileceğini göstereceğim.

Bu amaçla, Stable Difüzyonu eğitmek için DreamBooth adlı bir Google Colab kullanacağız.

Bu Google Colab'ı başlatmadan önce belirli içerik öğelerini hazırlamalıyız.

1. Aşama: Yeterli boş alana sahip Google Drive

Bunun için en az 9 GB boş alana sahip bir Google Drive hesabına ihtiyacınız var.

Ücretsiz bir Google Drive hesabı, bu görev için yeterli olan 15 GB boş depolama alanı ile birlikte gelir. Böylece sadece bu amaç için yepyeni (tek kullanımlık) bir Gmail hesabı oluşturabilirsiniz.

google drive

2. Aşama: AI'yı eğitmek için Referans Görüntüler

İkinci olarak, referans olarak kullanıma hazır yüzünüzün veya herhangi bir hedef nesnenin en az bir düzine portresine sahip olmalısınız.

  • Lütfen çekilen görüntülerde yüz özelliklerinin görünür olduğundan ve yeterince aydınlatıldığından emin olun. Özellikle yüzünde sert gölgeler kullanmaktan kaçının.
  • Ek olarak, özne kameraya dönük olmalı veya her iki gözün ve tüm yüz özelliklerinin açıkça görülebildiği bir yan profile sahip olmalıdır.
  • Kamera, yüksek kaliteli yüz özelliklerini yakalayabilmelidir. En iyi seçenek, profesyonel düzeyde bir DSLR veya aynasız fotoğraf makinesidir. Mükemmel kalitede bir akıllı telefon kamerası da yeterli olabilir.
  • Kompozisyon, çerçevenin ortasına küçük bir boşluk bırakılarak yerleştirilmelidir.
  • Giriş görüntüsü olarak, yüzün en az on iki yakın plan fotoğrafı, baştan beline kadar olan beş adet orta plan fotoğraf ve kabaca üç tam figür fotoğraf yeterli olmalıdır.
  • Bu amaçla en az yirmi referans fotoğraf yeterli olmalıdır.

birme faces

Benim durumumda, çevrimiçi aracı - Birme'yi kullanarak 512 x 512 piksele kırptığım yaklaşık 50 otoportreden oluşan bir koleksiyon çektim ve topladım. Bu amaçla herhangi bir alternatif resim düzenleyici de kullanabilirsiniz.

Nihai çıktı görüntüsünün web için optimize edilmesi ve minimum kalite kaybıyla dosya boyutunun küçültülmesi gerektiğini lütfen unutmayın.

3. Aşama: Google Colab

Google Colab çalışma zamanı artık yürütülebilir.

Google Colab platformunun hem ücretsiz hem de ücretli sürümleri vardır. Dreambooth ücretsiz sürümde çalışabilir, ancak yüksek hızlı GPU kullanımına öncelik veren ve eldeki göreve en az 15 GB VRAM atayan Colab Pro (ücretli) sürümde performans önemli ölçüde daha hızlı ve daha tutarlıdır.

Birkaç dolar harcamaktan çekinmiyorsanız, her ay 100 işlem birimi içeren 10 dolarlık bir Colab Pro aboneliği bu oturum için fazlasıyla yeterli.

google colab signup

Ayrıca, nispeten daha güçlü ve daha hızlı olan ekstra bellek RAM ve GPU'lara da erişebileceksiniz.

Şunu tekrar edeyim: Bu Colab'ı çalıştırmak için teknik uzman olmanıza gerek YOKTUR. Ayrıca önceden herhangi bir kodlama deneyimine ihtiyacınız yoktur.

Google Colab'a (ücretsiz veya ücretli sürüm) kaydolduktan sonra, kimlik bilgilerinizle oturum açın ve DreamBooth Stable Difusion'ı açmak için bu bağlantıya gidin.

Bir Google Colab'in sol tarafında sırayla düzenlenmiş tıklanabilir oynatma düğmeleri olan "çalışma zamanı" bölümleri veya hücreleri vardır. Runtime'ı yukarıdan başlayarak oynatmak için tek tek play butonlarına tıklamanız yeterlidir. Her segment, yürütülmesi gereken bir çalışma zamanından oluşur. Bir oynat düğmesine tıkladığınızda, ilgili bölüm çalışma zamanı olarak yürütülür. Bir süre sonra, çalışma zamanının başarıyla yürütüldüğünü belirtmek için oynat düğmesinin solunda yeşil bir onay işareti görünecektir.

Lütfen bir seferde yalnızca bir çalışma zamanını manuel olarak yürüttüğünüzden emin olun ve yalnızca mevcut çalışma zamanı bittiğinde sonraki "çalışma zamanı" bölümüne gidin.

Üst menü çubuğunun çalışma zamanı bölümünde, tüm çalışma zamanlarını aynı anda çalıştırma seçeneğiniz vardır. Ancak bu tavsiye edilmez.

change runtime type dreambooth

Bunun altında "Çalışma zamanı türünü değiştir" etiketli bir seçenek var. Profesyonel bir aboneliğe aboneyseniz, yürütmeniz için bir "premium" GPU ve yüksek RAM seçip kaydedebilirsiniz.

choose high ram

Artık DreamBooth Colab'ı başlatmaya hazırsınız.

run dream booth

DreamBooth'ta Eğitimli Bir Yapay Zeka Modelini Başarıyla Tamamlamak için 10 Adım

ADIM 1: GPU ve VRAM'a karar verin

İlk adım, mevcut GPU ve VRAM türünü belirlemektir. Profesyonel kullanıcılar, daha kararlı olan hızlı GPU'ya ve gelişmiş VRAM'a erişebilecek.

determine GPU VRAM

Oynat düğmesini tıkladığınızda, geliştiricinin kaynak web sitesi olan GitHub'a erişildiği için bir uyarı görüntüler. Devam etmek için “ Yine de Çalıştır ”a tıklamanız yeterlidir.

choose vram

ADIM 2: DreamBooth'u Çalıştırın

Bir sonraki adımda, belirli gereksinimleri ve bağımlılıkları yüklemeniz gerekir. Oynat düğmesine tıklamanız ve çalışmasına izin vermeniz yeterlidir.

dreambooth play

ADIM 3: Hugging Face'de oturum açın

Oynat düğmesine tıkladıktan sonra, bir sonraki adım Hugging Face hesabınıza giriş yapmanızı gerektirecektir. Henüz bir hesabınız yoksa ücretsiz bir hesap oluşturabilirsiniz. Giriş yaptıktan sonra, sağ üst köşeden Ayarlar sayfanıza gidin.

hugging face settings

Ardından, yeni bir "erişim belirteci" oluşturmak ve istediğiniz şekilde yeniden adlandırmak için ' Erişim Simgeleri ' bölümünü ve Yeni Oluştur düğmesini tıklayın.

access tokens

Erişim belirtecini kopyalayın, ardından Colab sekmesine dönün ve sağlanan alana girin, ardından " Oturum Aç "ı tıklayın.

login to huggingface

ADIM 4: xformers'ı yükleyin

Bu adımda, yalnızca oynat düğmesine basarak xformers'ı yüklemek için çalışma zamanına tıklayabilirsiniz.

install xformers

5. ADIM: Google Drive'ı bağlayın

Oynat düğmesini tıkladıktan sonra, yeni bir açılır pencerede Google Drive hesabınıza erişim izniniz istenecektir. İzin istendiğinde “İzin Ver”e tıklayın.

access google drive folder

İzinleri verdikten sonra “ Google Drive'a kaydet ”in seçili olduğunu onaylamanız gerekir. Ayrıca ' SINIF ADI ' değişkeni için yeni bir ad belirlemelisiniz. Bir kişinin referans resimlerini göndermek istiyorsanız, 'kişi', 'erkek' veya 'kadın' yazmanız yeterlidir. Referans resimleriniz bir köpeğe aitse, 'köpek' yazın vb. Kalan alanları değiştirmeden tutabilirsiniz. Alternatif olarak, girdi dizinini yeniden adlandırabilirsiniz—'INSTANCE DIR' veya çıktı dizini—'OUTPUT DIR.'

dreambooth settings

ADIM 6: Referans fotoğrafları yükleyin

Önceki adımda oynat düğmesine tıkladıktan sonra, tüm referans fotoğraflarınızı yükleme ve ekleme seçeneğini göreceksiniz.

upload images

En az 6 en fazla 20 fotoğraf tavsiye ederim. Konunun nasıl çekildiğine bağlı olarak en iyi referans resmin nasıl seçileceğinin kısa bir açıklaması için yukarıdaki “2. AŞAMA”ya bakın.

select images

Tüm resimleriniz yüklendikten sonra, bunları sol sütunda görüntüleyebilirsiniz. Bir klasör simgesi var. Üzerine tıkladığınızda, verilerinizin şu anda saklandığı klasörleri ve alt klasörleri görebileceksiniz.

Veri dizini altında, yüklediğiniz tüm fotoğraflarınızın depolandığı giriş dizininizi görüntüleyebilirsiniz. Benim örneğimde, "sks" (varsayılan ad) olarak bilinir.

Ayrıca, bu içeriğin Google Drive'da değil, yalnızca Google Colab depolama alanınızda geçici olarak depolandığını lütfen unutmayın.

input directory

start training

ADIM 7: AI modelini DreamBooth ile eğitin

DreamBooth kullanarak yüklediğiniz tüm referans fotoğraflarınızı temel alan yeni bir AI modeli eğiteceğiniz için bu en önemli adımdır.

train images dreambooth

Yalnızca iki giriş alanına odaklanmalısınız. İlk parametre “—örnek istemi”dir. Burada, çok benzersiz bir ad girmelisiniz. Benim durumumda, adımı ve ardından baş harflerimi kullanacağım. Bütün fikir, tam adı benzersiz ve kesin tutmaktır.

İkinci önemli girdi alanı '—sınıf istemi' parametresidir. 'ADIM 4'te kullandığınızla eşleşecek şekilde yeniden adlandırmalısınız. Benim durumumda, "adam" terimini kullandım. Bu yüzden onu bu alana yeniden yazacağım ve önceki girişlerin üzerine yazacağım.

dreambooth parameters

Alanların geri kalanı dokunulmadan bırakılabilir. Kullanıcıların '—num sınıf görüntüleri' gibi alanları 12'ye ve '—maksimum tren adımları' 1000, 2000 veya daha yüksek değerlere değiştirerek deneyler yaptığını gözlemledim. Ancak, bu alanları değiştirmenin Colab'in belleğinin dolmasına ve çökmesine neden olabileceğini ve baştan yeniden başlatmanızı gerektirebileceğini lütfen unutmayın. Bu nedenle, ilk denemede bunları düzenlememeniz önerilir. Yeterli deneyim kazandıktan sonra gelecekte onlarla deneyler yapabilirsiniz.

Yürüt düğmesine tıklayarak bu çalışma zamanını yürüttüğünüzde, Colab gerekli yürütülebilir dosyaları indirmeye başlayacak ve ardından referans resimlerinizi kullanarak eğitim yapabilecektir.

Modeli eğitmek 15 dakikadan bir saate kadar sürer. Sabırlı olmalı ve çalışma zamanı tamamlanana kadar ilerlemeyi takip etmelisiniz. Google Colab'ınız çok uzun süre boşta kalırsa sıfırlanabilir. Bu yüzden ilerlemeyi kontrol etmeye ve ara sıra sekmeye tıklamaya devam edin.

colab executing

execution complete

ADIM 8: AI modelini ckpt formatına dönüştürün

Eğitim tamamlandıktan sonra, eğitilen modeli Stabil Difüzyon ile doğrudan uyumlu ckpt formatında bir dosyaya dönüştürme seçeneğine sahip olacaksınız.

Dönüştürme, iki çalışma zamanı aşamasında gerçekleştirilebilir. Birincisi “ Komut dosyası indir ” ve ikincisi “ Dönüştürmeyi çalıştır ”dır ve burada eğitilmiş modelin indirme boyutunu küçültme seçeneğiniz vardır. Ancak, bunu yapmak, ortaya çıkan görüntü kalitesini önemli ölçüde düşürür.

Bu nedenle, orijinal boyutunu korumak için ' fp16 ' seçeneği işaretlenmemiş kalmalıdır.

run conversion

Bu belirli çalışma zamanının sonunda, bağlı Google Drive'ınıza “ model.ckpt ” adlı bir dosya kaydedilecektir.

model ckpt

DreamBooth Colab tarayıcı sekmesini kapattığınızda çalışma zamanlarınız hemen silindiği için bu dosyayı ileride kullanmak üzere kaydedebiliriz. DreamBooth'un Colab sürümünü daha sonra yeniden açtığınızda, sıfırdan başlamanız gerekecek.

Eğitilmiş model dosyasını Google Drive'ınıza kaydettiğinizi varsayalım. Bu durumda, yerel olarak kurulmuş Stable Diffusion GUI, DreamBooth veya çalışma zamanının etkili bir şekilde çalışması için “model.ckpt” dosyasının yüklenmesini gerektiren herhangi bir Stable Diffusion Colab not defteri ile kullanmak üzere daha sonra alabilirsiniz. Daha sonra kullanmak üzere yerel sabit disklerinize de kaydedebilirsiniz.

ADIM 9: Metin İstemi için Hazırlanın

“Çıkarım” kategorisi altındaki sonraki iki çalışma zamanı süreci, yeni eğitilmiş modeli, görüntü üretimi için kullanılan metinsel bilgi istemi için hazırlar. Her çalışma zamanı için oynat düğmesine basmanız yeterlidir ve birkaç dakika içinde bitecektir.

inference

ADIM 10: AI görüntüleri oluşturun

Bu, metin istemlerini yazabileceğiniz son adımdır ve AI görüntüleri oluşturulacaktır.

Metin isteminin başlangıcında ADIM 6'dan itibaren 'instance_prompt' ve '–class_prompt' tam adını birlikte kullanmalısınız. Örneğin, benim durumumda kendime benzeyen yeni AI görüntüleri oluşturmak için “tarunabhtd adam portresi, dijital resim” kullandım.

image prompt

image generation

Aşağıda, DreamBooth'un eğitimli modeliyle oluşturulan bazı görüntü sonuçlarını görebilirsiniz.

sample generated images

En İyi Çıktıları Almak için Bilgi İstemleriyle Oynayın

Yukarıda özetlenen adımları dikkatli bir şekilde takip ederseniz, referans görüntülerinizdeki yüz özelliklerine çok benzeyen AI görüntüleri oluşturabileceksiniz. Bu yöntem, yalnızca çevrimiçi Google Colab platformunun, metinsel tersine çevirme için AI teknolojisinin yükseltilmiş bir sürümünü yürütmesini gerektirir.

Metin istemleri için daha iyi fikirler için aşağıdaki gibi sitelere göz atabilirsiniz:

  • OpenArt AI
  • Krea AI
  • sözlük sanatı

Ayrıca, çeşitli sanatsal stiller ve çeşitli kombinasyonlar kullanarak daha iyi ve daha etkili metin istemleri oluşturma sanatını da öğrenmeniz gerekir. İyi bir başlangıç ​​yeri Stabil Difüzyon SubReddit olacaktır.

Reddit, Kararlı Yayılım'a adanmış büyük bir topluluğa sahiptir. Ayrıca, Stabil Yayılımın yeni yollarını aktif olarak tartışan, paylaşan ve keşfeden bir dizi Facebook grubu ve Discord topluluğu da var.

Aşağıda, Youtube'da izleyebileceğiniz birkaç DreamBooth eğitim videosunun bağlantılarını da paylaşıyorum –

Umarım bu kılavuzu faydalı bulursunuz. Herhangi bir sorunuz varsa, aşağıya yorum yapmaktan çekinmeyin, size yardımcı olmaya çalışacağız.

Yazar:
Tarunabh Dutta, bağımsız bayrağı 'TD Film Studio' altında son 16 yılda uzun metrajlı filmler, kısa filmler, müzik videoları, belgeseller ve reklamlar dahil 45'ten fazla projeyi tamamlayan ödüllü bir film yapımcısı.