?

引入注意力機制的整體嵌套邊緣檢測網絡

2023-08-22 05:10劉超超司亞超
河北建筑工程學院學報 2023年2期
關鍵詞:像素點算子邊緣

劉超超 司亞超

(河北建筑工程學院,河北 張家口 075000)

0 引 言

邊緣檢測(或輪廓檢測)是指借助計算機技術,對數字化圖像中相鄰像素間亮度、紋理、顏色等發生明顯變化的像素點進行標識,以此來捕捉整幅圖像中像素點的顯著性變化,借助這些變化的像素點來刻畫圖像中所出現的所有物體、圖案等的外部邊緣情況.具體來講,邊緣檢測的任務是對于給定的一副圖像中的所有像素點,判斷該像素點是邊緣像素點還是非邊緣像素點,即對該像素點進行二分類,對應的整幅圖像的邊緣檢測任務可以被認為是一個有關像素點的稠密預測二分類問題.邊緣檢測任務是圖像處理技術和計算機視覺中的基礎性問題,對后續的計算機視覺高層任務如目標檢測、圖像分割、視覺跟蹤等有一定的促進作用.

邊緣檢測作為計算機視覺中長期發展和演進的任務,一直以來受到研究者們的廣泛關注.在邊緣檢測相關算法的發展歷程中,可以劃分為兩個階段:由人類專家手工設計的傳統的邊緣檢測算子和自動化參數設計的基于深度學習的卷積神經網絡算法.傳統的邊緣檢測算子主要是利用了圖像中梯度信息,借助求解圖像在不同方向上的梯度變化時的階躍變化特點,即在圖像中物體與背景、物體與物體之間的梯度的顯著差異性進行邊緣檢測,可以劃分為一階微分邊緣檢測算子和二階微分邊緣檢測算子等[1].傳統邊緣檢測算子受限于卷積核的大小,只考慮到圖像中局部感興趣區域內的像素取值的變化,借助像素取值梯度信息尋找邊緣點,未能充分利用整幅圖像級別的語義特征.

隨著深度學習在計算機視覺任務(如圖像分類、圖像生成、物體檢測、圖像分割等)中的持續突破,顯示了卷積神經網絡在提取蘊含在圖像中高層語義特征的能力.將卷積神經網絡應用于邊緣檢測任務,能夠自動地學習圖像的特征信息,避免了手工設計特征提取時存在的偏差,同時卷積神經網絡能夠捕捉整幅圖像的語義特征,可以顯著改善提取的邊緣圖像的準確性,減少因圖像成像過程中噪聲、光照、投影、畸變對邊緣檢測的影響.2014年的N4-Fields提出使用卷積神經網絡提取圖像中各個特征塊的特征表示[2],將特征表示在字典中搜索潛在的匹配結果,使用匹配到的結果得到邊緣信息.2015年的DeepEdge網絡借助Knet將邊緣檢測轉化為分類和回歸的問題、DeepContour方法利用聚類算法對邊緣圖像進行劃分,并使用卷積神經網絡提取特征、隨機森林算法整合特征圖來輸出邊緣線條[3].2015年的HED網絡在VGG16網絡中引入側邊結構[4],借助多尺度和多層次的訓練,首次實現了端到端的邊緣檢測網絡[5].2017年的RCF網絡使用多階段卷積過程中的所有特征圖,顯著提升了邊緣檢測結果的準確性.2021年的PiDiNet網絡從傳統的邊緣檢測算子中受到啟發,使用像素差分卷積網絡將邊緣檢測結果提升到與人類視覺水平相當的水準.

1 傳統邊緣檢測算子

傳統的邊緣檢測算子主要依賴于圖像的梯度信息,根據對圖像梯度求偏導數時次數可分為一階微分邊緣檢測算子和二階微分邊緣檢測算子.常見的一階微分邊緣檢測算子包括Roberts交叉梯度算子、Prewitt算子、Sobel算子、Scharr算子等,二階微分邊緣檢測算子包括Laplace算子等.

假設圖像在像素點(x,y)處的像素取值函數為f(x,y),在該像素點的一階微分(梯度信息)可以表示為一個具有方向和大小的矢量值,即:

(1)

由于圖像的像素取值函數f(x,y)為離散的二維函數,相應的微分運算就是相鄰像素之間的差值,對應的水平方向與垂直方向一階微分結果為:

(2)

(3)

(4)

方向角為:

(5)

同理,在該像素點的水平方向和垂直方向的二階微分可表示為:

(6)

(7)

由此可得二階微分的Laplace算子為:

(8)

1.1 Roberts交叉梯度算子

Roberts交叉梯度算子利用對角線方向的像素之間的像素差值進行梯度檢測,對應的Roberts算子的模板為:

(9)

Roberts算子的參數少,運算量小,對噪聲干擾的平滑作用不明顯,主要對邊緣變化顯著而噪聲干擾較少的圖像較為適用.

1.2 Prewitt算子

Prewitt算子主要是利用像素點周圍的其他像素的平均來抑制噪聲對該像素點的影響,借助周圍像素點的平滑及補償來消除噪聲的影響,對應的Prewitt算子的模板為:

(10)

Prewitt算子的計算量相對Roberts算子略大一些,但是在抑制噪聲影響效果中相對較好,但是整體的邊緣定位效果稍遜于Roberts算子.

1.3 Sobel算子

Sobel算子與Prewitt算子相似,都是借助像素點周圍其他像素的加權平均來抑制噪聲影響,但是Sobel算子增加了像素點水平方向左側及垂直方向上上側像素點的權值、并相應減少了水平方向右側及垂直方向上下側像素點的權值,更加強調了不同像素位置對邊緣結果的影響,對應的Sobel算子的模板為:

(11)

Sobel算子的計算量與Prewitt算子的計算量相同,在平滑周圍像素點抑制噪聲方面相比Prewitt算子略有提升,但仍然難以應對復雜圖案情形下及噪聲干擾影響較大的圖像邊緣提取任務.

1.4 Scharr算子

Scharr算子與Sobel算子相似,同樣對水平和垂直兩個方向的邊緣設置了不同的檢測模板,相比于Sobel算子,調整了周圍像素點的權值,能夠對相鄰像素間數值的突變給出較強的響應,對應的Scharr算子的模板為:

(12)

1.5 Laplace算子

Laplace算子與之前的一階微分算子不同,主要借助像素點的二階微分進行計算.根據圖像的邊緣點附近的灰度值有較大的變化這一特點,結合二元函數偏導數的數學性質,可以獲知在圖像的邊緣點的一階微分偏導數有局部的極值,從而二階微分偏導數通過零點.因而Laplace算子是通過借助求解整幅圖像中像素點二階微分的零點的位置,以此來找到整幅圖像中的邊緣點,進而實現對圖像的邊緣檢測.常見的Laplace算子的模板為:

(13)

2 HED網絡

HED網絡(Holistically-Nested Edge Detection,整體嵌套邊緣檢測)是由謝賽寧和屠卓文于2015年提出的用于邊緣檢測任務的深度神經網絡,HED網絡的骨干網絡主要基于VGG網絡.HED網絡第一次實現了端到端的邊緣檢測,通過融合多個層級的特征圖像,輸出多尺度的邊緣圖像.

2.1 VGG網絡

VGG網絡是由牛津大學視覺幾何工作組于2014年提出的深度卷積神經網絡,該網絡主要應用于圖像分類任務,曾獲得ILSVR2014圖像分類任務分賽道的冠軍[6].有鑒于VGG網絡表現出的對圖像語義級別強大的特征提取能力,該網絡也常常作為目標檢測、圖像分割等計算機視覺任務的骨干網絡.VGG網絡常見的形式包括四種,分別為11層、13層、16層、19層網絡,隨著網絡程度的加深,提取高層語義特征的能力越強,但其計算量也相應增加,經過該網絡的前向推理時長也越長.在不同的計算機視覺任務中,往往會根據實際任務的需要做出平衡,選擇合適的VGG網絡形式,其中VGG16網絡是使用率較高的深度卷積神經網絡.HED網絡使用的骨干網絡即是根據VGG16網絡修改得到的,下面將對VGG16網絡進行簡短介紹.

VGG16網絡結構如圖1所示,在圖示上方標注了網絡各層對應的特征圖尺寸大小,即特征圖的寬、高及相應的通道深度.VGG16網絡輸入圖像的大小限定為224*224分辨率的彩色圖像,可將VGG16網絡分為由五個卷積塊組成的卷積神經網絡和全連接網絡兩部分,前者主要對輸入圖像進行特征提取,得到對應的特征輸出,后者主要根據特征輸出進行分類,得到分類結果.五個卷積塊的結構相似,都是經由兩個或三個卷積層來獲得較大尺寸、較深層次的特征圖,再經過池化層對特征圖尺寸進行縮減.VGG16網絡中廣泛使用了3*3大小的卷積核,通過堆疊兩個3*3的卷積核來代替一個5*5的卷積核、通過堆疊三個3*3的卷積核來代替一個7*7的卷積核,整體上減少了參數計算量,同時保持了相比于原始輸入的感受野的大小.

圖1 VGG16網絡結構

2.2 HED網絡

HED網絡結構如圖2所示,HED網絡基于VGG16網絡進行特征提取,保留了VGG16網絡中的五個卷積塊組成的卷積神經網絡,同時去除了VGG16網絡中的全連接網絡,解除了網絡對輸入圖像尺寸的限制.HED網絡在VGG16網絡的五個卷積塊結構中,將各個卷積塊最后一層的卷積層的輸出添加了側邊結構,經過側邊結構的卷積層、上采樣層獲得邊緣圖像,同時將五個側邊結構的邊緣圖像進行融合.

圖2 HED網絡結構示意圖

HED網絡通過對整幅圖像進行多次特征提取,借助由淺層網絡到深層網絡多個層級獲取到的特征,以此來獲取整幅圖像的高層級語義信息,進而實現對圖像中出現的物體、圖案等外輪廓的識別,得到各個物體、圖案對應的邊緣.同時,將骨干網絡中淺層網絡獲取的富含細節信息的特征與深層網絡獲取的富含語義信息的特征進行融合,利用淺層網絡獲取到的特征圖像中細節比較豐富的特點,與深層網絡中獲取的特征圖像中物體輪廓更連續,抗噪聲能力更強的特點進行融合,以此來彌補淺層網絡與深層網絡各自的局限與不足,充分利用不同網絡層級特征圖像的特點,實現提取的邊緣圖像更加準確、邊緣線條連續不中斷.

3 改進型HED網絡

在HED網絡中,經過多個卷積層獲取不同層級的特征圖時,會隨著網絡深度的增加,對應的感受野增大,網絡中獲取的特征圖的細節信息逐漸模糊,特別是某些中間層的輸出未能充分聚焦在物體邊緣周圍,而淺層網絡中攜帶的噪聲影響無法借助深層網絡完全抵消,影響對原始圖像中邊緣點的選擇與定位.因而考慮在HED網絡中引入注意力機制模塊,增強不同卷積層的特征圖獲取時的聚集性,更加關注在通道維度上疊加深層結構后對噪聲與干擾的抑制,在空間維度上動態學習選擇性關注邊緣點相鄰區域,以此來獲得更為全面的特征信息,得到邊緣線條更加準確、非邊緣點干擾較小的邊緣圖像.

3.1 卷積塊注意力機制

卷積塊注意力機制(Convolutional Block Attention Module,CBAM)是一種同時關注通道和空間維度的雙重注意力機制[7-9],通過在通道維度、空間維度設置不同的權重,以此來增強對應維度上的有用特征的強度,抑制不太重要的特征表示的強度,更加注重在有用特征周圍的聚集性.卷積塊注意力機制的結構如圖3所示,將輸入特征圖分別經過通道注意力和空間注意力模塊,得到重定義特征圖,重定義特征圖相比原始輸入特征圖可以更加集中于有用特征周圍,其中,通道注意力模塊包含最大池化、平均池化以及多層感知機,空間注意力模塊包含維度擴展以及多個卷積層.

圖3 卷積塊注意力機制

3.2 引入注意力機制的HED-CBAM網絡

經過對HED網絡優缺點的分析,以及對HED網絡結構的洞察,本文提出一種引入CBAM卷積塊注意力機制的HED-CBAM網絡,該網絡的網絡結構如圖4所示.在VGG16網絡的五個卷積塊輸出之后,分別添加CBAM卷積塊注意力模塊,得到重整后的特征圖,將重整后的特征圖再次送入原始HED網絡的側邊結構.

圖4 HED-CBAM網絡結構示意圖

HED-CBAM網絡通過在網絡的特征圖融合階段引入注意力機制,將VGG16骨干網絡提取的特征圖重新再次經過注意力模塊進行進一步地聚焦,得到重新定義的特征圖,新得到的特征圖在通道維度上經過重整之后,抗噪聲能力更強,同時在空間維度上,借助注意力機制提取更加有效的特征,忽略不太重要的特征.引入注意力機制之后,整體網絡的可調節超參數總量會相應增加,經過網絡前向傳播的總體耗時也會同樣增加,網絡中可調節超參數的增加可以提高網絡中間層級特征圖的特征提取能力的提升,進而提升整個網絡的特征提取能力,同時影響后續對特征圖融合能力的提升效果.

4 實 驗

4.1 PaddlePaddle飛槳深度學習框架

PaddlePaddle飛槳深度學習框架是由百度開發并于2018年開源的完全擁有自主知識產權的國產化深度學習框架,該框架由C++、Python等編程語言開發,同時支持靜態圖和動態圖的開發模式,兼容命令式和聲明式兩種編程范式,支持多客戶端多平臺的部署,特別是對國產芯片硬件(如百度昆侖、寒武紀、比特大陸等國產芯片廠商的芯片類產品)進行了全面的適配,支持麒麟、統信、普華等國產操作系統.飛槳框架提供完善的中文文檔說明,并提供了一系列應用案例示例程序,有效地降低了深度學習門檻.

