Project Icon

TokenHMR

基于令牌化姿态表示的人体网格重建新方法

TokenHMR采用阈值自适应损失缩放和令牌预测技术,通过令牌化和TokenHMR两个阶段提高3D人体网格重建精度。该方法在图像对齐和3D姿态估计方面均有良好表现,可用于图像和视频处理,对人体姿态和形状估计研究具有重要意义。

TokenHMR:通过标记化姿势表示推进人体网格重建

计算机视觉与模式识别(CVPR 2024)

(*贡献相同)

1马克斯·普朗克智能系统研究所,图宾根,德国
2Meshcapade     3苏黎世联邦理工学院

网站 shields.io YouTube 徽章 arXiv

核心思想

大多数3D人体姿势估计方法使用带有2D关键点和/或3D伪真实标注的真实图像进行训练,这有助于提高泛化能力。然而,在这种数据上训练的方法虽然在图像对齐方面表现良好,但3D精度较差。TokenHMR通过引入阈值自适应损失缩放(TALS)损失并将身体回归重新表述为标记预测来解决这个问题。我们的方法分为两个阶段:

  1. 标记化: 编码器将连续的姿势映射为离散的姿势标记。
  2. TokenHMR: 在人体姿势估计训练过程中,预训练的解码器提供有效姿势的"词汇表",而不引入偏见。

更新

  • 2024年2月7日:发布改进的TokenHMR模型 - 更好的图像对齐
  • 2024年5月6日:发布TokenHMR代码和模型 - 论文中使用的模型

设置和安装

  1. 克隆仓库 将仓库克隆到本地机器:

    git clone https://github.com/saidwivedi/TokenHMR.git
    
  2. 创建Conda环境

    重要提示:请勿使用高于3.10的Python版本。

    conda create -n tkhmr python=3.10
    
  3. 安装PyTorch

    经测试使用PyTorch 2.1.0和CUDA 11.8,但也可以使用较低版本。

    pip install torch==2.1.0 torchvision==0.16.0 torchaudio==2.1.0 --index-url https://download.pytorch.org/whl/cu118
    
  4. 安装其他依赖

    使用提供的requirements.txt文件安装其他依赖项。

    pip install -r requirements.txt
    
  5. 安装Detectron2用于图像演示

    确保CUDA_HOME设置为与PyTorch一起安装的CUDA版本。

    pip install git+https://github.com/facebookresearch/detectron2
    
  6. 安装人体跟踪器的分叉版本(修复了依赖项)(PHALP, CVPR 2022)用于视频演示

    确保CUDA_HOME设置为与PyTorch一起安装的CUDA版本。

    pip install git+https://github.com/saidwivedi/PHALP
    

代码结构

TokenHMR/
├── tokenization/               # 包含训练、评估和运行标记化演示的代码。[方法(a)]
│   └── tokenization_data/      # 标记化的训练/评估数据。[查看下方如何下载]
│   ... 
├── tokenhmr/                   # 包含训练、评估和运行TokenHMR演示的代码 [方法(b)]
│   └── dataset_dir/            # TokenHMR训练的根目录
│       └── training_data/      # TokenHMR的训练数据。[查看下方如何下载]
│       └── evaluation_data/    # TokenHMR的训练数据。[查看下方如何下载]
│   ... 
├── data/                       # 基本设置数据
│   └── body_models/            # SMPL和SMPLH身体模型
│   └── checkpoints/            # 带配置的标记化和TokenHMR检查点
├── requirements.txt            # 依赖列表
└── ...

准备基本设置数据 [演示所需]

所有文件都上传到项目网页。下载需要注册并同意许可协议。 使用脚本fetch_demo_data.sh下载运行演示所需的文件。这包括SMPLSMPLH身体模型、最新的TokenHMR和标记化检查点。有关训练和评估,请参阅相应章节。

bash ./fetch_demo_data.sh

PHALP需要SMPL中性模型来运行视频演示。将模型复制到适当的位置。

cp data/body_models/smpl/SMPL_NEUTRAL.pkl $HOME/.cache/phalp/3D/models/smpl/

在图像上运行TokenHMR演示

在运行图像演示之前,请确保安装了Detectron2。查看安装指南了解更多详情。

python tokenhmr/demo.py \
    --img_folder demo_sample/images/ \
    --batch_size=1 \
    --full_frame \
    --checkpoint data/checkpoints/tokenhmr_model_latest.ckpt \
    --model_config data/checkpoints/model_config.yaml
图像1图像2图像3图像4

在视频上运行TokenHMR演示

确保安装了原始PHALP, CVPR 2022分叉版本。查看安装指南了解更多详情。

python tokenhmr/track.py \
    video.source=demo_sample/video/gymnasts.mp4 \
    render.colors=slahmr \
    +checkpoint=data/checkpoints/tokenhmr_model_latest.ckpt \
    +model_config=data/checkpoints/model_config.yaml

演示GIF

标记化

数据准备

我们使用AMASSMOYO的身体姿势数据来训练tokenizer。用于训练和评估的处理后文件可以从这里下载(下载前需要在项目页面注册)。下载后解压,文件夹结构应如下所示:

TokenHMR/
├── tokenization/ 
│   └── tokenization_data/          # 用于Tokenization的训练/评估数据
│       └── smplh/
│           └── train/              # 训练集
│               └── train_CMU.npz
│               ...
│           └── val/                # 验证集
│               └── val_MPI-Mosh.npz            
│               ...
└── ...

训练

我们在单个A100 Nvidia GPU上训练tokenizer,迭代150K次,大约需要2天时间。

cd tokenization
python train_poseVQ.py --cfg configs/tokenizer_amass_moyo.yaml

TokenHMR

数据准备

我们使用BEDLAM4DHumans的训练数据来训练TokenHMR。参考这里下载4D humans的训练tar文件。对于BEDLAM的tar文件,请从我们的项目页面这里下载。评估时,请直接从各自的网站下载图片:3DPWEMDB。评估所需的元数据可以从这里下载。最终的文件夹结构应如下所示:

TokenHMR/
├── tokenhmr/
│   └── dataset_dir/
│       └── training_data/                      # 训练数据
│           └── dataset_tars/
│               └── coco-train-2014-pruned/
│               └── aic-train-vitpose/
│               └── bedlam/
|               ...                          
│           ...
│       └── evaluation_data/                    # 评估数据
│           └── 3DPW/
│           └── EMDB/
│           └── emdb.npz
│           └── 3dpw_test.npz
└── ...

训练

训练完tokenizer后,我们可以开始训练TokenHMR。如果你想跳过tokenization训练,可以直接使用检查点中提供的预训练模型。使用4DHumans预训练的backbone(从官方仓库下载模型),在4个A100 Nvidia GPU上训练大约需要4天时间。如果你想更改任何默认设置,请更新tokenhmr/lib/configs_hydra/experiment/tokenhmr_release.yaml

python tokenhmr/train.py datasets=mix_all experiment=tokenhmr_release

评估

要评估论文中使用的原始模型在3DPW和EMDB上的表现,请从这里下载。然后运行以下命令:

python tokenhmr/eval.py  \
    --dataset EMDB,3DPW-TEST \
    --batch_size 32 --log_freq 50 \
    --dataset_dir tokenhmr/dataset_dir/evaluation_data \
    --checkpoint data/checkpoints/tokenhmr_model.ckpt \
    --model_config data/checkpoints/model_config.yaml

致谢

本代码基于以下两个优秀的仓库构建。我感谢作者们开源他们的代码。

部分代码来自或改编自以下仓库:

我们诚挚感谢Perceiving Systems部门和Meshcapade GmbH的ML团队提供的有见地的讨论和反馈。我们感谢国际马克斯普朗克智能系统研究院(IMPRS-IS)对Sai Kumar Dwivedi的支持。我们感谢Meshcapade GmbH对Yu Sun的支持并提供GPU资源。这项工作部分得到了德国联邦教育和研究部(BMBF)的支持:图宾根AI中心,FKZ:01IS18039B。

引用

如果你发现这份代码对你的研究有用,请考虑引用以下论文:

@inproceedings{dwivedi_cvpr2024_tokenhmr,
    title={{TokenHMR}: Advancing Human Mesh Recovery with a Tokenized Pose Representation},
    author={Dwivedi, Sai Kumar and Sun, Yu and Patel, Priyanka and Feng, Yao and Black, Michael J.},
    booktitle={IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)},
    year={2024},
}

许可

此代码仅供非商业科研目的使用,具体定义见LICENSE文件。下载和使用此代码即表示您同意LICENSE中的条款。第三方数据集和软件受其各自的许可约束。

联系方式

如有代码相关问题,请联系sai.dwivedi@tuebingen.mpg.de

关于商业许可(以及所有与商业应用相关的问题),请联系ps-licensing@tue.mpg.de

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号