文档

AIGC文本生成3D模型

更新时间:

本文介绍如何使用GPU云服务器搭建Stable Diffusion模型,并基于ModelScope框架和HRN人脸重建模型,实现使用文本生成3D模型。

背景信息

自多态模型GPT-4发布后,AIGC(AI Generated Content,AI生成内容)时代正扑面而来,从单一的文字文本,演化到更丰富的图片、视频、音频、3D模型等。

本文将基于HRN人脸重建模型,以人脸头像作为输入,利用层次化表征实现快速人脸几何、纹理恢复,指导您如何实现使用文本生成高精度3D模型。关于模型的详细信息,请参见HRN人脸重建模型

3D模型..gif
重要
  • 阿里云不对第三方模型“HRN人脸重建模型”的合法性、安全性、准确性进行任何保证,阿里云不对由此引发的任何损害承担责任。

  • 您应自觉遵守第三方模型的用户协议、使用规范和相关法律法规,并就使用第三方模型的合法性、合规性自行承担相关责任。

操作步骤

创建ECS实例

本文使用的ai-inference-solution市场镜像中,内置了以下三个模型及运行环境。

  • v1-5-pruned-emaonly.safetensors:Stable Diffusion v1.5模型,一种潜在的text-to-image(文本到图像)的扩散模型,能够在给定任何文本输入的情况下生成逼真的图像。

    说明

    该模型中文提示词效果不好,建议使用英文提示词。

  • Taiyi-Stable-Diffusion-1B-Chinese-v0.1:太乙-中文模型,基于0.2亿筛选过的中文图文对训练,可以使用中文进行AI绘画。

  • Taiyi-Stable-Diffusion-1B-Anime-Chinese-v0.1:太乙-动漫风格模型,首个开源的中文Stable Diffusion动漫模型,该模型是基于Taiyi-Stable-Diffusion-1B-Chinese-v0.1进行继续训练,经过100万筛选过的动漫中文图文对训练得到的。太乙-动漫风格模型不仅能够生成精美的动漫图像,还保留了太乙-中文模型对于中文概念强大的理解能力。

  1. 前往实例创建页

  2. 按照界面提示完成参数配置,创建一台ECS实例。

    需要注意的参数如下,其他参数的配置,请参见自定义购买实例

    • 实例:选择实例规格为ecs.gn7i-c16g1.4xlarge

    • 镜像:本文使用已部署好推理所需环境的云市场镜像,名称为ai-inference-solution

      image
    • 公网IP:选中分配公网IPv4地址,带宽计费模式选择按使用流量,带宽峰值设置为100 Mbps。以加快模型下载速度。

      image..png
  3. 为当前ECS实例添加安全组规则,具体操作,请参见添加安全组规则

    安全组规则所属的方向:入方向端口范围5000/5000授权对象:访问WebUI服务的本地客户端公网IP地址(非实例公网IP地址)。例如本地客户端公网IP为101.200.XX.XX,则授权对象为101.200.XX.XX/32。

    2023-06-14_17-18-02..png
  4. 创建完成后,在ECS实例页面,获取公网IP地址。

    说明

    公网IP地址用于生成图片测试时访问WebUI服务。

    image

为Nginx添加用户登录验证

本文所使用的镜像中预装了Nginx软件,用于登录鉴权,以防止非授权用户登录。

  1. 执行如下命令,创建登录用户和密码。

    说明

    ${UserName}请替换为您自定义的用户名,例如admin;'${Password}'请替换为您自定义的密码,例如ECS@test1234。

    htpasswd -bc /etc/nginx/password ${UserName} '${Password}'
  2. 执行如下命令,重启Nginx。

    systemctl restart nginx
  3. 执行如下命令,查看Nginx状态。

    systemctl status nginx

    当显示如下图所示的回显信息时,说明Nginx处于运行中。

    查看nginx状态
  4. 执行如下命令,设置Nginx开机自启动。

    systemctl enable nginx

文本生成3D模型

步骤一:(可选)基于Stable Diffusion生成头像图片

通过文本生成人脸头像,作为人脸重建模型的图片输入。您也可以跳过该步骤,使用镜像中已有的头像生成3D模型。

  1. 执行如下命令,启动WebUI服务。

    cd ~/stable-diffusion-webui/
    nohup ./run_taiyi.sh &
    重要

    建议您等待1分钟,等待WebUI加载完成。

  2. 在浏览器地址栏输入http://<ECS公网IP地址>:5000,在弹出的登录对话框,输入为Nginx添加用户登录验证中创建的用户和密码,单击登录

    2023-06-13_11-52-12..png
  3. 在WebUI服务页面左上角,切换模型为v1-5-pruned-emaonly.safetensors

    2023-06-14_17-47-59..png
  4. 在对话框中输入简单的提示语,单击生成/Generate生成头像,然后单击保存/Save

    说明

    以下提示语仅为示例,您可以根据需要,自行输入提示语。

    Elon Musk,mugshot,smiled
    2023-04-21_15-34-48
    Mark Zuckerberg,mugshot,with a serious face
    2023-04-21_15-41-11

步骤二:使用头像图片生成3D模型

  1. 执行如下命令,切换conda环境到modelscope中。

    conda activate modelscope
  2. 执行如下命令,切换到scripts目录。

    cd /root/scripts
  3. (条件必选)上传头像图片。

    如果您是通过步骤一生成的图片或自定义图片,需将图片上传到root/scripts目录,并获取带格式的头像图片名称(例如image.png)用于生成3D模型。具体操作,请参见上传文件

    说明

    ai-inference-solution镜像中自带了头像图片(存放于root/scripts中),您也可以跳过该步骤,直接使用该镜像中的图片,试玩头像图片生成3D模型。

  4. 执行如下命令,使用头像图片生成3D模型。

    ./faceTo3D.py 头像图片文件名

    本文以头像图片文件名为image.png为例(请根据实际需求替换),则命令为:

    ./faceTo3D.py image.png
    说明

    首次执行脚本时,会通过公网自动下载所需模型库,100 Mbps带宽下载时间大约为2分钟,请耐心等待。

    2023-04-21_11-44-27..png

    生成的3D模型文件存放在/root/scripts/output目录中,其中.obj.mtl.jpg可导入Unity、UE等软件中使用;头像旋转视频(rotation video)、可视化图片(visual image)可用于快速浏览生成效果。

    image..png

了解更多AIGC实践和GPU优惠

活动入口立即开启AIGC之旅

image..png
  • 本页导读 (1)
文档反馈