Willkommen im cgboard - classic games Forum! Deine gemütliche Retro Gaming Community. Besuche uns auch im Discord Chat.

[Grafik] ESRGAN/ SFTGAN (Bildvergrösserung mittels Ai)
#1
0
Ich schreib das mal als Laie hier auf. Ich bin auf dem Gebiet was AI/Maschine Leraning  angeht echt kein Fachman. Ist aber interessant und mit vorsicht zu geniessen.

Zurzeit scheint sich die Technik, bei Modder, um die Texturen in alten Spielen zu vergrössen, immer beliebter.

ESRGAN oder auch "Enhanced Super-Resolution Generative Adversarial Networks" skaliert Texturen/Bilder hoch, so das auch "Details" erhalten bleiben.

Das ist ja das grösset Dilemma bei alten Spielen und ihren kleinen texturen (32x32 bis 512x512). Wenn man diese in Photoshop mit und ohne Filter/Plugins vergrössert hat man statt feine Linien und Details harte und oder verwaschende Kanten. Dann setzt man noch ein Schärfe filter drauf und fertig ist die katastrophe.

Hier versucht ESRGAN mittels Maschine Learning das zu bewerkstelligen. Ist ja auch eine sache für sich.
Wie soll quasi der Rechner in Texturen aus unbekannten "Details", Wobei wir im Koopf diese ausfüllen, perfekte  1024x1024 bis zu 4096x4096 Texturen erstellen. Das geht immer noch Bestens per Hand dauert aber auch länger.

ich habe mir übern ein Guide mal installiert. Python und ein paar Abhängigkeiten werden benötigt. Cuda für die neue nVidia Grafikarten Generation ist Optional.

ESRGAN nutzt Cuda oder die CPU. Bei meiner 970 mit Cuda hab ich zuwenig Texture Speicher. Über die CPU funktioniert es dennoch dauert das schon seine 10Minuten um auch nur eine grösse von 150x150 zu bearbeiten. Dabei werden die Bilder bis zu einer 4fachen vergrösserung skaliert. Dafür werden aber auch Module genutzt. Es liegen 2 Module vor. Diese Module müssten aber für viele Grafiken neue brechnet und Trainiert werden. Sonst sehen die Texturen richtig 'Schrottig' aus.

Hier kommen wir zu Vorsicht. Es scheinen sich mehr und mehr Modder auf diese Demo Module zu stürzen und damit die Texturen von alten Spielen zu vergrössern.

Cusaders Of Might and Magic
Dino Crisis
Wie Doom 2.
Fallout 3: New Vegas
Final Fantasy 7 ( Offz. Seite )
Final Fantasy 8
Final Fantasy 9
F-Zero GX
Half-Life 1 Classic
Half Life 1 Classic, Models
Half Life 2
Hexen 1
Max Payne 1
Metroid Prime
Metroid Prime 2: Echos
Red Faction 1 ( Moddb Purefaction )
Resident Evil Code Veronica X (Gamecube)
Return to Castle Wolfenstein
Sonic Adventure 2
The Elder Scrolls 3 - Morrowind
The Elder Scrolls 4 - Oblivion
Turok 2: Seeds of Evil (Classic)
Weitere Quellen
Forum Eintrag bei Resetera + Bilder
The Other Blog (Install Guide + Bilder)


So sehen die meisten Texturen aus die via ESRGAN und dem dem Demo Module erstellt worden sind. Lesbar ist nichts... und nur "Kritzelig", Links Skaliert, Rechts Original.
[Bild: machine_c01b.jpg] [Bild: machine_c01b_Orig.jpg]
Zitieren
#2
0
Hmm ... das klassische Problem bei Bildvergrößerung ist eben die Detail-Darstellung. Wenn man etwas vorher nicht lesen konnte, wird es durch die Vergrößerung auch nicht besser (fehlen schließlich die notwendigen Informationen). Umgekehrt hat man bei der Verkleinerung ja auch mit Detailsverlust zu kämpfen.

