焦秀華,劉立群,劉春霞
(太原科技大學電子信息工程學院,太原 030024)
數(shù)據(jù)變身“大數(shù)據(jù)”,開啟了一次重大的時代轉(zhuǎn)型。大數(shù)據(jù)技術(shù)最初被應(yīng)用于金融領(lǐng)域中,此后逐步向醫(yī)療以及教育行業(yè)延伸,也逐漸成為智能電網(wǎng)的基本技術(shù)支撐。大數(shù)據(jù)被廣泛應(yīng)用于智能電網(wǎng)中,智能電表的大規(guī)模推廣,引入了更為先進的傳感與檢測技術(shù),為智能電網(wǎng)的運行提供更豐富的數(shù)據(jù);無人機機巡線技術(shù)的實施[1],將會產(chǎn)生海量的圖像及視頻數(shù)據(jù);在電網(wǎng)監(jiān)測及維護中,對運維監(jiān)測系統(tǒng)及時反應(yīng),預(yù)防基礎(chǔ)設(shè)備故障導(dǎo)致的停電;在提升運營效率,改善客戶體現(xiàn)方面,通過數(shù)據(jù)分析有效提升電力行業(yè)營銷服務(wù)水平;在經(jīng)濟方面,利用大數(shù)據(jù)分析降低變壓器更換成本、降低輸電線路故障風險、提高電能質(zhì)量。
我國生態(tài)系統(tǒng)的改善中,鳥類的頻繁活動對電力系統(tǒng)造成一定的困擾。在鳥類筑巢和排便活動時,會加大絕緣子的污閃[2],遇到大霧和小雨時,材料的掉落和濕閃條件的形成,對供電可靠性造成破壞;其次,鳥巢中的幼崽和未孵化的卵,招引掠食者攀爬輸電線,可能會造成短路、斷路等現(xiàn)象;最后鳥類不同程度觸碰輸電桿塔,對輸電桿塔的壽命造成累積的不良影響。靠人工巡檢,受主觀影響因素大,重復(fù)機械的項目也容易產(chǎn)生疲勞,影響判斷的準確性。傳統(tǒng)的鳥巢檢測沒有自動分析功能,自動化程度低[3]。隨著大數(shù)據(jù)的到來,無人機巡檢采集大量的、高分辨率的巡檢圖像,使得自動化巡檢和人工巡檢的差距加大。
大數(shù)據(jù)主要思想采用先分后合,實現(xiàn)高速,流式讀寫操作。Map并行處理輸入數(shù)據(jù),Reduce將Map所產(chǎn)生的中間結(jié)果進行合并,傳回數(shù)據(jù)中心。對龐大的數(shù)據(jù)進行剝離、整理、歸類、建模、分析等操作,通過對不同維度的數(shù)據(jù)進行分析,得到海量圖片中想要提取的信息[4]。
梯度方向直方圖特征(HOG特征)是目前計算機視覺、模式識別領(lǐng)域常用的描述圖像局部紋理的特征[5],通過計算和統(tǒng)計圖像的局部細胞和塊的方向梯度直方圖來構(gòu)成特征。HOG特征的提出是由于大量數(shù)據(jù)表明,局部物體的外觀和形狀能夠通過局部區(qū)域的梯度密度分布或者邊界方向分布來描述[6],從本質(zhì)上來說,是梯度的統(tǒng)計信息,而梯度主要存在于邊緣的地方,深梯度按圖1所示,在360°方向上分為9個區(qū)間。
圖1 方向區(qū)間
為了提高圖像特征描述對環(huán)境變化的魯棒性,降低圖片局部的陰影、局部曝光過多以及紋理失真,盡可能的抑制圖像的干擾噪聲。歸一化處理操作將圖像轉(zhuǎn)化為灰度圖像,再利用Gamma校正,最后做仿射變換。待檢測圖片有RGB三個顏色通道,將每個顏色通道上的像素值取gamma次冪。
(1)灰度化
(1)
其中,gray(x,y)為灰度值,R(x,y)為紅色像素值值,G(x,y)為綠色像素值,B(x,y)為藍色像素值。灰度化后的圖像如圖2:
(2)Gamma校正
Y(x,y)=I(x,y)γ
(2)
其中,γ=0.5,Y(x,y)為校正后所得的圖像,I(x,y)為輸入的圖像。
(3)仿射變換
為了滿足最佳最佳像素128×64pixel,需要對測試樣本做仿射變換,通過縮放、旋轉(zhuǎn),滿足特征提取的需要。變化后的圖像如圖3.
(4)計算方向梯度
分別使用sobel算子[-1,0,1],[-1,0,1]T計算x,y方向上的梯度及方向。根據(jù)兩個坐標軸上的分量計算總幅值大小和角度。
GX(x,y)=I(x+1,y)-I(x-1,y)
(3)
GY(x,y)=I(x,y+1)-I(x,y-1)
(4)
式中:GX(x,y),GY(x,y)分別表示輸入圖像中像素點(x,y)處的水平方向梯度,垂直方向梯度;I(x,y)表示像素點(x,y)的像素值。Sobel算子濾波后的圖像如圖4:
圖4 鳥巢梯度圖
(5)方向梯度統(tǒng)計及塊歸一化
首先采用雙線性插值法統(tǒng)計每個細胞單元9個方向區(qū)間上的梯度統(tǒng)計[7];然后按照檢測窗口的滑動方向,合成每個塊的HOG特征向量;最后對每個塊特征向量進行歸一化[10]。
歸一化采用如下公式:
(5)
式中,w表示每個塊的梯度特征向量,ε為一極小常數(shù)。
(6)
對距離進行歸一化處理后,表征正負樣本的距離公式為:
(7)
當該點位于樣本邊界線上(即支持向量)觸發(fā)。為增強分類超平面的魯棒性[12]求得正負樣本分界線的最大距離:
(8)
(9)
將有約束問題轉(zhuǎn)化為無約束問題,該函數(shù)具有強對偶性,使用拉格朗日乘子法得[9]:
(10)
求解maxd等價于:
(11)
最終的結(jié)果只與兩個訓練樣本向量的內(nèi)積相關(guān)。訓練完成后,大部分的訓練樣本都不需要保留,僅留下構(gòu)成分類超平面的支持向量[10]。
不同的應(yīng)用場合存在選取不同的核函數(shù),但是也存在多種通用核函數(shù)。主要包括線性核函數(shù)、多項式核函數(shù)、高斯核函數(shù)、Sigmoid核函數(shù)[12]。但是一般的多項式核函數(shù)不能表示更高階的多項式函數(shù)。本文選擇徑向基核函數(shù),此核函數(shù)可以將原始空間映射為無窮維空間,使得原空間中不同的分布可以直接被繪制到不同的點上。高斯核的表達公式為:
(12)
σ的取值對子空間的維度和擬合程度有較大的影響,如果取值過大,仍近似為低維的子空間;如果取值過小,任意數(shù)據(jù)線性可分的同時,擬合程度過大。調(diào)整σ的取值,使得高斯具有較高的靈活性[13]。
選取徑向基核函數(shù)會自帶gamma參數(shù),該參數(shù)隱含的決定了數(shù)據(jù)映射到新空間后的分布。參數(shù)取值的大小和支持向量的數(shù)量成反比,同時支持向量的個數(shù)影響訓練與識別的速度。鳥巢實驗中g(shù)amma取值為2.646202699126753E-4.
該實驗選取8折交叉驗證,將樣本分為8份,輪流將其中7份用于模型訓練,1份用于驗證,取八次實驗的平均值作為實驗準確度的評估,同時可進行多次8折交叉驗證。SVM模型正確率曲線如圖5所示。
圖5 模型正確率曲線
數(shù)據(jù)本身可能是非線性結(jié)構(gòu),或者噪音使其偏離正常位置很遠。超平面本身是由少數(shù)支持向量組成,如果還存在偏離點,對模型影響很大,會導(dǎo)致超平面的變形甚至無法構(gòu)造超平面。為了處理這種情況,引入松弛變量,將超出的點移動,使是它剛好落在超平面邊界上[14]。離超平面越遠,松弛變量作用越大。原問題變?yōu)椋?/p>
(13)
Palal和Triggs經(jīng)過大量研究得:C的最佳取值為-0.667.
選取桿塔鳥巢視頻,提取正樣本圖像100張,負樣本圖像300張,使用libsvm工具箱來進行SVM模型的訓練和測試。最初得到的SVM模型正確率偏低,僅有78.3%,使用交叉驗證并手動調(diào)整參數(shù)后,正確率達到了88.2%.SVM模型識別結(jié)果如圖6所示。
圖6 模型識別結(jié)果
Hadoop是一個基于Linux系統(tǒng)的開源分布式數(shù)據(jù)處理軟件。其核心組件包括分布式文件系統(tǒng)hdfs、分布式計算模型mapreduce、資源管理yarn[15]。hdfs實現(xiàn)對處理對象的上傳、分配、備份、加密等;mapreduce實現(xiàn)對每個文件處理、結(jié)果合并;yarn負責管理主節(jié)點和從節(jié)點,合理分別計算資源。
Hadoop集群通常通過三種不同類型的節(jié)點執(zhí)行任務(wù),主節(jié)點負責分配計算任務(wù),管理從節(jié)點的運行,記錄集群運行日志[16];在從節(jié)點失效后,及時將任務(wù)分配給其他從節(jié)點。設(shè)置從節(jié)點如圖7所示,從節(jié)點主要負責將分到的數(shù)據(jù)進行備份,并進行計算。
本文提出的方法基于hadoop實現(xiàn)SVM識別的并行化,極大地提高了對大規(guī)模圖像識別的效率。Hadoop適用于處理單個的大數(shù)據(jù)文件,而處理原始圖像這樣的大量小文件,識別一張圖像就需要啟用一次mapreduce進程,嚴重影響hadoop的性能和效率,適得其反。因此本文提出了將圖像的HOG特征寫入txt文件,作為hadoop的處理對象。HDFS會將大文件切分成小文件分配到從節(jié)點,而圖像HOG特征是以矩陣形式存在的,每個元素都與結(jié)果相關(guān),無法隨意切割、合并。HDFS允許的最小文件塊是128 MB,因此單個文本中存儲的HOG特征必須小于128 MB.本文每個圖像提取HOG特征后的矩陣維度為3 780,128 MB的txt文檔中可存儲1 584張圖像。
實驗的具體步驟如下:
(1)初始化主節(jié)點并啟動hadoop組件。
(2)將輸入數(shù)據(jù)上傳到hdfs.
輸出數(shù)據(jù)是待分別圖像的HOG特征,以
(3)查看集群運行狀況。
通過http//www.主節(jié)點名.com:90070查看,確認節(jié)點正常啟動。
(4)map過程。
Map過程主要是對讀取待測圖像的數(shù)據(jù)集,使用訓練好的SVM模型進行鳥巢檢測。Map階段輸出值只有兩種,有鳥巢<1,1>,無鳥巢<-1,1>.
(5)reduce過程。
Reduce主要是對map過程的結(jié)果進行統(tǒng)計,統(tǒng)計有鳥巢和無鳥巢的圖像數(shù)量,并寫入到hdfs的結(jié)果文件中。
實驗首先將153935張圖像HOG特征形成矩陣,客戶端將訪問數(shù)據(jù)傳給主節(jié)點,主節(jié)點通過資源調(diào)度Yarn將任務(wù)分給不同的從節(jié)點,從節(jié)點進行執(zhí)行和運算,運行時間的對比結(jié)果如表2所示??梢钥闯鲈诿鎸A繑?shù)據(jù)時,hadoop集群的分類效率明顯比單機高的高64.9%.
表1 計算時間對比
對于海量圖像處理的情況,利用分布式平臺實現(xiàn)智能識別分類是非常重要的一項工作。本文研究了基于HOG特征的SVM模型桿塔鳥巢圖像分類,并在hadoop平臺下實現(xiàn)了SVM算法的并行計算。實驗取得的分類正確率為88.2%,6節(jié)點集群運行時間約為單機模式下的64.9%.Hadoop平臺下可以明顯提高對海量桿塔圖像處理和分析的效率。另外SVM初始模型的測試正確率比較低,需要通過人工調(diào)節(jié)交叉驗證參數(shù)、核函數(shù)、C值、gamma值提高正確率,具有一定的不確定性。
在hadoop中已經(jīng)實現(xiàn)了桿塔圖像的并行化自動識別,取得了比較好的效果,后續(xù)工作中還可以用于其他算法的并行化,還可用于其他電力設(shè)備監(jiān)測場景,如輸電線束線路異物監(jiān)測、絕緣子污穢等監(jiān)測識別的并行化,具有極大的推廣意義。