İçbükey tapınaktan Yunzhong
Qubit Düzenleyici | Genel Hesap QbitAI
Birkaç gün önce yayınlanan bir makalede yabancı yapay zeka yüz kıstırma uygulaması FaceApp'ın çok ilgi gördüğünden bahsetmiştik. Kişiyi tek anahtarla yaşlı adama dönüştürebilir, tek tuşla gençleştirebilir, tek tuşla erkekten kadına geçebilir, tek tuşla gözyaşlarını kahkahalara dönüştürebilir, tek tuşla saçını dökebilir ...
Forbes, Google Play'de 100 milyondan fazla indirilmesi olduğunu bildirdi.
Apple kullanıcıları da aynı derecede hevesli. App Annie verileri, şu anda 121 ülkede iOS mağazalarında birinci sırada olduğunu gösteriyor.
Görünüşe göre bu bir tür sihirli siyah teknoloji, ama aslında, gizem perdesi ortaya çıktığında teknolojinin kendisi ulaşılamayacak durumda değil. Bu tür sorunları GAN perspektifinden keşfetmek ve çözmek için ne yapabiliriz?
Şimdi, uçan küreklerin temel çerçevesi olan Paddle Fluid v1.5, açık kaynak olarak duyuruldu. PaddleGAN görüntü oluşturma kitaplığı , Kullanıcılara kullanımı kolay, tek tıkla çalıştırılabilen bir GAN modeli sağlamak.
PaddlePaddle, derin öğrenme teknolojisinin inovasyonunu ve uygulamasını kolaylaştırmaya kendini adamıştır. Generative Adversarial Networks (GAN), son yıllarda denetimsiz öğrenme görevlerinde ve üretken görevlerde yaygın olarak kullanılmaktadır. Öğrenme, iki sinir ağının birbirine karşı oynamasına izin verilerek gerçekleştirilir. Genellikle sahte ve gerçek resimler, filmler ve üç boyutlu nesne modelleri oluşturmak için kullanılır. Herkesi deneyimlemeye hoş geldiniz ~
Gerçek kuru malları aşağıya gönderin (kod eklidir)!
Aşağıdaki efektlerin tümü, uçan raketin açık kaynak uygulamasında Baidu ve Harbin Teknoloji Enstitüsü tarafından ortaklaşa geliştirilen STGAN modeli tarafından gerçekleştirilmektedir.
"Kel" etiketli yüzü değiştiren fotoğrafları görünce, birçok okuyucu kemik iliğinden bir tür soğukluk hissediyor mu?
PaddleGAN görüntü oluşturma modeli kitaplığı, çeşitli GAN görevlerine kolayca başlayabilen mevcut genel GAN algoritmalarını kapsar ve ayrıca kendi araştırmanızı genişletmeniz de uygundur.
Pix2Pix ve CycleGAN, stil dönüşümü için şehir manzaraları veri setini kullanır ve StarGAN, AttGAN ve STGAN, resimlerin özelliklerini yerel veya global olarak değiştirmek için celeba veri setini kullanır.
STGAN Resimlerin / videoların uçtan-uca öznitelik dönüşümü için STGAN yöntemini öneren, Baidu ve Harbin Teknoloji Enstitüsü tarafından ortaklaşa geliştirilen bir modeldir. Geleneksel yöntemde iki iyileştirme önerilmiştir ve celebA veri setindeki dönüştürme etkisi mevcut yöntemden daha iyidir:
Bu sefer PaddleGAN açık kaynak kodlu toplamda 5 ön eğitim modeli. Uçan kürek ortamını kurduktan sonra, çıkarım etkisini hızlı bir şekilde doğrulamak için ön eğitim modelini indirebilirsiniz.
Her GAN, komut dosyaları klasörüne yerleştirilmiş bir test örneği vermiştir, kullanıcılar test sonuçlarını almak için doğrudan test komut dosyasını çalıştırabilir.
CyleGAN'ın tahmin sonucunu almak için aşağıdaki komutu yürütün:
python infer.py \ --model_net = CycleGAN \ --init_model = $ (path_to_init_model) \ --image_size = 256 \ --dataset_dir = $ (path_to_data) \ --input_style = $ (A_veya_B) \ --net_G = $ (generator_network) \ --g_base_dims = $ (base_dim_of_generator)Pix2Pix'in tahmin sonucunu almak için aşağıdaki komutu yürütün:
python infer.py \ --model_net = Pix2pix \ --init_model = $ (path_to_init_model) \ --image_size = 256 \ --dataset_dir = $ (path_to_data) \ --net_G = $ (generator_network)StarGAN, AttGAN veya STGAN'ın tahmin sonuçlarını almak için aşağıdaki komutları yürütün:
python infer.py \ --model_net = $ (StarGAN_or_AttGAN_or_STGAN) \ --init_model = $ (path_to_init_model) \ --dataset_dir = $ (path_to_data)veri Hazırlama
Download.py veri indirme komut dosyası, model kitaplığında sağlanır. Komut dosyası, MNIST veri kümesinin (CGAN ve DCGAN için gerekli olan veri kümesi) ve CycleGAN ve Pix2Pix için gerekli olan veri kümesinin indirilmesini destekler. Verileri indirmek için aşağıdaki komutu kullanın: python download.py - dataset = mnist Veri kümesi parametresini belirterek ilgili veri kümesini indirin.
StarGAN, AttGAN ve STGAN'ın ihtiyaç duyduğu Celeba veri setlerinin kullanıcılar tarafından indirilmesi gerekiyor.
Özel veri kümesi: Kullanıcılar, ilgili üretim modelinin gerektirdiği veri biçimine ayarlandığı sürece özel bir veri kümesi kullanabilir.
Not : Pix2pix model veri seti hazırlığındaki liste dosyası, scripts klasöründeki make_pair_data.py tarafından oluşturulmalıdır. Oluşturmak için aşağıdaki komutu kullanabilirsiniz: python scripts / make_pair_data.py
-Direction = A2B, kullanıcı görüntü stili değişikliğinin yönünü sağlamak için -direction parametresini ayarlayarak bir liste dosyası oluşturabilir.
Tek tıkla başlangıç
python train.py \ --model_net = $ (name_of_model) \ --dataset = $ (name_of_dataset) \ --data_dir = $ (path_to_data) \ --train_list = $ (path_to_train_data_list) \ --test_list = $ (path_to_test_data_list) \ --batch_size = $ (batch_size)İsteğe bağlı parametreler için python train.py --help sayfasına bakın
Eğitmek istediğiniz modeli seçmek için --Model_net parametresi
- Eğitim için gerekli veri kümesini seçmek için veri kümesi parametresi
Her GAN, komut dosyaları klasörüne yerleştirilen çalışan bir örnek verir ve kullanıcılar eğitime hızlı bir şekilde başlamak için doğrudan eğitim komut dosyasını çalıştırabilir.
Hızlı okuma uygulamasına ek olarak, mevcut ana akım GAN açık kaynak modelini de anlamamız gerekiyor.
STGAN
Baidu ve Harbin Teknoloji Enstitüsü tarafından ortaklaşa geliştirilmiştir.Orijinal ATTGAN'a dayalı olarak, GRU yapısı, yüze özgü özellik dönüşümü için kullanılabilen değiştirilen özellikleri daha iyi seçmek için tanıtılmıştır.
STGAN'daki üretim ağı, kodlayıcı ve kod çözücü arasındaki Seçici Transfer Birimlerini (STU) birleştirir ve kod çözme ağına daha iyi uyum sağlamak için kodlama ağını seçici olarak dönüştürür.
Üretim ağındaki kodlama ağı esas olarak evrişim-örnek norm-ReLU'dan oluşur, kod çözme ağı esas olarak devrik evrişim normu sızdıran_ReLU'dan oluşur ve ayırt edici ağ esas olarak evrişim sızıntılı_ReLU'dan oluşur.Ayrıntılı ağ yapısı için lütfen ağ / STGAN_network.py dosyasına bakın.
Oluşturulan ağın kayıp işlevi, WGAN'ın kayıp işlevi, yeniden yapılandırma kaybı ve sınıflandırma kaybından, ayırıcı ağın kayıp işlevi ise tahmin kaybı, sınıflandırma kaybı ve gradyan ceza kaybından oluşur. Uçan raketin temel çerçevesi olan Paddle Fluid v1.5'te, WGAN-GP algoritmasını destekleyen bir gradyan cezası OP eklenir. Bu sefer dış dünyaya açık modelde WGAN, WGAN-GP algoritmasını kullanıyor.
Şekil: STGAN'ın ağ yapısıCGAN
Koşullu bir GAN olan Koşullu Üretken Çekişmeli Ağ, modele koşullar eklemek için ek bilgileri kullanır ve bu da veri oluşturma sürecini yönlendirebilir.
Şekil: CGAN'ın ağ yapısıDCGAN
Derin evrişim oluşturma yüzleşme ağı, GAN ve evrişimli ağı birleştirir ve daha zengin hiyerarşik ifade elde edebilen görüntü üretimi için ağ yapısı olarak evrişimli sinir ağını kullanır. Oluşturulan örneklerin kalitesini ve ağın yakınsama hızını iyileştirmek için ağ yapısında bazı iyileştirmeler yapılmıştır: havuzlama katmanı ortadan kaldırılmış, toplu normalleştirme eklenmiş, tam evrişimli ağ kullanılmış ve jeneratörde (G) son katmanda Tanh fonksiyonu kullanılmıştır. Geri kalan katmanlarda ReLu fonksiyonları kullanılır; ayırıcıda (D) LeakyReLu kullanılır.
Şekil: DCGAN'daki JeneratörPix2Pix
Görüntü çevirisi için eşleştirilmiş resimleri kullanın, yani stil aktarımı için kullanılabilen aynı resmin iki farklı stilini girin.
Pix2Pix, üretici bir ağdan ve ayırt edici bir ağdan oluşur. Üretim ağındaki kodlama bölümünün ağ yapısı, temel yapı olarak evrişim-yığın norm-ReLU kullanır, kod çözme bölümünün ağ yapısı devrik evrişim-kesikli norm-ReLU'dan oluşur ve ayrımcılık ağı temel olarak temel yapı olarak evrişim-norm-sızıntılı_ReLU'dan oluşur. Ayrıntılı ağ yapısı ağ / Pix2pix_network.py dosyasında görüntülenebilir.
Üretim ağı, iki isteğe bağlı ağ yapısı sağlar: Belirlenmemiş ağ yapısı ve sıradan kodlayıcı-kod çözücü ağ yapısı. Ağ, giriş görüntüsünden çıktı görüntüsüne eşlemeyi öğrenmek için kayıp işlevini kullanır Üretilen ağ kaybı işlevi, GAN kaybı işlevi ve L1 kaybı işlevinden oluşur ve ayırt edici ağ kaybı işlevi GAN kaybı işlevinden oluşur. Jeneratörün ağ yapısı aşağıdaki şekilde gösterilmektedir.
Şekil: Pix2Pix ağ akış şeması oluştururCycleGAN
Görüntü çevirisi için eşleşmemiş resimleri kullanabilirsiniz, yani farklı stillere sahip iki farklı resim girebilir ve otomatik olarak stil dönüşümü gerçekleştirebilirsiniz.
CycleGAN, iki nesil ağlardan ve iki ayırıcı ağdan oluşur: Nesil ağ, A tipi resimlerin girişi ve B tipi stili resimlerin çıkışı ve nesil ağı B, B tipi resimlerin girişi ve A tipi stili resimlerin çıkışı içindir.
Üretim ağındaki kodlama bölümünün ağ yapısı temel yapı olarak evrişim-norm-ReLU kullanır, kod çözme bölümünün ağ yapısı devrik evrişim-norm-ReLU'dan oluşur ve ayrımcılık ağı temel olarak temel yapı olarak evrişim-norm-sızdıran_ReLU'dan oluşur, ayrıntılı Ağ yapısı, network / CycleGAN_network.py dosyasında görüntülenebilir.
Üretim ağı, iki isteğe bağlı ağ yapısı sağlar: Belirlenmemiş ağ yapısı ve sıradan kodlayıcı-kod çözücü ağ yapısı. Üretilen ağın kayıp fonksiyonu, LSGAN'ın kayıp fonksiyonu, yeniden yapılanma kaybı ve kendi kaybından oluşur ve ayırt edici ağın kayıp fonksiyonu, LSGAN'ın kayıp fonksiyonundan oluşur.
Şekil: CycleGAN oluşturma ağ akış şemasıStarGAN
Çok alanlı öznitelik geçişi, yardımcı sınıflandırma, tek bir ayırıcının, yüz öznitelik dönüşümü için kullanılabilen birden çok özniteliği değerlendirmesine yardımcı olmak için tanıtılmıştır.
StarGAN'da oluşturulan ağın kodlama kısmı esas olarak evrişim-örnek norm-ReLU'dan oluşur, kod çözme kısmı esas olarak devrik evrişim norm-ReLU'dan oluşur ve ayrımcılık ağı esas olarak evrişim sızıntılı_ReLU'dan oluşur.Ayrıntılı ağ yapısı için lütfen ağ / StarGAN_network.py dosyasına bakın.
Oluşturulan ağın kayıp işlevi, WGAN'ın kayıp işlevi, yeniden yapılandırma kaybı ve sınıflandırma kaybından, ayırıcı ağın kayıp işlevi ise tahmin kaybı, sınıflandırma kaybı ve gradyan ceza kaybından oluşur.
Şekil: starGAN akış şeması Şekil: StarGAN'ın üretken ağ yapısı ve ayırt edici ağ yapısıAttGAN
Sınıflandırma kaybı ve yeniden yapılanma kaybı, yüze özgü özelliklerin dönüştürülmesi için kullanılabilen belirli özelliklerin değiştirilmesini sağlamak için kullanılır.
AttGAN'da oluşturulan ağın kodlama kısmı esas olarak evrişim-örnek norm-ReLU'dan oluşur, kod çözme kısmı devrik evrişim norm-ReLU'dan oluşur ve ayırt edici ağ esas olarak evrişim-sızıntılı_ReLU'dan oluşur.Detaylı ağ yapısı için lütfen network / AttGAN_network.py dosyasına bakın.
Oluşturulan ağın kayıp işlevi, WGAN'ın kayıp işlevi, yeniden yapılandırma kaybı ve sınıflandırma kaybından, ayırıcı ağın kayıp işlevi ise tahmin kaybı, sınıflandırma kaybı ve gradyan ceza kaybından oluşur.
Şekil: AttGAN ağ akış şeması Şekil: AttGAN'ın ağ yapısıUçan kürekler hakkında daha fazla bilgi edinmek istiyorsanız, lütfen aşağıdaki belgelere bakın veya tıklayın Orijinali okuyun
Resmi web sitesi adresi :
https://www.paddlepaddle.org.cn?fr=lzw4
proje adresi :
https://github.com/PaddlePaddle/models/tree/v1.5.1/PaddleCV/PaddleGAN?fr=lzw4
Daha derin öğrenme geliştiricileriyle iletişim kurmak istiyorsanız, lütfen Feida'nın resmi QQ grubuna katılın: 432676488
- Bitiş -
Samimi işe alım
Qubit, editörleri / muhabirleri işe alıyor ve merkezi Pekin, Zhongguancun'da bulunuyor. Yetenekli ve hevesli öğrencilerin bize katılmasını dört gözle bekliyoruz! Ayrıntılar için, lütfen QbitAI diyalog arayüzünde "işe alım" kelimesiyle yanıt verin.
Qubit QbitAI · Toutiao İmzalama Yazarı
' ' Yapay zeka teknolojisi ve ürünlerindeki yeni eğilimleri takip edin