4.2 BSDS數據集及數據增強

BSDS數據集是由美國加州大學伯克利分校開放的適用于邊緣檢測任務的數據集,目前該數據集共包含500張圖像,其中200張圖像用于訓練、100張圖像用于驗證、200張圖像用于測試,常被稱為BSDS500數據集.該數據集中的所有圖像均經過多位人類專家的認真標注,廣泛應用于邊緣檢測算法的評估標準.

在本次實驗實施過程中,將訓練集和驗證集圖像合并后得到300張圖像用于訓練任務,另外200張圖像用于測試相關算法的性能指標評價與對比.有鑒于訓練任務中的圖像數量過少,容易造成卷積神經網絡對相關超參數過擬合,為了有效避免該網絡在測試集上的泛化能力衰退,需要對訓練集圖像進行數據擴充,采用數字圖像處理技術對訓練集圖像數據增強.對于訓練集圖像,主要采用多尺度變換與圖像旋轉、圖像翻轉相結合的方法,對每張原始圖像以22.5度為間隔進行旋轉,針對旋轉后的圖像進行水平翻轉,并對處理后的圖像進行多尺度變換,最終將原始訓練集擴充為96倍,共計28800張訓練集增強圖像.

4.3 邊緣檢測評價標準

邊緣檢測的常見評價標準[10]主要包括三個相關的數值指標:全局最佳閾值(optimal dataset scale,ODS)、單圖最佳閾值(optimal image scale,OIS)、平均準確率(average precision,AP).

精確率(Precision),表示經過網絡測試獲得的邊緣檢測的像素值預測結果符合真實標注像素值結果的概率情況.召回率(Recall),表示經過網絡測試獲得的邊緣檢測的像素值預測結果中被認為是真實的標注像素值結果占全部所有的真實標注像素值結果的比值.

對于邊緣檢測的像素值預測結果中,記TP表示經過邊緣檢測模型輸出的結果中被認定為正類的正樣本,一般認為給出了正確的可接受的結果;相應地,FP表示經過邊緣檢測模型輸出的結果中被認定為正確的類別中的負樣本,FN表示經過邊緣檢測模型輸出的結果中被認定為錯誤的類別中的正樣本,相應的精確率和召回率的定義為:

(14)

F1-Score值(一般簡稱為F1值),是一種綜合了精確率和召回率的結果,其取值結果介于0和1之間,其數學定義為:

(15)

全局最佳閾值ODS,表示在整個數據集中的所有數據達到最好的結果時,F1值的平均值即為ODS;單圖最佳閾值OIS,表示在整個數據集中的每一張圖片都達到最好的結果時,F1值得平均值即為OIS.

平均準確率AP,其計算方式為P-R曲線下方的面積,其取值范圍在0和1之間.

4.4 實驗過程

本次實驗過程中,使用Python編程語言在飛槳深度學習框架編寫深度神經網絡實驗代碼,借助Tesla T4顯卡進行GPU硬件加速.在訓練過程中初始學習率設定為1e-4,學習率調度策略使用多項式衰減策略,批次大小設置為單次迭代共10張圖像,共迭代10萬次,訓練過程總時長約28小時.訓練完成后,針對200張測試集圖像生成對應的邊緣圖像,借助MATLAB 2021進行性能指標驗證,驗證過程總時長約12小時.最終引入注意力機制的HED-CBAM網絡在ODS獲得0.787的結果,相比HED網絡的ODS結果0.782提升了5‰,具體實驗結果如表1所示.

表1 對比實驗結果

5 結 語

應用于邊緣檢測任務的傳統型邊緣檢測算子利用圖像中像素變化的梯度信息,整體計算量小,但手工設計的算子模板受限于局部特征,未能充分利用圖像的高層語義特征.使用卷積神經網絡進行特征提取的HED網絡,充分利用了整幅圖像的語義特征,通過多尺度的特征圖融合輸出邊緣圖像.在分析了HED網絡結構的優缺點之后,通過向HED網絡引入注意力機制,加強了有用特征,改善了邊緣檢測任務的性能.

猜你喜歡
像素點算子邊緣
擬微分算子在Hp(ω)上的有界性
各向異性次Laplace算子和擬p-次Laplace算子的Picone恒等式及其應用
一類Markov模算子半群與相應的算子值Dirichlet型刻畫
基于5×5鄰域像素點相關性的劃痕修復算法
基于canvas的前端數據加密
基于逐像素點深度卷積網絡分割模型的上皮和間質組織分割
一張圖看懂邊緣計算
Roper-Suffridge延拓算子與Loewner鏈
在邊緣尋找自我
走在邊緣
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合