1. 其他教程
  2. 如何使用3D模型组件

如何使用3D模型组件

介绍

3D模型在机器学习中变得越来越流行,并且成为了一些最有趣的演示实验。使用gradio,你可以轻松构建你的3D图像模型的演示,并与任何人分享。Gradio 3D模型组件接受3种文件类型,包括:.obj.glb.gltf

本指南将向您展示如何用几行代码为您的3D图像模型构建一个演示;如下所示。通过点击、拖动和缩放来操作3D对象:

先决条件

确保你已经安装gradio Python包。

查看代码

让我们来看看如何创建上面的最小界面。在这种情况下,预测函数将只返回原始的3D模型网格,但你可以更改此函数以在你的机器学习模型上运行推理。我们将在下面查看更复杂的示例。

import gradio as gr
import os


def load_mesh(mesh_file_name):
    return mesh_file_name


demo = gr.Interface(
    fn=load_mesh,
    inputs=gr.Model3D(),
    outputs=gr.Model3D(
            clear_color=[0.0, 0.0, 0.0, 0.0],  label="3D Model"),
    examples=[
        [os.path.join(os.path.dirname(__file__), "files/Bunny.obj")],
        [os.path.join(os.path.dirname(__file__), "files/Duck.glb")],
        [os.path.join(os.path.dirname(__file__), "files/Fox.gltf")],
        [os.path.join(os.path.dirname(__file__), "files/face.obj")],
    ],
)

if __name__ == "__main__":
    demo.launch()

让我们分解上面的代码:

load_mesh: 这是我们的“预测”函数,为了简单起见,该函数将接收3D模型网格并返回它。

创建界面:

  • fn: 用户点击提交时使用的预测函数。在我们的例子中,这是load_mesh函数。
  • inputs: 创建一个3D模型输入组件。输入期望上传的文件作为{str}文件路径。
  • outputs: 创建一个3D模型输出组件。输出组件也期望一个文件作为{str}文件路径。
    • clear_color: 这是3D模型画布的背景颜色。期望RGBa值。
    • label: 出现在组件左上角的标签。
  • examples: 3D模型文件列表。3D模型组件可以接受.obj.glb.gltf文件类型。
  • cache_examples: 保存示例的预测输出,以节省推理时间。

探索一个更复杂的Model3D演示:

以下是一个演示,使用DPT模型预测图像的深度,然后使用3D点云创建3D对象。查看app.py文件以了解代码和模型预测函数。


你已经完成了!这就是你为你的Model3D模型构建界面所需的所有代码。以下是一些你可能会觉得有用的参考资料: