从零封装淘宝 SDK:以商品详情接口为例的客户端库设计与实现

核心内容摘要

Krita AI Diffusion插件:从模型部署到故障解决的全流程指南
高效低查重!AI教材生成工具助你快速完成教材编写工作

基于Mirage Flow的Python爬虫数据采集系统:企业级部署方案

原文towardsdatascience.com/molding-the-imagination-using-ai-to-create-new-3d-printable-objects-cf3682f8563bhttps://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/56d5d81a5c332e7768140a929e744d4d.png由 AI 系统从文本提示生成的 3D 打印物体图片由作者提供如果您一直在阅读我在 Medium 上的文章您知道我喜欢使用 AI 进行创意实验并撰写我的经历。

我涵盖过图像生成、创意写作和音乐创作等领域。

第一次我将我的研究扩展到第三维度。

我研究了使用商业和开源 AI 工具创建新的物理物体并使用 3D 打印机打印它们。

在这篇文章中我将向您展示我使用各种商业和开源工具设计并打印四个不同 3D 网格的步骤。

您将在附录中的 3D 画廊中找到所有四个物体。

概述在以下几节中我将向您展示我使用不同工具进行的四个 3D 物体生成实验并展示结果。

第一个实验使用了商业工具使用Midjourney创建 2D 图像以及一个名为3dMaker.ai的网站来提取 3D 网格这是一个包含用于显示和 3D 打印的几何形状的文件。

第二个实验使用了来自 OpenAI 的开源 AI 模型 Shape-E [1]。

第三个实验使用了名为 MVDream 的开源模型 [2]第四个实验使用了 MVDream 和另一个名为 threestudio 的开源项目 [3]的组合。

在所有情况下我都是从文本提示开始生成 3D 网格然后使用 Blender一个开源的桌面应用程序来修改和清理 3D 网格。

然后我使用了桌面“切片”应用程序 Ultimaker Cura 和 PrusaSlicer 来准备和预览 3D 网格以便在本地图书馆打印。

如果您对打印这些物体感兴趣您可以在我的Thingiverse 个人资料页面上查看它们。

在介绍完这四个例子之后我将简要讨论使用 AI 生成 3-D 物体的社会影响和伦理问题。

我将讨论来自各种服务和系统的所有权政策。

最后我将

总结我从实验中学到的东西。

使用 Midjourney 和 3dMaker.ai 创建 3D 物体在我的第一个实验中我从 Midjourney 开始这是一个基于文本提示创建图像的商业服务。

有关此服务的更多信息请参阅我的上一篇文章。

要创建 2D 图像我登录了我的 Midjourney 账户并输入了这个提示“一个简单的几何形状3D 打印雕塑实心白色塑料放在一个小白色塑料底座上灰色背景”。

它创建了四个缩略图图像如下所示。

https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/155b8b1b293b8841e75eb7ee62fac

png从 Midjourney 中 3D 对象的 2D 渲染使用 AI 图像创建程序生成的图像所有四张图像都非常出色。

系统了解 3D 打印所有形状都很有趣且可打印。

我最喜欢左上角的“8”形状图像。

然后我使用 Midjourney 中的放大功能创建了该图像的大版本。

使用 Clipdrop 移除背景从 2D 图像创建 3D 网格的下一步是从场景中移除背景。

许多 AI 模型可以做到这一点但我发现了一个名为Clipdrop的免费服务来自 stability.ai它做得很好。

它可以通过网页浏览器访问。

https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/7189da95a31891096afec9188971fba

pnghttps://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/f4a2addb4fef630a692007402ae0be3a.pnghttps://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/3187ebca7e5ccf188454f6222c364a

pngMidjourney 的 2D 图像左Clipdrop 用户界面中结果右图片由作者提供如上图所示Clipdrop 非常易于使用。

我去了网站上传了我的源图像并点击了“移除背景”按钮。

系统出色地移除了背景包括阴影但保留了雕塑的所有细节。

然后我下载了生成的图像。

使用 3dMaker.ai 从 2D 图像创建 3D 网格要打印 3D 模型我需要先将 Midjourney 创建的 2D 图像转换为 3D 网格。

有几个开源模型可以做到这一点但我发现了一个名为 3dMaker.ai 的商业服务它为此收取费用。

https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/f8ae2700d239191367e2aef02f2b4f

