Sinir ağını belirli bir tarzda resim çizmek için eğitmek mümkün mü?


10

Sinir ağını belirli bir tarzda resim çizmek için eğitmek mümkün mü? (Bu yüzden bir görüntü alır ve eğitildiği bir tarzda yeniden çizer.)

Böyle bir şey için onaylanmış bir teknoloji var mı? DeepArt algoritmasını biliyorum. Ana görüntüyü belirli bir desenle doldurmak iyidir (örneğin, vangoghify görüntüsü), ancak farklı bir şey arıyorum - örneğin, giriş portresinden belirli bir tarzda çizgi film yapmak.


3
Bir fotoğraf-karikatür sinir ağı eğitiminin önündeki bir engel, bir eğitim veri seti bulmak olabilir. Veri kümesinin, insanların bu fotoğraflara dayanarak çizdiği fotoğraf ve karikatürleri içermesi gerekir. Bu tür veri kümelerinin farkında değilim.
Tanner Swett

@TannerSwett Böyle bir eğitim için ne kadar görüntünün gerekli olduğunu düşünüyorsunuz?
zavg

Ben uzman değilim, bu yüzden sadece vahşi bir tahmin yapabilirim. En azından bin görüntüye ihtiyacınız olacağını düşünüyorum. Bundan daha fazlasına ihtiyacınız olabilir. Bu arada, bu araca bakmanızı öneririm: github.com/hardmaru/sketch-rnn Bu araç, Çince karakterlerin taklitlerini oluşturmak için kullanıldı; belki benzer bir araç karikatür taklidi oluşturabilir.
Tanner Swett

NN eğitimimin bir süre önce olduğu gibi biraz güncel olmayabilirim, ancak sadece birkaç bin görüntü içeren bir ağı eğitmeyi ve fotoğrafların bir tarzda resim yapabilmesini bekliyorsanız çok uzağa gidebilirsiniz - Bunun iyi bir başlangıç ​​projesi olduğunu düşünüyorsanız, yapmayın. Açıkladığınız şeyi başarmak için 'çok' manuel işlem gerekir. Yalnızca desen eşleşmesini değil, bir görüntüyü yorumlamak için gereken bilgileri düşünün.
Peter Scott

Yanıtlar:


12

İlgili bir makale var: LA Gatus, AS Ecker, M Bethge, 2015, Sanatsal Tarzın Nöral Algoritması . Özetden alıntı yaparak,

Burada, yüksek algısal kalitede sanatsal görüntüler oluşturan Derin Sinir Ağına dayanan yapay bir sistem sunuyoruz. Sistem, sanatsal görüntülerin oluşturulması için sinirsel bir algoritma sağlayarak, keyfi görüntülerin içeriğini ve stilini ayırmak ve yeniden birleştirmek için sinirsel temsiller kullanır.

İşte bu makaleden Şekil 2:

resim açıklamasını buraya girin

Ayrıca, meşale tabanlı, kullanımı oldukça kolay olan çok popüler bir açık kaynak uygulaması da var . Daha fazla örnek için bağlantıya bakın.

Hesaplamaların ağır olduğunu ve bu nedenle tek görüntülerin işlenmesinin bu çalışmanın kapsamı olduğunu unutmayın.

Düzenleme: Bahsedilen DeepArt projenizi kontrol ettikten sonra, aynı teknikleri kullanıyor gibi görünüyor. Neden istediğin bu olmadığından emin değilim, çünkü stil aktarımı kavramı o kadar genel.


4
Karikatürler, tasvir ettikleri her şeyin özelliklerini abartır ve basitleştirir, fotoğraftaki şekillerden çok farklı şekiller üretir. Mevcut stil transferi sinir ağlarının şimdiye kadar yapmış olduğuna inanmıyorum.
Tanner Swett

@TannerSwett Buradaki örneklere bakın: imgur.com/a/ue6ap . Bazıları oldukça çizgi film.
amip

@amoeba Karikatür gibi görünüyorlar, evet, ama hiçbirinde en gerçek çizgi filmlerin çarpık oranları yok.
Tanner Swett

Burada stil aktarımından bahsediyoruz. Tüm örnekler, bunlardan olmayanların karikatürize olduğu a-priori seçilmiş bir stil kullanır (çıktı Van Gogh'da öğrendiğinde neden karikatürize görünmelidir). Belki sadece açık kaynak kodlu projeyi çalıştırmak (geçmişte hiç sorun yaşamadım) alabilir ve çizgi film girişiyle deneyebilirsiniz.
sascha

7

Bu çözülmesi oldukça zor bir sorundur. Burada bir karikatür stilinin, örneğin Simpson'dan bir görüntüye nasıl uygulandığına dair bazı örnekler görebilirsiniz .

Bir çizgi film görüntüsü genellikle bu iddialı etkiyi veren yapıya sahip değildir . Bunu bir şekilde uygulamaya çalışmanın en kolay yolu, bir yüz izleyiciye sahip olmak ve daha sonra iki yüzü, örneğin bir karikatür yüzü ve bir insan yüzü hizalamak ve bunu uygulamak olacaktır. Bu sizi bir yere götürebilir, ama aynı zamanda garip görünebilir. Daha sonra, daha fazla yardımcı olmak ve bundan önce katı olmayan bir kayıt yapmak için görüntülerdeki yer işaretlerine açıklama ekleyebilirsiniz. Bu hala biraz boktan bir çözüm, ama düşünebildiğim en yakın şey yüzler için işe yarayabilir.

Düzenle:

@TannerSwett'in yorumu buna bir şey katıyor, bazı sanatçıların web sayfalarına gitme ve çizimlerini bulmaya ve "onların" stilini öğrenmeye çalışma potansiyeli var. Bunun tatmin edici veya yeterli veri sağlayacağını düşünmüyorum, ancak bu test etmek için ilginç bir şey olacak. Şu anda genel olarak mevcut bir çözüm yok, ancak bunun kesinlikle çalışan insanlar olduğunu düşünüyorum ve yakında daha iyi sonuçlar göreceğiz.

Bence belki de bunun yolu sanatsal sinir ağı yaklaşımı değildir. Belki bir görüntüdeki nesneleri sınıflandırabilen ve daha sonra nesneler ve çizgi film meslektaşları arasındaki yazışmaları öğrenip sonuçları anlamlı bir şekilde harmanlayabilen bir ağa sahip olmak daha iyidir.


1
Simpson örneği bana çok güzel görünüyor @Gumeo
FabricioG

1

Bunu yapmak çok karmaşık olmamalı. Bahsedilen makaleyi okumadım, işte tarifim:

Varyasyonel Otomatik Enkoderler

Dönüşümlü yüzlerle çevrimiçi demo: http://vdumoulin.github.io/morphing_faces/online_demo.html

ve kodlar için https://jmetzen.github.io/2015-11-27/vae.html .

Temel olarak, bu size durumunuzdaki 'stili' parametreleştirmenin bir yolunu verir, örneğin fırça darbesinin ne kadar geniş veya bulanık olması gerektiğini varsayalım. Taklit etmeye çalıştığınız stile bağlı olan şeyler.

Yukarıdaki örnekte farklı 'morphed' veya 'imagined' yüzler gizli alandaki parametrelerin bir fonksiyonudur. Aşağıdaki resimde, 'kod' düzeyinde bir şeyler değiştirerek elde edeceğiniz şey bu olacaktır.

Temel fikir şu: soldaki orijinal resim, sağdaki aynı resmin stilize versiyonu:

resim açıklamasını buraya girin

Şimdi, teoride, böyle bir modeli normal bir görüntü ve stilize bir görüntü üzerinde bir hedef olarak eğitir ve kıvrımlar eklerseniz , sanatçının kullandığı "fırça darbeleri" türüne karşılık gelen çekirdek filtrelerini öğrenebilmelisiniz. .

Tabii ki, bu hem orijinal hem de stilize sürümlerde birkaç resim örneğine sahip olmanız gerektiği anlamına gelir. Böyle bir veri kümesi topluluğa bağış yapmak güzel olurdu - eğer bunu yaparsanız bu tür işleri görmek için çok istekli olurum.

İyi şanslar!

Otomatik kodlayıcılarla ilgili wiki makalesi iyi bir başlangıç ​​noktası olacaktır: https://en.wikipedia.org/wiki/Autoencoder

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.