Ich finde den Ansatz aber sehr interessant. Ich könnte mir gut vorstellen, dass eine Kombination mit dem üblichen Skalier-Methoden zu ganz guten Ergebnissen führt. Letztendlich wird man jedoch nicht um die manuelle Korrektur herumkommen (zumindest bis die Maschine schlau genug ist Big Grin).
[Bild: cgb-signaturwdjiq.png]
Du hast eine (nicht mehr ganz so) geheime Botschaft entdeckt:
"Besucht Heinrich's Spiele-Ausstellung!" ;-)


Big Grin Big Grin
Zitieren
#3
0
Ich muss hier gerade an diesen Scanner-Bug bei den Xerox Workstations denken, die wegen Pattern Matching irgendwelche Zahlen vertauscht haben.
Eine künstliche Intelligenz würde doch bestimmt genau das gleiche tun. Wenn sie die originalen Texte oder Details nicht richtig entziffern kann aber meint, sie würde da etwas erkennen, was sie zuvor in einem anderen Bild schon einmal gesehen hat, dann landen bei der Bildvergrößerung plötzlich Details im Bild, die da im Original nie beabsichtigt waren.

Ich denke auch, dass so etwas prinzipiell praktisch sein könnte, um ein vergrößertes Bild zum Arbeiten zu haben, aber man muss vermutlich stets händisch nachkontrollieren und eventuell verbessern.

Aber wenn die Erstellung eines einzigen Bildes 10 Minuten dauert, wird das ja in absehbarer Zeit eh nichts sein, was als Emulatoren-Shader implementiert wird sondern immer ein manueller Vorabschritt pro Spiel sein.
Zitieren
#4
0
Ideal und auch Pragmatisch waren bisher bei Texturen und Bilder immer diese Verlustfrei als Original zu haben, sodass man darauf aufbauen konnte mit einem Punkt Skalierer neu zu skalieren. Im Anschluss die Nachbearbeitung.

Die Ergebnisse sahen dann immer recht gut aus. Immerhin treten bei Punkt Skalierer wie xBRZ, HQx oder dem klassischen Nearest Neighbor keine Verluste des Bildes auf, da jeder Pixel übernommen und vervielfältigt wird.

Aber auf was ich eigentlich hinaus wollte ist das Schriftzüge und unerkenntliche Dinge auf einem Bild niemals mit irgendwelchen Auto Korrektur Filter oder Auto Skalierer wie hier korrigiert bzw. sichtbar gemacht werden können. Es ist schließlich ein Datenverlust vorhanden. Und mehr als irgendwie das ganze zu kaschieren geht nicht. Ob der Prozess nun Intelligent verläuft und dieser versucht das Bild aus 'gelernten Erfahrungen' zu rekonstruieren oder der Prozess nach irgendeiner Mustervorschrift verfährt... am Ende kommt oft nie ein Zufriedenstellendes Ergebnis raus.

Die beste, schnellste und bewerteste Methode ist immer noch Texturen und Bilder selbst bzw. von einem Grafiker zu restaurieren.

Aber wie gesagt... aus Scheiße kann man kein Gold machen. Und gerade bei Bildern kann eine Intelligente Maschine noch so gut sein, am Ende muss es dann ein Mensch machen. Bilder sind einfach zu individuell.

Musik hingegen ist berechenbar. Ich wette das eine AI besser Musik erstellen kann, als Bilder so zu restaurieren das man unkenntliche Schriftzüge oder Details wieder erkennt. ^^
Zitieren
#5
0
SagaraS schrieb:Aber auf was ich eigentlich hinaus wollte ist das Schriftzüge und unerkenntliche Dinge auf einem Bild niemals mit irgendwelchen Auto Korrektur Filter oder Auto Skalierer wie hier korrigiert bzw. sichtbar gemacht werden können. Es ist schließlich ein Datenverlust vorhanden. Und mehr als irgendwie das ganze zu kaschieren geht nicht. Ob der Prozess nun Intelligent verläuft und dieser versucht das Bild aus 'gelernten Erfahrungen' zu rekonstruieren oder der Prozess nach irgendeiner Mustervorschrift verfährt... am Ende kommt oft nie ein Zufriedenstellendes Ergebnis raus.

