牆上的年份

龍坡邦街屋立面年代標記 — Grounded SAM 影像切分與判讀分析
資料來源:DAY4-6 龍坡邦攝影集 512 張 · 處理工具:Grounding DINO + SAM + easyOCR · 2026.07

龍坡邦老城區的街屋,許多在山牆或門楣上以灰泥浮雕標記了自己的落成年份。 這份報告記錄了一次嘗試:用開放詞彙偵測模型自動找出這些牌匾、讀出數字,並依年代重新排列這座城市的立面。 結論比預期複雜 — 「找到牌匾」幾乎完全成功,「讀出數字」幾乎完全失敗, 而這個落差本身,比原本想證明的事情更值得討論。

512
資料夾內照片總數
10
已跑完流程的照片
8
確認讀出的年份
1925–2004
年代跨距(79 年)

SECTION 01類型學拼貼

把不同建築上的同一種構件抽出來並置,是建築攝影的老方法(Bernd & Hilla Becher 的水塔類型學)。 差別在於,這次的裁切不是人工框選,而是模型依文字描述自動切出來的 — carved number plaque、engraved date tablet、relief numbers on gable 這幾個描述詞,讓 Grounding DINO 在完全沒看過龍坡邦的情況下,準確地把浮雕牌匾從屋簷、電線、樹葉裡分離出來。

七棟建築的年份牌匾並置。可以看到明顯的材質演變:1925 與 1937 是與牆體一體成形的灰泥浮雕、字體手感濃厚; 1934 改為黑框白底的獨立嵌板、字體工整化;1962 回到純幾何的凹刻線框;1970 已是貼附式的金屬字加洗石子牆; 2004 則是模仿舊制的重製品 — 形式被保留下來,但已經是引用而非延續。
開口部(門/窗)— 依面積排序、每棟最多取兩件
屋頂與山牆 — 年份牌匾最常出現的位置
觀察:牌匾的位置本身是有規律的。 1930 年代前後的房子把年份放在山牆正中央、與通風孔或花卉浮雕組成一組對稱裝飾; 1960 年代之後改放在女兒牆或雨庇下緣,尺寸縮小、獨立於其他裝飾之外。年份從「立面構圖的一部分」退化成「附加的標籤」。

自組織地圖:讓切片自己找位置

上面三張拼貼的分類是我指定的 — 我先決定「牌匾」「門窗」「屋頂」三個類別,再把切片放進去。 這一步其實偷渡了既有的建築學分類架構。 所以再做了一次相反的實驗:不給任何分類,讓演算法自己決定每張切片該放哪裡。

作法是把 160 個切片各抽成 613 維視覺特徵(24×24 亮度網格捕捉結構、RGB 直方圖捕捉材質色調、 梯度方向直方圖捕捉紋理走向、長寬比與邊緣密度捕捉形狀),標準化後以 PCA 降到 28 維, 再用 Kohonen 自組織地圖(SOM)訓練一個 16×10 的六角鄰域網格,最後以貪婪指派加交換式局部搜尋, 讓每個切片佔據一格。位置完全由視覺相似度決定。

160 個切片的自組織地圖。左下角自動聚出 1962 的凹刻線框牌匾群, 其右側是 2004 的仿舊浮雕群;上方中段聚集 1937 與 1935 的淺浮雕; 右半部整片是山牆與屋簷的斜線構圖;中段則浮現一組通風花磚 — 沒有任何一個群組是事先指定的。
值得注意的是誤判也一起被排出來了。 通風花磚在地圖上自成一區,且緊鄰牌匾群 — 這正好解釋了偵測階段 49% 的精確度: 在視覺特徵空間裡,矩形淺浮雕嵌板與通風花磚本來就是鄰居。 SOM 不只是排版工具,它把分類器會犯的錯誤畫成了地圖。

SECTION 02編年走讀長圖

依牆上自報的年份排序後,這批照片變成一條可以走讀的時間軸。上排是原始拍攝影像,下排是模型切出的對應牌匾,底下是年份與對照的建築分期。

← 可左右捲動 → 編年序列(n=8,其中 1934 與 1935 為同一張照片中的兩棟相鄰建築)
年份建築分期牌匾形式判讀方式
1925華人洋樓期山牆灰泥浮雕,兩側配花卉圓形通風孔目視
1934法殖商業店屋期黑框白底獨立嵌板目視
1935法殖商業店屋期山牆凹刻線框(與 1934 相鄰)目視
1937法殖商業店屋期切角矩形淺浮雕,下方雙方窗目視
1955獨立後現代主義小尺寸金色貼字嵌板目視
1962獨立後現代主義雙層矩形凹刻線框,字體幾何化目視
1970現代郊區風格洗石子牆面 + 立體貼附數字easyOCR
2004世遺登錄後新建/重修仿舊灰泥浮雕,字體現代化目視
整條序列橫跨 79 年,卻只有 1970 那一棟被自動 OCR 讀出來 — 剛好是唯一一棟用「貼附式立體字 + 高對比背景」的房子。其餘七棟全是與牆同色的灰泥浮雕,對 OCR 而言等於是白紙上的白字。

SECTION 03量化分析

流程漏斗:512 張照片如何收斂成 8 個年份

對數尺度。注意第 2 根(已跑流程 10 張)是目前最大的瓶頸 — 涵蓋率僅 2%。

值得注意的是第 3→4→5 段:模型從 10 張照片切出 606 個候選框,其中 391 個被標為牌匾類; 但抽樣目視檢查 110 個候選框後,實際含有可辨識牌匾的只有 54 個(約 49%)。 誤判的主要來源是通風花磚、木百葉窗、店家招牌 — 它們與牌匾共享「矩形淺浮雕嵌板」這個視覺特徵。

年份判讀:自動 OCR vs 目視判讀

同一批 8 個已確認的牌匾切片,easyOCR 讀出 1 個,目視/視覺語言模型判讀讀出 8 個。

這是整份報告最關鍵的一張圖。偵測階段(Grounding DINO)的表現遠優於預期, 辨識階段(easyOCR)則幾乎完全失效。原因不難理解:傳統 OCR 依賴筆畫與背景的亮度差, 而灰泥浮雕的數字與牆體是同一種材質、同一個顏色,唯一的線索是光線在浮雕邊緣造成的陰影 — 陰影會隨拍攝角度與時辰改變,不是穩定的特徵。這類任務需要的是理解「這是一塊刻著數字的牌子」的語意能力,而不是比對邊緣。

index.csv 標籤分布(60 筆)。object 佔 13 筆是詞表覆蓋不足的訊號
信心分數集中在 0.25–0.45(平均 0.377),普遍偏低但仍可用

標籤分布裡 object 高居第一(13/60),代表 Grounding DINO 找到了東西、但詞表裡沒有能對應的詞。 這正是後來加入 heritage 詞組之後、牌匾才開始被正確命名的原因。 信心分數則普遍落在 0.25–0.45 之間 — 以開放詞彙偵測而言偏低,但因為牌匾在畫面中是罕見類別,這個區間反而是正常的。

已辨識建築的分期分布(n=8)。樣本量過小,僅供結構參考,不足以推論全城比例。

SECTION 04方法檢討

有效的部分

失效的部分與修正方向

一個延伸的想法:自動 OCR 失敗這件事,其實與這批建築本身的性質互為表裡。 這些年份不是為了被機器讀取而做的 — 它們是與牆體同色、同材質、需要側光才浮現的手工痕跡, 是給站在街上、抬頭、瞇著眼看的人準備的。 一個必須靠人眼或語意理解才能讀出的標記,某種程度上就是它作為「記憶裝置」而非「資料欄位」的證明。