邊界偵測 是什麼?

Edge Detection:邊界偵測 的完整解釋

識別影像中的邊界與輪廓線,通常輸出二值圖像或邊界概率圖,是許多高級視覺任務的前置步驟。

邊界偵測(Edge Detection)是電腦視覺中最經典的低階任務,其輸出為影像上的邊界點的集合或概率分佈。邊界通常對應物理世界中的語義變化:物體邊界、表面變化、光照跳變等。

傳統邊界偵測算法

  1. 梯度算子

    • Sobel:結合 X 方向與 Y 方向的梯度,計算速度快,對噪聲中等敏感。
    • Scharr:改進的 Sobel,使用不同的係數,對角線方向偵測更準確。
    • Prewitt:類似 Sobel 但平均化效果不同。
    • Roberts:簡單的對角線梯度算子,對 45 度邊界敏感。
  2. 拉普拉斯算子

    • Laplacian:二階導數,直接尋找強度變化的峰值,容易產生雙邊與噪聲放大。
    • Laplacian of Gaussian (LoG):先高斯平滑再拉普拉斯,平衡邊界偵測與噪聲抑制。
  3. Canny 邊界偵測(1986)

    • 迄今仍為廣泛使用的多階段算法。步驟:
      1. 高斯平滑降低噪聲。
      2. 計算梯度強度與方向。
      3. 非極大值抑制(non-maximum suppression)細化邊界寬度。
      4. 雙閾值與邊界追蹤消除假邊界。
    • 優點:邊界精細、噪聲抑制好。缺點:對參數敏感,調參困難。
  4. 相位同余邊界偵測(Phase Congruency)

    • 基於傅立葉分析,對邊界位置的相位一致性敏感。
    • 優點:對光照變化、邊界不連續的適應性好。缺點:計算複雜。

深度學習方法

  1. 卷積邊界偵測(2015-2020)

    • HED(Holistically-Nested Edge Detection):多尺度層級特徵串接,為每層輸出邊界,最後聚合。
    • RCF(Richer Convolutional Features):結合多層特徵,改善邊界精確性。
    • DexiNed(Densely eXtracted iNtermediate Edges):動態融合多層邊界資訊。
  2. Transformer 與注意力(2021 年後)

    • DINNet、EDTER 等模型引入自注意力,改善全局邊界一致性。
    • 結合多尺度特徵與邊界細化模組。
  3. 邊界細化與後處理

    • 邊界追蹤(boundary tracing)與多邊形近似提高邊界的幾何精度。
    • 邊界連通性約束強制相鄰邊界點的連接。

評估指標

  • 精確率與召回率:基於邊界點與地真邊界的距離閾值(通常 0.75% 的影像對角線),判斷偵測結果的正確性。
  • F 值:精確率與召回率的調和平均。
  • Optimal Dataset Scale(ODS):在最優閾值下的 F 值。
  • Optimal Image Scale(OIS):每張影像獨立尋最優閾值後的平均 F 值,通常高於 ODS。
  • 邊界位置精確度:基於各種距離度量(如 Hausdorff distance)的邊界點準位計算。

常見應用場景

  • 物體識別前置:邊界能大幅簡化後續的物體分割與追蹤。
  • 3D 重建:邊界是鍵盤點匹配與極線約束計算的起點。
  • 醫療影像分析:器官邊界精確性對手術規劃至關重要。
  • 文件掃描與校正:邊界偵測用於自動校正傾斜的文件。
  • 車道線檢測:自動駕駛中的基礎任務。
  • 影像壓縮與編碼:邊界圖可用於選擇性編碼高重要區域。

主要挑戰

  • 邊界定義多重性:同一影像的邊界定義可能因應用而異(邊界包括物體邊界、紋理邊界、陰影邊界等)。
  • 邊界分組(聯想):孤立的邊界點片段應如何組織成完整的邊界結構。
  • 細弱邊界:低對比的邊界容易漏報。
  • 計算效率:實時應用需要快速邊界偵測(通常 < 100ms)。

邊界與輪廓的區別

  • 邊界(edge):影像層級的低階特徵,純粹基於像素亮度/顏色變化。
  • 輪廓(contour):經邊界偵測、連接、優化後的高階邊界表示,對應實際物體邊界。

實務應用建議

邊界偵測在現代應用中通常不單獨使用,而是作為前置步驟或與其他任務組合。例如,在文件掃描應用中,Canny 邊界偵測後透過 Hough 轉換提取直線;在醫療影像中,邊界偵測結果常作為活動輪廓模型(active contour)的初始化。選擇傳統還是深度學習方法取決於速度需求、計算資源與訓練資料可用性:小資料、實時性要求高時用傳統算法;大資料、精度要求高時用深度學習。

常見問題