Anasayfa Video Kafa Ayarı Kafa Ayarı #62 – Stable Diffusion Nedir? Nasıl Kullanılır?

Kafa Ayarı #62 – Stable Diffusion Nedir? Nasıl Kullanılır?

Stable Diffusion veya herhangi bir yapay zeka (AI) görüntü oluşturucu hakkında henüz bir deneyiminiz yoksa bu makale tam size göre!

Stable Diffusion‘nun sizin için neler yapabileceğini ve kullanırken ihtiyacınız olacak bazı ipuçları da kapsayan rehber nitelikte bilgilere gelin beraber bakalım.

Stable Diffusion Nedir?

Stable Diffusion, metin girişinden görüntüler oluşturan bir yapay zeka modelidir. Örneğin bir zencefilli kurabiye evinin görüntüsünü oluşturmak istiyorsanız, aşağıdaki gibi bir komut istemi kullanıyorsunuz:

İngilizce: gingerbread house, diorama, in focus, white background, toast , crunch cereal
Türkçe: zencefilli kurabiye evi, diorama, odakta, beyaz arka plan, tost, mısır gevreği

Aşağıdaki görüntüleri oluşturmak için İngilizce komutlar kullandık. Türkçe yazılan komutlarda görüntüler ise farklı olabiliyor.

AI ile oluşturulan zencefilli ev
Stable diffusion ile oluşturulan bir zencefilli ev

AI ile oluşturulan zencefilli ev
Stable diffusion ile oluşturulan bir zencefilli ev

AI ile oluşturulan zencefilli ev
Stable diffusion ile oluşturulan bir zencefilli ev

AI ile oluşturulan zencefilli ev
Stable diffusion ile oluşturulan bir zencefilli ev

DALLE ve MidJourney gibi metinden görüntü oluşturmaya yarayan hizmetler de var. Peki neden Stable Diffusion ve ne gibi avantajları var?

  • Açık kaynak (Open-source): Merakı olan birçok kişi, ücretsiz bir şekilde güçlü araçlar yaratıyor.
  • Düşük sistemli bilgisayarlar için tasarlandı: Ücretsiz ya da çalıştırması ucuz.

Stable Diffusion ile ne tür görüntüler oluşturabilirim?

Sınırsız! Evet, Stable Diffusion ile oluşturabileceğiniz görüntülerin sınırı yok. İşte buna bazı örnekler:

Anime stili (Anime style)

Stable Diffusion Anime Stili
Stable diffusion ile oluşturulan Anime Stili

Stable Diffusion Anime Stili
Stable diffusion ile oluşturulan Anime Stili

Stable Diffusion Anime Stili
Stable diffusion ile oluşturulan Anime Stili

Stable Diffusion Anime Stili
Stable diffusion ile oluşturulan Anime Stili

Fotoğraf Gerçekçiliğinde (Photorealistic)

Stable diffusion ile oluşturulan bir Fotorealizm görseli
Stable diffusion ile oluşturulan bir Fotorealizm görseli

Stable diffusion ile oluşturulan bir Fotorealizm görseli
Stable diffusion ile oluşturulan bir Fotorealizm görseli

Stable diffusion ile oluşturulan bir Fotorealizm görseli
Stable diffusion ile oluşturulan bir Fotorealizm görseli

Stable diffusion ile oluşturulan bir Fotorealizm görseli
Stable diffusion ile oluşturulan bir Fotorealizm görseli

Manzara (Landscape)

Stable diffusion ile oluşturulan bir Peyzaj görseli
Stable diffusion ile oluşturulan bir Peyzaj görseli

Stable diffusion ile oluşturulan bir Peyzaj görseli
Stable diffusion ile oluşturulan bir Peyzaj görseli

Fantastik

Stable diffusion ile oluşturulan bir Fantastik stili görseli
Stable diffusion ile oluşturulan bir Fantastik stili görseli

Stable diffusion ile oluşturulan bir Fantastik stili görseli
Stable diffusion ile oluşturulan bir Fantastik stili görseli

Sanatsal stiller

