首页
/ LayoutGPT 开源项目教程

LayoutGPT 开源项目教程

2024-09-18 16:22:39作者:平淮齐Percy

1. 项目介绍

LayoutGPT 是一个基于大型语言模型(LLMs)的视觉规划和生成工具。它能够从文本输入生成合理的图像布局和室内场景布局,支持从2D图像到3D室内场景的多领域布局生成。LayoutGPT 通过使用样式表语言的上下文视觉演示来增强LLMs的视觉规划能力,能够将复杂的语言概念(如数值和空间关系)转换为布局安排,从而实现忠实的文本到图像生成。

2. 项目快速启动

2.1 安装依赖

首先,确保你已经安装了 conda。然后,创建一个新的 conda 环境并安装所需的依赖项:

conda create -n layoutgpt python=3.8 -y
pip install -r requirements.txt

2.2 下载预训练模型

为了使用 LayoutGPT 进行图像生成,你需要下载一些预训练模型:

# 下载 GLIGEN 模型
wget https://huggingface.co/gligen/gligen-generation-text-box/resolve/main/diffusion_pytorch_model.bin -O gligen/gligen_checkpoints/checkpoint_generation_text.pth

# 下载 GLIP 模型
cd eval_models/GLIP
python setup.py build develop --user
wget https://github.com/SwinTransformer/storage/releases/download/v1.0.0/swin_large_patch4_window12_384_22k.pth -O MODEL/swin_large_patch4_window12_384_22k.pth
wget https://huggingface.co/GLIPModel/GLIP/resolve/main/glip_large_model.pth -O MODEL/glip_large_model.pth

# 下载 ATISS 模型
cd ATISS
python setup.py build_ext --inplace
pip install -e .

2.3 数据准备

下载并解压 LayoutGPT 所需的 2D 和 3D 数据集:

# 下载 2D 图像布局数据集
wget https://example.com/dataset/NSR-1K.zip -O dataset/NSR-1K.zip
unzip dataset/NSR-1K.zip -d dataset/

# 下载 3D 场景数据集
cd ATISS
wget https://example.com/dataset/3D-FUTURE-model.zip -O 3D-FUTURE-model.zip
wget https://example.com/dataset/data_output.zip -O data_output.zip
unzip 3D-FUTURE-model.zip -d 3D-FUTURE
unzip data_output.zip

2.4 运行 LayoutGPT

生成 2D 图像布局:

python run_layoutgpt_2d.py --icl_type k-similar --K 8 --setting counting --llm_type gpt4 --n_iter 5

生成 3D 室内场景:

python run_layoutgpt_3d.py --dataset_dir /ATISS/data_output --icl_type k-similar --K 8 --room bedroom --llm_type gpt4 --unit px --normalize --regular_floor_plan

3. 应用案例和最佳实践

3.1 2D 图像布局生成

LayoutGPT 可以用于生成各种类型的 2D 图像布局,例如:

  • 产品设计:生成产品展示图的布局。
  • 网页设计:生成网页的布局结构。
  • 广告设计:生成广告图片的布局。

3.2 3D 室内场景生成

LayoutGPT 还可以用于生成 3D 室内场景,例如:

  • 家居设计:生成不同风格的家居布局。
  • 建筑设计:生成建筑内部的布局设计。
  • 游戏场景设计:生成游戏中的室内场景。

4. 典型生态项目

4.1 GLIGEN

GLIGEN 是一个基于文本的图像生成模型,与 LayoutGPT 结合使用可以生成高质量的图像。

4.2 GLIP

GLIP 是一个图像定位模型,用于评估生成的图像布局的准确性。

4.3 ATISS

ATISS 是一个用于生成 3D 室内场景的模型,与 LayoutGPT 结合使用可以生成复杂的 3D 场景。

通过这些生态项目的结合,LayoutGPT 可以在多个领域中发挥重要作用,提供高效、准确的视觉规划和生成解决方案。

登录后查看全文
热门项目推荐

项目优选

收起
kernelkernel
deepin linux kernel
C
22
6
docsdocs
OpenHarmony documentation | OpenHarmony开发者文档
Dockerfile
203
2.18 K
ohos_react_nativeohos_react_native
React Native鸿蒙化仓库
C++
208
285
pytorchpytorch
Ascend Extension for PyTorch
Python
62
94
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
977
575
nop-entropynop-entropy
Nop Platform 2.0是基于可逆计算理论实现的采用面向语言编程范式的新一代低代码开发平台,包含基于全新原理从零开始研发的GraphQL引擎、ORM引擎、工作流引擎、报表引擎、规则引擎、批处理引引擎等完整设计。nop-entropy是它的后端部分,采用java语言实现,可选择集成Spring框架或者Quarkus框架。中小企业可以免费商用
Java
9
1
ops-mathops-math
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
550
84
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
1.02 K
399
communitycommunity
本项目是CANN开源社区的核心管理仓库,包含社区的治理章程、治理组织、通用操作指引及流程规范等基础信息
393
27
MateChatMateChat
前端智能化场景解决方案UI库,轻松构建你的AI应用,我们将持续完善更新,欢迎你的使用与建议。 官网地址:https://matechat.gitcode.com
1.2 K
133