天天看點

Polygonal Building Extraction by Frame Field Learning(CVPR2021)

paper: ​​https://arxiv.org/abs/2004.14875​​

code: ​​https://github.com/Lydorn/Polygonization-by-Frame-Field-Learning​​

文章目錄

  • ​​摘要​​
  • ​​簡介​​
  • ​​方法介紹​​
  • ​​幀場​​
  • ​​幀場學習​​
  • ​​幀場多邊形化​​
  • ​​實驗結果​​
  • ​​結論​​

摘要

目前最先進圖像分割模型通常以栅格形式輸出分割,但地理資訊系統中的應用通常需要矢量多邊形。我們在遙感圖像中提取建築物的任務中,将幀場輸出添加到深度分割模型中,将預測的幀場與地面實況輪廓對齊,幫助減少深度網絡輸出與下遊任務中輸出樣式之間的差距。

簡介

由于深度進化神經網絡(CNN)在處理大量含噪圖像方面的成功,它在遙感圖像分割方面已經達到了最先進的水準。然而像開放式街道地圖(OSM),這樣的地理資訊系統需要矢量格式的分割資料(如多邊形和曲線),而不是由分割網絡生成的光栅格式。關于建築分割的一般分為兩大類:

  • 第一種方法将網絡生成的機率圖矢量化為後驗機率圖,例如使用輪廓檢測(marching squares),然後進行多邊形簡化(Ramer–Douglas–Peucker)。然而這種方法會受到平滑的角點影響産生僞影。此外,如圖1所示,由于光栅輸出的離散化會丢失形狀資訊,是以即使是完美機率圖也很難進行多邊形化。
  • 另一類深度分割方法直接學習向量表示。例如,Curve-GCN[23]訓練一個圖卷積網絡(GCN)來疊代變形多邊形,PolyMapper[21]使用遞歸神經網絡(RNN)一次預測一個頂點。雖然這些方法直接預測多邊形參數,但GCN和RNN存在一些缺點。它們不僅更難訓練,而且隻能處理沒有孔洞的簡單多邊形,無法适應複雜的城市建築場景。

本文的建築物提取算法ASM(靈活骨架模型),通過向全卷積網絡添加幀場(見圖1)為分割矢量化、規則化提供了有用的資訊。ASM不是将輪廓拟合到圖像資料,而是拟合一個骨架圖,其中每條邊用一個頂點連接配接兩個節點,可以處理大型建築物和帶有内孔的建築物等複雜場景。

Polygonal Building Extraction by Frame Field Learning(CVPR2021)

圖1:網絡輸出的幀場。

方法介紹

目前的挑戰有兩個方面:一是模型需要做出是否添加輪廓、是否向對象添加孔以及用多少頂點來描述輪廓的離散決策。二是與機率圖不同,多邊形建築物提取的輸出結構不是網格狀的,圖像的網格狀結構必須将輸入轉換為平面圖表示建築輪廓的結構。城市中還有一個問題,就是相鄰的建築物共用一堵牆。理想情況下,這種情況下的輸出幾何體将是多邊形的集合,每個建築物一個,且它們共享對應于公共牆的多段線。目前,沒有一種端到端的深度學習方法能夠解決這個問題。我們的方法主要包括(1)幀場編碼是兩個方向而不是一個方向(角點需要)(2)使用回歸損失而不是分類損失,以及(3)使用耦合損失來促進分割和幀場之間的一緻性。

本文的關鍵思想是通過要求神經網絡以幀場的形式輸出缺失的形狀資訊,幫助多邊形化方法解決由離散機率圖引起的歧義情況(見圖2)。這實際上不會增加訓練和推理時間,允許更簡單、更快的多邊形化,并使分割規則化,進而解決了如果不使用規則化,則會産生圓角的基本真值注釋的小偏差問題。

Polygonal Building Extraction by Frame Field Learning(CVPR2021)

