Xinzhiyuan Derlemesi
(Metin / Mike Tyka) Bir süredir, insanların portrelerini yapmak için üretken sinir ağlarını kullanmaya çalışıyorum. İlk deneyler Deep Dream'e benzer yöntemlere dayanıyordu, ancak son zamanlarda GAN'a odaklanmaya başladım. Elbette, ne zaman olursa olsun, yüksek hassasiyete ve kesin ayrıntılara ulaşmak zordur ve aynı şey, yüzler oluşturmak için GAN'ı kullanmak için de geçerlidir. İlk olarak, bu ağların alıcı alanlarının boyutu genellikle 256 × 256 pikselin altındadır.
Bu sorunu çözmenin bir yolu, yığın GAN kullanmaktır. Sonunda piksel boyutunu 768 × 768'e yükseltmek için yığın GAN tabanlı yöntemi kullandım, pikseli 4k × 4k'ya yükseltmek için 3 aşamaya kadar yığın kullanarak. Sonucun gerçek olup olmadığı umurumda değil ama detay dokusunun gerçekçi olması önemli.
Artefaktları (belirsizlikleri) azaltmak için, mod çökmesi gibi çeşitli sorunlarla uğraşmam gerekiyor. Spesifik olarak, pürüzsüz cilt ile tüylü cilt arasında, GAN'ın ikinci aşaması meta stabildir ve bu, genellikle çıktının parça parça olmasına neden olur.
Şu anda en çok kullandığım vanilya GAN. Elbette WGAN, CramerGAN veya BEGAN'ı da denemem gerektiğini düşünüyorum çünkü herkes ikincisinin yakınsama için daha iyi olduğunu söylüyor.
Aşağıdaki, GAN kullanarak oluşturduğum bir fantezi figürünün portresidir (daha iyi bir efekt seçtim ve üzerine koydum).
Oluşturulan görüntünün kalitesi, düşük çözünürlüklü çıktının (düşük çözünürlüklü çıktı) gerçekleştirilmesiyle yakından ilgilidir. Genellikle ilk aşamada 128 × 128 veya 256 × 256 piksel sonuçlar üretip ikinci aşamada 768 × 768 veya 1024 × 1024'e yükseltirim. Çoğu durumda, üretilen sonuçlar çok kötü, seçtiğim sonuçlardan çok uzak, ancak bazen çok sanatsal görüntüler ortaya çıkıyor ve bazen sanatsal bir tarz doğmuş gibi görünüyor.
Son üçüncü aşamada pikselleri 4k'ye yükselttim. Bununla birlikte, aslında, bu piksel seviyesinde eğitim verisine sahip değilim, yani ağın yaptığı şey, kenarın düzgün olup olmadığını kabaca tahmin etmektir.
Sistem, cildin yüksek çözünürlüklü yüz veritabanını bilemez. Gözeneklerin veya kirpiklerin bu ayrıntıları. Bu nedenle yüksek çözünürlüklü bir yüz veritabanına ihtiyacımız var.
Nihai baskı efekti göz önüne alındığında, bu çözünürlükte bazı yapıları kasıtlı olarak tutmak iyi olabilir (ile karşılaştırıldığında).
Mike Tyka, aşağıdaki makalede bahsedilen Stack-GAN yöntemine atıfta bulundu ve kağıt bazında 3 yığın yaptı. Ayrıca ilgileniyorsanız deneyebilirsiniz :)
Özet
Metin açıklamalarına dayalı olarak gerçekçi görüntüleri sentezlemek, bilgisayarla görmede büyük bir zorluktur ve birçok uygulama vardır. Mevcut yöntemler kullanılarak sentezlenen görüntüler, detay ve canlılık açısından tatmin edici değildir. Bu makalede, metin açıklamalarına dayalı gerçekçi görüntüler oluşturmak için StakeGAN yöntemini öneriyoruz. İlk aşamada (Aşama-I GAN), GAN, belirli bir açıklamaya göre görece ilkel şekiller ve temel renkler üretir ve Aşama I düşük çözünürlüklü görüntüleri elde eder. Aşama II GAN, yüksek çözünürlüklü gerçekçi görüntüler oluşturmak için Aşama I GAN'ı ve metin açıklamasını girdi olarak alır. Aşama II GAN, hataları düzeltebilir ve ikna edici etkiler ve ayrıntılar ekleyebilir. StackGAN tarafından oluşturulan görüntüler, mevcut yöntemlerden daha makul ve gerçekçidir. En önemlisi StackGAN'ın metne göre ilk kez 256 × 256 piksel görüntü oluşturmasıdır.Mevcut yöntem en fazla 128 × 128 piksel görüntü oluşturabilir.