許志龍 施燁 俞鑫春 郭偉
(1.國(guó)網(wǎng)江蘇省電力有限公司 江蘇省南京市 210024 2.國(guó)網(wǎng)江蘇省電力有限公司南通供電分公司 江蘇省南通市 226006)(3.南通華遠(yuǎn)科技發(fā)展有限公司 江蘇省南通市 226007)
模板匹配在電力巡檢機(jī)器人有著重要的應(yīng)用[1],其可以幫助機(jī)器人在復(fù)雜環(huán)境下定位目標(biāo)位置。模板匹配算法可由兩部分組成:特征工程和定位模塊。特征工程可以將模板圖和目標(biāo)圖轉(zhuǎn)換到特定的特征空間,定位模塊在特征空間計(jì)算模板圖和目標(biāo)圖不同區(qū)域的相似度,從而定位出模板圖在目標(biāo)圖上的位置。
特征工程是模板匹配任務(wù)的基礎(chǔ)環(huán)節(jié)。傳統(tǒng)的模板匹配算法主要依靠人工設(shè)計(jì)特征模板提取圖像特征,如灰度、直方圖和角點(diǎn)等特征,其提取效果受環(huán)境影響較大。文獻(xiàn)[2]對(duì)比了三種典型模板匹配算法,在外加不同程度噪聲時(shí),算法的效果均出現(xiàn)明顯退化。相反,深度學(xué)習(xí)方法可以通過反向傳播機(jī)制從大量訓(xùn)練樣本中自動(dòng)學(xué)習(xí)適用于特定視覺任務(wù)的圖像特征,具有較強(qiáng)的魯棒性[3]。
定位模塊是將模板圖在目標(biāo)圖中定位出來。在特征空間中,使用模板圖在目標(biāo)圖上遍歷計(jì)算相似性可以完成定位。相似性計(jì)算是定位模塊的核心步驟。在已發(fā)表文獻(xiàn)中,一般使用逐像素點(diǎn)比較的相似性計(jì)算方式[2],但當(dāng)目標(biāo)存在遮擋或圖像形變較大時(shí)性能會(huì)大幅下降。為了解決形變問題,BBS(Best-Buddies-Similarity)方法[6]提出了建立在最近鄰的相似度度量方法,通過計(jì)算模板圖中特征點(diǎn)與目標(biāo)圖中特征點(diǎn)的匹配對(duì)數(shù)實(shí)現(xiàn)定位目的。DDIS(Deformable Diversity Similarity)方法[7]在BBS 的基礎(chǔ)上優(yōu)化了計(jì)算效率,同時(shí)比BBS 方法具有更高的匹配精度。目前,模板匹配領(lǐng)域主要研究較為固定場(chǎng)下的特定目標(biāo)定位問題,如車牌定位[4]和人臉識(shí)別[5]等。然而,電力巡檢機(jī)器人所處的工作環(huán)境較為復(fù)雜多變,遮擋和形變等問題會(huì)降低模板匹配算法的匹配效果。
圖1:VGG16 網(wǎng)絡(luò)結(jié)構(gòu)
為了提升復(fù)雜電力場(chǎng)景下模板匹配的準(zhǔn)確率,本文提出了一種基于自學(xué)習(xí)特征權(quán)重網(wǎng)絡(luò)(self-learning feature weight network,SFWN)的模板匹配方法。以VGG16[8]為骨干網(wǎng)絡(luò),分別提取淺層、中層和深層(第2、7 和11 層)的特征圖作為模板匹配特征圖。深度卷積網(wǎng)絡(luò)的淺層卷積層提取低層次特征,包含更多細(xì)節(jié)信息,如圖像邊緣和顏色信息。中間卷積層則進(jìn)一步抽象特征圖,得到更加高級(jí)的特征。深層特征圖最抽象,含有明顯的語義信息。多層次的特征圖可以完整描述圖像的特征,有助于提升目標(biāo)匹配準(zhǔn)確率。但是,直接利用不同層之間的特征圖計(jì)算相似度會(huì)使得時(shí)間損耗太大,因此使用VGG16 中的第2、7 和11 層的特征圖作為多層次特征圖代表,可以減小特征空間維度。另外,為了進(jìn)一步減少匹配算法耗時(shí),在VGG 基礎(chǔ)上引入SE(Squeeze-and-Excitation)模塊[9]。SE模塊可以自主學(xué)習(xí)同一層特征圖中不同通道特征的重要程度。通過剔除特征圖中不重要的通道,降低定位模塊的計(jì)算復(fù)雜度。在定位模塊中,本文使用曼哈頓距離[10]作為相似性度量,曼哈頓距離越小,表示模板特征圖與目標(biāo)特征圖的相似度越高。
本文主要的貢獻(xiàn)可分為如下:
(1)分析卷積神經(jīng)網(wǎng)絡(luò)不同深度特征圖的特點(diǎn),提出了使用VGG16 的淺、中和深等不同抽象程度特征圖作為模板匹配的特征工程輸出,減少了不同深度特征圖之間的信息冗余和計(jì)算量;
(2)使用SE 結(jié)構(gòu)改進(jìn)VGG16 網(wǎng)絡(luò),實(shí)現(xiàn)了特征通道權(quán)重的自學(xué)習(xí),降低了同一深度特征圖不同通道間的信息冗余和算法耗時(shí);
(3)與已發(fā)表文獻(xiàn)相比,本方法在TMDE 數(shù)據(jù)集上取得最高的準(zhǔn)確率,同時(shí)具有較強(qiáng)魯棒性。
圖2:VGG 特征層可視化
圖3:SE 結(jié)構(gòu)
圖4:曼哈頓距離熱力圖
下文主要圍繞特征工程和相似性度量函數(shù)兩部分展開。首先使用SFWN 提取圖像重要的特征圖作為模板匹配的特征空間,并使用模板特征圖遍歷目標(biāo)特征圖得到曼哈頓距離。組合目標(biāo)圖上每個(gè)像素對(duì)應(yīng)的曼哈頓距離可以得到相距離熱力圖。最后,按模板圖大小遍歷曼哈頓距離熱力圖可以得到模板特征圖與匹配特征圖區(qū)域的曼哈頓距離之和,距離和最小的位置即為模板在目標(biāo)圖上的定位。
特征工程的作用是獲取模板圖和目標(biāo)圖對(duì)應(yīng)的特征圖,用以計(jì)算曼哈頓距離。因此,特征提取的質(zhì)量對(duì)模板匹配效果影響極大。少量特征圖可以減小定位模塊的計(jì)算量,但是匹配效果較差。相反,大量特征圖有利于提高匹配精度,但是耗費(fèi)大量計(jì)算資源。因此,需要從大量特征圖中篩選出重要的特征圖,在保證匹配精度的同時(shí)減少時(shí)間損耗。本文同時(shí)使用特征圖可視化分析方法和網(wǎng)絡(luò)自學(xué)習(xí)特征圖權(quán)重兩種方式,確定最具代表性的特征圖。
2.1.1 卷積層特性分析
VGG16 網(wǎng)絡(luò)結(jié)構(gòu)由13 層卷積層、2 層全連接層構(gòu)成,激活函數(shù)使用的是ReLU[8]。VGG 通道數(shù)較多,最多可達(dá)512 個(gè)通道,其結(jié)構(gòu)如圖1 所示。
VGG16 不同卷積層具備不同的特征抽取和表達(dá)能力,圖2 展示了VGG16 的第2、7 和11 卷積層特征圖[11]。
其中,圖2(a)是原圖。圖2(b)是原圖對(duì)應(yīng)的網(wǎng)絡(luò)淺層特征圖可視化結(jié)果,淺層網(wǎng)絡(luò)提取的特征與傳統(tǒng)算法所做的特征工程比較接近,主要包括顏色、邊緣和角點(diǎn)等特征[12]。而隨著網(wǎng)絡(luò)層的加深,低層次的圖像特征被進(jìn)一步抽象形成更高級(jí)的特征。圖2(c)對(duì)應(yīng)的是網(wǎng)絡(luò)中層特征圖可視化結(jié)果,提取的特征圖相對(duì)于淺層更抽象。圖2(d)是網(wǎng)絡(luò)深層特征圖的可視化結(jié)果,其帶有較明顯的語義信息。與淺層細(xì)節(jié)信息相比,深層語義信息對(duì)遮擋和形變等噪聲敏感度較低。
VGG16 可獲得圖像不同抽象程度的特征圖,但是不同層的特征圖之間存在較大的信息冗余。另外,直接使用全部特征圖極大增加匹配算法的計(jì)算量。因此,使用VGG16 的淺、中和深三層的特征圖分別作為各個(gè)層次特征圖的代表。其中,淺層和中層特征圖主要用于構(gòu)建目標(biāo)物體的結(jié)構(gòu)特征,深層特征圖用于提供對(duì)噪聲不敏感的語義信息,增加匹配算法的魯棒性。
2.1.2 自學(xué)習(xí)權(quán)重
但是,直接使用VGG16 的淺、中和深三層特征圖有兩個(gè)缺點(diǎn):
(1)特征冗余性:同一層特征圖的不同通道之間具有相似性。
(2)計(jì)算復(fù)雜度:在模板匹配的計(jì)算相似性過程中,需要將模板特征圖與目標(biāo)特征圖遍歷匹配。因此,過多的特征圖容易增大計(jì)算復(fù)雜度;
為了減少同一深度特征圖的信息冗余,在網(wǎng)絡(luò)中引入SE 模塊,使網(wǎng)絡(luò)能自適應(yīng)學(xué)習(xí)層內(nèi)不同通道的重要性。最后,淺、中和深層特征圖僅分別選擇各自權(quán)重值前5 大的通道,用于構(gòu)建模板匹配任務(wù)的特征工程。SE 結(jié)構(gòu)由擠壓(Squeeze)和激發(fā)(Excitation)組成,實(shí)現(xiàn)了通道權(quán)值的自主學(xué)習(xí),如圖3 所示。
Squeeze 操作:對(duì)于某一層的輸出按通道進(jìn)行全局平均池化(Global average pooling,GAP)。將N 個(gè)W×H 大小的通道輸出特征壓縮成N 個(gè)實(shí)數(shù)z,每一個(gè)實(shí)數(shù)具體有全局的感受野,具體地全局池化操作如式(1):
表1:與其他算法對(duì)比
其中,uc和zc分別代表的是前一卷積層第c 通道特征圖和對(duì)應(yīng)的全局平均池化值,W、H 分別為uc的寬和高。
Excitation 操作:通過兩個(gè)全連接層建模通道間的相關(guān)性,并輸出N 個(gè)權(quán)重值。使用全連接層可以引入更多的非線性性,更好地描述通道間復(fù)雜的相關(guān)性。最后通過一個(gè)Sigmoid 激活函數(shù)將值歸一化到0~1 之間,如式(2)所示:
其中,w 表示對(duì)應(yīng)不同通道的權(quán)重值,F(xiàn)1表示降維的全連接操作,F(xiàn)2表示升維的全連接操作。ReLU 作用是引入非線性,而Sigmoid 輸出值是網(wǎng)絡(luò)對(duì)特征圖不同通道重要性的權(quán)重值。為了實(shí)現(xiàn)通道權(quán)重可學(xué)習(xí),將N 個(gè)權(quán)重值通分別與特征圖N 個(gè)通道對(duì)應(yīng)相乘。因此,網(wǎng)絡(luò)訓(xùn)練時(shí)可以通過反向傳播機(jī)制自動(dòng)更新權(quán)重值,實(shí)現(xiàn)權(quán)重值自學(xué)習(xí)。將w 權(quán)值排序,使用較大權(quán)值對(duì)應(yīng)的通道用于特征工程,可有效地降低特征空間復(fù)雜度。最終,用于構(gòu)建模板匹配的特征描述如式(3):
其中,I 為輸入網(wǎng)絡(luò)的圖像,Oi,j對(duì)應(yīng)的是第i 層卷積層、第j個(gè)通道索引的輸出特征張量,j 的取值范圍是各層的w 中前5 大權(quán)值所對(duì)應(yīng)的通道索引號(hào)。
記P 和Q 分別為模板圖和目標(biāo)圖經(jīng)過特征描述子F 提取得到的特征圖。設(shè)模板圖的長(zhǎng)寬分別為m 和n,待匹配圖的大小為a 和b,則將模板特征描述P 在Q 上通過滑動(dòng)窗口計(jì)算的方式計(jì)算曼哈頓距離。滑動(dòng)的范圍是:m/2 ≤i ≤r-m/2、n/2 ≤j ≤c-n/2,其中r 和c 分別代表原圖像的行數(shù)和列數(shù),m 和n 分別代表模板特征圖的寬度和高度。曼哈頓距離如式(4)所示:
通過公式(4)計(jì)算模板特征圖和目標(biāo)特征圖對(duì)應(yīng)位置的曼哈頓距離,可得到如圖4 所示的曼哈頓距離熱力圖分布。其中,藍(lán)色越淡表示距離越小。按(m,n)大小在熱力圖上遍歷求和,曼哈頓距離之和最低的位置即為模板在目標(biāo)圖上的最終位置。
本文實(shí)驗(yàn)環(huán)境為Ubuntu 16.04LTS,CPU 為Intel Xeon@2.10Ghz, GPU 為NVIDIA GeForce GTX 1080Ti,內(nèi)存為128GB,深度學(xué)習(xí)框架為pytorch 0.4.1。
圖5:TMDE 數(shù)據(jù)集
圖6:模板匹配結(jié)果
目前沒有公開的關(guān)于電力場(chǎng)景的模板匹配數(shù)據(jù)集。為了驗(yàn)證算法在實(shí)際工程中的可靠性,提出了一個(gè)關(guān)于電力環(huán)境的模板匹配數(shù)據(jù)集TMDE,所有數(shù)據(jù)均來自江蘇省南通市供電局的實(shí)際作業(yè)監(jiān)控視頻。數(shù)據(jù)圖像格式均為1080P,主要通過巡檢機(jī)器人和移動(dòng)布控球等設(shè)備采集得到。TMDE 的部分樣本如圖5 所示。
經(jīng)過數(shù)據(jù)清洗后,得到TMDE 數(shù)據(jù)集共85640 張。同時(shí),對(duì)需要匹配的目標(biāo)統(tǒng)一標(biāo)注。
為了普適性,SFWN 網(wǎng)絡(luò)訓(xùn)練并未使用TMDE 數(shù)據(jù)集,而是使用VOC2007 的數(shù)據(jù)[13]。使用VGG16 預(yù)訓(xùn)練模型初始化主干網(wǎng)絡(luò)的權(quán)重參數(shù)。實(shí)際訓(xùn)練時(shí),使用隨機(jī)梯度下降方法優(yōu)化損失,其中學(xué)習(xí)率設(shè)為10-4、迭代次數(shù)設(shè)置為30000。
采用交并比IoU(intersection-over-union)衡量目標(biāo)匹配的程度,如式(5)所示:
其中,MB(Matching Box)和GT(Ground truth)分別代表匹配結(jié)果和真值框。當(dāng)匹配結(jié)果與目標(biāo)圖中的真值框的交并比大于75%認(rèn)為目標(biāo)匹配成功。統(tǒng)計(jì)測(cè)試集的匹配結(jié)果可以得到匹配準(zhǔn)確率。準(zhǔn)確率定為在TMDE 數(shù)據(jù)集上匹配成功的圖像張數(shù)除以數(shù)據(jù)集的圖像總張數(shù)。
在TMDE 數(shù)據(jù)集上,模板匹配的對(duì)象包括儀表、梯子和標(biāo)識(shí)牌等電力場(chǎng)景常規(guī)目標(biāo)。圖6 展示的是絕緣梯的匹配結(jié)果,圖6 從上到下分別為模板圖原圖、良好場(chǎng)景匹配、嚴(yán)重遮擋匹配和嚴(yán)重形變匹配。其中,藍(lán)色、綠色和紅色框分別代表本方法、DDIS 和SSD 匹配結(jié)果。實(shí)驗(yàn)結(jié)果顯示,本方法在不同情況下的匹配效果均最佳。其中,SSD 對(duì)于縮放和形變幾乎均失效,而DDIS 的匹配效果比SSD 稍準(zhǔn)確。
SSD、DDIS 以及本方法在TMDE 上的準(zhǔn)確率和平均耗時(shí),如表1 所示。
在表1 中,模型1、2 和3 分別為使用全部VGG16 特征圖方法、使用VGG16 淺中深特征圖代表方法和最后方法(本方法)。表1表明,特征冗余會(huì)不僅會(huì)降低匹配準(zhǔn)確率,而且會(huì)極大增加耗時(shí)。另外,與已發(fā)表文獻(xiàn)相比,本方法的匹配準(zhǔn)確率最高。與BBS 相比,DDIS 雖然有較明顯的提升,但耗時(shí)大幅增加。因此,本方法可以在耗時(shí)增加不多的情況下,極大提高檢測(cè)準(zhǔn)確率。
為了提高電力場(chǎng)景中模板匹配算法的準(zhǔn)確率,提出了一種基于SFWN 的模板匹配方法。使用深度網(wǎng)絡(luò)自動(dòng)提取模板圖和目標(biāo)圖的特征,減少人力損耗。使用VGG16 中的第2、7 和11 卷積層特征圖作為不同深度特征圖的代表,可以減少不同層之間的特征信息冗余且和計(jì)算損耗。另外,在VGG 的基礎(chǔ)上引入SE 結(jié)構(gòu),可以使網(wǎng)絡(luò)自主學(xué)習(xí)到同一層特征圖不同通道間的重要性。選擇重要特征圖通道作為該層的特征圖代表,可以進(jìn)一步減少算法耗時(shí)。在自制的模板匹配數(shù)據(jù)集TMDE 驗(yàn)證不同匹配算法的效果。結(jié)果表明,與其他已發(fā)表算法相比,本方法能保證耗時(shí)增加不大的前提下,極大提高模板匹配準(zhǔn)確率,更適合于實(shí)際電力巡檢應(yīng)用。