HangS666/text-image-syn3D

开发一个根据文本或图片生成3D模型的应用

JavaScript

1

34 commits

updated Oct 20, 2025

See the code

README

文/图生3D

项目简介

文/图生3D 是一个基于文本或图片生成 3D 模型的应用,旨在结合图像处理和自然语言处理技术,实现从文本描述或上传图片到生成 3D 模型的功能。该项目分为前端、后端和 Flask 服务三个部分,下面详细介绍每个部分的启动和配置。


📺 点击下方图片即可跳转到 Bilibili 播放视频:

视频封面

👉 如果无法正常加载封面图,请直接点击这里观看:B站视频链接

运行流程

1. 后端项目启动

1.1 修改数据库配置

  1. 打开后端项目配置文件 syn3D_springoot/src/main/resources/application.properties。
  2. 配置数据库连接信息,确保数据库连接成功。

1.2 启动后端服务

  1. 打开后端项目文件 syn3D_springoot/src/main/java/com/example/Kcsj/Kcsj.java。
  2. 运行该 Java 文件,启动后端服务。后端服务将处理模型生成、缓存查询等功能。

2. Flask 项目启动

2.1 创建虚拟环境

  1. 在终端中执行以下命令创建虚拟环境:

    conda create -n qny python=3.10
    conda activate qny
    

2.2 启动 Flask 服务

  1. 进入 Flask 项目目录 syn3D_flask/flask/。

  2. 启动 Flask 服务:

    python flaskR.py
    

3. 前端项目启动

3.1 安装依赖

  1. 进入前端项目目录。

  2. 执行以下命令安装项目依赖:

    npm install
    

3.2 启动前端服务

  1. 运行以下命令启动前端开发服务器:

    npm run dev
    

    前端服务会在浏览器中打开应用,并允许用户上传图片或输入文本来生成 3D 模型。


4. 使用 shape-e 生成 3D 模型

4.1 安装依赖并激活环境

  1. 确保虚拟环境 qny 已激活,执行以下命令:

    conda activate qny
    pip install -r requirements.txt
    

4.2 生成 3D 模型

  1. 执行以下命令,通过文本提示生成 3D 模型:

    python sample_text_to_3d.py --prompt "Your text description" --output_path example_mesh_0.glb
    

    该命令将使用提供的文本提示生成一个 .glb 格式的 3D 模型。


5. 使用 triposg 生成 3D 模型(基于图片)

5.1 安装依赖并激活环境

  1. 确保虚拟环境 qny 已激活,执行以下命令:

    conda activate qny
    pip install -r requirements.txt
    

5.2 使用图片生成 3D 模型

  1. 执行以下命令,通过图片生成 3D 模型:

    python -m scripts.inference_triposg --image-input assets/example_data/hjswed.png --output-path ./output.glb
    

    该命令将使用指定的图片生成 .glb 格式的 3D 模型。


其他说明

  • 缓存功能:在生成 3D 模型时,系统支持缓存机制。当相同的请求(如相同的文本或图片)再次提交时,系统会尝试从缓存中加载之前生成的模型,提升性能。
  • 模型生成方式:本项目支持通过文本描述和图片两种方式生成 3D 模型。用户可以根据需求选择生成方式。
  • API 接口:后端提供了多个 API 接口,分别用于处理模型生成请求、缓存查询与写入等功能。

致谢

我们要特别感谢以下开源项目,为本项目提供了重要的支持和基础:

  • TripoSG:为图像生成 3D 模型提供了强大的技术支持,帮助我们实现了高质量的图像到 3D 模型的转换。
  • shap-e:提供了通过文本描述生成 3D 模型的强大工具,是本项目中文本生成部分的基础。

以上是项目的完整运行流程及说明。如果遇到问题或需要进一步帮助,请参考项目中的 README.md 或联系开发者[email protected]。

HangS666/text-image-syn3D

开发一个根据文本或图片生成3D模型的应用

JavaScript

1

34 commits

updated Oct 20, 2025

See the code

README

文/图生3D

项目简介

文/图生3D 是一个基于文本或图片生成 3D 模型的应用,旨在结合图像处理和自然语言处理技术,实现从文本描述或上传图片到生成 3D 模型的功能。该项目分为前端、后端和 Flask 服务三个部分,下面详细介绍每个部分的启动和配置。


📺 点击下方图片即可跳转到 Bilibili 播放视频:

视频封面

👉 如果无法正常加载封面图,请直接点击这里观看:B站视频链接

运行流程

1. 后端项目启动

1.1 修改数据库配置

  1. 打开后端项目配置文件 syn3D_springoot/src/main/resources/application.properties。
  2. 配置数据库连接信息,确保数据库连接成功。

1.2 启动后端服务

  1. 打开后端项目文件 syn3D_springoot/src/main/java/com/example/Kcsj/Kcsj.java。
  2. 运行该 Java 文件,启动后端服务。后端服务将处理模型生成、缓存查询等功能。

2. Flask 项目启动

2.1 创建虚拟环境

  1. 在终端中执行以下命令创建虚拟环境:

    conda create -n qny python=3.10
    conda activate qny
    

2.2 启动 Flask 服务

  1. 进入 Flask 项目目录 syn3D_flask/flask/。

  2. 启动 Flask 服务:

    python flaskR.py
    

3. 前端项目启动

3.1 安装依赖

  1. 进入前端项目目录。

  2. 执行以下命令安装项目依赖:

    npm install
    

3.2 启动前端服务

  1. 运行以下命令启动前端开发服务器:

    npm run dev
    

    前端服务会在浏览器中打开应用,并允许用户上传图片或输入文本来生成 3D 模型。


4. 使用 shape-e 生成 3D 模型

4.1 安装依赖并激活环境

  1. 确保虚拟环境 qny 已激活,执行以下命令:

    conda activate qny
    pip install -r requirements.txt
    

4.2 生成 3D 模型

  1. 执行以下命令,通过文本提示生成 3D 模型:

    python sample_text_to_3d.py --prompt "Your text description" --output_path example_mesh_0.glb
    

    该命令将使用提供的文本提示生成一个 .glb 格式的 3D 模型。


5. 使用 triposg 生成 3D 模型(基于图片)

5.1 安装依赖并激活环境

  1. 确保虚拟环境 qny 已激活,执行以下命令:

    conda activate qny
    pip install -r requirements.txt
    

5.2 使用图片生成 3D 模型

  1. 执行以下命令,通过图片生成 3D 模型:

    python -m scripts.inference_triposg --image-input assets/example_data/hjswed.png --output-path ./output.glb
    

    该命令将使用指定的图片生成 .glb 格式的 3D 模型。


其他说明

  • 缓存功能:在生成 3D 模型时,系统支持缓存机制。当相同的请求(如相同的文本或图片)再次提交时,系统会尝试从缓存中加载之前生成的模型,提升性能。
  • 模型生成方式:本项目支持通过文本描述和图片两种方式生成 3D 模型。用户可以根据需求选择生成方式。
  • API 接口:后端提供了多个 API 接口,分别用于处理模型生成请求、缓存查询与写入等功能。

致谢

我们要特别感谢以下开源项目,为本项目提供了重要的支持和基础:

  • TripoSG:为图像生成 3D 模型提供了强大的技术支持,帮助我们实现了高质量的图像到 3D 模型的转换。
  • shap-e:提供了通过文本描述生成 3D 模型的强大工具,是本项目中文本生成部分的基础。

以上是项目的完整运行流程及说明。如果遇到问题或需要进一步帮助,请参考项目中的 README.md 或联系开发者[email protected]。