楊本顥筆記・知識・作品

首頁 / 作品 / RoomPilot

01 / PROJECT · LLM 應用 · 後端 · 3D 與幾何

RoomPilot 室內配置助手

從平面圖與居住需求出發,在 3D 場景裡查看家具配置。

家具操作延遲 21.5 秒降到 0.33 秒,並以像素比對證明畫面沒變

21.5 → 0.33 秒家具操作的等待時間
七人畢業專題 · 組長LLM 應用後端3D 與幾何
陽光下的紙板房間模型,有沙發、茶几與藍色小球,RoomPilot 室內配置助手概念封面
專案概念封面

HOW IT WORKS / 如何使用

想像家具擺進家裡的樣子不容易,AI 配置也可能擋門或重疊。
STEP 01

上傳平面圖

STEP 02

確認格局

STEP 03

輸入需求

STEP 04

查看配置

這個作品做了什麼?

AI 室內設計輔助工具。使用者上傳平面圖,系統辨識格局、依需求配置家具、產出 3D 場景與設計師簡報。生成式模型會擺出重疊、擋門、動線不通的佈局,所以模型只產候選,幾何規則層做唯一的合法性裁決。

為什麼做
想像家具擺進家裡的樣子不容易,AI 配置也可能擋門或重疊。
我的角色
七人畢業專題 · 組長
01

背景與挑戰

設計師或屋主拿到一張平面圖,要花數小時試擺家具。生成式模型一秒能擺出一套佈局,但會重疊、擋門、動線不通,而且不會告訴你它錯了。技術上的挑戰有兩層:讓模型的產出能被機械地驗證;把六個人各自寫的子系統接成一個服務。

02

我負責的部分

七人團隊組長。負責跨模組介面契約、repo 重組、幾何規則層、3D 場景效能與最終整合。模型呼叫與前端頁面由其他組員負責。

FastAPI · PostgreSQL · Shapely · three.js · Anthropic SDK

03

成果與驗證

21.5s → 0.33s家具操作延遲,約 65 倍;每通道像素平均差 0.04/255
14 / 27main 上的合併 commit 由我送出,全隊最多
793筆燈具資料(8.95 GB 模型)保住而非刪除
69個 API 端點、115 支測試檔、8,557 筆家具型錄

以上為專案在 2026-09-01 至 09-07 整理的成果;測試集與實際使用情境不同,個別量測範圍見各項說明。

04

實作過程

展開技術選擇、遇到的問題與解法
  • 把六個互不相容的子系統收斂成一個服務。訂跨模組介面契約與三條架構不變量(家具座標只有引擎能算、單位換算只在兩個邊界、座標轉換集中一處),主導 repo 重組。
  • 寫規則層。11 項空間檢核與加權評分;診斷家電邊界失守(過濾清單 11 個名稱有 6 個對不上型錄)並補 12 支雙向契約測試。
  • 擋下一次不可逆的資料刪除。AI 產的檢視報告說兩份 manifest 重複可刪一份;逐列比對三萬餘列後確認差額 793 筆燈具只存在母集合,改為重建索引並分桶標記待審。
  • 3D 場景效能。找出 shader 每次重編的根因,做資產模板快取與 LRU;用像素比對證明畫面沒變。

延伸閱讀:這個專案的工程筆記