pose-tensorflow在Windows下的配置,我踩了很多坑,希望你们别踩。。。

本人也是初学者,这里只介绍步骤,不介绍原理,为同是人体姿态估计的同学少走点弯路,尽一份力吧,希望大家不要把宝贵的时间浪费在别人已经做过的事情上。要研究原理的同学还是看论文吧。

源代码网址:https://github.com/eldar/pose-tensorflow

运行环境:

OS:为Windows7 with SP1 64位

IDE:pycharm community

Other:python3.5+TensorFlow1.2GPU版

安装依赖项:

pip3 install scipy scikit-image matplotlib pyyaml easydict cython munkres

单人姿态估计

第一步,下载预训练模型。进入models/mpii目录下,双击download_models.sh脚本文件,下载完成后会有三个文件


第二步,打开cmd,输入set TF_CUDNN_AUTOTUNE=0

第三步,改配置,双击左边同目录下的pose_cfg.yaml,将init_weights:后面的路径前面加上../

第四步,改代码。用pycharm打开pose-tensorflow的根目录,展开demo,打开singleperson.py,去掉14行和20行字符串中的demo/删除。

第五步,运行单人检测。在代码区右键run。操作顺利的话会出现如下效果


然而单人一般都不会出什么问题。问题在多人。

多人姿态估计。

第一步,到项目根目录下,双击compile.sh文件。

第二步,到models/coco目录下,双击download_models.sh文件,执行完成后,当前目录下会有如下文件


第三步,在lib\nms_cython\include目录下,打开nms_scoremap.hxx文件,在开头加入#include “array”

转到lib/nms_cython目录下。按住shift+鼠标右键,点击在此打开命令窗口输入:python setup.py build,在进入当前目录下的build/lib.win-amd64-3.5目录下,把里边的pyd文件拷到nms_cython目录下,并重命名,把中间一段.cp35-win_amd64删除

第四步,在lib\multicut_cython,在solve_nl_lmp.hxx文件中加入#include “array”,然后在当前目录下按住shift+鼠标右键,点击在此打开命令窗口输入:python setup.py build,执行完后的cmd窗口


同样进入build\lib.win-amd64-3.5目录下,把multicut.cp35-win_amd64.pyd文件拷到lib\multicut_cython目录下,并重命名,把中间.cp35-win_amd64删除

第五步。lib\coco\PythonAPI,修改该目录下,setup.py文件删除第14行extra_compile_args=['-Wno-cpp', '-Wno-unused-function', '-std=c99'],。接着按照上面的步骤同样,到lib\coco\PythonAPI目录下,按住shift+鼠标右键,点击在此打开命令窗口输入:python setup.py build,再将build\lib.win-amd64-3.5目录下的pycocotools拷到lib\coco\PythonAPI目录下合并,复制和替换原文件,最后进入pycocotools,将文件_mask.cp35-win_amd64.pyd重命名为_mask.pyd

第六步,改配置。将pose_cfg_multi.yaml文件中的所有路径前面加上../

第七步,改代码(建议在pycharm下修改,方便,修改后可能这一行的某几个单词依旧会有红线,但是不影响)。1、修改dataset目录下mscoco.py文件,将第13行和14行的pycocotools前面加上lib.coco.PythonAPI.。2、修改multiperson目录detections.py文件,将第10行from后面的nms_grid前面加上lib.nms_cython.。这就是之前编译的文件的目录。3、修改同目录下predict.py文件,将12行的修改为 from lib.multicut_cython.multicut import solve_nl_lmp。4、修改lib\coco\PythonAPI\pycocotools目录下的mask.py文件,将第3行的改为import lib.coco.PythonAPI.pycocotools._mask as _mask。5修改demo目录下的demo_multiperson.py文件,23行和36行删除demo/

第八步,运行demo_multiperson.py。就可以看到效果图


发布了9 篇原创文章 · 获赞 7 · 访问量 5573

猜你喜欢

转载自blog.csdn.net/u013702040/article/details/80715374