王漢章
摘 要:接觸網(wǎng)設(shè)備故障現(xiàn)在已成為高速列車晚點(diǎn)的重要原因之一,而接觸網(wǎng)設(shè)備的大部分故障都有著外觀表現(xiàn),本文將接觸網(wǎng)采集視頻進(jìn)行基于HOG+SVM的處理,把接觸網(wǎng)設(shè)備圖像信息從視頻中分類出來,建立鐵路線路接觸網(wǎng)設(shè)備圖像管理庫,輔助檢修人員進(jìn)行接觸網(wǎng)設(shè)備的檢修。
關(guān)鍵詞:接觸網(wǎng);HOG;SVM
DOI:10.16640/j.cnki.37-1222/t.2019.19.093
接觸網(wǎng)是指為電力機(jī)車供電在鐵路線路上空架設(shè)的輸電設(shè)備,如圖1所示。接觸網(wǎng)的常見故障有異物、丟件、斷線、破損、散股、硬彎、偏磨、燒傷等,而大部分故障均存在著外觀表現(xiàn),可通過對設(shè)備的觀察來發(fā)現(xiàn)。目前雖然已有了多種檢測手段,但視覺觀察仍是一種不可替代的檢測手段。本文通過對采集視頻的數(shù)字處理,輔助接觸網(wǎng)的故障診斷。
1 應(yīng)用到的技術(shù)
方向梯度直方圖(Histogram of Oriented Gradient, HOG)特征是用于計(jì)算機(jī)視覺和圖像處理中目標(biāo)檢測的一種特征描述。通過計(jì)算和統(tǒng)計(jì)圖像局部區(qū)域的梯度方向直方圖,構(gòu)造了圖像的HOG特征。
支持向量機(jī)(Support Vector Machine, SVM)是一種基于監(jiān)督學(xué)習(xí)(supervised learning)對數(shù)據(jù)進(jìn)行二元分類(binary classification)的廣義線性分類器(generalized linear classifier)。其決策邊界是求解學(xué)習(xí)樣本的最大邊緣超平面(maximum-margin hyperplane)。
OpenCV(Open Source Computer Vision Library,OpenCV)是一個
基于BSD開源協(xié)議的跨平臺計(jì)算機(jī)視覺庫。它可以在Linux、Windows、Android和MacOS操作系統(tǒng)上運(yùn)行,由一系列C函數(shù)和少量C++類組成,是輕量級和高效的。還提供了Python、Ruby、MATLAB等語言的接口,實(shí)現(xiàn)了計(jì)算機(jī)視覺和圖像處理的多種通用算法,包括HOG和SVM等的算法。
2 視頻處理
通過電力機(jī)車或檢測車上安裝的攝像頭,錄制鐵路線路上空接觸網(wǎng)設(shè)備的視頻信息。
通過VS和OpenCV編程,將錄制好的視頻分解為特定的圖片,并標(biāo)記對應(yīng)的各種信息,用來制作樣本庫和測試庫,進(jìn)行SVM的監(jiān)督學(xué)習(xí)。
訓(xùn)練好的SVM可用各線路上錄好的視頻來制作接觸網(wǎng)設(shè)備圖像庫。
3 HOG提取
(1)在OpenCV中Win、Block、Cell的定義。檢測窗口像素128*64,在圖像中水平和垂直滑動的步長均為8像素。
塊像素16*16,在檢測窗口中水平和垂直滑動的步長均為8像素。
單元格像素8*8,有9個梯度方向,統(tǒng)計(jì)9個方向的梯度直方圖。
(2)描述HOG特征。單個檢測窗口有((128-16)/8+1)*((64-16)/8+1)=105個塊,單個塊有4個單元格,單個單元格有9個Hog子向量,所以每個檢測窗口的Hog描述子的向量長度是105*4*9=3780維。HOG特征提取是統(tǒng)計(jì)梯度直方圖特征。將梯度方向(0~360°)劃分為9個區(qū)間,將圖像化為16x16的若干個塊,每個塊再化為4個單元(8x8)。對每一個單元,算出每一像素點(diǎn)的梯度方向和模,按梯度方向增加對區(qū)間的值,最終綜合N個單元的梯度直方圖利用插值形成一個高維描述子向量。
(3)灰度化和標(biāo)準(zhǔn)化空間。為便于快速處理,轉(zhuǎn)化為灰度圖。為了減少光照因素的影響,首先需要將整個圖像進(jìn)行規(guī)范化(歸一化),這種處理能夠有效地降低圖像局部的陰影和光照變化。
(4)將圖像分割為單元格。檢測窗口和塊的水平和垂直滑動的步長都是單元格的寬度或高度,可以把整個圖像分割成為一系列的單元格組成。
(5)計(jì)算圖像中像素的梯度。計(jì)算每個像素位置的梯度方向值,求導(dǎo)捕獲輪廓和紋理信息,進(jìn)一步弱化光照的影響。
(6)計(jì)算單元格的梯度方向直方圖。統(tǒng)計(jì)局部圖像梯度信息,得到局部圖像區(qū)域的特征描述向量。單元格中的每一個像素點(diǎn)都為某個基于方向的直方圖通道(orientation-based histogram channel),根據(jù)該像素點(diǎn)的梯度幅度作為權(quán)值進(jìn)行加權(quán)投票(weighted voting)來計(jì)算單元格的梯度方向直方圖。
(7)把單元格組合成塊,塊內(nèi)歸一化梯度直方圖。由于局部光照的變化以及前景-背景對比度的變化,使得梯度強(qiáng)度的變化范圍非常大。這就需要對梯度強(qiáng)度做歸一化。歸一化能夠進(jìn)一步地對光照、陰影和邊緣進(jìn)行壓縮。
(8)生成HOG特征描述向量。將所有塊的HOG描述符組合在一起,形成最終的feature vector,該feature vector就描述了檢測窗口的圖像內(nèi)容。
4 SVM訓(xùn)練
準(zhǔn)備數(shù)據(jù)集,轉(zhuǎn)化為 SVM支持的數(shù)據(jù)格式
選擇徑向基(RBF)核函數(shù),并設(shè)置練習(xí)參數(shù)。
依次提取樣本庫的圖像的HOG特征向量。對SVM進(jìn)行訓(xùn)練和測試,并優(yōu)化參數(shù)。
生成SVM訓(xùn)練結(jié)果,把它保存到XML文件中。
5 SVM識別
根據(jù)XML文件其中的支持向量和參數(shù)生成OpenCV中的HOG描述子可用的檢測子參數(shù),再調(diào)用OpenCV中的多尺度檢測函數(shù)進(jìn)行圖像檢測。將識別到圖像進(jìn)行分類管理。
6 結(jié)語
本文研究將錄制的設(shè)備視頻分解成圖像,對圖像進(jìn)行處理,制作樣本庫和測試庫,利用樣本庫的正負(fù)樣本HOG特征訓(xùn)練SVM,得到XML文件。再利用訓(xùn)練好的SVM對其它接觸網(wǎng)設(shè)備視頻進(jìn)行圖像分解和分類保存,形成接觸網(wǎng)設(shè)備圖像庫,輔助或進(jìn)行更進(jìn)一步的研究和設(shè)備故障診斷。研究可實(shí)現(xiàn)設(shè)備圖像的計(jì)算機(jī)識別和分類保管,代替人工分類,可降低工作人員的工作量和出錯率。
參考文獻(xiàn):
[1]http://wiki.opencv.org.cn/index.php[DB/OL].
[2]http://www.support-vector-machines.org/SVM_soft.html[DB/OL].
[3]http://blog.csdn.net/zhazhiqiang/[DB/OL].