Gradio Agents & MCP 黑客马拉松

获奖者
Gradio logo
  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:创建一个 model3D 输入组件。输入预期是一个上传文件,文件路径为 {str} 类型。
  • outputs:创建一个 model3D 输出组件。输出组件也预期是一个文件,文件路径为 {str} 类型。
    • clear_color:这是 3D 模型画布的背景颜色。需要 RGBa 值。
    • label:显示在组件左上角的标签。
  • examples:3D 模型文件列表。3D 模型组件可以接受 .obj.glb.gltf 文件类型。
  • cache_examples:保存示例的预测输出,以节省推理时间。

探索更复杂的 Model3D 演示:

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


大功告成!这就是您构建 Model3D 模型界面所需的全部代码。以下是一些您可能会觉得有用的参考资料