利用PIFU-HD生成自己的三维人体图像

这个小项目本身是在研一的时候调的,记录一下过程,以后在别的电脑上配置就容易点。

我是在windows系统下配置的,gpu贼拉跨,报错很多,欢迎借鉴,总有一款错误适合你!

然后友情提示,跑项目就是会遇到各种各样的错误,请需要的小伙伴耐心看,遇到问题评论区交流讨论即可!

好不容易写完了,必须回来说一下,写得肝疼,为了防止出错,相当于一边写一边又重新实验了一遍,很不容易啊!!!点赞关注一下吧!!!

一、配置PIFU-HD

要用自己的数据实现三维人体重建,肯定先把别人给的测试代码跑通。

1.首先在git-hub上下载源代码:

facebookresearch/pifuhd: High-Resolution 3D Human Digitization from A Single Image. (github.com)

 解压后得到文件夹:

 2.为此项目新建一个python环境,打开cmd输入如下指令:

conda create -n pifuhd python=3.7

3.进入该环境,安装此项目需要的库(都在requirements.txt里面):

activate pifuhd #进入创建的pifuhd环境
cd D:\xiangmu\pifuhd\pifuhd-main\pifuhd-main #cd 后面是你项目的路径
pip install -r requirements.txt #安装requirements.txt里面的依赖库

安装完之后,检查一下torch版本,不出意外的话意外就来了,直接用指令安装会默认安装成cpu版本,输入如下指令检验:

python
import torch
print(torch.__version__)#查看torch版本
print(torch.cuda.is_available())#查看cuda能用吗

如果你输出的是gpu版本和true,那你没有这个问题,直接跳过,否则需要卸载该torch版本,然后离线安装。先输入如下指令卸载并查看你能安装的版本:

pip uninstall torch #卸载之前安装的torch
pip uninstall torchvision #torchvisoion一起卸载了
python -m pip debug --verbose #查看自己能安装的wheel版本

 然后下载对应的torch-gpu版本:https://download.pytorch.org/whl/torch_stable.html

torch和torchvision一起下载。下载完我是直接放在项目所在文件下,不然的话你要先cd到下载的位置,再使用如下指令离线安装:

pip install torch-1.7.1+cu110-cp37-cp37m-win_amd64.whl
pip install torchvision-0.8.2+cu110-cp37-cp37m-win_amd64.whl

安装完以后再输入一下上面的检验指令,应该就是 这样了:

 

 4.安装完以后发现还有两个库缺失,分别是OpenGL和freeglut 

        OpenGL也用离线安装的方式就好,先去官网下载:Archived: Python Extension Packages for Windows - Christoph Gohlke (uci.edu)

 我同样放在项目下,使用pip安装:

pip install PyOpenGL-3.1.6-cp37-cp37m-win_amd64.whl

另一个库稍微麻烦一点,我是用cmake编译的,因为这玩意儿好像只在linux下可以直接安装,git-hub上是这么写的:

 如果你是linux系统应该可以直接用这行命令。我这里写一下用cmake是怎么做的,先下载freeglut的源代码:freeglut download | SourceForge.net

 下载后放到项目下解压,然后创建一个build文件夹:

 打开cmake(没有下载的童鞋自行百度下载),先配置1,2(1是freeglut的路径,2是刚创建的build路径),配置好后点击左下角configure弹出窗口配置3,4(3是你VS的版本,没安装vs的也自行百度安装,4选这个64位就好):

 点击finish后,下一步点击generate就好,成功应该是这样:

 

  5.现在环境基本配置好了,接下来下载别人的与训练权重

        这里我是windows系统,代码中使用的是linux下的指令,所以需要Gitbash来使用下面的命令(没安装Gitbash的童鞋也请自行下载安装)

        Gitbash使用如下两行命令进入pifuhd环境和目录:

source activate pifuhd
cd D:\\xiangmu\\pifuhd\\pifuhd-main\\pifuhd-main

        然后使用如下命令下载:

sh ./scripts/download_trained_model.sh

        下完后就多了checkpoints文件

 

6.接下来就可以测试了

在Gitbash下接输入

sh ./scripts/demo.sh

 然后不出意外的话意外就来了,如果你的gpu够强大(内存>8G),那应该可以直接成功,如果报错如下:

 把./app/recon.py中的一行代码改了,意思就是gpu太捞了就用cpu,也就慢了亿点而已,谁叫咱没有条件呢

然后再运行demo应该就没问题了

7.运行只要不报错就等着,一会儿就有效果了

 

二、配置Openpose

我这里使用自己的图片需要借助openpose,但在作者的github中提到 colab demo 上有不需要openpose的方式,有兴趣的童鞋自行尝试。

 这里说一下用openpose怎么做,用cmake编译很复杂而且容易报错(做好心理准备),网上也有很多教程(你看别人的配置成功了也行)

1.首先下载openpose源代码解压,我下载的是1.7.0版本

Releases · CMU-Perceptual-Computing-Lab/openpose (github.com)

在编译安装之前先把一些依赖的东西下载,在models文件下有一些东西需要下载,如果你点getModels能快速下载最好

 不行的话提供几个链接下载:

 下完之后放到对应的文件夹下(放两个示意一下):

 然后3rdparty\windows文件夹下还有一些东西要先下载:

 这五个文件能运行直接下载最好,不能或者太慢可以用如下这种方式:

使用Notepad++(没下载的童鞋自行下载)打开这五个文件,以打开getCaff实例

 1+2的网址就是这里需要下载的东西,自己去网上下载,不管你用什么方式,下载下来解压跟我上面一样就好了。

2.准备好了以后就可以开始编译了

首先这里同样需要在openpose文件夹下新建一个build文件夹

 

 然后打开cmake配置一下(跟上面一样,先配置上面两个,点击Generate弹出窗口配置下面两个)

 点击finish弹出窗口后改变如下勾选(请逐一对照)

 

 然后点击Generate,等待结束

 接着点击Open Project会打开你的VS,将这里配置成release

 然后点击生成,生成解决方案,等待结束

虽然有一个错误和很多警告,但不影响 ,接着弄就好。

3.接下来将你openpose下的models文件夹和build/bin文件下所有文件复制(注意一个复制文件夹,一个复制文件夹下所有文件)粘贴到build\x64\Release下

 

 4.然后基本上配置好了,接着测试一下

测试图可以就用openpose自带的,留两张测试就行了

OpenPoseDemo.exe --image_dir D:\xiangmu\pifuhd\pifuhd-main1\pifuhd-main\openpose-master\openpose\examples\media --face --hand --write_json  D:\xiangmu\pifuhd\pifuhd-main1\pifuhd-main\openpose-master\openpose\examples\media

--img_dir就是图片的位置,--write_json 是你json文件保存的位置,我放到一块儿了。

三、现在终于可以用自己的图片测试结果了

1.首先拍一张照片,用抠图软件(在线抠图软件_图片去除背景 | remove.bg – remove.bg)把人抠出来

 然后把图片放到sample_imgaes文件夹下

 

 

2.接着利用刚编译好的openpose生成json文件,跟上面测试的方法一样,只不过文件路径改了

打开cmd,cd 到刚刚那个Release文件夹下运行

OpenPoseDemo.exe --image_dir D:\xiangmu\pifuhd\pifuhd-main1\pifuhd-main\sample_images --face --hand --write_json  D:\xiangmu\pifuhd\pifuhd-main1\pifuhd-main\sample_images 

这里跟上面测试唯一的不同就是把图片路径改了。

3.接着使用Gitbash切换到pifuhd环境,在pifuhd文件下,运行最后一步

source activate pifuhd
cd D:\\xiangmu\\pifuhd\\pifuhd-main1\\pifuhd-main
python -m apps.simple_test

cpu很慢,多等一会儿就可以看到效果了。

4.在results中就可以看到结果啦,还是很不错的

 

 

  • 8
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值