关于“为外部场景3D 交互手部恢复将输入引入共享域”的 PyTorch 官方实现,[CVPR 2023] ;facebook/research/InterWild交互手势恢复代码跑通

目录

1.项目简介:

2.环境前提

3.跑通代码:

 4.运行


1.项目简介:

        论文网址:https://arxiv.org/abs/2303.13652

        项目地址:GitHub - facebookresearch/InterWild: Official PyTorch implementation of "Bringing Inputs to Shared Domains for 3D Interacting Hands Recovery in the Wild", CVPR 2023

        这个项目其实是InterHand2.6M dataset | InterHand2.6M的改进(项目地址如下:https://github.com/facebookresearch/InterHand2.6M),在这个项目中,手势识别在户外识别准度(也就是现实生活场景)大大增加,之前的InterHAND2.6m的跑通效果如下:

关于“为外部场景3D 交互手部恢复将输入引入共享域”的 PyTorch 官方实现,[CVPR 2023] ;facebook/research/InterWild交互手势恢复代码跑通_第1张图片

关于“为外部场景3D 交互手部恢复将输入引入共享域”的 PyTorch 官方实现,[CVPR 2023] ;facebook/research/InterWild交互手势恢复代码跑通_第2张图片

         我们可以发现,效果不是很好,我在github上咨询了官方,他的回答是:

Please use this
GitHub - facebookresearch/InterWild: Official PyTorch implementation of "Bringing Inputs to Shared Domains for 3D Interacting Hands Recovery in the Wild", CVPR 2023

InterHand dataset provides 3D GT, which is good, but one limitation is that its image appearance is far from that of real in-the-wild images.
For more details, please read InterWild paper.

 换句话说,InterHand2.6M的训练模型是基于室内数据的,在现实场景效果可能不怎么好,所以让我们尝试Interwild这个新项目,因此就有了这个项目跑通文章。

2.环境前提

        本人的环境和软件如下(如果不清楚pytorch3d的安装,可以参考前面的文章):

GPU:GTX 1050Ti
 
CUDA:11.1
 
python:3.8
 
pytorch:1.9.0
 
pytorch3d:0.7.1
 
NVIDIA CUB :cub-1.9.10-1

Tool:Pycharm 2021

 首先,把项目先下载到本地,用Pycharm打开,如下图:

关于“为外部场景3D 交互手部恢复将输入引入共享域”的 PyTorch 官方实现,[CVPR 2023] ;facebook/research/InterWild交互手势恢复代码跑通_第3张图片

然后,查看官方运行demo的说明:

关于“为外部场景3D 交互手部恢复将输入引入共享域”的 PyTorch 官方实现,[CVPR 2023] ;facebook/research/InterWild交互手势恢复代码跑通_第4张图片

 你需要下载预训练的InterWild模型(一个pth文件),直接放在Demo文件夹下面;

此外,准备human_model_file文件夹:

关于“为外部场景3D 交互手部恢复将输入引入共享域”的 PyTorch 官方实现,[CVPR 2023] ;facebook/research/InterWild交互手势恢复代码跑通_第5张图片

 把你下好的mano放进里面:

关于“为外部场景3D 交互手部恢复将输入引入共享域”的 PyTorch 官方实现,[CVPR 2023] ;facebook/research/InterWild交互手势恢复代码跑通_第6张图片

 下载地址(好像需要登录才能下载):

MANO

下载完后解压放在E:\InterWild-main\common\utils\human_model_files里面就ok了

        假如你有import爆红,检查文件位置或者下载和更新好库,好像numpy和matplotlib版本也要更新,安装完后环境预备工作就做完了差不多。

3.跑通代码:

        项目里的代码有一段需要改,他的split没有去掉上一层的文件名,会导致访问不了josn,把78-80行改成我这样即可:

# for each input image
for img_path in tqdm(img_path_list):
    file_name = img_path.split('/')[-1][:-4]
    file_name = file_name.split('\\')[-1]

         此外,你需要在输入变量中添加  --gpu 0 ,如下图所示

关于“为外部场景3D 交互手部恢复将输入引入共享域”的 PyTorch 官方实现,[CVPR 2023] ;facebook/research/InterWild交互手势恢复代码跑通_第7张图片

 4.运行

        最后就是运行了,运行界面如下所示(这里显示我跑了2970张图片):

关于“为外部场景3D 交互手部恢复将输入引入共享域”的 PyTorch 官方实现,[CVPR 2023] ;facebook/research/InterWild交互手势恢复代码跑通_第8张图片

 运行结果:

关于“为外部场景3D 交互手部恢复将输入引入共享域”的 PyTorch 官方实现,[CVPR 2023] ;facebook/research/InterWild交互手势恢复代码跑通_第9张图片

 你也可以把这些拼成视频!

有什么交流可以在评论区说哦。

你可能感兴趣的:(python,开发语言,3d,pytorch)