李 菊 霞
(山西農(nóng)業(yè)大學(xué) 信息科學(xué)與工程學(xué)院, 山西 晉中 030801)
圖像目標(biāo)輪廓識別是圖像處理及計(jì)算機(jī)視覺領(lǐng)域的重要研究課題. 圖像目標(biāo)輪廓中包含圖像大部分信息特征, 圖像目標(biāo)輪廓的精確識別可輔助圖像分析[1], 有效獲取圖像邊界信息. 圖像的目標(biāo)輪廓識別廣泛應(yīng)用于醫(yī)學(xué)、 航空、 地理等領(lǐng)域[2]. 目前, 圖像目標(biāo)輪廓識別算法較多, 杜馨瑜等[3]提出了一種基于深度學(xué)習(xí)的鐵道塞釘自動檢測算法, 能自動從候選目標(biāo)區(qū)域逐層提取最能表現(xiàn)塞釘特征的特征圖像, 從而實(shí)現(xiàn)塞釘?shù)淖詣佣ㄎ? Canny算法選取最優(yōu)化數(shù)值方法識別, 通過雙閾值設(shè)置可較好地檢測邊緣算子問題, 但識別結(jié)果中包含細(xì)節(jié)過多. 針對上述算法的缺陷, 本文提出一種基于深度學(xué)習(xí)的二值圖像目標(biāo)輪廓識別算法, 將深度學(xué)習(xí)算法中應(yīng)用較廣的深度卷積網(wǎng)絡(luò)應(yīng)用于二值圖像目標(biāo)輪廓識別中, 利用深度卷積網(wǎng)絡(luò)實(shí)現(xiàn)算法自主識別, 以有效減少待識別圖像的背景信息, 準(zhǔn)確識別圖像目標(biāo)輪廓, 且可改善上述算法中所識別圖像目標(biāo)輪廓細(xì)節(jié)過多的缺陷, 可應(yīng)用于復(fù)雜二值圖像的目標(biāo)輪廓識別.
深度卷積網(wǎng)絡(luò)通過描述圖像信息的后驗(yàn)概率提升目標(biāo)輪廓識別精準(zhǔn)性[4]. 深度卷積網(wǎng)絡(luò)主要包括特征提取層和特征映射層. 其中特征提取層又稱為卷積層, 卷積層將濾波與圖像卷積后獲取圖像特征圖譜; 特征映射層又稱為下采樣層[5], 通過下采樣層的多層結(jié)構(gòu)處理圖像信息. 下采樣層根據(jù)神經(jīng)網(wǎng)絡(luò)形式連接各映射層, 其中映射層均為平面, 利用約束神經(jīng)元共享網(wǎng)絡(luò)權(quán)值使圖像經(jīng)過平移、 縮放及旋轉(zhuǎn)等情形下均保持不變性. 通過全連接方法將多級卷積層與下采樣層連接, 最終結(jié)果通過輸出層輸出[6].
深度卷積網(wǎng)絡(luò)中包括眾多卷積層及下采樣層, 圖像目標(biāo)輪廓的特征提取主要通過卷積層實(shí)現(xiàn)[7], 圖像目標(biāo)輪廓的特征運(yùn)算主要通過下采樣層實(shí)現(xiàn). 深度卷積網(wǎng)絡(luò)中卷積核下采樣過程如圖1所示.
深度卷積網(wǎng)絡(luò)卷積過程中利用可訓(xùn)練的濾波器(卷積核)fX卷積運(yùn)算輸入的二值圖像, 通過添加偏置bX獲取卷積層CX. 先將二值圖像中的每鄰域4個像素求平均后合并為一個像素, 先加權(quán)WX+1再添加偏置bX+1, 利用激活Sigmoid函數(shù), 形成縮小至1/4的映射圖像SX+1為子采樣過程. 利用不同的卷積核在卷積過程中可提取差異特征, 且權(quán)值共享過程中使目標(biāo)輪廓識別過程簡化[8], 下采樣過程的目的為提取二次特征, 降低二值圖像維度且增加識別目標(biāo)輪廓的魯棒性. 將上述過程重復(fù)多次, 即可獲取深度卷積網(wǎng)絡(luò). 深度卷積網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示.
圖1 卷積核下采樣過程Fig.1 Down sampling process of convolution kernel
圖2 深度卷積網(wǎng)絡(luò)結(jié)構(gòu)Fig.2 Deep convolution network structure
深度卷積網(wǎng)絡(luò)中卷積層節(jié)點(diǎn)輸出公式為
(1)
(2)
(3)
為獲取精準(zhǔn)的識別特征, 使全搜索縮小至更有利于識別的空間, 將傳統(tǒng)神經(jīng)網(wǎng)絡(luò)算法應(yīng)用于深度卷積網(wǎng)絡(luò)中優(yōu)化深度卷積網(wǎng)絡(luò)代價(jià)函數(shù)[10]. 設(shè)二值圖像中的樣本數(shù)為m, 由m個樣本組成的樣本集為{(x(1),y(1)),…,(x(m),y(m))}, 樣本集中包含類別數(shù)為n, 樣本x(i)對應(yīng)類別標(biāo)簽用y(i)表示, 可得深度卷積網(wǎng)絡(luò)基本代價(jià)函數(shù)為
(4)
其中:W和b分別為各層單元間連接權(quán)值和偏置項(xiàng);hW,b(x(i))表示預(yù)測值, 即深度卷積網(wǎng)絡(luò)最終層輸出; 優(yōu)化網(wǎng)絡(luò)目標(biāo)是基于參數(shù)W和b獲取函數(shù)J(W,b)的最小值[11], 通過梯度下降法優(yōu)化目標(biāo)函數(shù)為
(7)
通過優(yōu)化深度卷積網(wǎng)絡(luò)代價(jià)函數(shù), 令深度卷積網(wǎng)絡(luò)增強(qiáng)圖像目標(biāo)的理解能力, 可較好表示二值圖像的目標(biāo)輪廓特征[13]. 采用深度卷積網(wǎng)絡(luò)識別二值圖像目標(biāo)輪廓算法步驟如下:
1) 設(shè)置二值圖像尺寸為M×N, 輸入圖像與輸出圖像分別為x和y; 用fsub表示輸入圖像子塊長度; 第一、 二、 三層濾波器長度分別為f1,f2,f3;
2) 將二值圖像劃分為不重疊的大小為fsub×fsub的子塊圖像, 當(dāng)輸入的二值圖像長度小于fsub的整數(shù)倍時(shí), 需將大小小于fsub的子塊圖像內(nèi)擴(kuò)至fsub;
3) 將大小為fsub×fsub的子塊圖像輸入深度卷積網(wǎng)絡(luò)第一層, 通過大小為f1×f1的濾波器對輸入的子塊圖像進(jìn)行卷積濾波, 優(yōu)化后的目標(biāo)函數(shù)作為濾波器參數(shù);
4) 將第一層卷積濾波后獲取的結(jié)果下采樣后發(fā)送至第二層, 通過第二層中尺寸為f2×f2的濾波器卷積濾波處理, 優(yōu)化后的代價(jià)函數(shù)作為濾波器參數(shù);
5) 將第二層卷積濾波后獲取的結(jié)果下采樣后發(fā)送至第三層, 通過第三層中尺寸為f3×f3的濾波器卷積濾波處理, 優(yōu)化后的代價(jià)函數(shù)作為濾波器參數(shù);
6) 將第三層卷積濾波后獲取的結(jié)果下采樣后發(fā)送至輸出層;
7) 所有子塊重復(fù)上述步驟直到識別結(jié)束后, 輸出層通過全連接方法將所有子塊目標(biāo)輪廓聚類, 并輸出最終二值圖像目標(biāo)輪廓識別結(jié)果y.
為檢測本文算法對二值圖像目標(biāo)輪廓識別的有效性, 在CPU為AMD銳龍7 3700X的計(jì)算機(jī)中, 選取Visual studio 2019作為實(shí)驗(yàn)編譯工具, 在圖像處理標(biāo)準(zhǔn)圖像庫中選取15幅圖像, 將其二值化處理, 采用本文算法識別這15幅圖像的目標(biāo)輪廓, 并將本文算法與Canny算法及目標(biāo)鄰域點(diǎn)邊界跟蹤算法進(jìn)行對比.
利用信噪比評價(jià)二值圖像目標(biāo)輪廓識別算法的去噪效果. 信噪比計(jì)算公式為
SNR=Sedge/Nnoise,
(8)
其中,Sedge和Nnoise分別表示二值圖像目標(biāo)輪廓數(shù)目與非目標(biāo)輪廓數(shù)目. 采用本文算法和Canny算法及目標(biāo)鄰域點(diǎn)邊界跟蹤算法識別15幅二值圖像邊緣輪廓的信噪比對比結(jié)果列于表1. 由表1可見, 采用本文算法識別二值圖像目標(biāo)輪廓信噪比明顯高于Canny算法及目標(biāo)鄰域點(diǎn)邊界跟蹤算法, 本文算法識別15幅二值圖像目標(biāo)輪廓信噪比平均結(jié)果為2.42, 分別高于Canny算法及目標(biāo)鄰域點(diǎn)邊界跟蹤算法的0.31和0.36, 本文算法識別非目標(biāo)輪廓現(xiàn)象較少, 識別目標(biāo)輪廓效果較好, 識別結(jié)果較精準(zhǔn).
表1 不同算法信噪比對比結(jié)果
在15幅二值圖像中選取如圖3所示的兩幅圖像, 通過對原始二值圖像與去噪后圖像進(jìn)行對比, 檢測本文算法的去噪性能. 本文算法對兩幅二值圖像進(jìn)行去噪后的結(jié)果如圖4所示. 由圖3和圖4可見, 采用本文方法識別二值圖像目標(biāo)輪廓去噪效果較好, 且去除噪聲較準(zhǔn)確, 未去除目標(biāo)輪廓等重要信息, 再次驗(yàn)證了本文算法的去噪效果.
圖3 樹葉的原始二值圖像Fig.3 Original binary images of leaves
圖4 樹葉的去噪后圖像Fig.4 Denoised images of leaves
采用本文算法和Canny算法及目標(biāo)鄰域點(diǎn)邊界跟蹤算法識別二值圖像目標(biāo)輪廓的精度與識別時(shí)間對比結(jié)果列于表2. 由表2可見, 采用本文算法識別15幅二值圖像的目標(biāo)輪廓識別精度平均為98.75%, 平均識別時(shí)間僅為27.11 ms; 而兩種對比算法識別15幅二值圖像的目標(biāo)輪廓識別精度僅為97.16%和96.96%, 識別時(shí)間平均高達(dá)72.32 ms和59.04 ms, 表明本文算法的識別精度明顯高于其他兩種算法, 且識別速度較快, 再次驗(yàn)證了本文算法的識別性能.
表2 不同算法的目標(biāo)輪廓識別效果對比結(jié)果
為直觀展示本文算法的目標(biāo)輪廓識別效果, 從15幅二值圖像中選取大米、 圓圈、 自行車3幅圖像, 其原始二值圖像與目標(biāo)輪廓識別結(jié)果分別如圖5和圖6所示. 由圖5和圖6可見, 采用本文算法不僅可有效識別簡單二值圖像的目標(biāo)輪廓, 對較復(fù)雜的, 如自行車圖像仍可準(zhǔn)確識別, 有效驗(yàn)證了本文算法的識別效果.
圖5 大米、 圓圈、 自行車的原始二值圖像Fig.5 Original binary images of rice, circle and bicycle
圖6 大米、 圓圈、 自行車圖像的目標(biāo)輪廓識別結(jié)果Fig.6 Target contour recognition results for images of rice, circle and bicycle
綜上所述, 本文將深度學(xué)習(xí)算法中的卷積網(wǎng)絡(luò)算法應(yīng)用于二值圖像目標(biāo)輪廓識別中, 提出了一種基于深度學(xué)習(xí)的二值圖像目標(biāo)輪廓識別算法, 以有效減少圖像背景信息的誤識別現(xiàn)象. 實(shí)驗(yàn)結(jié)果表明, 該算法識別的二值圖像信噪比較高、 識別精度較高、 識別效率較快, 可應(yīng)用于實(shí)際圖像處理中.