Waifu2X (DeadSix27, OpenCL/CV) – AI kullanarak anime tarzı görüntüleri yükseltme

Waifu2X

Dikkat: Bu, işletim sistemiyle çalışmanın temelleri üzerine bir ders değildir, Windows Gezgini’nde dosya uzantılarının görüntülenmesini etkinleştiremiyorsanız ve “.txt” den bir “.bat” dosyası oluşturamıyorsanız, bu makale olabilir çok karmaşık, diye uyardım.

Waifu2X yardımcı programını kullanarak performans testleri içeren bir makale oluşturduktan sonra, bazı kişilerin bu yardımcı programı kullanma hakkında soruları vardı, bu yazıda ne olduğunu ve nasıl kullanılacağını net bir şekilde açıklamaya çalışacağım.

-= AMD ve nVidia grafik kartlarını test etme: Waifu2X görüntüleme ve nVidia sorunları =-

Özetle, Waifu2X, anime tarzı görüntüleri büyütmek için AI kullanan bir programdır.

Orijinal Waifu2X, nVidia CUDA altında oluşturuldu ve işte asıl sayfası: (github.com/nagadomi/waifu2x)

Waifu2X’in orijinal versiyonu oldukça titizdir, yalnızca nVidia ekran kartı gerektirir ve eski ekran kartları uygun değildir, çalışması için tescilli nVidia kitaplıkları gerektirir ve ayrıca ekran kartında veya sürücüde yeterli video belleği yoksa çöker. nVidia’nın tescilli kitaplığını beğenmedim…

Genel olarak, en iyi seçenek olmaktan uzaktır, ancak makale orijinal Waifu2X ile ilgili değil, DeadSix27’den klonu hakkında, git bağlantısı: (github.com/DeadSix27/waifu2x-converter-cpp )

Orijinal Waifu2X’in aksine, DeadSix27’nin sürümü yalnızca OpenCL gerektirir ve açık kaynaklı OpenCV kitaplığına dayanır, Waifu2X’in OpenCL varyantı nVidia CUDA’nın gönderdiği eski grafik kartlarında bile çalışır…

Video kartının görüntü büyütme veya gürültü bastırma üzerinde çalışması için ek bir şey indirmenize gerek yok çünkü. OpenCV, nVidia cuDNN’den farklı olarak serbestçe dağıtılan bir kitaplıktır ve hemen kit içinde sağlanır.

Tabii ki, yardımcı program Linux altında da derlenebilir, ancak bu makalede, özellikle her şey zaten Windows altında derlendiğinden, Windows sürümünü ele alacağız.

DeadSix27’nin en son sürümü Waifu2X 5.3.4’tür, ancak bu sürüm GFLOPS-Filter için bazı performans çıkarım sorunlarına sahiptir (muhtemelen kaynak kodunda değişiklikler yapılmıştır ve test edilmemiştir).

Bazı yararlı değişiklikler yapılmış olsa da, genel olarak sürüm 5.3.4, video kartlarının / işlemcilerin performansını test etmek için uygun değildir, karşılaştırma için görüntünün video kartı tarafından işlendiği süreyi kullanın (“daha azını kullanın” daha iyi” ölçek) veya kaynak kodunu düzenleyin ve bazı araçlar gerektiren ve herkes için uygun olmayan manuel olarak derleyin.

Bu nedenle, DeadSix27 Waifu2x 5.3.3’ün en yeni değil, çalışan sürümünü kullanacağım ve “daha büyük daha iyidir” ölçeğini kullanarak video kartlarının / işlemcilerin karşılaştırmalı testlerini yapmanızı sağlar.

ne kullanmalı

Gürültü bastırma işlevi:

Belki de benim durumumdaki ana kullanım durumu gürültü bastırmadır, sadece anime tarzı sanatı değil, fotoğrafları da “temizleyebilirsiniz”.

Gürültü ve JPG sıkıştırma eserlerinin “temizlenmesi” için birkaç örnek:

Haloing’i bastırmak için maksimum derecede gürültü azaltma işlevini de kullanabilirsiniz, ancak bu yöntemin her şeye kadir olmasını beklememelisiniz:

Yakınlaştırma işlevi:

Gürültü azaltma işleviyle birlikte iyi sonuçlar elde edebilirsiniz:

Bazen orijinal görüntü bulanık olabilir, bu gibi durumlarda, duruma bağlı olarak iyi sonuçlar elde etmek için görüntüye keskinleştirme uygulamak faydalı olabilir:

Performans testi:

Burada her şey basit, görüntüyü işlemek için gönderiyoruz ve iş için neyin seçili olduğuna bağlı olarak video kartının / işlemcinin ne kadar hızlı işlediğini görüyoruz.

GFLOPS-Filter’ı izleyin, dosyayı açmak, dosyayı yazmak, PNG’yi sıkıştırmak vb. için harcanan süreyi hesaba katmadan görüntü üzerindeki çalışmanın ne kadar hızlı yapıldığını gösterir.

Sürücüye, arka plandaki işlemlere, hız aşırtmaya, işlenen görüntünün kendisine vb. bağlı olarak. aynı ekran kartı ile sonuçlarda hata olabilir, bir önceki makalemin oluşturulması sırasında elde edilen birkaç sonuç:

-= AMD ve nVidia grafik kartlarını test etme: Waifu2X görüntüleme ve nVidia sorunları =-

İdeal olarak, zayıf bir video kartı veya çok sayıda çalışma ile işlemci yüklemek için zaman kaybetmemek için, bir görüntü seçmeli ve farklı performans sınıflarındaki video kartları için birkaç boyuta dönüştürmelisiniz.

Çalışmanın performansı ayrıca blok boyutuna da bağlıdır, burada her video kartının kendi ideal değerleri olabilir, ancak test için küçükten büyüğe (örneğin, 256, 512, 1024, 1536) bir dizi özdeş değer seçmelisiniz. ).

Blok boyutu ne kadar büyük olursa, iş için o kadar fazla bellek kullanılır, bu nüans az miktarda RAM’e sahip sistemlerde de dikkate alınmalıdır.

Testlere daha az zaman harcamak için “-c” komutu ile PNG sıkıştırma seviyesini düşürebilirsiniz, bu çalışmanın sonucunu etkilemeyecek, ancak genel yürütme süresi önemli ölçüde azalacaktır. standart PNG sıkıştırması çok fazla CPU kaynağı gerektirir.

Nasıl kullanılır

İyi bir şekilde, programın kendisinde bulunan “yardım” ı dikkatlice okumalısınız, “–help” komutuyla çağırabilirsiniz:

Tüm metin komut satırı penceresine sığmazsa, arabellek boyutunu artırın:

Ancak “yardım”, yardımcı programın nasıl kullanılacağını anlamanıza gerçekten yardımcı olmadıysa, bir sonraki “hile sayfasına” geçelim:

1) “waifu2x-converter-cpp.exe” dönüştürücüye giden yol, ihtiyaca bağlı olarak göreli veya doğrudan olabilir.

2) İşlenmekte olan dosya dönüştürücünün klasörünün dışındaysa, modellerin yolunu belirtmelisiniz.
“–model-dir yolu\models_rgb”

3) Tümleşik Intel grafiklerini kullanmanız gerekiyorsa “–force-OpenCL” gereklidir, ancak ekran kartı yoksa ve sürücüler yüklenmemişse, CPU işi yapacaktır.

4) Optimum performansı ayarlamak için “–block-size 1024” gereklidir, RAM tüketimini en aza indirmek için küçük değerler ve hızı en üst düzeye çıkarmak için büyük değerler kullanmak mantıklıdır.

4.1) “-c 2” parametresi PNG sıkıştırma oranından sorumludur ve genel çalışmayı hızlandırmanıza olanak tanır, sıkıştırma oranını 0 ila 9 arasında seçebilirsiniz, sıkıştırma oranı ne kadar yüksek olursa, işlenen boyutun o kadar küçük olması görüntü, ancak yüksek sıkıştırma oranları daha fazla sistem kaynağı gerektirir.

4.2) Bir sonraki parametrenin adından ne için olduğu açıktır, “–disable-gpu” sadece CPU kullanarak çalışmanıza izin verir.

4.3) “-r 1” parametresi, örneğin resimli bir klasörde resimli başka bir klasör varsa, klasörlerin özyinelemeli işlenmesi için gereklidir.

4.4) “-g 1” seçeneği, klasörleri özyinelemeli olarak işlerken, her şeyin yolunda olması için klasörler içinde otomatik olarak klasörler oluşturur.

4.5) “-f png” parametresi klasörleri işlerken gereklidir, işlenmiş görüntüleri kaydetme biçimini ayarlar, ancak tek dosyaları işlerken de kullanılabilir, örneğin PNG yerine JPG’yi seçin, ancak daha sonra yapmanız gerekir. “-c” yerine “-q” kullanmak için sıkıştırma seviyesini kontrol eden parametreyi kullanın

5) “-m ölçeği” parametresi dönüştürücü çalışma modunu, büyütme için “-m ölçeği”, görüntüyü gürültüden temizlemek için “-m gürültü”, her şey için “-m gürültü ölçeği” parametresini birlikte ayarlar.

6) “–scale-ratio 2.0” parametresi, “-m scale” veya “-m noise-scale” ile birlikte kullanılır ve büyütme faktörünü seçmenize olanak sağlar (1.5x büyütme ile, 1,5x’e düşerek 2x’e artırın) .

7) “–noise-level 3” parametresi “-m noise” veya “-m noise-scale” ile birlikte kullanılır, 4 seviyeli gürültü azaltma seçilebilir, en zayıfı “–noise-level 0″dır. , en güçlüsü ” –noise-level 3″.

8) “-i %1” parametresi işlenecek dosyanın yolunu belirtir, manuel olarak belirtebilirsiniz ama ben “%1” komutunu kullanmayı tercih ediyorum, kendisi dosya adı ile birlikte doğrudan yolun yerine geçiyor.

9) Sonucun kaynak dosyadan ayrı olarak kaydedilmesi gerekiyorsa “-o path” parametresi gereklidir, aslında “-i” parametresine benzer.

Bu konuda belki de en önemli şeyler boyanır, sonra belirli kullanım örneklerine geçilir.

“.BAT” dosyaları:

En basit sürüm yalnızca birkaç komut, dönüştürücü dosyasının adını, işlenmekte olan dosyanın adıyla “-i” parametresini ve pencerenin hemen kapanmaması için “duraklat” komutunu içerecektir.

waifu2x-converter-cpp.exe -i w17.JPG
Duraklat

Bu yaklaşımın avantajı belki de basitliğidir, hiçbir şeyi kontrol etmenize izin vermez, her şey yazılım geliştiricileri tarafından belirlenen standart ayarlarla çalışır ve bu seçenek yalnızca dönüştürücü klasöründe çalışır.

Bu seçenek bize uymuyor, bu nedenle resmi herhangi bir yerden “toplu iş dosyasına” sürüklemenizi ve sonucu orijinal resimle aynı klasörde almanızı sağlayan bir seçenek sunuyorum:

C:\_PORTABLE_\waifu2x_533\waifu2x-converter-cpp.exe –model-dir C:\_PORTABLE_\waifu2x_533\models_rgb –force-OpenCL –blok boyutu 1024 -c 2 –ölçek oranı 2.0 -m ölçek -i %1
Duraklat

Artık toplu iş dosyası herhangi bir yere yerleştirilebilir, çünkü Dönüştürücüye ve modellere doğrudan yollar kullandım ve belirli bir dosya adı belirtmek yerine “%1” komutunu kullanıyorum, bu komut dosya adıyla birlikte dosyanın doğrudan yolunu, aslında komut satırında görülebilecek şekilde değiştirir. pencere.

“-o” seçeneğini ekleyebilir ve sonuç belirtilen yola yerleştirilecektir, burada sonucun kaydedileceği klasörü manuel olarak belirtebilirsiniz, ancak “MD”, “% komutlarını kullanarak daha karmaşık bir yaklaşım izleyeceğim. ~d1” ve “%~p1”.

İlk olarak, “MD” komutunu kullanarak, işlenmek üzere gönderilen görüntünün klasöründe “sonuç” klasörünü oluşturuyorum, dönüştürücünün işlenmiş görüntüyü buraya yazabilmesi için bu gerekli.

Yalnızca dosya adı olmayan yolu çıkarmak için, sürücü harfinin yerine geçen “%~d1” komutunu ve dosya adı ve sürücü harfi olmadan yolu değiştiren “%~p1” komutunu kullanıyorum ve bundan sonra basitçe oluşturulacak klasörün adını ve tam olarak aynı yapıyı “-o” parametresinin yerine koyuyorum.

Yolda boşluklar ve uygun eğik çizgiler varsa tırnak işaretlerini unutmayın ( -o parametresine sağlanan eğik çizgiye dikkat edin), bu durum şöyle görünür:

MD “%~d1%~p1sonuç”
C:\_PORTABLE_\waifu2x_533\waifu2x-converter-cpp.exe –model-dir C:\_PORTABLE_\waifu2x_533\models_rgb –force-OpenCL –blok boyutu 1024 -c 2 –ölçek oranı 2.0 -m ölçek -i %1 -o “%~d1%~p1sonuç/”
Duraklat

Parametrelerle oynarken, yalnızca “toplu iş dosyasını” artırmak için değil, aynı zamanda gürültüyü bastırmak için de kullanabilirsiniz, örneğin, görüntüleri içeren bir klasörü işlemek, ancak sonucu bitişik bir klasöre koymak, bu modda kullanamazsınız “MD” komutu:

C:\_PORTABLE_\waifu2x_533\waifu2x-converter-cpp.exe –model-dir C:\_PORTABLE_\waifu2x_533\models_rgb –force-OpenCL –block-size 1024 -r 1 -g 1 -f png -c 2 –noise-level 3 -m gürültü -i ​​%1 -o “%~d1%~p1%~n1 – sonuç/”
Duraklat

Bu noktada, muhtemelen duracağım, elbette, daha fazla seçenek ve hatta daha karmaşık olanları gösterebilirsiniz, ancak ana şeyi zaten gösterdim, o zaman zaten gereksinimlere ve istenen sonuca bağlı.

Gezgin bağlam menüsü:

Aslında, küçük şeyler dışında her şey “toplu dosyalar” ile aynıdır, sadece kayıt defteri kovanlarındaki parametreleri reçete ederim [HKEY_CLASSES_ROOT\*\shell] ve [HKEY_CLASSES_ROOT\Directory\shell].

[HKEY_CLASSES_ROOT\*\shell] – bu tek bir dosya içindir.
[HKEY_CLASSES_ROOT\Directory\shell] – bir klasör için.

Şey şuna benziyor:

Editörde manuel komut yazmamak için “.reg” dosyasındaki her şeyi uyguladım, sadece “.reg” dosyasını bir kez açıp tüm değişiklikleri hemen kayıt defterinde yapıyorum.

Ancak bu yaklaşımın bir eksisi de var, karakterlerin ters eğik çizgi ile izole edilmesi gerekiyor, sonuç olarak komutlar uygunsuz hale geliyor, tek bir dosyayı işlemek için aşağıdaki satır:

[HKEY_CLASSES_ROOT\*\shell\2X-Scale\Command]
@=”C:\\_PORTABLE_\\waifu2x_533\\waifu2x-converter-cpp.exe –model-dir C:\\_PORTABLE_\\waifu2x_533\\models_rgb -c 2 –block-size 768 –force-OpenCL –scale-ratio 2.0 -m ölçek -i \”%1\””

Sonraki, klasörü işlemeye yönelik satırdır, “.bat” seçeneğinden ( -o parametresinde) küçük farklılıklar vardır:

[HKEY_CLASSES_ROOT\Directory\shell\2X-DeNoise-0-F\Command]
@=”cmd.exe /k \”C:\\_PORTABLE_\\waifu2x_533\\waifu2x-converter-cpp.exe –model-dir C:\\_PORTABLE_\\waifu2x_533\\models_rgb -r 1 -g 1 – f png -c 2 –block-size 768 –force-OpenCL -m gürültü –noise-level 0 -i \”%1\” -o \”%1 – sonuç/\”\””

Her şey şu şekilde çalışır:

Tek dosyalar için, pencere otomatik olarak kapanır. Komut satırı için “/k” bayrağını ayarlamadım (işin tamamlanmasından sonraki duraklamadan sorumlu), çünkü sonuç yalnızca işlenmesi gereken dosyanın yanında görünüyor.

Aslında, bu bitirilebilir, asıl şeyi boyamaktan daha fazlasını gösterdim ve PNG yerine JPG’ye kaydetmeniz veya başka bir şey yapmanız gerekirse, “–help” e hoş geldiniz ve arabellek boyutunu unutmayın bölümün başında şunu yazdı:

Çözüm

Talimatı (“–yardım”) incelemeyi asla unutmayın, orada gizlenmiş birçok ilginç şey olabilir ve mutlaka programın talimatları olmayabilir…

Tabii ki öğretmen değilim, ama en önemli şeyi vurgulamaya çalıştım ve bir kez daha tekrar ediyorum, bu işletim sistemiyle çalışmanın temelleri üzerine bir ders değil, ne olduğunu anlamak için bazı bilgi ve becerilere ihtiyaç var. olay.

Hepsi bu, dikkatiniz için teşekkür ederim.

Similar Posts

Leave a Reply

Your email address will not be published.