曹增新,蔣 程,朱龍輝
(1.國(guó)網(wǎng)北京房山供電公司,北京 102401;2.西安理工大學(xué) 電氣工程學(xué)院,陜西 西安 710054)
電能是人類(lèi)日常生活中必不可少的一部分[1-2],隨著電力系統(tǒng)的不斷更新完善,越來(lái)越多的設(shè)備加入其中,供電安全管控圖像的處理也被提上日程[3-4]。圖像分析常常被用來(lái)作為輔助管理的手段,在電力安全管控系統(tǒng)中也是如此,人們將各種設(shè)備以圖像的形式記錄下來(lái),對(duì)其進(jìn)行去重、分類(lèi)等處理以便于進(jìn)行后續(xù)的管理過(guò)程[5-6]。對(duì)于供電安全管控圖像地處理,使用人工智能的方法進(jìn)行圖像整理,不僅可以大大降低人工操作的出錯(cuò)率,還可以節(jié)省人力資源。
在圖像去重方面,許多學(xué)者進(jìn)行了不斷的探索,傳統(tǒng)的圖像去重方法多數(shù)屬于文件級(jí)別,即將圖像視為一個(gè)二進(jìn)制文件,然后再利用傳統(tǒng)哈希算法來(lái)實(shí)現(xiàn)去重,如塊級(jí)數(shù)據(jù)去重算法[7-8],該方法圖像會(huì)因壓縮變換導(dǎo)致文件大小發(fā)生改變,此時(shí)文件級(jí)別的去重方法將無(wú)法正確對(duì)圖像進(jìn)行分辨,對(duì)感知相似的圖像無(wú)法判別。為了追求更高的去重效率,文獻(xiàn)[9]采取了圖像均值PHA簡(jiǎn)稱(chēng)AVG-PHA,通過(guò)將圖像轉(zhuǎn)換為灰度圖并壓縮大小在像素域得到圖像的哈希值,再借助漢明距離計(jì)算來(lái)判斷2幅圖像之間的哈希序列距離。這種方法較為簡(jiǎn)單,主要基于圖像原本的各個(gè)像素信息,可以減少計(jì)算費(fèi)用開(kāi)銷(xiāo),但圖像均值PHA無(wú)法對(duì)經(jīng)過(guò) JPEG壓縮,對(duì)比度發(fā)生變化后的圖像信息進(jìn)行準(zhǔn)確的判定。文獻(xiàn)[10]首先提出了基于DCT的PHA,簡(jiǎn)稱(chēng)DCT-PHA,利用提取頻域中特定系數(shù)產(chǎn)生的圖像哈希作為信號(hào)去重判斷,此后有學(xué)者對(duì)其方法進(jìn)行了優(yōu)化,并提出改進(jìn)版高準(zhǔn)確度感知哈希算法[11],該算法對(duì)相似圖更加敏感,準(zhǔn)確度更高。上面所列舉的方法雖然能夠?qū)崿F(xiàn)圖像分析分類(lèi),但是在穩(wěn)健性、錯(cuò)判率及去重率等方面性能仍然不高。
在圖像分類(lèi)方面,深度學(xué)習(xí)模型常被用于圖像的分類(lèi)[12-14]。自動(dòng)編碼器就是一種由編碼器和解碼器組成的特殊的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。其中,編碼器將數(shù)據(jù)輸入到隱藏層,通過(guò)隱藏層進(jìn)行表達(dá),而解碼器可以通過(guò)隱藏層恢復(fù)輸入的原始數(shù)據(jù)。這種獨(dú)特的結(jié)構(gòu)使得它在數(shù)據(jù)降維以及特征提取等方面都取得了不錯(cuò)的成就。CNN主要包括卷積層和池化層,可以很好保持圖像的空間信息[15-17],但是網(wǎng)絡(luò)的性能在前期會(huì)隨著網(wǎng)絡(luò)層數(shù)的增多繼續(xù)提高,但當(dāng)遇到一個(gè)閾值時(shí),網(wǎng)絡(luò)的性能會(huì)隨著層數(shù)的增多逐漸降低,這是因?yàn)镃NN模型出現(xiàn)了梯度消失的現(xiàn)象[18]。
針對(duì)上述圖像處理方面存在的問(wèn)題,本文將深度學(xué)習(xí)算法應(yīng)用于圖像處理技術(shù)中,通過(guò)深度學(xué)習(xí)算法實(shí)現(xiàn)供電安全管控圖像的去重與分類(lèi),完成電力安全管控系統(tǒng)下智能管理子系統(tǒng)的設(shè)計(jì)。對(duì)于供電安全管控圖像去重模塊,采用本文提出的BDCT-PHA進(jìn)行去重管理,該算法穩(wěn)健性好,去重準(zhǔn)確率高,且誤判率小。對(duì)于供電安全管控圖像分類(lèi)模塊,本文提出基于ResNet模型的CNN圖像分類(lèi)方法,該方法可以防止出現(xiàn)梯度消失現(xiàn)象,同時(shí)減少了計(jì)算量,提高了準(zhǔn)確率。
哈希函數(shù)[19]可處理不同長(zhǎng)度的原始數(shù)據(jù),將其變?yōu)榻y(tǒng)一長(zhǎng)度的消息摘要,通常用于數(shù)據(jù)加密以及數(shù)據(jù)壓縮,但由于其存在脆弱性與數(shù)據(jù)壓縮性的特點(diǎn),逐漸被PHA[20]所取代。PHA是圖像數(shù)據(jù)集到感知摘要集之間的一種單向映射,滿(mǎn)足區(qū)分性、感知魯棒性和單向性的特點(diǎn)。與傳統(tǒng)哈希算法相比,PHA所生成的哈希序列值較短,因此它的數(shù)據(jù)所占用的容量不會(huì)很高;PHA很難通過(guò)輸出的哈希值去追溯到輸入,因此輸入信息可以得到很好地保護(hù);PHA序列的生成過(guò)程不容易被模仿,無(wú)法通過(guò)對(duì)輸入圖像進(jìn)行修改來(lái)得到與另一幅不同圖像相似的哈希序列值。PHA的生成過(guò)程通常被分為感知特征的提取和量化編碼2個(gè)部分,其中感知特征的提取是整個(gè)步驟的靈魂。
從算法的穩(wěn)健性、去重率、錯(cuò)判率3個(gè)方面,對(duì)BDCT-PHA和AVG-PHA、DCT-PHA進(jìn)行比較,來(lái)說(shuō)明BDCT-PHA的優(yōu)勢(shì)。
1) 算法的穩(wěn)健性。漢明距離是判定PHA序列相似度的標(biāo)準(zhǔn),漢明距離越大也就意味著2個(gè)序列越遠(yuǎn)相距。因此在將閾值設(shè)定為同一個(gè)值的情況下,2幅相似圖像之間的漢明距離越大,識(shí)別的準(zhǔn)確率越低,穩(wěn)健性越弱。對(duì)失真圖像的已有研究表明,BDCT-PHA較另外2種算法相比,在多數(shù)情況下,漢明距離的平均值較小,穩(wěn)健性更好。
2) 算法的去重率。據(jù)已有研究顯示,漢明距離的閾值取為1或5時(shí),PHA對(duì)相似圖像的正確識(shí)別率較高。在閾值為1時(shí),BDCT-PHA去重的正確率能達(dá)到99%,高于DCT-PHA與AVG-PHA;在閾值為5時(shí),BDCT-PHA去重的正確率將達(dá)到95%以上,而AVG-PHA與DCT-PHA去重的正確率則在90%以下。
3) 算法的錯(cuò)判率。PHA會(huì)嚴(yán)格區(qū)分不同源的圖像,不同源的圖像被識(shí)別為相似圖像的情況被記為錯(cuò)判。已有研究表明,在有限大量數(shù)據(jù)的情況下,BDCT-PHA的錯(cuò)判率幾乎為0,相較于其他2種算法有明顯的優(yōu)越性。
BDCT-PHA會(huì)首先對(duì)圖像進(jìn)行預(yù)處理,對(duì)其做分塊DCT變換并提取特征向量,得到感知哈希序列值,再使用漢明距離來(lái)描述2幅圖像之間的距離,并設(shè)定閾值來(lái)對(duì)圖像相似與否進(jìn)行判別,具體操作如下:
步驟1:圖像的預(yù)處理。首先,使用RGB轉(zhuǎn)灰度公式Hgray(i,j)=0.299R(i,j)+0.587G(i,j)+0.114B(i,j)對(duì)彩色的圖像在(i,j)處進(jìn)行灰度化處理,以降低圖像亮度對(duì)于分析的影響。最后,圖像的大小將會(huì)影響生成的感知哈希序列長(zhǎng)度,因此需要提前對(duì)圖像的大小進(jìn)行統(tǒng)一。本文采用雙線性插值的方式對(duì)圖像進(jìn)行處理,分辨率統(tǒng)一設(shè)定為64×64。
步驟2:提取圖像的特征向量。首先,對(duì)經(jīng)過(guò)預(yù)處理的圖像進(jìn)行處理,將每個(gè)圖像分為64個(gè)8×8的塊,然后對(duì)其進(jìn)行分塊DCT變換,得到每個(gè)分塊的DCT矩陣;其次,分別取每個(gè)塊的DC分量,按照AC1和AC5分量將相同位置的分量連接起來(lái),連接方式為從上到下,從左到右,連接完成后組成3個(gè)一維向量Am,長(zhǎng)度為64;再次,對(duì)得到的3組向量分別用式(1)進(jìn)行二值化處理,即
(1)
最后,將3個(gè)Fm向量依次連接,生成一維特征向量F,其長(zhǎng)度為192,且表示了圖像經(jīng)過(guò)處理后的感知哈希序列值。
(2)
本文研究并判斷2個(gè)字符串之間的相似性是通過(guò)它們的漢明距離。判斷標(biāo)準(zhǔn)為:漢明距離越小,2個(gè)字符串差異性越小。對(duì)類(lèi)似的字符串進(jìn)行識(shí)別時(shí),設(shè)置一個(gè)閾值T與所得漢明距離進(jìn)行比較,當(dāng)D(x,y)≤T時(shí),兩者被識(shí)別為相似的字符串,否則識(shí)別為不同的的字符串。對(duì)應(yīng)感知哈希序列則是當(dāng)D(x,y)≤T時(shí),2個(gè)感知哈希序列代表的圖像相似;當(dāng)D(x,y)>T時(shí),2個(gè)感知哈希序列所代表的圖像不同。
在達(dá)到CNN性能閾值前,不斷增加CNN模型的深度會(huì)使模型的性能更好,但是當(dāng)達(dá)到閾值后,不斷增加CNN模型的深度,會(huì)出現(xiàn)梯度消失現(xiàn)象,而基于殘差網(wǎng)絡(luò)結(jié)構(gòu)的ResNet模型可以防止梯度消失現(xiàn)象[21-22]。ResNet模型把殘差網(wǎng)絡(luò)引入到深度CNN之中,實(shí)現(xiàn)了“短路”機(jī)制,可以較好地解決“網(wǎng)絡(luò)加深而準(zhǔn)確率下降”的問(wèn)題。
ResNet模型采用VGG的結(jié)構(gòu)并在其基礎(chǔ)上進(jìn)行了修改,在增加ResNet模型非線性激活函數(shù)數(shù)量的同時(shí)減少了ResNet模型參數(shù),這使得ResNet模型的計(jì)算量變得更小,即不是采用大卷積核的方法,而是用多個(gè)非常小的卷積核。ResNet可以使用2種殘差單元,分別對(duì)應(yīng)深層網(wǎng)絡(luò)和淺層網(wǎng)絡(luò),兩者均可在輸入與輸出維度一致時(shí),直接將輸入加到輸出上。
在訓(xùn)練ResNet模型時(shí),批量訓(xùn)練的大小、學(xué)習(xí)速率的大小、分類(lèi)數(shù)目與權(quán)值衰減率的選擇等都需要進(jìn)行超參數(shù)的設(shè)置[23]。
1)批量訓(xùn)練大小的選擇決定了ResNet模型下降的方向。當(dāng)數(shù)據(jù)量較小的時(shí)候,為了對(duì)噪聲數(shù)據(jù)產(chǎn)生魯棒性,即減少噪聲數(shù)據(jù)的干擾,批量訓(xùn)練值就應(yīng)該較大。當(dāng)數(shù)據(jù)量足夠龐大時(shí),為了減少計(jì)算量,應(yīng)該適當(dāng)減小批量訓(xùn)練的大小。ResNet模型在收斂精度和訓(xùn)練時(shí)間上存在一個(gè)最優(yōu)取值,因?yàn)榕坑?xùn)練值按照經(jīng)驗(yàn)存在一個(gè)全局最優(yōu)值。
2)學(xué)習(xí)速率的大小與權(quán)值更新的幅度緊密相關(guān),所以應(yīng)該把學(xué)習(xí)率設(shè)置在一個(gè)適宜的范圍。如果學(xué)習(xí)率設(shè)置過(guò)大,ResNet模型會(huì)在誤差較小的一端來(lái)回?cái)[動(dòng),形成一種已達(dá)到最優(yōu)的錯(cuò)覺(jué),因?yàn)槠錂?quán)值已經(jīng)超過(guò)最優(yōu)值,無(wú)法收斂到最優(yōu)值。若學(xué)習(xí)率設(shè)置的過(guò)小,優(yōu)化ResNet模型就需要大量時(shí)間,需要反復(fù)迭代,一步步靠近最優(yōu)值,最不理想的情況下可能會(huì)導(dǎo)致ResNet模型無(wú)法收斂。
樣本數(shù)據(jù)的輸入主要包括選擇特征集、選取樣本以及生成TFRecords樣本數(shù)據(jù)集3個(gè)部分。
1) 選擇特征集,選擇的主要是待分類(lèi)的圖像。為使特征集的維度更大,模型收到的信息更全面,可以通過(guò)提取不同維度的特征來(lái)構(gòu)成特征集。但是過(guò)高的圖像數(shù)據(jù)特征維度,又會(huì)對(duì)ResNet模型產(chǎn)生不良的影響,特征維度也存在一個(gè)最優(yōu)值。
2) 選取樣本,選取樣本點(diǎn)并提取樣本點(diǎn)的M維特征,每個(gè)樣本的特征是一個(gè)大小為M×N的矩陣。樣本的數(shù)據(jù)量在現(xiàn)實(shí)運(yùn)用中是遠(yuǎn)遠(yuǎn)滿(mǎn)足不了ResNet模型的需求的,因此需要使用隨機(jī)擦除與變換對(duì)比度的方式對(duì)原圖像數(shù)據(jù)進(jìn)行增強(qiáng)。
3)生成TFRecords樣本數(shù)據(jù)集。按照比例將數(shù)據(jù)集拆分為訓(xùn)練集和測(cè)試集,并將其全部轉(zhuǎn)換成二進(jìn)制文件,再根據(jù)文件夾名稱(chēng)添加樣本標(biāo)簽,轉(zhuǎn)換得到的TFRecords文件作為ResNet模型數(shù)據(jù)輸入。
投影快捷方式用于在殘差網(wǎng)絡(luò)特征維度改變之前添加不同特征尺寸的特性。原始?xì)埐罹W(wǎng)絡(luò)使用步幅為2的1×1卷積來(lái)改變通道的變化,如圖1(a)所示。但1×1卷積會(huì)丟失大量的信息,所以如圖1(b)所示,本文使用步幅為2的3×3最大池化層跟隨步幅為1的1×1卷積層來(lái)代替原始的投影快捷方式。
(a) 原始投影快捷方式 (b) 改進(jìn)投影快捷方式
改進(jìn)的投影快捷方式的好處是在投影時(shí)將考慮來(lái)自特征映射的所有信息,并在下一步選擇具有最高激活度的元素,以減少信息丟失。在通道流程方面,改進(jìn)的投影快捷方式可以被視為軟下采樣和硬下采樣的組合,這補(bǔ)充了2種方法的優(yōu)勢(shì)。硬采樣有助于進(jìn)行分類(lèi),而軟采樣有助于不丟失所有空間背景。同時(shí)這種改進(jìn)不會(huì)增加模型的復(fù)雜度和模型參數(shù)量。
當(dāng)前,大量研究結(jié)果表明方差為1的正態(tài)分布的白化操作可以使模型的收斂速度變得更快,即通過(guò)把輸入數(shù)據(jù)拉伸為值為0的均值,將輸入數(shù)據(jù)規(guī)范化和歸一化。ResNet模型的每個(gè)輸出層的輸出結(jié)果都是下一場(chǎng)輸入層的輸入數(shù)據(jù),因此,ResNet模型的白化操作,即為了克服模型訓(xùn)練時(shí)由于參數(shù)變化對(duì)模型梯度下降所產(chǎn)生的不良影響,需要對(duì)數(shù)據(jù)輸出層增加規(guī)范化層,對(duì)每個(gè)節(jié)點(diǎn)的輸入數(shù)據(jù)做歸一化拉伸。批量歸一化的主要目的是加快模型的收斂速度,避免梯度消失現(xiàn)象的出現(xiàn),其計(jì)算公式可表示為
(3)
因?yàn)閳D像數(shù)據(jù)的特征具有稀疏性,即存在明顯的線性可分性,所以為了模型能自動(dòng)引入稀疏性且通過(guò)線性分段緩解梯度消失現(xiàn)象,在本模型中使用稀疏性激活函數(shù)ReLU。
在對(duì)ResNet模型進(jìn)行訓(xùn)練時(shí),設(shè)計(jì)的目標(biāo)函數(shù)可表示為
(4)
設(shè)計(jì)的損失函數(shù)為樣本的真實(shí)類(lèi)型與預(yù)測(cè)結(jié)果的交叉熵,可表示為
(5)
對(duì)于每批次樣本,損失函數(shù)可表示為
(6)
對(duì)ResNet模型訓(xùn)練時(shí),卷積層會(huì)進(jìn)行特征提取工作,并把相應(yīng)的參數(shù)值記錄下來(lái)。在統(tǒng)計(jì)樣本的分類(lèi)值之前,會(huì)先將模型最底層提取的稀疏特征輸入到Logist層。
本文的仿真實(shí)驗(yàn)的流程為載入數(shù)據(jù)集→完成數(shù)據(jù)集去重→將去重后的數(shù)據(jù)集輸入待訓(xùn)練模型→完成模型訓(xùn)練→輸出結(jié)果。其中,原始圖像數(shù)據(jù)集為從現(xiàn)場(chǎng)收集到的關(guān)于開(kāi)關(guān)柜、控制屏柜、刀閘等10類(lèi)供電安全相關(guān)設(shè)備的圖片集共300張。將數(shù)據(jù)集進(jìn)行去重后,仍有254張圖片。從中選取120張圖片作為訓(xùn)練集,50張圖片作為測(cè)試集。
當(dāng)漢明距離的閾值選取為1與5時(shí),去重率較高,但在圖像失真的情況下,閾值為5時(shí)的穩(wěn)健性較好,故本文將漢明距離的閾值設(shè)定為5。
1) 選取要參與去重實(shí)驗(yàn)的文件。本文選擇供電安全管控圖像的文件夾來(lái)進(jìn)行示范實(shí)驗(yàn),32張圖像的編碼依次從00001到00032。
2) 存在1組相似圖像的去重實(shí)驗(yàn)。對(duì)編號(hào)為00001到00022的22張供電安全管控圖像進(jìn)行去重操作,結(jié)果如圖2(a)所示,可以顯示出較為相似的一組圖像的全部編號(hào),對(duì)應(yīng)編號(hào)圖像如圖3(a)所示。
3) 不存在相似圖像的去重實(shí)驗(yàn)。對(duì)編號(hào)為00003到00021的19張供電安全管控圖像進(jìn)行去重操作,結(jié)果如圖2(b)所示,不存在相似圖像提示。
4) 存在2組相似圖像的去重實(shí)驗(yàn)。對(duì)編號(hào)為00001與00032的32張供電安全管控圖像進(jìn)行去重操作,結(jié)果如圖2(c)所示,顯示出了2組相似圖像的全部編號(hào),并清晰地表明了與其相似的對(duì)象,對(duì)應(yīng)編號(hào)圖像如圖3(b)所示。
(a) 存在1組相似圖像的去重結(jié)果
(a) 第1組相似圖像的相似圖像
本文對(duì)供電安全管控圖像進(jìn)行如下處理,以實(shí)現(xiàn)圖像的分類(lèi)功能檢驗(yàn)。
1) 打標(biāo)簽。使用labelImg工具為每張圖像上的電力設(shè)備打上對(duì)應(yīng)的標(biāo)簽,例如switchgear、monitor等。
2) 數(shù)據(jù)增強(qiáng)。通過(guò)水平翻轉(zhuǎn)、旋轉(zhuǎn)等方式將訓(xùn)練集數(shù)據(jù)增強(qiáng)至1 200張。
3) 轉(zhuǎn)換格式。將數(shù)據(jù)集轉(zhuǎn)化為VOC數(shù)據(jù)集的格式以便對(duì)其進(jìn)行后續(xù)的訓(xùn)練。
4) 對(duì)數(shù)據(jù)集進(jìn)行訓(xùn)練。本文通過(guò)損失函數(shù)來(lái)對(duì)圖像分類(lèi)的正確性進(jìn)行表示。使用之前準(zhǔn)備好的數(shù)據(jù)集進(jìn)行訓(xùn)練,對(duì)過(guò)程中的各部分損失實(shí)現(xiàn)可視化,如圖4所示。
圖 4 損失函數(shù)計(jì)算結(jié)果
從圖4可以看出,損失在不斷變小,最終收斂于一個(gè)較為穩(wěn)定的范圍內(nèi),即收斂于4.785%~4.894%,由此可以得出本次訓(xùn)練結(jié)果良好。
5) 進(jìn)行對(duì)比實(shí)驗(yàn)。通過(guò)與densenet169[24]、vgg16[25]、mobilenetv2[26]以及原始Resnet進(jìn)行準(zhǔn)確率對(duì)比實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如表1所示。
表 1 實(shí)驗(yàn)結(jié)果
從表1可以看出,在識(shí)別分類(lèi)不同電氣設(shè)備時(shí),數(shù)據(jù)集去重操作在本實(shí)驗(yàn)中可有效降低模型的損失率和提升模型的準(zhǔn)確率。
本文在PHA的基礎(chǔ)上提出了一種BDCT-PHA,并采用改進(jìn)的Resnet模型,最后實(shí)現(xiàn)電力安全管控圖像的去重和分類(lèi)。仿真實(shí)驗(yàn)表明:所提方法在有效地完成圖片去重的同時(shí)可以列出被去重圖片的編號(hào),避免了重復(fù)或者過(guò)相似圖片對(duì)系統(tǒng)管理影響;利用損失函數(shù)和分類(lèi)準(zhǔn)確率來(lái)對(duì)結(jié)果進(jìn)行可視化描述,損失值不斷降低并最終趨于一個(gè)相對(duì)穩(wěn)定的區(qū)間,證明模型可有效被訓(xùn)練;分類(lèi)準(zhǔn)確率的對(duì)比結(jié)果證明所提方法具有良好的分類(lèi)效果。