Stable diffusion ile oluşturulan sanatsal görseller
Stable diffusion ile oluşturulan sanatsal görseller

Stable diffusion ile oluşturulan sanatsal görseller
Stable diffusion ile oluşturulan sanatsal görseller

Stable diffusion ile oluşturulan sanatsal görseller
Stable diffusion ile oluşturulan sanatsal görseller

Stable diffusion ile oluşturulan sanatsal görseller
Stable diffusion ile oluşturulan sanatsal görseller

Stable Diffusion ile görüntü oluşturmaya nasıl başlanır?

Çevrimiçi Oluşturucu

Yeni başlayanların ücretsiz olan çevrimiçi oluşturuculardan birini kullanmasını tavsiye ederiz. Aşağıdaki listede olan sitelerden birine gidin, yukarıda vermiş olduğumuz örnek komutu girin ve artık iş başındasınız!

Ücretsiz yapay zeka görüntü oluşturma siteleri:

Gelişmiş Kullanıcı Arayüzü

Ücretsiz çevrimiçi oluşturucu’ların dezavantajı, işlevlerin oldukça sınırlı olmasıdır. Bu alanda geliştiğinizde daha gelişmiş bir GUI (Grafik Kullanıcı Arayüzü) kullanabilirsiniz. Güçlü ve popüler seçimlerden biri olan AUTOMATIC1111‘i kullanabilirsiniz.

En az 4GB VRAM’e sahip bir NVIDIA GPU’nuz varsa, bilgisayarınızda çalıştırmak sizin için daha iyi olacaktır.

Neden gelişmiş bir GUI kullanmalısınız? Çünkü bir dizi araç elinizin altında, örneğin:

  • Gelişmiş yönlendirme teknikleri.
  • Inpainting ile görüntünün küçük bir bölümünü yeniden oluşturun.
  • Eklediğiniz bir görüntüye göre görseller oluşturun. (Image-to-image)
  • Bir görüntüyü talimat vererek düzenleyin.

Komut istemi en iyi şekilde nasıl oluşturulur?

En temelden başlamak gerekirse, çok iyi bir komut istemi oluşturabilmemiz için ana konuyu olabildiğince detaylandırmamız gerekiyor. Özellikle stili tanımlarken güçlü anahtar kelimeler eklediğinizden emin olun.

Önemli anahtar sözcükleri ve adım adım öğrenilmesi gereken bu süreci öğrenmenin bir yolu da bir komut istemi oluşturucusu kullanmak. Yeni başlayanlar için, bir dizi güçlü anahtar kelimeyi ve bunların beklenen etkilerini öğrenmek oldukça önemli. Bu, aynı yeni bir dil için kelime öğrenmeye benziyor aslında.

Yüksek kaliteli görüntüler oluşturmanın bir kısayolu da mevcut komutları yeniden kullanmaktır. İstem koleksiyonuna gidin, beğendiğiniz bir görseli seçin ve hoşunuza giden komut istemlerinden birini kullanın. Daha yüksek kaliteli görseller oluşturmaya devam edin, notları okuyun ve komut istemi değiştirin.

Alternatif olarak, Playground AI gibi resim koleksiyoncusu sitelerinden kullanabilirsiniz. Oradan beğendiğiniz bir görseli seçin ve komut istemini yeniden düzenleyin. Ancak, şunu belirtmeliyiz ki, yüksek kaliteli bir komut istemi bulmak samanlıkta iğne aramak kadar zor olacaktır.

İstemi bir başlangıç noktası olarak görerek ihtiyaçlarınızı karşılayacak şekilde değiştirin.

İyi komut istemleri oluşturmaya ilişkin temel kurallar

İki kuralımız var:

  1. Ayrıntılı ve spesifik olun.
  2. Güçlü anahtar kelimeler kullanın.

Ayrıntılı ve spesifik olun

Her ne kadar yapay zeka hızla ilerlese de, Stable Difusion henüz zihninizi okuyabilecek seviyede değil. Bundan dolayı elde etmek istediğiniz resmi mümkün olduğunca ayrıntılı bir şekilde tanımlamanız gerekir.

