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