葉健強,張曉晨,孫敦虎,李荊暉,張麒騰,張明璨
(1.國網(wǎng)寧夏電力有限公司建設(shè)分公司,寧夏銀川 750004;2.西安交通大學(xué)電氣學(xué)院,陜西西安 710000)
隨著計算機視覺的飛速發(fā)展,圖像處理技術(shù)在電網(wǎng)中有著十分豐富的應(yīng)用,包括電網(wǎng)設(shè)備故障的識別,電網(wǎng)設(shè)備運行狀態(tài)的監(jiān)測等。作為電網(wǎng)設(shè)備圖像處理的基礎(chǔ),電網(wǎng)設(shè)備圖像的分割算法一直是研究的重點。目前的圖像分割算法有基于邊緣的分割算法,例如Canny算子分割;基于區(qū)域的分割算法,例如分水嶺算法;基于閾值的分割算法,例如Otsu 算法;基于圖論的交互式分割算法,例如圖像切割(GraphCut)算法和GrabCut算法。在眾多圖像分割算法中,基于圖論的交互式分割算法有著十分好的前景[1]。
近年來,眾多學(xué)者對基于圖論的交互式分割算法提出了許多改進(jìn)之處。文獻(xiàn)[2]通過選取感興趣區(qū)域來降低目標(biāo)周圍區(qū)域相似像素的影響,以此來減少算法時間,提高分割的精度。文獻(xiàn)[3]基于超像素來實現(xiàn)GrabCut圖像分割,以此來降低背景對前景的影響,提高了分割的精度。文獻(xiàn)[4]提出了一種基于歸一化概率隨機數(shù)的多標(biāo)簽自動GrabCut 技術(shù),可以在不需要用戶干預(yù)的情況下進(jìn)行圖像分割,但是算法執(zhí)行的時間和運算量將大大提高。文獻(xiàn)[5]提出了一種基于快速區(qū)域卷積神經(jīng)網(wǎng)絡(luò)與GrabCut 融合的弱監(jiān)督圖像分割算法。文獻(xiàn)[6]基于人的視覺注意機制,將其引入到圖像的分割和處理之中,提出了一種基于視覺注意機制的GrabCut 算法。文獻(xiàn)[7]對高斯混合模型進(jìn)行優(yōu)化,從底層優(yōu)化GrabCut 算法以此來提高算法的準(zhǔn)確率和速度。
本文針對電網(wǎng)設(shè)備使用環(huán)境的特點,提出了一種融合了目標(biāo)檢測的交互式電網(wǎng)設(shè)備圖像分割算法,使用目標(biāo)檢測得到的標(biāo)定框作為交互式分割算法的初始化區(qū)域來提升初始化區(qū)域的選取精確度。
GrabCut 利用彩色圖像的高斯混合模型描述前景和背景的像素分布,對像素的3 個通道分別使用高斯混合模型(gaussian mixture model,GMM)建模,再使用迭代的方法實現(xiàn)圖能量最小化,收斂到最優(yōu)分割結(jié)果,用戶可以通過標(biāo)記前景和背景來優(yōu)化GMM 模型,從而優(yōu)化迭代過程,達(dá)到高精度分割的目的[8]。整個過程如圖1所示。
圖1 算法執(zhí)行過程
1.1.1 高斯混合模型
高斯混合模型指的是多個高斯分布函數(shù)的線性組合,根據(jù)中心極限定理,大量統(tǒng)計獨立的隨機變量的分布趨近于高斯分布,根據(jù)這一理論,高斯混合模型可以擬合出任意類型的分布,通常用高斯混合模型來解決同一集合下的數(shù)據(jù)包含多個相同或不同分布的情況。
高斯混合常用于聚類算法,而聚類算法是迭代過程的基礎(chǔ),使用給定的初始信息,為前景和背景區(qū)域分別創(chuàng)建高斯混合模型的k個組件,把前景區(qū)域和背景區(qū)域中的像素分別劃分到k個不同的聚類中,再由聚類中像素值來計算各高斯模型中的參數(shù),從而實現(xiàn)對圖像的分割[9]。
1.1.2 最小化能量分割
對于紅綠藍(lán)色彩空間上的彩色圖像,此算法使用吉布斯(Gibbs)能量作為圖像分割的依據(jù),式(1)為Gibbs能量的表達(dá)式:
式中:E—Gibbs能量;
U—數(shù)據(jù)項,與圖片中的像素數(shù)據(jù)有關(guān);
V—光滑項;
α—不透明度,其取值范圍為0~1,0 代表景,1代表前景;
θ—圖像前景和背景的灰度直方圖;
z—圖像灰度值數(shù)組;
k—高斯混合模型參數(shù)。
此算法通過迭代來使Gibbs 能量最小化。在初始化的過程中,背景部分的像素,其不透明度將被設(shè)定為1,而被選中的前景的不透明度會被設(shè)定為0,依次來初始化前景和背景的GMM 模型。在初始化GMM 模型后,算法將對選中前景中的每一個像素都進(jìn)行初始化賦值,并用最小割(mincut)和最大流(maxflow)算法來極小化Gibbs能量函數(shù)E來得到初次分割的結(jié)果。隨后,根據(jù)初次結(jié)果,用戶可以交互式的編輯選擇被忽略的前景和被誤選中的背景,將二者的不透明度分別設(shè)置為0和1,以此來優(yōu)化GMM 模型,并重新進(jìn)入能量最小化的迭代過程,重復(fù)上述迭代和交互式編輯過程,直到輸出結(jié)果達(dá)到要求。
當(dāng)今的人工智能技術(shù)被廣泛運用于許多領(lǐng)域,機器視覺領(lǐng)域中的目標(biāo)檢測就是其中之一,與基于機器學(xué)習(xí)的傳統(tǒng)目標(biāo)檢測算法相比,基于深度學(xué)習(xí)的檢測算法有著更快的檢測速度和更高的檢測精度。其中,基于深度學(xué)習(xí)的目標(biāo)檢測算法大體可分為兩類,一類以區(qū)域卷積神經(jīng)網(wǎng)絡(luò)(region-convolutional neural network,R-CNN)為代表的基于區(qū)域建議的兩階段檢測算法,另一類是以你只看一次算法(you only look once,YOLO)為代表的基于回歸問題的一階段檢測算法[10]。深度學(xué)習(xí)之所以能夠迅速發(fā)展,是因為計算機能夠依靠圖形處理器(graphics processing unit,GPU)快速地處理矩陣乘法與卷積運算,然而對于一些小型低端的嵌入式設(shè)備,它無法配備高性能的GPU以及中央處理器(central processing unit,CPU);因此,在嵌入式設(shè)備中實現(xiàn)基于深度學(xué)習(xí)的目標(biāo)檢測并不理想,特別是基于區(qū)域建議的兩階段檢測算法,但是對于基于回歸問題的一階段檢測算法,嵌入式設(shè)備則有能力部署并且做到實時目標(biāo)檢測。本文采用了目前運行速度最快的YOLOFastest 算法,能有效提高深度學(xué)習(xí)算法在嵌入式設(shè)備上的運行速度。
1.2.1 YOLO系列算法
近年來,YOLO 系列算法在目標(biāo)檢測中應(yīng)用十分廣泛。YOLO 系列算法的核心是將分類問題轉(zhuǎn)化為回歸問題,采用單一的神經(jīng)網(wǎng)絡(luò)來實現(xiàn)目標(biāo)的檢測。有別于區(qū)域卷積神經(jīng)網(wǎng)絡(luò),YOLO 算法是端到端的目標(biāo)檢測算法,無需訓(xùn)練區(qū)域候選框網(wǎng)絡(luò)產(chǎn)生推薦框即可高效完成檢測任務(wù)[11],因此,YOLO 系列算法的訓(xùn)練和檢測均在單一神經(jīng)網(wǎng)絡(luò)中,通過單次計算即可得到圖片中目標(biāo)物體的種類信息、位置信息以及置信度。
1.2.2 YOLO-Fastest算法
YOLO-Fastest 算法是目前已知開源最快的、最輕量的改進(jìn)版YOLO 目標(biāo)檢測算法,其初衷就是為了打破算力的瓶頸,在更多的低成本的邊緣檢測端設(shè)備實時運行目標(biāo)檢測算法。由YOLOFastest 算法的開發(fā)者測試,相較于當(dāng)下應(yīng)用最廣泛的輕量化目標(biāo)檢測算法移動網(wǎng)絡(luò)-單激發(fā)多框檢測算法(mobilenet-single shot multibox detector,MobileNe
t-SSD),YOLO-Fastest 的速度要整整快3 倍。在模型大小方面,YOLO-Fastest 的模型大小僅為1.3 MB,是MobileNet-SSD 的1/20。表1 為YOLO-Fastest 算法的開發(fā)者對YOLO-Fastest 算法與其他目標(biāo)檢測算法的參數(shù)以及性能對比,表中數(shù)據(jù)基于驍龍888 CPU 平臺,測試數(shù)據(jù)集為通用對象(common objects in context,COCO)數(shù)據(jù)集。由表中數(shù)據(jù)可知,YOLO-Fastest 模型大小較小,運行速度快,十分契合嵌入式設(shè)備的需求。
表1 目標(biāo)檢測算法對比
YOLO-Fastest的整個網(wǎng)絡(luò)基于暗網(wǎng)(darknet)結(jié)構(gòu),如圖2所示。其中,DBL 為卷積層的基本組件,其為卷積層、批標(biāo)準(zhǔn)化(batch normalization,BN)、漏整流線性單元(leaky rectified linear unit,Leaky ReLU)三層的組合;Res 為殘差模塊,上采樣使用的方式為上池化,使用元素復(fù)制擴充的方法擴大特征尺寸;與特征金字塔網(wǎng)絡(luò)(feature pyramid networks,F(xiàn)PN)中使用的元素相加不同,通道拼接(concat)是在上采樣后將深層與淺層的特征圖進(jìn)行拼接。
圖2 darknet結(jié)構(gòu)
該特征提取網(wǎng)絡(luò)由52 個卷積層和1 個全連接層組成,DarkNet 網(wǎng)絡(luò)使用320×320×3 的輸入,在基礎(chǔ)網(wǎng)絡(luò)中大量使用了殘差網(wǎng)絡(luò)連接,使得網(wǎng)絡(luò)結(jié)構(gòu)可以設(shè)計的很深,并緩解了訓(xùn)練過程中出現(xiàn)梯度消失的問題,增加了模型的收斂能力。通過上采樣與Concat 操作,將深層特征與淺層特征進(jìn)行融合,最終輸出3 種尺寸的特征圖用于后續(xù)預(yù)測,多層特征圖有助于對多尺度目標(biāo)和小目標(biāo)的檢測。
根據(jù)以上原理分析,可以得到本文融合目標(biāo)檢測的交互式分割算法的執(zhí)行步驟:
1)輸入一副圖像,對圖像進(jìn)行目標(biāo)檢測。
2)目標(biāo)檢測得到包含目標(biāo)物體的標(biāo)定框,作為交互式分割的初始化方框。
3)將初始化方框中的像素視作初始前景像素,其值設(shè)置為1,將初始化方框外的像素視為背景像素,其值設(shè)置為0。
4)根據(jù)初始化前景像素和初始化背景像素,并按照最小能量分割法來初始化前景高斯模型和背景高斯模型。
5)計算方框中的每一個像素屬于上述兩個混合高斯模型的概率,比較這兩個概率的值,則該像素屬于概率最大的高斯分量。
6)交互式的選擇前景和背景,依次來優(yōu)化兩個高斯混合模型。
7)重復(fù)步驟5)和步驟6),直到分割得到的圖像滿足要求。
8)輸出得到分割結(jié)果。
圖3 以圖片的形式描述了整個算法執(zhí)行的過程。
圖3 算法執(zhí)行過程
將傳統(tǒng)交互式圖像分割算法與本文的融合目標(biāo)檢測的交互式圖像分割算法使用人工拍攝的122 張電網(wǎng)設(shè)備數(shù)據(jù)進(jìn)行試驗,具體電網(wǎng)設(shè)備包含絕緣子、變壓器、隔離開關(guān)等。對交互式圖像分割算法的評價指標(biāo)有算法執(zhí)行時間和交互次數(shù)。算法執(zhí)行時間是指對122張設(shè)備圖像的單次分割執(zhí)行平均用時,交互次數(shù)是指對這122 張圖像執(zhí)行算法并得到最終結(jié)果時用戶的編輯次數(shù)。本文所用的實驗平臺是1 臺采用Intel Core i7-10750H CPU 的計算機,最終得到表2 所示的數(shù)據(jù)。從表中可知,融合了目標(biāo)檢測的交互式分割算法相較于傳統(tǒng)的交互式分割算法,其平均執(zhí)行時間更短,平均交互次數(shù)更少。
表2 實驗結(jié)果
圖4是傳統(tǒng)交互式圖像分割算法對同一張圖片執(zhí)行4次初始化以及融合了目標(biāo)檢測的交互式圖像分割算法對同一張圖片執(zhí)行4次初始化。
圖4 傳統(tǒng)算法與優(yōu)化算法初始化對比
由于傳統(tǒng)交互式分割算法初始化框的選擇是基于用戶的,所以每一次初始化框選擇的長度、寬度以及位置都是變化的,而且很難保證每一次的初始框選擇都是包含目標(biāo)物體在內(nèi)的最小矩形框;融合了目標(biāo)檢測的交互式圖像分割算法的初始化方框的選擇是由目標(biāo)檢測算法實現(xiàn)的,這不僅能保證每次初始化框的長度、寬度以及位置固定,而且還能保證每次選擇的矩形框是包含目標(biāo)在內(nèi)的最小矩形框。正是因為目標(biāo)檢測選擇的矩形框能保證是包含目標(biāo)在內(nèi)的最小矩形框,使得每一次分割運算時,處理的像素數(shù)是所有矩形框選擇中最少的,這也使得矩形框中背景像素是最少的,前景的占比最大,所以用戶的交互編輯次數(shù)也會相應(yīng)地減少。
圖5是使用傳統(tǒng)交互式圖像分割算法和融合了目標(biāo)檢測的交互式圖像分割算法對同一張圖片的一次初始化分割結(jié)果。
圖5 傳統(tǒng)算法與優(yōu)化算法初始化分割結(jié)果對比
使用傳統(tǒng)算法對圖片執(zhí)行50 次分割操作,其平均執(zhí)行時間是0.68 ms,同樣,使用優(yōu)化算法對圖片執(zhí)行50 次分割操作,其平均執(zhí)行時間是0.54 ms。由于傳統(tǒng)交互式圖像分割算法的初始框是用戶選擇的,并不是包含目標(biāo)在內(nèi)的最小矩形框,這使得算法執(zhí)行變慢,并且分割結(jié)果中可以明顯地看到背景的“藍(lán)天”,這需要用戶后續(xù)的交互式編輯來進(jìn)一步迭代分割,而融合了目標(biāo)檢測的交互式圖像分割算法的初始化矩形框是包含目標(biāo)絕緣子在內(nèi)的最小矩形框,這使得其初次分割就能得到十分理想的分割圖像,這就減少了用戶交互式編輯的次數(shù),也能減少算法執(zhí)行的時間。
1)介紹了一種融合了目標(biāo)檢測的交互式的電網(wǎng)設(shè)備圖像分割算法,能夠?qū)?fù)雜環(huán)境中的電網(wǎng)設(shè)備精確地分割出來,供后續(xù)的其他圖像處理使用。此算法能夠完成對大多數(shù)電網(wǎng)設(shè)備的精確分割,對于使用環(huán)境復(fù)雜的設(shè)備也有很好的分割效果。
2)本算法以高斯混合模型為基礎(chǔ),利用高斯混合模型能擬合任意分布的特點,來實現(xiàn)聚類算法,這是算法迭代過程的基礎(chǔ)。迭代的目的是實現(xiàn)圖像Gibbs 能量最小化,使用mincut/maxflow 算法來極小化Gibbs能量值,得到一次分割的結(jié)果。用戶可以通過交互式編輯來不斷優(yōu)化高斯混合模型,并再次進(jìn)入迭代過程,來得到最佳的分割效果。
3)本算法的目標(biāo)檢測使用YOLO-Fastest 算法相較于目前常用的MobileNet-SSD 等算法,此算法的運行速度最快,模型大小最小,克服了一些低端嵌入式設(shè)備算力不足的問題,使得此交互式分割算法在算力不足的嵌入式設(shè)備上也能快速運行。
4)相較于傳統(tǒng)交互式分割算法,本算法在初始化框的選擇上使用目標(biāo)檢測得到的標(biāo)定框。實驗結(jié)果表明,融合了目標(biāo)檢測的交互式圖像分割算法在每次初始化框選擇上都能得到包含目標(biāo)物體在內(nèi)的最小矩形框,這使得其比傳統(tǒng)算法的運行速度快,交互次數(shù)少,分割結(jié)果穩(wěn)定且準(zhǔn)確。
5)本算法仍存在一定的交互性,需要用戶在算法執(zhí)行時執(zhí)行一些交互式的編輯,以實現(xiàn)最佳的分割效果。對于人工智能發(fā)展迅速的當(dāng)今,用戶對系統(tǒng)自動化的需求日益增加,使用人工智能來代替用戶實現(xiàn)穩(wěn)定而準(zhǔn)確的交互式編輯是本算法未來研究的方向和重點。