[PYTHON] Ich habe vorerst versucht, PIFuHD unter Windows auszuführen

Einführung

PIFuHD wurde von Facebook Research veröffentlicht! Ich habe mich entschlossen, PIFuHD als Erweiterung des Spielens mit PIFu auszuprobieren.

In diesem Artikel beschreiben wir das Verfahren von der Umgebungskonstruktion bis zur Ausführung des unter Windows erstellten Beispiels.

Das großartige PIFuHD-Repository finden Sie hier (https://github.com/facebookresearch/pifuhd).

Ausführungsumgebung

Umgebung

Erstellen einer virtuellen Umgebung

(base)$conda create -n pifu python=3.7.0
(base)$conda activate pifu

Installieren der Bibliothek (Ich habe pip verwendet, lesen Sie dies bitte und installieren Sie es mit conda install ...)

(pifu)$conda install pytorch torchvision cudatoolkit=10.1 -c pytorch
(pifu)$pip install pillow==6.0.0 scikit-image tqdm opencv-python trimesh
(pifu)$conda install pyopengl

Installieren Sie GLUT unter Windows

Dieses Mal habe ich Free GLUT anstelle des ursprünglichen GLUT installiert. Laden Sie "freeglut-MSVC-3.0.0-2.mp.zip" von [hier] herunter (http://files.transmissionzero.co.uk/software/development/GLUT/freeglut-MSVC.zip) → entpacken und entpacken Ich habe freeglut.dll in freeglut \ bin \ x64 \ nach C: \ Windows \ System32 kopiert.

https://tadaoyamaoka.hatenablog.com/entry/2017/02/28/064625

Ich habe auf diesen Artikel verwiesen. (Vielen Dank!)

Fmpeg installieren

https://fukatsu.tech/windows-ffmpeg

Ich habe das Verfahren in diesem Artikel so verwendet, wie es ist. (Vielen Dank!)

Ausführungsverfahren

Code herunterladen

(pifu)$git clone https://github.com/facebookresearch/pifuhd.git
(pifu)$cd pifuhd

Modell herunterladen

(pifu)$mkdir checkpoints
(pifu)$cd checkpoints
(pifu)$wget "https://dl.fbaipublicfiles.com/pifuhd/checkpoints/pifuhd.pt" -O pifuhd.pt
(pifu)$cd ..

Wenn Sie nicht über wget verfügen, laden Sie pifuhd.pt direkt von hier herunter und speichern Sie es unter Checkpoints.

Code korrigieren

Bei der Verwendung von OpenGL in meiner Umgebung ist ein Fehler aufgetreten. Daher habe ich lib / render / gl / render.py wie folgt geändert.

[render.py]
class Render:
    def __init__(self, width=1600, height=1200, name='GL Renderer',
                 program_files=['simple.fs', 'simple.vs'], color_size=1, ms_rate=1):
        self.width = width
        self.height = height
        self.name = name
        self.display_mode = GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH
        self.use_inverse_depth = False

        global _glut_window
        if _glut_window is None:
            glutInit()
            glutInitDisplayMode(self.display_mode)
            glutInitWindowSize(self.width, self.height)
            glutInitWindowPosition(0, 0)
            #Hier beheben
            # _glut_window = glutCreateWindow("My Render.")
            _glut_window = glutCreateWindow(b"My Render.")

Führen Sie den Befehl demo.sh aus

(pifu)$python -m apps.simple_test
(pifu)$python -m apps.render_turntable -f ./results/pifuhd_final/recon -ww 512 -hh 512

Wenn Sie den obigen Befehl ausführen, wird die folgende Animation auf dem Bildschirm angezeigt! image.png

Außerdem denke ich, dass "result_test_512.mp4" auch unter results / pifuhd_final / conver ausgegeben wird.

abschließend

Dieses Mal habe ich versucht, das von Facebook Research unter Windows veröffentlichte PIFuHD-Beispiel auszuführen. Wenn Sie README.md aktivieren, können Sie es grundsätzlich einfach ausprobieren.

In Zukunft werde ich versuchen, mein eigenes Bild anstelle des vorbereiteten Beispiels zu verwenden. PIFu musste Sementic-Segmentation sein, aber in PIFuHD scheinen die durch Pose-Estimation erhaltenen Schlüsselpunktinformationen ausreichend zu sein. Offiziell wurde eine Testmethode mit OpenPose veröffentlicht, aber ich denke, dass alles getan werden kann, wenn das Ausgabeformat separat mit dem Pose-Estimation-Algorithmus abgeglichen werden kann.

Recommended Posts

Ich habe vorerst versucht, PIFuHD unter Windows auszuführen
Führen Sie yolov4 "vorerst" in Windows aus
Ich habe Python zum ersten Mal auf dem Mac ausprobiert.
Ich habe Python zum ersten Mal mit Heroku ausprobiert
Ich habe zum ersten Mal Tensorflow ausprobiert
Ich habe vorerst mit Floydhub gespielt
Ich habe zum ersten Mal versucht, Python zu programmieren.
Ich habe Mind Meld zum ersten Mal ausprobiert
Ich habe versucht, die App auf der IoT-Plattform "Rimotte" auszuführen.
Versuchen Sie vorerst, Arch Linux zu installieren.
AI Gaming Ich habe es zum ersten Mal versucht
Ich möchte vorerst Selen bewegen [für Mac]
Ich habe die Google Cloud Vision-API zum ersten Mal ausprobiert
Ich habe versucht, das Python-Skript unter Windows 10 von 2.7.11 auf 3.6.0 zu ändern
Ich möchte vorerst eine Docker-Datei erstellen.
Ich möchte vorerst die Desktop-Umgebung von Ubuntu auf Android verwenden (Termux-Version)
Ich möchte vorerst Ubuntus Desktop-Umgebung auf Android verwenden (UserLAnd-Version)
Der Java-Programmierer versuchte (vorerst), die Sprache Go zu berühren.
Vorerst möchte ich jede Datei mit ffmpeg konvertieren !!
Ich habe versucht, das TensorFlow-Tutorial mit Kommentaren auszuführen (_TensorFlow_2_0_Einführung für Anfänger).
[Python] Ich habe versucht, den Funktionsnamen durch den Funktionsnamen zu ersetzen
Ich habe versucht, YOLO v3 mit Google Colab auszuführen
Importieren Sie sie vorerst in jupyter
Machen Sie vorerst ein Histogramm (matplotlib)
Verwenden Sie vorerst Logger mit Python
Versuchen Sie es vorerst mit LINE Notify
Ich möchte die Desktop-Umgebung von Ubuntu vorerst auch unter Android verwenden (Termux-Version - japanische Eingabe in der Desktop-Umgebung).
Zur Zeit möchte ich mit FastAPI zeigen, wie man eine solche API in swagger verwendet
virtualenv Das ist vorerst alles!
Ich habe versucht, mit tkinter mit dem Taschenrechner zu spielen
Ich habe Sipeed Lichee Zero gekauft und es vorerst eingerichtet
Rückblick auf den Wettbewerb für maschinelles Lernen, an dem ich zum ersten Mal gearbeitet habe
Ich habe versucht, Objekte mit YOLO v3 (TensorFlow 2.1) auf der GPU von Windows zu erkennen!
Ich habe versucht, Pymc auszuführen
Ich dachte, ich könnte einen netten Gitignore-Editor machen, also habe ich vorerst versucht, so etwas wie MVP zu machen
Ich habe versucht, TensorFlow auszuführen
Was ich zum ersten Mal in Python bekommen habe
Ich habe das MNIST-Tutorial von tensorflow für Anfänger ausprobiert.
Flow Memo, um LOCUST vorerst zu verschieben
Führen Sie es vorerst mit CentOS7 + Apache2.4 + Python3.6 aus
Molekulardynamiksimulation vorerst versuchen
Zum ersten Mal habe ich etwas über Unix (Linux) gelernt.
Neben Excel jupyter Notebook vorerst
Ich habe versucht, den Linux-Kernel auf virtualbox + vagrant zu installieren
Ich habe versucht, den Beispielcode des Ansible-Moduls auszuführen
Ich werde versuchen, die Links zusammenzufassen, die vorerst nützlich erscheinen
Bis Sie die Flask-Anwendung vorerst in Google App Engine ausführen
Ich weiß nicht, was HEIC ist. Aber vorerst verwenden wir PNG!
Erster Kaggle (Kaggle ①)
Ich habe versucht, den für TensorFlow geschriebenen Code nach Theano zu portieren
Ich habe den Super-Resolution-Algorithmus "PULSE" in einer Windows-Umgebung ausprobiert
F2py unter Miniconda für Windows
Ich habe versucht, die Windows 10-Festplatte durch eine kleinere SSD zu ersetzen
Ich habe versucht, die Zeit und die Zeit der C-Sprache zu veranschaulichen
Ich habe die Changefinder-Bibliothek ausprobiert!
Ich habe versucht, die Uhrzeit und das heutige Wetter anzuzeigen
Kaguru zum ersten Mal
Verschiedene Hinweise zur Verwendung von Python für Projekte