[PYTHON] Was ICCV2019 Best Paper SinGAN nicht kann [Übung]

Einführung

Dieser Artikel ist der 18. Tag des neuen CyberAgent20-Absolventeningenieurs Adventskalender 2019. Ich bin ein Doktorand, der Computer-Vision-Forschung mit Deep Learning betreibt. twitter → https://twitter.com/revi_matsu Diesmal ist es die Übungsausgabe ** SinGAN **, die neulich beim ICCV 2019 die beste Zeitung gewann.

Wie man diesen Artikel liest

[Wer sich einen groben Überblick verschaffen will] Bitte lesen Sie diesen Artikel. [Für diejenigen, die ein paar Spezifikationen wissen wollen] Dieser Artikel → Ich habe "SinGAN" leicht gelesen und kurz zusammengefasst [Diejenigen, die die Details wissen wollen] Dieser Artikel → „SinGAN“ wurde kurz gelesen und zusammengefasstArtikel

Was ist SinGAN?

Weitere Informationen zu SinGAN finden Sie im folgenden Artikel. Hier ist eine kurze Zusammenfassung der Punkte. ICCV2019 Best Paper "SinGAN" Ich habe es kurz gelesen und kurz zusammengefasst

SinGAN ist eine GAN-basierte One-Shot-Lernmethode. Was erstaunlich ist, ist, dass ** ein Lernbild auf verschiedene Aufgaben angewendet werden kann **. Normalerweise erfordert das Lernen von Deep Learning, nicht nur GAN, eine große Anzahl von Lernbildern. Aufgrund der Schwierigkeit, Daten zu sammeln, ist die Implementierung mit einer kleinen Anzahl von Lernbildern natürlich zu einem Thema mit hoher Nachfrage geworden, aber natürlich ist dies kein einfaches Problem.

Mit SinGAN ist es möglich, Funktionen zu erlernen, die bisher nicht extrahiert werden konnten. Die folgende Abbildung ist ein Beispiel für eine Zufallsstichprobe (Lernen mit einem Trainingsbild und Erzeugen eines ähnlichen Stichprobenbilds aus Rauschen). Bei der herkömmlichen PSGAN- und Deep Texture-Synthese bleibt nur die ** Textur (Atmosphäre) ** des Trainingsbildes erhalten und das Bild wird erzeugt, es ist jedoch ersichtlich, dass die Forminformationen des Gebäudes oder Gebäudes nicht beibehalten werden können. Andererseits kann bestätigt werden, dass SinGAN auch so etwas wie ein Gebäude reproduziert.

SinGAN kann auf hoher Ebene auf andere Aufgaben angewendet werden, und eine große Anzahl von Experimenten wird in diesem Artikel beschrieben. Dieses Mal basiert die praktische Ausgabe nicht nur auf der Durchführung eines Experiments des Autors github, sondern auch auf der Anwendung auf Aufgaben, die in dem Artikel nicht erwähnt werden Ich wünschte ich könnte vorstellen. image.png

Praktische Ausgabe

Der Code verwendet hier. Der Code verwendet python3.6 und das Framework verwendet pytorch. Dieses Mal habe ich es auf die folgenden zwei Aufgaben angewendet. ・ Animation (in der Zeitung vorgestellt) ・ Semantische Segmentierung (nicht in der Arbeit eingeführt)

Animation Hier wird aus einem Bild ein GIF generiert. In der Zeitung wurde das Beispiel des Donners verwendet, aber dieses Mal schrieb ich einen Artikel, in dem Sync sich neulich Weihnachten mit dem Adventskalender bewusst war, also möchte ich damit fahren, lol. ・ @ Dai7Igarashi, FramerMotion, um so etwas wie Weihnachten zu machen! Implementierung einer Android-Animation mit @ airagu950, Lottie

Also, werde ich eine weihnachtliche Animation aus einem Lernbild erstellen. </ Font> snow4.png

Bild lernen

alpha=0.100000_beta=0.900000.gif

Generierte Animation

Sie können sehen, wie schneebedeckte Dinge zufällig generiert werden, während der Stil beibehalten wird. Verwenden wir ein Beispiel, das bestätigt, ob der Stil etwas mehr beibehalten wird. image.png Bild lernen alpha=0.100000_beta=0.850000.gif Generierte Animation