Diyelim ki caddede olan bir kadının olduğu bir sahnenin görselini elde etmek istiyorsunuz. Bunun için basit bir şekilde yazacağınız “a woman on street” şeklindeki komut istemi size aşağıdakine benzer bir görsel oluşturacaktır.

woman on street komutuyla oluşturulmuş bir görsel
woman on street komutuyla oluşturulmuş bir görsel

Belki de bu yazdığınız komutla bir büyükanne çıktısı beklemiyordunuz ama bunun için Stable Diffusion’nu suçlayamayız öyle değil mi? Çünkü elde edilen bu görsel yukarıdaki yazılan komutu teknik açıdan karşılıyor.

Her zaman daha fazla detay vermeliyiz, mesela komutu şu şekilde yazabiliriz:

İngilizce: a young lady, brown eyes, highlights in hair, smile, wearing stylish business casual attire, sitting outside, quiet city street, rim lighting

Türkçe: genç bir bayan, kahverengi gözlü, saçlarında vurgular, gülümseme, şık gündelik iş kıyafetleri giyen, dışarıda oturan, sessiz şehir caddesi, kenar aydınlatması

genç bir bayan, kahverengi gözlü, saçlarında vurgular, gülümseme, şık gündelik iş kıyafetleri giyen, dışarıda oturan, sessiz şehir caddesi, kenar aydınlatması
genç bir bayan, kahverengi gözlü, saçlarında vurgular, gülümseme, şık gündelik iş kıyafetleri giyen, dışarıda oturan, sessiz şehir caddesi, kenar aydınlatması

Bu iki komut ve çıktılarının arasındaki karşılaştırmayı yaparak komut istemi oluşturma becerileriniz üzerinde çalışmanız daha etkili bir şekilde sonuçlar almanızı sağlayacaktır.

Güçlü anahtar kelimeler kullanın

Bazı anahtar kelimeler diğerlerinden daha güçlüdür. Örneğin:

  • Ünlü isimler (örn. Emma Watson)
  • Sanatçı isimleri (örn. Van Gogh)
  • Sanat ortamı (örn. illüstrasyon, resim, fotoğraf)

Bunları dikkatli kullanarak görüntüyü istediğiniz yöne yönlendirebilirsiniz.

Bir ipucu vermek gerekirse ChatGPT kullanarak etkili komutlar oluşturabilirsiniz.

Bu parametreler nelerdir ve bunları değiştirmeli miyim?

Yukarıdaki listede vermiş olduğumuz online oluşturucuların birkaçı, sınırlı sayıda parametre değiştirmenize izin veriyor. Önemli olanların bazılarını aşağıda şu şekilde sıraladık:

  • Görüntü boyutu: Görüntü çıktısının boyutu. Standart boyut 512×512 pikseldir. Dikey veya yatay boyuta değiştirmek, görüntü üzerinde büyük bir etkiye sahip olabilir. Örneğin, tam bir vücut görüntüsü oluşturmak için portre boyutunu kullanın.
  • Örnekleme aşamaları: En az 20 adım kullanın. Bulanık bir görüntü görürseniz artırın.
  • CFG ölçeği: Tipik değer 7’dir. Görüntünün komut istemini daha fazla takip etmesini istiyorsanız artırın.
  • Çekirdek değeri: -1, rastgele bir görüntü oluşturur. Aynı görseli istiyorsanız bir değer belirtin.
Stable dffusion ile oluşturulan bir görsel
Stable dffusion ile oluşturulan bir görsel

Kaç tane görüntü oluşturmalıyım?

Bir komut istemini test ederken her zaman birden fazla görüntü oluşturmalısınız.

İstemde büyük değişiklikler yaparken aramayı hızlandırabilmek için bir seferde 2-4 resim oluşturmanızda fayda var. Böyle ilerlerseniz sonuçlardan kullanılabilir bir şey görme şansınız da artıyor.

Komut istemlerinin bazıları yalnızca bazı sistemlerde çalışıyor. Bu nedenle, yazacağınız istemi bir görüntüye dayalı yazmayın.

Image-to-image – img2img nedir?