pnghttps://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/185dc467f8869167a467c9489efa

pnghttps://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/0932db17b7c847f03937aac80cf

pngClipdrop 输出的图像左3dMaker .ai 用户界面中生成的 3D 网格右图片由作者提供为了创建 3D 网格我访问了3dMaker.ai创建了一个账户并上传了去除背景的 2D 图像。

创建 3D 网格有两种选择标准质量为 25 美元高质量为 40 美元。

网站说明标准质量适用于硬表面、有机、高度详细输入而高质量适用于有机、真正高度详细输入。

我选择了标准质量并点击了“生成”按钮。

结果大约需要 30 分钟我下载了 OBJ 格式的模型这是一种描述 3D 几何形状的常用格式。

结果非常出色它捕捉了原始图像的细节并且忠实地构建了图像的背面部分。

https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/b8b45ac7fd33e1fbb9a41fee2a0c9cac.pnghttps://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/c7902e806051a6a932d2af928965cbff.pnghttps://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/d09bc08f21374c09023216339bca2d

png3D Maker AI 创建的网格背面视图的三视图图片由作者提供令人惊讶的是3D Maker AI 仅根据一个正面视图的图像就创建了雕塑背面的细节。

你可以在文章后面的部分看到该服务的另一个输出示例。

3D 打印服务和当地图书馆这个实验的最后一步是打印 3D 网格。

我并没有 3D 打印机但很高兴地发现波士顿地区许多公共图书馆提供免费或低成本 3D 打印服务。

居民可以使用打印机制作有用的物品如手机壳和饼干模具以及小型装饰品。

图书馆提供不同类型的访问。

一些图书馆在“创客空间”中有 3D 打印机这是居民聚集创作、发明和学习的协作工作空间。

其他图书馆有在线打印服务居民可以上传 3D 网格进行打印。

图书馆提供的服务的种类也各不相同如最大打印尺寸和打印材料的颜色选择。

打印 3D 对象为了打印 3D 网格我首先需要准备一个文件。

3D 打印的标准文件格式是 STL但 3dMaker.ai 不支持该格式导出。

因此我使用了Blender这是一个开源的桌面 3D 建模应用程序用于读取 OBJ 文件并将其导出为 STL 格式。

然后我启动了一个名为 PrusaSlicer 的切片应用程序并将 STL 文件导入以查看打印预览。

https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/1bf5978917b907da3567100055de1ea

pnghttps://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/df2dcf1d7bb475fba786e45112aa84f

pngPrusaSlicer 的用户界面左侧以及沃尔瑟姆公共图书馆的 Prusa 3D 打印机右侧图片由作者提供我在 Waltham 公共图书馆的Makerspace使用深灰色丝线打印了这个作品。

在 3D 打印中丝线是熔融沉积建模FDM打印机的热塑性原料。

它以各种材料的卷轴形式存在通过打印机的喷嘴熔化并挤出以层叠的方式构建物体。

居民可以免费使用 Waltham 图书馆的 3D 打印机打印物体。

我使用他们的 Prusa MK3S 打印机喷嘴直径为

6mm打印了上面的样品。

我还使用 Woburn 公共图书馆的在线表格用白色丝线打印了这个作品。

他们允许打印高达 11 英寸高的物体但我因为打印时间的原因打印了

5 英寸高。

他们不接受打印时间超过 10 小时的订单。

与其它图书馆不同Woburn 对工作中使用的材料收费。

但他们每月提供 5 美元的信用额度。

使用信用额度后我的总费用是

63 美元。

以下是两个打印作品。

https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/ee0c1aa1b6fa828400b2a9fa9c6842d

pnghttps://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/6a5284add0c73e7510d20d59504d016a.png在 Waltham 公共图书馆打印的最终 8 字图案左和在 Woburn 公共图书馆打印的右图片由作者提供打印的两个物体都非常好在 Waltham 打印的那个只有

75 英寸高但显示了原始 Midjourny 图像的许多细节。

由于打印规模相对较小你可以看到一些分层瑕疵。

Waltham 的免费打印服务限制在最多 8 小时创建物体。

在 Woburn 打印的那个

5 英寸高分层瑕疵更少。

但物体表面有几个暗斑。

使用 Shape-E 创建 3D 物体在我的下一个实验中我使用了 OpenAI 的一个开源 AI 模型 Shap-E [1]它可以从文本提示生成 3D 网格。