Mit den aktuellen mitteln gebe ich dir vollkommen recht, aber glaube du unterschätzt hier die theoretischen Möglichkeiten einer AI. Es wäre durchaus möglich unleserliche Schriftzüge wiederherzustellen, wenn genug Quellmaterial als Referenz zur Verfügung steht.
Theoretisch könnte eine AI dann die ursprüngliche Grafik, in der gewünschten Auflösung, komplett neu zu zeichnen, da Sie aus all Ihren Datensätzen Referenzen ziehen kann. Dies ohne jegliche skalierung der Ursprungsquelle.

Aber ist halt reine theorie und benötigt wahrscheinlich enorme Rechenleistung. Warten wir mal was die Zukunft bringt Smile
[Bild: banner_cool3zhjth.jpg]
Zitieren
#6
0
Ich finde die Technik schon erstaunlich und wir sind wirklich erst am Anfang.
Selber habe ich mit ESRGRAN auch mal rumgespielt und mit dem Manga Filter echt super Ergebnisse hinbekommen.
[Bild: 5dnx1syg1tc.jpg]
I am Guybrush Threepwood, mighty Pirate!

[Bild: general-small.png]
Cebion's Adventure Corner! Adventures von 1986-2000
Zitieren
#7
0
D2001 schrieb:Mit den aktuellen mitteln gebe ich die vollkommen recht, aber glaube du unterschätzt hier die theoretischen Möglichkeiten einer AI. Es wäre durchaus möglich unleserliche Schriftzüge wiederherzustellen, wenn genug Quellmaterial als Referenz zur Verfügung steht.
Theoretisch könnte eine AI dann die ursprüngliche Grafik, in der gewünschten Auflösung, komplett neu zu zeichnen, da Sie aus all Ihren Datensätzen Referenzen ziehen kann. Dies ohne jegliche skalierung der Ursprungsquelle.

Aber ist halt reine theorie und benötigt wahrscheinlich enorme Rechenleistung. Warten wir mal was die Zukunft bringt Smile
Vermutlich unterschätze ich es, ja. Bin da eher Skeptisch darin.
Die Regel war bisher immer das man aus Scheiße kein Gold machen kann. Und das hat sich jedesmal Bewahrheitet. Man kann nur mit Dingen arbeiten die da sind und nicht einfach was hinzudichten was vllt. völlig aus der Luft gegriffen ist.

ESRGAN macht auch nix anderes. Er stellt nur das wieder her was noch da ist.
Und genau das zeigt auch das Bild im Startpost. Unleserliche Schrift kann nicht rekonstruiert werden durch eine AI. Sie kann höstens nur rekonstruiert werden, wenn genug Material im Original zur Verfügung steht. Ist das nicht der Fall kann die AI noch so gut sein.
Zitieren
#8
0
Wir werden sehen wie sich das weiterentwickelt. Allerdings würde ich mir andere Quell werkzeuge dann auch noch wünschen. Python ist ja nu nicht so mein ding.

Ich habe im ersten Post noch ein paar Letzte Links von Games dazugepackt die ein AI Texture Pack bekommen haben. Die Fina Flantysi Nerds sind auf jedenfall ganz eifrig dabei. Bin gespannt wann dir ersten Resident Evil Classic (1-3) ein Texturepack bekommen.


Im zuge der AI Skalierung kommt man aber wirklich nicht rum die meisten Texturen doch von hand zu fertigen. Hier mal ein beispiel.

