邊界偵測 是什麼?
Edge Detection:邊界偵測 的完整解釋
識別影像中的邊界與輪廓線,通常輸出二值圖像或邊界概率圖,是許多高級視覺任務的前置步驟。
邊界偵測(Edge Detection)是電腦視覺中最經典的低階任務,其輸出為影像上的邊界點的集合或概率分佈。邊界通常對應物理世界中的語義變化:物體邊界、表面變化、光照跳變等。
傳統邊界偵測算法
梯度算子
- Sobel:結合 X 方向與 Y 方向的梯度,計算速度快,對噪聲中等敏感。
- Scharr:改進的 Sobel,使用不同的係數,對角線方向偵測更準確。
- Prewitt:類似 Sobel 但平均化效果不同。
- Roberts:簡單的對角線梯度算子,對 45 度邊界敏感。
拉普拉斯算子
- Laplacian:二階導數,直接尋找強度變化的峰值,容易產生雙邊與噪聲放大。
- Laplacian of Gaussian (LoG):先高斯平滑再拉普拉斯,平衡邊界偵測與噪聲抑制。
Canny 邊界偵測(1986)
- 迄今仍為廣泛使用的多階段算法。步驟:
- 高斯平滑降低噪聲。
- 計算梯度強度與方向。
- 非極大值抑制(non-maximum suppression)細化邊界寬度。
- 雙閾值與邊界追蹤消除假邊界。
- 優點:邊界精細、噪聲抑制好。缺點:對參數敏感,調參困難。
- 迄今仍為廣泛使用的多階段算法。步驟:
相位同余邊界偵測(Phase Congruency)
- 基於傅立葉分析,對邊界位置的相位一致性敏感。
- 優點:對光照變化、邊界不連續的適應性好。缺點:計算複雜。
深度學習方法
卷積邊界偵測(2015-2020)
- HED(Holistically-Nested Edge Detection):多尺度層級特徵串接,為每層輸出邊界,最後聚合。
- RCF(Richer Convolutional Features):結合多層特徵,改善邊界精確性。
- DexiNed(Densely eXtracted iNtermediate Edges):動態融合多層邊界資訊。
Transformer 與注意力(2021 年後)
- DINNet、EDTER 等模型引入自注意力,改善全局邊界一致性。
- 結合多尺度特徵與邊界細化模組。
邊界細化與後處理
- 邊界追蹤(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)的初始化。選擇傳統還是深度學習方法取決於速度需求、計算資源與訓練資料可用性:小資料、實時性要求高時用傳統算法;大資料、精度要求高時用深度學習。