Shap-E 这个名字是对他们从文本提示创建 2D 图像的 DALL-E AI 模型的戏仿。

以下是他们论文中的部分示例图像。

https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/6af7b721e8e855ca68da5148cad887f

png使用 Shap·E 从文本提示生成的 3D 网格图片由OpenAI提供Shap-E 模型2023 年 5 月OpenAI 发布了一个名为 Shap-E 的文本到 3D 模型。

该系统旨在通过生成隐函数的参数来创建 3D 网格从而实现详细 3D 视觉的渲染。

他们采用了两步训练过程首先将 3D 资产映射到参数然后使用条件扩散模型对结果进行细化。

这种方法允许从文本提示中高效地生成各种 3D 模型。

每个样本在大约 13 秒内生成于 GPU [1]。

OpenAI 在 GitHub 上以 MIT 开源许可证发布了训练模型的源代码和权重。

该系统使用三个在 OpenAI 的模型卡片上描述的 AI 模型。

transmitter– 将编码器输出转换为隐式神经表示的编码器和相应的投影层。

decoder– 发射器的最终投影层组件。

这个检查点比transmitter小因为它不包含编码 3D 资产的参数。

这是将扩散输出转换为隐式神经表示所需的最小模型。

text300M– 文本条件潜在扩散模型。

此外还有一个图像条件潜在扩散模型但我没有在这个项目中使用它。

在 Python 中运行 Shap-E我使用 Google Colab 从提示创建 3D 网格。

以下是展示我如何初始化系统的 Python 代码。

fromshap_e.diffusion.gaussian_diffusionimportdiffusion_from_configfromshap_e.models.downloadimportload_model,load_configimporttorch devicetorch.device(cudaiftorch.cuda.is_available()elsecpu)xmload_model(transmitter,devicedevice)modelload_model(text300M,devicedevice)diffusiondiffusion_from_config(load_config(diffusion))代码下载了三个模型发射器、解码器和文本扩散模型。

如果存在 GPU所有模型都将加载到 GPU 上。

使用 Shap-E 创建 3D 对象我使用这段代码将文本提示发送到 Shap-E 以生成 3D 形状的潜在参数。

