单图人体重建模型

我要开发同款
匿名用户2024年07月31日
165阅读

技术信息

开源地址
https://modelscope.cn/models/iic/cv_hrnet_image-human-reconstruction
授权协议
Apache License 2.0

作品详情

基于像素映射的单图人体重建模型

单图人体重建模型使用单张全身人像作为输入,使用生成式模型辅助进行结构恢复与纹理恢复,输出3D人体重建mesh。

纹理渲染效果展示:

生成白模效果展示:

模型描述

改人体重建模型以PIFU原理为基础,进行了以下改进:

  • 借助生成式模型辅助产生结构信息,生成细节法向图;
  • 在backboe引入多层注意力模块,使图像细节特征可以保留至模型最后,提升重建精度;
  • 借助像素映射在多层中提取3D特征并进行整合,提高纹理重建精度;
  • 引入相机光照损失和人体pose损失,减少因拍摄引起的畸变;

期望模型使用方式以及适用范围

适用方式:

  • 可直接使用pipelie进行推理,算法最终会生成一个obj文件并返回相应顶点、面片及纹理信息;

适用范围:

  • 包含全身人像的图像,其中人体部分清晰可见且分辨率在500x500以上,整体分辨率小于5000x5000;

如何使用

本模型基于pytorch进行训练和推理,安装基础的modelscope环境,提供相应输入图像,即可调用pipelie来重建人体;

环境准备

pytho3.8
pip istall  'umpy<=1.22.0' 'padas<1.4.0' 
pytho3.10
pip istall -U 'umpy<1.24.0' 'padas<1.4.0' 

代码范例

建议在gpu环境进行试用、测试

from modelscope.outputs import OutputKeys
from modelscope.pipelies import pipelie
from modelscope.utils.costat import Tasks

huma_recostructio = pipelie(Tasks.huma_recostructio,model='damo/cv_hret_image-huma-recostructio')
result = huma_recostructio('https://modelscope.oss-c-beijig.aliyucs.com/test/images/huma_recostructio.jpg')
mesh = result[OutputKeys.OUTPUT]

本地运行后,运行目录会产生名为huma_color.obj的重建mesh文件,可使用meshlab等3d相关软件打开查看,mesh包含顶点、面片、顶点色信息。

模型局限性以及可能的偏差

  • 在图像人体模糊、分辨率小的图像上不能正确重建;
  • 对于人体存在遮挡的情况,重建效果会有缺失;
  • 建议使用A-pose站立在地面的照片进行重建,复杂的pose以及太复杂的衣物重建效果欠佳。

功能介绍

基于像素映射的单图人体重建模型 单图人体重建模型使用单张全身人像作为输入,使用生成式模型辅助进行结构恢复与纹理恢复,输出3D人体重建mesh。 纹理渲染效果展示: 生成白模效果展示:

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论