Image to Image kullanılarak bir komut ile eklenen görsel
Image to Image kullanılarak bir komut ile eklenen görsel

Image to Image kullanılarak bir komut ile eklenen görsel'in çıktısı
Image to Image kullanılarak bir komut ile eklenen görsel’in çıktısı

Image-to-image veya kısaca img2img bir görüntüyü başka bir türde yeniden oluşturma işlemidir diyebiliriz. Bu işlem için:

  1. Bir görüntü ve;
  2. Bir komut istemine ihtiyaç duyulmakta.

Görüntü oluşturmayı sadece komut istemi ile değil, görüntü ile de yön verebilirsiniz.

Aslında, image-to-image kullanarak görsel oluşturmayı, metinden görsel oluşturmanın özel bir durumu olarak görebilirsiniz. Yukarıda image-to-image kullanılarak çok basit bir şekilde görüntülü bir girdi oluşturulmuş.

Görüntülerdeki kusurları düzeltmenin en yaygın yolları

Sosyal medyada paylaşılan çarpıcı yapay zeka görüntülerinin bir dizi işlemden geçmiş olma ihtimali yüksektir. Bu kısımda bunlardan bazılarını ele alacağız.

Face Restoration

Stable diffusion ile oluşturulmuş kusurlu bir görsel
Stable diffusion ile oluşturulmuş kusurlu bir görsel

Kusurlu bir görselin Face Restoration ile düzeltilmiş hali
Kusurlu bir görselin Face Restoration ile düzeltilmiş hali

Yapay Zeka sanatçı topluluğunda Stable Diffusion’nın yüz oluşturmada iyi olmadığı iyi bilinir. Çoğu zaman oluşturulan yüzlerde kusurlar bulunur.

Yüzleri onarmak için AUTOMATIC1111 GUI’nın yerleşik desteğe sahip olduğu CodeFormer gibi eğitilmiş görüntü AI modellerini kullanmanızı öneririz. Ayrıca v1.4 ve v1.5 versiyonlarında gözleri düzenlemek için bir güncelleme de mevcut.

Inpainting ile küçük kusurları düzeltme

İlk denemede istediğiniz görüntüyü elde etmek bir hayli zor. Her zaman iyi bir bileşime sahip bir görüntü oluşturmak daha mantıklı bir yaklaşım olcaktır. Daha sonra inpainting ile kusurları onarabilirsiniz.

Aşağıda, inpainting uygulanmış bir görselin öncesi ve sonrası halini inceleyebilirsiniz. Inpainting için orijinal komut istemini kullanmak %90 çalışır bir sonuç verecektir.

inpainting yöntemi
Solda kusurlu olan görsel, inpainting yöntemiyle yüz ve kol kısmı boyanarak sağdaki onarılmış halini almıştır.

Özel modeller nelerdir?

Stability AI ve ortakları tarafından piyasaya sürülen resmi modellere temel modeller (base models) denir. Temel modellerin bazı örneklerini Stable Diffusion 1.4, 1.5, 2.0 ve 2.1 versiyonlarında bulabilirsiniz.

Özel modeller temel modellerden eğitilir. Şu anda, modellerin çoğu v1.4 veya v1.5 versiyonlarından eğitilmiştir. Bu modeller, belirli stillerin veya nesnelerin görüntülerini oluşturmak için ek verilerle eğitiliyorlar.

Söz konusu özel modellerse bunun bir sınırı yok. Bu bir anime stili olabilir, Disney stili veya başka bir yapay zekanın stili olabilir. Adını siz koyun.

Aşağıda 5 farklı modelin karşılaştırmasını inceleyebilirsiniz.

5 farklı model ile eğitilmiş görseller
5 farklı model ile eğitilmiş görseller

İki model arasında bir stil yaratmak için modelleri birleştirmek de kolaydır.

Hangi modeli kullanmalıyım?

Eğer yeni başlıyorsanız temel modellere bağlı kalmanız yararınıza olacaktır. Sizi aylarca meşgul edecek kadar öğrenecek çok şey var.