** Es kann bestätigt werden, dass der Schneemann seine Form beibehält **. Auf diese Weise bleiben die Informationen mit großen Merkmalen im Bild stark erhalten, und umgekehrt ist die Anzahl der Merkmale wie bei Schnee gering. Aufgrund des zufälligen Rauschens des Eingangs bei der Zufallsabtastung Sie können sehen, dass kleine Änderungen auftreten. (Es ist mir egal, wie es schneit.) Findest du das nicht wirklich interessant? ??

Semantic Segmentation Die semantische Segmentierung ist eine Aufgabe, die in der Arbeit nicht vorgeschlagen wird, und es wird als sehr schwierig angesehen, diese Aufgabe mit One-Shot zu realisieren. Der Hauptgrund dafür ist, dass die Segmentierung im Allgemeinen eine Methode zum Zuweisen einer Beschriftung verwendet, die für jedes Pixel bestimmt wird, und dass sie nicht lernt, wie ein Bild mit einer Fahrzeugkamera in ein Segmentierungsbild konvertiert wird. ** SinGAN ist gut darin, Funktionen aus Lehrerbildern zu extrahieren, und es besteht eine hohe Wahrscheinlichkeit, dass dieser Teil des Bildes, der während des Tests eingegeben wird, 〇〇 ist! Das habe ich nicht gelernt. ** ** **

Dieses Mal wollte ich jedoch überprüfen, wie viel Feature-Extraktion (ich halte den Ausdruck der Feature-Beibehaltung für angemessener), also habe ich das ursprüngliche SinGAN auf die semantische Segmentierung angewendet. .. Einfach ausgedrückt, wird ** Bild zu Bild ** direkt angewendet. Dieses Mal habe ich versucht, den fahrzeuginternen Kameradatensatz und den Zellbilddatensatz zu verwenden. image.png

Das tatsächliche Segmentierungsergebnis ist in der folgenden Abbildung dargestellt. Die meisten Vorhersagen wurden getroffen, aber es scheint schwierig, die Segmentierung direkt auf Aufgaben anzuwenden. Im Zellbild können jedoch einige Teile bestätigt werden, in denen der Zellkern identifiziert werden kann. Daten wie Zellbilder, bei denen sich die Zusammensetzung des gesamten Bildes nicht leicht von Bild zu Bild ändert, können auf die Möglichkeit einer Segmentierung in gewissem Maße hinweisen.

In jedem Fall wird in diesem Artikel die Segmentierung einfach zwangsweise in das vorhandene SinGAN-Modell eingefügt. Ich freue mich auf die zukünftige Entwicklung. image.png

abschließend

Dieser Artikel befasste sich mit der SinGAN-Praxis. Es gab viele Aufgaben, die mit dem ursprünglichen SinGAN erledigt werden konnten, und alle waren auf hohem Niveau, und einige von ihnen schienen kein One-Shot-Lernen zu sein. Ich freue mich auf die Anwendung und Entwicklung anderer Aufgaben, da dies eines der interessanten Forschungsfelder zu sein scheint.

Diesmal habe ich auch einen Artikel an CyberAgent 20, einen neuen Diplomingenieur Adventskalender 2019, als Kandidat für CyberAgent veröffentlicht, der 2020 seinen Abschluss gemacht hat, aber tatsächlich CyberAgent hat begonnen, 21 Diplomingenieure einzustellen! !! </ font> Ich habe mich entschlossen, über einen Langzeitpraktikanten zu CyberAgent zu kommen, aber CyberAgent fand ** verschiedene Dienste und Unternehmen und deren Verbindungen ** sehr interessant. Ich bin der Meinung, dass ein solches Umfeld ein sehr guter Ort für das Selbstwachstum ist. Ist es nicht aufregend, Ihre Fähigkeiten zu verbessern und zum Unternehmen beizutragen? Ich beschloss, mich dem Unternehmen anzuschließen, in der Hoffnung, dass es sich lohnt und mein Wachstum. Wenn Sie daran interessiert sind, kommen Sie bitte! Eine Chance, Ihren Horizont erheblich zu erweitern! https://www.cyberagent.co.jp/careers/special/engineer2021/?utm_source=twitter&utm_medium=sns&utm_campaign=social

Recommended Posts