PIFuHD est sorti de Facebook Research! J'ai décidé d'essayer PIFuHD comme une extension de jouer avec PIFu avant.
Dans cet article, nous décrirons la procédure de la construction de l'environnement à l'exécution de l'exemple préparé sous Windows.
Le grand référentiel PIFuHD est ici (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
Cette fois, j'ai installé Free GLUT au lieu du GLUT original. Téléchargez "freeglut-MSVC-3.0.0-2.mp.zip" depuis ici → décompressez et décompressez J'ai copié freeglut.dll situé dans freeglut \ bin \ x64 \ dans C: \ Windows \ System32.
https://tadaoyamaoka.hatenablog.com/entry/2017/02/28/064625
J'ai fait référence à cet article. (Je vous remercie!)
https://fukatsu.tech/windows-ffmpeg
J'ai utilisé la procédure de cet article telle quelle. (Je vous remercie!)
(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 ..
Si vous n'avez pas wget, téléchargez pifuhd.pt directement depuis ici et stockez-le sous les points de contrôle.
J'ai eu une erreur lors de l'utilisation d'OpenGL dans mon environnement, j'ai donc modifié lib / render / gl / render.py comme suit.
[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)
#Fixez ici
# _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
Lorsque vous exécutez la commande ci-dessus, vous verrez l'animation suivante à l'écran!
De plus, je pense que "result_test_512.mp4" est également affiché sous results / pifuhd_final / recon.
Cette fois, j'ai essayé d'exécuter l'exemple PIFuHD publié par Facebook Research sur Windows. En gros, si vous cochez README.md, vous pouvez facilement l'essayer.
À l'avenir, j'essaierai d'utiliser ma propre image au lieu de l'échantillon préparé. PIFu devait être Sementic-Segmentation, mais dans PIFuHD il semble que les informations de point clé obtenues par Pose-Estimation soient suffisantes. Officiellement, une méthode d'essai utilisant OpenPose a été publiée, mais je pense que tout peut être fait si le format de sortie peut être mis en correspondance avec l'algorithme Pose-Estimation séparément.
Recommended Posts