プロジェクトの説明
過去数十年の間に、景観建築は「焼畑農業」の完全に手描きのデザインの時代から、より一般的なパラメトリックデザインの時代を経て、過去のあらゆる技術革新が大きな変化をもたらしました。風景建築作品の表現において。コンピュータグラフィックス技術の発展に伴い、描画の性能向上を目的としたモデリングソフトやレンダリングソフトが増えていますが、性能向上の背景には人的資源への投資が増大しており、美しいレンダリングにはモデリング、レンダリング、画像編集を経る必要があります。などのソフトウェアは複雑な作業を繰り返して初めて制作できるものであり、残業や夜更かしを繰り返して描画を繰り返すのが業界では常態化しています。つまり、これまでのCG技術の発展は、デザイナーの仕事を楽にするどころか、重い「足かせ」になってしまったのです。
人工知能生成コンテンツ (AIGC) の爆発的な発展を背景に、造園業界はインテリジェントな変革を遂げています。人工知能技術の助けを借りて、設計効率をさらに向上させ、迅速かつ多様な設計をどのように実現するかは、ユーザーの多様で変化するニーズに応え、業界における多額の投資と低い人的効率の現状を変えるために非常に重要です。Paddle AI Studio と PPDiffusers のサポートを受けて、華南農業大学の SCUrban Lab チームは、景観建築のシーンにおける安定拡散モデルの最適化を試みました。この記事では、現在の探査結果を共有するとともに、「都市公園」シーンにおける LoRA モデルの重量も公開します。テストに関するフィードバックをお待ちしています。
環境のインストール
PPDディフューザーの紹介
PPDiffusers は、複数のモダリティ (テキストと画像のクロスモダリティ、画像、音声など) での拡散モデルのトレーニングと推論をサポートするローカライズされたツールボックスです。PaddleフレームワークとPaddle NLP 自然言語処理開発ライブラリに依存して、PPDiffusers は 50 を超える SOTA 拡散モデル Pipelines コレクションを提供し、テキストから画像への生成、テキストガイド付き画像修復)、テキストガイド付き画像変換 (画像から画像へ) をサポートしています。 -画像テキストガイド生成)、超解像度(Super Resolution)。テキストと画像のクロスモダリティ、画像、音声、その他のモダリティをカバーする 10 以上のタスクを含みます。
PPディフューザーのインストール
Python プログラミングに慣れていない新規ユーザーの場合は、次の便利な pip インストール方法を使用することをお勧めします。
pip install --upgrade ppdiffusers -f https://www.[paddlepaddle](https://www.oschina.net/action/visit/ad?id=1185 "paddlepaddle").org.cn/whl/[paddle](https://www.oschina.net/action/visit/ad?id=1185 "paddle")nlp.html --user
最近 AIGC の急速な発展により、PPDiffusers コード ウェアハウスも頻繁に更新されているため、特定の Python 基盤をお持ちの場合は、Paddle NLP ウェアハウスのソース コードをクローンして手動インストールすることをお勧めします。
git clone https://github.com/[PaddlePaddle](https://www.oschina.net/action/visit/ad?id=1185 "PaddlePaddle")/[Paddle](https://www.oschina.net/action/visit/ad?id=1185 "Paddle")NLP
cd [Paddle](https://www.oschina.net/action/visit/ad?id=1185 "Paddle")NLP/ppdiffusers
python setup.py install
モデル紹介
このプロジェクトで使用される主なモデルは、Stable Diffusion V1.5 と ControlNet です。生成された画像のパフォーマンスを実際のシーンに近づけるために、Stable Diffusion に基づく Realistic Vision V2.0 モデルも使用します。景観建築と公共景観設計の分野では、私たちの研究室は独自の都市公園画像データベースを使用して CityParkLoraV1 重みモデルをトレーニングし、オープンソース化しました。同時に、打ち放しコンクリート V1 微調整も使用しました。不動産景観の重みモデルは記事の最後に添付されており、オープンソースの貢献者全員に心から感謝の意を表したいと思います。
エフェクトマップ生成アプリケーション
テキストベースの生成
ランドスケープデザイン研究所の仕事の過程でも、デザイン専攻と同様に、甲方から「カラフルな黒」「高貴で控えめなスタイル」など、揶揄されがちな「スタイル」や「高貴で控えめ」など、様々な文章の依頼が毎日のように届きます。すぐ。駆け出しのデザイナーは、表面上はニヤニヤしながら甲の要望に応えていますが、心はすでにドキドキしています。最初のシーン実験はテキストベースの風景効果画像の生成で、次に湿地公園の風景生成シーンをデモンストレーションします。
推論コード:
import [paddle](https://www.oschina.net/action/visit/ad?id=1185 "paddle")
from ppdiffusers import StableDiffusionPipeline, DPMSolverMultistepScheduler
[paddle](https://www.oschina.net/action/visit/ad?id=1185 "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]
結果を示す:
レンダリング
実際のシーンに基づいて生成
既存の景観効果をアップグレードして変革することも、景観建築の主要なタスクの 1 つです。景観改修前に現地へ赴き、現地調査・調査を行い、現場の現状を記録する写真撮影を行い、一連の設計作業を経て、設計結果を現在の敷地図に落とし込みます。経験豊富なデザイナーの場合、一般的なデザインのレンダリングにかかる平均時間は約 1 時間です。プロジェクトの規模が比較的大きい場合は、3D モデリング ソフトウェアでサイトを 1:1 で復元する必要があるため、設計サイクル全体に 3 ~ 5 日、またはそれ以上かかることがあります。したがって、2 番目のシーン実験では、実際のシーンの画像を生成し、ControlNet を使用して元の画像の特徴を保持し、安定拡散を使用して画像を再描画します。以下は、実際の「美しい田園」建設プロジェクトの実験効果です。 :
推論コード:
import os
import cv2
import random
import [paddle](https://www.oschina.net/action/visit/ad?id=1185 "paddle")
from annotator.canny import CannyDetector
from annotator.util import HWC3, resize_image
from [paddle](https://www.oschina.net/action/visit/ad?id=1185 "paddle")nlp.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](https://www.oschina.net/action/visit/ad?id=1185 "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](https://www.oschina.net/action/visit/ad?id=1185 "paddle").to_tensor(detected_map.copy(), dtype=[paddle](https://www.oschina.net/action/visit/ad?id=1185 "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)))
結果を示す:
元の画像
レンダリング
このシーンの実験では、V100 32G グラフィックスカード環境で 1 枚の絵の生成時間が約 10 秒であることをテストし、手動での描画時間が 1 時間から 1 週間かかるのに比べて大幅に向上しました。デザインは本当に生産性を解放します。
手書きの線画を元に作成
手描きはランドスケープアーキテクトの日常表現の 1 つです。ランドスケープデザインのプロセスでは、デザインのインスピレーションや検討プロセスを頭の中で素早く手書きで表現し、それをモデラーやアートデザイナーに渡してコンピューター支援の図面を作成します。3 番目のシーン実験では、ControlNet Canny のエッジ検出機能を駆使して、手書きの線画を実際のシーンのレンダリングにレンダリングします。
推論コード:
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)))
結果を示す:
元の画像
レンダリング
オンライン体験
開発者が上記のコンテンツをすぐに体験できるようにするために、AI Studio アプリケーション センターにリアルなシーンと手描きの線画に基づいてレンダリングを生成する機能を開始しました。開発者は次のリンクを開いてアップロードしてみることができます。自分の手で描いた風景や写真を、感じられるレンダリングレンダリングを素早く効率的に出力する機能!
- AIスタジオの住所
< https://aistudio.baidu.com/aistudio/projectdetail/6235423
エピローグ
上記は、景観建築シナリオの安定拡散モデルに基づく私たちの研究室の実験的探索と検証の一部であり、景観建築業界における人工知能の大きな可能性を示しています。数回の実験と工学設計の最適化を繰り返した結果、安定拡散などの生成モデルは景観建築や景観設計の分野に効果的に適用でき、設計者の作業時間を大幅に節約し、業界全体の生産性を向上させます。
より興味のある開発者は、設計管理と設計結果の妥当性検証の問題を克服し、AIGC 関連技術の研究と応用を拡大し、実際のランドスケープ アーキテクチャの証拠に基づいた設計フレームワークを構築するために、私たちに参加することを歓迎します。
- AI Studio プロジェクトのリンク
https://aistudio.baidu.com/aistudio/projectdetail/6088322
- 著作権表示
この記事で使用されている原画およびデザイン案は華南農業大学 SCUrban Lab より提供されたものであり、許可なく複製および商業目的で使用することを禁止します。
- SCUrban Labの住所
参考文献
[1] https://github.com/PaddlePaddle / Paddle NLP /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