首页 > 其他分享 >设计师解放双手之作!3秒生成风景园林效果图,AIGC赋能景观设计

设计师解放双手之作!3秒生成风景园林效果图,AIGC赋能景观设计

时间:2023-05-26 13:00:46浏览次数:48  
标签:prompt image AIGC seed 风景园林 https import 赋能

项目简介

在过去几十年,风景园林经历了从“刀耕火种”的完全手绘设计时代到当下比较流行的参数化设计时代,过去的每一轮技术革新都让风景园林作品的表现形式产生了巨大的改变。随着计算机图像技术的发展,我们有更多的建模和渲染软件辅助提升图纸表现效果,但表现效果提升的背后伴随的是越来越巨大的人力资源投入,一张美观的效果图需要经过建模、渲染、图像编辑等多个软件繁杂反复操作才能生产出来,加班熬夜重复性地绘图已成为行业常态。简而言之,过去计算机图像技术的发展并没有让设计师的工作更加轻松,反而成为了一把沉重的“枷锁”。在人工智能生成内容技术(Artificial Intelligence Generated Content,AIGC)井喷式发展的背景下,风景园林行业正经历着智能化变革。如何借助人工智能技术进一步提高设计效率、实现快速多样化设计,对满足用户多样和变化的需求、改变行业投入高和人效低现状有重要意义。在飞桨 AI Studio 和 PPDiffusers 的支持下,华南农业大学 SCUrban Lab 团队尝试在风景园林的场景下对 Stable Diffusion 模型进行调教优化。本文将分享当前探索成果,除此之外,我们也公开了一个“城市公园”场景下的 LoRA 模型权重,欢迎大家测试反馈。


环境安装

01 PPDiffusers 介绍 PPDiffusers 是一款支持多种模态(如文本图像跨模态、图像、语音)扩散模型(Diffusion Model)训练和推理的国产化工具箱。依托于飞桨框架和 PaddleNLP 自然语言处理开发库,PPDiffusers 提供了超过50种 SOTA 扩散模型 Pipelines 集合,支持文图生成(Text-to-Image Generation)、文本引导的图像编辑(Text-Guided Image Inpainting)、文本引导的图像变换(Image-to-Image Text-Guided Generation)、超分(Super Resolution)在内的10+任务,覆盖文本图像跨模态、图像、音频等多种模态。

02 PPDiffusers 安装 如果您是刚接触 Python 编程的新用户,我们推荐使用以下便捷的 pip 的安装方式:

pip install --upgrade ppdiffusers -f https://www.paddlepaddle.org.cn/whl/paddlenlp.html --user

由于最近 AIGC 发展速度比较快,PPDiffusers 代码仓库更新也比较频繁,如果您有一定的 Python 基础,我们推荐克隆 PaddleNLP 仓库源代码进行手动安装。

git clone https://github.com/PaddlePaddle/PaddleNLP
cd PaddleNLP/ppdiffusers
python setup.py install


模型介绍

本项目主要用到的是模型是 Stable Diffusion V1.5 版本和 ControlNet。为了使生成图像的表现效果更加接近现实场景,我们也使用了基于 Stable Diffusion 的 Realistic Vision V2.0 模型。针对风景园林公共景观设计领域,我们实验室利用自有的城市公园图像数据库训练了 CityParkLoraV1 权重模型并开源,同时我们还使用了针对地产景观的 Fair-faced-concrete-V1 微调权重,所有开源地址的模型附在文章最后,在此也对所有开源贡献者表示衷心感谢。


效果图生成应用

01 基于文字生成 

与设计大类专业类似,在景观设计院的工作过程中,我们也几乎每天都会收到来自甲方各式各样的文字需求,比如我们经常调侃的“五彩斑斓的黑”“尊贵大气而低调的风格”等等。对于初出茅庐的设计师,表面上笑脸嘻嘻迎合甲方,但内心早已万马奔腾。所以我们第一个场景实验就是基于文字的景观效果图像生成,下面我们就演示一个湿地公园景观生成场景。

设计师解放双手之作!3秒生成风景园林效果图,AIGC赋能景观设计_Image

推理代码:

import paddle
from ppdiffusers import StableDiffusionPipeline, DPMSolverMultistepScheduler

paddle.seed(12321)
pipe = StableDiffusionPipeline.from_pretrained("runwayml/stable-diffusion-v1-5")
pipe.scheduler = DPMSolverMultistepScheduler.from_config(pipe.scheduler.config)
pipe.unet.load_attn_procs("Xiejiehang/CityParkLoraV1", from_hf_hub=True)
image = pipe("A wetland park in the suburbs of the city, high resolution,hyper quality,full details, natural, communtiy park, outdoor, grassland", num_inference_steps=50).images[0]


效果展示:

设计师解放双手之作!3秒生成风景园林效果图,AIGC赋能景观设计_模态_02


设计师解放双手之作!3秒生成风景园林效果图,AIGC赋能景观设计_paddle_03


设计师解放双手之作!3秒生成风景园林效果图,AIGC赋能景观设计_paddle_04


02 基于现实场景生成

对现有的景观效果进行升级改造也是风景园林的主要工作之一。在景观改造之前,我们会到现场进行场地的勘察调研,拍摄记录场地现状的照片,然后经过一系列设计工作后,将设计成果 P 图到场地现状图上。一个经验丰富的设计师,平均 P 一张普通设计效果图的时间在1个小时左右。如果项目规模比较大,我们还需要在 3D 建模软件中对场地进行1:1还原,这样一整个设计周期下来需要3-5天甚至更长时间。因此我们第二个场景实验就是针对现实场景的图像生成,利用 ControlNet 保留原图像的特征,然后利用 Stable Diffusion 对图像进行重绘,以下是一个真实的“美丽乡村”建设项目的实验效果:

设计师解放双手之作!3秒生成风景园林效果图,AIGC赋能景观设计_paddle_05

推理代码:

import os
import cv2
import random
import paddle

from annotator.canny import CannyDetector
from annotator.util import HWC3, resize_image
from paddlenlp.trainer import set_seed as seed_everything
from ppdiffusers import ControlNetModel, StableDiffusionControlNetPipeline, StableDiffusionPipeline

apply_canny = CannyDetector()
controlnet = ControlNetModel.from_pretrained("lllyasviel/sd-controlnet-canny")

pipe = StableDiffusionControlNetPipeline.from_pretrained(
"SG161222/Realistic_Vision_V2.0", controlnet=controlnet, from_hf_hub=True, from_diffusers=True
)

def process(
input_image,
prompt,
a_prompt,
n_prompt,
num_samples,
image_resolution,
ddim_steps,
guess_mode,
strength,
scale,
seed,
eta,
low_threshold,
high_threshold,
):

with paddle.no_grad():
img = resize_image(HWC3(input_image), image_resolution)
H, W, C = img.shape
detected_map = apply_canny(img, low_threshold, high_threshold)

detected_map = HWC3(detected_map)
control = paddle.to_tensor(detected_map.copy(), dtype=paddle.float32) / 255.0
control = control.unsqueeze(0).transpose([0, 3, 1, 2])
control_scales = (
[strength * (0.825 ** float(12 - i)) for i in range(13)] if guess_mode else ([strength] * 13)
) 
if seed == -1:
seed = random.randint(0, 65535)
seed_everything(seed)
results = []
for _ in range(num_samples):
img = pipe(
prompt + ", " + a_prompt,
negative_prompt=n_prompt,
image=control,
num_inference_steps=ddim_steps,
height=H,
width=W,
eta=eta,
controlnet_conditioning_scale=control_scales,
guidance_scale=scale,
).images[0]
results.append(img)

return [255 - detected_map] + results

inputImage = cv2.imread('test_img/village.jpg')
results = process(input_image=inputImage,
prompt="beautiful village,shrubs and flowers around the building,countryside,country road,blue sky,modern house,white wall,glass window, wooden roof,high resolution,hyper quality,full details",
a_prompt="",
n_prompt="",
num_samples=1,
image_resolution=512,
ddim_steps=20,
guess_mode=False,
strength=1.0,
scale=9.0,
seed=123321123,
eta=0.0,
low_threshold=20,
high_threshold=200,
)

# 保存图像
savePath = "./outputImg/"
if not os.path.exists(savePath):
os.makedirs(savePath)
for i in range(1, len(results)):
results[i].save(os.path.join(savePath, "{}.jpg".format(i)))

效果展示:

设计师解放双手之作!3秒生成风景园林效果图,AIGC赋能景观设计_模态_06

设计师解放双手之作!3秒生成风景园林效果图,AIGC赋能景观设计_模态_07

设计师解放双手之作!3秒生成风景园林效果图,AIGC赋能景观设计_模态_08

在这个场景的实验中,我们在 V100 32G 的显卡环境下测试每张图的生成时间大约是10秒左右,与人工绘图动辄1个小时到1周不等的时间相比,这极大地提升了景观设计的效率,真正解放了生产力!

03 基于手绘线稿生成

手绘是风景园林设计师的日常表达方式之一。在景观设计过程中,我们会将脑海里的设计灵感和推敲过程用手绘的方式快速表达出来,然后交给建模师和美术设计进行计算机辅助绘图。我们的第三个场景实验,就是充分利用 ControlNet Canny 边缘检测的特性,将手绘线稿渲染成真实场景的效果图。

设计师解放双手之作!3秒生成风景园林效果图,AIGC赋能景观设计_paddle_09

推理代码:

pipe.apply_lora("/home/aistudio/data/data214847/Fair-faced-concrete-V1.safetensors")

inputImage = cv2.imread('test_img/draw.jpg')
results = process(input_image=inputImage,
prompt="garden in residential area,large grassland,adults and children walking,people sit under umbrellas chatting,glass window,blue sky,high resolution,hyper quality,full details,modern architecture,outside,facade",
a_prompt="",
n_prompt="water,lake",
num_samples=1,
image_resolution=512,
ddim_steps=20,
guess_mode=False,
strength=1.0,
scale=9.0,
seed=12332,
eta=0.0,
low_threshold=20,
high_threshold=200,
)

savePath = "./outputImg/"
if not os.path.exists(savePath):
os.makedirs(savePath)
for i in range(1, len(results)):
results[i].save(os.path.join(savePath, "{}.jpg".format(i)))
效果展示:

设计师解放双手之作!3秒生成风景园林效果图,AIGC赋能景观设计_模态_10

设计师解放双手之作!3秒生成风景园林效果图,AIGC赋能景观设计_paddle_11

设计师解放双手之作!3秒生成风景园林效果图,AIGC赋能景观设计_Image_12

设计师解放双手之作!3秒生成风景园林效果图,AIGC赋能景观设计_paddle_13


在线体验

为了让开发者快速体验以上的内容,目前我们已经将基于现实场景和手绘线稿生成效果图的能力上线到 AI Studio 应用中心,开发者可以打开以下链接并尝试上传自己的景观手绘或照片,感受快速高效输出渲染效果图的能力!

  • AI Studio地址

https://aistudio.baidu.com/aistudio/projectdetail/6235423

设计师解放双手之作!3秒生成风景园林效果图,AIGC赋能景观设计_Image_14


结语

以上是我们实验室基于 Stable Diffusion 模型针对风景园林场景下的一些实验探索和验证,展现了人工智能在风景园林行业应用的巨大潜力。经过我们多轮反复的实验和工程设计调优,验证了 Stable Diffusion 等生成模型可以被有效应用于风景园林景观设计领域,并且能大幅节约设计师的工作时间,具备提高全行业领域生产力的能力。 欢迎更多有兴趣的开发者与我们一起攻克设计控制、设计结果有效性验证等难题,拓展 AIGC 相关技术的研究及应用,构建起真正的风景园林循证设计框架。

AI Studio 项目链接

https://aistudio.baidu.com/aistudio/projectdetail/6088322

SCUrban Lab 地址

https://www.scurbanlab.com/

参考文献

[1] https://github.com/PaddlePaddle/PaddleNLP/tree/develop/ppdiffusers

[2] https://huggingface.co/Xiejiehang/CityParkLoraV1/

[3] https://huggingface.co/lllyasviel/sd-controlnet-canny

[4] https://huggingface.co/SG161222/Realistic_Vision_V2.0

[5] https://civitai.com/models/34597/fair-faced-concrete-architecture



标签:prompt,image,AIGC,seed,风景园林,https,import,赋能
From: https://blog.51cto.com/u_15512933/6355071

相关文章

  • 大数据赋能商业地产研策
    商业地产是城市经济的重要支柱,也是城市形象的重要名片。在消费者需求日益多元和个性化的背景下,商业地产面临着激烈的市场竞争和运营效率的挑战。如何在复杂多变的市场环境中,做出科学合理的投资决策和运营策略,是商业地产企业的核心课题。在这个过程中,大数据发挥了不可替代的作用。大......
  • C#使用词嵌入向量与向量数据库为大语言模型(LLM)赋能长期记忆实现私域问答机器人落地
    ------------恢复内容开始------------在上一篇文章中我们大致讲述了一下如何通过词嵌入向量的方式为大语言模型增加长期记忆,用于落地在私域场景的问题。其中涉及到使用openai的接口进行词嵌入向量的生成以及chat模型的调用由于众所周知的原因,国内调用openai接口并不友好,所以今......
  • 搭建B2B分销系统,与其重建经销体系,不如技术赋能
    当前SaaS行业运营最大的痛点是效率,而效率的提升,归根结底是技术的应用,想要在在B2B分销过程中建立强大的SaaS合作伙伴关系,可借助相关技术进行赋能。 B2B分销系统在国外的一些知名SaaS产品,通过长期某个领域内的深耕发展,已经形成大量的全国性大分销商,SaaS厂商通过大型分销商,再推到下面......
  • AIGC源码-架构图智能生成系统
    近日,微软发布guidance模块库,并迅速登上github网站TOP榜首:guidance,传统的提示或链接更有效、更高效地控制新式语言模型。协助用户将生成、提示和逻辑控制交错到单个连续流中,以匹配语言模型实际处理文本的方式。简单的输出结构,如思维链及其许多变体(例如ART,Auto-CoT等)已被......
  • 新技术赋能双循环格局,第九届全球云计算大会·潮你“甬”来!
    热情似火的不只有盛夏的骄阳,更有人们对于科技的无限追求。6月17日,以“新技术赋能双循环发展”为主题的第九届全球云计算大会·中国站(CloudConnectChina2021)在宁波泛太平洋大酒店盛大开幕。今年,在加快构建以国内大循环为主体,国内国际双循环相互促进的新发展格局背景下,大会通过......
  • 看海联金汇财务共享智慧平台如何实现以数赋能智慧共享
    海联金汇科技股份有限公司(以下简称海联金汇)财务共享项目旨在实现海联金汇的财务数据深化应用,达到业、财、人、资数据与价值共享,助力海联金汇加速数字化转型,提升公司运营管理能力。 以财务共享作抓手,围绕“164”落实推进 海联金汇在原有子公司信息化应用基础之上进行再度升级,以集......
  • AIGC持续火爆大模型争相推出,庞大市场造就算力供应模式演变
    本图由AI生成  黄仁勋说的AI发展迎来iPhone时刻,对NVIDIA有什么影响?文/王吉伟 近期的AIGC领域仍旧火爆异常。但火的不只是AIGC应用,还有巨头之间的AI竞赛,以及接连不断上新的AI大模型(LLM,LargeLanguageModel)。面对ChatGPT带来的技术冲击,为了研发谷歌多模态AI模型及应对......
  • 科技赋能智慧交管,让执法更有力
    为进一步做好道路交通安全执勤执法工作,切实增强交警执勤执法过程中的取证意识和自我防护意识,内蒙古某市公安局交通管理支队结合工作实际,为一线执勤人员全面配备AEEK8多功能执法记录仪和采集工作站,在如实记录执法过程的同时,也实现执法全程监控,确保规范执法行为,提高执法效能。由科......
  • TitanIDE + AIGC 编码辅助,打工人的手替 (福音)!
    近期,行云创新将ARM信创版TitanIDE与ChatGPT做了结合,不仅能满足企业研发环境信创化的需求,还能通过对AIGC等相关技术的利用提升开发效率,既保证了研发合规性又提升了研发效率。不难发现,这几个月ChatGPT在全网一直占据热榜,它是一种人工智能技术驱动的自然语言处理工具,拥有语言理......
  • AIGC出击研发、营销,文心一言们要改变鞋服行业产业链条?
    (图片来源于网络,侵删)文|螳螂观察作者|叶小安你敢设想这样一种未来吗?看到的消费品广告都是AI设计的,甚至连电影、电视甚至直播带货都是由AI机器人制作好的画面。2022年尾,ChatGPT的诞生刷爆全网,“编程将被杀死”、“编辑将被取代”,“教师被替换”等言论层出不穷,甚至还出现了“十大......