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ı :
- Yardımcı Fonksiyonlar :
- Öneğitimli VGG19 ağını yüklemek ve üç resme uygulama :
- İçerik kaybı (hedef resimle üretilen resmin birbirine benzemesini sağlayacak içerik kaybı) :
- Stil kaybı :
- Toplam Değişim Kaybı :
- Enküçülteceğimiz Kaybı Tanımlamak :
- Gradyan İnişi Sürecini Oluşturmak :
- Stil Aktarımı Döngüsü :
Sinirsel Stil Aktarımını kullanarak Sonuçlara Bakalım
Ö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
- Kaynakça 1
- Kaynakça 2 (Sayfa 306-315)
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