Neural Style Transfer

licence licencee licence licence

Neural Style Transfer

  • Sinirsel stil aktarımı, hedef resmin içeriğini koruyarak referans resmin stilini aktarmaktır.
  • stil: farklı uzamsal ölçeklerde resmin dokuları, renkleri ve görsel örüntüleri anlamına gelmektedir.
  • özgün resmin içeriğini kaybetmeden referans resmin stilini uydurmak istiyoruz.
  • Eğer içerik ve stii matematiksel olarak ifade edebilirsek, aşağıdaki gibi bir kayıp fonksiyonu enküçültülebilir.
    loss = distance(style(reference_image) - style(generated_image)) +
          distance(content(original_image) - content(generated_image))
    
  • Burda distance L2 gibi bir norm fonksiyonu content resmi alıp onun içeriğini hesaplayan bir fonksiyon ve style resmi alıp onun stilinin gösterimini hesaplayan fonksiyondur.
  • Gatsys vd. derin evrişimli sinir ağlarının content ve style fonksiyonlarını tanımlamak için bir yol sunduğunu gözlemlemişlerdir. şimdi bunun nasıl olabileceğine bakalım.

Content Kaybı

  • İçerik kaybı olarak, hedef resim ve üretilen resmin öneğitimli bir evrişimli sinir ağının sonlarındaki katmanların aktivasyonlarının L2 normu iyi bir adaydır.
  • Bu son katmanlardaki aktivasyonlara bakarak üretilen resmin hedef resme benzemesini sağlayacaktır.
  • Eğer son katmanların gördüğü şeylerin girdi hedef resmin içeriği olduğunu kabul edersek, resmin içeriğini korumasını sağlar.

Style kaybı

  • Stilini alacağınız referans resmin evrişimli sinir ağı tarafından çıkarılan tüm ölçeklerdeki görünüşümü yakalamaya çalışırsınız.
  • Stil kaybı referans resimle hedef resim arasında farklı katmanların aktivasyonlarının iç korelasyonlarını korumayı hedefler.

Keras ‘ta Sinirsel Stil Aktarımı

  • Bu örneğimizde VGG19 öneğitimli evrişimli sinir ağını kullanarak Sinirsel Stil Aktarımını gerçekleştirdik. süreç şu şekilde olacaktır :
  • Referans resim, hedef resim ve üretilen resmin VGG19 aktivasyonlarını aynı anda hesaplayan bir ağ hesaplayalım.
  • Enküçülterek stil aktarımını sağlayacağınız daha önce tanımladığınız kaybı tanımlamak için bu üç resim üzerinde hesaplanan katman aktivasyonlarını kullanalım. *Kayıp fonksiyonunu enküçültmek için gradyan inişini kullanın
  • Değişkenlerin Tanımlanması :

Screenshot_2020-04-08_23-39-37

  • Yardımcı Fonksiyonlar :

Screenshot_2020-04-08_23-41-52

  • Öneğitimli VGG19 ağını yüklemek ve üç resme uygulama :

Screenshot_2020-04-08_23-44-07

  • İçerik kaybı (hedef resimle üretilen resmin birbirine benzemesini sağlayacak içerik kaybı) :

Screenshot_2020-04-08_23-46-16

  • Stil kaybı :

Screenshot_2020-04-08_23-48-52

  • Toplam Değişim Kaybı :

Screenshot_2020-04-08_23-50-30

  • Enküçülteceğimiz Kaybı Tanımlamak :

Screenshot_2020-04-08_23-59-53

  • Gradyan İnişi Sürecini Oluşturmak :

Screenshot_2020-04-09_00-02-27

  • Stil Aktarımı Döngüsü :

Screenshot_2020-04-09_00-04-10

Sinirsel Stil Aktarımını kullanarak Sonuçlara Bakalım

örnek3

örnek1

örnek2

Özet

  • Stil Aktarımı, hedef resmin içeriğini kaybetmeden referans resmin stilinin aktarılmasıdır
  • İçerik, evrişimli sinir ağının son katmanlarında yakalanabilir.
  • Stil, evrişimli sinir ağının farklı katmanlarının aktivasyonlarının iç korelasyonuyla yakalanabilir.
  • Sonuçta derin öğrenme,öneğitimli bir evrişimli sinir ağında kayıp fonksiyonu tanımlayarak ve kaybı eniyileyerek stil aktarımı yapılmasını sağlar.

Kaynak

GitHub

Yazıyı Beğendiysen Paylaşabilirsin

Merhaba ben Ahmet Furkan DEMIR,
Necmettin Erbakan Üniversitesinde Bilgisayar mühendisliği okumaktayım.
Kendimi Yazılım mühendisliği alanında geliştirmekteyim.
Bulut sistemleri, Yapay zeka, Blockchain ve Masaüstü uygulamaları gibi alanlarda projeler yazmaktayım.
Hedefim: Savunma sanayi ve Yazılım alanında kendi şirketimi kurmak.

Merhaba ben Ahmet Furkan DEMIR, Necmettin Erbakan Üniversitesinde Bilgisayar mühendisliği okumaktayım. Kendimi Yazılım mühendisliği alanında geliştirmekteyim. Bulut sistemleri, Yapay zeka, Blockchain ve Masaüstü uygulamaları gibi alanlarda projeler yazmaktayım. Hedefim: Savunma sanayi ve Yazılım alanında kendi şirketimi kurmak.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir