阿里重磅开源 LHM:开源3D数字人神器

项目介绍

  1. 阿里巴巴通义实验室开源的LHM(Large Animatable Human Reconstruction Model) 是当前3D建模领域的突破性工具,能够从单张图像快速生成高质量可动画化的3D人体模型。仅需单张图片输入,5秒内生成可动画的3D模型,无需复杂后处理,支持实时渲染(30FPS)和姿态控制,动态调整模型动作。LHM通过单图闪电建模和实时动画控制,大幅降低了3D内容创作门槛,尤其适合需要快速原型设计的场景。其开源策略进一步推动行业生态发展,开发者可基于此探索更多创新应用。
  2. GitHub 地址 :lingtengqiu.github.io/LHM/
  3. 项目地址 :lingtengqiu.github.io/LHM/
  4. 论文地址 :arxiv.org/pdf/2503.10...
  5. star 数:1.9k
  6. star变化图 :

项目教程

  1. 快速开始:B 站提供快速开始教程

  2. 从Docker中构建环境:

    bash 复制代码
    # CUDA 121
    # step0. download docker images
    wget -P ./lhm_cuda_dockers https://virutalbuy-public.oss-cn-hangzhou.aliyuncs.com/share/aigc3d/data/for_lingteng/LHM/LHM_Docker/lhm_cuda121.tar 
    
    # step1. build from docker file
    sudo docker load -i  ./lhm_cuda_dockers/lhm_cuda121.tar 
    
    # step2. run docker_file and open the communication port 7860
    sudo docker run -p 7860:7860 -v PATH/FOLDER:DOCKER_WORKSPACES -it lhm:cuda_121 /bin/bash
  3. 环境配置:

    bash 复制代码
    # 克隆代码
    git clone git@github.com:aigc3d/LHM.git
    cd LHM
    # 安装依赖
    # cuda 11.8
    sh ./install_cu118.sh
    pip install rembg
    
    # cuda 12.1
    sh ./install_cu121.sh
    pip install rembg
  4. 模型参数:如果你没下载模型,模型将会自动下载

ini 复制代码
*   从HuggingFace下载:

```bash
	from huggingface_hub import snapshot_download 
	# MINI Model
	model_dir = snapshot_download(repo_id='3DAIGC/LHM-MINI', cache_dir='./pretrained_models/huggingface')
	# 500M-HF Model
	model_dir = snapshot_download(repo_id='3DAIGC/LHM-500M-HF', cache_dir='./pretrained_models/huggingface')
	# 1B-HF Model
	model_dir = snapshot_download(repo_id='3DAIGC/LHM-1B-HF', cache_dir='./pretrained_models/huggingface')
```

*   从ModelScope下载:

```bash
	from modelscope import snapshot_download
	# MINI Model
	model_dir = snapshot_download(model_id='Damo_XR_Lab/LHM-MINI', cache_dir='./pretrained_models')
	# 500M-HF Model
	model_dir = snapshot_download(model_id='Damo_XR_Lab/LHM-500M-HF', cache_dir='./pretrained_models')
	# 1B-HF Model
	model_dir = snapshot_download(model_id='Damo_XR_Lab/LHM-1B-HF', cache_dir='./pretrained_models')
```
  1. 加载先验模型权重 : bash # 下载先验模型权重 wget https://virutalbuy-public.oss-cn-hangzhou.aliyuncs.com/share/aigc3d/data/LHM/LHM_prior_model.tar tar -xvf LHM_prior_model.tar

  2. 下载后的完整目录:

    bash 复制代码
    ├── configs
    │   ├── inference
    │   ├── accelerate-train-1gpu.yaml
    │   ├── accelerate-train-deepspeed.yaml
    │   ├── accelerate-train.yaml
    │   └── infer-gradio.yaml
    ├── engine
    │   ├── BiRefNet
    │   ├── pose_estimation
    │   ├── SegmentAPI
    ├── example_data
    │   └── test_data
    ├── exps
    │   ├── releases
    ├── LHM
    │   ├── datasets
    │   ├── losses
    │   ├── models
    │   ├── outputs
    │   ├── runners
    │   ├── utils
    │   ├── launch.py
    ├── pretrained_models
    │   ├── dense_sample_points
    │   ├── gagatracker
    │   ├── human_model_files
    │   ├── sam2
    │   ├── sapiens
    │   ├── voxel_grid
    │   ├── arcface_resnet18.pth
    │   ├── BiRefNet-general-epoch_244.pth
    ├── scripts
    │   ├── exp
    │   ├── convert_hf.py
    │   └── upload_hub.py
    ├── tools
    │   ├── metrics
    ├── train_data
    │   ├── example_imgs
    │   ├── motion_video
    ├── inference.sh
    ├── README.md
    ├── requirements.txt
  3. 本地部署:现在支持用户自定义动作输入,但是由于动作估计器内存占比,LHM-500M 在用户自定义动作输入gradio中需要22GB 的内存, 也可以提前处理好,然后用项目之前的接口。

    bash 复制代码
    # Memory-saving version; More time available for Use.
    # The maximum supported length for 720P video is 20s.
    python ./app_motion_ms.py  
    python ./app_motion_ms.py  --model_name LHM-1B-HF
    
    # Support user motion sequence input. As the pose estimator requires some GPU memory, this Gradio application requires at least 24 GB of GPU memory to run LHM-500M.
    python ./app_motion.py  
    python ./app_motion.py  --model_name LHM-1B-HF
    
    # preprocessing video sequence
    python ./app.py
    python ./app.py --model_name LHM-1B
  4. 推理过程:已经支持半身图像了。

    bash 复制代码
    # MODEL_NAME={LHM-500M, LHM-500M-HF, LHM-1B, LHM-1B-HF}
    # bash ./inference.sh  LHM-500M ./train_data/example_imgs/ ./train_data/motion_video/mimo1/smplx_params
    # bash ./inference.sh  LHM-1B ./train_data/example_imgs/ ./train_data/motion_video/mimo1/smplx_params
    # bash ./inference.sh  LHM-500M-HF ./train_data/example_imgs/ ./train_data/motion_video/mimo1/smplx_params
    # bash ./inference.sh  LHM-1B-HF ./train_data/example_imgs/ ./train_data/motion_video/mimo1/smplx_params
    
    # export animation video
    bash inference.sh ${MODEL_NAME} ${IMAGE_PATH_OR_FOLDER}  ${MOTION_SEQ}
    # export mesh 
    bash ./inference_mesh.sh ${MODEL_NAME} 
  5. 处理视频动作数据:

    • 下载动作提取相关的预训练模型权重
    bash 复制代码
    wget -P ./pretrained_models/human_model_files/pose_estimate https://virutalbuy-public.oss-cn-hangzhou.aliyuncs.com/share/aigc3d/data/LHM/yolov8x.pt
    wget -P ./pretrained_models/human_model_files/pose_estimate https://virutalbuy-public.oss-cn-hangzhou.aliyuncs.com/share/aigc3d/data/LHM/vitpose-h-wholebody.pth
    • 安装额外的依赖
    bash 复制代码
    cd ./engine/pose_estimation
    pip install mmcv==1.3.9
    pip install -v -e third-party/ViTPose
    pip install ultralytics
    • 运行以下命令,从视频中提取动作数据
    bash 复制代码
    # python ./engine/pose_estimation/video2motion.py --video_path ./train_data/demo.mp4 --output_path ./train_data/custom_motion
    
    python ./engine/pose_estimation/video2motion.py --video_path ${VIDEO_PATH} --output_path ${OUTPUT_PATH}
    
    # 对于半身视频,比如./train_data/xiaoming.mp4,我们推荐使用以下命令:
    python ./engine/pose_estimation/video2motion.py --video_path ${VIDEO_PATH} --output_path ${OUTPUT_PATH} --fitting_steps 100 0
    • 使用提取的动作数据驱动数字人
    bash 复制代码
    # bash ./inference.sh LHM-500M-HF ./train_data/example_imgs/ ./train_data/custom_motion/demo/smplx_params
    
    bash inference.sh ${MODEL_NAME} ${IMAGE_PATH_OR_FOLDER}  ${OUTPUT_PATH}/${VIDEO_NAME}/smplx_params

在线体验

  1. 网址1(Motionshop2):modelscope.cn/studios/Dam...
  2. 网址 2(huggingface):huggingface.co/spaces/3DAI...

演示过程

  1. 以Motionshop2为例,具体的操作过程也很简单,小白都可以直接上手。

    • 上传输入视频分析,直接用官方提供的示例视频

    • 用示例图片替换绿框里人物

    • 点击"开始",等待结果

    • 展示结果:动作贴合效果还不错,但还是可以看到背后李小龙的身影。

参考

相关推荐
ShuangNaoPai8 小时前
广告语信噪比检测:用香农信息论解构“WRI字词重复指数”
aigc
Zzj_tju9 小时前
准确率不变,概率质量也不变吗?
人工智能·深度学习·机器学习·语言模型
在所不辞兄11 小时前
【零基础学智能仿真-67】力学知识库与检索增强
人工智能·深度学习·神经网络·机器学习·智能仿真
拜小白11 小时前
【论文解读】ZInD:带标注平面图、360° 全景与 3D 房间布局的 Zillow 室内数据集
深度学习·计算机视觉·全景图
李剑一12 小时前
没收用户的钱冲史上最大IPO?2 万亿美元的估值有多少是罚没来的
aigc·openai·ai编程
DevOps老兵12 小时前
Transformer拆解01:Transformer为什么出现,RNN到底卡在哪里
rnn·深度学习·大模型·transformer·注意力机制
谟松12 小时前
RTX 5070 Ti 跑 Qwen2.5-VL-7B-AWQ:一个真实工业质检项目的部署踩坑记录
aigc
zcg194213 小时前
通过UE制作segment和depth数据
人工智能·深度学习
小虎AI生活13 小时前
腾讯 Buddy One 架构解读:跨应用 Agent 底座怎么打通办公协同
aigc·ai编程
stormzhangV14 小时前
科普下 AI 降智
人工智能·aigc