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).
(base)$conda create -n pifu python=3.7.0
(base)$conda activate pifu
(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
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!)
https://fukatsu.tech/windows-ffmpeg
Ich habe das Verfahren in diesem Artikel so verwendet, wie es ist. (Vielen Dank!)
(pifu)$git clone https://github.com/facebookresearch/pifuhd.git
(pifu)$cd pifuhd
(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.
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.")
(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!
Außerdem denke ich, dass "result_test_512.mp4" auch unter results / pifuhd_final / conver ausgegeben wird.
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