Temel modellerin iki ana grubu v1 ve v2‘dir.

  • v1 modelleri 1.4 ve 1.5 versiyonunda,
  • v2 modelleri ise 2.0 ve 2.1 versiyonundadır.

Yeni çıkan v2 modelleriyle başlamanız gerektiğini düşünebilirsiniz. Ancak, insanlar hala v2 modellerinin nasıl kullanacağını çözmeye çalışıyor. Ayrıca, v2’den alınan görüntülerin v1’den daha iyi olmadığını da söylemekte fayda var.

Stable Diffusion’da yeniyseniz v1.5 versiyonundaki modeli kullanmanızı tavsiye ediyoruz.

Yeni bir model nasıl eğitilir?

Stable Diffusion kullanmanın bir avantajı da model üzerinde tam kontrole sahip olmanızdır. Dilerseniz özgün bir tarza sahip kendi modelinizi de oluşturabilirsiniz.

Modelleri eğitmenin iki ana yolu var:

  1. Dreambooth,
  2. Embedding (yerleştirme).

Tüm modele detaylı, ince ayar yaptığı için Dreambooth’un daha güçlü olduğu düşünülüyor. Embedding ise modeli olduğu gibi bırakıyor ancak konuyu veya stili açıklamak için anahtar kelimeler buluyor.

Negatif Komut İstemleri

Komut isteminde ne görmek isterseniz onu komut olarak yazarsınız. Peki ya görmek istemedikleriniz için? İşte, negatif komut isteminde de görmek istemediğiniz şeyleri komut olarak belirtirsiniz. Maalesef tüm Stable Diffusion hizmetleri, negatif komut istemlerini desteklemiyor. Bu, v1 modelleri için değerli, v2 modellerinin de olmazsa olmazdır. Yeni başlayan birisinin evrensel bir negatif komut istemi kullanmasından zarar gelmez.

Görüntü bileşimi nasıl kontrol edilir?

Stable Diffusion teknolojisi hızla gelişiyor. Görüntü bileşimini kontrol etmenin birkaç yolu var.

Image-to-Image

Stable Diffusion ile bir görüntü oluştururken girdi olarak bir görsel ekleyip bu görseli baz alarak bir resim oluşturmasını isteyebilirsiniz. Buna Image-to-Image veya img2img deniyor.

Aşağıda bir anka kuşu resmini kullanarak çıktının tek boynuzlu bir ata dönüştürülmesinin örneğini görüyorsunuz. Çıktının bileşimi girdi olarak verilen görüntüyü takip ediyor.

Stable Diffusion ile oluşturulan bir anka kuşu
Stable Diffusion ile oluşturulan bir anka kuşu görseli image to image ile çıktının tek boynuzlu bir ata dönüştürülmesi için girdi olarak kullanıldı.

Girdi olarak aldığı anka kuşu görseli ile oluşturulan tek boynuzlu at görseli
Girdi olarak aldığı anka kuşu görseli ile oluşturulan tek boynuzlu at görselinin çıktısı

ControlNet

Benzer şekilde ControlNet de çıktıyı yönlendirmek için bir girdi görüntüsü kullanır. Ancak belirli bilgileri, örneğin insan pozlarının çıktısını oluşturabilir.

Aşağıda, girdi görüntüsünden bir insan pozunu kopyalamak için kullanılan ControlNet’e bir örnek verilmiştir.

Girdi olarak verilen görsel
Girdi olarak verilen görsel

Çıktı olarak alınan görsel
Çıktı olarak alınan görsel

Depth-to-image

Depth-to-image, bir girdi olarak eklenen görsel aracılığıyla bileşimi kontrol etmenin bir başka yoludur. Girdi görüntüsünün ön ve arka planını algılar ve çıktı görüntüsü de aynı ön ve arka planı takip ederek görseli oluşturur.

Aşağıda yer alan örneği inceleyebilirsiniz.

Girdi olarak verilen görsel
Girdi olarak verilen görsel

Çıktı olarak alınan görsel
Çıktı olarak alınan görsel

Stable Diffusion başlangıç rehberimizin sonuna geldik. Bu rehbere bağlı diğer yazılarımıza da göz atmayı unutmayın.