Hier ein beispiel. Ich arbeite zwischendurch ich an meinen Half Life 1 Texturen (habe erst 161 fertig) für 4K und höher für die Xash Engine.
Original (64x12Cool < AI Esrgan (256x512) < Meine Version (2048x4096)(Komplett Animiert im Spiel)

[Bild: 0lab1_comp10e.jpg][Bild: 0lab1_comp10e_ai.jpg][Bild: 0lab1_comp10e_traxx.jpg]

Was Lesbarkeit von schrift angeht muss man da auf jedenfall hand Anlegen. Ist mir neu das Klingonen eine Lokalisierte Version von Half Life Spielen Big Grin

Original (112x64) < AI Esrgan (448x256) < Meine Version (2048x1170)

[Bild: poster12.jpg][Bild: poster12_ai.jpg][Bild: poster12_traxx.jpg]
Zitieren
#9
0
edit: typos...
Hi,
Ich arbeite mit AI (zwar nicht um damit Texturen zu vergrößern Big Grin, aber um Business Probleme zu lösen und zu optimieren) und muss euch sagen, dass ihr hier wahrscheinlich die AI unterschätzt. Eure AI hat einfach (noch) kein gutes Modell. Es gibt etliche KI Modelle, welche trainiert werden müssen, sich selbst trainieren, oder eine Mischung von beidem. Jede hat Vor- und Nachteile und ist besser oder schlechter geeignet bestimmte Probleme zu lösen.
Anders und einfacher ausgedrückt: Wenn euer lokales Python Skript Zugriff auf viel mehr (RICHTIG VIELE!!!) Daten hätte um das Modell anzulernen, wären die Ergebnisse auch viel besser. Stellt euch vor es hätte nicht nur eure Texturen, sondern würde auch mit euren manuellen Verbesserungen, welche ihr an den Ergebnis-Bildern gemacht habt, wieder angelernt werden. Und das am besten noch von allen anderen Spiel-Texturen von anderen Leuten.
Das würde zu einem immer besseren Modell führen Wink
OGND Member seit dem legendären ezboard
Old Games Never Die
[Bild: elefant.gif]
Der Elefant vergisst nie
Zitieren
#10
0
Ich bin da ein Laie.

Aber darf ich Ihre Aussage so interpretieren, dass es dazu "einfach" wieder eine Datenbank benötigt, halt mit entsprechendem Inhalt?

Praktisch derselbe Kuchen mit anderen Zutaten? Confused Smile

Edit:

Und die Künstliche Intelligenz ist dann in diesem Fall, durch entsprechend notwendige Algos. aus einem anderem Bedarfsbereich, doch selbst "nur" ein weiterer Beitrag zum großen Ganzen...?

Beste Grüsse
                                                      ----------------------------------------------------------------
     
                                  [Bild: Banner.png]
Zitieren
#11
0
Swiffer25 schrieb:Ich bin da ein Laie.

Aber darf ich Ihre Aussage so interpretieren, dass es dazu "einfach" wieder eine Datenbank benötigt, halt mit entsprechendem Inhalt?

Richtig, die programmierte künstliche Intelligenz benötigt Datensätze und Rechenleistung. Umso mehr von beidem vorhanden ist, umso besser wird das Ergebnis.

Momentan wird dies, wie Osiris schon sagt, im Industriellen Umfeld auf spezielle, kleinere, Gebiete angewandt. Ich konnte mir Beruflich auch schon einige "Industrie 4.0" Konzepte und Lösungen anschauen die mit AI arbeiten.

Zum Beispiel Plastik-boxen für Kleinteile, wie Schrauben oder ähnliches, mit einer eingebauten Kamera. Die Kamera macht regelmäßig Bilder und sendet Sie an ein AI-Programm. In dem AI-Programm wird hinterlegt welcher Schraubentyp sich in der jeweiligen Box befindet. Durch Referenzbilder kann das Programm nun bewerten wie viele Schrauben sich gerade in der Kiste befinden, und die Anzahl direkt im Warenwirtschaftssystem einpflegen. Das ganze mit einer Genauigkeit von 99%.

So etwas sind momentane "AI" Anwendungen. Mit steigender Rechenleistung, mehr Datensätzen, und effizienterer Programmierung können die Anwendungsgebiete jedoch immer komplexer werden. Somit denke ich auch dass sich die Bildvergrößerung durch AI noch enorm Verbessern kann. Smile
[Bild: banner_cool3zhjth.jpg]
Zitieren
#12
0
Ich versuch die Liste mal aktuell zu halten. Klappt bisher ganz gut....

Turok und Crusaders of Might and Magic
Metroid Prime 2: Echos
Zitieren


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste