摘 要: 介紹了基于ADSP" title="DSP">DSP-BF533" title="BF533">BF533的電力線覆冰監(jiān)測系統(tǒng)" title="監(jiān)測系統(tǒng)">監(jiān)測系統(tǒng)。該系統(tǒng)是基于圖像監(jiān)測的電力線覆冰監(jiān)測裝置,。系統(tǒng)通過采用簡化的Sobel算法和Hough變換對圖像進行邊緣識別,,借助DSP的高速運算性能和優(yōu)化的DSP代碼,實現(xiàn)了電力線覆冰厚度的終端識別和自動報警功能,;采用終端識別的方式,,是智能監(jiān)控中一種新的嘗試。
關鍵詞: ADSP-BF533,; 圖像識別,; 覆冰導線; Hough變換
對于天氣嚴寒的高山地區(qū),,導線覆冰嚴重影響著高壓輸電線路的安全運行,。當導線表面的覆冰越積越厚,導線將承受幾百公斤到幾噸的荷載,,這時導線自重及所覆的冰重產(chǎn)生的拉力將通過導線,、導線金具、絕緣子傳遞給桿塔,,桿塔又將拉力傳給拉線,,只要導線、金具,、絕緣子,、桿塔、拉線,、拉線絕緣子,、拉線固定件等其中一個環(huán)節(jié)承受不住所受拉力,就將會出現(xiàn)倒塔(桿)和斷線的事故,,這種事故往往會擴展至一個耐張段,。如何有效地避免和防止冰災對高壓輸電線路造成的危害,是電力企業(yè)必須要面對的課題,。
基于ADSP-BF533的電力線覆冰監(jiān)測系統(tǒng)正是基于圖像監(jiān)控的電力線覆冰監(jiān)控系統(tǒng),,該系統(tǒng)通過終端的自動識別能及時地將覆冰危害通過圖片傳送的方式進行報警,也方便監(jiān)控人員進行手動的現(xiàn)場圖片采集,,及時發(fā)現(xiàn)險情進行人工除冰處理,,對電力線起到良好的保護作用。
1 系統(tǒng)構成
系統(tǒng)終端采用ADSP-BF533為主控制器,,通過PPI接口接收CMOS傳感器的圖像信息,,利用DSP的高速運算性能,對圖像中的電力線覆冰情況進行識別和對比,,對覆冰厚度達到報警級別的采用JPEG壓縮并傳送,。同時,,DSP還通過8通道12位的A/D芯片AD7888采集各種氣象信息(包括溫濕度、雨量,、風向,、風速、CO2含量等)和泄漏電流數(shù)據(jù),,對電力線運行狀況進行全面的監(jiān)測,。終端采集的圖像數(shù)據(jù)和氣象信息通過GPRS發(fā)送給本地服務器,對數(shù)據(jù)進行顯示和存儲,。系統(tǒng)采用太陽能電池板和大容量后備鉛酸蓄電池供電,,可以保證系統(tǒng)在無太陽充電的情況下穩(wěn)定運行30天。電力線監(jiān)測系統(tǒng)框圖如圖1所示,。
ADSP-BF533是ADI" title="ADI">ADI公司新推出的16位高速定點數(shù)字信號處理器,,該DSP性能優(yōu)良并具備視頻處理接口,性價比高,,其主頻最高能達600Hz,,每秒可處理1 200M次乘加運算。高性能DSP使遠端采集系統(tǒng)中的圖像識別成為可能,,減輕了服務器負擔,。
圖像采集采用美國OmniVision公司的CMOS傳感器OV7640,該傳感器包括一個652×486的感光陣列,,同時集成了幀(行)控制電路,、視頻時序產(chǎn)生電路、模擬信號處理電路,、A/D轉換電路,、數(shù)字信號輸出電路及I2C編程接口。DSP通過I2C接口設置和讀取OV7640的工作方式,、數(shù)據(jù)輸出格式,、工作狀態(tài)等。CMOS傳感器與DSP的接口如圖2所示,。
終端軟件采用μC/OS實時操作系統(tǒng),,由于覆冰厚度識別占用了絕大多數(shù)CPU時間,設置為較低優(yōu)先級任務,,使系統(tǒng)能夠較快響應其他報警信息(如CO2含量、泄漏電流等),。采用終端進行識別的模式,,不但可以減輕服務器的運算壓力,而且可以減少網(wǎng)絡傳輸,。當系統(tǒng)中采集點增加到一定程度時,,這種方式的優(yōu)勢將更為明顯,。
2 覆冰厚度識別算法描述
覆冰厚度識別算法是系統(tǒng)的核心部分,通過算法優(yōu)化和指令優(yōu)化,,可以充分發(fā)揮ADSP-BF533的高速運算性能,,使終端自動識別成為可能。算法中首先對電力線進行邊緣檢測,,描繪電力線邊緣,,并計算出電力線正常寬度作為參考值。當電力線覆冰時,,采用同樣算法計算出來的電力線寬度小于參考值,。設置一個固定閾值,當電力線寬度小于閾值時,,對采集圖像進行壓縮傳送,,實現(xiàn)自動報警功能。算法中先采用Sobel 算子進行邊緣提取,,然后采用Hough變換進行平行線檢測,。
2.1 圖像預處理
對于傳感器采集的彩色圖像采用如下公式變換為灰度圖像:
灰度圖像中包含各種噪聲,為了能夠盡量準確地檢測覆冰厚度,,采用一定的圖像預處理算法濾掉一部分噪聲,。通常在空間域內可以用鄰域平均來減少噪聲;在頻率域可以采用各種形式的低通濾波來減少噪聲,。為了提高檢測速度,,系統(tǒng)采用最簡單的圖像平滑技術,采用以下模板對圖像進行平滑降噪處理:
2.2 Sobel算法
Sobel算法的邊緣檢測是在圖像空間利用兩個方向模板與圖像進行鄰域卷積來完成的,。這兩個方向模板一個檢測水平邊緣,,一個檢測垂直邊緣。Sobel算子不是簡單求平均再差分,,而是加強了中心像素上下左右四個方向像素的權重,。Sobel 算子的表達式[1]如下所示:
由于圖像邊緣附近的亮度變化較大,所以可以把那些在鄰域內,,灰度變化超過某個適當閾值的像素點當作邊緣點,。Sobel算子具有算法簡單、處理速度快,,所得到的邊緣光滑,、連續(xù)、且定位準確的優(yōu)點,,缺點是其邊緣較粗,。
Sobel算法的主要步驟:
(1)分別將兩個方向的模板沿著圖像從一個像素移到另一個像素,并將模板的中心像素與圖像中的某個像素位置重合,。
(2) 將模板內的系數(shù)與其對應的圖像像素值相乘,。
(3) 將所有乘積相加,。
(4) 將兩個卷積的最大值,賦給圖像中對應模板中心位置的像素,,作為該像素的新灰度值,。
(5) 取適當?shù)拈撝礣H,若像素新灰度值≥TH,,則判該像素點為邊緣點,。
2.3 Hough變換
Hough變換是一種常用的直線檢測算法。設一條直線的方程為y=kx+b,,每一對(k,b)確定一條直線,。若將該方程改寫為b=-xk+y,則(x,y)平面上的一點對應于(k,b)平面上的一條直線,。而(x,y)平面上共線的點對應于(k,b)平面上相交于同一點的一簇直線,。因此,(x,y)平面上的直線與(k,b)平面上的點具有對應關系[2]。由于斜率k可能取值為無窮大,,所以可以將Hough變換用直線標準方程表示:
式中, ρ為原點到直線的垂線距離,;θ為該垂線與x軸的夾角。如果輸入圖像中存在著直線,,則h(ρ,θ)數(shù)組中最大的元素所對應的(ρ,θ)即為輸入圖像中最長直線的參數(shù)[3],。
Hough變換的主要步驟:
(1)初始化累加陣HT(ρi,θi)=0。
(2)將邊緣點的坐標(xi,yi)代入?yún)?shù)方程為ρ=xcosθ+ysinθ,,對θ從0°~180°分別計算對應的ρ值,。
(3)對相應的HT(ρi,θi)累加,即HTρi,θi)=HT(ρi,θi)+1,。
(4)對累加陣HT中元素的值進行讀取和判斷,,HT(ρi,θi)>T時(T為閾值),確定為存在直線,。
3 DSP配置與代碼優(yōu)化
3.1 DMA傳輸
一幅標準的VGA彩色圖像,,需要R、G,、B三個分量各8位,,即24位表示一個像素值,數(shù)據(jù)量大小為 640×480×8×3=7 372 800B,。在圖像識別中,,需要保留一份原始圖像,當判定為覆冰報警時,,對原始圖像進行JPEG壓縮,,所以一共需要15MB的RAM空間進行圖像暫存。
在CMOS圖像傳感器對采集的數(shù)據(jù)量非常大的情況下,,PPI接口只有在DMA引擎的配合下,,系統(tǒng)才能發(fā)揮它的高效能。雖然對圖像數(shù)據(jù)進行的傳輸也可由軟件實現(xiàn),,但將消耗掉大量的CPU時鐘周期,,使DSP的高速數(shù)據(jù)處理能力難以發(fā)揮。若由DMA獨立負責數(shù)據(jù)傳輸,,在系統(tǒng)內核對DMA初始設置并啟動后,,便不再需要內核參與,DMA控制器就可直接把圖像數(shù)據(jù)從PPI接口傳輸至SDRAM存儲器進行存儲,,在有效地解決了大批量圖像數(shù)據(jù)傳輸這一速度瓶頸的同時,,又能讓DSP處理器專門從事算法處理工作,極大地提高了系統(tǒng)的并行性能,。
ADSP-BF533的DMA可以控制六種類型的數(shù)據(jù)傳輸:內部存儲器之間,、內部存儲器-外部存儲器、存儲器-SPI接口,、存儲器-SPORT接口,、外部存儲器-UART接口、存儲器-PPI接口,。本系統(tǒng)使用PPI接口與外部存儲器SDRAM之間的DMA傳輸,。DMA的建立步驟如下:
(1) 設置寄存器DMA1_0_START_ADDR_REG,寫入目標地址值,。
(2) 設置寄存器DMA1_0_X_COUNT_REG,,寫入傳輸次數(shù)。
(3) 設置寄存器DMA1_0_X_MODIFY_REG,,寫入每次數(shù)據(jù)傳輸?shù)哪繕说刂沸拚怠?br />
(4) 設置DMA控制寄存器DMA1_0_CONFIG_REG,,啟動DMA數(shù)據(jù)傳輸。
3.2 DSP代碼優(yōu)化原則
Blackfin系列DSP的優(yōu)化主要分為C語言級優(yōu)化和匯編語言級優(yōu)化,。C語言級優(yōu)化包括:選擇合適的算法,、數(shù)據(jù)結構和數(shù)據(jù)類型,使用自加自減降低運算強度,,提高循環(huán)體效率,。匯編語言級的優(yōu)化需要結合DSP的結構特點,并與C語言程序混合編程,,使程序結構清晰,。
C代碼的優(yōu)化有利于提高編碼的速度,又有利于系統(tǒng)的跨平臺移植,。本文采用C語言級優(yōu)化有以下原則:
(1) 由于 BF533是16位定點DSP,,只適合做加、乘運算,,而對于浮點運算和除法運算的效率則較低,,所以程序中的浮點運算和除法運算,,可轉換為乘法、移位和查表來實現(xiàn),,以提高運算速度,。
(2) 編寫鏈接描述文件,將經(jīng)常使用的數(shù)據(jù)存儲在片內存儲器中,。
(3) 減少對片外存儲器的訪問次數(shù),。對于經(jīng)常訪問的片外存儲器區(qū)域,設置Cache使能,,并可設置Cache鎖定,,防止被緩存的數(shù)據(jù)替換,減少Cache未命中的幾率,。
匯編級的優(yōu)化包括兩部分:采用線性匯編語言進行優(yōu)化和直接用匯編語言進行優(yōu)化,。由于系統(tǒng)編譯器的局限性,并不能將全部的函數(shù)都很好地優(yōu)化,,這樣就需要統(tǒng)計比較耗時的C語言函數(shù),,用匯編語言重新編寫。主要采用了以下規(guī)則對代碼進行優(yōu)化:
(1) 使用寄存器代替局部變量,,去除多余的訪問內存操作[4],。
(2) 使用硬件循環(huán)代替軟件循環(huán),DSP硬件根據(jù)循環(huán)寄存器的值自動執(zhí)行循環(huán)體和退出循環(huán),,保證流水線的暢通,,避免不必要的時鐘周期開銷。
(3) 在進行圖像壓縮時,,采用Blackfin提供的專用視頻處理指令,,可以極大地提高速度。
(4) 使用并行指令和向量指令,,充分利用DSP內部的硬件資源的重復性,,減少指令的執(zhí)行次數(shù),提高指令的執(zhí)行效率,。
4 試驗結果
由于圖像識別對運算速度要求并不高,,通過DMA操作和DSP代碼優(yōu)化后的覆冰厚度識別算法基本上能夠滿足實際的需要。加上GPRS通信的延時,,在10秒以內可以完成一張報警圖片的識別,、JPEG壓縮和傳送,且由于圖像識別任務優(yōu)先級較低,,使終端仍能較快地響應通信和其他報警請求,。試驗結果表明,電力覆冰厚度識別算法的識別率達到了92%,尤其在背景條件清晰的雪天,,識別能力更高,。
基于ADSP-BF533的電力線覆冰監(jiān)測系統(tǒng)采用終端識別的方式,不僅較好地完成了電力線覆冰監(jiān)測的任務,,更重要的是搭建了ADSP-BF533終端自動識別的監(jiān)控平臺,,是智能監(jiān)控中一種新的嘗試。隨著DSP技術的迅速發(fā)展,,以及監(jiān)控系統(tǒng)的進一步擴大,智能監(jiān)控將會越來越多地要求終端系統(tǒng)能夠分擔較多的自動監(jiān)控任務,,這是智能監(jiān)控發(fā)展的新趨勢,。
參考文獻
[1] Analog Devices Inc. ADSP-BF533 blackfin TM processor hardware reference,Preliminary Revision,2003,3:245-503.
[2] Analog Device Inc. ADSP-BF53X/BF56X blackfin processor programming, Reference Revision 1.0. 2005.
[3] GONZALEZ R C. 數(shù)字圖像處理(第二版)[M]. 北京:電子工業(yè)出版社, 2003.
[4] 唐林波, 趙保軍, 韓月秋. 線狀目標實時檢測算法的研究[J]. 光學技術, 2006,(1):155-158.
[5] 蔡昌, 張永林. 一種基于簡單算法的圖像邊緣檢測方案[J].暨南大學學報(自然科學版), 2005,(10):633-635.
[6] 權煒, 鄭南寧, 賈新春. 復雜背景下的車輛牌照字符提取方法研究[J]. 信息與控制, 2002,(2):25-29.