fromshap_e.diffusion.sampleimportsample_latentsfromshap_e.util.notebooksimportcreate_pan_cameras,decode_latent_imagesimportnumpyasnpimportrandom prompta dolphinseed0batch_size1guidance_scale15render_modenerfsize512torch.manual_seed(seed)np.random.seed(seed)random.seed(seed)latentssample_latents(batch_sizebatch_size,modelmodel,diffusiondiffusion,guidance_scaleguidance_scale,model_kwargsdict(texts[prompt]*batch_size),progressTrue,clip_denoisedTrue,use_fp16True,use_karrasTrue,karras_steps64,sigma_min1e-3,sigma_max160,s_churn

camerascreate_pan_cameras(size,device)fori,latentinenumerate(latents):imagesdecode_latent_images(xm,latent,cameras,rendering_moderender_mode)display(gif_widget(images))您可以看到我是如何使用文本提示“海豚”通过 Shap-E 采样潜在参数的。

我将随机种子初始化为 0这将始终渲染相同的网格。

将随机种子更改为

2 或任何其他整数将创建网格的不同变体。

以下是结果图像。

https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/68d11b8ee6a955fc3350012006dfc

pngShap-E 渲染的“海豚”图像由作者提供它相当基础有很多空白空间。

但它确实看起来像一只海豚。

以下是导出 3D 网格的代码。

fromshap_e.util.notebooksimportdecode_latent_meshfori,latentinenumerate(latents):tdecode_latent_mesh(xm,latent).tri_mesh()withopen(fexample_mesh_{i}.ply,wb)asf:t.write_ply(f)此代码使用潜在参数在另一个称为 PLY 的 3D 对象文件格式中生成网格。

以下是网格在 Blender 中的样子。

https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/a33153de56fd9ceef4245a

pngBlender 中的海豚网格图像由作者提供它仍然看起来像海豚但网格存在几个问题。

你可以看到物体身体上的分层步骤鳍看起来被分割成水平切片。

此外网格没有底座来展示为打印对象。

为了解决分层问题我在 Blender 中使用了位移修改器然后是平滑修改器以使形状变厚并使其平滑。

为了创建底座我使用提示“海洋波浪风格的圆柱形底座”重新运行了 Shap-E并导出了网格。

然后我在 Blender 中定位并合并了这两个对象。

以下是修改后的网格。

https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/253440e63ae556f87dc14999e7f5b2a

png带有底座的清理后的海豚网格在 Blender 中图片由作者提供你可以看到我是如何平滑海豚的侧面并修复鳍的。

Shap-E 在渲染底座方面做得很好在 Blender 中只需要进行最小修改。

我仅在底座的底部添加了一个细长的圆柱体以帮助整个物体平放在表面上。

接下来我将模型保存为 STL 文件。

打印 3D 对象因为海豚下面有很多负空间切片器应用添加了临时支撑柱以便打印上层。

你可以在下面的图片中看到这些支撑柱。

https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/058a3396ffbc600e7fb2e2fee3b4ef

pngPrusaSlicer 的用户界面左侧和带有支撑的 3D 打印右侧图片由作者提供我还在沃尔瑟姆公共图书馆的创客空间打印了这个。

我在他们的 Prusa MK3S 打印机上打印的。

以下是最终作品。

https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/4b74116d41a9c839009357d42cb511c

png最终的 3D 海豚打印作品图片由作者提供这一个打印效果也很好。

因为它打印得较小只有 5 英寸宽你可以看到打印过程中的分层线条。

此外顶部的背鳍非常薄需要更好地定义。

使用 MVDream 创建 3D 对象在我的下一个实验中我使用了一个名为 MVDream 的开源项目其中 MV 代表“多视图”。

它是一种稳定的扩散文本到图像模型根据文本提示创建 3D 对象的多个 2D 视图。

作者们在他们的论文[2]中描述了该模型。

我们介绍 MVDream这是一个多视图扩散模型能够根据给定的文本提示生成一致的多视图图像。

从 2D 和 3D 数据中学习多视图扩散模型可以实现 2D 扩散模型的可推广性和 3D 渲染的一致性。

我们证明了这样的多视图先验可以作为通用的 3D 先验对 3D 表示“无偏见”。

它可以应用于通过分数蒸馏采样进行 3D 生成显著提高现有 2D 提升方法的一致性和稳定性。

—— 石一春等 [2]注意在机器学习中“先验”指的是模型在接收任何特定输入之前所拥有的知识。

MVDream 的多视图扩散模型充当一个对特定 3D 表示“无偏见”的 3D 先验。

这意味着它可以生成类似 3D 的图像而不依赖于 3D 数据的任何特定格式使其在根据文本提示生成 3D 表示时具有多功能性。

以下是 MVDream 根据指定提示生成的某些示例对象。

https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/3417ec8bad9eeeeebc417225874958bd.png使用 MVDream 从文本提示生成的图像的四个视图图像由Yichun Shi 等提供这些图像展示了 MVDream 从文本提示中创建多视图 3D 对象的能力展示了从不同角度的一致且详细的渲染。

包括骑马的宇航员和雕刻的老鹰在内的示例揭示了该模型在生成精确的多样化 3D 图像方面的实际应用。

我使用以下 Python 代码在 Google Colab 上运行了 MVDream。

frommvdream.camera_utilsimportget_camerafromIPython.displayimportdisplay prompta 3d-printed Cubist-styled sculpture of a male bust, in light-gray plastic, on a simple light-gray pedestal, dark-gray backgroundnum_views4seed12set_seed(seed)imgt2i(model,promptprompt,ucuc,samplersampler,step100,scale10,batch_sizenum_views,ddim_eta

0,devicedevice,cameracamera,num_framesnum_views,image_size256,seedseed)imagesnp.concatenate(img,

pil_imageImage.fromarray(images,RGB)display(pil_image)代码展示了我是如何使用 MVDream 从我的文本提示中生成 3D 对象的多个 2D 视图。

我指定了要生成的对象的期望属性一个立体派风格的男性头像雕塑并配置了模型以生成四个不同的视图。

然后它处理这些视图以创建一个将它们并排组合的单个图像使用 IPython 的显示功能显示。

您可以在这里看到结果。

https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/94deeb613f51a4bb775825a6cc778ffb.pngMVDream 生成的立体派头像输出视图使用 AI 图像创建程序创建的图像这些图像显示了 3D 打印的立体派风格男性头像的四个角度每个视图都与另一个视图一致突出了模型精确解释和可视化文本提示的能力。

雕塑的纹理暗示了与 3D 打印相似的粒度而放置在基座上则使其具有展示就绪的外观。

使用 3dMaker.ai 从四张 2D 图像创建 3D 网格再次使用 3D Maker AI 服务从四张图像中生成了一个 3D 网格。

以下是使用 Blender 渲染的网格的四个视图。

https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/364f00f1db99f268862b6af5d380484a.png3D Maker AI 为立体派头像提供的输出视图图片由作者提供3D Maker AI 的输出接近原始形状但有一些明显的差异。

MVDream 的输出显示了一个具有更明确、尖锐平面的头像尤其是在面部多边形周围这是提示中提到的立体派风格的典型特征。

在 3D Maker AI 服务的渲染网格中头像形状看起来更平滑面部特征和平面之间的过渡更平缓。

为了创造艺术效果我在 Prusa slicer 中使用了多边形减少设置使头像更加尖锐。

以下是结果。

https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/142f19bab4116013b8dc89d67e48b81e.pngPrusaSlicer 对立体派头像进行多边形减少后的输出视图图片由作者提供这很微妙但你可以看出与上面展示的版本相比这个头像有更多明显的尖锐三角形。

我做出这个艺术选择是为了使这件作品看起来更具立体派风格。

打印 3D 模型我在 Water town Free Public Library 的Hatch Makerspace打印了这个网格。

他们使用不同的切片器Unitmaker Cura但打印机相同是 Prusa i3 MK3。

我使用了连接到构建板的树形支撑这最大限度地减少了成品上的连接点数量。

https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/00ccd1d684405aca49d31cf81fa7cb

pnghttps://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/1e407b59ccbb7315f21e9e1654a201fd.pnghttps://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/8a96d9b68ea4af83e3dfda09d0b91f

pngCura Slicer 的用户界面左Hatch Makerspace 的 Prusa 3D 打印机中以及带有支撑的 3D 打印右图片由作者提供这 3D 作品上的树形支撑看起来特别令人毛骨悚然。

然而在构建过程中软件需要一种方式来支撑眉毛的悬挑。

由于连接点数量很少支撑很容易去除。

以下是最终作品。

https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/24662c9539fcad4d8bb529d4c94fc29a.png最终立体派头像 3D 打印成品图片由作者提供打印效果不错。

3D 打印的头像通过其尖锐的多面表面呈现出立体派风格。

以统一的蓝色铸造这座雕塑强调几何形状而非细节尖锐的平面定义了面部轮廓。

它放置在一个简单的底座上。

使用 threestudio 和 MVDream 创建 3D 对象MVDream 模型在从文本提示渲染 3D 对象的多个视角方面表现良好但它不生成 3D 网格。

这就是 threestudio 发挥作用的地方。

threestudio 是一个开源项目提供了一个模块化框架使用户能够尝试各种文本到 3D 和图像到 3D 组件包括 MVDream。

以下是作者在他们的论文中的说法。

我们介绍了 threestudio这是一个专门为 3D 内容生成设计的开源、统一和模块化框架。

该框架将基于扩散的 2D 图像生成模型扩展到 3D 生成指导同时结合了文本和图像等条件。

我们阐述了 threestudio 中每个组件的模块化架构和设计。

此外我们在 threestudio 中重新实现了 3D 生成的最先进方法展示了它们设计选择的全面比较。

这个多功能的框架有可能使研究人员和开发者深入研究 3D 生成的尖端技术并展示了促进 3D 生成以外的进一步应用的潜力——刘英天等人 [3]。

这是一张来自论文的流程图展示了主要组件。

https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/74776b45506127c99bf7a8f85271e14c.pngthreestudio 中基于文本/图像条件的 3D 生成管道图片由刘英天等人提供使用 AI 从文本或图像生成 3D 内容的 threestudio 管道由几个关键组件组成。

该过程从生成用于优化的随机相机参数开始包括外参和内参属性以及光照条件。

几何通过隐式符号距离函数SDF、隐式密度场等表示来定义 3D 对象或场景。

材料决定了对象在特定条件下的外观采用漫反射和基于物理的渲染PBR类型。

背景创建选项包括神经网络环境图、纹理图或纯色。

渲染由各种光栅化器处理考虑几何和材料以生成最终图像。

DeepFloyd-IF 和 Stable Diffusion 等扩散模型的指导使用文本或图像输入来指导优化过程以生成所需的 3D 内容。

这种结构化方法允许从文本或视觉输入中模块化生成 3D 表示 [3]。

使用 threestudio 和 MVDream 创建 3D 对象我在 Google Colab 中运行了带有 MVDream 的 threestudio但该模型需要一个超过 16 Gigs VRAM 的 GPU。

因此它只能通过 Colab Pro 订阅来访问 A100 GPU 才能运行。

在安装 threestudio 和 MVDream 扩展后我使用此代码从文本提示创建了一个 3D 对象。

prompta 3d-printed abstract sculpture with geometric shapes, in light-gray plastic, on a simple pedestal!python launch.py--config custom/threestudio-mvdream/configs/mvdream-sd

yaml--train--gpu0system.prompt_processor.prompt$promptseed42我定义了提示并运行了 launch.py 脚本指定使用配置文件来使用 MVDream。

操作是“训练”系统这意味着它运行一个优化循环来创建一个检查点文件该文件基于文本提示定义 3D 几何形状。

我将种子设置为 42 以获得一致的输出。

更改种子数字将创建不同的变体。

运行脚本大约需要 40 分钟。

从训练检查点创建 3D 网格在运行训练优化时系统会渲染图像显示正在形成的形状的状态。

以下是根据提示“一个 3D 打印的抽象雕塑具有几何形状浅灰色塑料放在简单的底座上”生成的 3D 对象。

https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/8e02f097732025e2260a8777a29a23f

png使用 threestudio 和 MVDream 创建的抽象雕塑图片由作者提供*哇这真的很酷使用 MVDream 进行引导的三工作室系统制作了一个雕塑三个堆叠的三角形形状被小心翼翼地放置在底座上。

表面的纹理看起来像经历了风雨。

打印 3D 对象在此过程中的下一步是导出定义形状的 3D 网格。

以下是此步骤中使用的命令。

!python launch.py--config$save_dir/../configs/parsed.yaml--export--gpu0resume$save_dir/../ckpts/last.ckptsystem.exporter_typemesh-exporter system.geometry.isosurface_methodmc-cpu system.geometry.isosurface_resolution256system.exporter.save_textureFalsesystem.exporter.fmtobj这个 Python 脚本使用之前生成的检查点文件运行导出命令。

我告诉它使用网格导出器。

“MC”方法是指“Marching Cubes”渲染方法它产生一个更高分辨率的网格以获得更详细的三维模型。

我还指出我只想要 OBJ 文件而不是纹理图以加快处理过程。

这一步运行了 81 秒。

以下是 Blender 中渲染的 3D 网格结果。

https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/dc643ba0847b63466474897c9d2a967f.pnghttps://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/48cb9560cd0d0ba447bd5c288a8dc5de.png抽象雕塑的 3D 网格左以及清理后在 Blender 中的效果右图片由作者提供它看起来像上面的渲染但更粗糙底部有一些额外的材料。

我在 Blender 中清理了网格移除了大部分底座并添加了一个锥形立方体作为替代。

打印 3D 模型我在沃特敦的Hatch Makerspace使用他们的 Prusa i3 MK3 打印机打印了这个网格。

我使用了固定在网格下部的常规支撑。

https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/e9ac12c6562ce33ff440e09da449d0a

pnghttps://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/543bb4645b5fcf97de04bf11b9b5052a.pnghttps://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/255ea02130cfae3141a29d94da

pngCura Slicer 的用户界面左Hatch Makerspace 的 Prusa 3D 打印机中以及带有支撑的 3D 打印右图片由作者提供上面的图像显示了我在 Cura Slicer 中使用的设置正在构建的物体以及移除支撑前的成品。

这是一张成品物体的图片。

https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/fed43c0d6cae15aec12eb960bce

png作者提供的成品 3D 打印几何雕塑图片由作者提供这也做得很好。

纹理相当粗糙你可以看到一些支撑物的残留部分。

但总体来说看起来不错。

如果我要再次打印它我会只使用连接到构建板的树形支撑。

现在我已经向您展示了我是如何使用 AI 创建四个 3D 对象的接下来我将讨论两个重要方面使用 AI 进行 3D 对象生成的社会影响以及我使用的系统的所有权权利。

3D 对象生成系统对社会的影响3D 对象生成的发展标志着技术的一个重大步骤使个人能够将他们的想法转化为物理模型。

这个过程由商业和开源工具促进为创意表达和制造带来了新的维度。

然而在它的机会之外考虑其社会影响是至关重要的。

这些技术提供了创新可以产生积极和消极后果的明确例子强调了仔细考虑其使用和影响的需要。

Shap-E 对社会的影响在他们的论文中OpenAI 讨论了其训练数据集中可能影响他们开发模型行为的偏差。

例如他们通过提供模糊的标题来检查其文本到 3D 模型中的偏差其中特定的细节如身体形状或颜色被留作未指定。

他们观察到他们的模型生成的某些样本对模糊提示表现出常见的性别角色刻板印象。

您可以在OpenAI 的论文 [1]的附录 C 中了解更多信息。

MVDream 对社会的影响MVDream 的创造者在他们的论文中讨论了他们模型的社会影响。

本文提出的多视图扩散模型旨在促进游戏和媒体行业广泛需求的 3D 生成任务。

我们注意到它可能被潜在地应用于意外场景例如通过第三方微调生成暴力或色情内容。

建立在 Stable Diffusion 模型[4]之上它也可能继承其偏差和限制从而生成不受欢迎的结果。

因此我们认为使用我们的方法合成的图像或模型应仔细检查并作为合成品呈现。

这些生成模型也可能具有通过自动化取代创意工作者的潜力。

话虽如此这些工具也可能促进创意行业的发展并提高其可及性。

—— 石一春等[2]在导航文本到 3D 模型的社会影响时我们被提醒到在利用 AI 的创新潜力与应对其崛起伴随的伦理、文化和经济影响之间保持谨慎平衡。

3D 对象生成系统的所有权权利所有权权利是媒体生成的一个关键方面需要彻底审查每个工具的服务条款以理解授予创作者的权利。

Midjourney 用户的所有权权利Midjourney 最近更改了其关于使用其服务生成的图像所有权的政策。

该公司过去要求用户支付订阅费才能拥有他们创建的图像。

但这一规定已放宽对个人用户来说。

以下是他们的更新政策。

您在适用法律允许的范围内完全拥有您通过服务创建的所有资产。

有一些例外您的所有权受本协议规定的任何义务和任何第三方权利的限制。

如果您是一家年收入超过 100 万美元的公司或任何年收入超过 100 万美元的公司的员工您必须订阅“专业”或“超级”计划才能拥有您的资产。

如果您提升了他人的图像这些图像仍然归原始创作者所有。

– Midjourney因此个人用户将拥有他们创建的图像。

但如果您为年收入超过 100 万美元的公司工作您必须每月支付 60 美元才能拥有您的图像。

有关定价的详细信息在此。

3dMaker.AI 用户的所有权权利使用 3dMaker.AI 时的所有权权利很简单。

网站上的

常见问题解答说“3dMaker.AI 生成的模型 100%属于您。

”您不需要律师来解读这一点摘要在我的项目中我尝试使用商业和开源 AI 工具将想法转化为 3D 打印对象。

从 Midjourney 生成 2D 图像开始然后使用 3dMaker.ai 将这些图像转换为 3D 模型我探索了从数字构思到物理创建的创意过程。

像 Shape-E、MVDream 和 threestudio 这样的开源模型进一步扩大了可能性允许直接进行文本到 3D 的转换。

该过程包括在 Blender 中细化生成的模型为打印做准备然后使用当地图书馆的 3D 打印机将它们变为现实。

这次旅程展示了 AI 和 3D 打印的技术进步并强调了考虑社会影响和理解这些新兴工具的所有权权利的重要性。

在创建和打印 3D 对象的过程中该项目强调了该领域创新与可访问性的结合促使人们反思在创意过程中使用 AI 的伦理和实际影响。

源代码我将这个项目的源代码发布在GitHub。

同时我在Sketchfab和Thingiverse上发布了 3D 设计。

我将在 Creative Commons Attribution Sharealike 许可下发布代码和设计。

https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/4c63d8fda526561f717cbcc6359363f

png创用 CC 署名-相同方式共享致谢我感谢 Jennifer Lim 审阅这篇文章并提供反馈。

我还要感谢 Waltham 公共图书馆的 Makerspace 工作人员、Watertown 免费公共图书馆的 Hatch Makerspace 以及 Woburn 公共图书馆在为这篇文章打印物体方面的帮助。

参考文献[1] Heewoo Jun 和 Alex Nicho《Shap·E生成条件 3D 隐式函数》(https://arxiv.org/pdf/

2305.

pdf) (

[2] Yichun Shi 等人《MVDream多视图扩散用于 3D 生成》(https://arxiv.org/pdf/

2308.

pdf) (

[3] Ying-Tian Liu 等人《threestudio用于扩散引导 3D 生成的模块化框架》(https://cg.cs.tsinghua.edu.cn/threestudio/ICCV2023_AI3DCC_threestudio.pdf) (

[4] Rombach 等人《使用潜在扩散模型进行高分辨率图像合成》(https://arxiv.org/pdf/

2112.

pdf) (

附录 A3D 画廊这里是我为这篇文章创建的 3D 物体。

您可以在此处与之互动或下载 STL 文件。

图 8 雕塑cdn.embedly.com/widgets/media.html?srchttps%3A%2F%2Fsketchfab.com%2Fmodels%2F5d5dff084d854039aa38d5f272ba469a%2Fembeddisplay_nameSketchfaburlhttps%3A%2F%2Fsketchfab.com%2F3d-models%2Ffigure-8-sculpture-5d5dff084d854039aa38d5f272ba469aimagehttps%3A%2F%2Fmedia.sketchfab.com%2Fmodels%2F5d5dff084d854039aa38d5f272ba469a%2Fthumbnails%2F2994c2608db14e179a3a04b2ab5ff9b3%2Ff4728a04b509493f9d9ac8f9b3deeaba.jpegkeyd04bfffea46d4aeda930ec88cc64b87ctypetext%2Fhtmlschemasketchfab底座上的海豚cdn.embedly.com/widgets/media.html?srchttps%3A%2F%2Fsketchfab.com%2Fmodels%2Fd11aee8a17f24f6cb470408aeabf70c1%2Fembeddisplay_nameSketchfaburlhttps%3A%2F%2Fsketchfab.com%2F3d-models%2Fdolphin-on-a-pedestal-d11aee8a17f24f6cb470408aeabf70c1imagehttps%3A%2F%2Fmedia.sketchfab.com%2Fmodels%2Fd11aee8a17f24f6cb470408aeabf70c1%2Fthumbnails%2F475994c7b04a4cb1a8160e6a485b64cf%2F55e579afd4354de39897ac49bc3ce96b.jpegkeya19fcc184b9711e1b4764040d3dc5c07typetext%2Fhtmlschemasketchfab低多边形立体派头像cdn.embedly.com/widgets/media.html?srchttps%3A%2F%2Fsketchfab.com%2Fmodels%2F09c65752f1254354a9d2b59c4c9ef209%2Fembeddisplay_nameSketchfaburlhttps%3A%2F%2Fsketchfab.com%2F3d-models%2Flow-poly-cubist-head-09c65752f1254354a9d2b59c4c9ef209imagehttps%3A%2F%2Fmedia.sketchfab.com%2Fmodels%2F09c65752f1254354a9d2b59c4c9ef209%2Fthumbnails%2Fe0c4febec24347e0918e805d67abb0bc%2F60aac9b9934f4374807b0f0345a1e6f

jpegkeya19fcc184b9711e1b4764040d3dc5c07typetext%2Fhtmlschemasketchfab三角形抽象雕塑cdn.embedly.com/widgets/media.html?srchttps%3A%2F%2Fsketchfab.com%2Fmodels%2Ff439a754814448dc8d06c648eb11beb1%2Fembeddisplay_nameSketchfaburlhttps%3A%2F%2Fsketchfab.com%2F3d-models%2Fabstract-geometric-sculpture-with-triangles-f439a754814448dc8d06c648eb11beb1imagehttps%3A%2F%2Fmedia.sketchfab.com%2Fthumbnails%2F4c57687b657445e1b46c83b35e494ad4%2Fplaceholder.pngkeya19fcc184b9711e1b4764040d3dc5c07typetext%2Fhtmlschemasketchfab

黄色软件怎么下载-黄色软件怎么下载应用

百度百家号客服电话人工服务

123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123