Shap-E是OpenAI开发的一种立异模型,它能够运用文本或图画作为输入来生成一系列3D对象,然后改变了3D应用领域。这项特殊的技术能够在GitHub上免费拜访,用户能够在自己的核算机上无缝运转它,不需求OpenAI API密钥或互联网衔接。Shap-E的多功能性也是其与众不同之处,用户能够将生成的3D对象在Microsoft Paint 3D等软件中翻开,甚至能够转换成STL文件进行3D打印。这项技术正在从头定义咱们处理文本到3D和图画到3D生成的方式,以及人工智能应用程序能够从中发生哪些创造性的可能性。

在本教程中,咱们将学习如安在Google Colab中创立笔记本,设置和运用OpenAI的Shap-E模型生成3D模型,并运用Blender Studio对其进行自定义。

首先,您需求前往blender.org并下载与您的操作系统兼容的Blender Studio。

接下来,转到Google Colab并创立一个新的笔记本。!

Shape-E 教程:如何设置和使用 Shap-E 模型
在 Google Colab 中创立新笔记本


现在,咱们需求将 Shap-E 存储库克隆到咱们的 Google Colab Notebook。

!gitclonehttps://github.com/openai/shap-e

进入目录并安装要求。

%cdshap-e!pipinstall-e.

增加新的code cell.

在这儿,咱们将导入一切必要的库。

importtorchfromshap_e.diffusion.sampleimportsample_latentsfromshap_e.diffusion.gaussian_diffusionimportdiffusion_from_configfromshap_e.models.downloadimportload_model,load_configfromshap_e.util.notebooksimportcreate_pan_cameras,decode_latent_images,gif_widget

请点击“Run”按钮或按下“CMD/CTRL + Enter”键来运转单个代码块。

现在,咱们将设置设备为CUDA(如果可用),不然设置为CPU。

device=torch.device('cuda'iftorch.cuda.is_available()else'cpu')

单击RunCMD/CTRL + Enter

增加新的code cell.

在这儿,咱们将加载模型和权重。

xm=load_model('transmitter',device=device)model=load_model('text300M',device=device)diffusion=diffusion_from_config(load_config('diffusion'))

请点击“Run”或按下“CMD/CTRL + Enter”键。

请耐性等候,加载模型和权重需求一些时刻。对我来说,这大约花费了5分钟的时刻。但是,这取决于您的互联网衔接速度。

接下来,咱们将生成一个3D模型。

batch_size=1#thisisthesizeofthemodels,highervaluestakelongertogenerate.guidance_scale=15.0#thisisthescaleoftheguidance,highervaluesmakethemodellookmoreliketheprompt.prompt="adonut"#thisistheprompt,youcanchangethistoanythingyouwant.latents=sample_latents(
batch_size=batch_size,
model=model,
diffusion=diffusion,
guidance_scale=guidance_scale,
model_kwargs=dict(texts=[prompt]*batch_size),
progress=True,
clip_denoised=True,
use_fp16=True,
use_karras=True,
karras_steps=64,
sigma_min=1E-3,
sigma_max=160,
s_churn=0,)

单击RunCMD/CTRL + Enter

生成 3D 模型需求一些时刻,根据您的batch_size更高batch_size将需求更长的时刻来生成 3D 模型。对我来说,生成 3D 模型大约需求 22 秒batch_size=1

增加新的code cell.

这儿咱们将烘托 3D 模型,运用render_mode = ‘nerf’Neural Radiance Fields (NeRF)来烘托 3D 模型。您能够将其更改为运用款式传递函数 (STF)render_mode = ‘stf’ 烘托形式烘托 3D 模型。

render_mode='nerf'#youcanchangethisto'stf'size=64#thisisthesizeoftherenders,highervaluestakelongertorender.cameras=create_pan_cameras(size,device)fori,latentinenumerate(latents):
images=decode_latent_images(xm,latent,cameras,rendering_mode=render_mode)
display(gif_widget(images))

请点击“Run”或按下“CMD/CTRL + Enter”键。

你看到模型旋转了吗?很帅,是吗?

接下来,咱们将把3D模型保存为.ply和.obj文件。

请注意:.obj文件将在稍后在Blender Studio中用于自定义。

#Exampleofsavingthelatentsasmeshes.fromshap_e.util.notebooksimportdecode_latent_meshfori,latentinenumerate(latents):
t=decode_latent_mesh(xm,latent).tri_mesh()
withopen(f'example_mesh_{i}.ply','wb')asf:#thisisthree-dimensionalgeometricdataofmodel.
t.write_ply(f)
withopen(f'example_mesh_{i}.obj','w')asf:#wewillusethisfiletocustomizeinBlenderStudiolater.
t.write_obj(f)

单击RunCMD/CTRL + Enter

将选项卡切换到Files并点击刷新。您将看到example_mesh_0.plyexample_mesh_0.obj文件。

Shape-E 教程:如何设置和使用 Shap-E 模型

谷歌 Colab 文件

将文件下载 .obj到本地核算机。


翻开 Blender Studio 并创立新项目。搅拌机工作室

搅拌机工作室

删除默许多维数据集。

Shape-E 教程:如何设置和使用 Shap-E 模型

删除默许立方体

点击File>Import>Wavefront (.obj) 。挑选 .obj您从 Google Colab 下载的文件。

Shape-E 教程:如何设置和使用 Shap-E 模型

导入 .obj 文件

您应该会在中心看到 3D 模型。

Shape-E 教程:如何设置和使用 Shap-E 模型

3D模型

它本身看起来很牛,趁便说一句,Shap-E 做得很好。

您能够根据需求自定义 3D 模型。

出于演示目的,我简单地运用粉红色的五颜六色浇头和棕色的甜甜圈。

Shape-E 教程:如何设置和使用 Shap-E 模型

定制3D模型

Shape-E 教程:如何设置和使用 Shap-E 模型


Midjourney 的 AI 生成艺术

在这个教程中,咱们学习了怎么运用Google Colab来设置和运用Shape-E模型。此外,咱们还研究了Blender Studio并尝试了自定义生成的3D模型。