本リポジトリでは、令和7年度 Project PLATEAU において開発された「3D都市モデル生成ツール」のソースコードを公開しています。
「3D都市モデル生成ツール」は、建物フットプリントデータおよびユーザーが指定するパラメータに基づき、建築物、道路、植生、都市設備を含む3D都市モデルを自動生成するWebベースのオーサリングツールです。本ツールは、衛星画像や沿道画像を対象とした3D都市モデルの作成に対応しており、LOD1〜LOD3の詳細度に対応しています。
※本プロジェクトは、令和7年度「都市デジタルツインの実現に向けた研究開発及び実証調査業務」(内閣府「研究開発とSociety 5.0との橋渡しプログラム(BRIDGE)」)の一部として実施されました。
「3D都市モデル生成シミュレータ」プロジェクトは、3D都市モデルのアクセシビリティおよびスケーラビリティを向上させ、都市デジタルツインの構築にかかるコストや工数の削減を目的としています。この目的の達成に向けて、最新の自動生成AI技術を中核とする3D都市モデル生成シミュレータを開発しました。
本シミュレータは、建築物、道路、都市設備、植生といった主要な都市要素に対応しており、LOD(詳細レベル)をユーザーが任意に設定できる設計となっています。また、生成した3D都市モデルはCityGML形式で出力可能であり、ツール上での可視化および操作にも対応しています。
本システムの構築手順及び利用手順については利用チュートリアルを参照してください。
-
衛星画像リファレンス機能
- 衛星画像に基に、建物輪郭・屋根形状・道路・植生を抽出するとともに、それらの空間分布に基づき、AIを用いて3D都市モデルを生成します。
- インスタンスセグメンテーションやセマンティックセグメンテーション等を用いたアルゴリズムを採用しています。
-
沿道映像リファレンス機能 (LOD3のみ)
- 沿道映像からLOD3に必要な開口部情報に関するパラメータを抽出します。
- 三次元再構築、セグメンテーション、点群ラベリングを用いたアルゴリズムを採用しています。
-
パラメータ設定機能
- LOD、スケール、対象地物などの汎用的なパラメータを設定可能です。
-
実際の都市における仮想3D建築物モデル生成機能
- パラメータ(LOD, 建物輪郭、屋根形状,高さ)に基づいて、3D建築物を生成し、CityGML(PLATEAU v4)形式で出力します。
- PLATEAUの3D建築物モデルを学習して、衛星画像と沿道画像(LOD3の場合)から3D建築物モデルを生成します。
-
道路モデル生成機能
- LOD, 道路種別に基づいて、OSMから道路モデルを生成し配置します。
- CityGML (PLATEAU v4) 形式で出力されます。
-
植生モデル生成機能
- LOD, 種別に基づいて、植生モデルを生成し配置します。
- CityGML (PLATEAU v4) 形式で出力されます。
-
都市設備モデル生成機能
- LOD, 種別に基づいて、都市設備モデルを生成し配置します。
- CityGML (PLATEAU v4) 形式で出力されます。
-
可視化機能
- 生成した3D都市モデルはツール上で可視化されます。
| 種別 | 名称 | バージョン | 内容 |
|---|---|---|---|
| ソフトウェア | PyCharm Community | - | Pythonで開発する際に使用するソフトウェア |
| Visual Studio Code | - | C++で開発する際に使用するソフトウェア | |
| ライブラリ | Computational Geometry Algorithms Library (CGAL) | - | メッシュを生成、最適化する際に使用するライブラリ |
| PyTorch | - | 深層学習モデルの構築・訓練・推論を行うための主要フレームワーク | |
| torchvision | - | 画像データの読み込みや前処理、モデルの実装を提供するライブラリ | |
| accelerate | 1.0.0 | 分散学習やマルチGPU環境でのトレーニングを簡素化するライブラリ | |
| transformers | 4.45.2 | NLP・CV向けの事前学習モデルを提供するライブラリ | |
| datasets | 3.1.0 | 機械学習用データセットの管理・前処理を行うライブラリ | |
| open_clip_torch | 2.26.1 | CLIPモデルの実装を提供し、画像と言語のマルチモーダル理解を実現 | |
| clip | - | 画像と言語の対応関係を学習するマルチモーダルモデル | |
| timm | 1.0.9 | 画像分類モデルを多数提供するPyTorchベースのライブラリ | |
| einops | 0.8.0 | テンソル操作を直感的に記述できるライブラリ | |
| vector-quantize-pytorch | 1.17.8 | ベクトル量子化(VQ)を実装するためのライブラリ | |
| ema-pytorch | 0.7.0 | EMA(指数移動平均)によるモデル安定化を実現するライブラリ | |
| x-transformers | 1.30.23 | Transformerモデルの拡張実装を提供するライブラリ | |
| local-attention | 1.9.15 | 局所注意機構を実装するライブラリ | |
| rotary-embedding-torch | 0.8.4 | Rotary positional embeddingを実装するライブラリ | |
| gateloop-transformer | 0.2.5 | Transformerの改良モデルを提供するライブラリ | |
| taylor-series-linear-attention | 0.1.12 | 線形注意機構を近似するためのライブラリ | |
| classifier-free-guidance-pytorch | 0.7.1 | 生成モデルのガイダンス手法を実装するライブラリ | |
| opencv-python | 4.10.0.84 | 画像処理・コンピュータビジョン用ライブラリ | |
| scikit-image | 0.24.0 | 画像処理アルゴリズムを提供するライブラリ | |
| imageio | 2.36.0 | 画像・動画の読み書きを行うライブラリ | |
| tifffile | 2024.8.30 | TIFF形式の画像データを扱うライブラリ | |
| Pillow | 10.4.0 | Pythonの画像処理ライブラリ | |
| numpy | 1.26.4 | 数値計算・配列処理の基盤ライブラリ | |
| scipy | 1.13.1 | 科学技術計算ライブラリ | |
| pandas | 2.2.3 | データ分析・処理ライブラリ | |
| networkx | 3.2.1 | グラフ構造の構築・解析ライブラリ | |
| shapely | 2.0.6 | 幾何演算・トポロジー解析ライブラリ | |
| geopandas | 1.0.1 | 地理空間データ処理のための拡張pandas | |
| pyproj | 3.6.1 | 座標変換ライブラリ | |
| rasterio | 1.4.3 | ラスタデータの読み書き・処理 | |
| osmnx | 2.0.7 | OpenStreetMapデータの取得・解析 | |
| pyogrio | 0.10.0 | 高速ベクターデータI/Oライブラリ | |
| geojson | 3.2.0 | GeoJSONデータの生成・操作ライブラリ | |
| open3d | 0.18.0 | 3D点群処理・可視化ライブラリ | |
| trimesh | 4.4.9 | 3Dメッシュ処理ライブラリ | |
| mesh2sdf | 1.1.0 | メッシュをSigned Distance Fieldに変換するライブラリ | |
| earcut | 1.1.5 | ポリゴンの三角形分割ライブラリ | |
| triangle | 20250106 | 2Dメッシュ生成ライブラリ | |
| onnxruntime | 1.19.2 | ONNXモデルの高速推論ランタイム | |
| optimum | 1.23.3 | モデル推論最適化ライブラリ | |
| tokenizers | 0.20.0 | 高速トークナイザライブラリ | |
| sentencepiece | 0.2.0 | サブワード分割ライブラリ | |
| pydantic | 2.10.3 | データ検証・設定管理ライブラリ | |
| omegaconf | 2.3.0 | 設定ファイル管理ライブラリ | |
| PyYAML | 6.0.2 | YAMLデータ処理ライブラリ | |
| fastapi | 0.115.6 | 高速API開発フレームワーク | |
| uvicorn | 0.32.1 | ASGIサーバー | |
| gradio | 4.44.1 | 機械学習モデルのWeb UI構築ライブラリ | |
| Flask | 2.3.3 | 軽量Webフレームワーク | |
| plotly | 5.24.1 | インタラクティブ可視化ライブラリ | |
| bokeh | 3.4.3 | Webベースの可視化ライブラリ | |
| tqdm | 4.66.5 | プログレスバー表示ライブラリ |
| 項目 | 最小動作環境 | 推奨動作環境 |
|---|---|---|
| OS | Ubuntu 20.08 | 同左 |
| GPU | メモリ16GB以上 | NVIDIA A100推奨 |
| Python | Anaconda | 同左 |
| CUDA | CUDA>=11.3 | CUDA==12.4 |
| フォルダ名 | 詳細 |
|---|---|
| BldgGen2025 | 3D都市生成のコアモデルおよび計算とデータ処理機能 |
| BridgeUI | 3D都市生成のフロントエンドインターフェースおよび可視化ツールの機能 |
| figure | ツールおよびワークフローの概念図 |
| environment.yml | コア計算部分の環境構築用設定ファイル |
| requirements.txt | Pythonライブラリをインストールするためのrequirementsファイル |
- ソースコード及び関連ドキュメントの著作権は国土交通省に帰属します。
- 本ドキュメントはProject PLATEAUのサイトポリシー(CCBY4.0及び公共データ利用規約第1.0版)に従い提供されています。
- 本リポジトリは参考資料として提供しているものです。動作保証は行っていません。
- 本リポジトリについては予告なく変更又は削除をする可能性があります。
- 本リポジトリの利用により生じた損失及び損害等について、国土交通省はいかなる責任も負わないものとします。
関連する論文

