[PYTHON] Erklären und bewegen Sie das SMIS-Modell, das durch tiefes Lernen "Kleidung virtuell anprobieren" kann

Einführung

Ein Forschungsteam der Huazhong University of Technology und der Beijing University in China veröffentlichte auf der CVPR2020-Konferenz einen Artikel mit dem Titel "Semantically Multi-Modal Image Synthesis" (SMIS). Laut diesem Artikel können Sie das Muster und die Farbe von Kleidung und Hosen von einem einzelnen Foto aus ändern, um ein virtuelles Anprobe-Bild zu erstellen. In diesem Artikel wird eine auf tiefem Lernen basierende Methode verwendet, die Bilder nach Objekten klassifiziert und die Bilder teilweise ersetzt und synthetisiert.

Dieses Mal werde ich eine kurze Erklärung des SMIS-Modells erklären und wie man es tatsächlich ausprobiert. Wenn Sie es verschieben möchten, lesen Sie bitte "Versuchen Sie, das Modell zu verschieben". Die Details des Papiers sind wie folgt. smis.gif

Papier: https://arxiv.org/abs/2003.12697 Projektseite: https://seanseattle.github.io/SMIS/ Github: https://github.com/Seanseattle/SMIS Video: http://www.youtube.com/watch?v=uarUonGi_ZU

Über das Modell

Um das Muster / die Farbe der Kleidung zu ändern, muss zuerst beschriftet werden, welcher Teil die Kleidung / Hose ist. DeepFashion wird verwendet, um eine semantische Segmentierung durchzuführen, die Bildbereiche mithilfe eines Datensatzes verknüpft, der die Kleidungsteile kennzeichnet.

Durch Anpassen mit dem Controller an jede semantische Segmentierungsklasse können Sie das Bild nur im entsprechenden Teil konvertieren. Herkömmlicherweise wurde bei einer solchen Bildzusammensetzung ein Verfahren zum Aufbau eines Erzeugungsnetzwerks für jede Klasse und zum Integrieren der Ausgaben verschiedener Netzwerke zum Erzeugen des endgültigen Bildes verwendet.

Bei dieser Methode gab es jedoch das Problem, dass die Lernzeit zunahm und die Genauigkeit mit zunehmender Anzahl von Klassen abnahm. Die SMIS-Methode löst dieses Problem mit GroupDNet (Group Decreasing Network), einem Netzwerk, das die Klassensteuerung von traditioneller Faltung zu Gruppenfaltung ändert und den Generierungsprozess in einem einzigen Modell vereinheitlicht.

main.jpg

Mit GroupDNet können Sie eine Interkorrelation zwischen verschiedenen Klassen herstellen, wenn diese zwischen den Klassen ähnlich sind (Gras- und Blattfarbe sind ähnlich usw.), und die Gesamtbildqualität verbessern. Dies reduziert auch den Rechenaufwand bei vielen Klassen. Dies erleichterte die Konvertierung semantischer Beschriftungen in verschiedene Bilder und lieferte selbst für Datensätze mit vielen Klassen qualitativ hochwertige Ergebnisse.

l_koya_sem2.png Abbildung 1 GroupDNet-Architektur (zitiert aus [1])

Abbildung 2 zeigt einen Vergleich anderer Modelle. Es gibt verschiedene Indikatoren für die Bewertung der Qualität des generierten Bildes im Generierungsmodell, darunter die Fréchet Inception Distance (FID). Dies ist ein Bewertungsindex, der den Abstand zwischen der Verteilung des tatsächlichen Bildes und dem erzeugten Bild misst. In diesem FID ist das Ergebnis im Vergleich zu anderen Modellen auf dem neuesten Stand der Technik. In Bezug auf die Geschwindigkeit sind es jedoch 12,2 FPS, was anderen Modellen unterlegen ist.

スクリーンショット 2020-09-04 14.08.43.png Abbildung 2 Vergleich mit anderen Modellen (zitiert aus [1])

Da es sich bei dieser Methode um eine Methode zum Ändern des Stils nach der semantischen Segmentierung handelt, wie in Abb. 1 dargestellt, ist sie nicht auf die Mode beschränkt, sondern schrittweise von einem Bild zum anderen, z. B. das Ändern eines Gebäudes in einen Baum, das Einfügen einer Wette an einer leeren Stelle usw. Es kann auf verschiedene Arten angewendet werden, z. B. durch Morphing, das sich in ändert.

(Für die Erklärung habe ich einige [2] zitiert, es fehlen möglicherweise falsche oder falsche Erklärungen. Bitte kommentieren Sie dies zu diesem Zeitpunkt.)

Versuchen Sie, das Modell zu bewegen

Verschieben wir nun das SMIS-Modell. Das Forschungsteam hat das in Pytorch implementierte Modell auf Github veröffentlicht. Ich habe einen Code erstellt, der tatsächlich mit Google Colaboratory funktioniert. Sie können das von mir erstellte Notizbuch unter der folgenden URL überprüfen. Sie können dieses Notebook auf Ihr Laufwerk kopieren und ausführen lassen. (Sie können es verschieben, indem Sie die Zellen in der Reihenfolge von oben ausführen.) https://colab.research.google.com/drive/1HGqqOXxFKTSJibg2tQ-Shb9ArFiX-96g?usp=sharing

Ich werde den erstellten Kollaborationscode auch in Qiita erklären.

Repository-Klon

Klonen Sie das Repository (https://github.com/Seanseattle/SMIS) von Github.

!git clone https://github.com/Seanseattle/SMIS
%cd SMIS

Laden Sie das trainierte Modell herunter

Laden Sie das trainierte Modell vom folgenden Google-Laufwerk herunter. https://drive.google.com/open?id=1og_9By_xdtnEd9-xawAj4jYbXR6A9deG Das trainierte Modell ist in der README-Datei des Repositorys beschrieben. Um mit CUI direkt von Google Drive herunterzuladen, müssen Sie die Cookie-Informationen mit wget übergeben. Laden Sie sie daher folgendermaßen herunter (Klicken Sie hier, um das Laufwerk mit Cookie herunterzuladen]( Es ist unter https://qiita.com/tommy19970714/items/3e6a2e8b9dc15982a5de)) zusammengefasst. Sie können die URL einfach in Ihrem Browser öffnen und über die GUI herunterladen.

!wget --load-cookies /tmp/cookies.txt "https://docs.google.com/uc?export=download&confirm=$(wget --quiet --save-cookies /tmp/cookies.txt --keep-session-cookies --no-check-certificate 'https://docs.google.com/uc?export=download&id=1og_9By_xdtnEd9-xawAj4jYbXR6A9deG' -O- | sed -rn 's/.*confirm=([0-9A-Za-z_]+).*/\1\n/p')&id=1og_9By_xdtnEd9-xawAj4jYbXR6A9deG" -O smis_pretrained.rar && rm -rf /tmp/cookies.txt

Entpacken Sie die heruntergeladenen Daten und benennen Sie den Ordner um.

!unrar x smis_pretrained.rar
!mv smis_pretrained checkpoints

Laden Sie den DeepFashion-Datensatz herunter

Laden Sie den Deep Fashion-Datensatz ähnlich wie oben über den folgenden Google Drive-Link herunter. Enthält Zugdaten und Testdaten. Dieses Mal habe ich es nur zur Verwendung als Testdaten heruntergeladen. https://drive.google.com/open?id=1ckx35-mlMv57yzv47bmOCrWTm5l2X-zD

!wget --load-cookies /tmp/cookies.txt "https://docs.google.com/uc?export=download&confirm=$(wget --quiet --save-cookies /tmp/cookies.txt --keep-session-cookies --no-check-certificate 'https://docs.google.com/uc?export=download&id=1ckx35-mlMv57yzv47bmOCrWTm5l2X-zD' -O- | sed -rn 's/.*confirm=([0-9A-Za-z_]+).*/\1\n/p')&id=1ckx35-mlMv57yzv47bmOCrWTm5l2X-zD" -O deepfashion.tar && rm -rf /tmp/cookies.txt

Entpacken Sie die Datei.

!tar -xvf deepfashion.tar

Installieren Sie die erforderlichen Bibliotheken

Die in diesem Repository verwendeten Bibliotheken sind in der Datei request.txt zusammengefasst. Installieren Sie die Bibliothek in der Datei request.txt.

!pip install -r requirements.txt

Führen Sie den Modelltest aus

Sie müssen lediglich test.py ausführen, damit das Modell funktioniert. Geben Sie im Parameter --gpu_ids die zu verwendende GPU-ID an. Sie können die GPU-ID überprüfen, indem Sie den Befehl nvidia-smi drücken. Der Parameter --dataroot gibt an, wo sich die Ordner cihp_test_mask und cihp_train_mask des soeben heruntergeladenen Deepfashion-Datasets befinden. Nachdem ich es im selben Verzeichnis gespeichert habe, habe ich ./ angegeben.

!python test.py --name deepfashion_smis --dataset_mode deepfashion --dataroot ./ --no_instance \
--gpu_ids 0 --ngf 160 --batchSize 4 --model smis --netG deepfashion

Die generierten Bilder werden in einem Ordner unter results / deepfashion_smis / test_latest / images / gespeichert. bitte stelle sicher.

Sie können sehen, dass ein solches Bild generiert wurde.

output1.pngoutput2.png output3.pngoutput4.png

Am Ende

Dieses Mal erklärte ich das hochmoderne SMIS-Modell im FID-Index für die Umstellung des Kleidungsstils von der Erklärung auf die tatsächliche Bewegung. Im Bereich der Deep-Learning-Modelle der Bilderzeugung werden täglich neue Artikel veröffentlicht, was eine Reihe von Überraschungen darstellt. Es macht viel Spaß, diese neuesten Technologien auszuprobieren. Die Anwendung dieses Modells ist sehr klar, und ich denke, es ist eine Technologie, die auch Unternehmen der Modebranche benötigen werden. Ich hoffe, dass diese Artikel zur praktischen Anwendung von Deep-Learning-Modellen führen.

Ich twittere über Deep Learning-Modell und persönliche Entwicklung auf Twitter → @ tommy19970714

Möglicherweise fehlen oder sind die Erklärungen für die Modellbeschreibung falsch. Bitte kommentieren Sie dies zu diesem Zeitpunkt.

Verweise

[1] ZHU, Zhen, et al. Semantically Multi-modal Image Synthesis. In: Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2020. p. 5467-5476. [2] [ITmedia Deep Learning erleichtert das Wechseln der Kleidung. Technologie "SMIS", die nur einen Teil des Bildes ersetzt und synthetisiert](https://www.itmedia.co.jp/news/articles/2009/04/news027. html) [3] Übersicht über progressive / Big / Style-GANs und Leistungsbewertungsskala von GANs

Recommended Posts

Erklären und bewegen Sie das SMIS-Modell, das durch tiefes Lernen "Kleidung virtuell anprobieren" kann
Deep Learning Kurs, der vor Ort zerquetscht werden kann
Blenden Sie die Warnung aus, dass zsh auf dem Mac standardmäßig verwendet werden kann
Erstellen Sie eine KI, die Zuckerbergs Gesicht mit Deep Learning identifiziert (KI-Modellbau)
Implementierung eines Modells, das Wechselkurse (Dollar-Yen-Kurs) durch maschinelles Lernen vorhersagt
Ich habe "Lobe" ausprobiert, mit dem das von Microsoft veröffentlichte Modell des maschinellen Lernens problemlos trainiert werden kann.