遲慧智,田宇
(工業(yè)和信息化部電子第五研究所,廣東 廣州 511370)
隨著科技的不斷發(fā)展和計(jì)算機(jī)的廣泛普及,圖像處理技術(shù)越來(lái)越多地被應(yīng)用于工業(yè)生產(chǎn)和日常生活的各個(gè)領(lǐng)域中,而作為其中的重要內(nèi)容,圖像邊緣檢測(cè)技術(shù)也成為近些年的研究重點(diǎn)和熱點(diǎn)。圖像邊緣是圖像區(qū)域?qū)傩酝蛔兊牡胤?,即有不同灰度屬性的區(qū)域之間的灰度分割線[1],也是圖像中信息最集中的地方,在一定條件下包含原圖像的所有信息[2]。因此圖像的邊緣檢測(cè)與提取效果優(yōu)劣,對(duì)后續(xù)的圖像處理至關(guān)重要[3]。
目前研究人員提出了許多圖像邊緣檢測(cè)的相關(guān)算法,這些算法各有優(yōu)缺點(diǎn);同時(shí),因?yàn)閳D像本身存在較大的差異,使得各個(gè)算法不能對(duì)所有的圖像實(shí)現(xiàn)一樣的效果。本文通過(guò)比較經(jīng)典算法、深度學(xué)習(xí)邊緣檢測(cè)算法和新興邊緣檢測(cè)等算法,分析了這些算法的優(yōu)缺點(diǎn)和適用范圍,并探討了邊緣檢測(cè)算法在圖像處理領(lǐng)域的新進(jìn)展和新應(yīng)用。
經(jīng)典邊緣檢測(cè)算法可分為一階微分算子(Roberts 算子、Sobel 算子、Prewitt 算子和Kirsch算子等)和二階微分算子(Laplacian 算子、LoG算子和Canny 算子等)。其中,一階微分算子中的Sobel 算子、Prewitt 算子和Kirsch 算子是以Roberts算子為基礎(chǔ)發(fā)展而來(lái)的。
Roberts 算子通過(guò)對(duì)角線方向相鄰兩像素之差近似梯度幅值檢測(cè)邊緣,是一種利用局部差分算子尋找邊緣的算子,其卷積模板為:
該算子以相鄰像素之差近似梯度,計(jì)算公式如下所示:
梯度大小用像素強(qiáng)度表示,梯度幅值計(jì)算為:
圖像邊緣與梯度方向垂直[4],當(dāng)閾值Th Sobel 算子和Prewitt 算子在Roberts 算子的基礎(chǔ)上,采用改進(jìn)的3◇3 卷積模板,如下所述。 a)Sobel 算子卷積模板 b)Prewitt 算子卷積模板 Sobel 算子利用這兩個(gè)橫向縱向模板對(duì)圖像做平面卷積,得到圖像亮度的灰度差近似值。由于采用了方形差分和局部平均的加權(quán)平均算法,Sobel算子對(duì)噪聲有平滑作用,但也因此導(dǎo)致邊緣定位精度不高的問(wèn)題[6],如圖1d 所示。Prewitt 算子通過(guò)式(6)的卷積模板對(duì)圖像進(jìn)行鄰域卷積實(shí)現(xiàn)邊緣檢測(cè),兩個(gè)方向模板一個(gè)檢測(cè)圖像的水平邊緣,一個(gè)檢測(cè)圖像的垂直邊緣。經(jīng)典Prewitt 算子使用平均差分計(jì)算梯度,類(lèi)似于低通濾波,對(duì)噪聲有一定的抑制效果,但這也導(dǎo)致圖像邊緣定位精度不足,如圖1c 所示。 圖1 一階微分算子邊緣檢測(cè)效果對(duì)比圖 二階微分算子中,Canny 算子在各種邊緣檢測(cè)中表現(xiàn)出良好的性能,并且形成了完整的最優(yōu)檢測(cè)算法的標(biāo)準(zhǔn)。經(jīng)典Canny 算子的邊緣檢測(cè)步驟[7]如下所述。 a)利用高斯濾波器對(duì)原圖像濾波降噪。 b)利用梯度算子計(jì)算4 個(gè)方向(0°,45°,90°,135°)的梯度幅值和方向,通常利用一階微分算子作為模板計(jì)算(Roberts、Prewitt 和Sobel)算子,計(jì)算水平和垂直方向的差分Gx和Gy;再利用如下公式計(jì)算得到梯度強(qiáng)度G和方向θ: c)進(jìn)行梯度的非極大值抑制,利用梯度方向的極大值點(diǎn)的保留實(shí)現(xiàn)通過(guò)梯度幅值圖像獲取的寬邊緣的細(xì)化。 d)進(jìn)行雙閾值檢測(cè)和邊緣連接。通常的邊緣提取算法只利用一個(gè)閾值進(jìn)行噪聲過(guò)濾,Canny 算子利用高低閾值進(jìn)行邊緣像素的區(qū)分,如果像素點(diǎn)梯度大于高閾值則為強(qiáng)邊緣點(diǎn),小于低閾值則設(shè)置灰度為0,在高低閾值之間的則視為弱邊緣;利用強(qiáng)邊緣斷點(diǎn)搜索連接弱邊緣并提取出完整邊緣。 相較于其他邊緣檢測(cè)算子,Canny 算子檢測(cè)的邊緣連貫細(xì)膩,具有良好的檢測(cè)精度(如圖2b 所示),但對(duì)光源噪聲敏感,且閾值為自定義設(shè)置,易導(dǎo)致邊緣檢測(cè)的不穩(wěn)定。 Laplacian 算子邊緣檢測(cè)常用的卷積模板如下: 作為二階微分算子,Laplacian 算子天生對(duì)噪聲敏感,抗噪能力差。從圖2c中可以看出,Laplacian 算子很難分辨出清晰的邊緣。因此Laplacian 算子通常不用于邊緣檢測(cè)而是邊緣定位或銳化。 針對(duì)Laplacian 算子出現(xiàn)的問(wèn)題,Marr 提出了LoG(Laplacian of Gaussian)算子,將高斯低通濾波與Laplacian 算子相結(jié)合,對(duì)圖像先進(jìn)行高斯濾波,再運(yùn)用Laplacian 算子進(jìn)行檢測(cè)。如圖2d 所示,相較于利用Laplacian 算子邊緣檢測(cè)得到的圖像,LoG 算子對(duì)圖像邊緣的連續(xù)有了較大的改善,但濾波器對(duì)圖像濾波易丟失部分圖像邊緣,降低邊緣檢測(cè)精度[8]。 圖2 二階微分算子邊緣檢測(cè)效果對(duì)比圖 隨著人工智能在全球興起,作為實(shí)現(xiàn)手段之一的深度學(xué)習(xí)也成為了科研人員的研究熱點(diǎn)。由于邊緣提取場(chǎng)景越來(lái)越復(fù)雜,圖像的紋理或背景對(duì)這些利用低層次特征檢測(cè)邊緣的經(jīng)典邊緣檢測(cè)方法產(chǎn)生了許多干擾,國(guó)內(nèi)外諸多學(xué)者嘗試在圖像邊緣檢測(cè)領(lǐng)域加入深度學(xué)習(xí)高層次語(yǔ)義應(yīng)對(duì)復(fù)雜場(chǎng)景。深度學(xué)習(xí)可分為兩大類(lèi):全監(jiān)督學(xué)習(xí)和弱監(jiān)督學(xué)習(xí)。全監(jiān)督學(xué)習(xí)利用已知期望的樣本對(duì)算法模型進(jìn)行訓(xùn)練,通過(guò)訓(xùn)練期間參數(shù)的不斷調(diào)整,得到最優(yōu)參數(shù)模型,再利用該模型對(duì)圖像的所有輸入作為輸出進(jìn)行相應(yīng)的判斷,最終得到整個(gè)圖像的邊緣。全監(jiān)督學(xué)習(xí)中研究較多的有整體嵌套邊緣檢測(cè)(HED:Holistically -Nested Edge Detection),如 RCF:(Richer Convolutional Features for edge dectction)、CASENet(Category-Aware Semantic Edge Detection)和BSDN(Bifurcated Deep Network)等。 HED 是2015 年由XIE[9]提出的一種新的邊緣檢測(cè)算法,其特點(diǎn)是整體圖像的訓(xùn)練和預(yù)測(cè)及多維度的特征學(xué)習(xí),利用全卷積神經(jīng)網(wǎng)絡(luò)和深監(jiān)督學(xué)習(xí)網(wǎng)絡(luò)自動(dòng)學(xué)習(xí)層次表示,HED 的網(wǎng)絡(luò)整體結(jié)構(gòu)圖如圖3 所示。從圖3中可以看出,HED 在卷積層后插入了帶有深度監(jiān)督的側(cè)輸入層,側(cè)輸入層實(shí)現(xiàn)邊緣預(yù)測(cè)。HED 網(wǎng)絡(luò)適用于對(duì)比度強(qiáng)的圖片場(chǎng)景,對(duì)比度較弱時(shí)圖片中其他因素的干擾較大,效果較差。 圖3 HED 網(wǎng)絡(luò)整體結(jié)構(gòu)圖 RCF 算法是LIU[10]等在2017 年提出的、以HED 算法為基礎(chǔ)的邊緣檢測(cè)算法,同樣實(shí)現(xiàn)了端到端的邊緣檢測(cè)。RCF 主要結(jié)構(gòu)圖如圖4 所示,從圖4中可以看出,其主體結(jié)構(gòu)分為三大部分:主干網(wǎng)絡(luò)、深監(jiān)督和特征融合。RCF 在HED 算法的基礎(chǔ)上對(duì)每一個(gè)stage 都進(jìn)行深監(jiān)督學(xué)習(xí)使其盡快地收斂并得到一張邊緣圖,利用特征融合模塊對(duì)5張邊緣圖進(jìn)行融合并輸出最終結(jié)果。由于融合了主干網(wǎng)絡(luò)的每一層特征,RCF 網(wǎng)絡(luò)得到的邊緣圖效果要優(yōu)于只利用了部分特征的HED 網(wǎng)絡(luò)。 圖4 RCF 網(wǎng)絡(luò)整體結(jié)構(gòu) CASENet 在2017 年被YU[11]等人首次提出,CASENet 作為類(lèi)別感知的語(yǔ)義邊緣檢測(cè)算法,相對(duì)于傳統(tǒng)的邊緣檢測(cè)的二元問(wèn)題,將每個(gè)邊緣像素與至少兩個(gè)邊緣類(lèi)別相關(guān)聯(lián),是更為復(fù)雜的多元問(wèn)題。CASENet 是一種新的基于ResNet 的端到端深度語(yǔ)義邊緣學(xué)習(xí)架構(gòu),同時(shí)也是跳層架構(gòu),網(wǎng)絡(luò)架構(gòu)如圖5 所示。 從圖5中可以看出,CASENet 架構(gòu)相對(duì)于DSN 做了一些改進(jìn): 1)特征提取模塊(圖5c 的feature extraction)取代底部的分類(lèi)模塊(圖5b 的classification); 2)分類(lèi)模塊(圖5c 的classification)置于頂部并進(jìn)行監(jiān)督; 3)執(zhí)行共享級(jí)聯(lián)(圖5h)取代切片聯(lián)接(圖5g)。 圖5 CASENet 架構(gòu)圖 通常CASENet 被認(rèn)為是聯(lián)合邊緣檢測(cè)和分類(lèi)的網(wǎng)絡(luò),它讓較低級(jí)的特征參與并通過(guò)跳層結(jié)構(gòu)增強(qiáng)高級(jí)的語(yǔ)義分類(lèi)。 2019 年HE[12]等首次提出BDCN(Bi-Directional Cascade Network),其網(wǎng)絡(luò)架構(gòu)圖如圖6 所示。從圖6中可以看出,BDCN 通過(guò)ID block 層利用不同的權(quán)重具有雙向級(jí)聯(lián)的不同監(jiān)督取代所有的CNN 輸出相同的監(jiān)督進(jìn)行學(xué)習(xí),同時(shí)引入尺度增強(qiáng)模塊(SEM:Scale Enhancement Module)以生成多尺度特征。通過(guò)BDCN 和SEM 的結(jié)合,該方法的ODS 達(dá)到了0.828,效果甚至優(yōu)于人類(lèi)感知。 圖6 BDCN 網(wǎng)絡(luò)架構(gòu)圖 除了上述經(jīng)典圖像邊緣檢測(cè)算法和新興的深度學(xué)習(xí)圖像邊緣檢測(cè)算法,還有小波變換算法、數(shù)學(xué)形態(tài)學(xué)算法、模擬退火算法、蟻群算法和遺傳算法等等,在圖像邊緣檢測(cè)中均有大量的研究,這里不再贅述。 在生產(chǎn)生活中,圖像邊緣檢測(cè)是眾多圖像領(lǐng)域任務(wù)實(shí)施的基礎(chǔ),對(duì)于圖像邊緣檢測(cè)各國(guó)科研人員也做了大量的研究,從邊緣檢測(cè)研究的歷史和現(xiàn)狀可以看出有以下幾個(gè)發(fā)展趨勢(shì): 1)在進(jìn)行邊緣檢測(cè)前對(duì)圖像進(jìn)行更有效的預(yù)處理,在去除噪音的同時(shí)更大程度地保留原圖像要素; 2)在原有的算法上進(jìn)行優(yōu)化,一方面對(duì)算法本身進(jìn)行優(yōu)化,如Canny 算子的雙閾值的自適應(yīng)選取,另一方面結(jié)合多個(gè)不同的算法,將不同算法的優(yōu)點(diǎn)結(jié)合; 3)特殊圖像或復(fù)雜圖像的邊緣檢測(cè)得到了廣泛的關(guān)注,邊緣檢測(cè)的要求逐漸地提高,以卷積神經(jīng)網(wǎng)絡(luò)為基礎(chǔ)的深度學(xué)習(xí)算法越來(lái)越多地應(yīng)用其中。 本文對(duì)圖像邊緣檢測(cè)中的經(jīng)典算法、深度學(xué)習(xí)算法進(jìn)行了分析研究,論述了不同算法的原理及優(yōu)缺點(diǎn)。隨著圖形處理和自動(dòng)化檢測(cè)的快速發(fā)展,改進(jìn)的經(jīng)典邊緣檢測(cè)算法和深度學(xué)習(xí)邊緣檢測(cè)算法將成為研究熱點(diǎn)。特別是在復(fù)雜場(chǎng)景下,圖像邊緣定位準(zhǔn)確,算法響應(yīng)時(shí)間短,抗噪能力強(qiáng)的算法將是一個(gè)重要的研究方向。2 新興邊緣檢測(cè)算法
3 其他邊緣提取算法
4 展望
5 結(jié)束語(yǔ)