您現在的位置是:首頁 > 攝影首頁攝影

基於深度學習的影象邊緣和輪廓提取方法介紹

由 閃念基因 發表于 攝影2021-07-05
簡介將這四個平行且相同的資料流連線到兩個獨立訓練的分支組成的分叉子網路,一個分支學習預測輪廓似然(以分類為目標),而另一個分支訓練學習在給定點輪廓的存在(基於迴歸測度),如圖是 DeepEdge 架構圖,其中 Canny 邊緣檢測器提取候選輪廓

邊緣輪廓是什麼意思

基於深度學習的影象邊緣和輪廓提取方法介紹

導讀:

邊緣和輪廓的提取是一個非常棘手的工作,細節也許就會被過強的影象線條掩蓋,紋理(texture)本身就是一種很弱的邊緣分佈模式,分級(hierarchical)表示是常用的方法,俗稱尺度空間(scale space)。以前做移動端的視覺平臺,有時候不得不把一些影象處理功能關掉,原因是造成了特徵畸變。現在 CNN 模型這種天然的特徵描述機制,給影象預處理提供了不錯的工具,它能將影象處理和視覺預處理合二為一。

——邊緣提取——

1. HED

整體巢狀邊緣檢測( Holistically-Nested Edge Detection,HED 是一個深度學習的邊緣提取的演算法,兩個特色:(1)整體影象訓練和預測; (2)多尺度、多層特徵學習。該深度模型利用全卷積網路,自動學習豐富的分層表示(基於側面響應的深層監督指導)。

多尺度深度學習可分為四類,即多流學習(multi-stream)、跳網(skip-net learning)學習、多輸入單模型以及獨立網訓練,如圖所示:(a)多流架構; (b)跳網架構; (c)多尺度輸入的單一模型; (d)不同網路獨立訓練; (e)HED,其中新增多個側面輸出。

基於深度學習的影象邊緣和輪廓提取方法介紹

在表示和計算複雜性方面,(a)-(d)方法存在冗餘。(e)HED 是一個相對簡單的變體,能夠從多個尺度產生預測。該結構可以被解釋為(d)“獨立網路”法的“整體巢狀”版,包括多個側輸出的單流深度網路。隱藏層監督可以改善影象分類任務的最佳化和泛化。如果需要統一輸出,多側向輸出可以靈活地新增額外的融合層。

如圖是 HED 的網路架構圖,在卷積層之後插入側輸出層,在每個側輸出層施加深度監督,引導側輸出成為邊緣預測。HED 輸出是多尺度多層,側輸出面變小,感受野變大。一個加權融合層自動學習如何組合來自多個尺度的輸出。整個網路透過多個誤差傳播路徑(虛線)訓練。

基於深度學習的影象邊緣和輪廓提取方法介紹

下圖給出HED的部分實驗結果。(a)測試影象;(b)手工標註的邊緣;(c)HED 結果。(d)、(e)和(f)卷積神經網路的層2、3和4的側邊響應。(g)、(h)和(i)Canny 邊緣檢測器在尺度 σ= 2。0、σ= 4。0 和 σ= 8。0 的邊緣響應。HED 與 Canny 在一致性方面顯示出明顯的優勢。

基於深度學習的影象邊緣和輪廓提取方法介紹

2. CASENet

CASENet 將每個邊緣畫素與多於一個的邊緣類相關聯,是一種基於 ResNet 的端到端深度語義邊緣學習的架構,同時也是一種跳層(skip-layer)架構,其中頂層卷積層的類別邊緣啟用共享並與底層特徵的同一集融合,這裡一種多標籤損失函式來監督啟用的融合。

三種 CNN 架構的比較如圖(a)-(c)所示。圖中實心矩形表示 CNN 層的組合塊。寬度減小表示輸出特徵圖的空間解析度下降2倍。箭頭旁邊的數字表示輸出特徵的通道數。藍色實心矩形是一堆 ResNet 塊。紫色實心矩形是分類模組。紅色虛線框表示輸出由損失函式監控。灰色實心矩形是側面特徵提取模組。深綠色實心矩形是融合分類模組,執行 K 個分組1×1卷積。圖(d)-(h)是圖(a)-(c)中模組細節,其中矩形是輸入和輸出特徵圖。

基於深度學習的影象邊緣和輪廓提取方法介紹

圖(a)是基礎網路,採用全卷積網路框架,在 ResNet-101 刪除平均池化和全連線層並保留底部卷積塊;將 ResNet-101 中第一個和第五個卷積塊(“res1”和“res5”)的步幅從2改為1;將擴張因子(dilation factors)引入後續的卷積層以保持原始 ResNet 相同的感受野;在基礎網路的頂部,新增分類模組(圖(d))作為1×1卷積層,然後是雙線性上取樣(由 K 分組反捲積層實現)產生一個 K 個啟用圖 { A1,···,AK } 的集合,其中每個啟用圖都與影象尺寸相同;然後,Yk(p)=σ(Ak(p))定義的 sigmoid 單元對畫素屬於第 k 類邊緣的機率建模。

前面 HED 網路的基本思路是除了頂部網路損失以外還考慮底層卷積損失。另外,透過監督側面啟用的線性組合來獲得融合邊緣圖。不過,HED 僅執行二進位制邊緣檢測。深度監督網路(DSN)擴充套件了這種架構,處理側輸出的K通道和最終輸出的 K 通道,如圖(b)所示。在該網路中,將上述分類模組連線到每個殘差塊的輸出,產生5個側分類啟用圖 { A(1), 。。。 , A(5)},其中每個啟用圖都有K通道。然後,透過切片連線層(sliced concatenation layer)融合這5個啟用圖(圖中顏色表示圖(g)的通道索引)產生 5K 通道啟用圖:

Af 饋入融合分類層,該分類層執行 K-組 1×1卷積(圖(f))產生 K-通道啟用圖A(6)。最後,在啟用圖 {A(1),。。。,A(6)}計算6個損失函式,為該網路提供深入監督。

由於監督5個側面啟用,隱含地約束了那些側面啟用的每個通道只帶有該類別最相關的資訊。由於切片級聯和分組卷積,畫素 p 的融合啟用由下式給出:

基於深度學習的影象邊緣和輪廓提取方法介紹

CASENet 採用巢狀式架構(nested architecture),改進點如下:

① 將底部分類模組更換為特徵提取模組。

② 放置分類模組,僅在網路頂部施加監督。

③ 採用共享串聯(圖(h))而不是切片連線。

側面特徵提取和側面分類之間的區別在於前者僅輸出單個通道特徵圖 F(j)而不是 K 類啟用。共享級聯從 Side-1-3 複製底部特徵 F = {F(1),F(2),F(3)},分別與 K 個頂部啟用的每一個相連線:

到的連線啟用圖再被饋送到有 K-分組卷積的融合分類層,產生 K-通道啟用圖 A(6)。

通常 CASENet 被認為是聯合邊緣檢測和分類的網路,它讓較低階的特徵參與並透過跳層結構增強高階的語義分類。

下圖是 CASENet 和 DSN 的結果比較,從左到右:輸入,基礎事實,DSN 和 CASENet。CASENet 在具有挑戰性的目標上顯示出更好的檢測質量,而 DSN 在非邊緣畫素有更多的誤報。

基於深度學習的影象邊緣和輪廓提取方法介紹

——輪廓提取——

1. DeepEdge

以前大多使用紋理或顯著性等低階特徵來檢測輪廓,而 DeepEdge 利用目標相關特徵作為輪廓的高階線索檢測。設計的是多級深度網路,由五個卷積層和一個分叉全連線子網路(bifurcated fully-connected subnetwork)組成。從輸入層到第五個卷積層是預訓練網路,直接用於影象輸入的四個不同尺度。將這四個平行且相同的資料流連線到兩個獨立訓練的分支組成的分叉子網路,一個分支學習預測輪廓似然(以分類為目標),而另一個分支訓練學習在給定點輪廓的存在(基於迴歸測度),如圖是 DeepEdge 架構圖,其中 Canny 邊緣檢測器提取候選輪廓點,然後在每個候選點周圍,提取四個不同尺度的補丁,同時透過預訓練的 KNet 五個卷積層。

基於深度學習的影象邊緣和輪廓提取方法介紹

一個解釋模型架構的單尺度示意圖,在下圖給出:首先,輸入以候選點為中心的補丁,經過 KNet 五個卷積層;為了提取高階特徵,在每個卷積層提取圍繞中心點的特徵圖的小子容積,並在子容積上執行最大、平均和中心池化。池化值饋入分叉子網路。測試時,從分叉子網路的分支計算的標量輸出做平均,生成最終輪廓預測。

基於深度學習的影象邊緣和輪廓提取方法介紹

如圖給出部分實驗結果:左到右依次為輸入影象、Canny 邊緣檢測器產生的候選點集合、非閾值預測、閾值預測和基礎事實圖。為了生成閾值預測,機率閾值設為0。5。

基於深度學習的影象邊緣和輪廓提取方法介紹

2. CEDN

另外一種方法利用全卷積編碼器-解碼器網路(CEDN),端到端訓練的資料來自 PASCAL VOC 中修正的不準確的多邊形標註,其網路架構如圖所示。

基於深度學習的影象邊緣和輪廓提取方法介紹

部分實驗結果見圖:從左到右依此是(a)輸入影象,(b)GT 輪廓,(c)具有預訓練 CEDN 的輪廓檢測,和(d)具有細調 CEDN 的輪廓檢測。

基於深度學習的影象邊緣和輪廓提取方法介紹

——參考文獻——

1。 G Bertasius, J Shi, L Torresani,“DeepEdge: A Multi-Scale Bifurcated Deep Network for Top-Down Contour Detection”, CVPR, 2015

2。 S Xie, Z Tu,“Holistically-Nested Edge Detection“, ICCV 2015

3。 W Shen et al。,“DeepContour: A Deep Convolutional Feature Learned by Positive-sharing Loss for Contour Detection”, CVPR 2015

4。 Z Yu et al。,“CASENet: Deep Category-Aware Semantic Edge Detection”, CVPR 2017