❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日分享大模型与 AI 领域的最新开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术,欢迎关注我哦!
🥦 微信公众号|搜一搜:蚝油菜花 🥦
🚀 快速阅读
- 功能:RealisHuman 通过两阶段方法修复生成图像中畸形的人体部位,如手和脸。
- 技术:结合 3D 姿态估计和图像修复技术,确保生成部位与原始图像的无缝融合。
- 应用:适用于游戏开发、影视制作、图像修复和艺术创作等多个领域。
正文(附运行示例)
RealisHuman 是什么
RealisHuman 是一个创新的后处理框架,专注于修复生成图像中畸形的人体部位,如手和脸。该框架通过两阶段的方法来实现这一目标。首先,使用原始的畸形部位作为参考,生成逼真的人体部位,以确保与原图像的一致性。其次,通过重新绘制周围区域,将修正后的人体部位无缝地整合回原始位置,确保平滑和真实的融合。
RealisHuman 不仅提高了生成图像中人体部位的真实性,还具有强大的泛化能力,能够处理不同风格的图像,包括卡通和素描等。
RealisHuman 的主要功能
- 生成逼真的人体部位:使用原始的畸形部位作为参考,生成逼真的人体部位,如手和脸,确保生成的部位在细节上与原始图像保持一致。
- 无缝集成修正部位:通过重新绘制周围区域,将修正后的人体部位无缝地集成回原始图像中,确保平滑和真实的融合。
- 处理多种图像风格:能够有效处理不同风格的图像,包括卡通和素描等。
- 提高生成图像的真实性:通过两阶段的方法,显著提升生成图像中人体部位的真实性。
RealisHuman 的技术原理
第一阶段:生成逼真的人体部位
使用原始的畸形部位作为参考,结合 Part Detail Encoder 和 DINOv2 等工具,提取原始畸形部位的详细信息,包括肤色和纹理等。同时,结合 3D 姿态估计结果,指导生成的人体部位图像,确保姿态的准确性和真实性。第二阶段:无缝集成修正部位
首先将修正后的人体部位放回其原始位置,并对周围区域进行遮盖。然后,通过训练一个修复模型,将人体部位与周围区域无缝融合,确保平滑过渡和真实的融合。最后,重新绘制背景与修正后的人体部位之间的区域,避免出现拼贴的痕迹。
如何运行 RealisHuman
1. 环境安装
首先,使用 conda 安装所需环境:
conda env create -f environment.yaml
conda activate RealisHuman
或者使用 pip 安装:
pip3 install -r requirements.txt
2. 数据准备
将数据目录结构设置为如下格式:
data
|-- images
| |-- 3ddfa
| |-- dwpose
| |-- hamer
| |-- image
| `-- results
3. 手部修复
阶段一预处理
python data/process_hand_stage1.py
阶段一推理
CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7 torchrun --nnodes=1 --nproc_per_node=8 \
inference_stage1.py --config configs/stage1-hand.yaml --output data/hand_example/hand_chip/repair \
--ckpt checkpoint/stage1_hand/checkpoint-stage1-hand.ckpt
阶段二处理与推理
python data/process_hand_stage2.py
CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7 torchrun --nnodes=1 --nproc_per_node=8 \
inference_stage2.py --config configs/stage2-hand.yaml --output data/hand_example/hand_chip/inpaint \
--ckpt checkpoint/stage2_hand/checkpoint-stage2-hand.ckpt
最终图像修复
python data/back_to_image_hand.py
4. 面部修复
阶段一预处理
python data/process_face_stage1.py
阶段一推理
CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7 torchrun --nnodes=1 --nproc_per_node=8 \
inference_stage1.py --config configs/stage1-face.yaml --output data/face_example/face_chip/repair \
--ckpt checkpoint/stage1_face/checkpoint-stage1-face.ckpt
阶段二处理与推理
python data/process_face_stage2.py
CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7 torchrun --nnodes=1 --nproc_per_node=8 \
inference_stage2.py --config configs/stage2-face.yaml --output data/face_example/face_chip/inpaint \
--ckpt checkpoint/stage2_face/checkpoint-stage2-face.ckpt
最终图像修复
python data/back_to_image_face.py
资源
- GitHub 仓库:https://github.com/Wangbenzhi/RealisHuman
- arXiv 技术论文:https://arxiv.org/pdf/2409.03644
❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日分享大模型与 AI 领域的最新开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术,欢迎关注我哦!
🥦 微信公众号|搜一搜:蚝油菜花 🥦