圖2:即使是一個完美的分類圖,由于局部模糊的機率圖,也會産生不正确的多邊形化,如(a)所示,行進方塊的輸出。我們的多邊形化方法疊代優化輪廓(b-d)以與架構場對齊,當架構場(藍色)消除斜牆和角之間的歧義時,産生更好的結果,防止角被切斷。

幀場

幀場是本文方法的關鍵部分。幀場是一個4向量場,它為平面的每個點指定四個向量,前兩個向量被限制為與其他兩個向量相對,即,每個點被配置設定一組向量 { $ { u、−u、 v、−v} $ } 。将幀場定義為兩個複數。因為建築與有機形狀不同,是具有銳角的規則結構,在這些銳角處捕捉方向性需要兩個方向。重新标記和符号變化無關的方式對方向進行編碼,如下式:

Polygonal Building Extraction by Frame Field Learning(CVPR2021)

将式(1)表示為,給定一對,我們可以輕松恢複相應幀的一對方向,:

Polygonal Building Extraction by Frame Field Learning(CVPR2021)

幀場學習

如圖3所示,網絡将3×H×W圖像作為輸入,并輸出像素分類圖和幀場。分類圖包含兩個通道,對應于建築内部,對應于建築邊界。幀場包含四個通道對應的是兩個複系數兩個複數。其中損失函數包括分割損失、幀場損失、輸出耦合損失、最終損失。

Polygonal Building Extraction by Frame Field Learning(CVPR2021)

圖3:給定一個俯視圖像,我們的模型輸出一個邊緣遮罩、内部遮罩和幀場。通過損失函數将遮罩和場與地面真實資料對齊,加強幀場的平滑度,并確定輸出之間的一緻性。

幀場多邊形化

本文的多邊形化方法的主要步驟如圖4所示。其靈感來源于活動輪廓模型(ACM)。ACM用給定的輪廓a初始化,将能量函數E最小化使輪廓點移向最佳位置。本文改寫ACM以便在骨架圖上而不是輪廓上執行優化,進而得到活動骨架模型(ASM),ASM應用于建築牆機率圖$ y_{edge}$的細化方法獲得的骨架圖像的連通像素圖。

Polygonal Building Extraction by Frame Field Learning(CVPR2021)

圖4:我們的後處理多邊形化算法概述。給定内部分類圖和幀場(圖3)作為輸入,我們使用活動骨架模型(ASM)優化輪廓以與幀場對齊,并使用幀場檢測角點,進而簡化非角點頂點。

實驗結果

本文在CrowdAI Mapping Challenge dataset 和 Inria Aerial Image Labeling dataset資料集上進行實驗。

  • CrowdAI dataset,對比了U-Net+ASIP,PolyMapper 及我們的UResNet101的建築物提取結果示例。在表1中,“simple poly”使用“幀場”分割比使用“無幀場”分割效果更好,因為幀場學習具有正則化效果,且PolyMapper的性能優于simple poly,本文的幀場學習和多邊形化方法進一步減少誤差,并優于PolyMapper。
    Polygonal Building Extraction by Frame Field Learning(CVPR2021)

圖5:CrowdAI測試圖像上的建築物提取結果示例。建築從左到右變得更加複雜,對比了U-Net+ASIP,PolyMapper 及我們的UResNet101的建築物提取結果示例。

Polygonal Building Extraction by Frame Field Learning(CVPR2021)

表1:CrowdAI資料集的驗證多邊形的原始曲線的平均最大切線角誤差。

  • Inria dataset,如圖6所示,對比了U-Net16(無幀場),我們的U-Net16(帶幀場)的建築物提取結果,本文的方法成功地處理了複雜的建築形狀。而且如表2所示,相對更重要的平均最大切線角誤差有了顯著的降低。
Polygonal Building Extraction by Frame Field Learning(CVPR2021)

圖6:Inria dataset部分。

結論