胡瑋駿,張 明
(1.武漢大學 動力與機械學院, 湖北 武漢 430072)
基于Harr特征的快速輸電線識別
胡瑋駿1,張 明1
(1.武漢大學 動力與機械學院, 湖北 武漢 430072)
野外采集的輸電線圖像邊緣模糊,對比度差,空間域上存在隨機分布的點和小塊噪聲。采用中值濾波方法,在不丟失圖像邊緣細節(jié)信息的前提下,用分段線性變換增強了圖像邊緣的對比度,提高了圖像的亮度分辨力和空間分辨力。采用基于統(tǒng)計的Adaboost算法和Harr特征,完成了圖像中符合地線特征的所有子區(qū)域的定位,并對離散的子區(qū)域集進行最小二乘法擬合,最終確定地線的實際位姿。以一組地線的手眼視覺圖像為應(yīng)用實例,驗證了圖像預(yù)處理及目標檢測方法的有效性。
Adaboost;目標檢測;Harr特征
輸電線檢測[1]是指利用計算機從高壓輸電線巡線過程中拍攝到的照片中自動找到輸電線區(qū)域的過程。輸電線圖像的拍攝是在伴隨有振動、雨霧天氣影響等惡劣條件下完成的,往往存在較大程度的形變。采用總體泛化性強的基于統(tǒng)計的方法能較好地解決輸電線特征形變的問題。近年來出現(xiàn)的 Adaboost算法[2]是第一個實時的目標檢測算法,從根本上解決了檢測的速度問題,同時具有較好的識別效果。
1.1 Harr型特征介紹
Harr型特征[3]是一種矩形特征,定義為黑色矩形和白色矩形各自在圖像子窗口中對應(yīng)區(qū)域的灰度值總和之差,反映了圖像局部的灰度變化。
矩形特征和其他類型的濾波器如方向可控的邊緣濾波器比起來不如他們精細。如圖1所示,和方向可控濾波器不同,矩形特征可用的位姿只有垂直、水平還有傾斜。和積分圖像相結(jié)合,矩形特征集的高效性很大程度上彌補了其有限的適應(yīng)性。
圖 1 Harr型特征示例
矩形特征的特征值能夠通過一種原圖像間接的表示方法計算出來,稱之為積分圖[4]。積分圖在x、y位置的值包含了x、y左方及上方所有像素點值之和:
式中,ii(x,y)表示積分圖像;i(x',y')表示原圖像;ii(x,y)可用式(2)、式(3)迭代計算。
式中,s(x,y)表示一列的積分,且s(x,-1)=0,ii(-1,y)= 0。一幅積分圖像,只需遍歷一次原圖像。圖2b所示圖像矩形窗口D的像素灰度值之和可以用積分圖像中相應(yīng)的1~4共4個點計算出來,即窗口D的像素灰度值之和為4+1-(2+3)。
圖 2 積分圖像及其用法示意
1.2 Adaboost算法
Adaboost算法[4]是在Boosting算法基礎(chǔ)上發(fā)展而來的。對一組樣本集,只要檢測率比隨機分類(檢測率為50%)稍好就稱之為弱分類器。通過統(tǒng)計學習算法,將弱分類器賦以相應(yīng)的權(quán)重后線性組合,能夠大大增強它們的檢測率,得到的分類器稱為強分類器。
下面給出Adaboost算法的詳細流程[5]:
1)設(shè)一組包含正樣本和負樣本的訓練集xi,及其對應(yīng)的分類號ωi。
2)初始化待分辨特征的數(shù)目K。
3)令k=1,對每個樣本xi,初始化權(quán)重:
4)對k≠1,標準化權(quán)重以產(chǎn)生概率分布列:
5)對每一個特征fi,訓練一個僅針對單一特征的分類器估計每一個分類器在計入了當前與每一個樣本xi相關(guān)聯(lián)的權(quán)重的分類誤差
7)更新對所有樣本xi的權(quán)重:
8)設(shè)k:=k+1。
9)如果k≤K,轉(zhuǎn)到步驟4。
10)最終的強分類器S(xi)被定義為:式中,αk=log(1/βk); j標志著對應(yīng)被用在K個弱分類器里的單一特征集。
1.3 增強型級聯(lián)分類器
1.3.1 級聯(lián)分類器介紹
級聯(lián)分類器可以提升檢測效果,極大地縮短計算時間。它在排除掉大多數(shù)負子窗口的同時也檢測出幾乎所有正樣本。在更加復雜的分類器被調(diào)用來實現(xiàn)低的虛正率之前,簡單的分類器被用來排除大多數(shù)的子窗口。
級聯(lián)中的級[6]是先通過Adaboost算法訓練分類器,然后調(diào)整閾值來最小化虛負率。默認的AdaBoost閾值被設(shè)計成在訓練數(shù)據(jù)上輸出最小錯誤率??傮w上講,一個較低的閾值能夠得出更高的檢測率和更高的虛正率。
1.3.2 級聯(lián)分類器的訓練
級聯(lián)的訓練過程包括類型的取舍。在大多數(shù)情況下更多的特征會達到更高的檢測率和更低的虛正率,同時有更多特征的分類器需要更多的時間去計算。原則上講,我們能夠定義一個優(yōu)化框架在里面:①分類器級的數(shù)目;②每一級的特征數(shù)目;③每一級的閾值被用來最小化已估計特征的個數(shù)期望。
實際運用中,級聯(lián)的每一級都能降低誤正率并降低檢測率。一個目標被選擇達到最小的虛正率和最大的檢測率。每一級的訓練都通過增加特征數(shù)直到實現(xiàn)目標檢測和虛正率為止。級數(shù)不斷地被增加直到總體的虛正率和檢測率達到目標為止。
圖3 檢測流程圖
1)使用cascade類中的成員函數(shù)load加載訓練好的xml文件,完成加載分類器的步驟。格式為:
其中cascade_name為定義的xml分類器文件名。
2)將分類器轉(zhuǎn)化為OpenCV的內(nèi)部格式這一步驟必不可少,因為OpenCV只能處理內(nèi)部優(yōu)化格式的分類器。
3) 檢測要用到cascade類中的detectMultiScale函數(shù),該函數(shù)使用針對某目標訓練的級聯(lián)分類器在圖像中找到包含有目標物體的矩形框體,并將這些區(qū)域作為一系列矩形框返回??梢酝ㄟ^設(shè)置同一鄰域內(nèi)最少矩形窗口檢出數(shù)來對目標檢測的精度進行設(shè)定。其格式為:
detectMultiScale(const Mat& image,CV_OUT vector<Rect>
2.1 圖像預(yù)處理
對一組待處理的輸電線實拍圖像進行實驗,通過中值濾波過濾掉隨機噪聲干擾和Gaussian噪聲干擾,通過灰度變換增強圖像的對比度。
2.2 地線矩形區(qū)域檢測
基于Adaboost的目標檢測包含2個模塊:一個是使用采集到的正樣本集和搜集到的負樣本集訓練出分類器;另一個是使用訓練出來的分類器對測試樣本集的圖片進行處理。訓練模塊需要正樣本文件和負樣本文件。正樣本文件是實地拍攝并統(tǒng)一縮放到24×24像素并對齊了的地線子區(qū)域圖片。負樣本圖片采用的是MIT數(shù)據(jù)庫提供的背景圖片集,由人工篩選確認不含有地線。
2.2.1 OpenCV檢測流程
OpenCV是由Intel公司資助的開源計算機視覺庫。它由一系列C函數(shù)和少量的C++類構(gòu)成,可以方便地實現(xiàn)圖像處理和計算機視覺方面的很多通用算法[7]。使用OpenCV中的createsamples和traincascade函數(shù)訓練出分類器,得到包含有對應(yīng)所有弱分類器的Harr特征的參數(shù)的xml文件。檢測模塊的流程圖如圖3。& objects,double scaleFactor=1.1,int minNeighbors=3, int flags=0,Size minSize=Size(),Size maxSize=Size() );
其中image是待檢測的圖像,objects是檢測到的目標區(qū)域的矩形框,scaleFactor是前后兩次相繼檢查過程中檢測窗口的放大比例,minNeighbors是檢測到目標所需的同鄰域中最少的矩形框數(shù)。Flags表示操作方式。min_size是檢測窗口的最小尺寸,默認情況下被設(shè)為分類器訓練時采用的樣本尺寸。
4)評價分類器的性能能采用Performance.exe程序。該程序能夠?qū)τ柧毜玫降臋z測器文件進行評定得出檢測率、檢測速度。
2.2.2 檢測結(jié)果及分析
以500張地線圖片作為測試集,地線區(qū)域全部檢出。設(shè)計的檢測器對500條地線漏檢53條,檢測率達89.5%;檢測速率可達到20幀 /s左右。OpenCV圖像處理軟件與Adaboost檢測算法結(jié)合,基本實現(xiàn)了復雜背景下的快速輸電線檢測。擬合后的地線軸線仍有偏差,通過強分類器個數(shù)可以改善。
利用OpenCV圖像處理軟件與Adaboost檢測算法,選取擴展的Harr特征,實現(xiàn)了地線檢測并給出檢測結(jié)果,設(shè)計的檢測器對500條地線漏檢53條,可達到20 幀 /s左右,實現(xiàn)了符合工程要求的實時地線檢測,為機器人手眼視覺伺服控制提供了目標地線的位姿信息。
[1] 肖曉輝,杜蛾,諶青昊,等. 高壓輸電線路紅外圖像的邊緣檢測 [J]. 中國電力,2005,38(1):31-33
[2] Jacobs A, Baldwin T. Rapid Object Detection [C]. Kauai H I:IEEE Computer Soc,2001
[3] Lienhart T R,Mayd T J. An Extended Set of Haar-like Features for Rapid Object Detection [C]. IEEE ICIP,2002
[4] Freund Y,Schapir E R. A Short Introduction to Boosting [J]. Journal of Japanese Society for Artificial Inteligence, 1999,14(5): 771-780
[5] Sonka M, Hlavac V,Boyle R. Image Processing, Analysis and Machine Vision [M]. United States of America: Thomson Learning, 2008
[6] 嚴云洋,郭志波,楊靜宇. 基于空間劃分的Adaboost人臉檢測算法 [J]. 小型微型計算機系統(tǒng),2007(11):2 106-2 109
[7] 劉瑞禎,于仕琪. OpenCV教程-基礎(chǔ)篇 [M]. 北京: 航空航天大學出版社, 2007
P237.3
B
1672-4623(2015)01-0102-03
10.3969/j.issn.1672-4623.2015.01.034
胡瑋駿,碩士,研究方向為數(shù)字圖像處理與機器視覺。
2014-11-12。